Professional Documents
Culture Documents
S = [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
j = 0;
For i = 0 to 15
end
For i = 0:
j = ( 0 + 0 + 1 ) mod 16 = 1
S = [ 1 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]
T = [1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 1:
j = ( 1 + 0 + 3 ) mod 16 = 4
S = [ 1 4 2 3 0 5 6 7 8 9 10 11 12 13 14 15 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 2:
j = ( 4 + 2 + 5 ) mod 16 = 11
S = [ 1 4 11 3 0 5 6 7 8 9 10 2 12 13 14 15 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 3:
j = ( 11 + 3 + 7 ) mod 16 = 5
S = [ 1 4 11 5 0 3 6 7 8 9 10 2 12 13 14 15 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 4:
j = ( 5 + 0 + 9 ) mod 16 = 14
S = [ 1 4 11 5 14 3 6 7 8 9 10 2 12 13 0 15 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 5:
j = ( 14 + 3 + 11 ) mod 16 = 12
S = [ 1 4 11 5 14 12 6 7 8 9 10 2 3 13 0 15 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 6:
j = ( 12 + 6 + 13 ) mod 16 = 15
S = [ 1 4 11 5 14 12 15 7 8 9 10 2 3 13 0 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 7:
j = ( 15 + 7 + 15 ) mod 16 = 5
S = [ 1 4 11 5 14 7 15 12 8 9 10 2 3 13 0 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 8:
j = ( 5 + 8 + 1 ) mod 16 = 14
S = [ 1 4 11 5 14 7 15 12 0 9 10 2 3 13 8 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 9:
j = ( 14 + 9 + 3 ) mod 16 = 10
S = [ 1 4 11 5 14 7 15 12 0 10 9 2 3 13 8 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 10:
j = ( 10 + 9 + 5 ) mod 16 = 8
S = [ 1 4 11 5 14 7 15 12 9 10 0 2 3 13 8 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 11:
j = ( 8 + 2 + 7 ) mod 16 = 1
S = [ 1 2 11 5 14 7 15 12 9 10 0 4 3 13 8 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 12:
j = ( 1 + 3 + 9 ) mod 16 = 13
S = [ 1 2 11 5 14 7 15 12 9 10 0 4 13 3 8 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 13:
j = ( 13 + 3 + 11 ) mod 16 = 11
S = [ 1 2 11 5 14 7 15 12 9 10 0 3 13 4 8 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 14:
j = ( 11 + 8 +13 ) mod 16 = 0
S = [ 8 2 11 5 14 7 15 12 9 10 0 3 13 4 1 6 ]
T = [ 1 3 5 7 9 11 13 15 1 3 5 7 9 11 13 15 ]
For i = 15:
j = ( 0 + 6 + 15 ) mod 16 = 5
S = [ 8 2 11 5 14 6 15 12 9 10 0 3 13 4 1 7 ]
Now I will generate 4-bits at a time , k, that we XOR with each 4-bits of
plaintext to produce the ciphertext. The 4-bits k is generated by:
i, j = 0;
while (true) {
i = ( i + 1 ) mod 16;
k = S[t]; }
The first iteration :
S = [ 8 2 11 5 14 6 15 12 9 10 0 3 13 4 1 7 ]
i = ( 0 + 1 ) mod 16 = 1
j = ( 0 + S[1] ) mod 16 = 2
S = [ 8 11 2 5 14 6 15 12 9 10 0 3 13 4 1 7 ]
k = S[t] = S[13] = 4
Remember, P = [ 1 2 4 6 8 10 12 14 ]
S = [ 8 11 2 5 14 6 15 12 9 10 0 3 13 4 1 7 ]
i = ( 1 + 1 ) mod 16 = 2
j = ( 2 + S[2] ) mod 16 = 4
S = [ 8 11 14 5 2 6 15 12 9 10 0 3 13 4 1 7 ]
t = ( S[2]+S[4] ) mod 16 = 0
k = S[t] = S[0] = 8
S = [ 8 11 14 5 2 6 15 12 9 10 0 3 13 4 1 7 ]
i = ( 2 + 1 ) mod 16 = 3
j = ( 4 + S[3] ) mod 16 = 9
S = [ 8 11 14 10 2 6 15 12 9 5 0 3 13 4 1 7 ]
k = S[t] = S[15] = 7
S = [ 8 11 14 10 2 6 15 12 9 5 0 3 13 4 1 7]
i = ( 3 + 1 ) mod 16 = 4
j = ( 9 + S[4] ) mod 16 = 11
S = [ 8 11 14 10 3 6 15 12 9 5 0 2 13 4 1 7 ]
k = S[t] = S[5] = 6
S = [ 8 11 14 10 3 6 15 12 9 5 0 2 13 4 1 7 ]
i = ( 4 + 1 ) mod 16 = 5
j = ( 11 + S[5] ) mod 16 = 1
S = [ 8 6 14 10 3 11 15 12 9 5 0 2 13 4 1 7 ]
k = S[t] = S[1] = 6
i = ( 5 + 1 ) mod 16 = 6
j = ( 1 + S[6] ) mod 16 = 0
S = [ 15 6 14 10 3 11 8 12 9 5 0 2 13 4 1 7 ]
k = S[t] = S[7] = 12
S = [ 15 6 14 10 3 11 8 12 9 5 0 2 13 4 1 7 ]
i = ( 6 + 1 ) mod 16 = 7
j = ( 0 + S[7] ) mod 16 = 12
S = [ 15 6 14 10 3 11 8 13 9 5 0 2 12 4 1 7 ]
k = S[t] = S[9] = 5
S = [ 15 6 14 10 3 11 8 13 9 5 0 2 12 4 1 7 ]
i = ( 7 + 1 ) mod 16 = 8
j = ( 12 + S[8] ) mod 16 = 5
S = [ 15 6 14 10 3 9 8 13 11 5 0 2 12 4 1 7 ]
k = S[t] = S[4] = 3
Or in binary :
P = 00010010010001101000101011001110
K = 00010011010101111001101111011111
C = 01011010001100001110011010011101