我有這段代碼:如何在這個特定的例子中使用模遞減?
[刪除,因爲不需要抄襲]
這是二戰期間使用的恩尼格瑪密碼機的簡化版本。此代碼的解密部分不能正常工作,並返回HFFDGRHC而不是HELLOBOY。有誰知道如何解決這個問題?
作業:模仿Enigma密碼:ENIGMA機器的扭曲是實際上有26個不同的旋轉密碼,並且根據前一個字母的輸出爲每個字母選擇了一個新的密碼。提示:添加前一個字母和以前的加密密鑰的和。使用這些信息,請指出如何解密而不是加密。
我有這段代碼:如何在這個特定的例子中使用模遞減?
[刪除,因爲不需要抄襲]
這是二戰期間使用的恩尼格瑪密碼機的簡化版本。此代碼的解密部分不能正常工作,並返回HFFDGRHC而不是HELLOBOY。有誰知道如何解決這個問題?
作業:模仿Enigma密碼:ENIGMA機器的扭曲是實際上有26個不同的旋轉密碼,並且根據前一個字母的輸出爲每個字母選擇了一個新的密碼。提示:添加前一個字母和以前的加密密鑰的和。使用這些信息,請指出如何解密而不是加密。
的線索是在這裏:
添加以前的信和以前的加密密鑰的總和。
您沒有將上一個密鑰添加到新密鑰中。
變化的關鍵軋線:
key = (key + newLetter) % 26;
輸出現在是"HELLOBOY"
這有什麼原因可以工作嗎? – ShadowWolf
因爲'sum'部分是作爲加密而不是解密的暗示給出 – ShadowWolf
@ShadowWolf顯然(對我來說)如果密鑰在加密期間滾動,它也必須滾動以進行解密。我承認猜測'%26'部分。 – Bohemian
定義「沒有得到很好的工作」的 - 什麼是輸入,預期的輸出,與實際輸出? –
輸入是鍵= 1,文本=「IZXVWKLW」。預期的產量是HELLOBOY,而是輸出HFFDGRHC。 – ShadowWolf