Man On a Mission

システム運用屋が、日々のあれこれを記録していくブログです。情報処理技術者試験の話題多し。高度試験の攻略なども。最近はやや歴史づいてます…。

【日本の暗号】りくぐんのあんごう【陸軍暗号は世界最強?】

以前、太平洋戦争の戦前・戦中にかけて、日本が使用していた暗号について記事を書きました。

oplern.hatenablog.com

oplern.hatenablog.com

外務省暗号、海軍暗号ときて、今回は陸軍暗号について書きたいと思います。

 最初に

さて、最初に「日本の暗号」について基本的な知識を。

外務省暗号の記事でも、海軍暗号の記事でも書いたのですが、大日本帝国では、組織ごとに異なる暗号を使用していました。
外務省で使用されていた暗号と、海軍で使用されていた暗号、陸軍で使用されていた暗号は、原則別々のものです。
また、同じ組織内でも使用目的等に応じて異なる暗号を使用しています。

例えば、海軍では戦略常務用や戦術用、情報用などで異なる暗号を使用しています。陸軍も同様に、用途別や陸軍内組織別で多種の暗号が使用されていました。
(なお、一部だけではありますが、異なる組織でも同系統の暗号が使われることもありました。例えば外務省が使用していた97式欧文印字機は、海軍も欧米武官用の暗号機として使用しています*1。)

なお、暗号は途中で別方式に切り替えられることもありますので、時期によっても異なる暗号が使われています。(当たり前ですが…)

以前の記事でも同様のことを書いてるので、我ながらしつこいと思わないでもないのですが、上記は割と大事なことです。
というのも、この点を理解していないと妙な勘違いをしてしまうからです。
具体的には、日本が使用していた多種の暗号のうち、一つの暗号が解読されたことをもって、日本の暗号が全て解読されたと誤解したり、以前に使われていた暗号が解読されたという話と、その後に切り替わった新暗号の解読を混同したり…。

「勘違い」の典型的なケースは、太平洋戦争開戦前に外務省暗号が解読されたことをもって、日本の暗号が全て解読された、と思い込むことです。
これは「ローズヴェルト(ルーズベルト)真珠湾陰謀説」の主張者によく見られるもので、ローズヴェルト真珠湾の奇襲を知っていた、なぜならアメリカは「日本の暗号」を解読していたから、という論を出してきます。開戦時点では海軍暗号を解読できてませんので、この理屈は前提から崩れてしまうのですが*2

陸軍の暗号 概観

ここから本題。
一口に「陸軍の暗号」といっても、前述の通り多種の暗号が使用されていました。
例えば、参謀本部や総軍、方面軍など上部組織のラインで使用されていた中枢通信系の陸軍暗号、各編成単位別に使用されていた部隊暗号、陸軍船舶部隊が使用していた船舶暗号、参謀本部と外国駐在武官の連絡に使われた武官暗号等々…。

暗号方式は武官暗号などの一部を除いて、概ねコード式を採用しています。
コード式というのは、一つの語句・文章に対して、あらかじめ対応する文字や数字を対応付ける方式で、語句・文章とそれに対応する文字・数字の一覧をコードブックまたは暗号書と呼びます。
コードブックを用いた語句変換により、ある語句は全く別の文字・数字に置き換わりますが、これだけの仕組みでは傍受した通信内容などの情報を蓄積していけば、簡単に元の語句を推測できるようになってしまいます。このため、コード式暗号では、乱数表を組み合わせて更なる秘匿が行なわれます。
陸軍の暗号でも、多くは乱数表を用いた秘匿が行なわれていました。
上記、コードブックと乱数表、そして、これらを用いてどのように暗号化・復号化するか使用法を記した使用規定の3つがコード式暗号の基本3点セットと言えます。

なお、コード式暗号の詳細についてはここでは触れません。海軍暗号の記事に書いてありますので、興味のある方はそちらをご参照ください。
ちなみに、陸軍のコード式暗号は、コードブックにより語句と数字を対応付け、語句を数字に変換後、乱数表の数字を非算術加算*3することで秘匿する、というもので、このあたりの基本的な仕組みは海軍と同様です。

最強伝説 陸軍

以前の記事でも触れましたが、陸軍は海軍よりも高い暗号技術水準にあったと考えられています。
外務省暗号や海軍暗号と異なり陸軍暗号は破られなかった、と言われており、終戦後、1945年9月から10月にかけて日本陸軍暗号の調査を行った米軍シンコフ大佐が、日本陸軍の暗号を解くことはできなかったと言明しています*4
他にも、檜山良昭のノンフィクション「暗号を盗んだ男たち」によれば、シンコフ大佐と同じ日本陸軍暗号調査班のアースキン中佐が「日本陸軍の主要暗号は難攻不落だった」と語ったとされています。

仕組み自体は海軍暗号と同様であるにも関わらず、なぜ解読できなかったのでしょうか?

これについて、開戦直前期に実施した大幅な改善により技術的向上がなされたこと、暗号手に優秀な人材を投入し教育をほどこしたこと、無限乱数を使用したことなどが挙げられています。
特に、無限乱数は「使い捨てパッド」とも呼ばれ、1949年に情報理論の考案者であるシャノンにより、理論的に解読不可能なことが数学的に証明されています。

陸軍暗号は「安泰」だった?

さて、これで終われば大陸軍は世界最強万々歳なのですが、残念ながら無邪気に「日本すごい」では終われないようです。
というのも、1970年代後半から公開された米国の機密資料に大量の解読電文が含まれていたため、上記の最強伝説「安泰説」に疑問符がつき始めることになったからです。

上記の機密解除資料の検討により、海軍兵学校出身で防衛研修所の戦史研究室長だった岩島久夫氏が、陸軍の暗号が解読されていた、と主張。
これに対して、戦時中の陸軍暗号担当者であった釜賀一夫氏が反論するものの、決着はつかないまま現在に至ります。

米国の機密解除資料から発見された解読電文には戦術的・戦略的に重要な情報を含むものがあり、さらには解読の技術資料が存在するという指摘もあります。
(「解読の技術資料」とは、解読作業に携わる人向けに、日本陸軍暗号の解読手法を説明したものです。)

とはいえ、前節では米側の人物が「陸軍暗号は解けなかった」と言った話を紹介しましたし、また「無限乱数を使っていたので理論的に解読不可能」ということも述べました。

さて、陸軍の暗号は、評判通り「最強」だったのでしょうか。それともただの「伝説」に過ぎなかったのでしょうか?

そして伝説へ…

さて、「最強」だったか「伝説」だったかの議論には未だ決着がついてないのですが、ここでは陸軍暗号安泰説が「伝説」に過ぎないとする立場からの指摘を挙げておこうと思います。
様々な指摘があるのですが、当記事では2点だけ取り上げます。まずひとつは米軍関係者の証言についての指摘、そしてもうひとつは無限乱数を使用していたのになぜ解読されたのか?です。

米軍関係者の証言

まず米軍関係者の証言ですが、残念ながら安泰説の根拠とするにはあまりにも薄弱と言わざるを得ません。
終戦直後のエピソードであり、まだ陸軍暗号の解読状況については軍事機密です。当時の状況では、解けたか?と問われて素直に真実を述べるとは考えにくいわけです。
ちなみに、日本側も日本陸軍暗号調査班との面談において、米軍暗号の一部を解読していたことを隠し、一切解読できてないと証言してたりします。
(私は、この話を聞くとエニグマを解読しながらも、事実を隠して各国にエニグマ暗号機をばら撒いたイギリスさんを思い出したりします。汚いなさすがイギリスきたない。)

なお、1980年代に米関係者(元駐日米大使のライシャワーおよび暗号専門家のバーカー中佐)らによる暗号書鹵獲により陸軍暗号の解読が進んだ(正攻法で解読したわけじゃない)、との証言があるものの、事実関係に不正確な点が多く、また機密解除資料との矛盾点が多いことから、こちらも論拠としては薄弱です。

なぜ無限乱数を使用していたのに解読されたのか

さて、証言なんかよりもよほど重要な論点である、無限乱数だから理論的に解読不能なはず、という根拠について。
答えは簡単というか、そもそもの前提が間違っていたというか…言いづらいのですが、陸軍の暗号が、全面的に無限乱数を使用していたわけじゃなかったというのが答えです。
実のところ、無限乱数による秘匿は、陸軍中枢通信系での主要な暗号方式とはなりませんでした。

部隊暗号である連隊暗号では無限乱数方式が採用されており、また、方面軍暗号では、非常時の使用が想定されていたようです。
(「非常時」というのは、暗号書等の鹵獲などを指しています。)
さらに、硫黄島の小笠原兵団の暗号手に対する捕虜尋問調書に、無限乱数が使用されたのは非常時、玉砕時、大本営から無限乱数使用の指示があった場合だとの記述があります。

しかし、全面的に無限乱数を使用していたという記録はなく、連隊規模での暗号および特別な場合に限り無限乱数を使用していた模様。
どうも、「陸軍の暗号」では全面的に無限乱数が使用されていた、という従来イメージとは、程遠い実情だったようです。

無限乱数と有限乱数

ここで、簡単ながら無限乱数方式について少し説明を。

まず、「乱数」とは何でしょうか。
簡単に言うと「偏りがなくデタラメで、次にどんな数が来るか予測できない数字列」です。
「乱数」の定義は、意外と厄介なテーマになりますので、ここでは深く触れませんが(上記の説明も割と適当なものです)、概ねそんなもんなんだと思ってください。
もうひとつ、「乱数」の重要な特徴を挙げると、「デタラメに作るので同じ数字列を再現できない」というものがあります。

前述した通り、コード式暗号では大抵、乱数による秘匿が行なわれます。陸軍の暗号も大部分はコード式であり、語句を数字に変換した後、乱数を非算術加算することで秘匿します。
無限乱数方式(使い捨てパッド)は、秘匿に使用した乱数を使い捨てる方式(トイレットペーパー方式と言う人も)であり、原則、同じ乱数列は出てきません。
(もちろん、偶然同じ乱数列が生じることもありますが、数字列が長くなるほど重複する可能性も低くなります。)

これに対して、有限乱数方式というものがあります。
有限乱数方式は、あらかじめ乱数表を作成しておいて、これを使いまわす方式です*5。無限乱数方式と異なり、秘匿に使用した乱数を使い捨てたりはしません。
そのため、暗号通信を行うたびに、以前使った乱数を再利用する率が高くなります。
同じ乱数列を重複利用する点で、本来これを「乱数」というのは適切でなく、「有限乱数」というのは慣例的な呼び名と言えるでしょう。

有限乱数方式の場合

陸軍の暗号において、無限乱数が使用されていたのは一部にとどまる、ということを述べました。
しかし、コード式暗号では乱数秘匿を行なわなければ簡単に解読されてしまいます。そこで、無限乱数の代わりに使用されていたのが有限乱数です。

無限乱数方式で秘匿されていた場合、(少なくとも理論的には)解読不可能となりますが、有限乱数方式で秘匿されていた場合そうはいきません。
有限乱数方式の場合、同一乱数列を使った暗号文から、乱数秘匿前の状態に復元することが可能となります。
乱数秘匿前の状態に戻すことを、「乱数の剥ぎ取り」と言います。秘匿前状態に戻す過程で、どのような乱数列が使われたかも推測できますので、これを集めて乱数表を再現していったりもします。
(具体的な乱数剥ぎ取り手法については、ここでは触れませんので、興味のある方は暗号関係の書籍などをご参照ください。)

ちなみに、以前の記事で触れた海軍D暗号も同様に有限乱数方式を採用しており、1942年5月に至る頃にはアメリカに解読されています。

それから、前述の通り連隊暗号では無限乱数式を使っていましたが、こちらについては米側も解読を諦め、通信解析による情報収集を中心にしていました。

なぜ無限乱数方式を使わなかったか

当然ながら、「なんで無限乱数だけにしなかったの?」という疑問があがると思います。
無限乱数方式であれば解読されないのだから、普通に考えれば全て無限乱数で統一するべきです。
なぜ、そうしなかったのか?

その理由は、「使いづらいから」です。

無限乱数方式にはいくつかの問題があります。例えば、ペア方式が前提なので参謀本部から各組織へ一斉伝達(放送形式)するようなケースに向いてないとか、部隊の所属替えがあると無限乱数の共有で手間がかかるとかが挙げられますが、一番致命的なものが乱数消費の多さです。

無限乱数方式では、乱数を使い捨てますので、通信文と同じ量の乱数が必要となります。
1942年12月に参謀本部が作成した「陸軍一般暗号に就て」という冊子に記載された暗号文発信通数を基に単純計算した場合、有限乱数方式と比較すると約100倍の乱数消費量となります。
当時の状況(作戦域の広大さや通信インフラなど)と無限乱数の供給量を考えると、無限乱数方式の全面的な採用は非現実的なものでした。

ちなみに、有限乱数方式の弱点は、日本陸軍も理解しており、それをカバーするために「特別計算表」という方式を考えています。
これは、暗号秘匿の3つ目の防壁として、10×10の数字行列表(特別計算表)を用意し、これを基に乱数による秘匿を行うものです。従来の乱数の単純な非算術加算と異なり、定期的に更新される特別計算表を用いて計算を行うことで、有限乱数方式を補強するものでした。
陸軍としてはこの特別計算表導入に大きな自信を持っていたようですが、残念ながら予想外に脆弱で、短期間でアメリカに攻略されています。

最後に

さて、「最強」説と、それがただの「伝説」であるという指摘を見てきました。
私としては、(素人の個人的感想ながら)「最強」説の堅持は苦しいのではないかと考えています。

暗号解読は、相手国に知られてはいけない機密事項に属するものです。
(暗号を解読されていることが判明した場合、被解読側は当然ながら暗号を変更します。また、暗号解読されていたことを前提に行動を見直すことになります。)
そのため、破られていないとされていた暗号が、後に新史料の発掘などにより、実は解読されていた事実が明らかとなることがあります。
陸軍暗号安泰説もそういった背景のもとに成り立っていたものではないでしょうか。
(ちなみに、近年、日本もアメリカなど連合国側の外交暗号を多数解読していたことが明らかになっています。)

参考資料

本記事を書くにあたり、以下の書籍を主な参考資料にさせて頂きました。

 

 

*1:独伊を除き、開戦前に処分。

*2:まあ、この指摘は昔から何度もされているのですが、これを受けてか、後には太平洋戦争開戦前に海軍暗号が解読されていたと言い張る人も出てきたりしてます。陰謀論というのは業が深い…。

*3:桁上がりを無視する足し算

*4:仲野好雄(元参謀本部通信課長)「歴史と人物」1985年8月号

*5:使用の都度、開始地点は変更します。何ページ目何行目からの乱数適用、というように。