Icke Bitvis XOR nyfikenhet för kryptering (2 / 7 steg)
Steg 2: Icke binära, icke Bitvis XOR
Så den stora frågan är kan denna typ av sak arbeta med siffror och inte bara på binär nivå. Jag trodde att det kunde så jag försökte arbeta ut det i huvudet eller på papper. Detta är vad jag trodde skulle vara resultatet för base10.
En xor B = C--> C xor B = A--> C xor A = B
0123456789--> 10 siffror
10-9 = 1-3 =-2 -> 3 xor 9 = 8--> 8 xor 9 = 3
10-8 = 2-3 =-1--> 3 xor 8 = 9--> 9 xor 8 = 3
10-7 = 3-3 = 0--> 3 xor 7 = 0--> 0 xor 7 = 3
10-6 = 4-3 = 1--> 3 xor 6 = 1--> 1 xor 6 = 3
10-5 = 5-3 = 2 -> 3 xor 5 = 2--> 2 xor 5 = 3
10-4 = 6-3 = 3--> 3 xor 4 = 3--> 3 xor 4 = 3
10-3 = 7-3 = 4--> 3 xor 3 = 4--> 4 xor 3 = 3
10-2 = 8-3 = 5--> 3 xor 2 = 5 -> 5 xor 2 = 3
10-1 = 9-3 = 6--> 3 xor 1 = 6 -> 6 xor 1 = 3
10-0 = 10-3 = 7--> 3 xor 0 = 7 -> 7 xor 0 = 3
Naturligtvis fungerar min matematik mycket bra för kodning på datorn. I stället bör man positionella baserat med en uppsättning. Uppsättningen är alfabetet så-till-tala. Längden på alfabetet och placera av matcherna är viktiga faktorer för kodning. Låt oss se om vi kan göra en binär version att testa teorin. Så i binärt är alfabetet lätt "0" och "1".
Ställa in = "0" "1"
Längd = 2
Max = 1
A = 1, B = 1, C =?
Max - STÅNDPUNKTEN1 - postion2 = position3
1 - 2 - 2 =-3
Åh, oh! -3? Jag bestämde mig för att den enklaste lösningen på detta är att kontrollera om en icke-positiva heltal och skriva om värdet som jag räknade baklänges utan överföring eller resten.
I detta binära exempel kan det bara finnas två lägen "1" och "2".
Om jag lägger till den uppsättning som är 2 -3 det kommer till -1 längd, lägga till längd igen och vi har 1. På denna grundval skulle 0 och -2 resultera i position 2.
Detta kommer att fungera för att emulera sanningen bordlägger av en Bitvis XOR med dessa villkor på plats:
A(in) POS(a) B(in) POS(b) C(out) POS(c)
0 1 0 1 0 1
1 2 0 1 1 2
0 1 1 2 1 2
1 2 1 2 0 1
.