Академический Документы
Профессиональный Документы
Культура Документы
Lab4 TSI
Lab4 TSI
AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică și Microelectronică
Departamentul Informatică și Ingineria Sistemelor
Отчёт
Для лабораторной работы 4
Chișinău – 2023
Содержание
1. Этапы работы.................................................................................3 - 5
2. Шифр RSAи его результаты.........................................................3 - 4
3. Алгоритм Diffie-Hellman ……......................................................5
4. Вывод……………………………………………………………..6
5. Вебография……………………………………………………….7
2
Этапы работы:
Алгоритм шифрования RSA:
Выбираем два простых числа p = 3 и q = 7.
Выбираем случайное число e = 5 такое, что 1 < e < phi(n) и e взаимно простое с
phi(n).
Находим число d = 5, обратное числу e по модулю phi(n), то есть такое число d, что
(d * e) mod phi(n) = 1.
Таким образом, открытый ключ (e, n) будет равен (5, 21), а закрытый ключ d = 5.
import random
if m == 1:
return 0
while a > 1:
q = a // m
t = m
m = a % m
a = t
t = y
y = x - q * y
x = t
if x < 0:
x = x + m0
return x
n = p * q
phi = (p - 1) * (q - 1)
g = gcd(e, phi)
while g != 1:
e = random.randrange(1, phi)
g = gcd(e, phi)
# генерируем ключи
p = 17
q = 19
public_key, private_key = generate_keys(p, q)
# шифруем сообщение
message = "My name is Anton, nice to meet you!"
cipher = encrypt(message, public_key)
# дешифруем сообщение
decrypted_message = decrypt(cipher, private_key)
# выводим результаты
print("Открытый ключ:", public_key)
print("Закрытый ключ:", private_key)
print("Исходное сообщение:", message)
print("Зашифрованное сообщение:", cipher)
print("Расшифрованное сообщение:", decrypted_message)
Результат программы:
5
6
Алгоритм Diffie-Hellman:
import math
A = modPow(g, a, p)
B = modPow(g, b, p)
secretKeyA = modPow(B, a, p)
secretKeyB = modPow(A, b, p)
Результаты программы:
7
Выводы:
RSA и Diffie-Hellman - это два важных алгоритма, которые играют важную роль в
современной криптографии. Оба алгоритма используются для шифрования данных, и они
были разработаны в разное время, но имеют много общего.
RSA - это асимметричный алгоритм, который использует пару ключей для шифрования и
расшифрования сообщений. Этот алгоритм был разработан Ривестом, Шамиром и
Адлеманом в 1977 году. RSA используется во многих приложениях, таких как
электронная почта, виртуальная частная сеть (VPN) и онлайн-банкинг.
Diffie-Hellman - это также асимметричный алгоритм, который используется для обмена
ключами. Он был разработан Уитфилдом Диффи и Мартином Хеллманом в 1976 году.
Diffie-Hellman используется в многих приложениях, таких как SSL/TLS, VPN и SSH.
Оба алгоритма играют важную роль в безопасности интернет-коммуникаций. RSA
используется для шифрования данных, а Diffie-Hellman - для обмена ключами. Вместе они
обеспечивают конфиденциальность, целостность и аутентификацию данных.
Однако, существует некоторые уязвимости в использовании RSA и Diffie-Hellman.
Например, атака по времени, уязвимость к атакам маленькими ключами и атаки на
протоколы обмена ключами.
8
Библиография
https://ru.wikipedia.org/wiki/Протокол_Диффи_—_Хеллмана
https://ru.wikipedia.org/wiki/RSA
https://else.fcim.utm.md/pluginfile.php/87383/mod_resource/content/0/SI_lab4.pdf