Как реализовать алгоритм RSA на Python?

Собственно, хочу собственную независимую либу для шифровки сделать. Я так понял, питону не нужны никакие дополнительные библиотеки для работы с огромными числами. Это хорошо.

Но завис я на вычислении секретной экспоненты. Делал как здесь на примере (примерно посредине страницы).

Мой вариант:d = (e ** -1) % f но он делает совсем не то, что надо (брал такие же циферки)
  • Вопрос задан
  • 26451 просмотр
Решения вопроса 2
Подсмотрите как здесь реализовали
code.activestate.com/recipes/578838-rsa-a-simple-a...

Библиотека:
https://pypi.python.org/pypi/rsa
Ответ написан
@zzzmaikzzz
Junior-web
F = (P - 1) * (Q - 1)
print "Вычисляем функцию Эйлера F(n)=(p-1)*(Q-1)"
print "F =",F

# Use first simple number.
Ko = 0
i = 2
while i < F:
	e = Euclid(F, i)
	if e == 1:
		Ko = i;
		break;
	i += 1

print "Выбираем значение открытого ключа Кo с соблюдением условий"
print "1<Кo<F(n), Кo и F(n) – взаимно простые числа (их НОД=1)"
print "Ko =",Ko

i = 2
while i < n:
	if (i * Ko) % F == 1:
		Kc = i
		break
	i += 1

print "Находим Kc =",Kc

C = M**Ko % n
print "Шифрование: C =",C

Md = C**Kc % n
print "Расшифрование: M =",Md
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
qmax
@qmax
программер
Рекомендация от профессора стэндфордского университета Dan Bioneh на курсе крипторгафии:
не пытайтесь реализовать алгоритмы сами!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы