這是我必須弄清楚的問題:使用解決在沒有鑰匙的V @ genere碼 - 蟒蛇
「消息已被加密的V @ genere加密法討論了類 ,它的密文EQNVZ已經截獲打破假設 密鑰的長度與消息的長度相同,並且消息和密鑰 只包含大寫字母。「
是否有辦法在Python中做到這一點?我知道有一種方法可以在python中創建密文,但是有沒有辦法以其他方式進行?
這是我必須弄清楚的問題:使用解決在沒有鑰匙的V @ genere碼 - 蟒蛇
「消息已被加密的V @ genere加密法討論了類 ,它的密文EQNVZ已經截獲打破假設 密鑰的長度與消息的長度相同,並且消息和密鑰 只包含大寫字母。「
是否有辦法在Python中做到這一點?我知道有一種方法可以在python中創建密文,但是有沒有辦法以其他方式進行?
這是個詭計的問題。如果「密鑰長度與消息長度相同」,那麼你有一個隱藏除消息長度以外的所有內容的one-time pad。
由於您的密文是如此短暫,它可能比較容易只是蠻力它:
def break_vignere(input, list_of_words):
for word in list_of_words:
crypt = vignere(word)
if crypt == input:
return word
return None
當然,如果我們沒有發現在我們的list_of_words
輸入文本也可能會失敗。
如果「EQNVZ」是整個密文,那麼關鍵也是5個大寫字符,以便
from string import uppercase
from itertools import product, imap
for key in imap("".join, product(uppercase, repeat=5)):
if test(key):
break
將測試所有按鍵假設你有一個函數test()
,檢查該明文是全部大寫,也許反對字典。
是的,有... –
是「EQNVZ」的密文嗎? –
密鑰的長度與密文相同,你可以選擇一個密鑰來製作你喜歡的任何明文。有沒有可以做出的假設,例如鑰匙是一個真正的單詞? – Qwerky