Задание
Написать библиотеку, реализующую основные алгоритмы электронной подписи файлов.
Функционал программы
- Эль-Гамаля
- RSA
- ГОСТ
Фрагмент программного кода
while lab1.my_fast_pow(g, q, p) != 1:
g = random.randint(1, p - 1)
x = random.randint(1, p)
y = lab1.my_fast_pow(g, x, p)
h = hashlib.md5(file).hexdigest()
k = random.randint(1, p - 1)
while lab1.my_gcd(p - 1, k)[0] != 1:
k = random.randint(1, p)
r = lab1.my_fast_pow(g, k, p)
u = [(int(i, 16) - x * r) % (p - 1) for i in h]
s = [(lab1.my_gcd(k, p - 1)[1] * i) % (p - 1) for i in u]
Пояснения по запуску программы
Открыть и запустить файл lab3.py
Телеграм
-