第五章 多維度拉丁方陣的應用
5.2 應用於資訊隱藏
之前於第二章提到 Tso and Miao[18]所提出之”A survey of Secret sharing schemes based on Latin squares”一文中舉出了如何運用拉丁方陣及 其臨界集來實踐基礎型、多部門型、階層型 3 種類型秘密分享方案,因本
我們在第二章提及2008年Chang et al.[5]提出了一種資訊隱藏方法論 (An Information Hiding Scheme Using Sudoku)改善了採用最低有效位元藏匿 法實作資訊隱藏安全性不佳之缺點,該方法論係採用密碼表[5]來增強資訊
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
效位元藏匿法方法論,藏入的機密訊息長度越長,影響遮蓋媒體之位元數將 越多,隱藏後得到的新圖像品質就越差,但如僅取用彩色圖片3原色的最後1 個位元來藏入機密訊息(控制每個位元組至多影響1個位元),將可改善該 項缺點,確保新圖像(隱蔽媒體)品質,3個原色的最後1個位元加起來共有3 個位元,共可代表數字0~7,故對於彩色圖像的每一個像素,我們可隱藏的 數字介於0~7之間。
5.2.3 運用拉丁立體方陣特性
假設n階拉丁立體方陣L是由n個符號(0,1,2,3,...,n) 排成的n×n×n拉 丁立體方陣,L(i,j,k)代表拉丁立體方陣L中第k層第i列第j行位置,依據2.2 節拉丁立體方陣的定義,L中每列及每行中,各個符號(即0,1,2,3,...,n) 必定會出現且只會出現一次,且同列同行不同層(即(i,j)相同,k不同)內的元 素必不相同,且恰好只出現1次,也就說,當L中的列(i)、行(j)相同時,
於各層(k)所取出的元素所組成的集合,必定包含符號0~n-1,運用此種特性,
我們只要固定L的(i,j)座標值,一定可於各層找出我們所需要的符號
(0~n-1),也因此,拉丁立體方陣非常適合用來當作密碼表,本章節所提 出的拉丁立體方陣的應用,即是以拉丁立體方陣作為資訊隱藏機制中的密碼 表。
圖 5.1 拉丁立體方陣特性示意
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
5.2.4 結合最低有效位元藏匿法 、拉丁立體方陣及秘密分享方案設計資訊 隱藏機制
5.2.4.1 方法概述:
重要步驟如下:
1 運用拉丁立體方陣設計 3 維密碼表
本方法以 8 階拉丁立體方陣為基底製作密碼表,密碼表內所存的符號介 於 0~7 (0,1,2,3,4,5,6,7)。
2 將欲隱藏的密碼轉換為 8 進位數字。
3 以遮蓋媒體各像素位於遮蓋媒體的列(設其為 x)行(設其為 y)位置,對 應出密碼表的列(設其為 i)行(設其為 j)位置。
4 利用遮蓋媒體各像素 3 個原色的最後 1 個位元組合出的 8 進位數字,對 應密碼表之”層”位置(設其為 k,k 值介於 0~7)
5 知道 i,j,k 值後,便可定位至密碼表(i,j,k)位置,取出位於密碼表(i,j,k) 位置內的密碼值 (詳圖 5.2)
圖 5.2 本論文所提資訊隱藏方法示意 (x.y)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
5.2.4.2 具體實作步驟
Step 1:以 8 階拉丁立體方陣為基礎設計密碼表:
如同5.2.2節所提,為確保新圖像(隱蔽媒體)品質,本方法論僅取每個像 素RGB 3個原色的最後1個位元來藏入機密訊息,3個原色的最後1個位元加起 來共有3個位元,共可代表數字0~7,故彩色圖像的每一個像素,我們可隱藏 的數字介於0~7之間。
又如5.2.4.1所提,我們將利用遮蓋媒體各像素3個原色的最後1個位元 組合出的8進位數字,代表密碼表層座標位置(即k),故k值至多介於數字0~7 之間,因8階的拉丁立體方陣,座標值k介於0~7之間,故很適合用來做為本 方法論的密碼表,故本方法論密碼表將以8階的拉丁立體方陣為基底(後續 我們統稱該拉丁方陣為基底拉丁方陣)來設計,之後我們將以一個8階的拉 丁立體方陣,重製7次(共計8組拉丁立體方陣),也可重製更多次來作為密碼 表(如重製31次,可得1個256行的密碼表)。
圖 5.3以 8 階拉丁立體方陣為基底設計密碼表示意
Step 2: 訂定圖像與密碼表位置對應方式
首先,準備一遮蓋媒體,並依圖片的大小,找出遮蓋媒體各像素位置
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
1.假設遮蓋媒體為一 256*256 像素的彩色圖像,我們可以用圖像內各像素 位於遮蓋媒體的列座標 x 及行座標 y 位置計算出對應之密碼表列座標 i 及行座標 j 的值,假設密碼表 1 列有 64 行,我們可用下列公式進行遮蓋 媒體座標(x,y)與密碼表座標(i,j)之間的對應。
Ex:
i’=(x*256+y)/64,
j=(x*256+y) –i’*64,
i=i’mod 8
(j 值的區間為 0~63, i 的區間為 0~7 )
2.我們可用位於 x 列及 y 行上的像素其 RGB 的最低有效位元算出 k 值(k 值介於 0~7),作為密碼表的座標 k(即層座標)值。
3.以上述 1 及 2 所算出的 i、j、k 值分別作為 3 維密碼表的列、行、層位 置值,便可完成圖像與密碼表間的座標位置的對應 。
圖 5.4 圖像與密碼表位置對應方式示意 (x.y)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
Step 3:密碼轉換
將欲隱藏密碼轉換為 8 進位表示法:如: 4510=101101=558 。 Step 4:隱藏密碼
1.運用 step 2 所述之遮蓋媒體與密碼表對應方式,算出各像素對應之出 密碼表的 i(列),j(行),k(層)位置值 。
2.至上述所算出的密碼表位置(i,j,k)取出密碼,如取出之密碼與欲藏的密 碼值相同,則不須做任何改變,如果不同,則從密碼表第 i 列,第j行 的各層中找出與欲藏的密碼值相同的值,並將其所在的層位置(即 k), 藏入該像素 RGB 的最低有效位元中。
圖 5.5 於遮蓋媒體 藏入密碼示意
step 5: 隱蔽媒體傳遞
將藏有密碼資訊的隱蔽媒體傳遞給收受方(receiver)。
step 6:密碼表傳遞
密碼表傳遞,可以以以下 2 種方法處理:
方法 1:
(i,j,k) (x,y)
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 5.7 運用密碼分持技術反推密碼表示意 Step7 取出密碼
依據 Step2 所訂定圖像與密碼表位置對應方式,透過各像素的列、
行座標位置及像素 RGB 的最低有效位元,算出密碼表(i,j,k)位置,取出隱 藏的密碼。
圖 5.8 密碼取出方式示意
運用秘密分享方 案方法論,將構 成密碼表的基底 拉丁立體方陣還 原回來
用基底拉丁立體方 陣還原密碼表
將基底拉丁立體方陣的 臨界集分散藏進多張 圖,傳遞給不同收受方
(運用秘密分享方案)
(x,y)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
5.2.5 實作結果
以此方法論進行資訊隱藏,結果如下:
1.遮蓋媒體與藏入密碼後之隱蔽媒體以肉眼看不出差別
圖 5.9 實作結果 1 示意圖
2. 寫入遮蓋媒體的密碼與隱蔽媒體讀出來的密碼相同
圖 5.10 實作結果 2 示意圖
遮蓋媒體 隱蔽媒體
寫入的遮蓋媒體的密碼 與隱蔽媒體讀出來的密 碼相同
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
3. 隱藏機密訊息的能力及隱蔽媒體的品質 本方法論實作結果:
隱蔽媒體的品質 Psrn=54.66
隱藏機密訊息的能力 =1 bit per byte
圖 5.11 實作結果 3 示意圖
4. 與其它方法論比較
與其它方法論相較,本方法論於隱藏機密訊息能力及隱蔽媒體的品質 皆有不錯的表現。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 5.12 實作結果 4 示意圖(部分圖取自[20])
圖 5.13 實作結果 5 示意圖(部分圖取自[17])
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
5.後續發現
經實驗發現,如以相同的邏輯,將原本僅取每個像素 RGB 3 個原色的最 後 1 個位元來藏入的機密訊息,擴充為每個像素取 RGB 3 個原色的最後 2 個位元來藏入的機密訊息,隱藏機密訊息的能力可增加至原本的 2 倍,在 隱蔽媒體的品質仍可得到不錯的表現 (Psrn=47.66)。
圖 5.14 擴充每個像素可藏入的機密訊息資料量示意圖
圖 5.15 擴充每個像素可藏入的機密訊息資料量後之實作結果示意圖
6.結論:
因本方法論,於遮蓋媒體各像素僅取 3 個原色的最後 1~2 個位元來 藏入的機密訊息,可保有最低有效位元藏匿法的優點(高藏量與低失真 度),而各像素不直接存放密碼,而是存放密碼於密碼表中的”層”位置 資訊,兼具採用密碼表的優點-安全性,再加上密碼表之傳遞運用密碼分 持技術,使其安全性更上一層樓,本方法實作結果,不管在隱藏機密訊息