名前¶
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 <[email protected]>
翻訳者¶
川合孝典 ([email protected])