Crypt-OOEnigma-0.3 > Crypt::OOEnigma::Commercial

名前

Crypt::OOEnigma::Commercial - 1940年頃の商用エニグマ・マシン

概要

  use Crypt::OOEnigma::Commercial;
  my $enigma = new Crypt::OOEnigma::Commercial;

  # あるいは
  use Crypt::OOEnigma::Commercial;
  use Crypt::OOEnigma::Rotor;
  my @rotors = ();
  # Crypt::OOEnigma::Rotorのリストを入れる
  Crypt::OOEnigma::Commercial->new( rotors => [@rotors] );

  # あるは
  use Crypt::OOEnigma::Commercial;
  use Crypt::OOEnigma::Rotor;
  use Crypt::OOEnigma::Reflector;
  my @rotors = ()
  # Crypt::OOEnigma::Rotorのリストを入れる
  my $reflector = new Crypt:OOEnigma::Reflector(params); # 対応するPODを参照
  Crypt::OOEnigma::Commercial->new( rotors => [@rotors],
                                    reflector => $reflector);

  my $cipher = $enigma->encipher($mesg);
  my $decode = $enigma->encipher($cipher); # 逆方向

  # 同様に、内部的に利用するため
  $enigma->init(); # ローターとそれらの初期状態を返します

説明

このモジュールは、いくつかのローターとリフレクタによって構成される商用エニグマ・マシン を提供します。コンストラクタでRotaorが与えられなければ、3つのデフォルトのローターが 利用されます。それぞれはいつでも同じ置換を使います(つまり開始位置0では各ローターでは 全く何も暗号になりません)。

通常、独自のローターを作成し、それらを使うべきです。詳細については 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)