誰もがGNU GMPライブラリを使用してCramer-Shoup暗号化/復号化アルゴリズムを正常に実装しましたか?私は実装に微妙に間違っていると思うし、以下に書いたものに基づいて、私の疑いの単純な肯定で十分だろう - ここには一般的なスキームのwikiリンクがある:Cramer-Shoup CryptoSystemGNUのGMPライブラリで失敗したCramer-Shoup暗号化方式の実装
私はCramer-匿名性を取り消すべきかどうかを決定する際のShoup暗号化方式(および検証)。これは、468ページから始まる鍵ペアの作成アルゴリズムはthe TCG Software Stack (TSS) Specification Version 1.2 Level 1 Errata Aで、446ページの暗号化部分と471-472ページの検証を使用しています。私は手で数学を行うことができ、単純な代数代入は私が検証チェックが合格するところまで手で渡します。私はGMPライブラリを使用しています。アプリケーション(GMPベースの資格情報へのコミットメント)にGMP関数を使用して実装した他のコードには問題がありませんでした。しかし、数学ライブラリでいくつかの異なるソリューションを試しても、私は間違った答えを得ています。
TPMチップとDebianオペレーティングシステムを搭載したBeagleboardでこれを試しました。私はこの週末を自宅で過ごし、非TPM版をVMware Ubuntuのゲストで短いプログラムで実行することにしました。私は、ダイナミックメモリ割り当てが私の方程式の前に割り当てられていることを確認し、もはや必要がなくなったら方程式を解放しました。
私はウェブベースの電卓を使って計算の各ステップを踏んで、同じ結果を得ました。この部分は私のコードがGMPライブラリではなく問題であると考えている理由です。
私は自分のコードを投稿しますが、このスレッドでは文字数制限がありません。
ありがとうございます - 私の質問は、ソフトウェア開発の方が哲学的であることは分かっていますが、コミュニティと詳細を混同したくありません。
問題を呈する最小のコンパイル可能な部分にコードを分割します。他の部分は、入力、予想される出力、および実際の出力とともに、再現して掲載することができます。私。 a [最小完全な検証可能な例](http://stackoverflow.com/help/mcve) – dbush
ありがとう!そうします。 –