Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Расшифровать шифр Виженера используя язык python

Александр Сергеевич Ученик (125), на голосовании 5 месяцев назад
Расшифруйте следующее сообщение: «ЯЁЖ – РХПК В ШЕЪАФТЩЙ ВНЛИБН. ЩББЕТУХЧЬЯ ЮЕ КЛГЕП ПБН ЬЛЩДШИЩ ЁУИ Щ ПКТДТУ. ДЬНША ЯЁУ – ТБН ЭЫВДВИ ИЙЬТМЦЩТ АДЭЬФЙЬЯГ ПЧ. В ДЦЭЬХ УЛРРМЮЕГ УЛСЫШИ ГДЁЮ И ТФКДРЙЭ В ЫЕЫСЫУП МЯХП. НХТБЫ, ЯЁУТРГДИХ Ж ШИШУМЬПЪ ЫЕЫН, ШАШАМАЬН ПЁ ВЕЦЯ-ПС, ВТЯ УТНРЬКЕГ «СЁСЯЖКЯ БЙХА». ЁЕШТЛ Н ЧАЮЦУ ДРРУ ЕЪ ТКЗТЕШИХ ЕЬ – «БЯРЖШРД ЫЕЫЕ», ЬЕЬБХУАА ТВРРУ РХПЮ КТЕФ, ЕЭЙ, ХУРО. ЗТЩ ТКЗТЕШИП УТНРЬКЛЩ – «ПЫУАТКЯ БЙХА».

Подобрав ключевое слово
Голосование за лучший ответ
Леха Миронов Мастер (2296) 6 месяцев назад
 def vigenere_decrypt(ciphertext, keyword): 
keyword = keyword.upper()
plaintext = ""
key_index = 0
for char in ciphertext:
if char.isalpha():
key = ord(keyword[key_index % len(keyword)]) - ord('А')
if char.isupper():
offset = ord('А')
else:
offset = ord('а')
decrypted_char = chr(((ord(char) - offset - key) % 32) + offset)
plaintext += decrypted_char
key_index += 1
else:
plaintext += char
return plaintext

ciphertext = "ЯЁЖ – РХПК В ШЕЪАФТЩЙ ВНЛИБН. ЩББЕТУХЧЬЯ ЮЕ КЛГЕП ПБН ЬЛЩДШИЩ ЁУИ Щ ПКТДТУ. ДЬНША ЯЁУ – ТБН ЭЫВДВИ ИЙЬТМЦЩТ АДЭЬФЙЬЯГ ПЧ. В ДЦЭЬХ УЛРРМЮЕГ УЛСЫШИ ГДЁЮ И ТФКДРЙЭ В ЫЕЫСЫУП МЯХП. НХТБЫ, ЯЁУТРГДИХ Ж ШИШУМЬПЪ ЫЕЫН, ШАШАМАЬН ПЁ ВЕЦЯ-ПС, ВТЯ УТНРЬКЕГ «СЁСЯЖКЯ БЙХА». ЁЕШТЛ Н ЧАЮЦУ ДРРУ ЕЪ ТКЗТЕШИХ ЕЬ – «БЯРЖШРД ЫЕЫЕ», ЬЕЬБХУАА ТВРРУ РХПЮ КТЕФ, ЕЭЙ, ХУРО. ЗТЩ ТКЗТЕШИП УТНРЬКЛЩ – «ПЫУАТКЯ БЙХА»."
keyword = "PYTHON"

decrypted_text = vigenere_decrypt(ciphertext, keyword)
print(decrypted_text)
Похожие вопросы