Documente Academic
Documente Profesional
Documente Cultură
RC5 – w/r/b
RC5 – 32/1/16
r = 1 – numărul de runde
Calculăm:
L[0] = 0000.0000
L[1] = 0000.0000
L[2] = 0000.0000
L[3] = 0000.0000
Completăm L[0..c-1] astfel:
Am obţinut:
L[0] = 0000.0000
L[1] = 0000.0000
L[2] = 0000.0000
L[3] = 0603.0000
Completăm S[0..t-1] astfel:
S[0] = Pw
for i = 1 to t-1 do
i=1
i=2
i=3
Initializam:
i=0
j=0
A=0
B=0
Parcurgem ciclul:
i = (i + 1) mod (t)
j = (j + 1) mod (c)
=1=
i = 1 mod 4 = 1
j = 1 mod 4 = 1
=2=
i = 2 mod 4 = 2
j = 2 mod 4 = 2
=3=
i = 3 mod 4 = 3
j = 3 mod 4 = 3
= 4=
(1011.0101.1111.1111.1101.0101.0010.1011)2 = B5FFD52B
i = 4 mod 4 = 0
j = 4 mod 4 = 0
= 5=
A = S[0] = (S[0] + A + B) <<< 3 = bf0a8b1d + cf2e3fcd + B5FFD52B <<< 3 = 4438 A015 <<< 3 =
(0100.0100.0011.1000.1010.0000.0001.0101)2 <<< 3 = (0010.0001.1100.0101.0000.0000.1010.1010)2 =
21C500AA
i = 1 mod 4 = 1
j = 1 mod 4 = 1
= 6=
A = S[1] = (S[1] + A + B) <<< 3 = 68253ce6 + 21C500AA + E711F4C4 <<< 3 = 70FC 3254 <<< 3=
0111.0000.1111.1100.0011.0010.0101.0100 <<<3= 1000.0111.1110.0001.1001.0010.1010.0011
= 87E192A3
i = 2 mod 4 = 2
j = 2 mod 4 = 2
= 7=
= E3F831E6
i = 3 mod 4 = 3
j = 3 mod 4 = 3
= 8=
A = S[3] = (S[3] + A + B) <<< 3 = (cf2e3fcd + E3F831E6 + 31B49BCD) <<<3 = E4DB 0D80 <<<3 =
(1110.0100.1101.1011.0000.1101.1000.0000)2 <<< 3 = (0010.0110.1101.1000.0110.1100.0000.0111)2
= 26D86C07
i = 4 mod 4 = 0
j = 4 mod 4 = 0
= 9=
A = S[0] = (S[0] + A + B) <<< 3 = (21C500AA + 26D86C07 + FFE8CDC) <<< 3 = 589B F98D <<< 3 =
(0101.1000.1001.1011.1111.1001.1000.1101)2 <<<3 = (c)2
= C4DFCC6A
i = 1 mod 4 = 1
j = 1 mod 4 = 1
= 10=
A = S[1] = (S[1] + A + B) <<< 3 = (87E192A3 + C4DFCC6A + FC1382AE) <<<3 = 48D4 E1B <<<3 =
(0100.1000.1101.0100.1110.0001.1011)2 <<<3 = (0100.0110.1010.0111.0000.1101.1010)2 = 46A70DA
i = 2 mod 4 = 2
j = 2 mod 4 = 2
= 11=
i = 3 mod 4 = 3
j = 3 mod 4 = 3
= 12=
i = 4 mod 4 = 0
j = 4 mod 4 = 0
Criptarea:
Textul pentru criptare: sysadmin <=> în ASCII: 73 79 73 61 64 6D 69 6E
A = 73797361
B = 646D696E
S[0]= C4DFCC6A
S[1]= 46A70DA
S[2]= 994F4A47
S[3]= 5AA2991C
A=A+S[0];
B=B+S[1];
for i=1 to r do
for i=1 to 1 do
A = ((38593FCB XOR 68D7DA48) <<< 68D7DA48) + 994F4A47 = 508EE583 <<< (1758976584 mod 32)
+ 994F4A47 = 508EE583 <<< 8 + 994F4A47 = (0101.0000.1000.1110.1110.0101.1000.0011)2 <<< 8 +
994F4A47 = (1000.1110.1110.0101.1000.0011. 0101.0000)2 + 994F4A47 = 8EE58350 + 994F4A47 =
2834CD97
B = (( 68D7DA48 XOR 2834CD97) <<< 2834CD97) + 5AA2991C = 40E317DF <<< (674549143 mod 32)
+ 5AA2991C = 40E317DF <<< 23 + 5AA2991C = (0100.0000.1110.0011.0001.0111.1101.1111)2 <<< 23 +
5AA2991C = (1110.1111.1010.0000.0111.0001.1000.1011)2 + 5AA2991C = EFA0718B+ 5AA2991C =
4A430AA7
A= 2834CD97
B= 4A430AA7
Decriptarea:
A = 2834CD97
B = 4A430AA7
S[0]= C4DFCC6A
S[1]= 46A70DA
S[2]= c
S[3]= 5AA2991C
for i = r downto 1 do
B = ((4A430AA7- 5AA2991C) >>> 2834CD97) XOR 2834CD97= (EFA0718B >>> 23) XOR 2834CD97=
((1110.1111.1010.0000.0111.0001.1000.1011)2 >>> 23 ) XOR 2834CD97=
A = ((2834CD97- 994F4A47) >>> 68D7DA48) XOR 68D7DA48 = 8EE5 8350>>> 8 XOR 68D7DA48 =
(1000.1110.1110.0101.1000.0011. 0101.0000)2 >>> 8 XOR 68D7DA48 =
= 38593FCB
A= 646D696E
B = 73797361