Skip to content

fa-python-network/8_Assymmetric_ciphers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Алгоритмы асиммСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² рукопоТатия Π² соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСмах

Задания для выполнСния

  1. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π° Π² Π²ΠΈΠ΄Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного прилоТСния.
  2. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ, которая ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ сообщСния асиммСтричным способом.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ указания

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π°

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

Алгоритм основан Π½Π° вычислСнии стСпСнСй числа ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ. Для этого Π½Π°ΠΌ понадобятся Π΄Π²Π° числа p ΠΈ g. Они ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ бСрутся достаточно большими, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±Ρ‹Π»ΠΎ слишком слоТно. Для Ρ†Π΅Π»Π΅ΠΉ обучСния ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ малСнькиС значСния.

alt_text

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сСкрСтноС число a, Π·Π°Ρ‚Π΅ΠΌ вычисляСт A = g^a mod p. Π­Ρ‚ΠΈ Ρ‚Ρ€ΠΈ числа ΠΎΠ½ посылаСт Π½Π° сСрвСр. Π‘Π΅Ρ€Π²Π΅Ρ€ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ своС сСкрСтноС число b ΠΈ вычисляСт B = g^b mod p. Π•Π³ΠΎ ΠΎΠ½ отправляСт Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Π‘Π΅Ρ€Π²Π΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ Π±Π΅Ρ€Π΅Ρ‚ число ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ вычисляСт K = A^b mod p. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΆΠ΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ вычисляСт K = B^a mod p. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΈ Π½Π° сСрвСр ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ вычислСно ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ число K, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Π»ΠΎΡΡŒ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вычислСно Π½Π° основС Ρ‚ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° ΠΏΠΎ сСти.

АсиммСтричноС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅

Алгоритм Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ использован для асиммСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, Π½Π°Π±ΠΎΡ€ (p, q, A) ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ΠΎΠ³Π΄Π° вторая сторона ΠΌΠΎΠΆΠ΅Ρ‚ cΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ b, Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ K ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ симмСтричным ΡˆΠΈΡ„Ρ€ΠΎΠΌ сообщСниС ΠΈ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ Π΅Π³ΠΎ вмСстС с B. Π’ΠΎΠ³Π΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ смоТСт Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ это сообщСниС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ смоТСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈΠ· B ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ K, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ значСния p ΠΈ q.

Π’Π°ΡˆΠ° Π·Π°Π΄Π°Ρ‡Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ обмСнивались ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Основной Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра Ρ‚Π°ΠΊΠΎΠΉ:

  1. ΠŸΡ€ΠΈ запускС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈ сСрвСр Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ свою ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.
  2. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ посылаСт сСрвСру свой ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡.
  3. Π’ ΠΎΡ‚Π²Π΅Ρ‚, сСрвСр посылаСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ сСрвСра.
  4. ΠšΠ»ΠΈΠ΅Π½Ρ‚ посылаСт сообщСниС сСрвСру, ΡˆΠΈΡ„Ρ€ΡƒΡ Π΅Π³ΠΎ своим Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ сСрвСра.
  5. Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сообщСниС, Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ сначала своим Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Π° ΠΏΠΎΡ‚ΠΎΠΌ - ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
  6. ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ сообщСниС посылаСтся Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы

  1. Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SSL?

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ задания

  1. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ Π² тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π° дискС ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ запусками.
  2. ΠŸΡ€ΠΎΠ²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС, относящССся ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ Ρ€Π΅ΠΆΠΈΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡŽ исходящих ΠΈ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡŽ входящих сообщСний Π±Ρ‹Π»ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΎ ΠΎΡ‚ основного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями.
  3. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π½Π° сСрвСрС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ входящих сСртификатов. На сСрвСрС Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ список Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Когда ΠΊΠ»ΠΈΠ΅Π½Ρ‚ посылаСт Π½Π° сСрвСр свой ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, сСрвСр ΠΈΡ‰Π΅Ρ‚ Π΅Π³ΠΎ срСди Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΈ, Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ€Π°Π·Ρ€Ρ‹Π²Π°Π΅Ρ‚ соСдинСниС. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ….
  4. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ установлСниС Ρ€Π΅ΠΆΠΈΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ происходило ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ€Ρ‚, Π° основноС ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ - Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΎΡ€Ρ‚Ρƒ. НомСр ΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ сообщСниС.
  5. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡƒΠ» ΠΏΠΎΡ€Ρ‚ΠΎΠ².
  6. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ FTP-сСрвСра Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages