BiatuAutMiahn / Infinity.RDRE

Random Digital Root Encoding

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Infinity.RDRE

Random Digital Root Encoding

RDRE allows information to be encoded with random numbers.

  1. Create an index, mapping characters to indices. (Indicies must not contain a digit zero as there is no digital root of 0 when being derived from larger numbers)
  2. Generate a random number then calculate it's digital root.
  3. Substitute the index digits with a random number that matches the digital root.

The process can be optimized by pre-generating a pool of random root numbers.

1: [3286, 4717, 9487, 6643, 3016, 2701, 7993, 4546, 4087, 7201, 5050, 3871, 1063, 7165, 7183, 3511, 6994, 4366, 9190, 5707]
2: [1775, 5456, 4277, 1469, 1028, 9389, 7805, 4799, 6284, 4808, 2738, 3953, 8237, 6158, 8948, 2882, 8705, 3629, 5159, 5861]
3: [6807, 2424, 3216, 7266, 7608, 5439, 7635, 8751, 9363, 7257, 7347, 3549, 8490, 1623, 5160, 8958, 1668, 5574, 6186, 3720]
4: [2443, 4828, 7690, 6286, 6538, 5080, 8689, 2641, 3586, 8869, 4108, 3154, 3433, 9049, 1156, 5431, 7852, 1345, 5908, 1795]
5: [2714, 9635, 5729, 1418, 9527, 9005, 1859, 3002, 6962, 9770, 6449, 9878, 9086, 4136, 7313, 1814, 3101, 4532, 4721, 6719]
6: [3921, 4083, 9888, 4983, 9681, 1077, 2400, 9609, 9600, 5811, 8529, 4524, 3327, 5874, 8655, 2202, 3687, 5082, 1680, 5838]
7: [3211, 6559, 1150, 2707, 7981, 9853, 8962, 4750, 9484, 8206, 1573, 6631, 4705, 2572, 9340, 2824, 7504, 6163, 6622, 7864]
8: [8576, 4940, 7739, 4067, 7829, 7676, 8243, 7469, 4940, 8936, 7910, 4742, 4130, 2123, 9647, 8081, 7199, 8594, 3032, 9548]
9: [5373, 2673, 6723, 8712, 3366, 6831, 2169, 8496, 3699, 3402, 5742, 8793, 6624, 3042, 1143, 6138, 2034, 7893, 4320, 9468]
  1. Since the information is always the same, one can generate a stream of random noise that can be decoded.
  2. Noise can be added to multimedia in lossy streams and retried by accounting for threshold values.
  3. One could also implement a network socket with this encoding. 3a. In my implementation, Infinity.RDRS (RDR-Stream) will maintain a realtime stream for communication.
  4. By using custom random root maps, using the full index space, changing the length of random numbers/indicies, one can create hard to decode messages.

Here is an example of an RRM (RandomRootMap):

['\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', '\t', '\n', '\x0b', '\x0c', '\r', '\x0e', '\x0f', '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', '\x7f', '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87', '\x88', '\x89', '\x8a', '\x8b', '\x8c', '\x8d', '\x8e', '\x8f', '\x90', '\x91', '\x92', '\x93', '\x94', '\x95', '\x96', '\x97', '\x98', '\x99', '\x9a', '\x9b', '\x9c', '\x9d', '\x9e', '\x9f', '\xa0', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '\xad', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ']

and the index...

0: [111, 425, 739]
1: [112, 426, 741]
2: [113, 427, 742]
3: [114, 428, 743]
4: [115, 429, 744]
5: [116, 431, 745]
6: [117, 432, 746]
7: [118, 433, 747]
8: [119, 434, 748]
9: [121, 435, 749]
10: [122, 436, 751]
11: [123, 437, 752]
12: [124, 438, 753]
13: [125, 439, 754]
14: [126, 441, 755]
15: [127, 442, 756]
16: [128, 443, 757]
17: [129, 444, 758]
18: [131, 445, 759]
19: [132, 446, 761]
20: [133, 447, 762]
21: [134, 448, 763]
22: [135, 449, 764]
23: [136, 451, 765]
24: [137, 452, 766]
25: [138, 453, 767]
26: [139, 454, 768]
27: [141, 455, 769]
28: [142, 456, 771]
29: [143, 457, 772]
30: [144, 458, 773]
31: [145, 459, 774]
32: [146, 461, 775]
33: [147, 462, 776]
34: [148, 463, 777]
35: [149, 464, 778]
36: [151, 465, 779]
37: [152, 466, 781]
38: [153, 467, 782]
39: [154, 468, 783]
40: [155, 469, 784]
41: [156, 471, 785]
42: [157, 472, 786]
43: [158, 473, 787]
44: [159, 474, 788]
45: [161, 475, 789]
46: [162, 476, 791]
47: [163, 477, 792]
48: [164, 478, 793]
49: [165, 479, 794]
50: [166, 481, 795]
51: [167, 482, 796]
52: [168, 483, 797]
53: [169, 484, 798]
54: [171, 485, 799]
55: [172, 486, 811]
56: [173, 487, 812]
57: [174, 488, 813]
58: [175, 489, 814]
59: [176, 491, 815]
60: [177, 492, 816]
61: [178, 493, 817]
62: [179, 494, 818]
63: [181, 495, 819]
64: [182, 496, 821]
65: [183, 497, 822]
66: [184, 498, 823]
67: [185, 499, 824]
68: [186, 511, 825]
69: [187, 512, 826]
70: [188, 513, 827]
71: [189, 514, 828]
72: [191, 515, 829]
73: [192, 516, 831]
74: [193, 517, 832]
75: [194, 518, 833]
76: [195, 519, 834]
77: [196, 521, 835]
78: [197, 522, 836]
79: [198, 523, 837]
80: [199, 524, 838]
81: [211, 525, 839]
82: [212, 526, 841]
83: [213, 527, 842]
84: [214, 528, 843]
85: [215, 529, 844]
86: [216, 531, 845]
87: [217, 532, 846]
88: [218, 533, 847]
89: [219, 534, 848]
90: [221, 535, 849]
91: [222, 536, 851]
92: [223, 537, 852]
93: [224, 538, 853]
94: [225, 539, 854]
95: [226, 541, 855]
96: [227, 542, 856]
97: [228, 543, 857]
98: [229, 544, 858]
99: [231, 545, 859]
100: [232, 546, 861]
101: [233, 547, 862]
102: [234, 548, 863]
103: [235, 549, 864]
104: [236, 551, 865]
105: [237, 552, 866]
106: [238, 553, 867]
107: [239, 554, 868]
108: [241, 555, 869]
109: [242, 556, 871]
110: [243, 557, 872]
111: [244, 558, 873]
112: [245, 559, 874]
113: [246, 561, 875]
114: [247, 562, 876]
115: [248, 563, 877]
116: [249, 564, 878]
117: [251, 565, 879]
118: [252, 566, 881]
119: [253, 567, 882]
120: [254, 568, 883]
121: [255, 569, 884]
122: [256, 571, 885]
123: [257, 572, 886]
124: [258, 573, 887]
125: [259, 574, 888]
126: [261, 575, 889]
127: [262, 576, 891]
128: [263, 577, 892]
129: [264, 578, 893]
130: [265, 579, 894]
131: [266, 581, 895]
132: [267, 582, 896]
133: [268, 583, 897]
134: [269, 584, 898]
135: [271, 585, 899]
136: [272, 586, 911]
137: [273, 587, 912]
138: [274, 588, 913]
139: [275, 589, 914]
140: [276, 591, 915]
141: [277, 592, 916]
142: [278, 593, 917]
143: [279, 594, 918]
144: [281, 595, 919]
145: [282, 596, 921]
146: [283, 597, 922]
147: [284, 598, 923]
148: [285, 599, 924]
149: [286, 611, 925]
150: [287, 612, 926]
151: [288, 613, 927]
152: [289, 614, 928]
153: [291, 615, 929]
154: [292, 616, 931]
155: [293, 617, 932]
156: [294, 618, 933]
157: [295, 619, 934]
158: [296, 621, 935]
159: [297, 622, 936]
160: [298, 623, 937]
161: [299, 624, 938]
162: [311, 625, 939]
163: [312, 626, 941]
164: [313, 627, 942]
165: [314, 628, 943]
166: [315, 629, 944]
167: [316, 631, 945]
168: [317, 632, 946]
169: [318, 633, 947]
170: [319, 634, 948]
171: [321, 635, 949]
172: [322, 636, 951]
173: [323, 637, 952]
174: [324, 638, 953]
175: [325, 639, 954]
176: [326, 641, 955]
177: [327, 642, 956]
178: [328, 643, 957]
179: [329, 644, 958]
180: [331, 645, 959]
181: [332, 646, 961]
182: [333, 647, 962]
183: [334, 648, 963]
184: [335, 649, 964]
185: [336, 651, 965]
186: [337, 652, 966]
187: [338, 653, 967]
188: [339, 654, 968]
189: [341, 655, 969]
190: [342, 656, 971]
191: [343, 657, 972]
192: [344, 658, 973]
193: [345, 659, 974]
194: [346, 661, 975]
195: [347, 662, 976]
196: [348, 663, 977]
197: [349, 664, 978]
198: [351, 665, 979]
199: [352, 666, 981]
200: [353, 667, 982]
201: [354, 668, 983]
202: [355, 669, 984]
203: [356, 671, 985]
204: [357, 672, 986]
205: [358, 673, 987]
206: [359, 674, 988]
207: [361, 675, 989]
208: [362, 676, 991]
209: [363, 677, 992]
210: [364, 678, 993]
211: [365, 679, 994]
212: [366, 681, 995]
213: [367, 682, 996]
214: [368, 683, 997]
215: [369, 684, 998]
216: [371, 685, 999]
217: [372, 686]
218: [373, 687]
219: [374, 688]
220: [375, 689]
221: [376, 691]
222: [377, 692]
223: [378, 693]
224: [379, 694]
225: [381, 695]
226: [382, 696]
227: [383, 697]
228: [384, 698]
229: [385, 699]
230: [386, 711]
231: [387, 712]
232: [388, 713]
233: [389, 714]
234: [391, 715]
235: [392, 716]
236: [393, 717]
237: [394, 718]
238: [395, 719]
239: [396, 721]
240: [397, 722]
241: [398, 723]
242: [399, 724]
243: [411, 725]
244: [412, 726]
245: [413, 727]
246: [414, 728]
247: [415, 729]
248: [416, 731]
249: [417, 732]
250: [418, 733]
251: [419, 734]
252: [421, 735]
253: [422, 736]
254: [423, 737]
255: [424, 738]

And an encoded message: (random int from 1000 to 9999) 328533145669188483379137529217162618672816346773337884858711307089169715377325051490106191138969249121824025630119396464310787333845370150649778

About

Random Digital Root Encoding

License:Apache License 2.0


Languages

Language:C# 100.0%