ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ…/Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ CIPHK ΠΈ = CIPH-1K. Π‘Π»ΠΎΠΊΠΈ ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Ρ‡Ρ‚ΠΎ позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ достоинство Ρ€Π΅ΠΆΠΈΠΌΠ° ECB ΠΈ Π΅Π³ΠΎ простота ΡΠΊΡ€Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ двумя Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ нСдостатками. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ — Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° сообщСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Π° Π΄Π»ΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ² (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²
  • 1.1 Π—Π°Π΄Π°Ρ‡ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ
    • 1.2 Π Π°Π±ΠΎΡ‚Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ
    • 1.3 Π’pСбования ΠΊ ΠΊpиптосистСмам
    • 1.4 Π Π΅ΠΆΠΈΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ
    • 1.4.1 ЭлСктронная кодовая ΠΊΠ½ΠΈΠ³Π°
    • 1.4.2 Π‘Ρ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ ΡˆΠΈΡ„ротСксту
    • 1.4.3 ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π°
    • 1.4.4 ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
    • 1.5 АутСнтификация. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ цСлостности
    • 1.5.1 Π—Π°Π΄Π°Ρ‡Π° ΠΈΠΌΠΈΡ‚ΠΎΠ·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
    • 1.5.2 ΠŸΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ нСизмСнности Π΄Π°Π½Π½Ρ‹Ρ…
    • 1.6 ΠžΠ±Π·ΠΎΡ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… криптографичСских срСдств Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
    • 1.6.1 Π›ΠΈΠ½Π΅ΠΉΠΊΠ° eToken
    • 1.6.2 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… PGP
    • 1.6.3 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… TrueCrypt
    • 1.7 Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎ Π³Π»Π°Π²Π΅
    • 1.8 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
    • 2. АлгоритмичСская рСализация криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²
    • 2.1 Алгоритм Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SHA-512
    • 2.2 Алгоритм ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы CRC-64
    • 2.3 Алгоритм ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ RC6
    • 2.4 Алгоритм ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ IDEA
    • 3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½Π°Ρ рСализация криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²
    • 3.1 Π’Ρ‹Π±ΠΎΡ€ обоснования языка программирования
    • 3.2 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…
    • 3.3 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…
    • 3.4 ΠžΠ±Ρ‰Π°Ρ схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства
    • 3.5 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ USB-ΠΊΠ»ΡŽΡ‡Π° ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    • 3.6 Π’Ρ…ΠΎΠ΄ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ
    • 3.7 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
    • 3.7.1 ΠœΠΎΠ΄ΡƒΠ»ΡŒ вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы
    • 3.7.2 ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ RC6
    • 3.7.3 ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ IDEA
    • 3.7.4 ΠœΠΎΠ΄ΡƒΠ»ΡŒ создания Π°Ρ€Ρ…ΠΈΠ²Π°
    • 3.7.5 ΠœΠΎΠ΄ΡƒΠ»ΡŒ создания USB-ΠΊΠ»ΡŽΡ‡Π°
    • 3.8 Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎ Π³Π»Π°Π²Π΅
    • 4. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€
    • 4.1 Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
    • 4.2 БообщСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ
    • 4.3 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„рования Ρ„Π°ΠΉΠ»ΠΎΠ²
    • 4.4 Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎ Π³Π»Π°Π²Π΅
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
    • Бписок источников
    • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ соврСмСнного общСства дошла Π΄ΠΎ Ρ‚ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ вся информация — ΠΊΠ½ΠΈΠ³ΠΈ, Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ„ΠΎΡ‚ΠΎΠΈ Π²ΠΈΠ΄Π΅ΠΎ-Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ личная информация хранится Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΈΡ… дисках ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ остро ставится вопрос ΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ этих Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ° посторонних Π»ΠΈΡ†. НаиболСС Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ являСтся ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Ρ€Π΅Π΄ΠΈ криптографичСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств с ΠΏΠ»Π°Ρ‚Π½ΠΎΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ здСсь ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ eToken ΠΈ ruToken [2], срСди свободно распространяСмых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ — PGP, TrueCrypt. Однако Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ рядом нСдостатков — ΠΎΠ½ΠΈ Π»ΠΈΠ±ΠΎ ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅, Π»ΠΈΠ±ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ иностранного производства, Π³Π΄Π΅ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ отсутствиС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ€ΠΎΠΉ бСсплатныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сопровоТдСния Π½Π° Ρ€ΡƒΡΡΠΊΠΎΠΌ языкС. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ бСсплатных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ являСтся использованиС ΠΌΠΎΡ€Π°Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ, ΠΊΠ°ΠΊ рСализация ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдствах практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ остаСтся многоэтапная аутСнтификация посрСдством USB-ΠΊΠ»ΡŽΡ‡Π°, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ являСтся большим нСдостатком Ρ‚Π°ΠΊΠΈΡ… систСм.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΊΠ°ΡΠ°ΡŽΡ‰Π΅ΠΉΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ русского сСгмСнта ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° стандарта ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Удобство использования ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСмого Π“ΠžΠ‘Π’ 28 147–89 Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ согласования Ρ‚Π°Π±Π»ΠΈΡ† Π·Π°ΠΌΠ΅Π½. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ простым Π² ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΈ.

Π’ Π°Π½Π°Π»ΠΈΡ‚ичСской части Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ тСорСтичСская Π±Π°Π·Π° способов ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ достоинства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ цСлостности ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π’ Ρ‡Π°ΡΡ‚ΠΈ алгоритмичСского конструирования рассматриваСтся конструированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ², двухэтапной Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, созданиС USB-ΠΊΠ»ΡŽΡ‡Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

Π’ Ρ‡Π°ΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ конструирования проводится нСпосрСдствСнный Π²Ρ‹Π±ΠΎΡ€ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ алгоритмичСского языка, описаниС Π³Π»Π°Π²Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚вия.

  • 1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ вопросы примСнСния ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ криптографичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², способы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

1.1 Π—Π°Π΄Π°Ρ‡ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ Π΅Π΅ ΠΏpΠ΅ΠΎΠ±pазования, ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π΅Π΅ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ посторонним Π»ΠΈΡ†ΠΎΠΌ Π²ΠΎΠ»Π½ΠΎΠ²Π°Π»Π° чСловСчСский ΡƒΠΌ Ρ Π΄Π°Π²Π½ΠΈΡ… Π²Ρ€Π΅ΠΌΠ΅Π½. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΊpΠΈΠΏΡ‚ΠΎΠ³pΠ°Ρ„ΠΈΠΈ — ровСсница истории чСловСчСского языка. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ сама ΠΏΠΎ ΡΠ΅Π±Π΅ Π±Ρ‹Π»Π° ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСской систСмой, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π΄pΠ΅Π²Π½ΠΈΡ… общСствах Сю Π²Π»Π°Π΄Π΅Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅. БвящСнныС ΠΊΠ½ΠΈΠ³ΠΈ Π”Ρ€Π΅Π²Π½Π΅Π³ΠΎ Π•Π³ΠΈΠΏΡ‚Π°, Π”Ρ€Π΅Π²Π½Π΅ΠΉ Индии Ρ‚ΠΎΠΌΡƒ ΠΏpΠΈΠΌΠ΅pΡ‹.

Π‘ ΡˆΠΈpΠΎΠΊΠΈΠΌ pаспpостpΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафия стала Ρ„ΠΎpΠΌΠΈpΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π½Π°ΡƒΠΊΠ°. ПСpΠ²Ρ‹Π΅ ΠΊpиптосистСмы встpΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΡƒΠΆΠ΅ Π² Π½Π°Ρ‡Π°Π»Π΅ нашСй эpΡ‹. Π’Π°ΠΊ, Π¦Π΅Π·Π°pь Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅pСпискС использовал ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ систСматичСский ΡˆΠΈΡ„p, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ Π΅Π³ΠΎ имя.

Π‘ΡƒpΠ½ΠΎΠ΅ pΠ°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСскиС систСмы ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π² Π³ΠΎΠ΄Ρ‹ ΠΏΠ΅pΠ²ΠΎΠΉ ΠΈ Π²Ρ‚ΠΎpΠΎΠΉ ΠΌΠΈpΠΎΠ²Ρ‹Ρ… Π²ΠΎΠΉΠ½. Начиная с ΠΏΠΎΡΠ»Π΅Π²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π²pΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎ Π½Ρ‹Π½Π΅ΡˆΠ½ΠΈΠΉ дСнь появлСниС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сpСдств ускоpΠΈΠ»ΠΎ pΠ°Π·pΠ°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΡΠΎΠ²Π΅pΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ПpΠΎΠ±Π»Π΅ΠΌΠ° использования ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах (ИБ) стала Π² Π½Π°ΡΡ‚оящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ особо Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стоpΠΎΠ½Ρ‹, pасшиpилось использованиС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… сСтСй, Π² Ρ‡Π°ΡΡ‚ности глобальной сСти Π˜Π½Ρ‚Π΅pΠ½Π΅Ρ‚, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎpΡ‹ΠΌ ΠΏΠ΅pΠ΅Π΄Π°ΡŽΡ‚ΡΡ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ госудаpствСнного, Π²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠΌΠ΅pчСского ΠΈ Ρ‡Π°ΡΡ‚Π½ΠΎΠ³ΠΎ Ρ…Π°pΠ°ΠΊΡ‚Π΅pΠ°, Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ Π½Π΅ΠΉ постоpΠΎΠ½Π½ΠΈΡ… Π»ΠΈΡ†.

Π‘ Π΄pΡƒΠ³ΠΎΠΉ стоpΠΎΠ½Ρ‹, появлСниС Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅pΠΎΠ², Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ сСтСвых ΠΈ Π½Π΅ΠΉpΠΎΠ½Π½Ρ‹Ρ… вычислСний сдСлало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ дискpΠ΅Π΄ΠΈΡ‚Π°Ρ†ΠΈΡŽ ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСских систСм Π΅Ρ‰Π΅ Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΡ‡ΠΈΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏpактичСски Π½Π΅ pаскpΡ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ.

ПpΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ Π΅Π΅ ΠΏpΠ΅ΠΎΠ±pазования занимаСтся ΠΊpиптология (kryptos — Ρ‚Π°ΠΉΠ½Ρ‹ΠΉ, logos — Π½Π°ΡƒΠΊΠ°). Кpиптология pаздСляСтся Π½Π° Π΄Π²Π° Π½Π°ΠΏpавлСния — ΠΊpΠΈΠΏΡ‚ΠΎΠ³pΠ°Ρ„ΠΈΡŽ ΠΈ ΠΊpΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΠ·. Π¦Π΅Π»ΠΈ этих Π½Π°ΠΏpΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΏpямо ΠΏpΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹.

КpΠΈΠΏΡ‚ΠΎΠ³pафия занимаСтся поиском ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ матСматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏpΠ΅ΠΎΠ±pазования ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ.

Π‘Ρ„Π΅Ρ€Π° ΠΈΠ½Ρ‚Π΅pСсов ΠΊpΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΠ·Π° — исслСдованиС возмоТности pΠ°ΡΡˆΠΈΡ„pовывания ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ Π±Π΅Π· знания ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

Π‘ΠΎΠ²pСмСнная ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафия Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ Ρ‡Π΅Ρ‚Ρ‹pΠ΅ ΠΊpΡƒΠΏΠ½Ρ‹Ρ… pΠ°Π·Π΄Π΅Π»Π°:

— ΡΠΈΠΌΠΌΠ΅Ρ‚pΠΈΡ‡Π½Ρ‹Π΅ ΠΊpиптосистСмы;

— ΠΊpиптосистСмы с ΠΎΡ‚ΠΊpΡ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ;

— ΡΠΈΡΡ‚Π΅ΠΌΡ‹ элСктpΠΎΠ½Π½ΠΎΠΉ подписи;

— ΡƒΠΏpΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½Π°ΠΏpавлСния использования ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² — ΠΏΠ΅pΠ΅Π΄Π°Ρ‡Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ связи (Π½Π°ΠΏpΠΈΠΌΠ΅p, элСктpонная ΠΏΠΎΡ‡Ρ‚Π°), установлСниС подлинности ΠΏΠ΅pΠ΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… сообщСний, Ρ…pΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…) Π½Π° Π½ΠΎΡΠΈΡ‚Слях Π² Π·Π°ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

1.2 Π Π°Π±ΠΎΡ‚Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ

КpΠΈΠΏΡ‚ΠΎΠ³pафия Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏpΠ΅ΠΎΠ±pΠ°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΡŽ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±pΠ°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π΅ ΠΏpΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ (восстановлСниС) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏpΠΈ Π·Π½Π°Π½ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π°.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ ΡˆΠΈΡ„pованию ΠΈ Π΄Π΅ΡˆΠΈΡ„pованию, Π±ΡƒΠ΄ΡƒΡ‚ pассматpΠΈΠ²Π°Ρ‚ΡŒΡΡ тСксты, постpΠΎΠ΅Π½Π½Ρ‹Π΅ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎpΠΎΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π΅. Под этими Ρ‚Π΅pΠΌΠΈΠ½Π°ΠΌΠΈ понимаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

Алфавит — ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ мноТСство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для ΠΊΠΎΠ΄ΠΈpования ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ Π·Π½Π°ΠΊΠΎΠ².

ВСкст — ΡƒΠΏΠΎpядочСнный Π½Π°Π±ΠΎp ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.

Π¨ΠΈΡ„pΠΎΠ²Π°Π½ΠΈΠ΅ — ΠΏpΠ΅ΠΎΠ±pΠ°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏpоцСсс: исходный тСкст, ΠΊΠΎΡ‚ΠΎpΡ‹ΠΉ носит Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊpΡ‹Ρ‚ΠΎΠ³ΠΎ тСкста, замСняСтся ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½Ρ‹ΠΌ тСкстом.

Рисунок 1 — Π‘Ρ…Π΅ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ — ΠΎΠ±pΠ°Ρ‚Π½Ρ‹ΠΉ ΡˆΠΈΡ„pованию ΠΏpоцСсс. На ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»ΡŽΡ‡Π° ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСкст ΠΏpΠ΅ΠΎΠ±pазуСтся Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ.

Рисунок 2 — Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π½ΠΈΡ.

ΠšΠ»ΡŽΡ‡ — ΠΈΠ½Ρ„ΠΎpмация, нСобходимая для бСспpСпятствСнного ΡˆΠΈΡ„pования ΠΈ Π΄Π΅ΡˆΠΈΡ„pования тСкстов.

Π’Π΅pΠΌΠΈΠ½Ρ‹ pаспpΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΡƒΠΏpΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ относятся ΠΊ ΠΏpоцСссам систСмы ΠΎΠ±pΠ°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ, содСpΠΆΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡ‚ΠΎpΡ‹Ρ… являСтся составлСниС ΠΈ pаспpΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

КpΠΈΠΏΡ‚ΠΎΡΡ‚ΠΎΠΉΠΊΠΎΡΡ‚ΡŒΡŽ называСтся Ρ…Π°pΠ°ΠΊΡ‚Π΅pистика ΡˆΠΈΡ„pΠ°, ΠΎΠΏpΠ΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Π΅Π³ΠΎ ΡΡ‚ΠΎΠΉΠΊΠΎΡΡ‚ΡŒ ΠΊ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡŽ Π±Π΅Π· знания ΠΊΠ»ΡŽΡ‡Π° (Ρ‚.Π΅. ΠΊpΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΠ·Ρƒ).

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏpΠ΅ΠΎΠ±pΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏpСдСляСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π°Π»Π³ΠΎpΠΈΡ‚ΠΌΠΎΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ ΠΏΠ°pΠ°ΠΌΠ΅Ρ‚pΠ°. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΡˆΠΈΡ„pования с Ρ†Π΅Π»ΡŒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ зависит ΠΎΡ‚ ΡΠΎΡ…pанСния Ρ‚Π°ΠΉΠ½Ρ‹ ΠΊΠ»ΡŽΡ‡Π° ΠΈ ΠΊpиптостойкости ΡˆΠΈΡ„pΠ°.

1.3 Π’pСбования ΠΊ ΠΊpиптосистСмам

ПpоцСсс ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСского Π·Π°ΠΊpытия Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏpΠΎΠ³pΠ°ΠΌΠΌΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΈ Π°ΠΏΠΏΠ°pΠ°Ρ‚Π½ΠΎ. ПpΠΎΠ³pаммная pСализация Π±ΠΎΠ»Π΅Π΅ ΠΏpΠ°ΠΊΡ‚ΠΈΡ‡Π½Π°, допускаСт ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.

Для совpΠ΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊpΠΈΠΏΡ‚ΠΎΠ³pафичСских систСм Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ сфоpΠΌΡƒΠ»ΠΈpΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅ΠΏpинятыС Ρ‚pСбования [1]:

— Π·Π°ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½ΠΎΠ΅ сообщСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏpΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π°;

— Ρ‡ΠΈΡΠ»ΠΎ ΠΎΠΏΠ΅pΠ°Ρ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΎΠΏpСдСлСния использованного ΠΊΠ»ΡŽΡ‡Π° ΡˆΠΈΡ„pования ΠΏΠΎ Ρ„pΠ°Π³ΠΌΠ΅Π½Ρ‚Ρƒ ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сообщСния ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅ΠΌΡƒ ΠΎΡ‚ΠΊpΡ‹Ρ‚ΠΎΠ³ΠΎ тСкста, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ числа Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ;

— Ρ‡ΠΈΡΠ»ΠΎ ΠΎΠΏΠ΅pΠ°Ρ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для pΠ°ΡΡˆΠΈΡ„pовывания ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅pΠ΅Π±ΠΎpΠ° всСвозмоТных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ стpΠΎΠ³ΡƒΡŽ ниТнюю ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° ΠΏpΠ΅Π΄Π΅Π»Ρ‹ возмоТностСй совpΠ΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅pΠΎΠ² (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ возмоТности использования сСтСвых вычислСний);

— Π·Π½Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎpΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„pования Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹;

— Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏpΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌΡƒ измСнСнию Π²ΠΈΠ΄Π° Π·Π°ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сообщСния Π΄Π°ΠΆΠ΅ ΠΏpΠΈ использовании ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»ΡŽΡ‡Π°;

— ΡΡ‚pΡƒΠΊΡ‚ΡƒpΠ½Ρ‹Π΅ элСмСнты Π°Π»Π³ΠΎpΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„pования Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ;

— Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π² ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΏpоцСссС ΡˆΠΈΡ„pования, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ скpΡ‹Ρ‚Ρ‹ Π² ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½ΠΎΠΌ тСкстС;

— Π΄Π»ΠΈΠ½Π° ΡˆΠΈΡ„pΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ pΠ°Π²Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ исходного тСкста;

— Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏpостых ΠΈ Π»Π΅Π³ΠΊΠΎ устанавливаСмых Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π² ΠΏpоцСссС ΡˆΠΈΡ„pования;

— Π»ΡŽΠ±ΠΎΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΈΠ½Ρ„ΠΎpΠΌΠ°Ρ†ΠΈΠΈ;

— Π°Π»Π³ΠΎpΠΈΡ‚ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏpΠΎΠ³pΠ°ΠΌΠΌΠ½ΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ Π°ΠΏΠΏΠ°pΠ°Ρ‚Π½ΡƒΡŽ pΠ΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΏpΠΈ этом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠ»ΡŽΡ‡Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ вСсти ΠΊ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌΡƒ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ Π°Π»Π³ΠΎpΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„pования.

1.4 Π Π΅ΠΆΠΈΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ

Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны ΠΏΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ прСдставлСны Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ [5], ΠΈΠ·Π΄Π°Π½Π½ΠΎΠΌ НИБВ БША ΠΈ ΠΎΠ·Π°Π³Π»Π°Π²Π»Π΅Π½Π½ΠΎΠΌ «Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ с Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠΌ». Π’ΠΎΡ‚ эти Ρ€Π΅ΠΆΠΈΠΌΡ‹:

— ECB (Electronic Code Book) — элСктронная кодовая ΠΊΠ½ΠΈΠ³Π°;

— CBC (Cipher Block Chaining) — сцСплСниС Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ ΡˆΠΈΡ„ротСксту;

— CFB (Cipher Feed Back) — обратная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π°;

— OFB (Output Feed Back) — обратная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…;

— CTR (Counter) — ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ со ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ.

ΠŸΡ€ΠΈ этом основными ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π΅ΠΆΠΈΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. ПослСдний Ρ€Π΅ΠΆΠΈΠΌ (CTR) появился ΠΏΠΎΠ·ΠΆΠ΅ — спустя Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄Π° послС принятия ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ стандарта ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π“ΠžΠ‘Π’ 28 147–89 отсутствуСт Ρ€Π΅ΠΆΠΈΠΌ OFB, Π° ΡΠΎΠΎΡ‚нСсти названия Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² с ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ НИБВ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ [1]:

— ECB (Electronic Code Book) — Ρ€Π΅ΠΆΠΈΠΌ ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹;

— CBC (Cipher Block Chaining) — Ρ€Π΅ΠΆΠΈΠΌ Π’Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π˜ΠΌΠΈΡ‚ΠΎΠ²ΡΡ‚Π°Π²ΠΊΠΈ;

— CFB (Cipher Feed Back) — Ρ€Π΅ΠΆΠΈΠΌ Гаммирования с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связью;

— CTR (Counter) — Ρ€Π΅ΠΆΠΈΠΌ Гаммирования.

криптографичСский Π·Π°Ρ‰ΠΈΡ‚Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

1.4.1 ЭлСктронная кодовая ΠΊΠ½ΠΈΠ³Π°

Π”Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ являСтся элСктронным Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ°, использовавшСгося Π°Π³Π΅Π½Ρ‚Π°ΠΌΠΈ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сообщСния Π΅Ρ‰Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ XX Π²Π΅ΠΊΠ°. АгСнт ΠΏΠΎΠ»ΡƒΡ‡Π°Π» Π±Π»ΠΎΠΊΠ½ΠΎΡ‚, каТдая страница ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ содСрТала ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ — ΠΊΠΎΠ΄, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π»ΠΎΡΡŒ сообщСниС.

ПослС использования такая страница Π²Ρ‹Ρ€Ρ‹Π²Π°Π»Π°ΡΡŒ ΠΈΠ· Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π° ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π»Π°ΡΡŒ. ΠŸΡ€ΠΈ нСобходимости сообщСниС дополнялось Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ± Π½Π° Π²Ρ‹Ρ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… страничках Π½Π΅ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ сторона ΠΈΠΌΠ΅Π»Π° копию Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°, поэтому, ΠΏΡ€ΠΈ условии синхронного использования страниц Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ обСспСчивал ΠΊΠ°ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ сообщСний.

Π’ ECB использованию ΠΎΠ΄Π½ΠΎΠΉ страницы ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΡ€ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ соотвСтствуСт ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ прСобразования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ CIPHK, Π° ΠΏΡ€ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ — CIPH-1K. Обоим сторонам для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ достаточно Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ сСкрСтного ΠΊΠ»ΡŽΡ‡Π° K. Π’ΠΎΠΎΠ±Ρ‰Π΅ этот Ρ€Π΅ΠΆΠΈΠΌ являСтся самым простым ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ приходящим Π½Π° ΡƒΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ использования Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π° для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ сообщСний. Он ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.

Рисунок 3 — Π Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ элСктронная кодовая ΠΊΠ½ΠΈΠ³Π°.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° вСсь Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ECB состоит Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ CIPHK ΠΈ CIPH-1K ΠΊ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΈ ΡˆΠΈΡ„ротСксту для Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„рования соотвСтствСнно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ:

ECB Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅: Cj= CIPHK(Pj), Π³Π΄Π΅ j=1…n

ECB Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅: Pj= CIPH-1K(Cj), Π³Π΄Π΅ j=1…n

Π’ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡΡ… приняты ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния:

Pj — ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ, j-Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста;

Cj — ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ, j-Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ…/Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ CIPHK ΠΈ = CIPH-1K. Π‘Π»ΠΎΠΊΠΈ ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Ρ‡Ρ‚ΠΎ позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ достоинство Ρ€Π΅ΠΆΠΈΠΌΠ° ECB ΠΈ Π΅Π³ΠΎ простота ΡΠΊΡ€Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ двумя Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ нСдостатками. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ — Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° сообщСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Π° Π΄Π»ΠΈΠ½Π΅ Π±Π»ΠΎΠΊΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всС сообщСниС Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Ρ†Π΅Π»ΠΎΠ΅ число Ρ‚Π°ΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ², Π»ΠΈΠ±ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ послСдний Π±Π»ΠΎΠΊ Π½Π΅ Π½Π΅ΡΡƒΡ‰ΠΈΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ нСдостаток Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ сущСствСнный — Ссли Π½Π° Π²Ρ…ΠΎΠ΄ подаСтся одинаковая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ‹Ρ…ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ. А ΡΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ содСрТания сообщСния.

1.4.2 Π‘Ρ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ ΡˆΠΈΡ„ротСксту

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ CBC происходит «ΡΡ†Π΅ΠΏΠ»ΠΈΠ²Π°Π½ΠΈΠ΅» всСх Π±Π»ΠΎΠΊΠΎΠ² сообщСния ΠΏΠΎ ΡˆΠΈΡ„ротСксту. Как это достигаСтся — Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° 4, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ этот Ρ€Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

Рисунок 4 — Π Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ сцСплСниС Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ ΡˆΠΈΡ„ротСксту.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€ΠΈΡΡƒΠ½ΠΊΠ° Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π²Ρ…ΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CIPHK ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· подаСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ суммирования ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 2 ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° сообщСния ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CIPHK для ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CIPHK для ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈΠ΄ΡƒΡ‚ прямо Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° CBC, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠΌ этого Π±Π»ΠΎΠΊΠ° ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄ этой ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°, Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΡΡ‚, Ρ‡Ρ‚ΠΎ происходит сцСплСниС Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ ΡˆΠΈΡ„ротСксту. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… суммируСтся с Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ€Π΅Ρ‡ΡŒ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½ΠΈΠΆΠ΅. Пока ΠΆΠ΅ достаточно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ становится извСстСн ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŽ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°Ρ‡Π°Π»Π΅ сСанса связи (поэтому Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ просто Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, синхропосылкой). Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит, соотвСтствСнно, Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС — сначала ΠΊ ΡˆΠΈΡ„ротСксту ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ CIPH-1K, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΡƒΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π° для получСния Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, восстанавливаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ вСсь Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ Π² Π²ΠΈΠ΄Π΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

CBC Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅:

C1 = CIPHK(P1 xor IV);

Cj = CIPHK (Pj xor Cj-1), Π³Π΄Π΅: j = 1… n

Π’ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡΡ… приняты ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния:

IV — Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ — Initialization Vector);

Pj — ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ, j-Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста;

Cj — ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ, j-Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π°.

1.4.3 ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π°

Π’ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡ‚ΡΠ° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста суммируСтся ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ с Π±Π»ΠΎΠΊΠΎΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π°, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ этот ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚ подвСргнСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ CIPHK. Π’Π°ΠΊ происходит Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ сообщСния Π² ΡΡ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½ΡƒΠΆΠ½ΠΎ просто ΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (СстСствСнно ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 2) ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π±Π»ΠΎΠΊ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π° с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ, ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ CIPHK. Π Π°Π±ΠΎΡ‚Π° ΡˆΠΈΡ„Ρ€Π° ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5.

Рисунок 5 — Π Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ обратная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π°.

УравнСния Ρ€Π΅ΠΆΠΈΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ CFB ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅:

CFB Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅:

I1 = IV;

Ij = LSBb-5(Ij-1) | Cj-1, Π³Π΄Π΅: j = 2… n,

Oj = CIPHK(Ij), Π³Π΄Π΅: j = 1,2…n;

Cj = Pj xor MSB5(Oj), Π³Π΄Π΅: j = 1,2…n.

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ CFB ΠΏΡ€ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CIPHK Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π° с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, поэтому ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Однако, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ CFB ΠΏΡ€ΠΈ условии наличия ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π° всС ΠΏΠΎΡ€Ρ†ΠΈΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

1.4.4 ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Π Π΅ΠΆΠΈΠΌ OFB, ΠΊΠ°ΠΊ ΠΈ CFB являСтся ΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ функция CIPHK вызываСтся Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Π΄ΠΎ ΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ с ΠΏΠΎΡ€Ρ†ΠΈΠ΅ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста. Но Π½Π° ΡΡ‚ΠΎΡ‚ Ρ€Π°Π· Π½Π° Π²Ρ…ΠΎΠ΄ CIPHK подаСтся Π½Π΅ ΡˆΠΈΡ„ротСкст с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Π° ΠΏΡ€ΠΎΡΡ‚ΠΎ Π΅Π΅ ΠΆΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 6.

Рисунок 6 — Π Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ OFB — обратная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ уравнСния для Π·Π°ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ OFB:

OFB Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅:

I1 = IV;

Ij = Oj-1, Π³Π΄Π΅: j = 2… n,

Oj = CIPHK(Ij), Π³Π΄Π΅: j = 1,2…n;

Cj = Pj xor Oj, Π³Π΄Π΅: j = 1,2.n-1;

Cj = Pj xor MSBr(Oj).

Π’ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡΡ… приняты ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния:

IV — Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ;

Pj — ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ, j-Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста.

Cj — ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ, j-Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚Π°.

MSBr (X) — r ΡΡ‚Π°Ρ€ΡˆΠΈΡ… Π±ΠΈΡ‚ (most significant bits) Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа X

Для послСднСго, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ, Π±Π»ΠΎΠΊΠ° сообщСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€ΠΎΠ²Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CIPHK, сколько Π±ΠΈΡ‚ Π² ΡΡ‚ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. Π’ ΡΡ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π΄Π»ΠΈΠ½Π° сообщСния остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ, Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅.

1.5 АутСнтификация. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ цСлостности.

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²Π° основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ цСлостности ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

1.5.1 Π—Π°Π΄Π°Ρ‡Π° ΠΈΠΌΠΈΡ‚ΠΎΠ·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Под ΠΈΠΌΠΈΡ‚ΠΎΠ·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ… ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π½Π°Π²ΡΠ·Ρ‹Π²Π°Π½ΠΈΡ Π»ΠΎΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всСгда Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… этапах своСго ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° информация оказываСтся Π²Π½Π΅ Π·ΠΎΠ½Ρ‹ нСпосрСдствСнного контроля Π·Π° Π½Π΅ΠΉ. Π­Ρ‚ΠΎ случаСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ связи ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΈΡ… Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π½Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… носитСлях Π­Π’Πœ, физичСский доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ посторонних Π»ΠΈΡ† ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ.

ЀизичСски ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ внСсСниС нСсанкционированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… систСм ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ Ρ…ранСния Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ своСврСмСнно ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ сам Ρ„Π°ΠΊΡ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ЦСлью Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°, Π½Π°Π²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ систСмС Π»ΠΎΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, являСтся Π²Ρ‹Π΄Π°Ρ‡Π° Π΅Π΅ Π·Π° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡƒΡŽ, Π° ΡΡ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли сам Ρ„Π°ΠΊΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ навязывания Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ воврСмя ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½. ПодвСдСм ΠΈΡ‚ΠΎΠ³ — ΠΏΠΎΠ΄ Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π½Π΅ΡΠ°Π½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ самой возмоТности Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ„Π°ΠΊΡ‚Ρ‹, Ссли ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π»ΠΈ мСсто.

1.5.2 ΠŸΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ нСизмСнности Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Π½Π°ΡΡ‚оящСС врСмя извСстны Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π½Π΅ΡΠ°Π½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ измСнСния, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Π΄Π²ΡƒΡ… ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ [7]:

Π’Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° MAC — Message Authentification Code — ΠΊΠΎΠ΄Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ сообщСний. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ комбинация вычисляСтся с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ сСкрСтного ΠΊΠ»ΡŽΡ‡Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π°. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ любого Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вычислСния MAC для массивов Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ·Π½Π°Π½ ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ практичСски Π²ΠΎ Π²ΡΠ΅Ρ… криптографичСских стандартах — имитовставка, формируСмая согласно Π“ΠžΠ‘Π’ 28 147–89 являСтся Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ MAC.

Π’Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° MDC — Маnipulation Detection Code — ΠΊΠΎΠ΄Π° обнаруТСния манипуляций (с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ). Для вычислСния MDC для Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ называСмая нСобратимая функция сТатия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ называСмая одностороннСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ одностороннСго сТатия (прСобразования) ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, криптографичСской Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, ΠΈΠ»ΠΈ просто Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

Оба способа вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ — MDC ΠΈ MAC ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Π²Ρ‹Π΄Π°ΡŽΡ‚ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ: ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ MAC Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ для вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ сСкрСтного ΠΊΠ»ΡŽΡ‡Π°, для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ это Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ MAC для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ сфабрикованного ΠΈΠΌ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, Π½ΠΎ ΡΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ MDC, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для этого Π½Π΅ Ρ‚рСбуСтся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сСкрСтных Π΄Π°Π½Π½Ρ‹Ρ…, поэтому MAC ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΡƒ ΠΏΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ MDC трСбуСтся Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π».

Оба ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ любого классичСского Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π°. ΠŸΡ€ΠΈ этом Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ систСмы ΠΈΠΌΠΈΡ‚ΠΎΠ·Π°Ρ‰ΠΈΡ‚Ρ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΏΡ€ΠΈ условии Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΡΡ‚ΠΎΠΉΠΊΠΎΡΡ‚ΡŒΡŽ использованного Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π° — это ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ доказываСтся.

1.6 ΠžΠ±Π·ΠΎΡ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… криптографичСских срСдств Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, достоинств ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΎΠ².

1.6.1 Π›ΠΈΠ½Π΅ΠΉΠΊΠ° eToken

eToken — ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ срСдство строгой Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ…ранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ сСртификатами ΠΈ Π­Π¦ΠŸ. Π”Π°Π½Π½ΠΎΠ΅ устройство являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Aladdin ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Π΅Ρ‚ся Π² Π΄Π²ΡƒΡ… Ρ„ΠΎΡ€ΠΌ-Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°Ρ…: USB-Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ ΡΠΌΠ°Ρ€Ρ‚-ΠΊΠ°Ρ€Ρ‚Π°. Π’ ΠΎΠ±ΠΎΠΈΡ… случаях взаимодСйствиС носитСлСй с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ прилоТСниями бСзопасности ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΡƒΡŽ структуру, которая прСдставлСна.

Компания Aladdin прСдставляСт ряд ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… свои прСимущСства ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ:

— eToken PRO;

— eToken PRO (Java);

— eToken Π“ΠžΠ‘Π’;

— eToken NG-FLASH;

— eToken NG-OTP;

— ΠšΡ€ΠΈΠΏΡ‚ΠΎΠŸΡ€ΠΎ eToken CSP.

eToken ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹, слуТащСй для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ сотрудника, для доступа Π² ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΡ, для Π²Ρ…ΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π² ΡΠ΅Ρ‚ΡŒ, для доступа ΠΊ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ элСктронных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (ЭЦП, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅), для установлСния Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Ρ… соСдинСний (VPN, SSL), для провСдСния финансовых Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

1.6.2 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… PGP

PGP (Π°Π½Π³Π». Pretty Good Privacy) — ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ‚Π°ΠΊ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (кодирования) ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи сообщСний, Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, прСдставлСнной Π² ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π€ΠΈΠ»ΠΈΠΏΠΏΠΎΠΌ Π¦ΠΈΠΌΠΌΠ΅Ρ€ΠΌΠ°Π½Π½ΠΎΠΌ Π² 1991 Π³ΠΎΠ΄Ρƒ.

PGP ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, совмСстимых ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ Ρ€ΡΠ΄ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (GnuPG, FileCrypt ΠΈ Π΄Ρ€.) благодаря стандарту OpenPGP (RFC 4880), Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй.

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ PGP осущСствляСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, сТатиСм Π΄Π°Π½Π½Ρ‹Ρ…, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ с ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ этап ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π‘ΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ производится с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΡ‚ΠΈ симмСтричных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (AES, CAST5, TripleDES, IDEA, Twofish) Π½Π° ΡΠ΅Π°Π½ΡΠΎΠ²ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅. БСансовый ΠΊΠ»ΡŽΡ‡ гСнСрируСтся с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ криптографичСски стойкого Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл. БСансовый ΠΊΠ»ΡŽΡ‡ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ получатСля с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² RSA ΠΈΠ»ΠΈ Elgamal (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΡŽΡ‡Π° получатСля). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ соотвСтствуСт ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ адрСсу элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ PGP создаСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ: ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. ΠŸΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΈΡ… Π²Π»Π°Π΄Π΅Π»Π΅Ρ† (имя ΠΈ Π°Π΄Ρ€Π΅Ρ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹), Ρ‚ΠΈΠΏ ΠΊΠ»ΡŽΡ‡Π°, Π΄Π»ΠΈΠ½Π° ΠΊΠ»ΡŽΡ‡Π° ΠΈ ΡΡ€ΠΎΠΊ Π΅Π³ΠΎ дСйствия.

PGP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ цСлостности посрСдством Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ совмСстно с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΈ ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ тСксту. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ PGP для создания подписи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ RSA ΠΈΠ»ΠΈ DSA. ΠŸΡ€ΠΈ этом сначала создаСтся Ρ…Π΅Ρˆ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСкста (Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ дайдТСст), Π·Π°Ρ‚Π΅ΠΌ — цифровая подпись Ρ…Π΅ΡˆΠ° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° отправитСля. Для формирования Ρ…Π΅ΡˆΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях PGP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MD5 осущСствляСтся для сохранСния совмСстимости с Ρ€Π°Π½Π½ΠΈΠΌΠΈ вСрсиями. Для подписи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ RSA ΠΈΠ»ΠΈ DSA (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΡŽΡ‡Π°).

Π’ Ρ†Π΅Π»ΡΡ… ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ объСма сообщСний ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, для затруднСния ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΠ·Π° PGP ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ сТатиС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ производится ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ZIP, ZLIB, BZIP2. Для сТатых, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΈ ΡΠ»Π°Π±ΠΎΡΠΆΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² сТатиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ способа Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ PGP ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΈΠ»ΠΈ уязвимости ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π’ 1996 Π³ΠΎΠ΄Ρƒ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ Π‘Ρ€ΡŽΡ Π¨Π½Π°ΠΉΠ΅Ρ€ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π» Ρ€Π°Π½Π½ΡŽΡŽ Π²Π΅Ρ€ΡΠΈΡŽ PGP ΠΊΠ°ΠΊ «Π±Π»ΠΈΠΆΠ°ΠΉΡˆΡƒΡŽ ΠΊ ΠΊΡ€ΠΈΠΏΡ‚осистСмам Π²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ уровня». Π Π°Π½Π½ΠΈΠ΅ вСрсии PGP ΠΎΠ±Π»Π°Π΄Π°Π»ΠΈ тСорСтичСскими уязвимостями, поэтому рСкомСндуСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ соврСмСнными. ΠšΡ€ΠΎΠΌΠ΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎ ΡΠ΅Ρ‚ΠΈ, PGP позволяСт ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ устройства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ТСсткиС диски.

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΡΡ‚ΠΎΠΉΠΊΠΎΡΡ‚ΡŒ PGP основана Π½Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ устойчивы ΠΊ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΠ·Ρƒ Π½Π° ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ.

1.6.3 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… TrueCrypt

TrueCrypt — ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ «Π½Π° Π»Π΅Ρ‚Ρƒ» (On-the-fly encryption) для 32- ΠΈ 64-разрядных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сСмСйств Microsoft Windows NT 5 ΠΈ Π½ΠΎΠ²Π΅Π΅ (GUI-интСрфСйс), Linux ΠΈ Mac OS X. Она позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ логичСский диск, хранящийся Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TrueCrypt Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» ТСсткого диска ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ носитСля ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ρ„Π»ΠΎΠΏΠΏΠΈ-диск ΠΈΠ»ΠΈ USB Ρ„Π»Π΅Ρˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ. ВсС сохранСнныС Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚ΠΎΠΌΠ΅ TrueCrypt ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Π‘ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠΌ TrueCrypt ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ логичСскому диску, поэтому с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

TrueCrypt ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ диск:

— Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ — ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (Π² Ρ‚ΠΎΠΌ числС Π½Π° Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ устройства Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°), ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ;

— Π² Π²ΠΈΠ΄Π΅ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° диска, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ, Π² Π²Π΅Ρ€ΡΠΈΠΈ 5.0 добавилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ систСмный Ρ€Π°Π·Π΄Π΅Π»;

— ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ содСрТимого устройства, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ USB Ρ„Π»Π΅Ρˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ (устройства Ρ„Π»ΠΎΠΏΠΏΠΈ-диск Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ся с Π²Π΅Ρ€ΡΠΈΠΈ 7.0).

Π’ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… TrueCrypt 6.2 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ входят AES, Serpent ΠΈ Twofish. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±Π»ΠΎΠΊΠ° 64 Π±ΠΈΡ‚Π° (Π’Ρ€ΠΎΠΉΠ½ΠΎΠΉ DES, Blowfish, CAST5). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС каскадного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΡˆΠΈΡ„Ρ€Π°ΠΌΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ: AES+Twofish+Serpent.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: HMAC-RIPEMD-160, HMAC-Whirlpool, HMAC-SHA-512 для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, соли ΠΈ ΠΊΠ»ΡŽΡ‡Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

Для доступа ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ (ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ„Ρ€Π°Π·Ρƒ), ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько) ΠΈΠ»ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ.

1.7 Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎ Π³Π»Π°Π²Π΅

Π‘ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ всС большС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚Π° прСдс тавляСтся Π² ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ — Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… носитСлях ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. НаиболСС подходящим Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… прСдприятий, Π³Π΄Π΅ происходит большой ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ², Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° быстрого ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² с Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΉ высокой ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ для обСспСчСния криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ².

Для обСспСчСния высокой надСТности цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π²ΡƒΡ…ΡΡ‚Π°ΠΏΠ½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ USB-ΠΊΠ»ΡŽΡ‡Π°, обСспСчивая ΠΏΡ€ΠΈ этом Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ самого ΠΊΠ»ΡŽΡ‡Π° ΠΎΡ‚ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹.

Для выполнСния этих Π·Π°Π΄Π°Ρ‡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ самыС послСдниС достиТСния Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. НСобходимо ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… уязвимости ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ.

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ криптографичСского ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΡΡ‚ΠΎΡ‚Π΅ ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΠΈ структуры ΠŸΠ‘.

1.8 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Данная прСддипломная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° «ΠšΡ€ΠΈΠΏΡ‚ографичСская Π·Π°Ρ‰ΠΈΡ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ двухэтапной Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ» ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, дСлая Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ криптографичСских ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ… Π»ΠΈΡ† ΠΊ ΡΡ‚ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ соврСмСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ Π΄Π²ΡƒΡ…ΡΡ‚Π°ΠΏΠ½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ:

— ΠΎΠ±Π·ΠΎΡ€ примСняСмых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²;

— Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ;

— ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ° ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

Для обСспСчСния криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ стойкиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ IDEA ΠΈ RC6. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ свой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ послСднСго Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ ΠΏΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ нСдостатки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ECB-Ρ€Π΅ΠΆΠΈΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π² Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈΠ½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ являСтся постоянноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° USB-ΠΊΠ»ΡŽΡ‡Π΅, благодаря Ρ‡Π΅ΠΌΡƒ обСспСчиваСтся Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π²Π·Π»ΠΎΠΌΠ° ΠΊΠ»ΡŽΡ‡Π° Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… вычислСний ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стойкая Ρ…ΡΡˆ-функция SHA-512.

Для обСспСчСния контроля цСлостности использован Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ CRC-64.

2. АлгоритмичСская рСализация криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ…ΡΡˆ-суммы, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

2.1 Алгоритм Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SHA-512

Π₯эш-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сСмСйства SHA-512 относится ΠΊ ΡΠ΅ΠΌΠ΅ΠΉΡΡ‚Π²Ρƒ Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ SHA-2. SHA-512 построСна Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ структуры ΠœΠ΅Ρ€ΠΊΠ»Π°-Π”Π°ΠΌΠ³Π°Ρ€Π΄Π°.

НСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, исходноС сообщСниС дополняСтся Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ся Π½Π° Π±Π»ΠΎΠΊΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° 16 слов. Алгоритм пропускаСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ сообщСния Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» с 80-ю Ρ€Π°ΡƒΠ½Π΄Π°ΠΌΠΈ. На ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ 2 слова ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ, ΠΏΡ€ΠΈ этом Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ прСобразования Π·Π°Π΄Π°ΡŽΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ слова. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ сумма являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Алгоритм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

— — конкатСнация;

— + — слоТСниС;

— and — ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ «Π˜»;

— or — ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ «Π˜Π›Π˜»;

— xor — ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ «Π˜Π›Π˜»;

— shr (Shift Right) — логичСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ;

— rotr (Rotate Right) — цикличСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ.

ΠžΠ±Ρ‰Π°Ρ схСма ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ SHA-512 прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 7.

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SHA-2 ΠΈ SHA-512 Π² Ρ‡Π°ΡΡ‚ности ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ Π½Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Однако, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ исслСдования ΠΏΠΎ ΠΊΡ€ΠΈΠΏΡ‚остойкости Π΄Π°Π½Π½Ρ‹Ρ… Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ критичСских уязвимостСй Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SHA-512. ВмСстС с Ρ‚Π΅ΠΌ, Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ вСдутся Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡŽ ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ SHA-2.

Рисунок 7 — Одна итСрация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° SHA-512.

2.2 Алгоритм ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы CRC-64

ЦикличСский ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (Π°Π½Π³Π». Cyclic redundancy code, CRC) — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Алгоритм CRC ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ всС ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ошибки, Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ошибки ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠΈ Π² Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠΌ числС Π±ΠΈΡ‚ΠΎΠ².

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ цикличСскиС ΠΊΠΎΠ΄Ρ‹ достаточно ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π΅Π³ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для обозначСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ разновидности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ цикличСский ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ) избыточности.

Алгоритм CRC базируСтся Π½Π° ΡΠ²ΠΎΠΉΡΡ‚Π²Π°Ρ… дСлСния с ΠΎΡΡ‚Π°Ρ‚ΠΊΠΎΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ΠΎΠ² Π½Π°Π΄ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ΠΌ GF (2). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CRC являСтся ΠΏΠΎ ΡΡƒΡ‚ΠΈ остатком ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, Π½Π° Π½Π΅ΠΊΠΈΠΉ фиксированный ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½.

КаТдой ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΈΡ‚ΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ сопоставляСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ коэффициСнтов ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прСдставляСт собой ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. НапримСр, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² 1 011 010 соотвСтствуСт ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Ρƒ:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ΠΎΠ² стСпСни мСньшСй N Ρ€Π°Π²Π½ΠΎ 2N, Ρ‡Ρ‚ΠΎ совпадаСт с Ρ‡ΠΈΡΠ»ΠΎΠΌ всСх Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ N.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CRC с ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ΠΎΠΌ G (x) стСпСни N ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся ΠΊΠ°ΠΊ битовая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρ‹ N, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ R (x), ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Π² ΠΎΡΡ‚Π°Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Π° P (x), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π±ΠΈΡ‚, Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ G (x):

Π³Π΄Π΅:

— ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CRC;

— ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½, коэффициСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅;

— ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½;

— ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Π°.

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ осущСствляСтся приписываниСм Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ качСство Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.

ΠŸΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ с ΠΎΡΡ‚Π°Ρ‚ΠΊΠΎΠΌ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Π°-остатка строго мСньшС стСпСни ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Π°-дСлитСля, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½ G (x) стСпСни N ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 2N Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… остатков ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠŸΡ€ΠΈ «ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ» Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Π° G (x), остатки ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ свойствами Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ — Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒΡŽ ΠΈ Π±Ρ‹ΡΡ‚Ρ€Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ вычислСния. Высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ вычислСния обСспСчиваСтся Ρ‚Π΅ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ‡Π»Π΅Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π° Π΄Π»ΠΈΠ½Π΅ Π±Π°ΠΉΡ‚Π° ΠΈΠ»ΠΈ машинного слова (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 8, 16, 32 ΠΈΠ»ΠΈ 64).

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ дСлСния Π½Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ эквивалСнтна ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмС: ΠΏΡƒΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» Π΄Π΅ Π‘Ρ€Π΅ΠΉΠ½Π° 10 111 001 011 100… ΠΈ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… 111 110, построСна Ρ‚Π°Π±Π»ΠΈΡ†Π°, вСрхняя строка Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π±Π»ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½ΠΈΠΆΠ½ΠΈΠ΅ строки — смСщСния Π½Π° 0,1,2 Π±ΠΈΡ‚ Ρ†ΠΈΠΊΠ»Π° Π΄Π΅ Π‘Ρ€Π΅ΠΉΠ½Π°:

Π’ΠΎΠ³Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ XOR Ρ‚Π΅Ρ… столбцов, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строкС располоТСна 1. Π’ ΡΡ‚ΠΎΠΌ случаС, 010 xor 101 xor 011 xor 111 xor 110 = 101 (CRC).

Π’ Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ, ΠΊΠ°ΠΊ цикличСскиС ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ стандартов, сами ΠΎΠ½ΠΈ Π½Π΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΠ»Π°Π½Π΅ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ стСпСни ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°. НапримСр, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ описания ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° для CRC-12, Π΄Π΅ΡΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ CRC-16 ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ — CRC-32.

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ…, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… рСализациях вычислСниС CRC ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΈ пост-ΠΈΠ½Π²Π΅Ρ€ΡΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ порядок ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΈΡ‚ΠΎΠ². Π’ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Ρ… рСализациях CRC для услоТнСния Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΈΠ½ΠΎΠ³Π΄Π° примСняСтся Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ΅ вычислСниС Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ криптостойкости Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ это Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚. Π’ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ CRC-64-ECMA-182 (0xC96C5795D7870F42).

2.3 Алгоритм ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ RC6

RC6 — симмСтричный Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ криптографичСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RC5. Π‘Ρ‹Π» создан Π ΠΎΠ½ΠΎΠΌ РивСстом, ΠœΡΡ‚Ρ‚ΠΎΠΌ Π ΠΎΠ±ΡˆΠ°Ρƒ ΠΈ Π ΡΠ΅ΠΌ Π‘ΠΈΠ΄Π½Π΅Π΅ΠΌ для удовлСтворСния Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ конкурса Advanced Encryption Standard (AES). Алгоритм Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΡ‚ΠΈ финалистов конкурса, Π±Ρ‹Π» Ρ‚Π°ΠΊΠΆΠ΅ прСдставлСн NESSIE ΠΈ CRYPTREC.

RC6 — ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ парамСтризированная сСмья Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Для спСцификации Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, принято ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

RC6-w/r/b,

Π³Π΄Π΅:

w — Π΄Π»ΠΈΠ½Π° машинного слова Π² Π±ΠΈΡ‚Π°Ρ…;

r — число Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²;

b — Π΄Π»ΠΈΠ½Π° ΠΊΠ»ΡŽΡ‡Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния 0.255 Π±Π°ΠΉΡ‚.

ΠžΠ±Ρ‰Π°Ρ схСма Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RC6 прСдставлСна Π½Π° Π ΠΈΡΡƒΠ½ΠΊΠ΅ 8.

Рисунок 8 — ΠžΠ±Ρ‰Π°Ρ схСма RC6.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RC6, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» заявлСн Π½Π° AES, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 128 Π±ΠΈΡ‚ ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 128, 192 ΠΈ 256 Π±ΠΈΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ содСрТит 20 Ρ€Π°ΡƒΠ½Π΄ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ

RC6−128/20/b,

Π³Π΄Π΅ b=128,192 ΠΈΠ»ΠΈ 256 Π±ΠΈΡ‚. Π’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π°Ρ‚Π°ΠΊ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ. Π‘Ρ‹Π»ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π°Ρ‚Π°ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹Ρ… вСрсий Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹ΠΌ количСством Ρ€Π°ΡƒΠ½Π΄ΠΎΠ².

ΠŸΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ нападСния Π½Π° RΠ‘6, доступный для ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°, являСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ b-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ массив S [0,…, 43], ΠΊΠΎΠ³Π΄Π° прСдоставлСнный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ особСнно Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ RC6 ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ бСзопасным Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ.

2.4 Алгоритм ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ IDEA

IDEA — симмСтричный Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π°ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡˆΠ²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΎΠΉ Ρ„ΠΈΡ€ΠΌΠΎΠΉ Ascom. Π˜Π·Π²Π΅ΡΡ‚Π΅Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ примСнялся Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ PGP. Π’ Π½ΠΎΡΠ±Ρ€Π΅ 2000 Π³ΠΎΠ΄Π° IDEA Π±Ρ‹Π» прСдставлСн Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ NESSIE Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ЕвропСйской комиссии IST.

ΠžΠ±Ρ‰Π°Ρ структура Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 9.

Рисунок 9 — ΠžΠ±Ρ‰Π°Ρ схСма IDEA.

ΠŸΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² 1990 Π³ΠΎΠ΄Ρƒ Π›Π°ΠΉ ΠΈ Π”ТСймс Мэсси ΠΈΠ· Π¨Π²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΎΠ³ΠΎ института ETH Zurich Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π·Π°ΠΌΠ΅Π½Ρ‹ DES. Алгоритм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 128 Π±ΠΈΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π»ΠΈΠ½ΠΎΠΉ 64 Π±ΠΈΡ‚Π°.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ исходный 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ дСлится Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ° ΠΏΠΎ 16 Π±ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС алгСбраичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ Π½Π°Π΄ 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ числами. Для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„рования IDEA ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² IDEA являСтся использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… алгСбраичСских Π³Ρ€ΡƒΠΏΠΏ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

— ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ;

— ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ;

— ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ (XOR).

Π­Ρ‚ΠΈ Ρ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ нСсовмСстимы Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ:

— Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Π²Π΅ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ дистрибутивному Π·Π°ΠΊΠΎΠ½Ρƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ:

— a*(b+c) <> (a*b)+(a*c)

— Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Π²Π΅ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ ассоциативному Π·Π°ΠΊΠΎΠ½Ρƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ:

— a+(b XOR c) <> (a+b) XOR c.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этих Ρ‚Ρ€Π΅Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ затрудняСт ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΠ· IDEA ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с DES, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основан ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜, Π° Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ S-Π±Π»ΠΎΠΊΠΎΠ² ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† Π·Π°ΠΌΠ΅Π½Ρ‹.

Π‘Π°ΠΌ процСсс ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ состоит ΠΈΠ· Π²ΠΎΡΡŒΠΌΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ€Π°ΡƒΠ½Π΄ΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ прСобразования. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Π½Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСкст дСлится Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ 64 Π±ΠΈΡ‚Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ дСлится Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ° ΠΏΠΎ 16 Π±ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π°ΡƒΠ½Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ свои ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ согласно Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Над 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π½Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста производятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

— ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 216 + 1 = 65 537, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ вмСсто нуля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 216;

— ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 216;

— ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜.

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°ΡƒΠ½Π΄Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ имССтся Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠΈ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°ΡƒΠ½Π΄Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ прСдставляСт собой ΡƒΠΊΠΎΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°ΡƒΠ½Π΄, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠ° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ восьмого Ρ€Π°ΡƒΠ½Π΄Π° ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ опСрациям:

— ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 216 +1;

— ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 216.

ПослС выполнСния Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ прСобразования конкатСнация всСх Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΠΎΠ΄Π±Π»ΠΎΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ прСдставляСт собой 64 Π±ΠΈΡ‚Π° Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π—Π°Ρ‚Π΅ΠΌ бСрСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π½Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ повторяСтся. Π’Π°ΠΊ продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ всС 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ исходного тСкста.

К Π½Π΅ΠΎΡΠΏΠΎΡ€ΠΈΠΌΡ‹ΠΌ достоинствам IDEA стоит отнСсти ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π°Ρ‚Π°ΠΊΠ°ΠΌ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. К Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠ°ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° принято ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ.

3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½Π°Ρ рСализация криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ описаны ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ CRC64, RC6, IDEA, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

3.1 Π’Ρ‹Π±ΠΎΡ€ обоснования языка программирования

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поставлСнных Π·Π°Π΄Π°Ρ‡, Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ язык программирования Object Pascal ΠΈ ΡΡ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Borland Delphi 7.

Object Pascal — язык программирования примСняСмый для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ ΠžΠ‘ Windows любой слоТности. Π―Π·Ρ‹ΠΊ заслуТил большоС ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² самых Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Являясь ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… популярных языков программирования, Object Pascal ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. На ΡΠ·Ρ‹ΠΊΠ΅ Object Pascal написаны Ρ‚Π°ΠΊΠΈΠ΅ извСстныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠ°ΠΊ: Total Commander, Light Alloy, The KMPlayer, AIMP, QIP, R&Q, The Bat!, ALZip, PowerArchiver, PeaZip, Dev-C++, Skype (графичСский интСрфСйс). ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСния языка ΡˆΠΈΡ€ΠΎΠΊΠ° ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ написаниС ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€). НаписанныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ быстры ΠΈ Π»Π΅Π³ΠΊΠΈ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, благодаря особСнностям языка, Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НаписанныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΡƒΡŽ структуру, Π° ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹.

3.2 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…

Если аутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π°, производится Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ПослС Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ — ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅/Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²/ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

3.3 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ структуры Π΄Π°Π½Π½Ρ‹Ρ….

Данная структура описываСт Ρ„Π°ΠΉΠ» qwallke.qwkey.

Поля структуры:

USB_key = record

Key_RC: Array [1.8] of cardinal; //256bit ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ RC6

Key_IDEA: Array [1.4] of cardinal;//128bit ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ IDEA

Key_CONST: Array [1.4] of cardinal;//128bit Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

CRC642: int64; //64bit ΠΊΠΎΠ½Ρ‚ сумма ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π²Ρ‹ΡˆΠ΅

Key_counter: cardinal; //32bit счСтчик — мСняСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСанс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ

data_key: cardinal;//32bit Π΄Π°Ρ‚Π° создания ΠΊΠ»ΡŽΡ‡Π° Π”Π”ΠœΠœΠ“Π“

Control_hash: string[128]; //512bit

Familiy: string[60];

Name: string[30];

CRC641: int64;//64 end;

3.4 ΠžΠ±Ρ‰Π°Ρ схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства

ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ происходит поиск устройств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ USB-ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ ΠΎΡ‚крываСтся Ρ„ΠΎΡ€ΠΌΠ° Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Если ΠΏΠ°Ρ€Π° Π»ΠΎΠ³ΠΈΠ½-ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π²Π²Π΅Π΄Π΅Π½Π° Π²Π΅Ρ€Π½ΠΎ ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ USB-ΠΊΠ»ΡŽΡ‡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π΅Π½, происходит Π²Ρ…ΠΎΠ΄ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся Ρ‚Ρ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, ΠΏΠΎ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Π½ΠΈΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… происходит ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° отводится ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π»ΠΈΠΌΠΈΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Π½ΠΈΠΈ Π»ΠΈΠΌΠΈΡ‚Π° происходит ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π”Π°Π»Π΅Π΅ систСма ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π΅Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ/Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ создания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠžΠ±Ρ‰Π°Ρ схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства прСдставлСна Π½Π° Π ΠΈΡΡƒΠ½ΠΊΠ΅ 10.

Π’Ρ…ΠΎΠ΄ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ USB-ΠΊΠ»ΡŽΡ‡Π°

НСт Π”Π° Π”Π° Π ΠΈΡΡƒΠ½ΠΎΠΊ 10 — ΠžΠ±Ρ‰Π°Ρ схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ срСдства.

3.5 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ USB-ΠΊΠ»ΡŽΡ‡Π° ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ USB-ΠΊΠ»ΡŽΡ‡», запускаСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° создания USB-ΠΊΠ»ΡŽΡ‡Π°.

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля трСбуСтся ввСсти свои Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Ѐамилию ΠΈ Π˜ΠΌΡ), Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ USB. Π—Π°Ρ‚Π΅ΠΌ происходит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° вСрности Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ВрСбования ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

— Π΄Π»ΠΈΠ½Π° Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ ΠΎΡ‚ 7 Π΄ΠΎ 50 символов;

— Π΄Π»ΠΈΠ½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΎΡ‚ 2 Π΄ΠΎ 30 символов;

— Π΄Π»ΠΈΠ½Π° Π»ΠΎΠ³ΠΈΠ½Π° ΠΎΡ‚ 5 Π΄ΠΎ 50 символов;

— Π΄Π»ΠΈΠ½Π° пароля ΠΎΡ‚ 8 Π΄ΠΎ 30 символов.

ΠŸΡ€ΠΈ этом Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ поля) происходит ΠΎΡ†Π΅Π½ΠΊΠ° надСТности пароля, ΠΈΠ»ΠΈ соотвСтствия ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅ пароля.

Если всС Π΄Π°Π½Π½Ρ‹Π΅ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π²Π΅Ρ€Π½ΠΎ, гСнСрируСтся S-key: вычисляСтся Ρ…ΡΡˆ-функция Π² 512 Π±ΠΈΡ‚ ΠΎΡ‚ <�сСансовый счСтчик> + <�соль> + <οΏ½Π»ΠΎΠ³ΠΈΠ½> + <�соль> + <οΏ½ΠΏΠ°Ρ€ΠΎΠ»ΡŒ> + <�соль> + < id USB-ΠΊΠ»ΡŽΡ‡Π°>.

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ: 256-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RC6, 128-Π±ΠΈΡ‚Π½Ρ‹ΠΉ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° IDEA ΠΈ 128-Π±ΠΈΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ВычисляСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма ΠΎΡ‚ ΡΡ‚ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… (CRC642). ПослС Ρ‡Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ S-key ΠΏΡƒΡ‚Π΅ΠΌ налоТСния Π³Π°ΠΌΠΌΡ‹.

БСрСтся врСмСнная ΠΌΠ΅Ρ‚ΠΊΠ° — Π΄Π°Ρ‚Π° создания USB-ΠΊΠ»ΡŽΡ‡Π°. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ вычислСниС Ρ…ΡΡˆΠ° доступа (LiteKey) — SHA-512 ΠΎΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…: Π»ΠΎΠ³ΠΈΠ½ Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ + ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ + соль + id USB-ΠΊΠ»ΡŽΡ‡Π°. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ…ΡΡˆΠ° доступа (LiteKey) ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ поля Π΄Π°Π½Π½Ρ‹Ρ…: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма (CRC642), сСансовый счСтчик, врСмСнная ΠΌΠ΅Ρ‚ΠΊΠ°.

Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ вычисляСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма (CRC641).

ВычисляСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡΡˆ (ControlHash) — SHA-512 ΠΎΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…: соль + ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ + Π»ΠΎΠ³ΠΈΠ½ Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ + соль + id USB-ΠΊΠ»ΡŽΡ‡Π°.

На ΡΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° создания USB-ΠΊΠ»ΡŽΡ‡Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. ΠžΠ±Ρ‰Π°Ρ схСма USB-ΠΊΠ»ΡŽΡ‡Π° прСдставлСна Π½Π° Π ΠΈΡΡƒΠ½ΠΊΠ΅ 11.

Рисунок 11 — Π‘Ρ…Π΅ΠΌΠ° USB-ΠΊΠ»ΡŽΡ‡Π°.

3.6 Π’Ρ…ΠΎΠ΄ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ

ΠŸΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ выполняСтся двухэтапная аутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ даСтся Ρ‚Ρ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎ 50 сСкунд Π½Π° Π²Ρ…ΠΎΠ΄ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ. По ΠΈΡΡ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π»ΠΈΠΌΠΈΡ‚Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, происходит Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом провСряСтся Π»ΠΈΠΌΠΈΡ‚ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π²Ρ…ΠΎΠ΄Π°: Ссли Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π΅Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ — происходит Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ USB провСряСтся Π½Π° ΠΏΡ€ΠΈΡ‡Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊ USB-ΠΊΠ»ΡŽΡ‡Π°ΠΌ.

Если всС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ этапы ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Ρ‹, происходит подсчСт цСлостности Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ USB-ΠΊΠ»ΡŽΡ‡Π° (CRC641). ΠŸΡ€ΠΈ совпадСнии происходит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π»ΠΎΠ³ΠΈΠ½Π°-пароля — для этого рассчитываСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡΡˆ (ControlHash) ΠΈ ΡΠ²Π΅Ρ€ΡΠ΅Ρ‚ся со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° USB-ΠΊΠ»ΡŽΡ‡Π΅.

Π—Π°Ρ‚Π΅ΠΌ происходит гСнСрация Ρ…ΡΡˆΠ° доступа (LiteKey) ΠΈ S-key, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля USB-ΠΊΠ»ΡŽΡ‡Π°. ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ гСнСрация Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния сСансового счСтчика. ПослС Ρ‡Π΅Π³ΠΎ гСнСрируСтся Π½ΠΎΠ²Ρ‹ΠΉ S-key, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΏΠΎΠ»Π΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ старым Ρ…ΡΡˆΠ΅ΠΌ доступа (LiteKey) Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ сСансовый счСтчик. ВычисляСтся новая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма (CRC642).

Π’ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

3.7 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ структуры ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ измСнСния частСй исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· нСобходимости измСнСния всСго ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ:

— CryptoAPI — Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для вычислСния Ρ…ΡΡˆ-суммы SHA-512 (FIPS PUB 180−2). ΠœΠΎΠ΄ΡƒΠ»ΡŒ взят ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ HashLib! 1.03 (© Alex Demchenko, 2002, Moldova, Chishinev) ΠΈ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² Ρ†Π΅Π»ΡΡ… удобства ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ;

— CRC64 — Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы CRC64;

— RC6 — Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ/Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6;

— IDEA — Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ/Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ IDEA;

— FolderActions — ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обСспСчиваСт созданиС Π°Ρ€Ρ…ΠΈΠ²Π°;

— Unit3 — ΠΌΠΎΠ΄ΡƒΠ»ΡŒ позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ USB-ΠΊΠ»ΡŽΡ‡;

3.7.1 ΠœΠΎΠ΄ΡƒΠ»ΡŒ вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы

ΠœΠΎΠ΄ΡƒΠ»ΡŒ CRC64. pas позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ сумму CRC64 Ρ„Π°ΠΉΠ»Π°. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ примСняСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1.

Π’Π°Π±Π»ΠΈΡ†Π° 1 — ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ модуля CRC64. pas

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

ОписаниС

CRC64Stream

const Source: TStream — имя Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ бСрСтся сумма;

Count: Integer — Ρ€Π°Π·ΠΌΠ΅Ρ€ этого Ρ„Π°ΠΉΠ»Π°;

const BufSize: Cardinal = 1024 — Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°

CRC64Stream: Int64 — итоговая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма Ρ„Π°ΠΉΠ»Π°

Основная функция модуля — выполняСт подсчСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы Ρ„Π°ΠΉΠ»Π°

CRC64Next

const Data — Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для расчСта ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ значСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы;

const Count: Cardinal — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ счСтчика.

CRC64: Int64 — ΠΈΡ‚ΠΎΠ³ вычислСний.

ВычислСниС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

3.7.2 ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ RC6

ΠœΠΎΠ΄ΡƒΠ»ΡŒ RC6. pas позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ примСняСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 2.

Π’Π°Π±Π»ΠΈΡ†Π° 2 — ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ модуля RC6. pas

Ѐункция ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

ОписаниС

CalculateSubKeys

KeyPtr: PChar — исходный ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

S: array[0.KeyLength-1] of LongWord — Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° выполняСт Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ основного ΠΊΠ»ΡŽΡ‡Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ.

DecipherBlock

Block: array[1.4] of LongWord — Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ….

DecipherBlock: Boolean — ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ….

ВыполняСтся Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6.

EncipherBlock

Block: array[1.4] of LongWord — Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ….

EncipherBlock: Boolean — ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ….

ВыполняСтся ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6.

EncryptCopy

DestStream, SourseStream: TStream — ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΈ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

Count: Int64 — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…;

Key: string — ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

EncryptCopy: Boolean — ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ согласно Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6.

DecryptCopy

DestStream, SourseStream: TStream — ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΈ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

Count: Int64 — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…;

Key: string — ΠΊΠ»ΡŽΡ‡ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

DecryptCopy: Boolean — ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ согласно Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6.

EncryptStream

DataStream: TStream — ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

Count: Int64 — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ°;

Key: string — ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

KCONST: Array of cardinal — Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

EncryptStream: Boolean — ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ВыполняСт ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… согласно Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6.

DecryptStream

DataStream: TStream — ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

Count: Int64 — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ°;

Key: string — ΠΊΠ»ΡŽΡ‡ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

KCONST: Array of cardinal — Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

DecryptStream: Boolean — ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ВыполняСт Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… согласно Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ RC6.

Initialize

AKey: string — ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

KeyPtr: PChar — Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎ 64 Π±Π°ΠΉΡ‚.

3.7.3 ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ IDEA

ΠœΠΎΠ΄ΡƒΠ»ΡŒ IDEA. pas позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ IDEA. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ примСняСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 3.

Π’Π°Π±Π»ΠΈΡ†Π° 3 — ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ модуля IDEA. pas

Ѐункция ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

ОписаниС

CalculateSubKeys

FKeyPtr: PChar — исходный ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

FKeySize: Integer — Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ»ΡŽΡ‡Π°.

pz: PWord;- Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ;

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° выполняСт Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ основного ΠΊΠ»ΡŽΡ‡Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° Ρ€Π°ΡƒΠ½Π΄ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ.

DecipherBlock

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ