掲示板に戻る
No:625 タイトル:GEAR戦士撫子 新Part620 お名前:プロフェッサー圧縮 投稿日:2024/10/16 07:03:09 単表示 返信

これはリフレクター部分が回転しない(=暗号表が固定)ことに起因します。

つまり偶然ローターが揃って入力AがAのままリフレクターに到達したとしても、リフレクター部分でBとかCに変換されてしまうことになります。

しかしこれだけでは26文字の候補が25文字になっただけで、大差ないように思えます。

そう──────これ『だけ』では。


          ◇          ◇          ◇


ここで運用している独逸軍は致命的な失策を犯します。

それは「冒頭の6文字は必ず3文字のりピートである」という「運用上のルール」を設定してしまったことです。


          ◇          ◇          ◇


何故そんなことをしたかといいますと・・・・・・

暗号が正しく行われているかの確認のためです。

・・・・・・まあ、当初は画期的な技術で十分な実績がある訳もなかったので当然と言えば当然の措置でしたが・・・・・・

しかし実戦の機密性の高い通信でテスト紛いのことをするのはどうなんだと。

それだけエニグマの強度に自信があったのかも知れませんが・・・・・・

まあぶっちゃけ慢心でしたわね。結果から言うと。


          ◇          ◇          ◇


とまあ「法則」が見つかりさえすれば後は簡単・・・・・・とまでは行きませんでしたが。

それでも無敵と思われたエニグマ暗号は突破されました。

しかし。

流石に独逸もあぐらをかき続けていた訳ではなかったのです。
  • No:626 タイトル:GEAR戦士撫子 新Part621 お名前:プロフェッサー圧縮 投稿日:2024/10/23 07:11:33 単表示 返信

    エニグマ解読は主にポーランドで行われていましたが・・・・・・当時ポーランドは独逸からの激烈な圧力を受けていました。

    なので文字通り独逸の動向を探るのは死活問題だったのです。

    前述の欠点を見出したポーランドは、独自の暗号解読機械「ボンブ」を開発。

    かなりの確度で解読に成功するところまでこぎつけていたのです。


              ◇          ◇          ◇


    それを察知した独逸軍は、すぐに対策を打ち出しました。

    と言ってもやったことは至極単純。

    3枚固定だったエニグマのローターのバリエーションを5つに増やしたのです。


              ◇          ◇          ◇


    たったのこれだけで、元々気の遠くなる組み合わせがあったエニグマの暗号表は、更に1万5000倍にも膨れ上がりました。

    解読に入ってからは機械が行うボンブも、予想組み合わせは人が設定しなければなりません。

    最初の3文字が同じ文字とわかっていたとしても、そうなる組み合わせが無数に存在してしまっては意味がありません。

    この「量を指数関数的に増やして解読を困難にする」手法は、今日においてなお有効とされています。


              ◇          ◇          ◇


    こうして無敵性を取り戻したエニグマを盾に、独逸軍は神出鬼没の蹂躙を始めます。

    いよいよ窮地に立たされたポーランドは・・・・・・思い切った行動に出ます。

    これまでの研究データとボンブの実機を、丸々連合軍にぶん投げたのです。
  • No:627 タイトル:GEAR戦士撫子 新Part622 お名前:プロフェッサー圧縮 投稿日:2024/10/30 07:02:15 単表示 返信

    当時、連合国はイギリスには「政府暗号学校」という組織がありました。

    学校と名がついていますがバリバリの軍事組織で、海軍暗号解読機関「ルーム40」と陸軍情報部第1課を統合して1919年に誕生しました。

    其処に持ち込まれたポーランドからもたらされたエニグマ突破の鍵は、早速立ち上げられた特務チームに委ねられました。

    そしてそのチームの中に、ある一人の男の姿がありました。

    誰もが一度は名を聞いたことがあるであろうその男。

    人呼んで"コンピューターの父"アラン・チューリングその人です。


              ◇          ◇          ◇


    アランは当時政府暗号学校でパートタイマーしていました。

    ・・・正規職員でもないのに極秘プロジェクトのチームリーダーしていたとは、剛毅と言いますかブラック職場と言いますかですが。

    彼にはその重責に足る実績が既にありましたので、問題にはならなかったのでしょう。多分きっとMaybe.


              ◇          ◇          ◇


    その功績とはなんぞや? と言いますとかの有名な「チューリングマシン」の提唱です。

    これはものすごくざっくり乱暴に言いますと『どのような計算でも一本のテープ上に表現できる』という理論で、近代のコンピューターは全てこれに則って動いています。

    この理論は『ひと繋ぎの動作だけであらゆる計算が実現できる』ことを証明しており、複数の動きを噛み合わせる必要がなくなり機械設計の大幅な簡略化を可能としました。

    まさにこの理論がなければ現代コンピュータープログラミングは存在し得なかったのです。

    歴史に残る偉大なる発明と言えます。


              ◇          ◇          ◇


    もっとも現代コンピューターは一度に一つきりの「テープ」などではなく、文字通り無数の「テープ」が走っています。

    ですが一本一本はアラン・チューリングが提唱したチューリングマシンとして動いており、今も世界のあらゆる場所で息づいています。

    幾つかチューリングマシンから"卒業"する動きもありますが・・・・・・

    まだまだ実用には程遠いようです。
  • No:628 タイトル:GEAR戦士撫子 新Part623 お名前:プロフェッサー圧縮 投稿日:2024/11/06 07:02:24 単表示 返信
    ちなみに。

    チューリングマシンを実際の装置に落とし込んだコンピューターのことはノイマン型と呼ばれます。

    何故チューリング型と呼ばれないのかと言いますと・・・・・・

    実際のところ、チューリングテープを機械として現実化するのは大分無理があるからなのです。


              ◇          ◇          ◇


    チューリングマシンは無限長のテープの上で全てが行われますが、人間がその処理結果を追うのはかなりしんどいことです。

    更に言えばテープは何回でも読み「書き」がされるので、紙のテープは論外となります。

    当時計算機で主流だった歯車での表現はもっと困難です。

    やろうと思ったら100や200じゃきかない数が必要です。全くもって現実的ではありません。

    そうなると候補は非常に限られてきます。


              ◇          ◇          ◇


    そんな中、白羽の矢が立ったのが当時開発されたてほやほやの電気回路──────

    特に「状態を保持できる」真空管だったのです。


              ◇          ◇          ◇


    もっとも真空管もそれなりの値段はするし割とかさばるので最適とは言い難いものではありました。

    しかし、他に良さげなものもなかったのでこれを使ったチューリングマシンが模索されていくことになります。

    そしてその研究開発の中で最も有名なものが1946年2月14日に公開されました。

    ペンシルベニア大学に納品された幅30m、高さ2.4m、奥行き0.9m、総重量27tのモンスターマシン。

    Electronic Numerical Integrator and Computer。通称ENIACです。
  • No:629 タイトル:GEAR戦士撫子 新Part624 お名前:プロフェッサー圧縮 投稿日:2024/11/13 07:03:23 単表示 返信

    ENIACは1万8千個もの真空管を使用し、10桁の数値を記憶演算できる「アキュムレータ」と呼ばれる機構を20基備えていました。

    各アキュムレータはバッチパネルというステレオジャックが何十と並んだパネルに接続されており、プラグとケーブルで自由に結線を変えられます。

    またアキュムレータにはそれぞれ役割があり、加減算担当・乗算担当・除算+平方根担当等がありました。

    つまりバッチパネルで「このアキュムレータを使うと加算、そのアキュムレータを使うと除算」といった『処理定義』が可能となる訳です。


              ◇          ◇          ◇


    後はその定義を何時どんな順番で実行するかを指定してやればプログラミングの完成です。

    その順番はパンチカードに記載され、読んだ端から実行されていきます。

    実は完成当時のENAIC、プログラムを覚えておく機構がありませんでした。

    ですので一応分岐機能は備えていたのですが、あまり遠くへは飛べなかったようです。


              ◇          ◇          ◇


    そして演算した結果はパンチカードに書かれた出力命令によって読み取りとは別のパンチカードに刻まれます。

    パンチカードというのは紙のカードに穴を開けて値を表現するのですが、当たり前の話そのままでは読み辛くて仕方ありません。

    ですので、別の機械にそれを読み取らせて人間が読める状態にコンバートするのです。


              ◇          ◇          ◇


    とまあ。

    エニグマ等に比べてえらく仰々しいと言いますかとんでもなく大掛かりなシステムですが。

    それもこれも、「プログラムすれば何でも出来る」汎用性を求めた結果であると言えます。

    人類には早すぎたとも言えますが・・・・・・

    0が1になるのは、それだけ大変で偉大なことなのです。
  • No:630 タイトル:GEAR戦士撫子 新Part625 お名前:プロフェッサー圧縮 投稿日:2024/11/20 08:12:15 単表示 返信

    さて。

    この史上最初のコンピューターENIAC、実はノイマン型とは呼ばれてません。

    そもそも設計開発したのはペンシルベニア大学のジョン・モークリーとジョン・プレスパー・エッカートであり、この時点でノイマンは関わっていなかったのです。

    では何故コンピューターの開祖がノイマンであるかのように言われてるかと言いますと。

    後に大改造した後期型ENIACに深く関わっているからなのです。


              ◇          ◇          ◇


    先にも触れましたが、最初のENIACにはプログラムを記憶しておく場所がほぼありませんでした。

    なのでチューリングマシンに必要な「戻って読み書きする」ことがかなり困難だったのです。

    数式の中には値を変えて繰り返すものもそれなりにあるらしいので(わたくしは習ってないのでよくわかりませんが)、この戻りが困難=ループができないのはかなり困ったことになったようです。


              ◇          ◇          ◇


    そこで戻れるようにプログラムを記憶しておくプログラム内蔵方式の検討が始まり、何人かが幾つかの方式を書き上げました。

    その中にノイマンの論文である"First Draft of a Report on the EDVAC"(EDVACに関する報告書の第一草稿)があったのです。

    EDVACとタイトルにあるように、これは元々ENIACの改造案ではなく次世代機EDVAC用に議論されたものでした。

    しかしここでの成果は結局ENIACにもフィードバックされることになります。


              ◇          ◇          ◇


    この報告書はEDVACをプログラム内蔵方式にするにあたり、どのような装置が必要であるかを纏めたものです。

    そこには現代コンピューターが備えている必須機構が余す所なく書かれていました。

    これこそが現代コンピューターがノイマン型と呼ばれるようになった所以です。
  • No:631 タイトル:GEAR戦士撫子 新Part626 お名前:プロフェッサー圧縮 投稿日:2024/11/27 07:01:43 単表示 返信

    この報告書の中で次世代型コンピュータは"超高速自動デジタルコンピューティングシステム(very high speed automatic digital computing system)"と呼ばれ、以下の機器で構成されるものとしていました。

    CA: 中央演算部(central arithmetic part)
    CC: 中央制御部(central control part)
    M: 記憶装置(memory)
    I: 入力装置(input)
    O: 出力装置(output)
    R: (低速度の)外部記憶装置((slow) external memory)

    それぞれ簡単に見ていきましょうか。


              ◇          ◇          ◇


    まずCA: 中央演算部について。

    これは文字通り演算=計算を担当する部分です。

    ENIACで言うところのアキュムレータに相当します。

    加減乗除と平方根を計算する機構を備え、精度は二進数32桁です。


              ◇          ◇          ◇


    次にCC: 中央制御部について。

    これは内蔵プログラムを順に読み取って命令を解釈し、計算やジャンプを行います。

    ジャンプには条件を設定でき、それによって飛んだり飛ばなかったりできます。

    これがENIACになかった売りであり肝となります。


              ◇          ◇          ◇


    次はM: 記憶装置について。

    ここはプログラムと計算結果を保持する部分で、チューリングテープに当たります。

    これも事実上ENIACにはなかった売りの一つです。

    記憶装置には「番地」が割り振られており、CCにあるプログラムカウンタと対応しています。

    つまりジャンプとは、CCのプログラムカウンタの値を書き換えることで記憶装置のプログラム読み出し位置を変えることに他なりません。

    これによりチューリングテープの機能を実現するのです。
  • No:632 タイトル:GEAR戦士撫子 新Part627 お名前:プロフェッサー圧縮 投稿日:2024/12/04 08:12:14 単表示 返信

    次にI: 入力装置について。

    実はこの時点では具体的なことは何も書かれていなかったようです。

    しかしこの当時入力に使えそうなものは限られています。パンチカードやらが代表的なものでしょう。

    ただ、パンチカードは後述のR:外部記憶装置の方にも分類されているようでして・・・・・・

    ノイマンが何を想定してたのかはよくわかりません。


              ◇          ◇          ◇


    もっとも。

    どうもノイマン、数学的問題(ソフト)にはお熱でも、それを実現する装置(ハード)については知ったこっちゃないという態度だったようで。

    マジでなんも考えてなかった可能性は割とあります。

    まあ天才なんて類いは大体変人と相場が決まってますからね。

    そうであってもさもありなん、ですわ。


              ◇          ◇          ◇


    同じことがO: 出力装置にも言えまして。

    パンチテープやらもR:外部記憶装置に分類されています。

    流石にインジケーターランプは記憶装置に入ってないようですが・・・・・・

    それが念頭にあったかは甚だ疑問ですわね。


              ◇          ◇          ◇


    最後にR:外部記憶装置について。

    先にも触れましたが、ここには入出力に使える装置(パンチカード・パンチテープ・磁気テープ・磁気ワイヤetc)が纏めて分類されてます。

    一応「低速の」とありますので間違ってはいません。

    とすると高速な出力装置はともかく入力装置とは何だ、という話になりますが・・・・・・

    恐らく何も考えてなかったんでしょうね。

    ただ必要と思われるユニットを列挙しただけで。

    そんなだからチーム不和起こして崩壊するんですわ。
  • No:633 タイトル:GEAR戦士撫子 新Part628 お名前:プロフェッサー圧縮 投稿日:2024/12/11 08:27:50 単表示 返信

    ともあれ。

    以上がノイマン型と呼ばれるコンピュータの基本構成ですが・・・・・・

    もう一つ、要件として数えられるものがあります。

    それは「数値の表現が二進数である」です。


              ◇          ◇          ◇


    先にも触れましたが、ENIACは10進数が採用されています。

    人間が扱うのが10進数ですから当然と言えば当然ですが・・・・・・

    しかし後継機で10進数が採用されているものはほぼありません。

    それは何故かといいますと・・・・・・

    勿体つけるほどのことでもありませんのでさくっと言いますが、単に「回路上の都合」となります。


              ◇          ◇          ◇


    紙と違って電気信号はほっとくと常に変化し続けます。

    例えば10Vを1V刻みで10進数を表現しようとしても、ふらふら変化するので数値が化けてしまいます。

    すぱっと電流の「あり」「なし」で表現したほうが都合がいいのです。

    それ故の二進数という訳です。


              ◇          ◇          ◇


    もう一つの都合として「その方が演算しやすい」ことが挙げられます。

    当時から二進数の演算はたった数種類の論理回路の組み合わせで全て表現できると証明されており、10進数をそのまま演算するより遥かに簡単だったのです。

    そのような事情で、以降のコンピューターは大体二進数で数値を扱うことになったのです。
  • No:634 タイトル:GEAR戦士撫子 新Part629 お名前:プロフェッサー圧縮 投稿日:2024/12/18 08:12:25 単表示 返信

    二進数と言えば。

    現代においては「デジタル」とほぼ=で語られますが・・・・・・

    実を言いますと、この単語はむしろ10進数を表すものでした。

    元々はラテン語で「指」を意味するdigitusが語源で、「指折り数えられるもの」という意味です。

    ですので人間の指を起源とする10進数が当てはまるのです。


              ◇          ◇          ◇


    それがなんで二進法(採用のコンピュータ)を指すようになったかと言いますと・・・・・・

    回路設計的にコンピューターが曲がり角に来ており、新旧方式を区別する必要が出てきたからです。


              ◇          ◇          ◇


    ENIACのような真空管で演算するコンピューターをまず「アナログコンピューター」と呼称することとしました。

    先にコンピューターにおいてアナログで数値を表現するのは難しいと話ましたが・・・・・・

    それは「記憶しておく」ことが前提です。

    一度で最後まで駆け抜ける演算についてはあまり問題にならなかったのです。


              ◇          ◇          ◇


    そしてノイマン型コンピューターが台頭するに連れ、全く別の方式で演算するコンピューターの形式に名前をつける必要が出てきました。

    当初は駆動方式から「パルス式」と呼ばれていたようです。

    しかしそれでは実態にそぐわなくなってきたと感じた一人の技術者がいました。

    ジョージ・ロバート・スティビッツ。

    「デジタルコンピューターの父」と呼ばれる人物です。