パープル暗号

パープル暗号（パープルあんごう、PURPLE）は、機械式暗号の一種。太平洋戦争の開始前から敗戦まで、日本の外務省が使用していた正式名称「暗号機B型」（通称 : 九七式欧文印字機）による外交暗号に対して、アメリカ軍がつけたコードネームである。
名称.
アメリカ陸軍は日本の機械式暗号に対して主に虹の色に由来するコードネームをつけていた。パープル暗号は、その一つである。（アメリカ海軍では、M-5 と呼ばれていた。）
日本の機械式暗号には、これらのほかにも何種類かあり、大日本帝国陸軍（以下陸軍という）にはアメリカ陸軍コードネームが不明の“九七式印字機”があるので、名称を混同しないように注意が必要である。
換字方式による分類.
各暗号機を換字原理で分類した表を示す。
外務省暗号機は海軍技術研究所によって生産された。陸海軍で同じ名称の暗号機「九七式印字機」が制定されたのは偶然である。
マジック情報.
パープル解読によって得られた情報をアメリカ合衆国政府はマジック () と呼び、以下の限られた政府高官だけに配付した。
暗号化の仕組み.
パープル暗号を作成するには、句読点コード、暗号機本体、鍵規約が必要だった。
句読点コードと分割転置.
パープルはA - Zの26文字だけしか扱えず、数字やスペースは無い。それで原稿を文字通りに打鍵する事は出来なかった。
句読点コード.
通常、原文はヘボン式ローマ字にして入力する。入力時に、句読点、重要語句、記号および数詞は専用コード (Punctuation Codes) を用いて2文字または3文字のアルファベットに置き換えた。
分割転置.
1通の電文が長文の場合は2分割して前後を入れ替える事も有った。12月6日の東郷大臣発野村大使宛電報を例に示す
 第九〇一号
 一．政府に於いては十一月二十六日の米側提案に付慎重廟議を尽くしたる結果
 対米覚書（英文）決定せり
 二．右覚書は長文なる関係もあり全部接受せらるるは明日となるやも知れざるも
 刻下の情勢は極めて機敏なるものあるに付右御受領相成りたることは差当り
 最秘に付せらるる様致され度し
 三．右覚書の米側に提示する時期に付いては追って別に電報すべきも右別電接到
 の上は訓令次第何時にても米側に手交し得る様文章の整理其他予め万端の手配を
 了し置かれ度し
 三．右覚書の米側に提示する時期に付いては追って別に電報すべきも右別電接到
 の上は訓令次第何時にても米側に手交し得る様文章の整理其他予め万端の手配を
 了し置かれ度し 22
 第九〇一号　返電八四四号
 一．政府に於いては十一月二十六日の米側提案に付慎重廟議を尽くしたる結果
 別電九〇二号の対米覚書（英文）決定せり
 二．右覚書は長文なる関係もあり全部（十四部に分割打電すべし）
 接受せらるるは明日となるやも知れざるも刻下の情勢は極めて機敏なるもの
 あるに付右御受領相成りたることは差当り最秘に付せらるる様致され度し 21 終わり
 MS CFC MIGI OBOEGAKI WO BEIGAWANI TEJISURUJIKI PTK TEWA OTTE BETUNI DNP SUBEKIMO MIGI BTN SETTONO
 UEWA KNR SIDAI ITUNITEMO BEIGAWANI SHUKO SIURUYO BUNSYONO SEIRI SONOTA QRQ BANTANNO TEHAIWO
 RYC SIOKARETASI DD DD 
 FYC KZ ZR BB WDN HQ YN YN PKSI CCF 
 BB CFO SEIFU PYT WA JBB GTS RJK HI NO BEIGAWATEIAN PTK SINCHOBYOGIWO TUKUSITARU KEKKA
 BTN KZ ZR DD NO TAIBEI OBOEGAKI FOV EIBUN FYX WO KETTI SERI CCF
 DD CFC MIGI BTN WA CHOBUN NARU KNK MOARI ZENBU FOV JYN BUNI BUNNKATU DADENNSUBESI FYX
 SETUJYU SERARURUWA MYONITITO NARUYAMO SIREZARUMO KOKKA NO JOSEI KWM KIBINARU MONO
 ARU PTK MIGI GOJURYO AINARITARUKOTOWA SQS GENPI NI FUSERARURU YO ITASARETASI DD BB OWAR
受信側の清書.
 MSCFCMIGIOBOEGAKIWOBEIGAWANITEJISURUJIKIPTKTEWAOTTEBETUNIDNPSUBEKIMOMIGIBTNSETTONOU
 EWAKNRSIDAIITUNITEMOBEIGAWANISHUKOSIURUYOBUNSYONOSEIRISONOTAQRQBANTANNOTEHAIWORYCSI
 OKARETASIDDDDFYCKZZRBBWDNHQYNYNPKSICCFBBCFOSEIFUPYTWAJBBGTSRJKHINOBEIGAWATEIANPTKSI
 NCHOBYOGIWOTUKUSITARUKEKKABTNKZZRDDNOTAIBEIOBOEGAKIFOVEIBUNFYXWOKETTISERICCFDDCFCMI
 GIBTNWACHOBUNNARUKNKMOARIZENBUFOVJYNBUNIBUNNKATUDADENNSUBESIFYXSETUJYUSERARURUWAMYO
 NITITONARUYAMOSIREZARUMOKOKKANOJOSEIKWMKIBINARUMONOARUPTKMIGIGOJURYOAINARITARUKOTOW
 ASQSGENPINIFUSERARURUYOITASARETASIDDBBQWARI
暗号機本体.
暗号化と復号は、各文字が母音か子音かによって、次の2種類に分けて行われた。
機構の概要を示す。
スイッチ駆動制御.
各スイッチは一方向だけに1段階ずつ回転し、逆転機能はない。
6字側スイッチ.
換字する文字が6字側・20字側のどちらであっても、6字側スイッチは1文字を換字するごとに1段階進み、その周期は25字である。
20字側スイッチ.
20字側の3つのスイッチ (I, II, III) に6通りの駆動モードを設定した。換字する文字が6字側・20字側のどちらであっても、1文字を換字するごとに I, II, III のうち1つだけが1段階進む。
従来、パープル暗号機のスイッチはオドメーター（距離計）のように駆動し、その周期は25×25×25=15,625字とされてきた。しかし、実際はやや複雑である（詳細は付表2.を参照）。
鍵規約数の理想と実態.
高木貞治博士の試算.
田辺技師らはパープル暗号機の強度評価を東京大学の数学者、高木貞治博士に依頼した。高木博士の「兆以上の変化があることは間違いないが、それ以上の正確な計算はちょっと出ない」と回答。海軍は暗号解読を知らない数学者の評価を頼りに暗号機を正式採用したわけである。
パープル暗号電文の翻訳（復号）例.
暗号文.
 ZTXOD NWKCC MAVNZ XYWEE TUQTC IMNVE UVIWB LUAXR RTLVA RGNTP
 CNOIU PJLCI VRTPJ KAUHV MUDTH KTXYZ ELQTV WGBUH FAWSH ULBFB
 HEXMY HFLOW D?KWH KKNXE BVPYH HGHEK XIOHQ HUHWI KYJYH PPFEA
 LNNAK IBOOZ NFRLQ CFLJT TSSDD OIOCV T?ZCK QTSHX TIJCN WXOKU
 FNQR? TAOIH WTATW V（以下略）
鍵規約.
 キーボードからの入力 ｜NOKTYUXEQLHBRMPDICJASVWGZF
 スイッチへの出力 ｜AEIOUYBCDFGHJKLMNPQRSTVWXZ
 スイッチからの入力 ｜AEIOUYBCDFGHJKLMNPQRSTVWXZ
 タイプライターへの出力｜NOKTYUXEQLHBRMPDICJASVWGZF
句読点コード処理.
 FOVTA TAKID ASINI MUIMI NOMOX IWOIR UBESI FYXXF CKZZR DXOOV
 BTNFY XFAEM EMORA NDUMF IOFOV OOMOJ IBAKA RIFYX RAICC YLFCB
 BCFCT HEGOV E?NME NTOFJ APANL FLPRO MPTED BYAGE NUINE DESIR
 ETOCO METOA NAMIC ABLEU NDERS TANDI N?WIT HTHEG OVERN MENTO
 FTHE? NITED STATE S （以下略）
 FOV TATAKIDASI NI MUIMI NO MOXI WO IRU BESI FYX XFC KZ ZR DX OOV
 BTN FYX FAE MEMORANDUM FIO FOV OOMOJI BAKARI FYX RAI CCY LFC BB
 CFC THE GOVE?NMENT OF JAPAN LFL PROMPTED BY A GENUINE DESIRE TO
 COME TO AN AMICABLE UNDERSTANDIN? WITH THE GOVERNMENT OF THE ?NITED STATES
 FAE : 外国語の始まり
 FIO : 外国語の終わり
 FOV : ( 
 FYX : ）
 XFC : 第○号電 
 BTN : 別電
 CCF : ¶ {段落} 
 LFC : ¶¶{副段落} 
 CFC : ピリオド 
 LFL : コンマ
 KZ : 9 ZR : 0 DD : 2 BB : 1 
清書.
 （タタキダシニムイミノモジヲイルベシ）
 第902号電（別電） 
 MEMORANDUM
 ¶¶ 1 . The government of Japan, prompted by a genuine
 desire to come to an amicable understanding with the government of
 the United States
パープル解読に対する諸説.
戦後から半世紀近い現在でも日本国内では諸説が入り乱れている。ここでは"＊"印の説を採用する。
母音と子音の分離換字について.
母音と子音の換字が分離されていたかどうかは、パープルが実際に理論解読できるか否かに関わる重要事項である。レッド暗号の安全性の項目を参照。
暗号化アルゴリズムとその理論解読法については、Wes Freeman らの論文やAlan G. Konheimの著書が詳しい。
また米海軍資料であるR.I.P.77 CHANGE 4 - INSTRUCTIONS FOR M-5 (ORANGE DIPLOMATIC) "B" MACHINE - ARMY PURPLE MACHINEにはパープルの運用解析がまとめられている。
さらに海軍技術研究所によれば、前世代機である九一式印字機の海外用（欧文）を海外電報料金削減を目的として二重式にしたとある。欧文用印字機は暗号強度を犠牲にして電報料金の安いartificial words（母音 - 子音分離換字）仕様とする方針が当時からあった。またアメリカ国家安全保障局の博物館には手動式のレッド模造機が展示されており、これも6字と20字に分かれた二重式のスライド多表である。
パープル暗号の特徴.
パープルは同世代の暗号機に比べてユニークな特徴が有り、それが長所や短所にもなった。いずれの暗号機も人が紙とペンで出来る暗号化作業を省力化しただけである。
多表切り替え法による比較.
機械的な方法で多数の換字表（多表）を作る方法は大別して2種類ある。
多表の生成法による比較.
順変式暗号機において、稼動部品が同じ“ロータ”という名称で呼ばれることが多いが、パープルのものは、エニグマやレッド暗号のロータとは性質が異なる。稼動部品の呼び名や外観の違いではなく、それぞれが生み出す多表の相対関係に注目して分類、比較すべきである。以下ではパープルのものを“ロータリーラインスイッチ、”と呼んで区別する。
換字制限による比較.
一般に多表では各文字が均等に換字されることを目指している。しかし事情により換字に制限が有る暗号機があり、利便性と引き換えに解読されやすくなった。
プラグボードの有無.
プラグボードは、機械式暗号の中でも電気回路を利用した暗号化を行う電気機械式暗号に用いるアタッチメントである。後付し易く、簡単な構造で鍵規約数を膨大に増加できる。なおプラグボード自体は単一換字式暗号を行うだけで単体使用は実用上ありえない。
パープルの弱点.
パープルの弱点はいろいろ有ったが、致命的なのはレッド暗号と同様に6字と20字に分けて換字したことである。
6字側の頻度分布.
 E:11.75% ***********
 T:10.74% **********
 A:08.79% ********
 N:07.78% *******
 I:06.93% ******
 O:06.69% ******
 R:05.37% *****
 S:05.14% *****
 C:04.44% ****
 H:04.05% ****
 F:03.81% ***
 L:03.04% ***
 D:02.65% **
 M:02.65% **
 P:02.10% **
 V:01.87% *
 U:01.71% *
 B:01.56% *
 Y:01.56% *
 G:01.25% *
 W:01.25% *
 J:00.86%
 X:00.78%
 K:00.62%
 Z:00.39%
 Q:00.08%
 O:06.38% ******
 K:05.45% *****
 U:04.98% ****
 N:04.75% ****
 I:04.44% ****
 H:04.28% ****
 T:04.20% ****
 E:04.12% ****
 F:03.89% ***
 W:03.89% ***
 D:03.81% ***
 R:03.66% ***
 X:03.66% ***
 A:03.58% ***
 M:03.42% ***
 L:03.35% ***
 Y:03.35% ***
 C:03.27% ***
 J:03.19% ***
 Z:03.11% ***
 P:03.04% ***
 V:03.04% ***
 B:02.96% **
 G:02.96% **
 S:02.65% **
 Q:02.41% ** 
 O:05.39% *****
 T:04.90% ****
 K:04.88% ****
 U:04.84% ****
 N:04.69% ****
 Y:04.32% ****
 E:04.02% ****
 D:03.91% ***
 H:03.88% ***
 I:03.81% ***
 G:03.77% ***
 W:03.74% ***
 L:03.67% ***
 V:03.64% ***
 F:03.63% ***
 Z:03.63% ***
 B:03.60% ***
 M:03.51% ***
 J:03.44% ***
 A:03.42% ***
 C:03.41% ***
 X:03.40% ***
 S:03.28% ***
 R:03.18% ***
 P:03.03% ***
 Q:03.03% ***
クリブの当てはめ.
 WNQORLHUERJOZETNOXUWAOOGTFVXOWNSDGREHMAPKCYABCCSNEOPZUYJNDQCXGKQWLLOUYIBFQGUGRPQ
 THEGOVERNMENTOFTHEUNITEDSTATESREGARDINGTHEADJUSTMENTANDADVANCEMENTOFJAPANESE
この推論を続けると以下の系統図が得られ、26字すべてが同じグループになる。6字と20字に分かれないので、この重ね位置は棄却される。
 Q Y F
 H-K-M-N-W-T-X-E-D-G-A-V-L-O-R-U-C-S-T-P-I
 　　 Z J-B
 WNQORLHUERJOZETNOXUWAOOGTFVXOWNSDGREHMAPKCYABCCSNEOPZUYJNDQCXGKQWLLOUYIBFQGUGRPQ
 THEGOVERNMENTOFTHEUNITEDSTATESREGARDINGTHEADJUSTMENTANDADVANCEMENTOFJAPANESE
 R-G V W
 D-B-P-N-T-E-U-C-H-Q-M-J-Y
 X Z K F-S A-I-O-L
 WNQORLHUERJOZETNOXUWAOOGTFVXOWNSDGREHMAPKCYABCCSNEOPZUYJNDQCXGKQWLLOUYIBFQGUGRPQ 
 THEGOVERNMENTOFTHEUNITEDSTATESREGARDINGTHEADJUSTMENTANDADVANCEMENTOFJAPANESE
 Y-O-T-N-K
 U
 B W
 A-J-S-X-F-I-G-H-R-E-L-M-Z 
 P-Q-C-D-V
解読の経緯.
対照平文の利用.
 FYC:第○電 FOC:極秘 KYD:貴電 FOV:( FYX:) CCF:¶
 BB:1 DD:2 YN:4 SY:7 JBB:11 JYN:14 JKZ:19 BJB:21
 1/06/41 
 FYCGWFOCKAKUNENKYDSYSYSYP
 1/09/41
 FYCJBBFOCFOVDDNOBBFYXOOSH
 1/09/41
 FYCJBBFOCFOVDDNODDFYXYNCF
 1/10/41
 FYCJYNKYDSYPKSICCFHONSHCH
 1/11/41 
 XFCJKZTXSINSHCDENMUKYOKUC
 1/12/41 
 FYCBJBFOCKYDGWPKSIKNSDOKU 
付表2. スイッチ駆動の例.
 　20字 
 6字 低 中 高 
 001:01 01 01 01
 002:02 01 01 02
 003:03 01 01 03
 004:04 01 01 04
 005:05 01 01 05
 006:06 01 01 06
 007:07 01 01 07
 008:08 01 01 08
 009:09 01 01 09
 010:10 01 01 10
 011:11 01 01 11
 012:12 01 01 12
 013:13 01 01 13
 014:14 01 01 14
 015:15 01 01 15
 016:16 01 01 16
 017:17 01 01 17
 018:18 01 01 18
 019:19 01 01 19
 020:20 01 01 20
 021:21 01 01 21
 022:22 01 01 22
 023:23 01 01 23
 024:24 01 01 24
 025:25 01 01 25 
 026:01 01 02 25　←高速は駆動を保留している（中速が優先）
 027:02 01 02 01
 028:03 01 02 02
 029:04 01 02 03
 030:05 01 02 04
 031:06 01 02 05
 032:07 01 02 06
 033:08 01 02 07
 034:09 01 02 08
 035:10 01 02 09
 036:11 01 02 10
 037:12 01 02 11
 038:13 01 02 12
 039:14 01 02 13
 040:15 01 02 14
 041:16 01 02 15
 042:17 01 02 16
 043:18 01 02 17
 044:19 01 02 18
 045:20 01 02 19
 046:21 01 02 20
 047:22 01 02 21
 048:23 01 02 22
 049:24 01 02 23
 050:25 01 02 24
 051:01 01 03 24
 052:02 01 03 25
 途中省略
 599:24 01 24 01
 600:25 01 24 02
 601:01 01 25 02
 602:02 01 25 03
 603:03 01 25 04
 604:04 01 25 05
 605:05 01 25 06
 606:06 01 25 07
 607:07 01 25 08
 608:08 01 25 09
 609:09 01 25 10
 610:10 01 25 11
 611:11 01 25 12
 612:12 01 25 13
 613:13 01 25 14
 614:14 01 25 15
 615:15 01 25 16
 616:16 01 25 17
 617:17 01 25 18
 618:18 01 25 19
 619:19 01 25 20 
 620:20 01 25 21
 621:21 01 25 22
 622:22 01 25 23
 623:23 01 25 24
 624:24 01 25 25
 625:25 02 25 25　←高速は駆動を保留している（低速が優先）
 626:01 02 01 25　←高速は駆動を保留している（中速が優先）
 627:02 02 01 01
 以降省略