バーナム暗号

バーナム暗号とは

バーナム暗号とは、排他ルールによって暗号文を生成する暗号方法です。

暗号化とは、伝えたい文と秘密の文字列(鍵)を暗号ルールによって、めちゃくちゃな文(暗号文)を作り出すことです。

どのような暗号ルールで暗号文を作るかによってさまざまな暗号化方法が考えられてきました。その一つとして、バーナム暗号は、暗号ルールに排他的ルールを適用します。

排他的ルールとは

排他的ルールとは、いずれかが正のとき正というルールです。

ITシステムでは、どんな文字列でもビットという0と1が並んだ形で扱います。伝えたい文も秘密の文字列もビットですべて扱います。

正の時には0、誤の時には1とすると、以下のようなルールを作ることができます。

伝えたい文 秘密の文字列 排他的にできた暗号文
1
1
1
1
1
1

カップルの別れるときは排他的ルールです。カップルのどちらかが別れを切り出すと別れます。(両方嫌いだったとしても、同時に別れを申し出ることはあり得ません。)

一文字一文字、暗号をすると下記のようになります。

 

 伝えたい文  → 10101010

 秘密の文字列 → 11100101

 排他的    → 01001111

暗号文だけ見たら、伝えたい文が0のパターンも1のパターンもあるため、特定できなくなります。そのため、暗号鍵さえバレなければ、非常に強い暗号化方法と言えます。

バーナム暗号の問題点

バーナム暗号にも問題点があります。

暗号鍵を安全に共有する必要があります。暗号鍵と復号鍵が一緒であるため、対話相手にも共通の鍵を事前に共有しておく必要があります。事前に共有する段階で鍵がばれてしまう用であれば意味がありません。

バーナム暗号での暗号鍵は乱数を使います。当然、コンピュータ上で乱数を発生させます。しかし、計算によって算出した乱数というのは、疑似乱数と呼ばれ規則性があります。そのため、乱数の精度により暗号化強度が変わります。

おすすめ書籍

暗号技術入門 第3版 秘密の国のアリス

最も分かりやすい暗号技術の入門書。 2008年の刊行以来、セキュリティ関連部門で長期間トップをキープしている『新版暗号技術入門』の改訂版です。 「対称暗号」「公開鍵暗号」「デジタル署名」「PKI」「PGP」「SSL/TLS」など、暗号技術の基礎を、たくさんの図とやさしい文章で解説しています。