2016-12-12 27 views
0

是否有人使用GNU GMP庫成功實現了Cramer-Shoup加密/解密算法?我懷疑我的執行過程中出現了錯誤,並基於我在下面寫的內容,對我的懷疑進行簡單的肯定就足夠了 - 這是一般方案的維基鏈接:Cramer-Shoup CryptoSystemCramer-Shoup加密方案在GNU GMP庫中失敗的實現

我試圖實施Cramer- Shoup加密方案(和驗證)確定是否應撤銷匿名。密鑰對創建算法從the TCG Software Stack (TSS) Specification Version 1.2 Level 1 Errata A的第468頁開始,第446頁的加密部分和第471-472頁的驗證。我可以手工完成數學運算,簡單的代數替換可以讓我進行驗證檢查(手動)。我使用GMP庫,我從未遇到過使用GMP函數爲我的應用程序實現的其他代碼的問題(對基於屬性的憑證的承諾)。但是現在甚至用數學庫來嘗試幾種不同的解決方案,我總是得到錯誤的答案。

我在一個帶有TPM芯片和Debian操作系統的Beagleboard上試過這個。本週末,我在一個簡短的程序中花了一個非TPM版本在VMware Ubuntu客戶上運行。我確信任何動態內存分配都是在我的方程之前分配的,並且在不再需要時根據方程釋放。

我也經歷了每一個基於網絡的計算器的計算步驟,並以相同的錯誤結果結束。這部分是爲什麼我懷疑我的代碼是問題,而不是GMP庫。

我會發布我的代碼,但它會打破我的字符限制在這個線程上。

謝謝 - 我知道我的問題在軟件開發方面比其他方面更具哲學性,但我不想將社區與細節混淆。

+2

將代碼分解成可展示問題的最小可編譯部分,其他人可以運行以重現和發佈該代碼以及輸入,期望輸出和實際輸出。即一個[最小完整可驗證示例](http://stackoverflow.com/help/mcve)。 – dbush

+0

謝謝!我會照辦的。 –

回答

1

我又長時間看了一下實現。應該有一定的爭議順序,我讓他們在兩個地方切換。感謝您花時間查看此問題並提供建議!

GMP工作!