暗号プログラム (Java言語版)

Java言語で記述された暗号関連のプログラムのサンプルを紹介します.

パッケージ名は,Blanclux.tools としていますので,コンパイル時にはディレクトリ構成に注意して下さい.

証明書リスト

証明書リストを格納するファイル(PKCS#7形式/PEM形式)を読み込み,その内容を表示するプログラム(Javaアプリケーション)です.ソースプログラムは,CertList.java です.

プログラムは,javaコマンドにより以下のよう起動します.

 java Blanclux.tools.CertList fileName

  パラメータ:
    fileName: 証明書リストファイル名

証明書リスト内の各証明書に関する以下の情報が出力されます.

乱数性検定

FIPS PUB 140-2 に規定された乱数性のチェックを行うプログラムです (参照:乱数性の評価).ソースプログラムは,RandFips.java です.

プログラムは,javaコマンドにより以下のよう起動します.

 java Blanclux.tools.RandFips [randAlg]

  パラメータ:
    randAlg: 乱数生成アルゴリズム名

チェックの対象となる乱数生成アルゴリズムをパラメータ randAlg で指定します.省略した場合は,SHA1PRNG が用いられます.

プログラムでは,乱数性の検査項目に対して,結果と OK/NG が出力されます.

鍵交換

DH (Diffie-Hellman)法を用いた鍵交換を行う機能をテストするプログラム(Javaアプリケーション)です.ソースプログラムは,KeyAgree.java です.

プログラムは,javaコマンドにより以下のよう起動します.

 java Blanclux.tools.KeyAgree

DH 法は,鍵交換を行うパーティ A とパーティ B が互いの公開鍵を交換することにより,鍵データを共有するものですが,ここでは,A と B の機能をプログラム内で行い,同一の共通鍵が生成できることを確認しています.

次の処理を行っています.

以下のパラメータが使われます.

これらを変更する場合は,ソースの対応する変数の値を変えてください.

inserted by FC2 system