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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов систСмы RSA ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

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

Π’ ΠΊΡ€ΠΈΠΏΡ‚ографичСской систСмС с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник располагаСт ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (Π°Π½Π³Π». public key), Ρ‚Π°ΠΊ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (Π°Π½Π³Π». secret key). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ — это Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ ΠΊΡ€ΠΈΠΏΡ‚ографичСской систСмС RSA ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ состоит ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ Ρ†Π΅Π»Ρ‹Ρ… чисСл. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ участник создаёт свой ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π² ΡΠ΅ΠΊΡ€Π΅Ρ‚Π΅, Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов систСмы RSA ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ˜ΠΠ˜Π‘Π’Π•Π Π‘Π’Π’Πž ΠžΠ‘Π ΠΠ—ΠžΠ’ΠΠΠ˜Π― Π ΠžΠ‘Π‘Π˜Π™Π‘ΠšΠžΠ™ Π€Π•Π”Π•Π ΠΠ¦Π˜Π˜ ΠœΠžΠ‘ΠšΠžΠ’Π‘ΠšΠ˜Π™ Π“ΠžΠ‘Π£Π”ΠΠ Π‘Π’Π’Π•ΠΠΠ«Π™ ИНБВИВУВ Π ΠΠ”Π˜ΠžΠ’Π•Π₯НИКИ, Π­Π›Π•ΠšΠ’Π ΠžΠΠ˜ΠšΠ˜ И ΠΠ’Π’ОМАВИКИ (Π’Π•Π₯ΠΠ˜Π§Π•Π‘ΠšΠ˜Π™ Π£ΠΠ˜Π’Π•Π Π‘Π˜Π’Π•Π’) Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ ИВ Базовая ΠΊΠ°Ρ„Π΅Π΄Ρ€Π° № 244

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Дисциплина: ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

По Ρ‚Π΅ΠΌΠ΅ «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов систСмы RSA ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅»

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚: МинаСв Π‘Π΅Ρ€Π³Π΅ΠΉ ΠšΠΈΡ€ΠΈΠ»Π»ΠΎΠ²ΠΈΡ‡

УчСбная Π³Ρ€ΡƒΠΏΠΏΠ°: ИВО-2−09

ΠŸΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ: ΠŸΠ΅Ρ‚Ρ€Π΅Π½ΠΊΠΎ А.А.

Π”Π°Ρ‚Π° выполнСния: 06.12.11

Москва, 2011

Π—ΠΠ”ΠΠΠ˜Π•

Π½Π° ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ

ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅: ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚: МинаСв Π‘Π΅Ρ€Π³Π΅ΠΉ ΠšΠΈΡ€ΠΈΠ»Π»ΠΎΠ²ΠΈΡ‡ УчСбная Π³Ρ€ΡƒΠΏΠΏΠ°: ИВО-2−09

Π’Π•ΠœΠ: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов систСмы RSA ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

1. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вопросов:

1.1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

1.2. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° коэффициСнтов для ΠΊΠ»ΡŽΡ‡Π° ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

1.3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° входящСго тСкста ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

1.4. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста ΠΈ Ρ€Π°ΡΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

2. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ графичСских ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²:

2.1. Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ RSA

2.2. Алгоритм Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи

2.3. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.4. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΡΠ³Π΅Π½Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ

2.5. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста

2.6. Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π°

3. Π‘Ρ‚Π°Π΄ΠΈΠΈ ΠΈ ΡΡ‚Π°ΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹

3.1. БогласованиС, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ тСхничСского задания 5 сСм. 4 Π½Π΅Π΄.

3.2. Π£Ρ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ с Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ состава ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… 5 сСм. 5 Π½Π΅Π΄.

3.3. ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записки 5 сСм. 15 Π½Π΅Π΄.

3.4. ΠžΠΏΡ‹Ρ‚Π½Π°Ρ эксплуатация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ издСлия 5 сСм. 15 Π½Π΅Π΄.

3.5. Π—Π°Ρ‰ΠΈΡ‚Π° курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ 5 сСм. 15 Π½Π΅Π΄.

Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

2. ΠžΡΠ½ΠΎΠ²Ρ‹ криптографичСских систСм

3. Алгоритм создания ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

3.1 Алгоритм

3.2 Алгоритм ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, тСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

4. Π‘Ρ…Π΅ΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

4.1 Алгоритм для ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

4.2 Алгоритм для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи

5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСйствия систСмы

6. ИспользованиС RSA Π² Π½Π°ΡˆΠ΅ врСмя

6.1 ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ RSA

6.2 ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²Π·Π»ΠΎΠΌΠ° RSA

7. Ѐункция Π­ΠΉΠ»Π΅Ρ€Π°

8. ΠžΡ†Π΅Π½ΠΊΠ° систСмы RSA

8.1 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° систСмы RSA

8.2 НСдостатки использования RSA

8.3. Уязвимости RSA.

9. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ

9.1 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RSA

9.1.1 Класс Program. cs

9.1.2 Класс MainForm. cs

9.2 EvklidLib

9.2.1 EvklidLib. cs

9.3 EncodeDecode

9.3.1 Encoder. cs

9.3.2 EncoderBase. cs

9.3.3 IEncoder. cs

9.3.4 Key. cs

10. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

11. Π’Ρ‹Π²ΠΎΠ΄ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, А ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π“ Π—амСчания ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Π°Ρ Π² Π½ΠΎΡΠ±Ρ€Π΅ 1976 Π³ΠΎΠ΄Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π£ΠΈΡ‚Ρ„ΠΈΠ»Π΄Π° Π”ΠΈΡ„Ρ„ΠΈ ΠΈ ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Π₯Π΅Π»Π»ΠΌΠ°Π½Π° «ΠΠΎΠ²Ρ‹Π΅ направлСния Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ» ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΠ»Π° прСдставлСниС ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ографичСских систСмах, Π·Π°Π»ΠΎΠΆΠΈΠ² основы ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ впослСдствии Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π°-ΠœΠ΅Ρ€ΠΊΠ»Π΅ позволял Π΄Π²ΡƒΠΌ сторонам ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ сСкрСтный ΠΊΠ»ΡŽΡ‡, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» связи. Однако этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π΅ Ρ€Π΅ΡˆΠ°Π» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ подлинности ΠΊΠ»ΡŽΡ‡Π°). Π‘Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠ±ΠΌΠ΅Π½ΡΠ»ΡΡ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ с Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΠΌΡƒ Π±Ρ‹Π» Π½ΡƒΠΆΠ΅Π½.

Π˜Π·ΡƒΡ‡ΠΈΠ² эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, Ρ‚Ρ€ΠΎΠ΅ ΡƒΡ‡Π΅Π½Ρ‹Ρ… Рональд РайвСст (Ronald Linn Rivest), Ади Π¨Π°ΠΌΠΈΡ€ (Adi Shamir) ΠΈ Π›Π΅ΠΎΠ½Π°Ρ€Π΄ АдлСман (Leonard Adleman) ΠΈΠ· ΠœΠ°ΡΡΠ°Ρ‡ΡƒΡΠ΅Ρ‚ского ВСхнологичСского Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚Π° (MIT) приступили ΠΊ ΠΏΠΎΠΈΡΠΊΠ°ΠΌ матСматичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая Π±Ρ‹ позволяла Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π£ΠΈΡ‚Ρ„ΠΈΠ»Π΄ΠΎΠΌ Π”ΠΈΡ„Ρ„ΠΈ ΠΈ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ Π₯Π΅Π»Π»ΠΌΠ°Π½ΠΎΠΌ модСль криптографичСской систСмы с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. ПослС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 40 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ, ΠΈΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, основанный Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΈ Π² Ρ‚ΠΎΠΌ, насколько Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ большиС простыС числа ΠΈ Π½Π°ΡΠΊΠΎΠ»ΡŒΠΊΠΎ слоТно Ρ€Π°ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… простых чисСл, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ впослСдствии Π½Π°Π·Π²Π°Π½ΠΈΠ΅ RSA. БистСма Π±Ρ‹Π»Π° Π½Π°Π·Π²Π°Π½Π° ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π±ΡƒΠΊΠ²Π°ΠΌ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ Π΅Ρ‘ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΉ.

2. ΠžΡΠ½ΠΎΠ²Ρ‹ криптографичСских систСм

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ систСмы с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ свойством:

Если извСстно x, Ρ‚ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ f (x) ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просто.

Если извСстно y=f (x), Ρ‚ΠΎ Π΄Π»Ρ x Π½Π΅Ρ‚ простого ΠΏΡƒΡ‚ΠΈ вычислСния.

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

Π’ ΠΎΡΠ½ΠΎΠ²Ρƒ криптографичСской систСмы с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ RSA ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° умноТСния ΠΈ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΡ составных чисСл Π½Π° ΠΏΡ€ΠΎΡΡ‚Ρ‹Π΅ сомноТитСли, которая являСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.

Π’ ΠΊΡ€ΠΈΠΏΡ‚ографичСской систСмС с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник располагаСт ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (Π°Π½Π³Π». public key), Ρ‚Π°ΠΊ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (Π°Π½Π³Π». secret key). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ — это Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ ΠΊΡ€ΠΈΠΏΡ‚ографичСской систСмС RSA ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ состоит ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ Ρ†Π΅Π»Ρ‹Ρ… чисСл. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ участник создаёт свой ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π² ΡΠ΅ΠΊΡ€Π΅Ρ‚Π΅, Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠΌΡƒ ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ «ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ» Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Π»Π°Π²Π΅: Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡŒ с ΠΈΡΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ создания RSA ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ полоТСниями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ тонкости Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

3. Алгоритм создания ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

3.1 Алгоритм

RSA-ΠΊΠ»ΡŽΡ‡ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1) Π’Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΄Π²Π° случайных простых числа p ΠΈ q Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1024 Π±ΠΈΡ‚Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅).

2) ВычисляСтся ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ n = pq, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ называСтся ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ.

3) ВычисляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π­ΠΉΠ»Π΅Ρ€Π° ΠΎΡ‚ Ρ‡ΠΈΡΠ»Π° n:

4) ВыбираСтся Ρ†Π΅Π»ΠΎΠ΅ число e, Ρ‚Π°ΠΊΠΎΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·Π°ΠΈΠΌΠ½ΠΎ простоС со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ e Π±Π΅Ρ€ΡƒΡ‚ простыС числа, содСрТащиС нСбольшоС количСство Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ записи, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, простыС числа Π€Π΅Ρ€ΠΌΠ° 17, 257, ΠΈΠ»ΠΈ 65 537. Число e Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΉ. МалСнькиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ e (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 3) Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡΠ»Π°Π±Π»ΡΡŽΡ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ RSA (см. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΠΈ RSA.).

5) ВычисляСм число d, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ удволСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π³Π΄Π΅ k — Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число (Π½Π΅Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΎΠ΅, ΠΈΠ±ΠΎ d Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅). Оно называСтся сСкрСтной экспонСнтой. Π§Π°Ρ‰Π΅ всСго считаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π•Π²ΠΊΠ»ΠΈΠ΄Π°.

6) ΠŸΠ°Ρ€Π° P = (e, n) публикуСтся Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° RSA (Π°Π½Π³Π». RSA public key).

7) ΠŸΠ°Ρ€Π° S = (d, n) ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ сСкрСтного ΠΊΠ»ΡŽΡ‡Π° RSA (Π°Π½Π³Π». RSA private key) ΠΈ Π΄Π΅Ρ€ΠΆΠΈΡ‚ся Π² ΡΠ΅ΠΊΡ€Π΅Ρ‚Π΅.

3.2 Алгоритм ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, тСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

Для защищСнности ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, p ΠΈ q Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ числами, ΠΈΠ½Π°Ρ‡Π΅ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π€Π΅Ρ€ΠΌΠ°. (ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π€Π΅Ρ€ΠΌΠ° Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа n ΡΠΎΡΡ‚ΠΎΠΈΡ‚ Π² ΠΏΠΎΠΈΡΠΊΠ΅ Ρ‚Π°ΠΊΠΈΡ… Ρ†Π΅Π»Ρ‹Ρ… чисСл x ΠΈ y, Ρ‡Ρ‚ΠΎ x2? y2 = n, Ρ‡Ρ‚ΠΎ Π²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΡŽ .) Но, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ числа Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ попадания ΠΈΡ… Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» становится ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ°Π»Π° (см. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΠΈ RSA.)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π­ΠΉΠ»Π΅Ρ€Π° посвящСн ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» Ρ€Π°Π±ΠΎΡ‚Ρ‹ (см. Π€ΡƒΠ½ΠΊΡ†ΠΈΡ Π­ΠΉΠ»Π΅Ρ€Π°.)

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π•Π²ΠΊΠ»ΠΈΠ΄Π° — это частный случай Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π•Π²ΠΊΠ»ΠΈΠ΄Π°. Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ прСдставляСт собой схСму нахоТдСния ряда чисСл, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ с Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… a ΠΈ b, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ…, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€Π°Π²ΠΈΠ»Π° — ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ число, получаСтся ΠΊΠ°ΠΊ остаток ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅:

Π’ΠΎ Π΅ΡΡ‚ΡŒ:

a = bq0 + r1

b = r1q1 + r2

r1 = r2q2 + r3

rk? 2 = rk? 1qk? 1 + rk

rn? 1 = rnqn

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π•Π²ΠΊΠ»ΠΈΠ΄Π° рассчитываСтся ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ:

r1 = a + b (- q0)

r2 = b? r1q1 = a (? q1) + b (1 + q1q0)

gcd (a, b) = rn = as + bt

Π³Π΄Π΅ s ΠΈ t — Ρ†Π΅Π»Ρ‹Π΅. Π­Ρ‚ΠΎ прСдставлСниС наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ дСлитСля называСтся ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π‘Π΅Π·Ρƒ, Π° Ρ‡ΠΈΡΠ»Π° s ΠΈ t — коэффициСнтами Π‘Π΅Π·Ρƒ. Π‘ΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π‘Π΅Π·Ρƒ являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Π² Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ Π»Π΅ΠΌΠΌΡ‹ Π•Π²ΠΊΠ»ΠΈΠ΄Π° ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡ‹ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π³Π»Π°Π²Π΅: Π² ΡΡ‚ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ»ΠΈ основныС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ для создания RSA ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

4. Π‘Ρ…Π΅ΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

4.1 Алгоритм для ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Π’ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, А ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сообщСния М, трСбуСтся Π²Π·ΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ (e, n) стороны А.

ΠŸΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСниС М Π² Π²ΠΈΠ΄:

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ сторона ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² свой собствСнный сСкрСтный ΠΊΠ»ΡŽΡ‡ (d, n), Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

Оба уравнСния (1) ΠΈ (2) основаны Π½Π° ΡΠ°ΠΌΠΎΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ систСмы RSA — Π·Π° ΡΡ‡Π΅Ρ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ (Π³Π΄Π΅ D — это Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°, E — ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°, М — сообщСниС, Π° P ΠΈ S — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡):

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

Рис. 1 Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ RSA

4.2 Алгоритм для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи

Π‘Ρ…Π΅ΠΌΠ° остаСтся схоТСй для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, сторонС, А Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ сторонС Π’, с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью.

Алгоритм:

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π°, А ΡΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ подпись с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ своСго сСкрСтного ΠΊΠ»ΡŽΡ‡Π°

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠ°Ρ€Ρƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ.

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π° Π’ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Ρƒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° стороны, А Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ подпись стороны А, ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

И ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π΅Π΅ ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ:

Рис. 2 Алгоритм Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π΅ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΎ, Π½ΠΎ ΡΠΎΡ‡Π΅Ρ‚ая ΠΎΠ±Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠ°ΠΌΠΎ сообщСниС ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ подпись — для удваивания Π·Π°Ρ‰ΠΈΡ‚Ρ‹.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ Π³Π»Π°Π²Π΅: Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π»ΠΈ основной ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΠ»ΡŽΡ‡Π°Ρ… ΠΈ ΠΈΡ… ΠΎΠ±Ρ‰ΡƒΡŽ схСму.

5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСйствия систСмы

Π­Ρ‚Π°ΠΏ

ОписаниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ГСнСрация ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Π²Π° простых числа

Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π­ΠΉΠ»Π΅Ρ€Π°

Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сСкрСтный ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡

ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ сСкрСтный ΠΊΠ»ΡŽΡ‡

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ тСкст для Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ

Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚

Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ исходноС сообщСниС

ГСнСрация ΠΊΠ»ΡŽΡ‡Π΅ΠΉ происходит Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΈ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎ, процСссы ΠΆΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ-Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ производятся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ производятся ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ простым схСмам ΠΈ Π±Ρ‹ΡΡ‚Ρ€Π΅Π΅.

ВрСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ быстрого возвСдСния Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ числу Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΡ‚ Π² e.

6. ИспользованиС RSA Π² Π½Π°ΡˆΠ΅ врСмя

6.1 ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ RSA

На 2009 Π³ΠΎΠ΄ систСма ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ RSA считаСтся Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠΉ, начиная с Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² 1024 Π±ΠΈΡ‚Π°.

6.2 ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²Π·Π»ΠΎΠΌΠ° RSA

Π’ ΡΡ‚ΠΎΠΌ Π³ΠΎΠ΄Ρƒ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΡƒΡ‡Ρ‘Π½Ρ‹Ρ… ΠΈΠ· Π¨Π²Π΅ΠΉΡ†Π°Ρ€ΠΈΠΈ, Π―ΠΏΠΎΠ½ΠΈΠΈ, Π€Ρ€Π°Π½Ρ†ΠΈΠΈ, НидСрландов, Π“Π΅Ρ€ΠΌΠ°Π½ΠΈΠΈ ΠΈ Π‘ША ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ криптографичСского ΠΊΠ»ΡŽΡ‡Π° стандарта RSA Π΄Π»ΠΈΠ½ΠΎΠΉ 768 Π±ΠΈΡ‚. По ΡΠ»ΠΎΠ²Π°ΠΌ исслСдоватСлСй, послС ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ систСмы ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ RSA-ΠΊΠ»ΡŽΡ‡ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 1024 Π±ΠΈΡ‚Π° ΠΈ Π±ΠΎΠ»Π΅Π΅. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ ΠΎΡ‚ ΡˆΠΈΡ„рования ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 1024 Π±ΠΈΡ‚ стоит ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΠ΅ Ρ‚Ρ€ΠΈ-Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π³ΠΎΠ΄Π°, Π΄ΠΎ 2013.

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг (Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Ρ€Ρ‹ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² стСпСни 6 ΠΈ 1) Π±Ρ‹Π»ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΡƒΠ³ΠΎΠ΄Π° вычислСний Π½Π° 80 процСссорах, Ρ‡Ρ‚ΠΎ составило ΠΎΠΊΠΎΠ»ΠΎ 3% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ этап Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (просСиваниС), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполнялся Π½Π° ΡΠΎΡ‚нях ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²ΡƒΡ… Π»Π΅Ρ‚. Если ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это врСмя Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСссора AMD Opteron 2.2Π“Π“Ρ† с 2Π“Π± памяти, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π±Ρ‹ порядка 1500 Π»Π΅Ρ‚. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… послС просСивания для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ рСсурсоёмкого шага (Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹) ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ нСсколько нСдСль Π½Π° ΠΌΠ°Π»ΠΎΠΌ количСствС процСссоров. Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг послС занял Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 12 часов.

Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… кластСрах ΠΈ Π΄Π»ΠΈΠ»ΠΎΡΡŒ Ρ‡ΡƒΡ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ 4 мСсяцСв. ΠŸΡ€ΠΈ этом Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ составил 192 796 550×192 795 550 ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ 27 795 115 920 Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… элСмСнтов (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ 144 Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… элСмСнтов Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ). Для хранСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΆΡ‘стком дискС понадобилось ΠΎΠΊΠΎΠ»ΠΎ 105 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя понадобилось ΠΎΠΊΠΎΠ»ΠΎ 5 Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ сТатых Π΄Π°Π½Π½Ρ‹Ρ… для построСния Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ 232-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ»ΡŽΡ‡, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ доступ ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ 1024-Π±ΠΈΡ‚Π½Ρ‹ΠΉ RSA-ΠΊΠ»ΡŽΡ‡ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π΄Π΅ΠΊΠ°Π΄Ρ‹, Π΄ΠΎ 2020 Π³ΠΎΠ΄Π°.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊ ΡˆΠ΅ΡΡ‚ΠΎΠΉ Π³Π»Π°Π²Π΅: Π² ΡΡ‚ΠΎΠΉ Π³Π»Π°Π²Π΅ Π±Ρ‹Π»ΠΎ рассмотрСно, Ρ‡Ρ‚ΠΎ систСма RSA ΠΈΠΌΠ΅Π΅Ρ‚ свои нСдостатки, Π½ΠΎ Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рСалиях (Π½Π° ΠΊΠΎΠ½Π΅Ρ† 2011 Π³ΠΎΠ΄Π°) ΠΎΠ½Π° считаСтся Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΈ Π½Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΠΉ для Π²Π·Π»ΠΎΠΌΠ°, ΠΏΡ€ΠΈ соблюдСнии особых ΠΏΡ€Π°Π²ΠΈΠ» Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π°.

7. Ѐункция Π­ΠΉΠ»Π΅Ρ€Π°

Ѐункция Π­ΠΉΠ»Π΅Ρ€Π°, Π³Π΄Π΅ n — Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ΅ число, Ρ€Π°Π²Π½Π° количСству Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл, Π½Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… n ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎ простых с Π½ΠΈΠΌ. Названа Π² Ρ‡Π΅ΡΡ‚ΡŒ Π­ΠΉΠ»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ использовал Π΅Π΅ Π² ΡΠ²ΠΎΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ… ΠΏΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ чисСл.

Π£ Π»ΡŽΠ±ΠΎΠ³ΠΎ числа n ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅

n=p0 * p1 * … * pk

Π’ΠΎΠ³Π΄Π° функция

Π³Π΄Π΅ ?i — ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ рассматриваСмого мноТитСля Π² Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ n — называСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π­ΠΉΠ»Π΅Ρ€Π°.

НСкоторыС Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ:

+0

+1

+2

+3

+4

+5

+6

+7

+8

+9

0+

10+

20+

30+

40+

50+

60+

70+

80+

90+

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° p ΠΈ q ΠΏΡ€ΠΎΡΡ‚Ρ‹Π΅, Ρ‚ΠΎ ΠΈ n ΠΏΡ€ΠΎΡΡ‚ΠΎΠ΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ n=p*k.

Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π­ΠΉΠ»Π΅Ρ€Π°, которая ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌΡƒ Π½Π°ΠΌ Π²ΠΈΠ΄Ρƒ:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А.

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

Π’Ρ‹Π²ΠΎΠ΄ ΠΊ ΡΠ΅Π΄ΡŒΠΌΠΎΠΉ Π³Π»Π°Π²Π΅: Π² ΡΡ‚ΠΎΠΉ Π³Π»Π°Π²Ρ‹ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π»ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π­ΠΉΠ»Π΅Ρ€Π°, свойства ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сСкрСтный ΠΊΠ»ΡŽΡ‡.

8. ΠžΡ†Π΅Π½ΠΊΠ° систСмы RSA

8.1 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° систСмы RSA

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°ΠΌΠΈ систСмы RSA ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) БистСма позволяла ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π°, Π½ΠΎ ΠΈ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΠΌΠ΅Π½ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΈΠΌΠ΅Π½Π½ΠΎ с Ρ‚Π΅ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π½ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

2) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ подпись ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ сообщСниС ΠΈ Π² Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Достаточно ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π·Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ подписи ΠΈΠ»ΠΈ сообщСния.

3) Достаточно надСТная ΠΈ Π±Ρ‹ΡΡ‚рая, для своСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, систСма, Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π°Ρ запросам ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ°ΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°.

8.2 НСдостатки использования RSA

1) Из-Π·Π° постоянного роста мощностСй ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ², приходится ΡƒΡΠΈΠ»ΡΡ‚ΡŒ старый ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ услоТнСниСм Π΄Π°Π½Π½Ρ‹Ρ… для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ систСму Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ, Π½ΠΎ ΠΈ ΡƒΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ‚ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ‚ Π΅Π΅ Ρ‚Π΅ΠΌΠΏΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΌ использовании.

2) Из-Π·Π° Π½ΠΈΠ·ΠΊΠΎΠΉ скорости ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (ΠΎΠΊΠΎΠ»ΠΎ 30 ΠΊΠ±ΠΈΡ‚/с ΠΏΡ€ΠΈ 512 Π±ΠΈΡ‚Π½ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅ Π½Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ 2 Π“Π“Ρ†), сообщСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… симмСтричных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² со ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (сСансовый ΠΊΠ»ΡŽΡ‡), Π° Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ RSA ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ лишь этот ΠΊΠ»ΡŽΡ‡. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ уязвимости Π²Π²ΠΈΠ΄Ρƒ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ криптостойкий Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл для формирования случайного сСансового ΠΊΠ»ΡŽΡ‡Π° симмСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ противостоящий Π°Ρ‚Π°ΠΊΠ°ΠΌ симмСтричный ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

8.3 Уязвимости RSA

1) Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, Π½Π° ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ простыС числа ΠΈ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ограничСния:

p ΠΈ q Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ слишком Π±Π»ΠΈΠ·ΠΊΠΈ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ, ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡ… Π½Π°ΠΉΡ‚ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π€Π΅Ρ€ΠΌΠ°. Однако, Ссли ΠΎΠ±Π° простых числа ΠΈ Π±Ρ‹Π»ΠΈ сгСнСрированы нСзависимо, Ρ‚ΠΎ ΡΡ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ с ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ автоматичСски выполняСтся.

НСобходимо Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ «ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅» простыС числа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСльзя Π±Ρ‹Π»ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ p-1 ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠŸΠΎΠ»Π»Π°Ρ€Π΄Π° (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ разлоТСния Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа N Π½Π° ΠΏΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для нахоТдСния простых Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ p, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… p? 1 Ρ…ΠΎΡ€ΠΎΡˆΠΎ раскладываСтся Π½Π° ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ нСбольшой ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ простой Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.). «Π‘ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ» простыми числами Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ простыС числа, Ссли ΠΎΠ½ΠΎ большС, Ρ‡Π΅ΠΌ срСднСС арифмСтичСскоС ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ простого числа. Π’ΠΎ Π΅ΡΡ‚ΡŒ:

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° — рассмотрим ряд простых чисСл 79, 97, 101.

97 > (79+101)/2 = 90, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ 97 — «ΡΠΈΠ»ΡŒΠ½ΠΎΠ΅» простоС число.

2) Если, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ гСнСрирования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹ΠΉ сСрвСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ n=p*q для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ всСх сообщСний. Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π° A ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот сСрвСр для получСния сообщСния M. НС ΡΠΌΠΎΡ‚Ρ€Ρ Π½Π° Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ Π½Π΅ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ, ΡƒΠ·Π½Π°Ρ‚ΡŒ сообщСниС стороны, А ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свои Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ n ΠΈ, зная e, Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ экспонСнту d.

3) Π’ 1990 Π³ΠΎΠ΄Ρƒ ΠœΠΈΡ…Π°ΡΠ»ΡŒ Π’ΠΈΠ½Π΅Ρ€ (Michael J. Wiener) ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΠΌΠ°Π»ΠΎΠ³ΠΎ значСния d Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²Π·Π»ΠΎΠΌ систСмы RSA, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ — Ссли, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (ΠΈΠ»ΠΈ создания Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи), Π±Ρ‹Π»ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΎ число Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния сСкрСтной экспонСнты, Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ эффСктивный случай Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ d.

4) Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ°Π»Ρ‹Π΅ значСния ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ экспонСнты. НаимСньшСС ΠΈΠ· Π½ΠΈΡ… e=3. Однако, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RSA, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ .

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π° отсылаСт Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ свой ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ. Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π° Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ сообщСниС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈ ΠΎΡ‚сылаСт Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ адрСсату. ΠŸΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°Π½Π°Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΡˆΠΈΡ„Ρ€ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ².

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, Ссли всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ экспонСнты Ρ€Π°Π²Π½Ρ‹, ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ .

Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Π°Ρ‚Π°ΠΊΠΈ Π±Ρ‹Π» Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ Π₯астада (Johan Hastad), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π² ΡΡ‚ΠΎΠΌ случаС, ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сообщСниС М ΠΏΡ€ΠΈ достаточном количСствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π­Ρ‚Π° Π°Ρ‚Π°ΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΌΠ°Π»ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ экспонСнты, Π² ΡΡ‚ΠΎΠΌ случаС ΠΊΡ€ΠΈΠΏΡ‚ΠΎΡΡ‚ΠΎΠΉΠΊΠΎΡΡ‚ΡŒ систСмы RSA ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ пСрСстановку, Π° Π½Π΅ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ Π²Ρ‹ΡˆΠ΅.

Π’Π°ΠΊ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ нСсколько Π°Ρ‚Π°ΠΊ Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΡƒ RSA ΠΏΡ€ΠΈ ΠΌΠ°Π»Ρ‹Ρ… Π΅, Π² ΡΠ²ΡΠ·ΠΈ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ мСньшС Π΅, Ρ‚Π΅ΠΌ мСньшС трСбуСтся Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π·Π»ΠΎΠΌ систСмы ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… условиях.

5) Атака ΠΈΠ· ΠΎΠ±Π»Π°ΡΡ‚ΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ — с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ссли ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ построСн, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ RSA, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π¨ΠΎΡ€Π° позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл Π·Π° Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя. Π Π°Π·Π»ΠΎΠΆΠΈΠ² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ n Π½Π° ΠΏΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сСкрСтный ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ d.

6) Одной ΠΈΠ· Π°Ρ‚Π°ΠΊ Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΡƒ являСтся расчСт Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ расчСт сСкрСтной экспонСнты d. Π­Ρ‚Ρƒ Π°Ρ‚Π°ΠΊΡƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Пол ΠšΠΎΡ…Π΅Ρ€ (Paul Kocher). Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Π²Π΅Π»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΈ расчСтС Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вСсь Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ врСмя.

7) Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Π°Ρ‚Π°ΠΊ рСкомСндуСтся Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΏΠΎΠ΄ΠΏΠΈΡΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π·Π°Ρ‰ΠΈΡ‚Ρ‹ — Π²ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° Π΄Π°Ρ‚Ρƒ ΠΈΠ»ΠΈ врСмя, ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ подписи Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, Π±Π»ΠΎΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ подпись для ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° — ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ RSA.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊ Π²ΠΎΡΡŒΠΌΠΎΠΉ Π³Π»Π°Π²Π΅: Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ ΠΏΠΎΠ΄Π²Π΅Π»ΠΈ ΠΈΡ‚ΠΎΠ³ ΠΈ ΡΠ»ΠΎΠΆΠΈΠ»ΠΈ нСзависимоС ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ RSA, рассмотрСв Π΅Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ ΡΠ»Π°Π±Ρ‹Π΅ стороны, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ привСдя ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π²Π·Π»ΠΎΠΌΠ° Π΅Π΅ ΡΠ»Π°Π±Ρ‹Ρ… мСст.

9. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования C#.

РСализация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

9.1 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RSA

9.1.1 Класс Program. cs

Помимо Ρ„ΠΎΡ€ΠΌΡ‹, Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½ΠΎΠΉ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ класс Program.cs. Бостоит ΠΎΠ½ ΠΈΠ· ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, созданных автоматичСски.

9.1.2 Класс MainForm. cs

Π€ΠΎΡ€ΠΌΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса (ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ) выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Рис. 3 Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Код класса MainForm состоит ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для расчСта ΠΊΠΎΠ΄ΠΎΠ², Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

OpenDocument — функция открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

gcd — функция поиска наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ дСлитСля

MutuallySimple — функция поиска числа d/e, Π²Π·Π°ΠΈΠΌΠ½ΠΎ простого ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ.

Checkpq — функция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ p ΠΈ q. Если Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ — Π΄Π°Π½Π½Ρ‹Π΅ числа Π½Π΅ ΠΏΠΎΠ΄Ρ…одят для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ApplyPQButton_Click — функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹Ρ… p ΠΈ q, поиска ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ кодирования Π‘learButton_Click — функция очистки Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π°

CryptButton_Click — основная (внСшняя) функция ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ

DecryptButton_Click — основная (внСшняя) функция Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ

9.2 EvklidLib

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π•Π²ΠΊΠ»ΠΈΠ΄Π°

9.2.1 EvklidLib. cs

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅:

ExtGCD — поиск подходящСго числа ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π•Π²ΠΊΠ»ΠΈΠ΄Π°.

9.3 EncodeDecode

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

9.3.1 Encoder. cs

Класс кодирования (посрСдник)

Π’ Π΄Π°Π½Π½ΠΎΠΌ классС Π΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Encode — функция, которая ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ строку символов (функция посрСдник)

Decode — функция, которая раскодируСт строку символов (функция посрСдник)

9.3.2 EncoderBase. cs

Класс кодирования, основной.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Process — функция кодирования ΠΈ Ρ€Π°ΡΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ снаруТи массива символов. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»ΡŽΡ‡Π°.

ModularExponantiation — функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π°-числа Π½Π° Π±Π°Π·Π΅ ΠΊΠ»ΡŽΡ‡Π°, основная функция ΠΌΠ΅Ρ‚ΠΎΠ΄Π° RSA

9.3.3 IEncoder. cs

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ класса Encode Decode.

криптографичСский ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π°

9.3.4 Key. cs

Класс ΠΊΠ»ΡŽΡ‡Π°. Бостоит ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Key, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ E/D ΠΈ N.

10. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°Π΄Π°ΡŽΡ‚ΡΡ числовыС коэффициСнты p ΠΈ q (для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, взяты стандартныС) — Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ» ΠΈ «Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ».

Рис. 4 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΡΠ³Π΅Π½Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ

ПослС этого, Π² ΠΏΠΎΠ»Π΅ «Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚» вводится Π½Π΅ΠΊΠΈΠΉ тСкст, ΠΈΠ»ΠΈ открываСтся Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚…». Π”Π°Π»Π΅Π΅ наТимаСтся ΠΊΠ½ΠΎΠΏΠΊΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΏΠΎΠ»ΡΡ… «Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ» выводятся ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹.

Рис. 5 ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСкста

Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄ΠΎΠ² происходит ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ»

Рис. 6 Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π°

11. Π’Ρ‹Π²ΠΎΠ΄

Благодаря простотС, скорости, надСТности, нСслоТному своду ΠΏΡ€Π°Π²ΠΈΠ» бСзопасности задания ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, систСма заслуТила ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΡƒ ΠΌΠΈΡ€Ρƒ, Π° ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся Π΅ΠΉ ΠΏΠΎ Π½Π°ΡˆΠΈ Π΄Π½ΠΈ.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Нильс Π€Π΅Ρ€Π³ΡŽΡΠΎΠ½, Π‘Ρ€ΡŽΡ Π¨Π½Π°ΠΉΠ΅Ρ€ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ криптография = Practical Cryptography: Designing and Implementing Secure Cryptographic Systems — М.: «Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°», 2004 Π³.

2. Π¨Π½Π°ΠΉΠ΅Ρ€ Π‘. ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Π°Ρ криптография. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, исходныС тСксты Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ = Applied Cryptography. Protocols, Algorithms and Source Code in C — М.: Π’Ρ€ΠΈΡƒΠΌΡ„, 2002 Π³.

3. Π‘Ρ‚Π°Ρ‚ΡŒΡ Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ RSA (http://ru.wikipedia.org/wiki/RSA)

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

MainForm.cs

using System;

using System.Collections.Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System.Windows.Forms;

using System. IO;

using System. Numerics;

using EncodeDecode;

using EvklidLib;

namespace RSA

{

public partial class MainForm: Form

{

public long P, Q, D, E, M, N = 0;// коэф. расчитанныС для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

string Source, fn = «» ;

public long[] cipherText;

public MainForm ()

InitializeComponent ();

label1.Visible = false;

#region FileDialog Settings

openFileDialog1.DefaultExt = «txt» ;

openFileDialog1.Filter = «Π’СкстовыС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹

/// Основная функция открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

private void OpenDocument () // Ѐункция открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

{

openFileDialog1.FileName = string. Empty;

if (openFileDialog1.ShowDialog () == DialogResult. OK)

{

fn = openFileDialog1. FileName;

Encoding enc = Encoding. GetEncoding (1251);

try

{

// Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

StreamReader sr = new StreamReader (fn, enc); //ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ для чтСния Ρ„Π°ΠΉΠ»Π°

SourceTextBox.Text = sr. ReadToEnd (); // Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°

SourceTextBox.SelectionStart = SourceTextBox. TextLength;

sr.Close (); // Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊ

}

catch (Exception exc) // ΠžΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ ошибки

{

MessageBox.Show («ΠžΡˆΠΈΠ±ΠΊΠ° чтСния Ρ„Π°ΠΉΠ»Π°. n»

+ exc. ToString (), «Error!» ,

MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

}

}

/// Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ клавиши «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚»

private void button3_Click (object sender, EventArgs e)

{

OpenDocument ();

TextBox1Length.Text = Convert. ToString (SourceTextBox.TextLength);

} // Кнопка «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚»

/// Поиск наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ дСлитСля для Π΄Π²ΡƒΡ… чисСл

/// ΠŸΠ΅Ρ€Π²ΠΎΠ΅ число

/// Π’Ρ‚ΠΎΡ€ΠΎΠ΅ число

/// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΠžΠ” для Π΄Π²ΡƒΡ… чисСл (Π΅Π΄ΠΈΠ½ΠΈΡ†Π° учитываСтся ΠΊΠ°ΠΊ ΠΠžΠ”)

private static long gcd (long x, long y)

{

long g;

g = y;//создаСтся Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ число g Ρ€Π°Π²Π½ΠΎΠ΅ Ρƒ

while (x > 0) // Пока остаток Π½Π΅ ΡΡ‚Π°Π½Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ Π½Π°Ρ†Π΅Π»ΠΎ)

{

g = x; //Π² g Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ся y

x = y % x;//ΠžΡ‚ числа Ρ… «ΠΎΡ‚рСзаСтся» лишняя Ρ‡Π°ΡΡ‚ΡŒ, остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ остаток

y = g;//Π² Ρƒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ся этот остаток, для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

}

return g;//ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ Π½Π°Ρ†Π΅Π»ΠΎ, Π² g Ρ…ранится ΠΠžΠ” для Π΄Π²ΡƒΡ… чисСл

/// Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° числа d (e), Π²Π·Π°ΠΈΠΌΠ½ΠΎ простого ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ

/// Π—Π°Π΄Π°Π½Π½ΠΎΠ΅ число, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ простым d

/// Число d, Π²Π·Π°ΠΈΠΌΠ½ΠΎ простоС ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ

private static long MutuallySimple (long m)

{

Random rd = new Random (DateTime.Now.Millisecond);//Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π½Π΄ΠΎΠΌΠ° основанного Π½Π° ΡΠ΅ΠΉΡ‡Π°ΡˆΠ½Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

int tmp_d;

long d = 0, check;

bool quit = false;

while (quit == false)//Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° число Π½Π΅ ΠΏΡ€ΠΎΡΡ‚ΠΎΠ΅

{

tmp_d = rd. Next (2, 100);//выбираСтся Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ d, ΠΎΡ‚ 2 Π΄ΠΎ 100

d = Convert. ToInt64(tmp_d);//конвСртируСтся Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

check = gcd (m, d);//провСряСтся Π½Π° Π²Π·Π°ΠΈΠΌΠ½ΡƒΡŽ простоту с Ρ‡ΠΈΡΠ»ΠΎΠΌ m, ΠΏΡƒΡ‚Π΅ΠΌ поиска наибольшСго ΠΎΠ±Ρ‰Π΅Π³ΠΎ дСлитСля

if (check == 1) // Если ΠΠžΠ” == 1 Ρ‚ΠΎ d — простоС число

{

quit = true;//поднятиС «Ρ„Π»Π°Π³Π°» ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ число Π³ΠΎΡ‚ΠΎΠ²ΠΎ

}

}

return d;//число возвращаСтся Π² Π²Ρ‹Π·Π²Π°Π²ΡˆΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

}

/// Ѐункция, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ p ΠΈ q Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ±Ρ‰ΠΈΡ… Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ

/// ΠŸΠ΅Ρ€Π²ΠΎΠ΅ число для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

/// Π’Ρ‚ΠΎΡ€ΠΎΠ΅ число для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

/// ΠŸΡ€Π°Π²Π΄Π° ΠΈΠ»ΠΈ лоТь, ΠΊΠ°ΠΊ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π²ΠΎΠΏΡ€ΠΎΡ, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ

public static bool Checkpq (long p, long q)

{

long t = p;//Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° наимСньшСго числа

if (q < p)

t = q;

for (int i = 2; i < t-1; i++)

{

if (((p % i) == 0) && (q % i == 0))//Ссли Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ i ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ±Ρ‰ΠΈΠΌ Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ

{

return true;//Π²Ρ‹Ρ…ΠΎΠ΄

}

}

return false;//Ссли ΠΎΠ±Ρ‰ΠΈΡ… Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π΅ Π±Ρ‹Π»ΠΎ, возвращаСтся 1

}

/// Ѐункция, вызываСмая ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ клавиши ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ. РасчитываСт коэффициСнты для кодирования.

/// БистСмный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

/// БистСмный Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

private void ApplyPQButton_Click (object sender, EventArgs e)

{

if (PTextBox.Text.Length == 0 && QTextBox.Text.Length == 0)// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΎ, Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π»ΠΈ значСния

{

MessageBox.Show («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ P ΠΈ Q!»);

return;

} else if (PTextBox.Text.Length == 0)//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π²Π²Π΅Π΄Π΅Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π 

{

MessageBox.Show («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ P!»);

return;

}

else if (QTextBox.Text.Length == 0)//ΠŸΡ€ΠΎΠ²Π΅Ρ€Π° Π½Π° Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Q

{

MessageBox.Show («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Q!»);

return;

}

P = Convert. ToUInt32(PTextBox.Text);//ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° числа Π 

Q = Convert. ToUInt32(QTextBox.Text);//ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° числа Q

if (Checkpq (P, Q))//ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, подходят Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ числа P ΠΈ Q

{

MessageBox.Show («Π—начСния P ΠΈ Q Π½Π΅ ΡƒΠ΄Π²ΠΎΠ»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ условиям ΠΌΠ΅Ρ‚ΠΎΠ΄Π°!»);

return;

}

N = P * Q;//ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ коэф. N

M = (P — 1) * (Q — 1);//подсчСт коэф. M

D = MutuallySimple (M);//ΠŸΠ΅Ρ€Π²Π°Ρ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° числа d (e), Π²Π·Π°ΠΈΠΌΠ½ΠΎ простого ΠΊ m

long tmp_E;

Evklid evk = new Evklid ();//создаСтся класс, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π•Π²ΠΊΠ»ΠΈΠ΄Π°

tmp_E = evk. ExtGCD (D, M);//Π°Π»ΠΎΠ³ΠΈΡ‚ΠΌΠΎΠΌ Π΅Π²ΠΊΠ»ΠΈΠ΄Π° выбираСтся число для D ΠΈ М

if (tmp_E <= 0)//Если Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число мСньшС нуля

{

while (tmp_E < 0)//ΠΈ Π΄ΠΎ Ρ‚Π΅Ρ…, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ мСньшС нуля

{

D = MutuallySimple (M);// ищСтся Π½ΠΎΠ²ΠΎΠ΅ D, Π° Π΄Π»Ρ Π½Π΅Π³ΠΎ, ищСтся Π½ΠΎΠ²ΠΎΠ΅ tmp_E

tmp_E = evk. ExtGCD (D, M);

}

}

E = Convert. ToInt64(tmp_E);//ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π• ΠΎΠ±Ρ€Π°Π±Π°Ρ‚ыватСся.

p_label.Text = Convert. ToString (P);//Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½ΡƒΡŽ доску. Π―Ρ€Ρ€

q_label.Text = Convert. ToString (Q);//Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½ΡƒΡŽ доску.

e_label.Text = Convert. ToString (E);//Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½ΡƒΡŽ доску.

d_label.Text = Convert. ToString (D);//Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½ΡƒΡŽ доску.

n_label.Text = Convert. ToString (N);//Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½ΡƒΡŽ доску.

m_label.Text = Convert. ToString (M);//Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠ±ΠΎΡ€Π½ΡƒΡŽ доску.

CryptButton.Enabled = true;//восстановлСниС работоспособности ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ

DecryptButton.Enabled = true;//восстановлСниС работоспособности ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ

}

/// ΠžΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹

/// БистСмный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

/// БистСмный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

private void ClearButton_Click (object sender, EventArgs e)

{

p_label.Text = «0» ;

q_label.Text = «0» ;

n_label.Text = «0» ;

m_label.Text = «0» ;

d_label.Text = «0» ;

e_label.Text = «0» ;

CryptButton.Enabled = false;//Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ работоспособности ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ

DecryptButton.Enabled = false;//Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ работоспособности ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ

}

/// ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ»

/// БистСмный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

/// БистСмный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

private void CryptButton_Click (object sender, EventArgs e)

{

if (SourceTextBox.Text.Length == 0)//ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ тСкста для ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ

{

MessageBox.Show («ΠΠ΅Ρ‚ тСкста для ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ»);

return;

}

ResultTextBox.ResetText ();//ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ тСкста Π² ΠΏΠΎΠ»Π΅ Π²Ρ‹Π²ΠΎΠ΄Π°

textBox1.ResetText ();//ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ тСкста Π² ΠΏΠΎΠ»Π΅ Π²Ρ‹Π²ΠΎΠ΄Π°2

Key publicKey = new Key (E, N);//созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° класса Key, основанного Π½Π° ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… E ΠΈ N

EncodeDecode.Encoder enc = new EncodeDecode. Encoder ();//Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ класса ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°

Source = SourceTextBox. Text;

cipherText = enc. Encode (Source, publicKey);//ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСкста с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ массива Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… символов

for (int i = 0; i < cipherText. Length; i++)

{

textBox1.Text += cipherText[i]; //Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΠ² Π² Ρ‚Скст бокс слитно

ResultTextBox.Text += cipherText[i]; //ΠΈ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, для большСй наглядности

ResultTextBox.Text += ««;

}

TextBox2Length.Text = Convert. ToString (ResultTextBox.TextLength);//Π²Ρ‹Π²ΠΎΠ΄ Π΄Π»ΠΈΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎΡΡ ΠΊΠΎΠ΄Π°

}

/// Ѐункция, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ»

/// БистСмный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

/// БистСмный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

private void DecryptButton_Click (object sender, EventArgs e)

{

if (ResultTextBox.Text.Length == 0)//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° поля Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ

{

MessageBox.Show («ΠΠ΅Ρ‚ тСкста для Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ»);

return;

}

ResultTextBox.ResetText ();//сброс поля для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Key privateKey = new Key (D, N);//созданиС ΠΊΠ»ΡŽΡ‡Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ D ΠΈ N

EncodeDecode.Encoder enc = new EncodeDecode. Encoder ();//созданиС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΏΠΎ ΡΠΎΠΎΡ‚Π². классу

ResultTextBox.Text = enc. Decode (cipherText, privateKey);//Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ‚Скст бокс

TextBox2Length.Text = Convert. ToString (ResultTextBox.TextLength);

if (SourceTextBox.Text == ResultTextBox. Text)//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ стартовый тСст ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅

{

label1.Visible = true;

label1.Text = «Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ!» ;

label1.ForeColor = Color. Green;

}

else//Ссли Π½Π΅Ρ‚

{

label1.Visible = true;

label1.Text = «Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ!» ;

label1.ForeColor = Color. Red;

}

}

private void SourceTextBox_TextChanged (object sender, EventArgs e)

{

TextBox1Length.Text = Convert. ToString (SourceTextBox.TextLength);

}

}

}

Evklid.cs

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace EvklidLib

{

/// Класс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ Π•Π²ΠΊΠ»ΠΈΠ΄Π°

public class Evklid

{

/// Алгоритм Π•Π²ΠΊΠ»ΠΈΠ΄Π°

/// ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

/// Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

/// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число, ΡƒΠ΄Π²ΠΎΠ»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ для Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… x ΠΈ y

public long ExtGCD (long x, long y)

{

long a, b, q, r, u1, u2;

long t;

a = Convert. ToInt64(x);//конвСртация числа Π°

b = Convert. ToInt64(y);// ΠΈ Ρ‡ΠΈΡΠ»Π° b

u1 = 1;

u2 = 0;

while (b ≠ 0)//Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСйствуСт Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π² Ρ‡ΠΈΡΠ»ΠΎ b Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ 0

{

q = a / b;

r = a % b;

a = b;

b = r;

t = u2;

u2 = u1 — q * u2;

u1 = t;

}

return u1;//Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число, Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π•Π²ΠΊΠ»ΠΈΠ΄Π°

}

}

}

Encoder.cs

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace EncodeDecode

{

/// Класс ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ строку

public class Encoder: EncoderBase, IEncoder

{

/// ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки символов (внСшняя функция)

/// Π‘Ρ‚Ρ€ΠΎΠΊΠ° символов для кодирования

/// ΠšΠ»ΡŽΡ‡ кодирования

/// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² символов

public virtual long[] Encode (string sMessage, Key oKey)

{

long[] numericMessage = new long[sMessage.Length]; //созданиС массива кодов

int length = sMessage. Length;

for (int i = 0; i < length; i++)

{

numericMessage[i] = (long)sMessage[i]; //ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа, запись Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°

}

return Process (numericMessage, oKey);//ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строки ΠΊΠΎΠ΄ΠΎΠ²

}

/// Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки символов

/// массив ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

/// ΠšΠ»ΡŽΡ‡ дСкодирования

/// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ тСкст сообщСниС

public virtual string Decode (long[] numericMessage, Key oKey)

{

long[] processedMessage = Process (numericMessage, oKey);//массив ΠΊΠΎΠ΄ΠΎΠ² символов для раскодирования

StringBuilder message = new StringBuilder ();//пСрСмСнная для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΈΠ½Π³

int length = processedMessage. Length;

for (int i = 0; i < length; i++)

{

message.Append ((char)processedMessage[i]);//ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ΄Π° символа Π² ΡΠΈΠΌΠ²ΠΎΠ»

}

return message. ToString ();//возвращСния стринг тСкста

}

/// Ѐункция для получСния Ρ…ΡΡˆΠΊΠΎΠ΄Π°

/// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ ΠΊΠΎΠ΄

public override int GetHashCode ()

{

return base. GetHashCode ();

}

/// ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΡΡ‚Ρ€ΠΈΠ½Π³

/// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ тСкст Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ string

public override string ToString ()

{

return «Encoder» ;

}

}

}

EncoderBase.cs

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace EncodeDecode

{

/// Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

public class EncoderBase

{

/// ВнутрСняя функция кодирования/раскодирования (зависит ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π°) тСкста

/// Массив ΠΊΠΎΠ΄ΠΎΠ² символов строки

/// ΠšΠ»ΡŽΡ‡ кодирования

protected long[] Process (long[] src_text, Key oKey)

{

long[] ciphertext = new long[src_text.Length]; //массив ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… символов

int length = src_text.Length;

for (int i = 0; i < length; i++)

{

ciphertext[i] = ModularExponantiation (src_text[i], oKey);//ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° Π±Π°Π·Π΅ ΠΊΠ»ΡŽΡ‡Π°

}

return ciphertext;//Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива ΠΊΠΎΠ΄ΠΎΠ²

}

/// Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π°-числа Π½Π° Π±Π°Π·Π΅ ΠΊΠ»ΡŽΡ‡Π°

/// ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

/// ΠšΠ»ΡŽΡ‡

/// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ символа

protected long ModularExponantiation (long num, Key oKey)

{

long C = 1;

long E = 0;

while (E++ < oKey. index)

{

C = (C * num) % oKey. N;//остаток ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° N ΠΊΠ»ΡŽΡ‡Π° — ΠΎΡ‚Π²Π΅Ρ‚ для кодирования систСмы RSA

}

return C;

}

}

}

IEncoder.cs

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace EncodeDecode

{

/// Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ класса Encoder (шаблон)

/// Π’ΠΈΠΏ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° (для шаблона)

public interface IEncoder where T: struct

{

T[] Encode (string sMessage, Key oKey);

string Decode (T[] numericMessage, Key oKey);

}

}

Key.cs

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

namespace EncodeDecode

{

/// Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° для прСдставдСния ΠΊΠ»ΡŽΡ‡Π° кодирования

public struct Key

{

public long index;

public long N;

/// ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π° кодирования

/// ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ E (для ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ) ΠΈΠ»ΠΈ D (для Π΄Π΅ΡˆΠΈΡ„Ρ€Π°Ρ†ΠΈΠΈ)

/// ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ N

public Key (long lIndex, long lN)

{

index = lIndex;

N = lN;

}

}

}

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘

1. ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎ Π“ΠžΠ‘Π’ 19.201−78

1.1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

1.1.1. НаимСнованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ НаимСнованиС — «ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RSA».

1.1.2. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ характСристика области примСнСния Π­Π½ΠΊΠΎΠ΄Π΅Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ RSA ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для кодирования ΠΈ Ρ€Π°ΡΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π° RSA.

1.2.1. ОснованиС для провСдСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ОснованиСм для провСдСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ являСтся курс ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ прСдусмотрСна курсовая Ρ€Π°Π±ΠΎΡ‚Π°. ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° согласована с ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠœΠ“Π’Π£ МИРЭА ΠŸΠ΅Ρ‚Ρ€Π΅Π½ΠΊΠΎ А. А, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹ΠΌ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ, ΠΈ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ студСнтом ΠœΠ“Π’Π£ МИРЭА, ΠœΠΈΠ½Π°Π΅Π²Ρ‹ΠΌ Π‘. К., ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹ΠΌ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΌ.

1.2.2. НаимСнованиС ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ НаимСнованиС Ρ‚Π΅ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ — «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов систСмы RSA ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅».

1.2. НазначСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

1.3.1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ RSA, Π² ΡΡ‚ΠΎΡ€ΠΎΠ½Ρƒ кодирования ΠΈ Ρ€Π°ΡΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.

1.3.2. ЭксплуатационноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°.

ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°.

1.3. ВрСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ издСлию

1.4.1. ВрСбования ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ характСристикам

1.4.1.1. ВрСбования ΠΊ ΡΠΎΡΡ‚Π°Π²Ρƒ выполняСмых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния пСрСчислСнных Π½ΠΈΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Π°) функция создания ΠΊΠ»ΡŽΡ‡Π° RSA

Π±) функция кодирования Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π²) функция раскодирования Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π³) функция Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ тСкста ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΡƒ

1.4.1.2. ВрСбования ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ВсС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΈ Π½Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ Π½Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ осознанного Π²Ρ‹Π·ΠΎΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ошибки. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π»ΡŽΠ±Ρ‹Π΅ символы ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ UTF.

1.4.1.3. ВрСбования ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… происходит нСпосрСдствСнно Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€.

1.4.1.4. ВрСбования ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ характСристикам КаТдая функция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ пяти ΠΌΠΈΠ½ΡƒΡ‚.

1.4.2. ВрСбования ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΠΈ

1.4.2.1. ВрСбования ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ (устойчивого) функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ НадСТноС (устойчивоС) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ обСспСчСно Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ совокупности ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎ-тСхничСских мСроприятий, ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

Π°) ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ бСспСрСбойного питания тСхничСских срСдств;

Π±) использованиСм Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния;

Π²) рСгулярным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²Π° Ρ‚Ρ€ΡƒΠ΄Π° ΠΈ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ развития Π Π€, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΡ‚ 23 ΠΈΡŽΠ»Ρ 1998 Π³. «ΠžΠ± ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ мСТотраслСвых Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π½ΠΎΡ€ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΡΠ΅Ρ€Π²ΠΈΡΠ½ΠΎΠΌΡƒ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ ΠŸΠ­Π’Πœ ΠΈ ΠΎΡ€Π³Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств»;

Π³) рСгулярным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π“ΠžΠ‘Π’ 51 188–98. Π—Π°Ρ‰ΠΈΡ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… вирусов.

1.4.2.2. ВрСмя восстановлСния послС ΠΎΡ‚ΠΊΠ°Π·Π° ВрСмя восстановлСния послС ΠΎΡ‚ΠΊΠ°Π·Π°, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠ³ΠΎ сбоСм элСктропитания тСхничСских срСдств (ΠΈΠ½Ρ‹ΠΌΠΈ внСшними Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ), Π½Π΅ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ сбоСм (Π½Π΅ ΠΊΡ€Π°Ρ…ΠΎΠΌ) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΈΡ…Ρ‚ΠΎ ΠΌΠΈΠ½ΡƒΡ‚ ΠΏΡ€ΠΈ условии соблюдСния условий эксплуатации тСхничСских ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств.

ВрСмя восстановлСния послС ΠΎΡ‚ΠΊΠ°Π·Π°, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π΅ΠΈΡΠΏΡ€Π°Π²Π½ΠΎΡΡ‚ΡŒΡŽ тСхничСских срСдств, Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ сбоСм (ΠΊΡ€Π°Ρ…ΠΎΠΌ) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π½Π° ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΠ΅ нСисправностСй тСхничСских срСдств ΠΈ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств.

1.4.2.3. ΠžΡ‚ΠΊΠ°Π·Ρ‹ ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… дСйствий ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠžΡ‚ΠΊΠ°Π·Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ вслСдствиС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… дСйствий ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ) ΠΏΡ€ΠΈ взаимодСйствии с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. Π’ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ возникновСния ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ слСдуСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Π΅Π· прСдоставлСния Π΅ΠΌΡƒ административных ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ.

1.4.3. Условия эксплуатации

1.4.3.1. ΠšΠ»ΠΈΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ условия эксплуатации По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.4.3.2. ВрСбования ΠΊ Π²ΠΈΠ΄Π°ΠΌ обслуТивания

1.4.3.3. По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.4.3.4. ВрСбования ΠΊ Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ пСрсонала МинимальноС количСство пСрсонала, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 2 ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ† — систСмный администратор ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

БистСмный администратор Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Ρ‹ΡΡˆΠ΅Π΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ-производитСля ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π·Π°Π΄Π°Ρ‡, выполняСмых систСмным администратором, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ:

Π°) Π·Π°Π΄Π°Ρ‡Π° поддСрТания работоспособности тСхничСских срСдств;

Π±) Π·Π°Π΄Π°Ρ‡ΠΈ установки (инсталляции) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡ работоспособности систСмных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств — ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы;

Π²) Π·Π°Π΄Π°Ρ‡Π° установки (инсталляции) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ практичСскими Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ичСским ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ аттСстован Π½Π° II ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΠΎ ΡΠ»Π΅ΠΊΡ‚робСзопасности (для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚орским ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ).

1.4.4. ВрСбования ΠΊ ΡΠΎΡΡ‚Π°Π²Ρƒ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ тСхничСских срСдств Π’ ΡΠΎΡΡ‚Π°Π² тСхничСских срСдств Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ IBM-совмСстимый ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ (ΠŸΠ­Π’Πœ), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² ΡΠ΅Π±Ρ:

Π°) процСссор Pentium-4 с Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой, Π“Π“Ρ† — 2, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅;

Π±) ТСсткий диск объСмом, Π“Π± — 100, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅;

Π²) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ объСмом, Π“Π± — 1, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅;

Π³) срСдства Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°.

1.4.5. ВрСбования ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ совмСстимости

1.4.5.1. ВрСбования ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ структурам ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.4.5.2. ВрСбования ΠΊ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΠ΄Π°ΠΌ ΠΈ ΡΠ·Ρ‹ΠΊΠ°ΠΌ программирования Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C#.

1.4.5.3. ВрСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ срСдствам, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ БистСмныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсиСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

1.4.5.4. ВрСбования ΠΊ Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.4.6. ВрСбования ΠΊ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.4.7. ВрСбования ΠΊ Ρ‚Ρ€Π°Π½ΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.4.8. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.5. ВрСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

1.5.1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ состав ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Бостав ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠ΅Π±Ρ:

Π°) тСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅;

Π±) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ испытаний;

Π²) руководство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°;

1.6. Π’Π΅Ρ…Π½ΠΈΠΊΠΎ-экономичСскиС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Π°Ρ экономичСская ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π½Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚ываСтся.

1.7. Π‘Ρ‚Π°Π΄ΠΈΠΈ ΠΈ ΡΡ‚Π°ΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ БогласованиС, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ тСхничСского задания 5 сСм. 4 Π½Π΅Π΄.

Π£Ρ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ с Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ состава ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… 5 сСм. 5 Π½Π΅Π΄.

ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записки 5 сСм. 15 Π½Π΅Π΄.

ΠžΠΏΡ‹Ρ‚Π½Π°Ρ эксплуатация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ издСлия 5 сСм. 15 Π½Π΅Π΄.

Π—Π°Ρ‰ΠΈΡ‚Π° курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ 5 сСм. 15 Π½Π΅Π΄.

1.8. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ контроля ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΊΠΈ

1.8.1. Π’ΠΈΠ΄Ρ‹ испытаний ВсС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ испытания Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ описываСт Π² Π Π°ΡΡ‡Π΅Ρ‚Π½ΠΎ-ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ЗапискС.

1.8.2. ΠžΠ±Ρ‰ΠΈΠ΅ трСбования ΠΊ ΠΏΡ€ΠΈΠ΅ΠΌΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ РасчСтно-ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Записки, Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, совмСстно с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ, подписываСт Акт ΠΏΡ€ΠΈΠ΅ΠΌΠΊΠΈ-сдачи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’

1.1. НазначСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ОписаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° находится Π² Π’СхничСском Π—Π°Π΄Π°Π½ΠΈΠΈ.

1.2. Условия выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ОписаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° находится Π² Π’СхничСском Π—Π°Π΄Π°Π½ΠΈΠΈ.

1.3. ВрСбования ΠΊ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»Ρƒ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ) ОписаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° находится Π² Π’СхничСском Π—Π°Π΄Π°Π½ΠΈΠΈ.

1.4. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ОписаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° находится Π² Π’СхничСском Π—Π°Π΄Π°Π½ΠΈΠΈ.

1.5. БообщСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ

Π°) ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… p ΠΈ q ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС «ΠΠ΅Π²Π΅Ρ€Π½Ρ‹Π΅ значСния p ΠΈ q»

Π±) ΠΏΡ€ΠΈ ошибкС открытия Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС «ΠžΡˆΠΈΠ±ΠΊΠ° открытия Ρ„Π°ΠΉΠ»Π°»

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π“

1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ испытаний ΠΏΠΎ Π“ΠžΠ‘Π’ 19.301−79

1.1.1. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ испытаний

1.1.2. НаимСнованиС НаимСнованиС — «ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RSA».

1.1.3. ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Ρ‹Ρ… подраздСлСниях Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°.

1.1.4. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ НаимСнованиС Ρ‚Π΅ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ — «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов систСмы RSA ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅».

1.2. ЦСль испытаний ЦСль провСдСния испытаний — ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соотвСтствия характСристик Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ издСлия) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ½Ρ‹ΠΌ Π²ΠΈΠ΄Π°ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅.

1.3. ΠžΠ±Ρ‰ΠΈΠ΅ полоТСния

1.3.1. Основания для провСдСния испытаний Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΡ проводятся ΠΏΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½ΠΎΡΡ‚ΠΈ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ.

1.3.2. ΠœΠ΅ΡΡ‚ΠΎ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ испытаний ΠŸΡ€ΠΈΠ΅ΠΌΠΎ-сдаточныС испытания Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ 21.12.11.

ΠŸΡ€ΠΈΠ΅ΠΌΠΎ-сдаточныС испытания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ согласно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ испытаний.

1.3.3. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΈΡΠΏΡ‹Ρ‚аниях Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΡ проводятся Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ.

1.3.4. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Ρ… Π½Π° ΠΈΡΠΏΡ‹Ρ‚ания Бостав ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠ΅Π±Ρ:

Π°) тСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅;

Π±) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ испытаний;

Π²) руководство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°;

1.4. ОбъСм испытаний

1.4.1. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ этапов испытаний Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΡ проводятся Π² Π΄Π²Π° этапа:

1. ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ;

2. испытания.

1.4.1.1. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° 1 этапС испытаний ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° 1 этапС испытаний, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠ΅Π±Ρ:

Π°) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ комплСктности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ;

Π±) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ комплСктности состава тСхничСских ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ провСдСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, входящих Π² ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΠΎ 1 этапу испытаний, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘.

1.4.1.2. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° 2 этапС испытаний ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° 2 этапС испытаний, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠ΅Π±Ρ:

Π°) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ соотвСтствия тСхничСских характСристик ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Π±) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ стСпСни выполнСния Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ провСдСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, входящих Π² ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΠΎ 2 этапу испытаний, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’.

1.4.2. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ характСристики, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΎΡ†Π΅Π½ΠΊΠ΅

1.4.2.1. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ характСристики, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΎΡ†Π΅Π½ΠΊΠ΅ Π’ Ρ…ΠΎΠ΄Π΅ провСдСния ΠΏΡ€ΠΈΠ΅ΠΌΠΎ-сдаточных испытаний ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‚ количСствСнныС характСристики, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

Π°) ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ;

Π±) ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ состава тСхничСских ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств.

1.4.2.2. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ характСристики, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΎΡ†Π΅Π½ΠΊΠ΅ Π’ Ρ…ΠΎΠ΄Π΅ провСдСния ΠΏΡ€ΠΈΠ΅ΠΌΠΎ-сдаточных испытаний ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‚ качСствСнныС (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅) характСристики ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ пСрСчислСнных Π½ΠΈΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Π°) функция создания ΠΊΠ»ΡŽΡ‡Π° RSA

Π±) функция кодирования Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π²) функция раскодирования Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π³) функция Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ тСкста ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΡƒ

1.4.3. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ провСдСния ΠΈ Ρ€Π΅ΠΆΠΈΠΌΡ‹ испытаний Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΡ проводятся Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΏ. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ этапов испытаний.

1.4.4. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Ρ€Π°Π±ΠΎΡ‚, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ испытаний Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ провСдСния испытаний Π² ΠΏΠΎΠ»Π½ΠΎΠΌ объСмС Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ совмСстно с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚ Акт ΠΏΡ€ΠΈΠ΅ΠΌΠΊΠΈ-сдачи Ρ€Π°Π±ΠΎΡ‚.

Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ (ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ) Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ Ρ‚. Π΄.

МСлкиС, нСсущСствСнныС Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ устранСны послС Π½Π°Ρ‡Π°Π»Π° эксплуатации.

1.5. ВрСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ испытаний Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ характСристики (возмоТности) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π½Π° ΡΠΎΠΎΡ‚вСтствиС трСбованиям, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² ΠΏ. ВрСбования ΠΊ ΡΠΎΡΡ‚Π°Π²Ρƒ выполняСмых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ВСхничСского задания.

1.6. ВрСбования ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Бостав ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΡΠ΅Π±Ρ:

Π°) тСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅;

Π±) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ испытаний;

Π²) руководство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°;

1.7. Условия ΠΈ ΠΏΠΎΡ€ΡΠ΄ΠΎΠΊ провСдСния испытаний

1.7.1. Условия провСдСния испытаний По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.7.2. Условия Π½Π°Ρ‡Π°Π»Π° ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… этапов испытаний НСобходимым ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ условиСм Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ 1 этапа испытаний ΠΈ Π½Π°Ρ‡Π°Π»Π° 2 этапа испытаний являСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° 1 этапС (см. ΠΏ. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° 1 этапС испытаний).

УсловиСм Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ 2 этапа испытаний являСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° 2 этапС испытаний.

1.7.3. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π² ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ… провСдСния испытаний По ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡŽ с Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ описаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ Ρ‚рСбуСтся.

1.7.4. ВрСбования ΠΊ Ρ‚СхничСскому ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ ВрСбования ΠΊ Ρ‚СхничСскому ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ Π½Π΅ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ся.

1.7.5. ΠœΠ΅Ρ€Ρ‹, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΡΡ‚ΡŒ провСдСния испытаний ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ испытаний Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ соблюдСниС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ бСзопасности, установлСнных Π“ΠžΠ‘Π’ 12.2.007.0−75, Π“ΠžΠ‘Π’ 12.2.007.3 — 75, «ΠŸΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ бСзопасности ΠΏΡ€ΠΈ эксплуатации элСктроустановок ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ», ΠΈ «ΠŸΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ тСхничСской эксплуатации элСктроустановок ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ».

1.7.6. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ взаимодСйствия ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΈΡΠΏΡ‹Ρ‚аниях Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ устно ΠΈΠ·Π²Π΅Ρ‰Π°Π΅Ρ‚ Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΎ Π³ΠΎΡ‚овности ΠΊ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡŽ приСмосдаточных испытаний Π½Π΅ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ Π·Π° 30 ΠΌΠΈΠ½ΡƒΡ‚ Π΄ΠΎ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ срока провСдСния испытаний.

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