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

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

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

鍵生成

各種暗号アルゴリズム用の鍵を生成するプログラム(Javaアプリケーション)です.ソースプログラムは,KeyGen.java です.

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

 java Blanclux.tools.KeyGen [iniFile]

  パラメータ:
    iniFile: 初期設定ファイル名

秘密鍵暗号と公開鍵暗号の鍵をそれぞれ生成し,ファイルに格納します.

以下のパラメータがデフォルトで使われます.

パラメータとして iniFile を指定し,上記のパラメータを以下のように指定することができます.

 secKeyAlg = AES
 secKeyLen = 128

ファイル暗号化

ファイルを共通鍵暗号を使って暗号化するプログラム(Javaアプリケーション)です.ソースプログラムは,SecCipher.java です.

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

 java Blanclux.tools.SecCipher {-e|-d} keyFile inFile outFile

  パラメータ:
    -e | -d: 暗号化(-e)または復号(-d)
    keyFile: 共通鍵ファイル
    inFile:  入力ファイル名
    outFile: 出力ファイル名

入力ファイルを暗号化または復号し,結果を出力ファイルに格納します.このとき,パラメータの keyFile で指定された共通鍵をを用いて暗号化/復号します. 共通鍵は, 鍵生成プログラム にて生成できます.

デフォルトで以下のパラメータが使われます.

初期設定ファイル CipherInfo.ini に,上記のパラメータを以下のように指定することができます.

 Provider = SunJCE
 Algorithm = DES
 Mode = CBC
 Padding = PKCS5Padding

CipherInfo.ini が存在する場合,このファイルの指定が優先されます.

ファイル暗号化 (パスワード暗号)

ファイルをパスワード暗号を使って暗号化するプログラム(Javaアプリケーション)です.ソースプログラムは,CryptFile.java です.

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

 java Blanclux.tools.CryptFile {enc|dec} password srcFile destFile

  パラメータ:
    enc | dec: 暗号化(enc)または復号(dec)
    password: パスワード
    srcFile:  入力ファイル名
    destFile: 出力ファイル名

入力ファイルを暗号化または復号し,結果を出力ファイルに格納します.このとき,パラメータの password で指定されたパスワードから共通鍵を生成し,暗号化/復号します.

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

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

inserted by FC2 system