Location : Home > Languages > Perl > Package Title : Math::XOR |
![]() |
Math::XOR - 文字列バッファの XOR 暗号化を扱うパッケージ
use XOR; print xor_buf("hello", "world"), "\n";
XOR モジュールは2つの文字列に XOR を適用する。
(暗号化キーとして用いるパターンのランダム性が確保できれば)決して破られることのない唯一の暗号化法である。また興味深い数学的性質も持ち合わせている;
string 1 と string 2 に XOR を適用すると string 3 を得るとすると、
string 1 と string 3 に XOR を適用すると string 2 を得、
string 2 と string 3 に XOR を適用すると string 1 を得る。
xor_buf($string1, $string2)
本関数は、2つの文字列との間で XOR をとった結果をスカラーとして返す。文字列にはバイナリデータが含まれてもよい。
$string2 に $string1 と同じだけの文字数がなければ xor_buf() はエラーを出力し undef を返す。$string1 と同じ数だけの文字だけが処理され、 $string2 の超過する分は無視される。この理由から暗号化の時は $string1 をデータとして、$string2 をキーとして用いるとよい。
これは XOR version 0.01 であり、 "project abscondiac" として知られている。
Copyright 2002 The Guild of the Green Lion.
本モジュールは Perl 本体と同等の条件で再配布してもよい。
Written by Tyler MacDonald
【訳注と解説】
![]() |
Updated : 2006/06/03 |