Documente Academic
Documente Profesional
Documente Cultură
Olga Cerbu
Scopul lucrrii: codificarea unui text cu ajutorul algoritmului TEA.
Descrierea lagoritmului TEA:
(Tiny Encryption Algorithm) este un algoritm de criptare bazat
pe blocuri de tip Feistel. Se bazeaz pe operaii pe bit cu blocuri de 64 de bii
i are cheia de criptare de 128 de bii. Numrul de runde standard al
sistemului Feistel este de 64 de runde, 32 de cicluri).
Pregtirea criptrii:
Mesajul se divizeaz n blocuri de 64 de bii fiecare. Cheia K de 128 de bii se
divizeaz n 4 subchei de 32 de bii
K0, K1, K2, K3.
Procesul criptrii:
Fiecare bloc de 64 de bii se
cripteaz pe parcursul a 32 de cicluri
de cripare (64 de runde), utiliznd
urmtorul algoritm.
Ln+1 = Rn.
01100011011100100110100101110000
01110100011000010111001001100101
01100001011000100110001101100100
01100101011001100110011101101000
00110001001100100011001100110100
00110101001101100011011100111000
2
1)Partea dreapt se deplaseaz la stnga cu 4 bii:
01110100011000010111001001100101 << 4 =
01000110000101110010011001010000
2)La rezultatul (1) se adaug valoarea cheia K0 mod 2^32:
01000110000101110010011001010000 +
01100001011000100110001101100100 mod 2^32 =
01100001011000100110001101100100
01110100011000010111001001100101 + 1*
01110100011000010111001001100101 mod 2^32 =
00011101000110000101110010011001
01100001011000100110001101100100 XOR
00011101000110000101110010011001 =
01111100011110100011111111111101
01110100011000010111001001100101 >> 5 =
00000100011000010111001001100101
00000100011000010111001001100101 +
(01100101011001100110011101101000 mod 2^32 =
1100101011001100110011101101000) =
1100101011001100110011101101000
1111000000001000111110111111000 XOR
11110001100101001011010000001000 =
01111000011111100011101111110001
8) Partea stng se adun cu rezultatul de la pasul (7) mod 2^32:
01100011011100100110100101110000 +
01111000011111100011101111110001 mod 2^32 =
01111000011111100011101111110001
3
Partea para
01000110000101110010011001010000 +
00110001001100100011001100110100 mod 2^32 =
110001001100100011001100110100
01110100011000010111001001100101 + 10 *
10011110001101110111100110111001 mod 2^32 =
101110001010101100000100111010
01110100011000010111001001100101 >> 5 =
00000100011000010111001001100101
00000100011000010111001001100101 +
00110101001101100011011100111000 mod 2^32 =
00110101001101100011011100111000
4
00011011000111001111011000000010
Rezultat:
4
http://www.movable-type.co.uk/scripts/tea-block.html
http://www.binaryhexconverter.com/binary-to-ascii-text-converter