Crypt-CFB-0.01 > Crypt::CFB

名前

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モジュールはブロック暗号や暗号化ハッシュ 関数からストリーム暗号を組み立て、オブジェクトとして返します。 それがblocksizekeysizeメソッドをサポートするのであれば、 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)