名前¶
Crypt::CFB - Cipher Feedback Modeでデータを暗号化します
概要¶
use Crypt::CFB;
my $cipher = new Crypt::CFB $key, 'Crypt::Rijndael';
my $ciphertext = $cipher->encrypt($plaintext);
my $plaintext = $cipher->decrypt($ciphertext);
my $cipher2 = new Crypt::CFB $key, 'Digest::MD5';
$ciphertext = $cipher->encrypt($plaintext);
$plaintext = $cipher->decrypt($ciphertext);
説明¶
pure Perlな汎用的なCFB実装。 Cipher Feedback Modeモジュールはブロック暗号や暗号化ハッシュ 関数からストリーム暗号を組み立て、オブジェクトとして返します。 それがblocksizeとkeysizeメソッドをサポートするのであれば、 Crypt::クラスにある全てのブロック暗号を使うことが出来ます。 それがaddメソッドをサポートするのであれば、 Digest::クラスにある全てのハッシュ関数を使うことが出来ます。
メソッド¶
$cipher = new Crypt::CFB $key, $algorithm-
CFBオブジェクトを組み立てます。
$algorithmがブロック暗号であれば、$keyはその暗号に対しての正しい大きさでなければなりません。 ほとんどの場合、keysizeメソッドを呼び出すことにより、ブロック暗号 モジュールに尋ねることができます。$algorithmがハッシュ関数(Digest::)で あれば、$keyはどのような大きさにもすることができます。 $ciphertext = $cipher->encrypt $plaintext-
$plaintextを暗号化します。入力はCFBオブジェクトの初期状態から生成される キーストリームでXORされ、その状態は出力で更新されます。$plaintextは どのような大きさにもすることが出来ます。 $cipher->reset-
初期状態をリセットします。同じオブジェクトを使うのであれば、 復号化する前に、これを行うことを忘れないでください。
$plaintext = $cipher->decrypt $ciphertext-
$ciphertextを復号化します。
バグ¶
これは恐ろしいほど遅いです。Digest::のいくつかのクラスは addメソッドを提供しないので、それらは失敗します。実装は ちょっとだけ凝っています。
作者¶
Matthias Bauer <matthiasb@acm.org>
翻訳者¶
川合孝典 (GCD00051@nifty.ne.jp)