暗号
暗号(あんごう)とは、第三者が通信内容や記録内容を閲覧・盗み聞きしてもすぐに読めないようにする手法である。
概要[編集]
秘匿しておきたいデータを、傍聴した第三者から守るためのものである。暗号の法則を理解している者同士なら復号することができるが、暗号の法則を分かっていない第三者は閲覧しても意味のない文字の羅列やでたらめな数字の羅列(「踊る人形」「黄金虫」)、あるいは全く別の意味の文章(「掘りだされた童話」)にしか見えない。
古典的な暗号としてある文字に別の文字を割り当てる換字式暗号のほか、文字の順番を並び替える転置式などがある。
換字式暗号は出現頻度によってある程度は推定可能で、“ETAOIN SHRDLU”はお約束である。
どちらも換字、転置の法則を見つけ出さない事には内容を解読することができない。より古典的な暗号としては少数民族の言語や方言など分かる人が少ない言葉を用いるものがある。
符牒も、意味を知らない第三者からすれば暗号のようなものである。
復号・解読[編集]
暗号は通信手段の一種であるため、相手が復号できなければ意味がない。それを横から「解読」するための努力があるわけで、有名なものとしては「エニグマ暗号」「紫暗号」がある。
アラン・チューリングが開発に携わった「ボンベ」は、エニグマ暗号を破るためのものであった。すなわち記号処理系のコンピューターの祖といえる。対してフォン・ノイマンの「ENIAC」は、高射砲の軌道計算のために開発されたものであり、数値計算系のコンピュータである。
参考文献[編集]
- コナン・ドイル『踊る人形』
- エドガー・アラン・ポォ『黄金虫』
- 江戸川乱歩『二銭銅貨』
- 泡坂妻夫「掘出された童話」
その他[編集]
ソフトウェア関連では、逆アセンブラによるバイトコード解析によって仮想マシンを「発掘」した例があり、外にも「FORTRAN のコードをC言語に変換するツール」によって「GOTO文の砂嵐」と化したコードから、「ペトリネットによる仮想機械」を発掘した実例がある。