2013-05-21 18 views
0

我正在研究一些密碼(只是理論,沒有編碼)。目前我正在做小山密碼,我可以很好地使用它。但是我遇到了一個困擾着我的問題。假設我正在對字母A和I進行加密。A將是0I8。現在把我的加密框是:當預期結果不成立時希爾密碼實現

K= 18 2 
    23 0 

這一切都很好,很好。我可以加密這樣:

A = 18 * 0 = 0 2 * 8 = 16

的問題是,添加這些結果產生16 16%26只有16?這是我用於加密的號碼嗎?如果我有一個加密的結果是260%,會發生類似的問題26.這是否變成10或0?當你將260除以26得到10時。爲了完成模運算,我將拿走任何整數並將餘數乘以26.當然,如果我在這種情況下這樣做,那麼我得到0,它不能相乘。有什麼建議麼?

回答

2

是的。 16 % 26 = 16260 % 26 = 0.

問題是您的加密矩陣不能用作希爾密碼的加密/解密密鑰。 原因是加密矩陣必須有一個inverse matrix(模26)。換句話說,矩陣的determinant必須是nonzero,而不是除以213。實際上,你矩陣的 determinant24 mod 26,它不能滿足希爾密碼的這個要求。這就是爲什麼你得到了奇怪的結果,解密將失敗。

因此,請嘗試生成另一個具有所需屬性的加密矩陣。例如,
3 5
1 2可以用作加密矩陣。

+0

感謝您的回覆。這是有道理的,回聲我已經在想。可怕的是我從大學考試報告中拿出了這個例子。 – Gavin