16

対称暗号化とハッシングに関する情報を見つけることができましたが、Java のあらゆる種類の公開鍵暗号化に関する多くの情報を見つけるのにかなり苦労しました。私がやりたいのは、文字列 (または私が推測するファイル) を取得し、公開鍵で暗号化し、秘密鍵で復号化する非常に単純な概念実証プログラムを作成することです。

チュートリアルのリンクや例をいただければ幸いです。Java で公開鍵暗号を使用する方法を示すものを作りたいだけです。

4

2 に答える 2

13

通常、対称鍵の暗号化には公開鍵暗号を使用します。これは、公開鍵暗号が非常に低速であるためです。通常、受信者に次のメッセージを送信して、メッセージを解読できるようにします。

  1. 受信者の公開鍵で暗号化された対称鍵。
  2. 使用されるアルゴリズムのパラメーター。通常は、対称暗号の初期化ベクトルです。
  3. 使用される暗号化アルゴリズムの識別子。
  4. 暗号文 - 対称暗号で暗号化された実際のメッセージ。

JCE ドキュメントのサンプル コードは、動作させるのに十分であることがわかりました。

このすべての情報をまとめる標準形式は、電子メール アプリケーションの S/MIME で使用される暗号化メッセージ シンタックス (CMS) です。Bouncy Castle のライブラリを使用することをお勧めします。それらはしっかりしていて、かなりシンプルで、積極的に維持されています。リファレンス ドキュメントは少し貧弱ですが、コード例を提供しています。

于 2008-12-03T20:53:16.997 に答える
12

それについては、ウェブ上にかなりの数のリソースがあります。基本的には、KeyPairGenerator クラスを好転させます。

サンプル プログラムについては、http://www.informit.com/articles/article.aspx?p=170967&seqNum=4を参照してください。

于 2008-12-03T20:36:56.967 に答える