黒い長方形が印刷されたn 枚 の透明シート A、B、…を重ね合わせることで秘密の画像が浮かび上がるマスクの開発— n = 4 の場合、それぞれ 8 (2 4-1 ) 個のサブピクセルを持つ 16 (2 4 ) セットのコードが必要となり、これは常に余分なビットが黒である 3×3 のレイアウトで配置できる。視覚暗号 とは、視覚情報(画像、テキストなど)を暗号化し、復号化後の情報が視覚的な画像として表示されるようにする暗号 技術である。
最もよく知られている技術の 1 つは、1994 年にそれを開発したMoni Naor とAdi Shamirによるものです。 [ 1 ] 彼らは、バイナリ画像を n 個のシェアに分割し、n個 のシェア すべてを持っている人だけが画像を復号できる一方、n − 1 個のシェアでは元の画像に関する情報が一切明らかにならない視覚的な秘密分散方式を実証しました。各シェアは別々の透明シートに印刷され、シェアを重ね合わせることで復号が行われました。n個の シェアすべてを重ね合わせると、元の画像が現れます。この基本方式には、k -out-of- n 視覚暗号[ 2 ] [ 3 ]や、不透明なシートを使用し、単一のピクセル検出器のみで記録しながら、複数の同一の照明パターンでシートを照らす方式 [ 4 ] など、いくつかの一般化があります。
同様のアイデアを用いて、透明シートを使用してワンタイムパッド 暗号化を実装できます。この場合、1 つの透明シートが共有ランダムパッドとして機能し、もう 1 つの透明シートが暗号文として機能します。通常、ビジュアル暗号化ではスペース要件が拡大します。しかし、2 つの共有シートのいずれかが再帰的に構造化されている場合、ビジュアル暗号化の効率を 100% まで高めることができます。[ 5 ]
視覚暗号の先例のいくつかは、1960年代の特許に見られる。[ 6 ] [ 7 ] 他の先例は、知覚と安全な通信に関する研究にある。[ 8 ] [ 9 ]
視覚暗号化は、復号に複雑な計算を必要としない生体認証テンプレートを保護するために使用できます。[ 10 ]
例 視覚暗号の実例。一見ランダムな白黒ピクセルで構成された、同じサイズの2つの画像を重ね合わせると、Wikipediaの ロゴが現れる。 この例では、バイナリ画像が 2つのコンポーネント画像に分割されています。各コンポーネント画像には、元の画像のすべてのピクセルに対応するピクセルのペア があります。これらのピクセルペアは、次のルールに従って黒または白に塗りつぶされます。元の画像のピクセルが黒の場合、コンポーネント画像のピクセルペアは相補的である必要があります。一方をランダムに■□、もう一方を□■に塗りつぶします。これらの相補的なペアが重なると、濃い灰色に見えます。一方、元の画像のピクセルが白の場合、コンポーネント画像のピクセルペアは一致する必要があります。両方とも■□または両方とも□■です。これらの一致するペアが重なると、薄い灰色に見えます。
つまり、2つの構成要素画像を重ね合わせると、元の画像が現れます。しかし、もう一方の構成要素画像がない場合、構成要素画像からは元の画像に関する情報は何も得られず、■□ / □■ のペアのランダムなパターンと区別がつきません。さらに、構成要素画像が1つしかない場合、上記のシェーディングルールを使用して、それと組み合わせることで任意の画像を生成する偽の 構成要素画像を作成することができます。
(2、n )視覚的暗号化共有ケース黒い長方形が印刷された2枚の透明シートを重ね合わせると、メッセージ(ここでは文字A)が浮かび上がります(分かりやすくするためにグリッド線を追加しています)。 1994年にモニ・ナオール とアディ・シャミール によって提案された視覚的秘密分散方式の一つは、秘密を解読するには少なくとも2人が必要となるような、任意の人数n人と秘密を共有する方式です。この方式では、透明シートに印刷された n個の シェアに秘密画像がエンコードされます。シェアはランダムに見え、元の秘密画像に関する解読可能な情報は含まれていませんが、2つのシェアを重ねると、人間の目で秘密画像が解読可能になります。
秘密画像の各ピクセルは、ピクセルの色を決定する行列を使用して、各共有画像内の複数のサブピクセルにエンコードされます。 (2, n ) の場合、秘密画像の白いピクセルは、次のセットの行列を使用してエンコードされます。各行は、コンポーネントの 1 つに対応するサブピクセルパターンを示します。
{列のすべての順列} :C 0 = [ 1 0 。 。 。 0 1 0 。 。 。 0 。 。 。 1 0 。 。 。 0 ] 。 {\displaystyle \mathbf {C_{0}=} {\begin{bmatrix}1&0&...&0\\1&0&...&0\\...\\1&0&...&0\end{bmatrix}}.}
秘密画像中の黒ピクセルは、以下のセットの行列を使用してエンコードされます。
{列のすべての順列} :C 1 = [ 1 0 。 。 。 0 0 1 。 。 。 0 。 。 。 0 0 。 。 。 1 ] 。 {\displaystyle \mathbf {C_{1}=} {\begin{bmatrix}1&0&...&0\\0&1&...&0\\...\\0&0&...&1\end{bmatrix}}.}
例えば、(2,2)共有の場合(秘密が2つの共有に分割され、秘密を復号するには両方の共有が必要な場合)、相補行列を使用して黒ピクセルを共有し、同一の行列を使用して白ピクセルを共有します。共有を積み重ねると、黒ピクセルに関連付けられたすべてのサブピクセルが黒になり、白ピクセルに関連付けられたサブピクセルの50%が白のままになります。
(2, n )視覚秘密分散方式を欺くHorngらは、視覚暗号においてn -1人の 共謀者が正直な当事者を欺くことを可能にする方法を提案した。彼らは、シェア内のピクセルの基となる分布を知っていることを利用して、既存のシェアと組み合わせて、不正者が選択した新しい秘密メッセージを形成する新しいシェアを作成する。[ 11 ]
人間の視覚システムを使えば、秘密画像を解読するには2つのシェアで十分であることがわかっています。しかし、2つのシェアを調べることで、3つ目のシェアに関する情報も得られます。例えば、共謀している参加者は、自分のシェアを調べて、両方のシェアに黒いピクセルが存在するタイミングを特定し、その情報を使って、他の参加者も同じ場所に黒いピクセルを持っていると予測することができます。他の参加者のシェアに黒いピクセルが存在する場所が分かれば、予測したシェアと組み合わせて新しい秘密メッセージを作成するための新しいシェアを作成できます。このようにして、秘密コードにアクセスするのに十分なシェアを持つ共謀者たちは、他の正直な参加者を欺くことができるのです。
ビジュアルステガノグラフィー 2つの黒いサブピクセル(文字AとB)を使用してコンポーネント画像を重ね合わせることで、3つの黒いサブピクセル(文字S)で隠されたメッセージを明らかにする。 2×2のサブピクセルは、各コンポーネント画像においてバイナリ画像をエンコードすることもできます。例えば、各コンポーネント画像の白いピクセルは2つの黒いサブピクセルで表現され、黒いピクセルは3つの黒いサブピクセルで表現されます。
重ね合わせると、秘密画像の各白いピクセルは3つの黒いサブピクセルで表され、各黒いピクセルは4つのサブピクセルすべてが黒で表されます。コンポーネント画像内の対応する各ピクセルは、秘密画像の方向情報が漏洩しないようにランダムに回転されます。[ 12 ]
参考文献 ↑ Naor, Moni; Shamir, Adi (1995). "Visual cryptography". Advances in Cryptology – EUROCRYPT'94 . Lecture Notes in Computer Science. Vol. 950. pp. 1–12 . doi : 10.1007/BFb0053419 . ISBN 978-3-540-60176-0 。 ↑ Verheul, Eric R.; Van Tilborg, Henk CA (1997). "k out of n の視覚的秘密分散スキームの構成と特性". Designs, Codes and Cryptography . 11 (2): 179– 196. doi : 10.1023/A:1008280705142 . S2CID 479227 . ↑ Ateniese, Giuseppe; Blundo, Carlo; Santis, Alfredo De; Stinson, Douglas R. (2001). "視覚暗号の拡張機能". Theoretical Computer Science . 250 ( 1– 2): 143– 161. doi : 10.1016/S0304-3975(99)00127-9 . ↑ Jiao, Shuming; Feng, Jun; Gao, Yang ; Lei, Ting; Yuan, Xiaocong (2020). "Visual cryptography in single-pixel imaging". Optics Express . 28 (5): 7301–7313 . arXiv : 1911.05033 . Bibcode : 2020OExpr..28.7301J . doi : 10.1364 / OE.383240 . PMID 32225961. S2CID 207863416 . ↑ Gnanaguruparan, Meenakshi; Kak, Subhash (2002). "Recursive Hiding of Secrets in Visual Cryptography". Cryptologia . 26 : 68– 76. doi : 10.1080/0161-110291890768 . S2CID 7995141 . ↑ クック、リチャード C. (1960)暗号化プロセスおよび暗号化された製品、米国特許 4,682,954。 ↑ Carlson, Carl O. (1961)情報符号化および復号化方法、米国特許3,279,095。 ↑ Kafri, O.; Keren, E. (1987). "ランダムグリッドによる画像と形状の暗号化". Optics Letters . 12 (6): 377–9 . Bibcode : 1987OptL...12..377K . doi : 10.1364/OL.12.000377 . PMID 19741737 . ↑ Arazi, B.; Dinstein, I.; Kafri, O. (1989). "直観、知覚、および安全な通信". IEEE Transactions on Systems, Man, and Cybernetics . 19 (5): 1016–1020 . doi : 10.1109/21.44016 . ↑ Askari, Nazanin; Moloney, Cecilia; Heys, Howard M. (2011年11月). 生体認証への視覚暗号の応用 . NECEC 2011. 2015年 2月12日 取得 . ↑ Horng, Gwoboa; Chen, Tzungher; Tsai, Du-Shiau (2006). "視覚暗号における不正行為". Designs, Codes and Cryptography . 38 (2): 219–236 . doi : 10.1007/s10623-005-6342-0 . S2CID 2109660 . ↑ M. Pramanik、Kalpana Sharma、「画像セキュリティのための視覚暗号化、ステガノグラフィー方式およびそのハイブリッドアプローチの分析」 、コンピュータサイエンス、2014年
外部リンク Javaによるビジュアル暗号の実装と図解 ビジュアル暗号のPython実装 暗号機における視覚的暗号と暗号学 ダグ・スティンソンのビジュアル暗号ページ Liu, Feng; Yan, Wei Qi (2014) 画像処理とセキュリティのためのビジュアル暗号:理論、方法、および応用、Springer Hammoudi, Karim; Melkemi, Mahmoud (2018). "視覚暗号におけるパーソナライズされた共有" . Journal of Imaging . 4 (11): 126. doi : 10.3390/jimaging4110126 .