2011-01-06 8 views

答えて

6

OpenSSLライブラリは明らかです。 CryptLibは別のオプションですが、ライセンスを確認する必要があります(それは非常に具体的です)。

あなた自身のコードの作成について: のみ RSA、それは大きくなく、あなた自身で書くことができます。しかし、RSAはほとんど使用されていません。通常、暗号化はランダムキーと対称アルゴリズムを使用して実行され、ランダムキーはRSAで暗号化されます。したがって、データの暗号化を希望し、独自のものを書くことに決めた場合、あなたはその車輪を改革するでしょう。

+0

RSAの安全な使用には、通常、正しいパディングが必要です。そしておそらくあなた自身でそれをしたくないでしょう。 – CodesInChaos

+1

モジュラ累乗を書くことは良いプログラミングです。しかし、適切で安全なRSA実装では、タイミング攻撃に対処するためのマスキングなどの細部の細部にも注意が必要です。だから、_please_は、独自のRSAコードを書かないでください。ライブラリを使用する。 –

+1

あなたは自分でRSAの実装を書くべきではありません**!秘密鍵を回復するために使用できるRSA実装には、多くのサイドチャネル攻撃があります。あなたが秘密鍵を誤って漏らさないように、可能な限り最大限に確実に自分のものではなく、十分にテストされた実装を使用してください。 – templatetypedef

1

OpenSSLは、標準の選択となる記述することです。 http://www.openssl.org/ http://www.openssl.org/docs/crypto/rsa.htmlでは、そのAPIについて説明しています。

4

Crypto++ Library is a free C++ class library of cryptographic schemes.多くの異なる暗号化システムの中で、RSAも提供しています。

一般的に、これがあなたがうまくいなければ、独自の暗号化/セキュリティコードをロールすることは決してお勧めできません。安全なコードは難しく、確立されたライブラリでさえ、抜け穴、バグ、不具合が毎回ポップアップします。

1

cryptoppもご覧ください。私はそれを使用し、それは非常に便利です(しかし、RSAを使用していない)。

herehereを参照してください。

関連する問題