0
我正在研究一個實現Merkle Hellman揹包的java問題。維基百科頁面是http://en.wikipedia.org/wiki/Merkle%E2%80%93Hellman_knapsack_cryptosystem。Merkle Hellman揹包加密系統
用一些簡單的樣本數據進行測試後,其中一些成功,另一些則不成功。例如, input ='f'; (01100110)
加密:
w = (1,2,4,7,12,20,33,54)
r = 147
q = 250
b = (147,44,88,29,14,190,101,188)
r-1(reverse) = 233 (r*r-1 mod q =1)
The cryptogram is therefore 423 (=44+88+190+101)
Decryption:
Then 423 * 233 mod 250 = 59
59-54=5
5-4=1
1-1=0
結果是10100001.但它是錯誤的!
我已經檢查了很多次,只是找不到我的過程中哪一步出錯。另外,我知道我使用的數字應該是隨機的。在這裏,我只是想舉一個例子。
任何人都可以點亮這個燈?
非常感謝!
這給了我一些關於stackoverflow實際工作方式的新見解...... – 2012-02-05 23:25:47