Так как шифр тов. Вернама - симметричный, дешифровку вы уже написали.
Поясню - в симметричной криптосистеме, для шифрования складывают гамму (в случае ш. Вернама - ключ из блокнота) по модулю, равному мощности алфавита, с шифруемым текстом.
Для дешифровки нужно ту же гамму опять же сложить по тому же модулю с зашифрованным сообщением - и вуаля, у вас на выходе расшифрованный текст.
from random import choice
from string import ascii_lowercase as abc
from textwrap import wrap
text = 'abcdefghijlkmnorpq'
diff = set(abc).difference
for a, b, c in wrap(text, 3):
b = choice(tuple(diff(a, b, c)))
print(a, b, c, sep='')
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.