=encoding euc-jp =head1 名前 Crypt::Blowfish - PerlのBlowfish暗号モジュール =head1 概要 use Crypt::Blowfish; my $cipher = new Crypt::Blowfish $key; my $ciphertext = $cipher->encrypt($plaintext); my $plaintext = $cipher->decrypt($ciphertext); =head1 説明 Blowfishは強力な暗号化をおこなうことができ、キーの大きさをを56バイト (448ビット・キー)にまでキーを大きくすることができます。このモジュールで 可能な最も強力な暗号であることを確実にするためフルのキーサイズを 利用することをお勧めします。 Crypt::Blowfishは以下のメソッドを持っています: =over 4 blocksize() keysize() encrypt() decrypt() =back =head1 関数 =over 4 =item blocksize 暗号ブロックの大きさ(バイト数)を返します。 Crypt::Blowfishは、可変長のキーを使用することが可能なため キーの大きさを返しません。(より正確に言えば、2.09からは...。 現在は返します。これは変更されるものと思ってください) =item new my $cipher = new Crypt::Blowfish $key; これは、$keyを使って新しいCrypt::Blowfish BlockCipherオブジェクトを 作成します。$keyのところにはCバイトのキーになります。(最小は8バイト) =item encrypt my $cipher = new Crypt::Blowfish $key; my $ciphertext = $cipher->encrypt($plaintext); この関数は$plaintextを暗号化し、$ciphertextを返します。 $plaintextと$ciphertextはCバイトになるはずです。 (ヒント:Blowfishは8バイトのブロック暗号です) =item decrypt my $cipher = new Crypt::Blowfish $key; my $plaintext = $cipher->decrypt($ciphertext); この関数は$ciphertextを復号化し、$plaintextを返します。 $plaintextと$ciphertextはCバイトになるはずです。 (ヒント:前のヒントをご覧ください) =back =head1 使用例 my $key = pack("H16", "0123456789ABCDEF"); # min. 8 bytes my $cipher = new Crypt::Blowfish $key; my $ciphertext = $cipher->encrypt("plaintex"); # SEE NOTES print unpack("H16", $ciphertext), "\n"; =head1 プラットホーム プラットホームとパフォーマンステストについてはREADMEをご覧ください =head1 注意 このモジュールはCrypt::CBCで使うことが出来ます。 暗号化ブロック連鎖モード(Cipher Block Chaining mode)のために、 このモジュールを使うのであれば、Crypt::CBCのperldocを読むことを お勧めします。事実、8バイトよりも大きいデータをこれで暗号化する つもりであれば、B<何らかの>タイプのブロック連鎖の助けを必要とする でしょう。8バイトよりも多く暗号化しないのであれば、あなたのデータは B<正確に>長さ8バイトでB<なければなりません>。必要であれば独自に パディングしてください。nullバイトである"\0"は完全に、これに利用 するのに適しています。さらに、現在のCrypt::Blowfishのメンテナは Crypt::CBCでのデフォルトの'RandomIV'初期化ベクトルをランダムな 初期化ベクトルで置換するCrypt::CBC_Rをリリースするかもしれませんし、 しないかもしれません。(/dev/urandomとその関連の制限によります) どちらの場合であっても、Crypt::CBC_Rについてはamused@pobox.comに メールしてください。 =head1 参考資料 Crypt::CBC, Crypt::DES, Crypt::IDEA Bruce Schneier, I, 1995, Second Edition, published by John Wiley & Sons, Inc. =head1 著作権(COPYRIGHT) The implementation of the Blowfish algorithm was developed by, and is copyright of, A.M. Kuchling. Other parts of the perl extension and module are copyright of Systemics Ltd ( http://www.systemics.com/ ). Code revisions, updates, and standalone release are copyright 1999-2001 W3Works, LLC. =head1 作者 Original algorithm, Bruce Shneier. Original implementation, A.M. Kuchling. Original Perl implementation, Systemics Ltd. Current maintenance by W3Works, LLC. Current revision and maintainer: Dave Paris =head1 翻訳者 川合孝典(GCD00051@nifty.ne.jp)