Documente Academic
Documente Profesional
Documente Cultură
1 Partea teoretică:
Algoritmul MD4 Message-Digest este o funcție de hash criptografică dezvoltată de Ronald Rivest în
1990. Lungimea digestiei este de 128 biți. Algoritmul a influențat proiectările ulterioare, precum algoritmii
MD5, SHA-1 și RIPEMD. Initialismul "MD" inseamna "Message Digest".
O operațiune MD4: MD4 constă din 48 din aceste operațiuni, grupate în trei runde de 16 operații. F este o
funcție neliniară; o funcție este utilizată în fiecare rundă. Mi denotă un bloc pe 32 de biți din intrarea
mesajului, iar Ki denotă o constantă pe 32 de biți, diferită pentru fiecare operație.
Securitatea MD4 a fost grav compromisă. Primul atac complet de coliziune împotriva MD4 a fost publicat
în 1995 și mai multe atacuri mai noi au fost publicate de atunci.
Fie un mesaj aleatoriu care intentionam sa fie mesajul pentru parola.(primele doua simboluri
trebuie sa fieinitialele student)
1. F= B xor C xor D
01101001 01110000 01110100 01101111xor 01100111 01110010 01100001 01100110 xor
01101001 01100101 00101110 00101110 = 11100100010100000100000
1. F= A xor B xor C
01101001 01110000 01110100 01101010 xor 01101001 01110000 01110100 01101111
xor 01100111 01110010 01100001 01100110= 1100111011100100110000101100011
1. F= D xor A xor B
01100111 01110010 01100001 01100110 xor 01100111 01110010 01100001 01100110xor
01100110 00111000 01101010 00111000= 10110011101111111100110101010100
1. F= C xor D xorA
10010001 01110101 11100000 11011001 xor 01100110 00111000 01101010 00111000 xor
10110010 11110101 11000110 00001010= 10010001011101011110000011011001
1. F= A xor B xor C
11110000 01110101 01001110 00010100 xor 00011100 01010101 01101001 01010101 xor
10010001 01110101 11100000 11011001 = 1111101010101011100011110011000
1. F= D xor A xor B
11000111 00011000 11101010 11110001 xor 11110000 01110101 01001110 00010100 xor
00011100 01010101 01101001 01010101 = 101011001110001100110110110000
2.A+F mod 2^32= (10010001 01110101 11100000 11011001 + 101011 00111000 11001101
10110000) mod2^32= (2440421593 + 725142960) mod2^32 = 3165564553
(10111100101011101010111010001001)
1. F= C xor D xor A
01110101 01110100 01111101 11100101xor 11000111 00011000 11101010 11110001 xor
11110000 01110101 01001110 00010100 = 1000010000110011101100100000000
1. F= B xor C xor D
00010010 11100000 11110011 01111010 xor 01110101 01110100 01111101 11100101 xor
11000111 00011000 11101010 11110001= 10100000100011000110010001101110
4
2.A+F mod 2^32= (11110000 01110101 01001110 00010100 +
10100000100011000110010001101110 )mod 2^32= (4034219540 +2693555310) mod2^32 =
2432807554
(10010001000000011011001010000010)
1. F= A xor B xor C
10001000 00001101 10010100 01010100 xor 00010010 11100000 11110011 01111010 xor
01110101 01110100 01111101 11100101 = 11101111100110010001101011001011
1. F= Cxor D xor A
5
00100000 00011111 00100001 11001011 xor 01011001 00000010 11100010 11011011xor
10001000 00001101 10010100 01010100 = 11110001000100000101011101000100
1. F= D xor A xor B
6
00100111 11001110 00111110 00010011 xor 10111011 00011011 10000111 11010101 xor
01010110 01001000 00011111 10001010 = 11001010100111011010011001001100
1. F= C xor D xor A
11100110 01000001 00101111 01010101 xor 00100111 11001110 00111110 00010011 xor
10111011 00011011 10000111 11010101 = 11101010111111010111010111111110