モジュール詳細:ヒルサイクル

駆け上がるのにマウンテンバイクが必要というわけではありません。

このモジュールは、ディスプレー、8つの青いラベルがついたダイヤル、及びキーボードで構成されている。

ダイヤルのラベルは、復号して左から順に(ジグザグに)読むと8文字の単語になる。

8つのダイヤルは上下に隣り合うダイヤル同士で左から4つのペアに分ける事ができる。
分割した各ペアで、北を基準とする72°回転した回数を二桁の五進数として解釈する。
この数字を十進数に変換した結果は、読み順に配置された2×2行列の成分である。これが鍵行列となる。

ペアのダイヤル上にある文字のアルファベット上の位置を26で割った余りは、2×1の列ベクトルの成分である。
各ベクトルに鍵行列を左から掛け26で割った余りが、暗号化された文字のアルファベット上の位置(Z=0)を成分とする列ベクトルとなっている。

復号後、下の表でその単語を見つける。その単語の下に書かれた単語が送信する必要のある単語になる。

ダイヤルの向きを参考にそれぞれの文字を同じ暗号によって暗号化し、それを入力する。

単語を入力し終わると、自動的に送信される。

単語を送信する前であれば、赤ボタンを使用して入力をキャンセルできる。

入力が間違っていた場合、ミスが記録され、モジュールがリセットされる。

ヒル暗号の復号方法

暗号化処理には、以下のような行列の乗算が利用されている。

これを復号するには、逆行列を求める必要がある。

まず、鍵行列の余因子行列(adj)を以下のように求める。

次に、以下の式を満たす鍵の行列式(det)の逆数Nを求める。

(逆数はアフィン暗号の暗号文を復号する際にも求められる)

逆行列は余因子行列に逆数を乗算したものである(※1)。

暗号化されたペアのアルファベット上の位置に、逆行列を左から掛ける(※2)ことで、復号された単語を取得できる。

※1 各行列成分にNを乗算するだけでよい。26で割った余りを使用することを推奨する。

※2 行列の乗算は以下のように行われる(本ページ上部の式を参照)。
X' = AX + BY Y' = CX + DY

単語表

ADVERTEDADVOCATEALLOCATEALTERINGBINORMALBINOMIALBULKHEADBULLETED
COMMANDOENCIPHERNUMERALSCIPHEREDHAZARDEDMULTIPLYDECEIVEDULTRAHOT
CIPHEREDCIRCUITSCOMPILERCOMMANDODECIMATEDECEIVEDDISCOVERDISPOSAL
GATEWAYSTRICKIERDECIMATEOBSERVEDORDERINGYOURSELFNUMEROUSUNDERWAY
ENCIPHERENTRANCEEQUATORSEQUALISEFINALISEFINNICKYFORTRESSFORWARDS
WHATNESSQUADRANTTOGETHERQUARTICSROTATORSKILOBYTEWHATNOTSJIGGLING
GAUNTLETGAMBLINGGATEPOSTGATEWAYSHAZARDEDHAZINESSHUNGRIERHUNTRESS
ENTRANCEEQUALISEINCOMINGALLOCATERELAYINGUNDERLIEADVOCATEVICINITY
INCOMINGINDIRECTILLUSIONILLUMINEJIGSAWEDJIGGLINGJUNCTIONJUNKYARD
PROGRESSQUARTILEHUNGRIERHUNTRESSREVOLVEDMONOGRAMYOKOZUNAVOLITION
KILOWATTKILOBYTEKNOCKOUTKNOCKINGLINGEREDLINEARLYLINKAGESLINKWORK
ZUGZWANGPROJECTSJIGSAWEDBULLETEDILLUSIONGAUNTLETBINOMIALADVERTED
MONOGRAMMONOMIALMULTIPLYMULTITONNANOGRAMNANOWATTNUMEROUSNUMERALS
LINKWORKZIPPEREDSTANDOUTQUADRICSMONOMIALBULKHEADPROPHASEJUNCTION
ORDINALSORDERINGOBSERVEDOBSCUREDPROGRESSPROJECTSPROPHASEPROPHECY
OBSCUREDDISCOVERKNOCKINGFINNICKYREVERSEDTOGGLINGZYGOMATACIRCUITS
QUADRANTQUADRICSQUARTILEQUARTICSREVERSEDREVOLVEDROTATORSRELAYING
VOLATILEKNOCKOUTSTOPPINGULTRAREDSTOPWORDLINKAGESHAZINESSZYMOGENE
STANZAICSTANDOUTSTOPPINGSTOPWORDTRIGONALTRICKIERTOGGLINGTOGETHER
ILLUMINEYEASAYERMULTITONNANOWATTWHATSITSPROPHECYCOMPILERGAMBLING
UNDERWAYUNDERLIEULTRAHOTULTRAREDVICINITYVICELESSVOLITIONVOLATILE
GATEPOSTLINEARLYKILOWATTBINORMALJUNKYARDTRIGONALINDIRECTALTERING
WHATNESSWHATSITSWHATEVERWHATNOTSYEARLONGYEASAYERYOKOZUNAYOURSELF
DISPOSALNANOGRAMFORTRESSYEARLONGWHATEVERORDINALSSTANZAICLINGERED
ZIPPEREDZYGOMATAZUGZWANGZYMOGENE
EQUATORSFINALISEFORWARDSVICELESS