Crypt-OOEnigma-0.3 > Crypt::OOEnigma::Rotor

名前

Crypt::OOEnigma::Rotor - Crypt::OOEnigmaで使うためのRotorオブジェクト

概要

  my $rotor = Crypt::OOEnigma::Rotor->new();
  
  # あるいは
  my $subHash ={ # A..Z全ての暗号のための置換コード
                 A => "Z",
                 B => "G",
                 # など
               };
  my $freq = 2 ; # ローテーションのたびに暗号化される文字の数
  my $start_position = 20 ; # モジュロ 26
  my $rotor = Crypt::OOEnigma::Rotor->new(cipher  => $subHash, 
                                          freq    => $freq
                                          start_position => $pos);


  # Enigma machinesでの内部利用のため:
  $rotor->init(); # その内部状態のためRotorを返します
  my $op = $rotor->encode($some_letter); # 前方向での文字のエンコード
  $op    = $rotor->revencode($some_letter); # 逆方向での文字のエンコード
  $rotor->next(); # 次のエンコードのための準備、必要に合わせて回転
  $rotor->rotate(); # 次の位置に回転

説明

これはCrypt::OOEnigmaで使われるRotorです。特定のプロパティを持った 独自のエニグマを作りたいときに、お使いください。

注意

何もありません

バグと警告

エニグマは脆弱です!

暗号の専門家はコンピュータ的にやぶれやすいかどうかという面から 暗号アルゴリズムの強さを語ります。もちろんエニグマ暗号はコンピュータ的には やぶられやすいものです。そのため重要なものには使わないでください!

歴史

このパッケージはOO PerlとCPANのための適切な準備の練習のため、2002年の春に 作成されました。さらに重要なことはEnigmaが面白いことです。

CPANにはオブジェクト指向ではなく、1つのEnigmaだけを実装している Crypt::Enigmaが既にありました。(これに対してこれらのオブジェクトでエニグマに似た 機械を作ることができます)。そのためこのパッケージをCrypt::OOEnigmaと 名付けました。

参考資料

The Pleasures of Counting, T W Korner, CUP 1996. A great book for anyone with the slightest interest in mathematics ISBN 0 521 56087 X hardback ISBN 0 521 56823 4 paperback

Crypt::OOEnigma::Military

コンポーネント Crypt::OOEnigma::Rotor Crypt::OOEnigma::Reflector Crypt::OOEnigma::Plugboard

著作権(=COPYRIGHT)

This package is licenced under the same terms as Perl itself.

翻訳者

川合孝典 (GCD00051@nifty.ne.jp)