UNIVERZITET APEIRON Fakultet poslovne informatike Osnove kriptozaΕ‘tite Prof. Dr Milan MarkoviΔ, dipl.inΕΎ. Prezentacija 1
Π‘Π°Π΄ΡΠΆΠ°Ρ ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ° ΠΈ Π²ΡΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌΠ°, ΠΡΡΡΠ΅ ΡΠΈΡΠ°ΡΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΠΏΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΡΠ½ΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ, Π£ΡΠ»ΠΎΠ²ΠΈ Π°ΠΏΡΠΎΠ»ΡΡΠ½Π΅ ΡΠ°ΡΠ½ΠΎΡΡΠΈ β Shannon, Π‘ΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π‘Π΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΡΠΈΠΌΠ΅Ρ: RC4, ΠΠ»ΠΎΠΊ ΡΠΈΡΡΠ΅, Π‘Π²ΠΎΡΡΡΠ²Π° Π±Π»ΠΎΠΊ ΡΠΈΡΠ°ΡΠ°, ΠΡΠΈΠΌΠ΅Ρ: DES, 3DES, IDEA, AES, ΠΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΡΠΈΠΌΠ΅Ρ: RSA, DSA, ECDSA, Hash ΡΡΠ½ΠΊΡΠΈΡΠ΅, ΠΡΠΈΠΌΠ΅Ρ: MD5 ΠΈ SHA-1, ΠΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡ, ΠΠΈΠ³ΠΈΡΠ°Π»Π½Π° Π΅Π½Π²Π΅Π»ΠΎΠΏΠ°, PKCS ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈ
ΠΠ ΠΠΠ’ΠΠΠ ΠΠ€ΠΠΠ Π ΠΠ Π‘Π’Π ΠΠΠΠΠ ΠΠ’ΠΠΠ ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Π΄Π° Π±ΠΈ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π»ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΈ: Π¨ΠΈΡΡΠ°, ΠΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π·Π°ΡΡΠΈΡΠ΅ β ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ.
Π‘Π²Π°ΠΊΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±ΡΡ Π²Π°ΡΠ° ΠΏΠ°Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°: Π¨ΠΈΡΡΠΎΠ²Π°ΡΠ΅, ΠΠ΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅. Π¨ΠΈΡΡΠΎΠ²Π°ΡΠ΅ β ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΊΠΎΡΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡ (ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ) Ρ ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ (ΡΠΈΡΡΠ°Ρ). ΠΠ΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ β ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΈΡΡΠ°ΡΠ°.
Π£ ΡΠΈΡΠ°ΡΡΠΊΠΎΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΈ, ΠΏΠΎΡΠ΅Π΄ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ°, ΡΠ°ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅Π΄Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠ½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ β ΠΊΡΡΡ ΡΠΈΡΡΠΎΠ²Π°ΡΠ°. Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Π·Π° Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΡΡΡ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ°. ΠΡΠΎΡ ΡΠΈΠΌΠ±ΠΎΠ»Π° ΠΊΠΎΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ°ΡΡ ΠΊΡΡΡ (Π΄ΡΠΆΠΈΠ½Π° ΠΊΡΡΡΠ°) Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΡΠΈΡΠ°ΡΡΠΊΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ°.
Π¨ΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π΅Π·Π±Π΅ΡΠΈΠ²Π°ΡΠΈ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡΠΈΠ²ΠΎΡΡΠΈ. Π£ ΡΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ, ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ ΡΠ°Π΄ΡΠΆΠΈ ΠΏΠΎΠ²Π΅ΡΡΠΈΠ²Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡ ΠΊΠΎΡΠ° ΡΠ΅ Π½Π°Π»Π°Π·ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠΊΠΎ ΡΠ΅ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΎΡΠΏΠΎΡΠ°Π½ Π½Π° ΠΌΠΎΠ³ΡΡΠ΅ Π½Π°ΠΏΠ°Π΄Π΅, ΡΠΈΡΡΠ°Ρ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΠ»Π°ΡΠΈ ΠΏΡΡΠ΅ΠΌ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅ ΠΌΡΠ΅ΠΆΠ΅, Π±Π΅Π· ΠΏΡΠ°ΠΊΡΠΈΡΠ½Π΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ Π΄Π° Π½Π΅ΠΎΠ²Π»Π°ΡΡΠ΅Π½ΠΎ Π»ΠΈΡΠ΅ Π΄ΠΎΡΠ΅ Π΄ΠΎ ΠΏΠΎΠ²Π΅ΡΡΠΈΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅. ΠΡΠΈΡΠ΅ΡΠΈΡΡΠΌΠΈ ΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠ° ΡΠ΅Π΄Π½ΠΎΠ³ ΡΠΈΡΠ°ΡΡΠΊΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π΅ΡΠΈΠ½ΠΈΡΡ ΡΠ΅ ΠΈΠΌΠ°ΡΡΡΠΈ Ρ Π²ΠΈΠ΄Ρ ΡΠ°ΡΡΠ½Π°ΡΡΠΊΠ΅ ΡΠ΅ΡΡΡΡΠ΅ ΠΊΠΎΡΠΈΠΌΠ° ΡΠ°ΡΠΏΠΎΠ»Π°ΠΆΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΡΠ°Π»Π½ΠΈ Π½Π°ΠΏΠ°Π΄Π°Ρ.
ΠΡΡΡΠ΅ ΡΠΈΡΠ°ΡΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π‘ΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ: Π‘Π΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΠ»ΠΎΠΊ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ°.
ΠΠΏΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΡΠ½ΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΠΏΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΡΠ½ΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ Π¨ΠΈΡΡΠ°Ρ ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ° ΡΠ°Π±ΠΈΡΠ°ΡΠ΅ΠΌ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2 Π±ΠΈΠ½Π°ΡΠ½ΠΈΡ ΡΠΈΠΌΠ±ΠΎΠ»Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈΡ ΡΠΈΠΌΠ±ΠΎΠ»Π° ΠΊΡΡΡΠ° β ΠΠ΅ΡΠ½Π°ΠΌΠΎΠ²Π° ΡΠΈΡΡΠ° (βone time padβ) ΠΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ°, ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ ΠΎΠ±ΠΈΡΠ°Π½ Π°Π»ΡΠ°Π±Π΅Ρ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠ²ΠΎΡΠΈ Ρ Π½ΠΈΠ· Π±ΠΈΠ½Π°ΡΠ½ΠΈΡ ΡΠΈΠΌΠ±ΠΎΠ»Π° (βΠ±ΠΈΡΠ°") ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΈ ΠΊΠΎΠ΄.
Π‘ΡΠΌΠ° ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2 ο 1
ΠΡΠΈΠΌΠ΅Ρ ΠΠΎΡΠΈΡΡΠΈ ΡΠ΅ ΠΊΠΎΠ΄ ITA-2 ΠΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ: βcome soonβ 00011 01111 ΠΡΠ². Π’Π΅ΠΊΡΡ: 00011 01111 01101 00101 10011 01110 ΠΡΡΡ: 11011 01011 00110 10110 10101 01100 10010 Π¨ΠΈΡΡΠ°Ρ: 11000 01010 11010 11100
ΠΠ° Π±ΠΈ ΡΠ΅ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ (ΠΏΠΎΡΡΠΊΠ°), ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΡΠ΅ ΡΠΈΡΡΠ°Ρ ΡΠ°Π±ΠΈΡΠ° ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2 ΡΠ° ΠΊΡΡΡΠ΅ΠΌ, ΠΏΠΎΡΡΠΎ ΡΠ°Π±ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΎΠ΄ΡΠ·ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2 ΠΊΠΎΠΈΠ½ΡΠΈΠ΄ΠΈΡΠ°ΡΡ. ΠΠ°ΠΏΠ°Π΄Π°Ρ ΠΊΠΎΡΠΈ ΠΆΠ΅Π»ΠΈ Π΄Π° ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ Π±Π΅Π· ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ° ΠΊΡΡΡΠ° - ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΡΠ°Ρ. Π£ ΡΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ, ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅Π½ΠΎ ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠΈΡΡΠ°Ρ Π½Π°Π·ΠΈΠ²Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΠΌ.
Π£ΡΠ»ΠΎΠ²ΠΈ Π°ΠΏΡΠΎΠ»ΡΡΠ½Π΅ ΡΠ°ΡΠ½ΠΎΡΡΠΈ - Shannon ΠΡΠ½ΠΎΠ²Π½Π΅ Ρ ΠΈΠΏΠΎΡΠ΅Π·Π΅: Π’Π°ΡΠ½ΠΈ ΠΊΡΡΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π΄Π½ΠΎΠΌ. ΠΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΡΠ°Ρ ΠΈΠΌΠ° ΠΏΡΠΈΡΡΡΠΏ ΡΠ΅Π΄ΠΈΠ½ΠΎ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΠΌΡ. Π¨ΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΡΡΠ°Π²Π° ΡΡΠ»ΠΎΠ²Π΅ ΡΠ°Π²ΡΡΠ΅Π½Π΅ ΡΠ°ΡΠ½ΠΎΡΡΠΈ Π°ΠΊΠΎ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ X ΡΡΠ°ΡΠΈΡΡΠΈΡΠΊΠΈ Π½Π΅Π·Π°Π²ΠΈΡΡΠ°Π½ ΠΎΠ΄ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Y.
ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠΊΠΈ: Π·Π° ΡΠ²Π΅ ΠΌΠΎΠ³ΡΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ ΠΈ ΡΠ²Π΅ ΠΌΠΎΠ³ΡΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅
ΠΡΠΆΠΈΠ½Π° ΠΊΡΡΡΠ° K ΠΌΠΎΡΠ° Π±ΠΈΡΠΈ Π½Π°ΡΠΌΠ°ΡΠ΅ ΡΠ΅Π΄Π½Π°ΠΊΠ° Π΄ΡΠΆΠΈΠ½ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ° M. Π£ ΡΠ»ΡΡΠ°ΡΡ ΠΠ΅ΡΠ½Π°ΠΌΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ Ρ Π³ΠΎΡΡΠΎΡ ΡΠ΅Π»Π°ΡΠΈΡΠΈ Π²Π°ΠΆΠΈ Π·Π½Π°ΠΊ ΡΠ΅Π΄Π½Π°ΠΊΠΎΡΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ: ΠΠ»Π³ΠΎΡΠΈΡΠ°ΠΌ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΊΠΎΠ΄ ΠΊΠΎΠ³Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ, ΡΠΈΡΡΠ°Ρ ΠΈ ΠΊΡΡΡ ΡΠ·ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ L - Π°ΡΠ½ΠΎΠ³ Π°Π»ΡΠ°Π±Π΅ΡΠ° ΠΈ Ρ ΠΊΠΎΠΌΠ΅ ΡΡ Π΄ΡΠΆΠΈΠ½Π΅ ΠΊΡΡΡΠ° K, ΡΠΈΡΡΠ°ΡΠ° N ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ° M ΠΌΠ΅ΡΡΡΠΎΠ±Π½ΠΎ ΡΠ΅Π΄Π½Π°ΠΊΠ΅. Π£ ΡΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ, Π±ΡΠΎΡ ΠΌΠΎΠ³ΡΡΠΈΡ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²Π°, ΡΠΈΡΡΠ°ΡΠ° ΠΈ ΠΊΡΡΡΠ΅Π²Π° ΡΠ΅ ΡΠ΅Π΄Π½Π°ΠΊ:
ΠΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ° ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅: ΠΡΡΡ ΡΠ΅ Π±ΠΈΡΠ° Π½Π° ΠΏΠΎΡΠΏΡΠ½ΠΎ ΡΠ»ΡΡΠ°ΡΠ°Π½ Π½Π°ΡΠΈΠ½: ΠΠ° ΡΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡΠΈΡ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ z ΡΠ°ΡΠ½ΠΎΠ³ ΠΊΡΡΡΠ°. Π¨ΠΈΡΠ°ΡΡΠΊΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΡΠ΅:
ΠΠ° ΡΠΈΠΊΡΠ½ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ ΡΠ²Π°ΠΊΠΎΡ ΠΌΠΎΠ³ΡΡΠΎΡ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΊΡΡΡΠ° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° ΡΠ΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈ ΡΠΈΡΡΠ°Ρ ΠΠ±ΠΎΠ³ ΡΠΎΠ³Π° ΠΈΡΡΠΎΠΌ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΡ ΠΌΠΎΠΆΠ΅ ΡΠ° ΡΠ΅Π΄Π½Π°ΠΊΠΎΠΌ Π²Π΅ΡΠΎΠ²Π°ΡΠ½ΠΎΡΠΎΠΌ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΠΈ ΡΠ²Π°ΠΊΠΈ ΠΎΠ΄ ΠΌΠΎΠ³ΡΡΠΈΡ ΡΠΈΡΡΠ°ΡΠ°.
ΠΠ°ΡΠΎ Π²Π°ΠΆΠΈ: ΠΠ±ΠΎΠ³ ΡΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΡ Π½ΠΎΡΠΈ ΡΠΈΡΡΠ°Ρ ΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΡ ΡΠ΅Π΄Π½Π°ΠΊΠ° Π½ΡΠ»ΠΈ, ΡΡ. X ΠΈ Y ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠΊΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ, ΠΏΠ° ΡΡΠΎΠ³Π° ΡΡΠΌΠ° ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ L ΠΈΡΠΏΡΡΠ°Π²Π° ΡΡΠ»ΠΎΠ²Π΅ ΡΠ°Π²ΡΡΠ΅Π½Π΅ ΡΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ°Π΄Π° ΡΠ΅ L=2, ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ ΡΠ²ΠΎΠ΄ΠΈ Π½Π° ΠΠ΅ΡΠ½Π°ΠΌΠΎΠ²Ρ ΡΠΈΡΡΡ.
Π‘ΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΠ΅Π·Π±Π΅Π΄Π½ΠΈ ΠΊΠ°Π½Π°Π» ΠΠ·Π²ΠΎΡ ΠΊΡΡΡΠ° ΠΠ·Π²ΠΎΡ ΠΏΠΎΡΡΠΊΠ΅ EA X ΠΠ΄ΡΠ΅Π΄ΠΈΡΡΠ΅ DA Y ΠΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΡΠ°Ρ K
Π‘Π΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ ΠΏΡΠ΅ΡΠ΄ΠΎΡΠ»ΡΡΠ°ΡΠ½ΠΈΡ Π±ΡΠΎΡΠ΅Π²Π° β Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΡΠΈΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, Π°Π»ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΈ ΡΠΈΠΌΠ±ΠΎΠ»Π° ΠΊΠΎΡΠ΅ ΠΎΠ½ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡ ΠΈΠΌΠ°ΡΡ ΡΠ»ΠΈΡΠ½Π΅ ΠΎΡΠΎΠ±ΠΈΠ½Π΅ ΠΊΠ°ΠΎ ΠΈ ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΈ. ΠΠΎΡΠΈΡΡΠ΅ ΠΊΡΠ°ΡΠΊΠ΅ ΠΊΡΡΡΠ΅Π²Π΅ ΡΠ°Π΄ΠΈ Π·Π°ΠΏΠΎΡΠΈΡΠ°ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ°. ΠΠ·Π»Π°Π·Π½ΠΈ Π½ΠΈΠ· Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ΅ ΡΠ°Π±ΠΈΡΠ° ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2 ΡΠ° Π½ΠΈΠ·ΠΎΠΌ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π½Π° ΡΠ°Ρ Π½Π°ΡΠΈΠ½ ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ° Π½ΠΈΠ· ΡΠΈΡΡΠ°ΡΠ°.
ΠΡΠ΅ΡΠ΄ΠΎΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΈ ΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΈ Ρ ΡΠΈΡΠ΅ΠΌ ΡΠΌΠΈΡΠ»Ρ (ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΠΌΠΎΠ³Ρ ΠΈΠΌΠ°ΡΠΈ Π°ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΈ ΠΏΠΎΡΠ΅ΡΠ°ΠΊ), Π°Π»ΠΈ Π°ΠΊΠΎ ΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ ΡΠ°ΠΊΠ²ΠΈΡ Π½ΠΈΠ·ΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠΈ ΠΎΠ΄ Π΄ΡΠΆΠΈΠ½Π° Π½ΠΈΠ·ΠΎΠ²Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ°, ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ½Π°ΡΠ°ΡΠΈ Π½Π° ΡΠ»ΠΈΡΠ°Π½ Π½Π°ΡΠΈΠ½ ΠΊΠ°ΠΎ ΠΈ ΠΠ΅ΡΠ½Π°ΠΌΠΎΠ²Π° ΡΠΈΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½Π° ΡΠ΅ΠΌΠ° ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΎΠ³ ΡΠΈΡΠ°ΡΡΠΊΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ°
ΠΠ°Ρ ΡΠ΅Π²ΠΈ ΠΊΠΎΡΠ΅ ΡΠ²Π°ΠΊΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ Π½ΠΈΠ· ΠΌΠΎΡΠ° Π΄Π° Π·Π°Π΄ΠΎΠ²ΠΎΡΠΈ Π΄Π° Π±ΠΈ ΡΠ΅ ΠΌΠΎΠ³Π°ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Ρ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΎΠΌ ΡΠΈΡΠ°ΡΡΠΊΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ: ΠΠ΅ΡΠΈΠΎΠ΄ β ΠΠ΅ΡΠΈΠΎΠ΄ ΡΠΈΡΠ°ΡΡΠΊΠΎΠ³ Π½ΠΈΠ·Π° ΠΌΠΎΡΠ° Π΄Π° Π±ΡΠ΄Π΅ Π±Π°Ρ ΡΠ΅Π΄Π½Π°ΠΊΠ΅ Π΄ΡΠΆΠΈΠ½Π΅ ΠΊΠ°ΠΎ ΠΈ Π΄ΡΠΆΠΈΠ½Π° Π½ΠΈΠ·Π° ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠΈΡΡΡΡΠ΅. Π£ ΠΏΡΠ°ΠΊΡΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΡ ΡΠ΅ Π½ΠΈΠ·ΠΎΠ²ΠΈ ΡΠΈΡΠΈ ΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄ΠΎΠ²Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ Π²Π΅ΡΠΈ ΠΎΠ΄ Π΄ΡΠΆΠΈΠ½Π΅ Π½ΠΈΠ·Π° ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠΈΡΡΡΡΠ΅.
Π‘ΡΠ°ΡΠΈΡΡΠΈΡΠΊΠ΅ ΠΎΡΠΎΠ±ΠΈΠ½Π΅: ΠΠΊΠΎ ΡΠ΅ Π΄Π°Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π½ΠΈΠ·, ΡΠ΅ΡΠΈΡΠΎΠΌ Π΄ΡΠΆΠΈΠ½Π΅ k ΡΠ΅ Π½Π°Π·ΠΈΠ²Π° Π½ΠΈΠ· ΡΡΠΊΡΠ΅ΡΠΈΠ²Π½ΠΈΡ k ΡΠ΅Π΄Π½Π°ΠΊΠΈΡ Π±ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΡ Π±ΠΈΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π½ΠΈΠ·Ρ ...01001101001110110010001101010001... ΠΠ°Π»Π°Π·Π΅ ΡΠ΅, ΠΈΠ·ΠΌΠ΅ΡΡ ΠΎΡΡΠ°Π»ΠΎΠ³, 2 ΡΠ΅ΡΠΈΡΠ΅ Π½ΡΠ»Π° (gaps) Π΄ΡΠΆΠΈΠ½Π΅ 3 ΠΈ ΡΠ΅Π΄Π½Π° ΡΠ΅ΡΠΈΡΠ° ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ° (block) ΠΈΡΡΠ΅ Π΄ΡΠΆΠΈΠ½Π΅.
Π€ΡΠ½ΠΊΡΠΈΡΠ° Π°ΡΡΠΎΠΊΠΎΡΠ΅Π»Π°ΡΠΈΡΠ΅ AC(k) ΡΠ΅Π΄Π½ΠΎΠ³ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΠ³ Π½ΠΈΠ·Π° ΠΏΠ΅ΡΠΈΠΎΠ΄Π° T ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ΅ ΠΊΠ°ΠΎ ΠΠ΄Π΅ A ΠΈ D ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ°ΡΡ ΡΠ΅ΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π±ΡΠΎΡ ΠΊΠΎΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΡΠ° ΠΈ Π½Π΅ΠΊΠΎΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠ°Π·ΠΌΠ°ΡΡΠ°Π½ΠΎΠ³ Π½ΠΈΠ·Π° ΠΈ ΡΠ΅Π³Π° ΡΠ°ΠΌΠΎΠ³ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎΠ³ Π·Π° k ΠΏΠΎΠ·ΠΈΡΠΈΡΠ°. ΠΠΊΠΎ ΡΠ΅ k ΠΌΡΠ»ΡΠΈΠΏΠ» ΠΎΠ΄ T, Π°ΡΡΠΎΠΊΠΎΡΠ΅Π»Π°ΡΠΈΡΠ° ΡΠ΅ Ρ ΡΠ°Π·ΠΈ ΠΈ AC(k)=1. ΠΠΊΠΎ T Π½Π΅ Π΄Π΅Π»ΠΈ k, Π°ΡΡΠΎΠΊΠΎΡΠ΅Π»Π°ΡΠΈΡΠ° ΡΠ΅ Π²Π°Π½ ΡΠ°Π·Π΅ ΠΈ AC(k) ΡΠ·ΠΈΠΌΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ [-1,1].
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΎΠ³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°: RC4 RC4 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ S-box Π΄ΡΠΆΠΈΠ½Π΅ 256 Π±Π°ΡΡΠΎΠ²Π°. ΠΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ»ΡΡΠ°ΡΠ½ΠΎΠ³ Π±ΡΠΎΡΠ° Π ΡΡΠ΅Π±Π° ΡΡΠ°Π΄ΠΈΡΠΈ ΡΠ»Π΅Π΄Π΅ΡΠ΅: i=(i+1)mod 256 j=(j+Si)mod 256 Si ΠΈ Sj Π·Π°ΠΌΠ΅Π½Π΅ ΠΌΠ΅ΡΡΠ° t=(Si+Sj)mod 256 K=St ΠΠΎΠ±ΠΈΡΠ΅Π½ΠΈ Π±Π°ΡΡ Π ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° XOR-ΠΎΠ²Π°ΡΠ΅ ΡΠ° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ Π·Π° Π΄ΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ°ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΎΠ³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°: RC4 (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° S-box ΡΠ΅ Π²Π΅ΠΎΠΌΠ° ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π°. ΠΡΠ²ΠΎ ΡΠ΅ Π»ΠΈΠ½Π΅Π°ΡΠ½ΠΎ Π½Π°ΠΏΡΠ½ΠΈ ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅: S0=0, ..., S255=255, ΠΠ°ΡΠΈΠΌ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ Π½ΠΈΠ· ΠΎΠ΄ 256 Π±Π°ΡΡΠΎΠ²Π° ΠΊΡΡΡΠ° (ΠΏΠΎΠ½Π°Π²ΡΠ°ΡΠ΅ΠΌ), Π’Π°Π΄Π° ΡΠ΅ S-box ΠΏΠΎΠΏΡΡΠ°Π²Π° Π½Π° ΡΠ»Π΅Π΄Π΅ΡΠΈ Π½Π°ΡΠΈΠ½: ΠΠ° i=0 Π΄ΠΎ 255 j=(j + Si + Πi)mod 256 Si ΠΈ Sj Π·Π°ΠΌΠ΅Π½Π΅ ΠΌΠ΅ΡΡΠ°.
ΠΠ»ΠΎΠΊ ΡΠΈΡΡΠ΅ ΠΠ»ΠΎΠΊ ΡΠΈΡΡΠΎΠΌ ΡΠ΅ Π½Π°Π·ΠΈΠ²Π° ΠΎΠ½Π° ΡΠΈΡΡΠ° ΠΊΠΎΠ΄ ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π° ΠΏΠΎΡΡΠΊΠ° ΡΠΈΡΡΡΡΠ΅ ΠΏΠΎ Π³ΡΡΠΏΠ°ΠΌΠ° (Π±Π»ΠΎΠΊΠΎΠ²ΠΈΠΌΠ°) ΠΎΠ΄ Π΄Π²Π° ΠΈ Π²ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½Π°ΡΠ°.
Π‘Π²ΠΎΡΡΡΠ²Π° Π±Π»ΠΎΠΊ ΡΠΈΡΠ°ΡΠ° ΠΠ°ΡΠΈΠ½ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΡΠ²Π°ΠΊΠΎΠ³ ΡΠΈΠΌΠ±ΠΎΠ»Π° Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ Π½Π°ΡΠΈΠ½Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΡΡΡΠ΅Π΄Π½ΠΈΡ ΡΠΈΠΌΠ±ΠΎΠ»Π°. Π‘Π²Π°ΠΊΠΈ Π±Π»ΠΎΠΊ ΡΠΈΠΌΠ±ΠΎΠ»Π° ΡΠ΅ ΡΠΈΡΡΡΡΠ΅ ΡΠ²Π΅ΠΊ Π½Π° ΠΈΡΡΠΈ Π½Π°ΡΠΈΠ½, Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΎ ΠΎΠ΄ ΠΌΠ΅ΡΡΠ° ΠΊΠΎΡΠ΅ Π·Π°ΡΠ·ΠΈΠΌΠ° Ρ ΠΏΠΎΡΡΡΠΈ. ΠΠ΅Π΄Π½Π°ΠΊΠ΅ ΠΏΠΎΡΡΠΊΠ΅, ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ ΠΈΡΡΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ, ΡΠ²Π΅ΠΊ Π΄Π°ΡΡ ΡΠ΅Π΄Π½Π°ΠΊΠ΅ ΡΠΈΡΡΠ°ΡΠ΅. ΠΠ° Π±ΠΈ ΡΠ΅ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΠΎ Π΄Π΅ΠΎ ΠΏΠΎΡΡΠΊΠ΅, Π½ΠΈΡΠ΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠΈ ΡΠ΅ ΠΎΠ΄ ΠΏΠΎΡΠ΅ΡΠΊΠ°, Π΄ΠΎΠ²ΠΎΡΠ½ΠΎ ΡΠ΅ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠΈ Π±Π»ΠΎΠΊ ΠΊΠΎΡΠΈ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΠ΅.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΠΈ Π±Π»ΠΎΠΊ ΡΠΈΡΡΠ΅ ΠΠ½ΠΈΡΠΈΡΠ°Π»Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ°, ΠΠ΅Π΄Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠ»Π°Π±Π° ΡΡΠ½ΠΊΡΠΈΡΠ°, ΠΏΠΎΠ½ΠΎΠ²ΡΠ΅Π½Π° r ΠΏΡΡΠ° (βΡΡΠ½Π΄ΠΈ"). Π€ΠΈΠ½Π°Π»Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ°. ΠΠ»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° Π΅ΠΊΡΠΏΠ°Π½Π·ΠΈΡΡ ΠΊΡΡΡΠ°.
ΠΠ½ΠΈΡΠΈΡΠ°Π»Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ ΡΠ°Π΄ΡΠΆΠ°ΡΠΈ ΡΠ΅Π΄Π½Ρ ΠΈΠ»ΠΈ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅: ΠΡΠ²Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΡΡΠ΅ ΡΠ»Π°Π·Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅, ΡΠ°Π΄ΠΈ ΡΠΊΡΠΈΠ²Π°ΡΠ° Π±Π»ΠΎΠΊΠΎΠ²Π° ΠΊΠΎΡΠΈ ΡΠ°Π΄ΡΠΆΠ΅ ΡΠ°ΠΌΠΎ ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎ Π½ΡΠ»Π΅, ΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΊΡΡΡΠ°. ΠΡΡΠ³Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΎΡΠ΅ΠΆΠ°Π²Π° Π½Π΅ΠΊΠ΅ Π½Π°ΠΏΠ°Π΄Π΅ Π½Π° ΠΎΠ²Π°ΠΊΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠ°ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π»ΠΈΠ½Π΅Π°ΡΠ½Ρ ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°Π»Π½Ρ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Ρ. ΠΡΡΠ³Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΊΡΡΡΠ°.
Π‘Π²Π°ΠΊΠ° ΡΡΠ½Π΄Π° ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ ΡΠ΅Π΄Π½Π΅ Π½Π΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅, Π½Π° ΠΊΠΎΡΡ ΡΡΠΈΡΡ ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΊΡΡΡΠ° ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΡΠ»Π°Π·Π½ΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°, ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Π° ΠΈΠ»ΠΈ Π½Π΅. ΠΠ΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ ΡΠ°Π΄ΡΠΆΠ°ΡΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π΄Π½Ρ Π²Π΅ΠΎΠΌΠ° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ, ΠΈΠ»ΠΈ Π½ΠΈΠ· ΡΡΠΊΡΠ΅ΡΠΈΠ²Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΡ ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΡΠΈΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ°.
Π ΡΠ½Π΄Π΅ ΡΠ΅ ΠΌΠ΅ΡΡΡΠΎΠ±Π½ΠΎ ΠΏΠΎΠ²Π΅Π·ΡΡΡ ΡΠ°Π±ΠΈΡΠ°ΡΠ΅ΠΌ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2, Π±ΠΈΡ Π·Π° Π±ΠΈΡ, ΡΠ° ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° ΠΊΠΎΡΠΈ Π΄ΠΎΠ»Π°Π·Π΅ ΠΈΠ· ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½Π΅ ΡΡΠ½Π΄Π΅ ΠΈΠ»ΠΈ ΠΈΠ· ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅. ΠΠ° ΡΠ°Ρ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΈΠ½Π²ΠΎΠ»ΡΡΠΈΠ²Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ°, ΠΊΠ°Π΄Π° ΡΠ΅ ΠΏΠΎΠ½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ°Π½ ΠΏΡΠΎΡΠ΅Ρ (Π°Π»ΠΈ ΡΠ· ΠΊΡΡΡ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ° Π΄Π°Ρ ΠΎΠ±ΡΠ½ΡΡΠΈΠΌ ΡΠ΅Π΄ΠΎΠΌ), ΡΠΈΠΌΠ΅ ΡΠ΅ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ.
Π€ΠΈΠ½Π°Π»Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΡΠ»ΡΠΆΠΈ Π΄Π° Π±ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΈ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ° Π±ΠΈΠ»Π΅ ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½Π΅. ΠΠ»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° Π΅ΠΊΡΠΏΠ°Π½Π·ΠΈΡΡ ΠΊΡΡΡΠ° ΠΈΠΌΠ° Π·Π° ΡΠΈΡ ΠΏΡΠ΅ΡΠ²Π°ΡΠ°ΡΠ΅ ΠΊΡΡΡΠ°, ΠΎΠ±ΠΈΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π΅ Π΄ΡΠΆΠΈΠ½Π΅, Ρ ΡΠΊΡΠΏ ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²Π° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΌΠΎΠ³Ρ ΡΠ°ΡΡΠΎΡΠ°ΡΠΈ ΠΎΠ΄ Π²Π΅ΡΠ΅Π³ Π±ΡΠΎΡΠ° Π±ΠΈΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΠΈ Π±Π»ΠΎΠΊ ΡΠΈΡΠ°ΡΠ°: LUCIFER, DES, FEAL, IDEA, RC5, SKIPJACK, BLOWFISH, TWOFISH, AES (RIJNDAEL), ΠΈΡΠ΄.
DES ΠΠ»ΠΎΠΊ ΡΠΈΡΡΠ° Π½Π°ΡΠ²ΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅Π½Π° Ρ ΠΏΡΠ°ΠΊΡΠΈ ΡΠ΅ DES (Data Encryption Standard), ΠΊΠΎΡΠΈ ΡΠ΅ NBS (National Bureau of Standards) ΡΠ²Π΅ΠΎ Ρ Π‘ΠΠ 1974. ΠΡΠΆΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄ ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ ΡΠ΅ 64 Π±ΠΈΡΠ°, Π° Π΄ΡΠΆΠΈΠ½Π° ΠΊΡΡΡΠ° ΡΠ΅ 56 Π±ΠΈΡΠ°.
ΠΠΏΠΈΡ ΡΠ°Π΄Π° DES-Π° DES Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎ ΡΠΈΡΡΡΡΠ΅ Π΄Π²Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠ°. ΠΠ°ΡΠΏΡΠ΅ ΡΠ΅ Π²ΡΡΠΈ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½Π° ΡΠΈΠΊΡΠ½Π° ΠΏΠ΅ΡΠΌΡΡΠ°ΡΠΈΡΠ° Π±ΠΈΡΠ° Ρ Π±Π»ΠΎΠΊΡ. ΠΠ°ΡΠΈΠΌ ΡΠ΅ Π±Π»ΠΎΠΊ Π΄Π΅Π»ΠΈ Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΠ΅ ΡΠ΅Π΄Π½Π° ΠΌΠΎΠ΄ΡΠ»Π°ΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΠΎΠ½Π°Π²ΡΠ° 16 ΠΏΡΡΠ° (βΡΡΠ½Π΄ΠΈ").
ΠΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ ΡΡΠΌΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2 Π»Π΅Π²Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠ° ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠΎΠΌ Π΄Π΅ΡΠ½Π΅ ΡΡΡΠ°Π½Π΅ Π±Π»ΠΎΠΊΠ°, Π½Π° ΠΊΠΎΡΡ ΡΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΊΡΡΡ Π³Π΄Π΅ ΡΠ΅ i ΡΠ΅Π΄Π½ΠΈ Π±ΡΠΎΡ ΡΡΠ½Π΄Π΅. ΠΠ°ΡΠΈΠΌ Π»Π΅Π²Π° ΠΈ Π΄Π΅ΡΠ½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΌΠ΅ΡΠ°ΡΡ ΠΌΠ΅ΡΡΠ°.
Π£ 16. Π ΡΠ½Π΄ΠΈ ΡΠ΅ ΠΈΠ·ΠΎΡΡΠ°Π²ΡΠ° ΡΠ°Π·ΠΌΠ΅Π½Π° ΠΌΠ΅ΡΡΠ° Π»Π΅Π²Π΅ ΠΈ Π΄Π΅ΡΠ½Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠ°, Π° Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ ΡΠ΅ Π·Π°Π²ΡΡΠ°Π²Π° ΡΠΈΠΊΡΠ½ΠΎΠΌ ΠΏΠ΅ΡΠΌΡΡΠ°ΡΠΈΡΠΎΠΌ Π±ΠΈΡΠ° Ρ Π±Π»ΠΎΠΊΡ ΠΊΠΎΡΠ° ΡΠ΅ ΠΈΠ½Π²Π΅ΡΠ·Π½Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½ΠΎΡ. DES ΡΠ΅Π°Π»ΠΈΠ·ΡΡΠ΅ ΠΈΠ½Π²ΠΎΠ»ΡΡΠΈΠ²Π½Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΡ ΠΈ Π·Π°ΡΠΎ Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΠΈΠ½Π²Π΅ΡΡΠΎΠ²Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΡΡ F Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π·Π° Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅. ΠΠ°ΡΠΎ F ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°, ΠΊΠΎΡΠ° ΡΠ°Π΄ΡΠΆΠΈ Π½Π΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅.
ΠΡΠ²Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡΠ° ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ ΡΠΎΡΠΌΠΈΡΠ°ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ΠΎΠ΄ 48 Π±ΠΈΡΠ°, Π½Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΠΎΡΠ΅ΡΠ½Π° 32 Π±ΠΈΡΠ°, ΠΏΡΡΠ΅ΠΌ Π»ΠΈΠ½Π΅Π°ΡΠ½Π΅ Π΅ΠΊΡΠΏΠ°Π½Π·ΠΈΡΠ΅. ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΡΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΊΡΡΡ ΠΎΠ΄ 48 Π±ΠΈΡΠ° ΡΠ° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΠΌ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΈΡΠ°ΡΠ΅ΠΌ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2, Π±ΠΈΡ Π·Π° Π±ΠΈΡ, ΡΠΈΠΌΠ΅ ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ° Π΄ΡΡΠ³ΠΈ Π²Π΅ΠΊΡΠΎΡ ΠΎΠ΄ 48 Π±ΠΈΡΠ°, ΠΊΠΎΡΠΈ ΡΠ΅ Π΄Π΅Π»ΠΈ Π½Π° 8 Π³ΡΡΠΏΠ° ΠΏΠΎ 6 Π±ΠΈΡΠ°. Π‘Π²Π°ΠΊΠ° ΠΎΠ΄ ΠΎΠ²ΠΈΡ Π³ΡΡΠΏΠ° ΡΠ»Π°Π·ΠΈ Ρ ΡΠ΅Π΄Π½Ρ ΠΎΠ΄ 8 ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΊΠΎΡΠ΅ ΡΠ΅ Π½Π°Π·ΠΈΠ²Π°ΡΡ "S-box". ΠΠ²Π΅ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ½Π΅ Π·Π° Π½Π΅Π»ΠΈΠ½Π΅Π°ΡΠ½ΠΎΡΡ DES-Π°.
ΠΠ· ΡΠ²Π°ΠΊΠ΅ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠ·Π»Π°Π·Π΅ 4 Π±ΠΈΡΠ° ΠΠ· ΡΠ²Π°ΠΊΠ΅ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠ·Π»Π°Π·Π΅ 4 Π±ΠΈΡΠ°. ΠΠ°Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π΄Π°Π½ Π±ΠΈΡ Π½Π° ΡΠ»Π°Π·Ρ, ΠΏΡΠΎΠΌΠ΅Π½Π΅ ΡΠ΅ Π±Π°Ρ Π΄Π²Π° Π±ΠΈΡΠ° Π½Π° ΠΈΠ·Π»Π°Π·Ρ. ΠΠ° ΠΊΡΠ°ΡΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΏΡΠΎΠ»Π°Π·ΠΈ ΠΊΡΠΎΠ· "P-box", ΡΡΠΎ ΡΠ΅ ΡΠ΅Π΄Π½Π° ΡΠΈΠΊΡΠ½Π° ΠΏΠ΅ΡΠΌΡΡΠ°ΡΠΈΡΠ°, ΠΈΠ·Π°Π±ΡΠ°Π½Π° Π½Π° ΡΠ°ΠΊΠ°Π² Π½Π°ΡΠΈΠ½ Π΄Π° Π΄ΠΈΡΡΠ·ΠΈΡΠ° Π±ΠΈΡΠ° Π±ΡΠ΄Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° Ρ Π±Π»ΠΎΠΊΡ ΠΎΠ΄ 32 Π±ΠΈΡΠ°.
ΠΠ°ΠΊΠΎ DES ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΡΡΡ ΠΎΠ΄ 64 Π±ΠΈΡΠ°, ΠΏΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΠ΅ ΡΠ΅ ΡΠ΅Π³ΠΎΠ²Π° ΡΠ΅Π΄ΡΠΊΡΠΈΡΠ° Π½Π° 56 Π±ΠΈΡΠ°, Π΅Π»ΠΈΠΌΠΈΠ½Π°ΡΠΈΡΠΎΠΌ ΡΠ΅Π΄Π½ΠΎΠ³ ΠΎΠ΄ ΡΠ²Π°ΠΊΠΈΡ ΠΎΡΠ°ΠΌ Π±ΠΈΡΠ°. ΠΠ°ΡΠΈΠΌ ΡΠ΅ Π²ΡΡΠΈ ΠΏΡΠ΅ΡΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΎΡΡΠ°Π»ΠΈΡ Π±ΠΈΡΠ°. ΠΠΎΡΠΎΠΌ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ 16 ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡ Ρ 16 ΡΡΠ½Π΄ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. Π‘Π²Π°ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΡΡΡ ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ 48 Π±ΠΈΡΠ°. ΠΠ° Π²ΡΠ΅ΠΌΠ΅ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΎΠ½ΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ ΠΎΠ±ΡΠ½ΡΠΈΠΌ ΡΠ΅Π΄ΠΎΠΌ Ρ ΠΎΠ΄Π½ΠΎΡΡ Π½Π° ΠΎΠ½Π°Ρ ΠΊΠΎΡΠΈΡΡΠ΅Π½ ΡΠΎΠΊΠΎΠΌ ΡΠΈΡΡΠΎΠ²Π°ΡΠ°.
ΠΠ΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²Π°: ΠΠ°ΡΠΏΡΠ΅ ΡΠ΅ ΠΊΡΡΡ ΠΎΠ΄ 56 Π±ΠΈΡΠ° ΠΏΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΎΠ΄ ΠΏΠΎ 28 Π±ΠΈΡΠ°. ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ»Π΅Π²ΠΎ ΡΠ΅Π΄Π°Π½ ΠΈΠ»ΠΈ Π΄Π²Π° Π±ΠΈΡΠ°, Ρ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ ΡΠ΅Π΄Π½ΠΎΠ³ Π±ΡΠΎΡΠ° ΡΡΠ½Π΄Π΅. ΠΠΎΡΠ»Π΅ ΡΠΎΡΠΈΡΠ°ΡΠ°, ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΡΠ΅ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΡΠ°ΡΡΠ°Π²Π΅ ΠΈ ΡΠ°ΠΊΠΎ ΡΠ΅ ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π΄ΠΎΠ±ΠΈΡΠ΅ 16 Π³ΡΡΠΏΠ° ΠΎΠ΄ ΠΏΠΎ 56 Π±ΠΈΡΠ°. ΠΠ΄ ΠΎΠ²ΠΈΡ Π±ΠΈΡΠ° ΡΠ΅ ΠΈΠ·Π°Π±Π΅ΡΠ΅ ΠΏΠΎ 48 Π±ΠΈΡΠ° ΠΈΠ· ΡΠ²Π°ΠΊΠ΅ Π³ΡΡΠΏΠ΅, ΡΠΈΠΌΠ΅ ΡΠ΅ ΠΊΠΎΠ½Π°ΡΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΠ° 16 ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²Π°. ΠΠ²Π°Ρ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ Π½Π°Π·ΠΈΠ²Π° βΠΏΠ΅ΡΠΌΡΡΠ°ΡΠΈΡΠ° ΡΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠΎΠΌ". ΠΠ·Π°Π±ΡΠ°Π½ΠΈ Π±ΠΈΡΠΈ ΡΡ ΡΠ΅Π΄Π½Π°ΠΊΠΈ Π·Π° ΡΠ²Π΅ ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²Π΅.
ΠΡΠ½ΠΎΠ²Π½Π΅ ΠΎΡΠΎΠ±ΠΈΠ½Π΅ DES-Π° ΠΠ΅ΡΡΡΠΎΠ±Π½Π° Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΡΠΈΠΌΠ±ΠΎΠ»Π° β Π‘Π²Π°ΠΊΠΈ Π±ΠΈΡ ΡΠΈΡΡΠ°ΡΠ° ΡΠ΅ ΡΠ΅Π΄Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ²ΠΈΡ Π±ΠΈΡΠ° ΠΈ ΡΠ²ΠΈΡ Π±ΠΈΡΠ° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ°. ΠΡΠΎΠΌΠ΅Π½Π° ΡΠ»Π°Π·Π½ΠΈΡ Π±ΠΈΡΠ° β ΠΡΠΎΠΌΠ΅Π½Π° ΡΠ΅Π΄Π½ΠΎΠ³ Π±ΠΈΡΠ° ΠΏΠΎΡΡΠΊΠ΅ ΠΏΡΠΎΡΠ·ΡΠΎΠΊΡΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 50% Π±ΠΈΡΠ° Π±Π»ΠΎΠΊΠ° ΡΠΈΡΡΠ°ΡΠ°. ΠΡΠΎΠΌΠ΅Π½Π° Π±ΠΈΡΠ° ΠΊΡΡΡΠ° β ΠΡΠΎΠΌΠ΅Π½Π° ΡΠ΅Π΄Π½ΠΎΠ³ Π±ΠΈΡΠ° ΠΊΡΡΡΠ° ΠΏΡΠΎΡΠ·ΡΠΎΠΊΡΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 50% Π±ΠΈΡΠ° Π±Π»ΠΎΠΊΠ° ΡΠΈΡΡΠ°ΡΠ°.
Π‘Π»Π°Π±ΠΈ ΠΊΡΡΡΠ΅Π²ΠΈ β ΠΠΎΡΡΠΎΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ ΡΠ»Π°Π±Π° ΠΊΡΡΡΠ° ΠΊΠΎΡΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΡ Π»Π°ΠΊΠΎ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ ΠΏΠΎΡΡΠΊΠ΅, Π·Π°ΡΠΎ ΡΡΠΎ ΡΡ Ρ ΡΠ»ΡΡΠ°ΡΡ ΡΠΏΠΎΡΡΠ΅Π±Π΅ ΡΠΈΡ ΠΊΡΡΡΠ΅Π²Π° ΡΠ²ΠΈ ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²ΠΈ K1 do K16 ΠΌΠ΅ΡΡΡΠΎΠ±Π½ΠΎ ΡΠ΅Π΄Π½Π°ΠΊΠΈ. ΠΠΎΡΡΠΎΡΠΈ 28 βΠ΄Π΅Π»ΠΈΠΌΠΈΡΠ½ΠΎ ΡΠ»Π°Π±ΠΈΡ " ΠΊΡΡΡΠ΅Π²Π° ΠΊΠΎΡΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΡ Π»Π°ΠΊΠΎ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ ΠΏΠΎΡΡΠΊΠ΅, Π·Π°ΡΠΎ ΡΡΠΎ ΡΡ Ρ ΡΠ»ΡΡΠ°ΡΡ ΡΠΏΠΎΡΡΠ΅Π±Π΅ ΡΠΈΡ ΠΊΡΡΡΠ΅Π²Π° ΡΠ°ΠΌΠΎ Π΄Π²Π° ΠΈΠ»ΠΈ ΡΠ΅ΡΠΈΡΠΈ ΠΏΠΎΠ΄ΠΊΡΡΡΠ° ΠΌΠ΅ΡΡΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈ. ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΏΡΠ΅Π½ΠΎΡΡ Π΄Π΅Π»Π° ΡΠΈΡΡΠ°ΡΠ° ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΠ΅ Π½Π° ΡΠ΅ΠΎ Π±Π»ΠΎΠΊ Ρ ΠΊΠΎΠΌΠ΅ ΡΠ΅ ΡΠ°Ρ Π΄Π΅ΠΎ.
ΠΠ΅Π΄Π°Π½ ΠΎΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈ ΡΠΏΠΎΡΡΠ΅Π±ΠΈ DES-a ΡΠ°ΡΡΠΎΡΠΈ ΡΠ΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΡΠ΅ Π΄ΡΠΆΠΈΠ½Π° ΠΊΡΡΡΠ° ΠΊΠΎΡΠΈ ΠΎΠ²Π° ΡΠΈΡΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ Π½Π΅Π΄ΠΎΠ²ΠΎΡΠ½Π° ΠΊΠ°Π΄Π° ΡΠ΅ ΠΈΠΌΠ° Ρ Π²ΠΈΠ΄Ρ Π΄Π°Π½Π°ΡΡΠ΅ ΡΡΠ°ΡΠ΅ ΡΠ°Π·Π²ΠΎΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅. ΠΠ°ΡΠ½ΠΎ ΡΠ΅ Π΄Π° ΠΊΡΡΡ Π΄ΡΠΆΠΈΠ½Π΅ 56 Π±ΠΈΡΠ° Π½Π΅ ΠΎΠ±Π΅Π·Π±Π΅ΡΡΡΠ΅ Π΄ΠΎΠ²ΠΎΡΠ°Π½ Π½ΠΈΠ²ΠΎ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠΈ ΠΈΠΌΠ°ΡΡΡΠΈ Ρ Π²ΠΈΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΠ½Π΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΡΠ°Π²ΡΠ΅ΠΌΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠ½Π°ΡΠ° ΠΈ Π½ΠΈΠ²ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π°. Π’Π°ΠΊΠΎΡΠ΅ ΡΡ ΠΎΠ±ΡΠ°Π²ΡΠ΅Π½ΠΈ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ Π½Π°ΠΏΠ°Π΄ΠΈ Π½Π° Π±Π»ΠΎΠΊ ΡΠΈΡΡΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° DES, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ Π»ΠΈΠ½Π΅Π°ΡΠ½Π° ΠΈ Π΄ΠΈΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°Π»Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°.
IDEA Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ IDEA (International Data Encryption Algorithm) ΡΠ΅ ΡΠ΅Π΄Π°Π½ ΠΎΠ΄ Π½Π°ΡΠ·Π°ΡΡΡΠΏΡΠ΅Π½ΠΈΡΠΈΡ Π±Π»ΠΎΠΊ ΡΠΈΡΠ°ΡΡΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌΠ° Ρ ΠΊΠΎΠΌΠ΅ΡΡΠΈΡΠ°Π»Π½ΠΈΠΌ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΠΌΠ°. ΠΠΎΠΏΡΠ»Π°ΡΠ½ΠΎΡΡ Π΄ΡΠ³ΡΡΠ΅ ΠΈΠ½Π²Π΅Π½ΡΠΈΠ²Π½ΠΎΠΌ ΡΠΏΡΠ΅Π·Π°ΡΡ Π°Π»Π³Π΅Π±Π°ΡΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΠΌ Π΄ΠΎΠΌΠ΅Π½ΠΈΠΌΠ° ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈΠΌ Π·Π° Π΅ΡΠΈΠΊΠ°ΡΠ½Ρ ΡΠΎΡΡΠ²Π΅ΡΡΠΊΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ. ΠΠ²ΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ ΡΠ΅ ΡΠΈΡΡΡΡΠ΅ Ρ Π±Π»ΠΎΠΊΠΎΠ²ΠΈΠΌΠ° ΠΎΠ΄ ΠΏΠΎ 64 Π±ΠΈΡΠ° ΡΠ· ΡΠΏΠΎΡΡΠ΅Π±Ρ ΠΊΡΡΡΠ° Π΄ΡΠΆΠΈΠ½Π΅ 128 Π±ΠΈΡΠ°. Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ ΠΎΠ΄Π²ΠΈΡΠ° ΠΊΡΠΎΠ· ΠΎΡΠ°ΠΌ ΡΠΈΠΊΠ»ΡΡΠ° ΠΈ ΠΏΠΎ Π·Π°Π²ΡΡΠ΅ΡΠΊΡ ΠΎΡΠΌΠΎΠ³ ΡΠΈΠΊΠ»ΡΡΠ° Π΄ΠΎΠ±ΠΈΡΠ° ΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈ ΡΠ΅ΠΊΡΡ.
IDEA Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) Π€ΠΎΡΠΌΠΈΡΠ°ΡΠ΅ ΠΊΡΡΡΠ΅Π²Π° ΠΊΠΎΡΠΈ ΡΡΠ΅ΡΡΠ²ΡΡΡ Ρ ΡΠΈΠΊΠ»ΡΡΠΈΠΌΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠΊΠ΅ Π. ΠΡΡΡ ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΎΡΠ°ΠΌ ΡΠ΅ΡΠ½Π°Π΅ΡΡΠΎΡΠΊΠΈ ΠΈ ΡΠ°ΠΊΠΎ ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²ΠΈ . ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΠ΅ ΡΠ°Π΄ΡΠΆΠ°ΡΠ° ΠΊΡΡΡΠ° Ρ Π»Π΅Π²ΠΎ Π·Π° Π΄Π²Π°Π΄Π΅ΡΠ΅Ρ ΠΏΠ΅Ρ Π±ΠΈΡΠ°, ΡΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈΡΠ΅Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΎΡΠ°ΠΌ ΡΠ΅ΡΠ½Π°Π΅ΡΡΠΎΡΠΊΠΈ ΠΈ ΡΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈΡΠ΅Π½Π΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΡΠ΅ Π΄ΠΎΠ΄Π΅Π»Π΅ ΠΏΠΎΠ΄ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° .
IDEA Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΡΠ΅ΡΡ ΠΎΠ΄Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ΅ ΠΈΠ·Π²ΠΎΠ΄ΠΈ ΡΠ²Π΅ Π΄ΠΎΠΊ ΡΠ΅ Π½Π΅ Π΄ΠΎΠ±ΠΈΡΡ ΠΏΠ΅Π΄Π΅ΡΠ΅Ρ Π΄Π²Π° ΠΏΠΎΠ΄ΠΊΡΡΡΠ°
IDEA Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠΊΠΎ ΡΡΠ°Π²ΠΈΠΌΠΎ Π΄Π° ΡΠ΅: ΠΠ° r ΠΏΠΎΡΠ΅Π² ΠΎΠ΄ 1 Π΄ΠΎ 8 ΡΠ°Π΄ΠΈ ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅:
IDEA Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠ·Π»Π°Π·Π½ΠΎΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠΌ: ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΡΠ½Π°Π΅ΡΡΠΎΡΠΊΠ΅ Π±ΠΈΡΠ° ΡΠΈΡΠΎΠΌ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡΠΎΠΌ Ρ Π΄ΠΎΠ±ΠΈΡΠ° ΡΠΈΡΡΠ°Ρ ΠΏΠΎΠ»Π°Π·Π½ΠΎΠ³ Π±Π»ΠΎΠΊΠ°. Π£ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΌ ΠΊΠΎΡΠ°ΡΠΈΠΌΠ°, ΠΎΠ·Π½Π°ΠΊΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΠΌΠ°ΡΡ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π·Π½Π°ΡΠ΅ΡΠ΅: ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠΎΠ²Π°Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ (216+1), + ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΡΠ°Π±ΠΈΡΠ°ΡΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 216, ο ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π±ΠΈΡΡΠΊΡ Π΅ΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½Ρ Π΄ΠΈΡΡΡΠ½ΠΊΡΠΈΡΡ.
AES (Rijndael) ΠΠ±ΠΎΠ³ ΡΠ»Π°Π±ΠΎΡΡΠΈ DES-a, Ρ Π‘ΠΠ ΡΡ ΠΎΠ΄Π»ΡΡΠΈΠ»ΠΈ Π΄Π° Π³Π° Π·Π°ΠΌΠ΅Π½Π΅ Π½ΠΎΠ²ΠΎΠΌ Π±Π»ΠΎΠΊ-ΡΠΈΡΡΠΎΠΌ, Π½Π°Π·Π²Π°Π½ΠΎΠΌ AES (Advanced Encryption Standard). ΠΠΎΠ½Π°ΡΠ½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° AES Π±ΠΈΠ»Π° ΡΠ΅ ΠΈΠ·Π°Π±ΡΠ°Π½Π° ΠΈΠ·ΠΌΠ΅ΡΡ 5 ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ°. ΠΠ·Π°Π±ΡΠ°Π½ ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Rijndael.
Rijndael ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½Π° Π±Π»ΠΎΠΊ-ΡΠΈΡΡΠ° ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΎΠΌ Π΄ΡΠΆΠΈΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ°, ΠΊΠ°ΠΎ ΠΈ ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΎΠΌ Π΄ΡΠΆΠΈΠ½ΠΎΠΌ ΠΊΡΡΡΠ°. ΠΠ²Π΅ Π΄ΡΠΆΠΈΠ½Π΅ ΠΌΠΎΠ³Ρ Π±ΠΈΡΠΈ 128, 192 ΠΈ 256 Π±ΠΈΡΠ°. ΠΡΠ½ΠΎΠ²Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ ΡΠ΅ Π½Π°Π·ΠΈΠ²Π° Π‘ΡΠ°ΡΠ΅. State ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ° 4 Π²ΡΡΡΠ΅ ΠΈ Nb ΠΊΠΎΠ»ΠΎΠ½Π°, Π³Π΄Π΅ ΡΠ΅ Nb ΡΠ΅Π΄Π½Π°ΠΊΠΎ Π΄ΡΠΆΠΈΠ½ΠΈ Π±Π»ΠΎΠΊΠ° ΠΏΠΎΠ΄Π΅ΡΠ΅Π½ΠΎΡ ΡΠ° 32. ΠΡΡΡ ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ Π΄Π°Ρ ΠΌΠ°ΡΡΠΈΡΠΎΠΌ ΡΠ° 4 Π²ΡΡΡΠ΅ ΠΈ Nk ΠΊΠΎΠ»ΠΎΠ½Π°, Π³Π΄Π΅ ΡΠ΅ Nk ΡΠ΅Π΄Π½Π°ΠΊΠΎ Π΄ΡΠΆΠΈΠ½ΠΈ ΠΊΡΡΡΠ° ΠΏΠΎΠ΄Π΅ΡΠ΅Π½ΠΎΡ ΡΠ° 32. ΠΡΠΎΡ ΡΡΠ½Π΄ΠΈ Nr ΠΊΠΎΠ΄ ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ² ΠΈ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Nb ΠΈ Nk. Nr ΡΠ·ΠΈΠΌΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅ΡΡ 10 ΠΈ 14.
Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Ρ ΠΎΠΊΠ²ΠΈΡΡ ΡΠ΅Π΄Π½Π΅ ΡΡΠ½Π΄Π΅ ΡΠ°ΡΡΠΎΡΠΈ ΡΠ΅ ΠΎΠ΄ 4 ΠΊΠΎΡΠ°ΠΊΠ° ΠΠ΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π° ΡΡΠΏΡΡΠΈΡΡΡΠΈΡΠ° Π±Π°ΡΡΠΎΠ²Π° (ByteSub). Π¦ΠΈΠΊΠ»ΠΈΡΠ½ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Ρ Π²ΡΡΡΠ° ΠΌΠ°ΡΡΠΈΡΠ΅ State (ShiftRow). ΠΠ½ΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΌΠ°ΡΡΠΈΡΠ΅ State ΡΠΈΠΊΡΠ½ΠΈΠΌ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠΌ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ (MixColumn). Π‘Π°Π±ΠΈΡΠ°ΡΠ΅ ΠΊΡΡΡΠ° ΡΡΠ½Π΄Π΅ ΡΠ° ΠΌΠ°ΡΡΠΈΡΠΎΠΌ State (RoundKey).
ΠΠ° Π±ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ° Π±ΠΈΠΎ ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΈΡΡΠΎΠ²Π°ΡΠ°, ΠΏΠΎΡΠ»Π΅Π΄ΡΠ° ΡΡΠ½Π΄Π° Π½Π΅ ΡΠ°Π΄ΡΠΆΠΈ ΠΊΠΎΡΠ°ΠΊ MixColumn.
ByteSub ΡΠ΅ Π½Π΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Π±Π°ΡΡΠΎΠ²Π°, ΠΊΠΎΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ΅ ΡΠ²Π°ΠΊΠΈ Π±Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΠ΅ State. Π’Π°Π±Π»ΠΈΡΠ° ΡΡΠΏΡΡΠΈΡΡΡΠΈΡΠ΅ (ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½ΠΎΠΌ S-box) ΡΠ΅ ΠΈΠ½Π²Π΅ΡΡΠΈΠ±ΠΈΠ»Π½Π° ΠΈ ΡΠ°ΡΡΠΎΡΠΈ ΡΠ΅ ΠΎΠ΄ Π΄Π²Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅: ΠΡΠ»ΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½Π° ΠΈΠ½Π²Π΅ΡΠ·ΠΈΡΠ° Ρ GF(28) Π±Π°ΡΡΠ°, Ρ ΠΊΠΎΡΠΎΡ ΡΠ΅ 00 ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ΅ Ρ ΡΠ°ΠΌΠΎΠ³ ΡΠ΅Π±Π΅, ΠΈ ΠΡΠΈΠ½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Π½Π°Π΄ GF(2), Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΡΠΎΡ ΡΠ΅Π΄Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΡΠΎΠΌ. ΠΠ½Π²Π΅ΡΠ·Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎΠ΄ ByteSub ΡΠ°Π΄ΡΠΆΠΈ ΠΈΠ½Π²Π΅ΡΠ·Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΎΠ΄ ByteSub. ΠΠΎΠ±ΠΈΡΠ° ΡΠ΅ ΠΈΠ½Π²Π΅ΡΠ·ΠΈΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΡΠ΅ Π°ΡΠΈΠ½Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ ΠΈΠ· ByteSub ΠΈ ΡΠ°ΡΡΠ½Π°ΡΠ΅ΠΌ ΠΌΡΠ»ΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½Π΅ ΠΈΠ½Π²Π΅ΡΠ·ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° Ρ GF(28).
Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ShiftRow ΡΠΈΠΊΠ»ΠΈΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ° Π²ΡΡΡΠ΅ ΠΌΠ°ΡΡΠΈΡΠ΅ State Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ Π½Π°ΡΠΈΠ½Π΅: Π²ΡΡΡΠ° i ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ° Π·Π° Ci ΠΏΠΎΠ·ΠΈΡΠΈΡΠ°, Π³Π΄Π΅ Ci Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ Π΄ΡΠΆΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠ° Nb, i=0,...,3. ΠΡΠ΅Π΄Π½ΠΎΡΡΠΈ Ci ΡΠ΅ Π½Π°Π»Π°Π·Π΅ ΠΈΠ·ΠΌΠ΅ΡΡ 1 ΠΈ 4. ΠΠ½Π²Π΅ΡΠ·Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎΠ΄ ShiftRow ΠΏΠΎΠΌΠ΅ΡΠ° Π²ΡΡΡΡ i Π·Π° (Nb-Ci) ΠΏΠΎΠ·ΠΈΡΠΈΡΠ°, i=1,...3.
Π£ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΈ MixColumn, ΠΊΠΎΠ»ΠΎΠ½Π΅ ΠΌΠ°ΡΡΠΈΡΠ΅ State ΡΠ΅ ΡΠΌΠ°ΡΡΠ°ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠΌΠ° Π½Π°Π΄ GF(28) ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ ΡΠ΅ ΡΠΈΠΊΡΠ½ΠΈΠΌ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠΌ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΠ½Π²Π΅ΡΠ·Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎΠ΄ MixColumn ΡΠ΅ ΡΠ»ΠΈΡΠ½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΈ MixColumn: ΡΠ²Π°ΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π° ΠΌΠ°ΡΡΠΈΡΠ΅ State ΡΠ΅ ΠΌΠ½ΠΎΠΆΠΈ ΡΠΈΠΊΡΠ½ΠΈΠΌ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠΌ
Π£ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΈ RoundKey, ΠΊΡΡΡ ΡΡΠ½Π΄Π΅ ΡΠ΅ ΡΠ°Π±ΠΈΡΠ° ΡΠ° State ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2, Π±ΠΈΡ Π·Π° Π±ΠΈΡ. ΠΡΠΆΠΈΠ½Π° ΠΊΡΡΡΠ° ΡΡΠ½Π΄Π΅ ΡΠ΅ ΡΠ΅Π΄Π½Π°ΠΊΠ° Nb. ΠΠ²Π°Ρ ΠΊΡΡΡ ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ° ΠΎΠ΄ ΡΠΈΡΠ°ΡΡΠΊΠΎΠ³ ΠΊΡΡΡΠ° (Cipher key) ΠΏΠΎΠΌΠΎΡΡ ΠΏΠΎΡΠ΅Π±Π½ΠΎΠ³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° (Key Shedule Algorithm). Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΠ° RoundKey ΡΠ΅ Π°ΡΡΠΎΠΈΠ½Π²Π΅ΡΡΠΈΠ±ΠΈΠ»Π½Π°.
ΠΠ»Π³ΠΎΡΠΈΡΠ°ΠΌ Key Shedule ΡΠ°ΡΡΠΎΡΠΈ ΡΠ΅ ΠΎΠ΄ Π΄Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅: ΠΠΊΡΠΏΠ°Π½Π·ΠΈΡΠ° ΠΊΡΡΡΠ° ΠΈ ΠΠ·Π±ΠΎΡ ΠΊΡΡΡΠ° ΡΡΠ½Π΄Π΅. ΠΠΊΡΠΏΠ°Π½Π·ΠΈΡΠ° ΠΊΡΡΡΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ΅ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΠΊΡΡΡ (Cipher Key) Ρ ΠΊΡΡΡ Π²Π΅ΡΠ΅ Π΄ΡΠΆΠΈΠ½Π΅, ΡΠΈΡΠΈΡ ΡΡ ΠΏΡΠ²ΠΈΡ Nk Π½ΠΈΠ·ΠΎΠ²Π° ΠΎΠ΄ ΠΏΠΎ 4 Π±Π°ΡΡΠ° ΡΠ΅Π΄Π½Π°ΠΊΠ° ΠΎΠ½ΠΈΠΌΠ° ΠΈΠ· Cipher Key. ΠΠΎΡΡΠΎΡΠΈ ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΈΠ·ΠΌΠ΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌΠ° Π΅ΠΊΡΠΏΠ°Π½Π·ΠΈΡΠ΅ Ρ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ ΡΠΎΠ³Π° Π΄Π° Π»ΠΈ ΡΠ΅ Nk ο£ 6 ΠΈΠ»ΠΈ Nk > 6. ΠΠ»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° ΠΈΠ·Π±ΠΎΡ ΠΊΡΡΡΠ° ΡΡΠ½Π΄Π΅ ΠΊΠΎΡΠΈΡΡΠΈ 6 Π½ΠΈΠ·ΠΎΠ²Π° ΠΎΠ΄ ΠΏΠΎ 4 Π±Π°ΡΡΠ° Π·Π° ΡΠ²Π°ΠΊΡ ΡΡΠ½Π΄Ρ, ΠΏΡΠ²ΠΈΡ 6 Π·Π° ΠΏΡΠ²Ρ ΡΡΠ½Π΄Ρ, Π΄ΡΡΠ³ΠΈΡ 6 Π·Π° Π΄ΡΡΠ³Ρ, ΠΈΡΠ΄.
Π‘Π»Π°Π±ΠΈ, ΠΊΠ°ΠΎ ΠΈ Π΄Π΅Π»ΠΈΠΌΠΈΡΠ½ΠΎ ΡΠ»Π°Π±ΠΈ ΠΊΡΡΡΠ΅Π²ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ°Π²Π΅ ΠΊΠΎΠ΄ Rijndael-Π°, ΠΏΠΎΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΈ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅. ΠΠ²Π° ΡΠΈΡΡΠ° ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΎΡΠΏΠΎΡΠ½Π° Π½Π° Π»ΠΈΠ½Π΅Π°ΡΠ½Ρ ΠΈ Π΄ΠΈΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°Π»Π½Ρ ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·Ρ, ΠΊΠ°ΠΎ ΠΈ Π½Π° Π½Π΅ΠΊΠ΅ Π΄ΡΡΠ³Π΅ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π΅ Π½Π°ΠΏΠ°Π΄Π΅ Π½Π° Π±Π»ΠΎΠΊ-ΡΠΈΡΡΠ΅.
ΠΠΎΠ΄ΡΡΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅ Π±Π»ΠΎΠΊ ΡΠΈΡΠ°ΡΠ° ΠΠ»ΠΎΠΊ-ΡΠΈΡΡΠ΅ ΡΡ ΠΏΠΎΠ³ΠΎΠ΄Π½Π΅ Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΠΊΡΠ°ΡΠΊΠΈΡ ΠΏΠΎΡΡΠΊΠ° β ΠΊΡΡΡΠ΅Π²ΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ, ΠΏΠΎΡΠΏΠΈΡΠΈ, Π»ΠΎΠ·ΠΈΠ½ΠΊΠ΅, ΠΈΡΠ΄. ΠΠΈΡΡ ΠΏΠΎΠ³ΠΎΠ΄Π½Π΅ Π·Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ Π²Π΅Π»ΠΈΠΊΠΈΡ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΊΡΡ, Π»ΠΈΡΡΠΈΠ½Π·ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΡΠ°Π±Π΅Π»Π΅, ΠΈ Π½Π°ΡΠΎΡΠΈΡΠΎ Π³ΡΠ°ΡΠΈΡΠΊΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΠΏΠΎΡΡΠΎ ΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΊΠ²ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Π°ΡΠ° Π»Π°ΠΊΠΎ ΠΎΠ΄ΡΠ΅ΡΡΡΠ΅.
ΠΠ°ΡΠΈΠ½ΠΈ ΡΠ°Π΄Π° Π±Π»ΠΎΠΊ ΡΠΈΡΠ°ΡΠ° β ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΌΠΎΠ΄ΠΎΠ²ΠΈ ΡΠ°Π΄Π° ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΡΠΊΠ° ΠΊΠΎΠ΄Π½Π° ΠΊΡΠΈΠ³Π° (Electronic Codebook, ECB) Π£Π»Π°Π½ΡΠ°Π²Π°ΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ²Π° (Cipher Block Chaining, CBC) Π¨ΠΈΡΡΠ°Ρ Ρ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΎΡ ΡΠΏΡΠ΅Π·ΠΈ (Cipher Feedback, CFB) ΠΠ·Π»Π°Π·Π½ΠΈ Π½ΠΈΠ· Ρ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΎΡ ΡΠΏΡΠ΅Π·ΠΈ (Output Feedback, OFB)
ΠΠ»Π΅ΠΊΡΡΠΎΠ½ΡΠΊΠ° ΠΊΠΎΠ΄Π½Π° ΠΊΡΠΈΠ³Π°
Π£Π»Π°Π½ΡΠ°Π²Π°ΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ²Π°
ΠΠ° ΠΏΠΎΡΠ΅ΡΠΊΡ ΡΠ΅ Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΠ°Ρ ΡΠ²ΠΎΠ΄ΠΈ n Π±ΠΈΡΠ° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½ΠΎΠ³ Π²Π΅ΠΊΡΠΎΡΠ° (IV), ΠΊΠΎΡΠΈ Π½Π΅ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π΄Π΅ΠΆΠΈ Ρ ΡΠ°ΡΠ½ΠΎΡΡΠΈ Π°Π»ΠΈ ΡΠ΅ Π±ΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΡΠ°Π½ Π½Π°ΡΠΈΠ½. Π£ ΠΎΠ²ΠΎΠΌ ΠΌΠΎΠ΄Ρ ΡΠ°Π΄Π°, Π±Π»ΠΎΠΊ-ΡΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠ΅ΡΠ²Π°ΡΠ° Ρ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½Ρ ΡΠΈΡΡΡ, ΡΠ΅Π΄Π½Π°ΠΊΠ΅ ΠΏΠΎΡΡΠΊΠ΅ ΡΠ΅ ΡΠΈΡΡΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ Π½Π°ΡΠΈΠ½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΎΠΌ IV, ΠΏΡΠΎΠΏΠ°Π³Π°ΡΠΈΡΠ° Π³ΡΠ΅ΡΠ°ΠΊΠ° Ρ ΠΏΡΠ΅Π½ΠΎΡΡ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°, Π° ΠΏΡΠΎΡΡΠΎΡ ΠΊΠΎΡΠΈ ΡΠ°Π·Π°ΠΏΠΈΡΠ΅ ΠΊΡΡΡ ΡΠ΅ Π½Π΅ ΠΌΠ΅ΡΠ°.
Π£Π»Π°Π½ΡΠ°Π²Π°ΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ²Π°
Π¨ΠΈΡΡΠ°Ρ Ρ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΎΡ ΡΠΏΡΠ΅Π·ΠΈ
ΠΠ° ΠΏΠΎΡΠ΅ΡΠΊΡ ΡΠ΅ Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΠ°Ρ ΡΠ²ΠΎΠ΄ΠΈ n Π±ΠΈΡΠ° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½ΠΎΠ³ Π²Π΅ΠΊΡΠΎΡΠ° (IV) ΠΊΠΎΡΠΈ Π½Π΅ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π΄ΡΠΆΠΈ Ρ ΡΠ°ΡΠ½ΠΎΡΡΠΈ, Π°Π»ΠΈ ΡΠ΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΡΠ°Π½ Π½Π°ΡΠΈΠ½. ΠΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ ΡΠ΅ Π΄Π΅Π»ΠΈ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΠ΄ ΠΏΠΎ m Π±ΠΈΡΠ°. ΠΠ»ΠΎΠΊΠΎΠ²ΠΈ ΡΠ΅ ΡΠ°Π±ΠΈΡΠ°ΡΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2, Π±ΠΈΡ Π·Π° Π±ΠΈΡ, Π³Π΄Π΅ m ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π°ΡΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ 1 ΠΈ n. ΠΠΎΠΌΠ΅ΡΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΠ°Ρ Π΄ΡΠΆΠΈΠ½Π΅ n Π±ΠΈΡΠ° ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ° ΡΠ»Π΅Π²ΠΎ m Π±ΠΈΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΡΠ²Π°ΠΊΠΎΠ³ Π±Π»ΠΎΠΊΠ°. Π£ ΠΎΠ²ΠΎΠΌ Π½Π°ΡΠΈΠ½Ρ ΡΠ°Π΄Π° Π±Π»ΠΎΠΊ-ΡΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠ΅ΡΠ²Π°ΡΠ° Ρ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½Ρ ΡΠΈΡΡΡ, ΡΠ΅Π΄Π½Π°ΠΊΠ΅ ΠΏΠΎΡΡΠΊΠ΅ ΡΠ΅ ΠΌΠΎΠ³Ρ ΡΠΈΡΡΠΎΠ²Π°ΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ Π½Π°ΡΠΈΠ½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΎΠΎΠΌ Π²Π΅ΠΊΡΠΎΡΠ° IV, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° ΡΠ΅ ΠΏΡΠΎΠΏΠ°Π³Π°ΡΠΈΡΠ° Π³ΡΠ΅ΡΠ°ΠΊΠ° Ρ ΠΏΡΠ΅Π½ΠΎΡΡ, ΠΏΡΠΎΡΡΠΎΡ ΠΊΠΎΡΠΈ ΡΠ°Π·Π°ΠΏΠΈΡΠ΅ ΠΊΡΡΡ Π½Π΅ ΠΌΠ΅ΡΠ° ΡΠ΅, Π° ΡΠΈΡΡΠ° ΡΠ΅ ΡΠ°ΠΌΠΎΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΡΡΡΠ°.
Π¨ΠΈΡΡΠ°Ρ Ρ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΎΡ ΡΠΏΡΠ΅Π·ΠΈ
ΠΠ·Π»Π°Π·Π½ΠΈ Π½ΠΈΠ· Ρ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΎΡ ΡΠΏΡΠ΅Π·ΠΈ
ΠΠ° ΠΏΠΎΡΠ΅ΡΠΊΡ ΡΠ΅ Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΠ°Ρ Π΄ΡΠΆΠΈΠ½Π΅ n Π±ΠΈΡΠ° ΡΠ²ΠΎΠ΄ΠΈ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½ΠΈ Π²Π΅ΠΊΡΠΎΡ (IV) ΠΊΠΎΡΠΈ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π΄ΡΠΆΠΈ Ρ ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ»ΡΡΠ°ΡΠ°Π½. ΠΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ ΡΠ΅ Π΄Π΅Π»ΠΈ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΠ΄ ΠΏΠΎ m Π±ΠΈΡΠ°. ΠΠ»ΠΎΠΊΠΎΠ²ΠΈ ΠΎΠ΄ ΠΏΠΎ m Π±ΠΈΡΠ° ΡΠ΅ ΡΠ°Π±ΠΈΡΠ°ΡΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 2, Π±ΠΈΡ Π·Π° Π±ΠΈΡ, ΠΏΡΠΈ ΡΠ΅ΠΌΡ Π΄ΡΠΆΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π°ΡΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ 1 ΠΈ n. ΠΠΎΠΌΠ΅ΡΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΠ°Ρ Π΄ΡΠΆΠΈΠ½Π΅ n Π±ΠΈΡΠ° ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ° ΡΠ»Π΅Π²ΠΎ m Π±ΠΈΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΡΠ²Π°ΠΊΠΎΠ³ Π±Π»ΠΎΠΊΠ°. Π£ ΠΎΠ²ΠΎΠΌ ΠΌΠΎΠ΄Ρ ΡΠ°Π΄Π°, Π±Π»ΠΎΠΊ-ΡΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠ΅ΡΠ²Π°ΡΠ° Ρ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½Ρ ΡΠΈΡΡΡ, ΠΊΠΎΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΈΡΠ°ΡΡΠΊΠ΅ ΡΠ΅ΠΊΠ²Π΅Π½ΡΠ΅, ΡΠ΅Π΄Π½Π°ΠΊΠ΅ ΠΏΠΎΡΡΠΊΠ΅ ΡΠ΅ ΠΌΠΎΠ³Ρ ΡΠΈΡΡΠΎΠ²Π°ΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ Π½Π°ΡΠΈΠ½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΎΠΌ Π²Π΅ΠΊΡΠΎΡΠ° IV, Π½Π΅ΠΌΠ° ΠΏΡΠΎΠΏΠ°Π³Π°ΡΠΈΡΠ΅ Π³ΡΠ΅ΡΠ°ΠΊΠ°, ΠΏΡΠΎΡΡΠΎΡ ΠΊΠΎΡΠΈ ΡΠ°Π·Π°ΠΏΠΈΡΠ΅ ΠΊΡΡΡ ΡΠ΅ ΡΠ΄Π²ΠΎΡΡΡΡΡΠ°Π²Π° ΠΈ ΡΠΈΡΡΠ° Π½ΠΈΡΠ΅ ΡΠ°ΠΌΠΎΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΡΡΡΠ°.
ΠΠ·Π»Π°Π·Π½ΠΈ Π½ΠΈΠ· Ρ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΎΡ ΡΠΏΡΠ΅Π·ΠΈ
ΠΡΠ»ΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π±Π»ΠΎΠΊ ΡΠΈΡΡΠ΅ ΠΠ΅Π΄ΠΈΠ½ΠΈ Π½Π°ΡΠΈΠ½ Π½Π° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²Π΅ΡΠ°ΡΠΈ ΠΏΡΠΎΡΡΠΎΡ ΠΊΠΎΡΠΈ ΡΠ°Π·Π°ΠΏΠΈΡΠ΅ ΠΊΡΡΡ Π±Π»ΠΎΠΊ-ΡΠΈΡΡΠ΅ ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΌΡΠ»ΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅. Π Π°Π΄ΠΈ ΡΠ΅ ΠΎ ΠΏΠΎΠ½Π°Π²ΡΠ°ΡΡ ΡΠΈΡΡΠ΅ n ΠΏΡΡΠ°, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ n ΠΌΠ΅ΡΡΡΠΎΠ±Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈΡ ΠΊΡΡΡΠ΅Π²Π°.
ΠΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΡΠ΅ Π΄Π° ΡΠ΅ Π½Π° ΠΎΠ²Π°ΠΊΠ°Π² Π½Π°ΡΠΈΠ½ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ ΠΏΠΎΠ²Π΅ΡΠ°Π²Π°, Π°Π»ΠΈ Π½Π΅ ΡΠ²Π΅ΠΊ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π΄ΡΠΆΠΈΠ½ΠΈ ΠΊΡΡΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° DES, Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° Π΄ΡΠΆΠΈΠ½Π° ΠΊΡΡΡΠ° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΈΠ·Π½ΠΎΡΠΈ Π±ΠΈΡΠ°, ΡΠΌΠ΅ΡΡΠΎ 56n. ΠΠ°ΠΈΠΌΠ΅, Π°ΠΊΠΎ Π±ΠΈ n Π±ΠΈΠ»ΠΎ ΡΠ΅Π΄Π½Π°ΠΊΠΎ 3, Π΄ΡΠΆΠΈΠ½Π° ΠΊΡΡΡΠ° Π±ΠΈ Π±ΠΈΠ»Π° 112 Π±ΠΈΡΠ°.
Π’ΡΠ΅Π±Π° ΠΈΠΌΠ°ΡΠΈ Ρ Π²ΠΈΠ΄Ρ ΡΠ°ΠΊΠΎΡΠ΅ Π΄Π° ΡΠ°ΠΊΠΎ ΡΠΏΡΠ΅Π³Π½ΡΡΠ° ΡΠΈΡΡΠ° Π½Π΅ ΡΠΌΠ΅ Π΄Π° ΡΠΎΡΠΌΠΈΡΠ° Π°Π»Π³Π΅Π±Π°ΡΡΠΊΡ Π³ΡΡΠΏΡ. Π£ ΡΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ Π±ΠΈ Π΄Π²Π΅ ΡΡΠΊΡΠ΅ΡΠΈΠ²Π½Π΅ ΡΠΈΡΡΠ΅ ΡΠ° Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ° ΠΊΡΡΡΠ° Π±ΠΈΠ»Π΅ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π΅ ΡΠ΅Π΄Π½ΠΎΡ ΡΠ΅Π΄ΠΈΠ½ΠΎΡ ΡΠΈΡΡΠΈ. ΠΠΎΠΆΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠΈ Π΄Π° Π½ΠΈ DES Π½ΠΈ Rijndael Π½Π΅ ΡΠΈΠ½Π΅ Π°Π»Π³Π΅Π±Π°ΡΡΠΊΡ Π³ΡΡΠΏΡ ΠΏΡΠΈ ΠΌΡΠ»ΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΈ.
Triple DES (ili 3DES)
ΠΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΈ ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π¨ΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΠ½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ ΡΠ΅ ΡΠ°ΠΌΠΈΠ»ΠΈΡΠ° ΠΏΠ°ΡΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π·Π° ΡΠ²Π°ΠΊΠΈ ΠΊΡΡΡ k ΠΈΠ· ΡΠΊΡΠΏΠ° ΠΊΡΡΡΠ΅Π²Π° K, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° Π½Π° ΡΠ»Π΅Π΄Π΅ΡΠΈ Π½Π°ΡΠΈΠ½:
M ΠΈ X ΡΡ ΡΠΊΡΠΏΠΎΠ²ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²Π° ΠΈ ΡΠΈΡΡΠ°ΡΠ°, ΡΠ΅ΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΠ° ΡΠ²Π°ΠΊΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡ m ΠΈΠ· M Π²Π°ΠΆΠΈ:
ΠΠ° Π±ΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΎ ΠΎΠ²Π°ΠΊΠ°Π² ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ A ΠΈ B ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅ Π΄Π° ΡΠ·ΠΌΡ ΡΠ°ΡΠ½ΠΈ ΠΊΡΡΡ k ΠΈΠ· K. ΠΠΊΠΎ A ΠΆΠ΅Π»ΠΈ Π΄Π° ΠΏΠΎΡΠ°ΡΠ΅ ΠΏΠΎΡΡΠΊΡ m ΠΈΠ· M ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B, ΡΠΈΡΡΡΡΠ΅ ΡΠ΅ ΠΏΠΎΠΌΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Ek, ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ c ΡΠ΅ ΡΠ°ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B. ΠΠ° Π±ΠΈ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Ρ ΠΏΠΎΡΡΠΊΡ, B Π΄Π΅ΡΠΈΡΡΡΡΠ΅ ΠΏΡΠΈΠΌΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ°Ρ c ΠΏΠΎΠΌΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Dk,
Π£ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠΈ ΡΠ΅ ΡΠΌΠ°ΡΡΠ° βΠ»Π°ΠΊΠΈΠΌ" ΠΏΡΠΎΡΠ°ΡΡΠ½ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΈΠ·Π²ΡΡΠΈΡΠΈ Ρ ΠΊΡΠ°ΡΠΊΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Ρ. ΠΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΊΠΎΡΠΈ ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠ΅ΡΠΈΡΠΈ Ρ ΠΏΡΠΈΡ Π²Π°ΡΡΠΈΠ²ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ Π½Π°ΡΠ±ΠΎΡΠΈ ΠΏΠΎΠ·Π½Π°ΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ ΠΈ Π½Π°ΡΠ±ΠΎΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ²Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ βΡΠ΅ΡΠΊΠΈ" ΠΈΠ»ΠΈ βΠΈΠ½ΡΡΠ°ΠΊΡΠ°Π±ΠΈΠ»Π½ΠΈ". ΠΠ°ΡΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΌΠΎΡΠ°ΡΡ Π±ΠΈΡΠΈ βΠ»Π°ΠΊΠΈ" Π·Π° ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΠ΅ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ΅ ΠΈ ΠΌΠΎΡΠ°Π»ΠΈ Π±ΠΈ Π±ΠΈΡΠΈ βΡΠ΅ΡΠΊΠΈ" Π·Π° ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΠ΅ Π·Π° ΠΊΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΡΠ°ΡΠ° ΠΊΠΎΡΠΈ ΠΏΠΎΠ·Π½Π°ΡΠ΅ ΡΠ°ΠΌΠΎ c, ΡΠ°ΠΊΠΎ Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ Π½ΠΈ m Π½ΠΈ k.
ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠΈ ΡΠ° ΡΠ°ΡΠ½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° ΠΊΡΡΡΠ΅Π²Π° β Π΄Π²Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° ΠΌΠΎΡΠ°ΡΡ Π΄Π° ΠΈΠ·Π°Π±Π΅ΡΡ ΡΠ°ΡΠ½ΠΈ ΠΊΡΡΡ ΠΏΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΊΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΈ Π΄Π° Π·Π° ΡΠ΅Π³ΠΎΠ²ΠΎ ΠΏΡΠ΅Π½ΠΎΡΠ΅ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ ΡΠΈΠ³ΡΡΠ°Π½ ΠΊΠ°Π½Π°Π». ΠΠ²Π°ΠΊΠ°Π² ΡΠΈΠ³ΡΡΠ°Π½ ΠΊΠ°Π½Π°Π» Π½ΠΈΡΠ΅ ΡΠ²Π΅ΠΊ Π½Π° ΡΡΠΏΠΎΠ»Π°Π³Π°ΡΡ.
ΠΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡΠ° ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° β Π£ ΠΌΡΠ΅ΠΆΠΈ ΡΠ° n ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ°, ΡΠ²Π°ΠΊΠΈ ΠΏΠ°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° ΠΌΠΎΡΠ° Π΄Π° ΠΈΠΌΠ° ΡΠ²ΠΎΡ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΡΠ°ΡΠ½ΠΈ ΠΊΡΡΡ, ΡΡΠΎ ΡΠΈΠ½ΠΈ ΡΠΊΡΠΏΠ½ΠΎ ΠΊΡΡΡΠ΅Π²Π° Π·Π° ΡΡ ΠΌΡΠ΅ΠΆΡ. ΠΠ΅ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ° β Π£ ΡΠΈΡΠ°ΡΡΠΊΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ° ΡΠ° ΡΠ°ΡΠ½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° Π½Π΅ΠΌΠ° ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΎΠΏΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ, Π·Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎ ΠΏΠΎΡΠΏΠΈΡΠΈΠ²Π°ΡΠ΅ ΠΏΠΎΡΡΠΊΠ°, ΡΠ°ΠΊΠΎ Π΄Π° ΠΎΠ½Π°Ρ ΠΊΠΎΡΠΈ ΠΏΡΠΈΠΌΠ° ΠΏΠΎΡΡΠΊΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠΈΠ³ΡΡΠ°Π½ Π΄Π° ΡΠ΅ ΠΎΠ½Π°Ρ ΠΊΠΎΡΠΈ ΠΌΡ ΡΠ΅ ΠΏΠΎΡΠ»Π°ΠΎ ΠΏΠΎΡΡΠΊΡ Π·Π°ΠΈΡΡΠ° ΡΠ΅Π½ Π°ΡΡΠΎΡ.
ΠΠΎΡΠ°ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ Π Π°Π΄ΠΈ ΡΠ²ΠΎΡΠ΅ΡΠ° ΡΠΈΡΠ°ΡΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ°, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ΅ ΡΠ΅ ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° (One-Way Function, OWF) ΡΠ°ΠΊΠ²Π° Π΄Π° ΡΠ΅ βΠ»Π°ΠΊΠΎ" ΠΈΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ Π΄ΠΎΠΊ ΡΠ΅ βΡΠ΅ΡΠΊΠΎ" ΠΈΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ ΠΠ° ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Ρ ΡΡΠ½ΠΊΡΠΈΡΡ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ Π΄Π° ΠΏΠΎΡΠ΅Π΄ΡΡΠ΅ Π·Π°ΠΌΠΊΡ (Trapdoor One-Way Function, TOF) Π°ΠΊΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π»Π°ΠΊΠΎ ΠΈΠ½Π²Π΅ΡΡΠΎΠ²Π°ΡΠΈ ΠΏΠΎΠ΄ ΡΡΠ»ΠΎΠ²ΠΎΠΌ Π΄Π° ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°. Π’Π°ΠΊΠ²Π° Π΄ΠΎΠ΄Π°ΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΡΠ΅ Π½Π°Π·ΠΈΠ²Π° Π·Π°ΠΌΠΊΠ°.
Π¨ΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ΅ ΠΊΠ°ΠΎ ΡΠ°ΠΌΠΈΠ»ΠΈΡΠ° ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ° Π·Π°ΠΌΠΊΠΎΠΌ, Π·Π° ΡΠ²Π°ΠΊΠΈ ΠΊΡΡΡ k ΠΈΠ· K, ΡΠ°ΠΊΠ²Π° Π΄Π° ΡΠ΅ Π·Π°ΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅ Π»Π°ΠΊΠΎ ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠΈ. ΠΠ° ΡΠ²Π°ΠΊΠΎ k ΠΈΠ· K ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠΈ Π΅ΡΠΈΠΊΠ°ΡΠ°Π½ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΠ΅ Π°Π»ΠΈ ΡΠ°ΠΊΠ°Π² Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ΅ΡΠΈΠ²Π°ΡΠ΅ k ΠΈ ΠΈΠ½ΡΡΠ°ΠΊΡΠ°Π±ΠΈΠ»Π½ΠΎ.
Π Π°Π΄ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΡΠ°ΡΡΠΊΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ, Π°ΠΊΠΎ ΡΠ΅ Π΄Π°ΡΠ° ΡΠ°ΠΌΠΈΠ»ΠΈΡΠ° ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ° Π·Π°ΠΌΠΊΠΎΠΌ, ΡΠ²Π°ΠΊΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ U ΠΈΠ·Π°Π±Π΅ΡΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΡΠ°Π½ Π½Π°ΡΠΈΠ½ ΠΊΡΡΡ u ΠΈΠ· K ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΡΠ΅ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠΎΠ³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ°ΡΡΠ½Π° ΡΠ΅ ΡΠ΅Π³ΠΎΠ² ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ, Π΄ΠΎΠΊ ΡΠ΅ Π·Π°ΠΌΠΊΠ° Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½Π° Π·Π° ΠΈΠ½Π²Π΅ΡΡΠΎΠ²Π°ΡΠ΅ ΡΠ΅Π³ΠΎΠ² ΡΠ°ΡΠ½ΠΈ ΠΊΡΡΡ.
ΠΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ A ΠΆΠ΅Π»ΠΈ Π΄Π° ΠΏΠΎΡΠ°ΡΠ΅ ΠΏΠΎΡΡΠΊΡ m Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B, ΠΏΡΠΎΠ½Π°ΡΠ΅ Ρ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠ°Π²Π½ΠΈΡ ΠΊΡΡΡΠ΅Π²Π° ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° B, ΠΈ ΠΏΠΎΡΠ°ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B. ΠΠ°ΠΊΠΎ ΡΠ΅Π΄ΠΈΠ½ΠΎ B ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ½Π²Π΅ΡΡΡΡΠ΅ ΡΠ΅Π΄ΠΈΠ½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ ΠΏΠΎΡΡΠΊΡ m
ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ° ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° ΡΠ°ΡΡΠΎΡΠΈ ΡΠ΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ Π½ΠΈΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Π½Π° Π΅Π³Π·ΠΈΡΡΠ΅Π½ΡΠΈΡΠ° Π½ΠΈ ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΠ° Π½ΠΈ ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ° Π·Π°ΠΌΠΊΠΎΠΌ. Π£ΠΏΡΠΊΠΎΡ ΡΠΎΠΌΠ΅, ΠΏΠΎΡΡΠΎΡΠ΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ ΡΠΌΠ°ΡΡΠ°ΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈΠΌΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠΌΠ΅Π½ΡΡΠΈΠΌ ΡΠ²ΠΎΡΡΡΠ²ΠΈΠΌΠ°. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ ΡΠ΅Π»ΠΈΡ Π±ΡΠΎΡΠ΅Π²Π°, ΡΠΈΡΠ° ΠΈΠ½Π²Π΅ΡΠ·Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ° Π΄ΠΎΠ±ΠΈΡΠ΅Π½ΠΎΠ³ Π±ΡΠΎΡΠ°, ΠΠΈΡΠΊΡΠ΅ΡΠ½Π° Π΅ΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ°ΡΠΈΡΠ°, ΡΠΈΡΠ° ΡΠ΅ ΠΈΠ½Π²Π΅ΡΠ·Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ Π»ΠΎΠ³Π°ΡΠΈΡΠ°ΠΌ. ΠΠ²Π΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΡΡ Π»Π°ΠΊΠ΅ Π·Π° ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΠ΅, Π΄ΠΎΠΊ ΡΠ΅ Π²Π΅ΡΡΡΠ΅ Π΄Π° ΡΠΎ Π½ΠΈΡΠ΅ ΡΠ»ΡΡΠ°Ρ ΡΠ° ΡΠΈΡ ΠΎΠ²ΠΈΠΌ ΠΈΠ½Π²Π΅ΡΠ·Π½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠ°ΠΌΠ°.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅ Π΄Π°Ρ Π±ΡΠΎΡ n, Π²Π΅ΡΡΡΠ΅ ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠΈ ΡΠ΅Π³ΠΎΠ²Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡΡ Π½Π° ΠΏΡΠΎΡΡΠ΅ ΡΠ°ΠΊΡΠΎΡΠ΅ ΠΈ, ΡΠ° Π΄ΡΡΠ³Π΅ ΡΡΡΠ°Π½Π΅, Π°ΠΊΠΎ ΡΡ Π΄Π°ΡΠΈ Π±ΡΠΎΡΠ΅Π²ΠΈ a ΠΈ b, Π²Π΅ΡΡΡΠ΅ ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΈΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ x ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΠ° ΡΠ°Ρ Π½Π°ΡΠΈΠ½, ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° ΠΊΠΎΡΠΈ ΡΠ΅ Π΄Π°Π½Π°Ρ ΠΊΠΎΡΠΈΡΡΠ΅ Ρ ΠΏΡΠ°ΠΊΡΠΈ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ Π±ΡΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΠ³ Π΄Π° Π±ΠΈ ΡΠ΅ ΠΈΠ½Π²Π΅ΡΡΠΎΠ²Π°Π»Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ²Π΅ΠΊ Π½ΠΈΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π° Π½Π΅ ΠΏΠΎΡΡΠΎΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° ΡΠΈΡ ΠΎΠ²ΠΎ Π»Π°ΠΊΠΎ ΠΈΠ½Π²Π΅ΡΡΠΎΠ²Π°ΡΠ΅.
ΠΠΎΡΠ°ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° ΡΠ²Π΅Π»ΠΈ ΡΡ Diffie ΠΈ Hellman 1976 ΠΠ²Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ°, A ΠΈ B, ΠΈΠ·Π°Π±Π΅ΡΡ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ½Π°ΡΠ½Ρ ΠΌΡΠ»ΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½Ρ Π³ΡΡΠΏΡ, G, ΡΠ΅Π΄Π° n ΠΈ ΡΠ΅Π΄Π°Π½ ΡΠ΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ A Π³Π΅Π½Π΅ΡΠΈΡΠ΅ ΡΠ»ΡΡΠ°ΡΠ°Π½ Π±ΡΠΎΡ a, ΠΈΠ·ΡΠ°ΡΡΠ½Π° Ρ G ΠΈ ΠΏΠΎΡΠ°ΡΠ΅ ΠΎΠ²Π°Ρ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B.
B Π³Π΅Π½Π΅ΡΠΈΡΠ΅ ΡΠ»ΡΡΠ°ΡΠ°Π½ Π±ΡΠΎΡ b, ΠΈΠ·ΡΠ°ΡΡΠ½Π° Ρ G ΠΈ ΠΏΠΎΡΠ°ΡΠ΅ ΠΎΠ²Π°Ρ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ A. A ΠΏΡΠΈΠΌΠΈ ΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π° Ρ G . B ΠΏΡΠΈΠΌΠΈ ΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π° Ρ G. ΠΠ° ΡΠ°Ρ Π½Π°ΡΠΈΠ½, A ΠΈ B ΠΏΠΎΡΠ΅Π΄ΡΡΡ Π·Π°ΡΠ΅Π΄Π½ΠΈΡΠΊΠΈ ΡΠ°ΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· Π³ΡΡΠΏΠ΅ G ΠΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΡΠ°Ρ S ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ·Π½Π°ΡΠ΅ G, n, ΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠ·ΡΠ°ΡΡΠ½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΡΠ΅ ΡΠ°Ρ ΠΏΡΠΎΡΠ°ΡΡΠ½ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ°Π½ ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠ°. ΠΠ°ΡΠΎ ΡΠ΅ Π²Π΅ΡΡΡΠ΅ Π΄Π° ΡΠ΅ βΡΠ΅ΠΆΠ°ΠΊ".
ΠΡΠΈΠΌΠ΅Ρ ΠΠ΅ΠΊΠ° ΡΠ΅ p ΠΏΡΠΎΡΡ Π±ΡΠΎΡ 53. ΠΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈ Π½Π΅ΠΊΠ° ΡΠ΅ ΡΠ΅Π΄Π°Π½ ΠΎΠ΄ ΡΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΡΠΎΡΠΎΠΊΠΎΠ» Diffie-Hellman ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠΈ Π½ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°: A Π±ΠΈΡΠ° ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π° ΠΈ ΡΠ°ΡΠ΅ 45 ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B.
B Π±ΠΈΡΠ° ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π° ΠΈ ΡΠ°ΡΠ΅ 12 ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ A. A ΠΏΡΠΈΠΌΠ° 12 ΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π° B ΠΏΡΠΈΠΌΠ° 45 ΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π° ΠΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ ΠΈΠ»ΠΈ ΡΠ°ΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΊΠΎΡΡ ΡΠ°Π΄Π° Π΄Π΅Π»Π΅ A ΠΈ B ΡΠ΅ 21.
ΠΡΠΈΠΏΡΠΎΠ°Π½Π°Π»ΠΈΡΠΈΡΠ°Ρ S ΠΏΠΎΠ·Π½Π°ΡΠ΅ , 2, 45 i 12, Π°Π»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΊΠΎΡΡ Π΄Π΅Π»Π΅ A ΠΈ B ΡΠ΅Π΄Π½Π°ΠΊΠ° 21 Π·Π°ΡΠΎ ΡΡΠΎ ΠΌΠΎΡΠ° Π΄Π° ΠΈΠ·ΡΠ°ΡΡΠ½Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ Π»ΠΎΠ³Π°ΡΠΈΡΠ°ΠΌ Π΄Π° Π±ΠΈ ΡΠΎ ΠΎΠ΄ΡΠ΅Π΄ΠΈΠΎ.
Rivest-Shamir-Adleman (RSA) Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π‘Π²Π°ΠΊΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ U ΠΈΠ·Π°Π±Π΅ΡΠ΅ Π΄Π²Π° ΠΏΡΠΎΡΡΠ° Π±ΡΠΎΡΠ° (Π΄Π°Π½Π°Ρ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΡΠ΅ Π΄Π° ΡΠΈ Π±ΡΠΎΡΠ΅Π²ΠΈ ΠΈΠΌΠ°ΡΡ Π²ΠΈΡΠ΅ ΠΎΠ΄ 200 ΡΠΈΡΠ°ΡΠ°) p ΠΈ q ΠΈ ΡΠ°ΡΡΠ½Π° Π’ΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΡΠ΅ Π³ΡΡΠΏΠ° ΠΊΠΎΡΡ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ U
Π Π΅Π΄ ΡΠ΅ Π³ΡΡΠΏΠ΅ ΡΠ΅: ΠΠΎΡΠΈΡΠ½ΠΈΠΊΡ U ΡΠ΅ Π»Π°ΠΊΠΎ Π΄Π° ΠΈΠ·ΡΠ°ΡΡΠ½Π° ΠΎΠ²Π°Ρ ΡΠ΅Π΄, ΠΏΠΎΡΡΠΎ Π·Π½Π° p ΠΈ q. ΠΠ°ΡΠΈΠΌ U ΠΈΠ·Π°Π±Π΅ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π°Π½ Π±ΡΠΎΡ e, ΡΠ°ΠΊΠ°Π² Π΄Π° ΡΠ΅ ΡΠ·Π°ΡΠ°ΠΌΠ½ΠΎ ΠΏΡΠΎΡΡ ΡΠ° ΡΠ΅Π΄ΠΎΠΌ Π³ΡΡΠΏΠ΅, ΡΡ. ΡΠ°ΠΊΠ°Π² Π΄Π° ΡΠ΅ ΠΠΠ
ΠΠΎΠΌΠΎΡΡ Π³Π΅Π½Π΅ΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΡΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎΠ³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ U ΠΈΠ·ΡΠ°ΡΡΠ½Π° ΠΈΠ½Π²Π΅ΡΠ·Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΠ΄ e Ρ , d. ΠΠ½Π°ΡΠΈ ΠΏΡΠΈ ΡΠ΅ΠΌΡ ΡΠ΅ ΠΠ°Π²Π½ΠΈ ΠΊΡΡΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° U ΡΠ΅ ΠΏΠ°Ρ Π΄ΠΎΠΊ ΡΠ΅ ΡΠ΅Π³ΠΎΠ² ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ Π±ΡΠΎΡ d. ΠΡΠΎΡΠ΅Π²ΠΈ p, q ΠΈ ΡΠ°ΠΊΠΎΡΠ΅ ΠΌΠΎΡΠ°ΡΡ Π΄Π° ΡΠ΅ Π΄ΡΠΆΠ΅ Ρ ΡΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ A ΠΆΠ΅Π»ΠΈ Π΄Π° ΠΏΠΎΡΠ°ΡΠ΅ ΠΏΠΎΡΡΠΊΡ m ΠΈΠ· M Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B, ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° B, Π΄Π° Π±ΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π°ΠΎ Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΊΠΎΡΡ ΡΠ°ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B. ΠΠ° Π±ΠΈ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°ΠΎ ΠΏΠΎΡΡΠΊΡ, B ΡΠ°ΡΡΠ½Π°
ΠΡΠΈΠΌΠ΅Ρ: Π Π°Π·ΠΌΠΎΡΡΠΈΠΌΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π°Π»ΡΠ°Π±Π΅ΡΠ° ΠΊΠΎΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ΅ ΡΠ»ΠΎΠ²Π° A Π΄ΠΎ Z Ρ Π±ΡΠΎΡΠ΅Π²Π΅ 0 Π΄ΠΎ 25 (ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ΠΌΠΎ Π΅Π½Π³Π»Π΅ΡΠΊΠΈ Π°Π»ΡΠ°Π±Π΅Ρ). ΠΠ΅Π»ΠΈΠΌΠΎ Π΄Π° ΠΏΠΎΡΠ°ΡΠ΅ΠΌΠΎ ΠΏΠΎΡΡΠΊΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B. ΠΠΎΡΠΈΡΠ½ΠΈΠΊ B Π±ΠΈΡΠ° Π΄Π²Π° ΠΏΡΠΎΡΡΠ° Π±ΡΠΎΡΠ°: ΠΈ , ΡΠ°ΡΡΠ½Π° ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΡΠ°Π΄ΠΈ ΡΠ° Π³ΡΡΠΏΠΎΠΌ
Π Π΅Π΄ ΠΎΠ²Π΅ Π³ΡΡΠΏΠ΅ ΡΠ΅: B Π±ΠΈΡΠ° Π±ΡΠΎΡ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΡΡΠ΅ Π΄Π° ΡΠ΅ ΠΠΠ ΠΠ°ΡΠΈΠΌ ΠΎΠ΄ΡΠ΅ΡΡΡΠ΅ ΠΈΠ½Π²Π΅ΡΠ·Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΠ΄ 39423 ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ 46480. ΠΠ²Π°Ρ Π±ΡΠΎΡ ΡΠ΅ ΠΠ½Π°ΡΠΈ ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° B ΡΠ΅: Π΄ΠΎΠΊ ΠΎΡΡΠ°Π»Π΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π΄ΡΠΆΠΈ Ρ ΡΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ° Π±ΠΈΡΠΌΠΎ ΠΏΠΎΡΠ»Π°Π»ΠΈ ΠΏΠΎΡΡΠΊΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B, ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° ΠΎΠ΄ΡΠ΅Π΄ΠΈΠΌΠΎ Π½Π° ΠΏΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΡΡ ΡΠ΅Π½Ρ Π΄ΡΠΆΠΈΠ½Ρ. ΠΠΌΠ°ΡΠ΅ΠΌΠΎ Ρ Π²ΠΈΠ΄Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ΅ ΡΠ»ΠΎΠ²Π° Π°Π»ΡΠ°Π±Π΅ΡΠ° Π²ΡΡΠΈ Ρ Π±Π°Π·ΠΈ 26. ΠΠ°ΠΊΠΎ ΠΏΠΎΡΡΠΊΠ° ΠΌΠΎΡΠ° Π΄Π° Π±ΡΠ΄Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π³ΡΡΠΏΠ΅ ΡΠ° ΠΊΠΎΡΠΎΠΌ ΡΠ°Π΄ΠΈΠΌΠΎ, ΡΠ΅Π½Π° Π΄ΡΠΆΠΈΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΠΠ°ΡΠΎ Π°ΠΊΠΎ ΡΠ΅ ΠΈΠΌΠ° Ρ Π²ΠΈΠ΄Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½Π°ΡΠ²ΠΈΡΠ΅ ΡΡΠΈ ΡΠ»ΠΎΠ²Π°.
ΠΠΊΠΎ ΠΆΠ΅Π»ΠΈΠΌΠΎ Π΄Π° ΠΏΠΎΡΠ°ΡΠ΅ΠΌΠΎ Π΄ΡΠΆΡ ΠΏΠΎΡΡΠΊΡ, ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠΎ Π½Π° Π³ΡΡΠΏΠ΅ ΠΎΠ΄ ΠΏΠΎ ΡΡΠΈ ΡΠ»ΠΎΠ²Π°. Π£ ΠΏΡΠ°ΠΊΡΠΈ ΡΠ΅ Π΄ΡΠΆΠΈΠ½Π° ΠΏΠΎΡΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ°, ΠΏΠΎΡΡΠΎ ΡΠ΅ n Π±ΡΠΎΡ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠ΅ ΡΠΈΡΠ°ΡΠ°.
ΠΠΊΠΎ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΆΠ΅Π»ΠΈΠΌΠΎ Π΄Π° ΠΏΠΎΡΠ°ΡΠ΅ΠΌΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B ΠΏΠΎΡΡΠΊΡ m="YES", ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ°: ΠΡΠ΅ΡΠΏΠΎΡΡΠ°ΠΈΠΌΠΎ Π΄Π° ΡΠΌΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ A ΡΠΈΡΠΈ ΡΠ΅ ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ ΠΈ ΡΠΈΡΠΈ ΡΠ΅ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ ΠΏΡΠΈ ΡΠ΅ΠΌΡ ΡΠ΅ ΠΠ° Π±ΠΈΡΠΌΠΎ ΠΏΠΎΡΠ»Π°Π»ΠΈ ΠΏΠΎΡΡΠΊΡ m, ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΠ΄ΡΡΠ΅ΠΌΠΎ, ΡΡ. Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΠΈΠΌΠΎ Ρ Π±Π°Π·ΠΈ 26 ΡΠ°ΠΊΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π³ΡΡΠΏΠ΅ ΠΊΠΎΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΠΏΡΠΈΠΏΠ°Π΄Π°
Π‘Π°Π΄Π° ΡΠΈΡΡΡΡΠ΅ΠΌΠΎ m ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° B: ΠΠ΅ΠΊΠΎΠ΄ΡΡΠ΅ΠΌΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½Ρ ΠΏΠΎΡΡΠΊΡ: ΠΠ½Π°ΡΠΈ, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ B ΡΠ΅ ΡΠ°ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠΈ ΡΠ΅ΠΊΡΡ: "BFIC".
ΠΠ° Π±ΠΈ B ΠΌΠΎΠ³Π°ΠΎ Π΄Π° ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ ΠΏΠΎΡΡΠΊΡ, ΠΌΠΎΡΠ° Π΄Π° ΠΊΠΎΠ΄ΡΡΠ΅ ΠΏΡΠΈΠΌΡΠ΅Π½Π΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Ρ Π±Π°Π·ΠΈ 26, Π° Π·Π°ΡΠΈΠΌ Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΡΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅: Π‘Π°Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ΅ m m ΡΠ΅ Π΄Π΅ΠΊΠΎΠ΄ΡΡΠ΅ ΠΈ Π΄ΠΎΠ±ΠΈΡΠ° ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ ΡΠ΅ΠΊΡΡ
Π£ ΠΏΡΠ°ΠΊΡΠΈ, ΡΠ°Π΄ΠΈ ΡΠΌΠ°ΡΠ΅ΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Ρ ΡΠΈΡΠ°ΡΡΠΊΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ RSA, ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ΅ Π±ΠΈΡΠ° ΠΌΠ°Π»ΠΈ ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ, ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΠ»Π°ΡΠΈ Π½Π° Π½Π°ΡΠ±ΡΠΆΠΈ ΠΌΠΎΠ³ΡΡΠΈ Π½Π°ΡΠΈΠ½. ΠΠ½ΠΎΠ³ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ ΡΠ½ΡΡΠ°Ρ ΡΠ²ΠΎΡΠΈΡ ΡΠ°Π²Π½ΠΈΡ ΠΊΡΡΡΠ΅Π²Π° ΠΈΡΡΠΈ Π΅ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ (Π½Π°ΡΡΠ΅ΡΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ Π΅ΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΡ 3 ΠΈ 216+1). ΠΠ²Π° ΡΠΈΡΠ΅Π½ΠΈΡΠ° Π½Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ ΡΠΈΡΠ°ΡΡΠΊΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π΄Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ ΠΏΠΎΡΡΠΊΠ° Π±ΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΠΆΠ΅ Π½Π΅Π³ΠΎ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅.
Π‘Π° Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌΡΠΊΠ΅ ΡΠ°ΡΠΊΠ΅ Π³Π»Π΅Π΄ΠΈΡΡΠ°, Π°ΠΊΠΎ ΡΠ΅ k Π±ΡΠΎΡ Π±ΠΈΡΠ° ΠΌΠΎΠ΄ΡΠ»Π° n, Π·Π° ΠΈΠ·Π²ΡΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ ΠΊΠΎΡΠ°ΠΊΠ°, Π° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΡΡΡΠ΅Π²Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ ΠΊΠΎΡΠ°ΠΊΠ°. ΠΠ±ΠΎΠ³ ΡΠΎΠ³Π° ΡΠ΅ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΈ ΡΠΎΡΡΠ²Π΅ΡΠ° ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ ΡΠ° ΡΠ°ΡΠ½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ DES Π½Π°ΡΠΌΠ°ΡΠ΅ 100 ΠΏΡΡΠ° Π±ΡΠΆΠΈ ΠΎΠ΄ RSA, Π° Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΈ Ρ Π°ΡΠ΄Π²Π΅ΡΠ° DES ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡ 1000 ΠΈ 10000 ΠΏΡΡΠ° Π±ΡΠΆΠΈ ΠΎΠ΄ RSA. ΠΠΏΠ°ΠΊ, ΡΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ RSA ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Ρ ΠΏΡΠ°ΠΊΡΠΈ Π·Π° ΠΏΠΎΡΡΠ΅Π±Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ°.
Primer zadatka: Parametri RSA algoritma. Operacije sa privatnim i javnim kljuΔem. Ukoliko su vrednosti parametara u RSA algoritmu: p=17, q=11, javni eksponent e=3. Odrediti vrednost parametra n (modulus) i privatnog eksponenta d?
ReΕ‘enje: a) Parametri RSA algoritma su: p, q, dva prosta broja (privatni, generisani). n=p*q (javni, izraΔunava se) e pri Δemu NZD((p-1)*(q-1),e)=1 (javni, odabira se) d *eοΊ1mod (p-1)*(q-1), (privatni, izraΔunava se)
ReΕ‘enje: Operacije sa privatnim i javnim kljuΔem. Javni kljuΔ KU={e,n} Privatni kljuΔ KR={d} vaΕΎeΔe su sledeΔe relacije za poruke otvorenog teksta M za poruke Ε‘ifrata C, i celobrojne vrednosti e i d operacija sa javnim kljuΔem: operacija sa privatnim kljuΔem:
ReΕ‘enje: c) Modulus n = p*q => n=17*11=187 tj. 3 * d mod (17-1)*(11-1) = 1, 3 * d mod 160 = 1 Niz brojeva x za koje je x mod 160 =1 je 161 mod 160 =1, 321 mod 160 =1, 481 mod 160 =1, 641 mod 160 =1, 801 mod 160 =1, . stoga proizvod 3*d je najmanji broj x koji zadovoljava da je 3*d = x gde je d celobrojna pozitivna vrednost tj. Prvi kandidat 3*d = 161 => ne postoji ceo broj d koji zadovoljava jednaΔinu SledeΔi kandidat 3*d = 321 => d = 321/3 = 107.
Hash ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π¨ΠΈΡΠ°ΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ°, ΠΊΠ°ΠΎ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡ ΠΌΠΎΠ³Ρ Π±ΠΈΡΠΈ Π²Π΅ΠΎΠΌΠ° ΡΠΏΠΎΡΠΈ. Π’Π°ΠΊΠΎΡΠ΅, Ρ Π½Π΅ΠΊΠΈΠΌ ΡΠ»ΡΡΠ°ΡΠ΅Π²ΠΈΠΌΠ°, Π΄ΡΠΆΠΈΠ½Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ Π²Π΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π΄Π½Π°ΠΊΠ° Π΄ΡΠΆΠΈΠ½ΠΈ ΡΠ°ΠΌΠ΅ ΠΏΠΎΡΡΠΊΠ΅ ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΡΡΠ΅. ΠΠ° Π±ΠΈ ΡΠ΅ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ ΡΠ΅ hash ΡΡΠ½ΠΊΡΠΈΡΠ΅.
Hash ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ ΠΈΠ·ΡΠ°ΡΡΠ½ΡΠΈΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΊΠΎΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½Π° Π½Π° ΠΏΠΎΡΡΠΊΡ m ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ Π΄ΡΠΆΠΈΠ½Π΅ Π΄Π°ΡΠ΅ ΡΠ΅Π½Ρ ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΡ (ΠΎΡΠΈΡΠ°ΠΊ) ΡΠΈΠΊΡΠ½Π΅ Π΄ΡΠΆΠΈΠ½Π΅ ΠΊΠΎΡΠ° ΡΠ΅ Π½Π°Π·ΠΈΠ²Π° ΡΠ΅Π½ΠΎΠΌ hash Π²ΡΠ΅Π΄Π½ΠΎΡΡΡ. Hash ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΡ Π½Π° ΡΠ»Π΅Π΄Π΅ΡΠΈ Π½Π°ΡΠΈΠ½: Π£ ΠΎΠΏΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ, ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΡ Π΄ΠΈΠΌΠ΅Π½Π·ΠΈΡΠ° ΠΎΠ΄ m. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, m ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π΄ΡΠΆΠΈΠ½Ρ ΠΎΠ΄ ΡΠ΅Π΄Π½ΠΎΠ³ ΠΌΠ΅Π³Π°Π±Π°ΡΡΠ°, Π΄ΠΎΠΊ ΠΌΠΎΠΆΠ΅ ΠΈΠΌΠ°ΡΠΈ ΡΠ²Π΅Π³Π° 128 ΠΈΠ»ΠΈ 160 Π±ΠΈΡΠ°.
ΠΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Π° hash ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ hash ΡΡΠ½ΠΊΡΠΈΡΠ° H Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ Π·Π° ΡΠ²Π°ΠΊΡ ΠΊΠΎΠΌΠΏΡΠΈΠΌΠΎΠ²Π°Π½Ρ ΠΏΠΎΡΡΠΊΡ ΡΠ΅ΡΠΊΠΎ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°ΡΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Ρ ΠΏΠΎΡΡΠΊΡ m Π·Π° ΠΊΠΎΡΡ Π²Π°ΠΆΠΈ ΠΠ°ΠΊΠ»Π΅, ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Π° hash ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ hash ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΈ ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Π° (One Way). ΠΠΊΠΎ ΡΠ΅ hash ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅Π΄Π½ΠΎΡΠΌΠ΅ΡΠ½Π°, ΡΡ. Π’Π΅ΡΠΊΠ° Π·Π° ΠΈΠ½Π²Π΅ΡΡΠΎΠ²Π°ΡΠ΅, ΡΠ°ΠΊΠΎΡΠ΅ ΡΠ΅ Π½Π°Π·ΠΈΠ²Π° ΠΈ ΡΠ΅Π·ΠΈΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠ° (Message-digest function). Π£ ΡΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ, ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅Π½ΠΎ ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π°Π·ΠΈΠ²Π° ΡΠ΅Π·ΠΈΠΌΠ΅ ΠΎΠ΄ m, ΠΈΠ»ΠΈ ΠΎΡΠΈΡΠ°ΠΊ ΠΏΠΎΡΡΠΊΠ΅ m.
Π£ΠΏΠΎΡΡΠ΅Π±ΠΎΠΌ hash ΡΡΠ½ΠΊΡΠΈΡΠ°, ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΄ΡΠΆΠΈΠ½Π΅ ΠΏΠΎΡΡΠΊΠ΅ ΠΈΠ»ΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ° ΡΠ΅ ΡΠ΅ΡΠ°Π²Π° ΡΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΡΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΡΠΈΡΡΡΡΠ΅ ΠΈΠ»ΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎ ΠΏΠΎΡΠΏΠΈΡΡΡΠ΅ ΡΠ΅Π»Π° ΠΏΠΎΡΡΠΊΠ° m, ΠΏΠΎΡΠΏΠΈΡΡΡΠ΅ ΡΠ΅ ΠΈΠ»ΠΈ ΡΠΈΡΡΡΡΠ΅ ΡΠ°ΠΌΠΎ ΡΠ΅Π·ΠΈΠΌΠ΅ ΠΏΠΎΡΡΠΊΠ΅ . Hash ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ Π½Π°ΡΠ²ΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ΅ ΡΠ²ΡΡ Π΅ ΡΡ MD2, MD4 i MD5 (Message Digest), ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠΎ Rivest. ΠΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π΄Π°ΡΡ ΡΠ΅Π·ΠΈΠΌΠ΅Π΅ Π΄ΡΠΆΠΈΠ½Π΅ 128 Π±ΠΈΡΠ°. ΠΠΎΡΠ΅Π΄ ΡΠΈΡ , Π²Π΅ΠΎΠΌΠ° ΡΠ΅ ΠΏΠΎΠΏΡΠ»Π°ΡΠ½Π° ΠΈ SHA-1 (Secure Hash Algorithm) ΡΡΠ½ΠΊΡΠΈΡΠ° (NIST) ΠΊΠΎΡΠ° Π΄Π°ΡΠ΅ ΠΎΡΠΈΡΠ°ΠΊ ΠΏΠΎΡΡΠΊΠ΅ Π΄ΡΠΆΠΈΠ½Π΅ 160 Π±ΠΈΡΠ°.
MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ° ΡΠ»Π°Π·Π½Ρ ΠΏΠΎΡΡΠΊΡ Ρ Π±Π»ΠΎΠΊΠΎΠ²ΠΈΠΌΠ° ΠΎΠ΄ 512 Π±ΠΈΡΠ°, ΠΏΠΎΠ΄Π΅ΡΠ΅Π½ΠΈΠΌ Ρ 16 ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠΎΠ²Π° Π΄ΡΠΆΠΈΠ½Π΅ 32 Π±ΠΈΡΠ°. ΠΠ°ΠΈΠΌΠ΅, ΠΏΡΠ²ΠΎ ΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΏΡΠΎΡΠΈΡΡΡΠ΅ Π½Π° ΡΠ°Ρ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΠΎ Π΄ΡΠΆΠΈΠ½ΠΈ ΡΠ°ΡΠ½ΠΎ 64 Π±ΠΈΡΠ° ΠΊΡΠ°ΡΠ° ΠΎΠ΄ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠ΅Π³ ΠΌΡΠ»ΡΠΈΠΏΠ»Π° ΠΎΠ΄ 512 Π±ΠΈΡΠ°. ΠΡΠΎΡΠΈΡΠΈΠ²Π°ΡΠ΅ ΡΠ΅ Π²ΡΠ»ΠΎ ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ, ΠΏΡΠ²ΠΎ ΡΠ΅ Π½Π° ΠΊΡΠ°Ρ ΠΏΠΎΡΡΠΊΠ΅ Π΄ΠΎΠ΄Π° ΡΠ΅Π΄Π°Π½ Π±ΠΈΡ ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅, ΠΏΡΠ°ΡΠ΅Π½ Π·Π°Ρ ΡΠ΅Π²Π°Π½ΠΈΠΌ Π±ΡΠΎΡΠ΅ΠΌ Π½ΡΠ»Π°. ΠΠ°ΡΠΈΠΌ ΡΠ΅ 64-Π±ΠΈΡΠ½Π° ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ° Π΄ΡΠΆΠΈΠ½Π΅ ΠΏΠΎΡΡΠΊΠ΅ ΠΏΡΠΈΠΊΡΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡ. ΠΠ·Π»Π°Π· Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ° ΡΠΊΡΠΏ ΠΎΠ΄ 4 32-Π±ΠΈΡΠ½Π° Π±Π»ΠΎΠΊΠ°, ΡΠΏΠΎΡΠ΅Π½Π° ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅Π΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΡΠΎΡΠΌΠΈΡΠ°ΡΡ 128-Π±ΠΈΡΠ½Ρ hash Π²ΡΠ΅Π΄Π½ΠΎΡΡ.
MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠ»Π³ΠΎΡΠΈΡΠ°ΠΌ ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ ΡΠ»Π΅Π΄Π΅ΡΠΈΡ ΠΊΠΎΡΠ°ΠΊΠ°: ΠΡΠ²ΠΎ ΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΎΠ±ΡΠ°Π΄ΠΈ ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΡΠ΅Π½Π° Π΄ΡΠΆΠΈΠ½Π° ΡΠ°ΡΠ½ΠΎ ΠΌΡΠ»ΡΠΈΠΏΠ» ΠΎΠ΄ 512 Π±ΠΈΡΠ° ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΡΡΡ 4 32-Π±ΠΈΡΠ½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ (ΡΠ·Π². ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ ΡΠ»Π°Π½ΡΠ°Π²Π°ΡΠ°) Π=0x01234567 B=0x89abcdef C=0xfedcba98 D=0x76543210 ΠΠ°ΡΠΈΠΌ ΠΏΠΎΡΠΈΡΠ΅ Π³Π»Π°Π²Π½Π° ΠΏΠ΅ΡΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΠ°Π²Π° Π·Π° ΡΠ²Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π΄ΡΠΆΠΈΠ½Π΅ 512 Π±ΠΈΡΠ° Π΄Π°ΡΠ΅ ΠΏΠΎΡΡΠΊΠ΅.
MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) Π§Π΅ΡΠΈΡΠΈ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°ΡΡ Ρ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ a, b, c ΠΈ d. ΠΠ»Π°Π²Π½Π° ΠΏΠ΅ΡΡΠ° ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ 4 ΡΠ°Π·Π΅ ΠΊΠΎΡΠ΅ ΡΡ Π²Π΅ΠΎΠΌΠ° ΡΠ»ΠΈΡΠ½Π΅. Π‘Π²Π°ΠΊΠ° ΡΠ°Π·Π° ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ 16 ΠΏΡΡΠ°, ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½Π΅ Π½Π΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π½Π°Π΄ ΡΡΠΈ ΠΎΠ΄ ΡΠ΅ΡΠΈΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ a, b, c ΠΈΠ»ΠΈ d. ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΡΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈΡΠ΅Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π΄ΠΎΠ΄Π°ΡΠ΅ ΡΠ΅ΡΠ²ΡΡΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΎΡ, ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΡ ΠΏΠΎΡΡΠΊΠ΅ ΠΈ ΡΠ΅Π΄Π½ΠΎΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ. ΠΠΎΠ±ΠΈΡΠ΅Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ΅ ΡΠΎΡΠΈΡΠ° ΡΠ»Π΅Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΈ Π±ΡΠΎΡ Π±ΠΈΡΠ° ΠΈ Π΄ΠΎΠ΄Π°ΡΠ΅ ΡΠ΅ ΡΠ΅Π΄Π½ΠΎΡ ΠΎΠ΄ ΡΠ΅ΡΠΈΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ a, b, c ΠΈΠ»ΠΈ d. ΠΠ° ΠΊΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π·Π°ΠΌΠ΅ΡΡΡΠ΅ ΡΠ΅Π΄Π½Ρ ΠΎΠ΄ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΈΡ a, b, c ΠΈΠ»ΠΈ d.
MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ)
MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠΎΡΡΠΎΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ Π½Π΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅, ΠΏΠΎ ΡΠ΅Π΄Π½Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Ρ ΡΠ²Π°ΠΊΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΈ (ΡΠ°Π·Π»ΠΈΡΠΈΡΠ° Ρ ΡΠ²Π°ΠΊΠΎΡ ΡΠ°Π·ΠΈ): F(X,Y,Z) = (X ^ Y) v (( οΉ X) ^ Z) G(X,Y,Z) = (X ^ Z) v (Y ^ (οΉ Z) H(X,Y,Z) = X ο Y ο Z I(X,Y,Z) = Y ο (X v (οΉ Z )) Π³Π΄Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΡΡΠΊΠΈ Π·Π½Π°ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ°ΡΡ (ο - XOR ΡΡΠ½ΠΊΡΠΈΡΠ°, ^ - AND ΡΡΠ½ΠΊΡΠΈΡΠ°, v - OR ΡΡΠ½ΠΊΡΠΈΡΠ°, ΠΈ οΉ - NOT ΡΡΠ½ΠΊΡΠΈΡΠ°).
MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠΊΠΎ ΠΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ° j-ΡΠΈ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊ ΠΏΠΎΡΡΠΊΠ΅, j =0, β¦, 15, Π° <<< s ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΡ ΡΠΈΡΠΊΡΠ»Π°ΡΠ½ΠΎΠ³ ΡΠΈΡΡΠΎΠ²Π°ΡΠ° Π·Π° s Π±ΠΈΡΠ°, ΡΠ°Π΄Π° ΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΌΠΎΠ³Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠΈ Π½Π° ΡΠ»Π΅Π΄Π΅ΡΠΈ Π½Π°ΡΠΈΠ½: FF(a,b,c,d,Mj,s,ti) ΠΎΠ·Π½Π°ΡΠ°Π²Π°: a = b + ((a + F(b,c,d) + MΡ + ti) <<< s) GG(a,b,c,d,Mj,s,ti) ΠΎΠ·Π½Π°ΡΠ°Π²Π°: a = b + ((a + G(b,c,d) + MΡ + ti) <<< s) HH(a,b,c,d,Mj,s,ti) ΠΎΠ·Π½Π°ΡΠ°Π²Π°: a = b + ((a + H(b,c,d) + Mj + ti) <<< s) II(a,b,c,d,Mj,s,ti) ΠΎΠ·Π½Π°ΡΠ°Π²Π°: a = b + ((a + I(b,c,d) + Mj + ti) <<< s) ΠΠ°ΠΊΠΎΠ½ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎΠ³ ΠΏΠΎΡΡΡΠΏΠΊΠ°, a, b, c ΠΈ d ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΡ Π½Π° A, B, C ΠΈ D, ΡΠ΅ΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π½Π°ΡΡΠ°Π²ΡΠ° ΡΠ° Π½Π°ΡΠ΅Π΄Π½ΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. ΠΡΠ°ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡΠΎΠΌ ΠΎΠ΄ Π΄ΠΎΠ±ΠΈΡΠ΅Π½ΠΈΡ A, B, C ΠΈ D.
MD5 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ)
SHA-1 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ SHA-1 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ ΡΠ°ΠΊΠΎΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ° ΡΠ»Π°Π·Π½Ρ ΠΏΠΎΡΡΠΊΡ Ρ Π±Π»ΠΎΠΊΠΎΠ²ΠΈΠΌΠ° ΠΎΠ΄ 512 Π±ΠΈΡΠ°, ΠΏΠΎΠ΄Π΅ΡΠ΅Π½ΠΈΠΌ Ρ 16 ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠΎΠ²Π° Π΄ΡΠΆΠΈΠ½Π΅ 32 Π±ΠΈΡΠ°. ΠΡΠ²ΠΎ ΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΏΡΠΎΡΠΈΡΡΡΠ΅ Π½Π° ΠΈΡΡΠΈ Π½Π°ΡΠΈΠ½ ΠΊΠ°ΠΎ ΠΈ Ρ MD5 Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΠΎ Π΄ΡΠΆΠΈΠ½ΠΈ ΡΠ°ΡΠ½ΠΎ 64 Π±ΠΈΡΠ° ΠΊΡΠ°ΡΠ° ΠΎΠ΄ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠ΅Π³ ΠΌΡΠ»ΡΠΈΠΏΠ»Π° ΠΎΠ΄ 512 Π±ΠΈΡΠ°. ΠΠ°ΠΈΠΌΠ΅, ΠΏΡΠ²ΠΎ ΡΠ΅ Π½Π° ΠΊΡΠ°Ρ ΠΏΠΎΡΡΠΊΠ΅ Π΄ΠΎΠ΄Π° ΡΠ΅Π΄Π°Π½ Π±ΠΈΡ ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅, ΠΏΡΠ°ΡΠ΅Π½ Π·Π°Ρ ΡΠ΅Π²Π°Π½ΠΈΠΌ Π±ΡΠΎΡΠ΅ΠΌ Π½ΡΠ»Π°. ΠΠ°ΡΠΈΠΌ ΡΠ΅ 64-Π±ΠΈΡΠ½Π° ΡΠ΅ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ° Π΄ΡΠΆΠΈΠ½Π΅ ΠΏΠΎΡΡΠΊΠ΅ ΠΏΡΠΈΠΊΡΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡ. ΠΠ·Π»Π°Π· Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ° ΡΠΊΡΠΏ ΠΎΠ΄ 5 32-Π±ΠΈΡΠ½Π° Π±Π»ΠΎΠΊΠ°, ΡΠΏΠΎΡΠ΅Π½Π° ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅Π΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΡΠΎΡΠΌΠΈΡΠ°ΡΡ 160-Π±ΠΈΡΠ½Ρ hash Π²ΡΠ΅Π΄Π½ΠΎΡΡ.
SHA-1 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠ»Π³ΠΎΡΠΈΡΠ°ΠΌ ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ ΡΠ»Π΅Π΄Π΅ΡΠΈΡ ΠΊΠΎΡΠ°ΠΊΠ°: ΠΡΠ²ΠΎ ΡΠ΅ ΠΏΠΎΡΡΠΊΠ° ΠΎΠ±ΡΠ°Π΄ΠΈ ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΡΠ΅Π½Π° Π΄ΡΠΆΠΈΠ½Π° ΡΠ°ΡΠ½ΠΎ ΠΌΡΠ»ΡΠΈΠΏΠ» ΠΎΠ΄ 512 Π±ΠΈΡΠ° ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΡΡΡ 5 32-Π±ΠΈΡΠ½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ (ΡΠ·Π². ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ ΡΠ»Π°Π½ΡΠ°Π²Π°ΡΠ°) Π=0x67452301 B=0xefcdab89 C=0x98badcfe D=0x10325476 Π=0xc3d2elf0 ΠΠ°ΡΠΈΠΌ ΠΏΠΎΡΠΈΡΠ΅ Π³Π»Π°Π²Π½Π° ΠΏΠ΅ΡΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΠ°Π²Π° Π·Π° ΡΠ²Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π΄ΡΠΆΠΈΠ½Π΅ 512 Π±ΠΈΡΠ° Π΄Π°ΡΠ΅ ΠΏΠΎΡΡΠΊΠ΅.
SHA-1 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) 5 ΠΈΠ½ΠΈΡΠΈΡΠ°Π»Π½ΠΈΡ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΈΡ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ° Ρ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ a, b, c, d ΠΈ e. ΠΠ»Π°Π²Π½Π° ΠΏΠ΅ΡΡΠ° ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ 4 ΡΠ°Π·Π΅ ΠΊΠΎΡΠ΅ ΡΡ Π²Π΅ΠΎΠΌΠ° ΡΠ»ΠΈΡΠ½Π΅. Π‘Π²Π°ΠΊΠ° ΡΠ°Π·Π° ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ 20 ΠΏΡΡΠ°, ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½Π΅ Π½Π΅Π»ΠΈΠ½Π΅Π°ΡΠ½Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π½Π°Π΄ ΡΡΠΈ ΠΎΠ΄ ΠΏΠ΅Ρ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²ΠΈΡ a, b, c, d ΠΈΠ»ΠΈ e. ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΡΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈΡΠ΅Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ° ΡΠ»ΠΈΡΠ½ΠΎ ΠΊΠ°ΠΎ ΠΈ Ρ MD5 Π°Π»Π³ΠΎΡΠΈΡΠΌΡ.
SHA-1 Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ (Π½Π°ΡΡΠ°Π²Π°ΠΊ) ΠΠ»ΠΎΠΊ ΠΏΠΎΡΡΠΊΠ΅ ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ΅ ΠΎΠ΄ 16 32-Π±ΠΈΡΠ½ΠΈΡ ΡΠ΅ΡΠΈ (Π0, ..., Π15) Ρ 80 32-Π±ΠΈΡΠ½ΠΈΡ ΡΠ΅ΡΠΈ (W0, β¦, W79) ΠΏΡΠ΅ΠΌΠ° ΡΠ»Π΅Π΄Π΅ΡΠ΅ΠΌ: Wt=Mt Π·Π° t=0 Π΄ΠΎ 15 Wt=(Wt-3ο Wt-8 ο Wt-14 ο Wt-16) <<< 1, Π·Π° t=16 Π΄ΠΎ 79 ΠΠ»Π°Π²Π½Π° ΠΏΠ΅ΡΡΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΎΠΏΠΈΡΠ°ΡΠΈ: ΠΠ° t=0 Π΄ΠΎ 79 if 0 β€ i β€ 19 then f := (b and c) or ((not b) and d) k := 0x5A827999 else if 20 β€ i β€ 39 f := b xor c xor d k := 0x6ED9EBA1 else if 40 β€ i β€ 59 f := (b and c) or (b and d) or (c and d) k := 0x8F1BBCDC else if 60 β€ i β€ 79 k := 0xCA62C1D6 TEMP=(a<<<5)+F(b,c,d)+e+Wt+Kt e=d d=c c=b<<<30 b=a a=TEMP
Secure Hash Standard 1. Name of Standard: Secure Hash Signature Standard (SHS) (FIPS PUB 180-2). 2. Category of Standard: Computer Security Standard, Cryptography. 3. Explanation: This Standard specifies four secure hash algorithms - SHA-1, SHA-256, SHA-384, and SHA-512 - for computing a condensed representation of electronic data (message) + SHA-224 (2004). When a message of any length < 264 bits (for SHA-1 and SHA-256) or < 2128 bits (for SHA-384 and SHA-512) is input to an algorithm, the result is an output called a message digest. The message digests range in length from 160 to 512 bits, depending on the algorithm. Secure hash algorithms are typically used with other cryptographic algorithms, such as digital signature algorithms and keyed-hash message authentication codes, or in the generation of random numbers (bits).
Secure Hash Standard The four hash algorithms specified in this standard are called secure because, for a given algorithm, it is computationally infeasible 1) to find a message that corresponds to a given message digest, or 2) to find two different messages that produce the same message digest. Any change to a message will, with a very high probability, result in a different message digest. This will result in a verification failure when the secure hash algorithm is used with a digital signature algorithm or a keyed-hash message authentication algorithm. This standard supersedes FIPS 180-1, adding three algorithms (+ SHA-224 (2004)) that are capable of producing larger message digests. The SHA-1 algorithm specified herein is the same algorithm that was specified previously in FIPS 180-1, although some of the notation has been modified to be consistent with the notation used in the SHA-256, SHA-384, and SHA-512 algorithms.
Secure Hash Standard Each algorithm can be described in two stages: preprocessing and hash computation. Preprocessing involves padding a message, parsing the padded message into m-bit blocks, and setting initialization values to be used in the hash computation. The hash computation generates a message schedule from the padded message and uses that schedule, along with functions, constants, and word operations to iteratively generate a series of hash values. The final hash value generated by the hash computation is used to determine the message digest.
Secure Hash Standard The four algorithms differ most significantly in the number of bits of security that are provided for the data being hashed β this is directly related to the message digest length. When a secure hash algorithm is used in conjunction with another algorithm, there may be requirements specified elsewhere that require the use of a secure hash algorithm with a certain number of bits of security. For example, if a message is being signed with a digital signature algorithm that provides 128 bits of security, then that signature algorithm may require the use of a secure hash algorithm that also provides 128 bits of security (e.g., SHA-256).
Secure Hash Standard
SHA-1 SHA-1 may be used to hash a message, M, having a length of l bits, where 0 < l < 264. The algorithm uses a message schedule of eighty 32-bit words, 2) five working variables of 32 bits each, and 3) a hash value of five 32-bit words. The final result of SHA-1 is a 160-bit message digest. The words of the message schedule are labeled W0, W1,β¦, W79. The five working variables are labeled a, b, c, d, and e. SHA-1 also uses a single temporary word, T.
SHA-256 SHA-256 may be used to hash a message, M, having a length of l bits, where 0 < l < 264. The algorithm uses a message schedule of sixty- four 32-bit words, 2) eight working variables of 32 bits each, and 3) a hash value of eight 32-bit words. The final result of SHA-256 is a 256-bit message digest. The words of the message schedule are labeled W0, W1,β¦, W63. The eight working variables are labeled a, b, c, d, e, f, g, and h. SHA- 256 also uses two temporary words, T1 and T2.
SHA-512 SHA-512 may be used to hash a message, M, having a length of l bits, where 0 < l < 2128. The algorithm uses a message schedule of eighty 64-bit words, 2) eight working variables of 64 bits each, and 3) a hash value of eight 64-bit words. The final result of SHA-512 is a 512-bit message digest. The words of the message schedule are labeled W0, W1,β¦, W79. The eight working variables are labeled a, b, c, d, e, f, g, and h. SHA-512 also uses two temporary words, T1 and T2.
SHA-384 SHA-384 may be used to hash a message, M, having a length of l bits, where 0 < l < 2128. The algorithm is defined in the exact same manner as SHA-512, with the following two exceptions: The initial hash value has different value; and 2. The 384-bit message digest is obtained by truncating the final hash value, to its leftmost 384 bits.
SHA-224 SHA-224 may be used to hash a message, M, having a length of l bits, where 0 < l < 264. The function is defined in the exact same manner as SHA-256, with the following two exceptions: For SHA-224, the initial hash value has different value, 2. The 224-bit message digest is obtained by truncating the final hash value to its leftmost 224 bits.
NIST ΡΡΠ°Π½Π΄Π°ΡΠ΄ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ° (Digital Signature Standard, DSS) NIST FIPS PUB 186-2 DSS ΡΠ΅ Π±Π°Π·ΠΈΡΠ° Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠΈ ΡΠ° ΡΠ°Π²Π½ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ ΠΊΠΎΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ Π΄Π²Π° ΠΊΡΡΡΠ°: ΡΠ°Π²Π½ΠΈ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ. DSS ΡΠΊΡΡΡΡΡΠ΅ ΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡ: RSA, DSA (Digital Signature Algorithm), ECDSA (Elliptic Curve DSA).
DSΠ - Digital Signature Algorithm DSA Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΡΡΡΠ΅Π²Π°, DSA Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ°, DSA Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΡΠΏΠΈΡΠ°.
DSΠ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΡΡΡΠ΅Π²Π° Π‘ΡΡΠ°Π½Π° Π Ρ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠΈ ΠΈΠ·Π²ΡΡΠ°Π²Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅: ΠΠ·Π±ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ Π±ΡΠΎΡΠ° q ΡΠ°ΠΊΠ²ΠΎΠ³ Π΄Π° ΡΠ΅ 2159 < q < 2160. ΠΠ·Π±ΠΎΡ 1024 Π±ΠΈΡΠ½ΠΎΠ³ ΠΏΡΠΎΡΡΠΎΠ³ Π±ΡΠΎΡΠ° p ΡΠ° ΠΎΡΠΎΠ±ΠΈΠ½ΠΎΠΌ q|p-1. ΠΠ·Π±ΠΎΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ° h ο Zp* ΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΠ΅ g=h(p-1)/q mod p; ΠΏΠΎΠ½ΠΎΠ²ΠΈΡΠΈ ΠΈΠ·ΡΠ°ΡΡΠ½Π°Π²Π°ΡΠ΅ ΡΠ²Π΅ Π΄ΠΎΠΊ gοΉ1. ΠΠ·Π±ΠΎΡ ΡΠ»ΡΡΠ°ΡΠ½ΠΎΠ³ ΡΠ΅Π»ΠΎΠ³ Π±ΡΠΎΡΠ° x ο [1, q-1]. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ y=gx mod p. ΠΠ°Π²Π½ΠΈ ΠΊΡΡΡ Π ΡΠ΅: (p,q,g,y). ΠΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ Π ΡΠ΅: x.
DSA Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ° Π£ ΡΠΈΡΡ ΠΏΠΎΡΠΏΠΈΡΠΈΠ²Π°ΡΠ° ΠΏΠΎΡΡΠΊΠ΅ m Π ΠΈΠ·Π²ΡΡΠ°Π²Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅: ΠΠ·Π±ΠΎΡ ΡΠ»ΡΡΠ°ΡΠ½ΠΎΠ³ ΡΠ΅Π»ΠΎΠ³ Π±ΡΠΎΡΠ° k ο [1, q-1]. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ r=(gk mod p) mod q. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ k-1 mod q. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ s= k-1 (h(m)+xr) mod q, Π³Π΄Π΅ h ΠΎΠ·Π½Π°ΡΠ°Π²Π° SHA-1 Ρ Π΅Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ. ΠΠΊΠΎ ΡΠ΅ s=0, Π²ΡΠ°ΡΠΈΡΠΈ ΡΠ΅ Π½Π° ΠΏΠΎΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΡΠ°ΠΊ. ΠΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡ ΠΏΠΎΡΡΠΊΠ΅ m ΡΠ΅ ΡΡΠ΅ΡΠ΅Π½ΠΈ ΠΏΠ°Ρ ΡΠ΅Π»ΠΈΡ Π±ΡΠΎΡΠ΅Π²Π° (r,s).
DSA Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΡΠΏΠΈΡΠ° Π£ ΡΠΈΡΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ° ΠΏΠΎΡΡΠΊΠ΅ m, B ΠΈΠ·Π²ΡΡΠ°Π²Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅: Π£Π·ΠΈΠΌΠ° ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ Π: (p,q,g,y). ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ w=s-1 mod q ΠΈ h(m). ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ u1=h(m)w mod q ΠΈ u2=rw mod q. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ v=(gu1yu2 mod p) mod q. ΠΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ° ΡΠ΅ ΡΡΠΏΠ΅Π»Π° Π°ΠΊΠΎ ΠΈ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠ΅ v=r.
ECDSΠ β Elliptic Curve DSA ECDSA Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΡΡΡΠ΅Π²Π°, ECDSA Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ°, ECDSA Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΡΠΏΠΈΡΠ°.
ECDSΠ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΡΡΡΠ΅Π²Π° Π‘ΡΡΠ°Π½Π° Π Ρ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠΈ ΠΈΠ·Π²ΡΡΠ°Π²Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅: ΠΠ·Π±ΠΎΡ Π΅Π»ΠΈΠΏΡΠΈΡΠ½Π΅ ΠΊΡΠΈΠ²Π΅ Π ΠΊΠΎΡΠ° ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° Π½Π° ΠΏΡΠΎΡΡΠΎΡΠΎΠΌ Zp. ΠΡΠΎΡ ΡΠ°ΡΠ°ΠΊΠ° Π΅Π»ΠΈΠΏΡΠΈΡΠΊΠ΅ ΠΊΡΠΈΠ²Π΅ E ΡΡΠ΅Π±Π° Π΄Π° Π±ΡΠ΄Π΅ Π΄Π΅ΡΠΈΠ² ΡΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΏΡΠΎΡΡΠΈΠΌ Π±ΡΠΎΡΠ΅ΠΌ n. Izbor taΔke P ο E(Zp) ΡΠ΅Π΄Π° n. ΠΠ·Π±ΠΎΡ ΡΠ»ΡΡΠ°ΡΠ½ΠΎΠ³ ΡΠ΅Π»ΠΎΠ³ Π±ΡΠΎΡΠ° d ο [2, n-2]. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ Q=dP. ΠΠ°Π²Π½ΠΈ ΠΊΡΡΡ Π ΡΠ΅: (E,P,n,Q). ΠΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ Π ΡΠ΅: d.
ECDSA Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ° Π£ ΡΠΈΡΡ ΠΏΠΎΡΠΏΠΈΡΠΈΠ²Π°ΡΠ° ΠΏΠΎΡΡΠΊΠ΅ m Π ΠΈΠ·Π²ΡΡΠ°Π²Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅: ΠΠ·Π±ΠΎΡ ΡΠ»ΡΡΠ°ΡΠ½ΠΎΠ³ ΡΠ΅Π»ΠΎΠ³ Π±ΡΠΎΡΠ° k ο [2, n-2]. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ kP=(x1,y1) ΠΈ r=x1 mod n. ΠΠΊΠΎ ΡΠ΅ r=0 Π²ΡΠ°ΡΠΈΡΠΈ ΡΠ΅ Π½Π° ΠΊΠΎΡΠ°ΠΊ 1. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ k-1 mod n. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ s= k-1 (h(m)+dr) mod n, Π³Π΄Π΅ h ΠΎΠ·Π½Π°ΡΠ°Π²Π° SHA-1 Ρ Π΅Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡ. ΠΠΊΠΎ ΡΠ΅ s=0, Π²ΡΠ°ΡΠΈΡΠΈ ΡΠ΅ Π½Π° ΠΏΠΎΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΡΠ°ΠΊ. ΠΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡ ΠΏΠΎΡΡΠΊΠ΅ m ΡΠ΅ ΡΡΠ΅ΡΠ΅Π½ΠΈ ΠΏΠ°Ρ ΡΠ΅Π»ΠΈΡ Π±ΡΠΎΡΠ΅Π²Π° (r,s).
ECDSA Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΡΠΏΠΈΡΠ° Π£ ΡΠΈΡΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ° ΠΏΠΎΡΡΠΊΠ΅ m, B ΠΈΠ·Π²ΡΡΠ°Π²Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅: Π£Π·ΠΈΠΌΠ° ΡΠ°Π²Π½ΠΈ ΠΊΡΡΡ Π: (E,P,n,Q). ΠΠ΅ΡΠΈΡΠΈΠΊΡΡΠ΅ Π΄Π° ΡΡ r ΠΈ s ΡΠ΅Π»ΠΈ Π±ΡΠΎΡΠ΅Π²ΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ [1, n-1]. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ w=s-1 mod n ΠΈ h(m). ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ u1=h(m)w mod n ΠΈ u2=rw mod n. ΠΠ·ΡΠ°ΡΡΠ½Π°ΡΠΈ u1P+u2Q=(x0,y0) ΠΈ v=x0 mod n. ΠΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΡΠΏΠΈΡΠ° ΡΠ΅ ΡΡΠΏΠ΅Π»Π° Π°ΠΊΠΎ ΠΈ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠ΅ v=r.
ΠΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈ ΠΏΠΎΡΠΏΠΈΡ H1 M M1 H S S EA DB H ΠΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ ΠΏΠΎΡΠΈΡΠ°ΠΎΡΠ° HASH ΡΡΠ°Π½ΡΡ. H1 M M1 ΠΏΠΎΡΡΠΊΠ° Π HASH ΡΡΠ°Π½ΡΡ. H S S EA DB H ΠΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΡΡΡ ΠΏΠΎΡΠΈΡΠ°ΠΎΡΠ° ΠΠ°Π²Π½ΠΈ ΠΊΡΡΡ ΠΏΠΎΡΠΈΡΠ°ΠΎΡΠ°
ΠΠΈΠ³ΠΈΡΠ°Π»Π½Π° Π΅Π½Π²Π΅Π»ΠΎΠΏΠ° Aliceβs random SYM key Digital envelope (1) Bobβs public key (3) (2)
Digital Envelope (contβd) Message decryption (e.g. DES) *#$fjda^j u539! 3tt389E &* ... A quick brown fox jumped ... Symmetric Key Bobβs Private Key Asymmetrical algorithm (e.g. RSA)
PKCS (Public Key cryptographic Standard) Documents: PKCS #1:RSA Cryptography Standard PKCS #2: Note below PKCS #3:Diffie-Hellman Key Agreement Standard PKCS #4: Note below PKCS #5:Password-Based Cryptography Standard PKCS #6:Extended-Certificate Syntax Standard PKCS #7:Cryptographic Message Syntax Standard PKCS #8:Private-Key Information Syntax Standard PKCS #9:Selected Attribute Types PKCS #10:Certification Request Syntax Standard PKCS #11:Cryptographic Token Interface Standard PKCS #12:Personal Information Exchange Syntax Standard PKCS #13: Elliptic Curve Cryptography Standard PKCS #15: Cryptographic Token Information Format Standard Note: PKCS #2 and PKCS #4 have been incorporated into PKCS #1
Suitable algorithms This material is dedicated to an overview of the algorithms and related parameters deemed suitable for creating signature keys, for hashing data to be signed and for generating and verifying qualified electronic signatures, and the date until which this suitability is pronounced valid. The security of a qualified electronic signature depends primarily on the strength of the algorithms used. The algorithms described in the following are deemed suitable for qualified electronic signatures for the next seven years (i.e. until the end of 2014) at least.
Suitable Hash Algorithms The following hash functions with different hash lengths (e.g. SHA-224 is a 224-Bit hash function) are suitable for guaranteeing long-term security: SHA-224, SHA-256, SHA-384, SHA-512 [2]. These four hash functions are suitable for application in qualified electronic signature procedures in the coming seven years, i.e. until the end of 2014 (at least). The table below summarises the suitability of the hash functions. * i.e. for the generation and verification of qualified certificates but not for the generation and verification of other qualified signed data. ** i.e. for the generation of qualified certificates containing serial numbers with β₯ 20 bit entropy but not for the generation and verification of other qualified signed data. *** exclusively for the verification of qualified certificates.
Suitable Signature Procedures The following signature algorithms are suitable to meet the requirements of the Signature Act: RSA [4] DSA [1], [4] DSA variants based on elliptic curves, most notably: ECDSA [1], [5], [10], [11], ECKDSA, ECGDSA [11], Nyberg-Rueppel signatures [19], [6].
RSA The table below summarises the minimum bit lengths.
DSA The table below summarises the DSA bit lengths.
a) DSA variants based on groups E(Fp) The table below summarises the bit lengths of DSA variants based on groups E(Fp).
b) DSA variants based on groups E(F2m) The table below summarises the bit lengths for DSA variants based on groups E(F2m).
Π₯ΠΠΠΠ ΠΠ ΠΠΠΠΠ