暗号っていうのはどうも難しい響きがあります.そこが良いって言う人もいます が,暗号文を手にして,分厚いコードブックや難しいプログラム…というイメー ジをおもちの方も多いかとお思います.しかし,そんな物が必要ない暗号だって 勿論存在します.このページで御紹介する視覚復号型秘密分散法 (Visual Secret Sharing Schem, 以下,VSSSと略)はまさにそんな簡単な暗号システムで す.
このページでは秘密分散法 (Secret Sharing Scheme) の1つである,視覚復号 型秘密分散法(Visual Secret Sharing Scheme, VSSS, Visual Cryptography, 視 覚暗号とも言います) について説明します.秘密分散法のページを御覧でない方のためにまず, 秘密分散法について簡単に説明をしましょう.秘密分散法とは,
- 秘密を N 個 の 「分散情報」に分け,任意 の K (≦ N )個 集めると秘密情報が復元 できる.
- しかし,N 個の うちどの K -1個 をもってしても秘密に関する情報は全く漏れな い.
というものでした.正確には (K , N ) しきい値法と言います.どうしてこんなシステムが必要なのかは
なので,盗難や破損,紛失などに強く,大事な情報 を保存するのに適している,ということでした.しかし,
- K -1 個まで分 散情報を盗まれても大丈夫
- N-K 個まで分散 情報を無くしたり,忘れたり,壊したりして も大丈夫
などという疑問も生じます.そこで「視覚復号型秘 密分散法」が登場するわけです.
- 大事な情報ってパソコンの中にいれておいていいの?パソコンが壊れたら?
- パソコンのないところでも大事な情報って必要なのでは?
一時流行った立体視を覚えていらっしゃるでしょうか?…そう,この方式は あれに少し似ています.始めに次のような砂嵐画像を用意します.例えば,
画像をクリックすると大きな絵が出ます.
もちろん,これを立体視したって何も見えません(本当に上手な人がやったらど うなるか分かりませんが…). しかし,これを OHP用紙(透明のシート)に印刷してきれいに重ねてみて下さ い.驚くなかれ,次のような絵が現れます.
これは ( 2 , 2 ) しきい値法を実現していることがお分かり だと思います.つまり,
のです.これなら 計算機がなくても瞬時に秘密を取り出せます .さあ,どうやってこのようなものを作ればいいのでしょう?
- 2枚を集めると,秘密画像が分かる
- 1枚では秘密画像が分からない.
ここでは簡単に白黒2値画像を秘密画像とするような,( 2 , 2 ) しきい値法の構成 法をご説明します.
まず,下の図を御覧下さい.
2枚の秘密画像(左)は,全体では砂嵐のようですが,実は黒く復号される部分 と白く復号される部分で画素の割り当てが異なっています(図の「符号化」の部 分).
白く復号される部分を拡大すると 赤い 部分のように,黒く復号される部分を拡大すると 青い 部分のようになっているのです.重ねると白黒がはっきりしますが,重ねる前は 「白半分,黒半分」となっており,全体では砂嵐のように見えるのです.このた め,分散画像を1枚しか持たない人は「秘密画像の情報が全く分からない」こと になります.
この方法はカラー画像や,白黒濃淡画像(写真)まで拡張されています.詳しく は以下にあげるサンプルを御覧下さい.
さて,白黒2値画像に関してVSSSの構成法をご説明しましたが,もちろん,カラー 画像や白黒写真だって隠すことができます.
そこで,最後に視覚復号型秘密分散法のサンプル画像を紹介します.3隅に書か れた四角が合うようにシートを重ねてみて下さい.あえて,何が出て来るかはこ こには書きません.ちょっと重いのもあるかも知れませんが,御容赦下さい.まず,普通の(?) VSSSから.
ここで,「秘密画像って1つと決まっているの?」と思われる方は,こちらを御 覧下さい. ほかにも,「砂嵐画像ではどれをもらったか忘れそう」と言う方は,こういうの はいかがでしょう?それぞれの秘密画像に文字を書いてあります.謎なぞになっ ていますから,重ね合わせる前に秘密画像を想像してみて下さい. この他に「こんなのできませんか?」というものがあれば,御連絡下さい.
- 白黒2値画像
- 濃淡画像
- カラー画像