第二章 背景知識與相關研究
2.2 拉丁立體方陣(Latin Cubes)
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
2.2 拉丁立體方陣(Latin Cubes)
2.2.1 拉丁立體方陣定義:
一個 n 階的拉丁立體方陣是 1 個 n×n×n 的 3 維立體方陣(n ≥ 2),立 體方陣中每個 cell 內的符號,皆來自集合 N (N 為 1 個包含 n 個符號的集 合,如 N={1,2,..n},各個符號在立體方陣 each row、each column、each file 都恰好只出現一次(即每個符號皆會出現,且只會出現 1 次),我們稱這樣 的方陣為 n 階拉丁立體方陣(order n Latin cube)。
立體
圖 2.10 拉丁立體方陣示例 第 0 層
第 1 層 第 2 層
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
假設 n 階拉丁立體方陣 L 是由 n 個符號 (ex:1,2,3,...,n) 排成 n×n×n 的拉丁立體方陣,我們可將 n 階拉丁立體方陣視為 n 個不同的拉丁方陣疊 合在一起,即拉丁立體方陣 L 中有 L1, L2,...,Ln 共 n 層,每層皆為一拉丁 方陣,拉丁立體方陣 L 中由相同列相同行所組成的集合{L1i,j,L2i,j,...,Ln i,j},
我們稱其為 file,每個 file 集合必包含符號 1,2…n,且每個符號只能出現一 次[28]。
2.2.2 n 階部分拉丁立體方陣(Order n Partial Latin Cubes):
對於 1 個 nxnxn (n>1)的拉丁立體方陣 L,假如拉丁立體方陣 L 內包含 了一些空的 cells(也就是拉丁立體方陣 L 未被填滿),我們稱 L 為部分拉丁 立體方陣[28]。
圖 2.11部分拉丁立體方陣示例
第 0 層
第 1 層
第 2 層
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
2.3 拉丁立體方陣指數式表示法
2016 年 Droz [12]提出了一種指數式的拉丁立體方陣表示式法,說明如 下:
B 和 C 為二個已知之 n 階拉丁方陣,B(i,j)表示拉丁方陣 B 的第 i 列及第 j 行,C(i,j)表示拉丁方陣 C 的第 i 列及第 j 行,0≤i,j≤n-1。
拉丁立體方陣 BC是一個立體陣列,其第 0 層與拉丁方陣 B 相同,而 自其每一層中相同列相同行取出元素所組成之 file( file 的定義詳 2.2.1),皆會與拉丁方陣 C 的某一行相同(如下圖),後續,我們將運用這 樣的表示法,來表達本論文所提出之拉丁立體方陣及多維度拉丁方陣,以 提昇其可讀性。
file file
相同 相同
‧
2.4.1 多維度空間與多維度拉丁方陣(Latin k-hypercube)
為了更易了解多維度拉丁方陣(或稱為 k 維度拉丁方陣),我們先以下表說
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
14
圖 2.13 多維度拉丁方陣概念示意圖 我們以 5 維拉丁方陣為例來說明
圖 2.14 5 維拉丁方陣各維度示意圖
第 1 個維度:即列 第 2 個維
度:即行
第 3 個維 度:即層
第 4 個維度,即柱
第 5 個維度 即片
‧
依據 Dougherty , Szczepanski 於 2008 年提出的”Latin k-hypercubes “ [24]
一文中,提到的 k 維度拉丁方陣定義如下:
A Latin k-hypercube Lj1,...,jkof order n is a k dimensional array with nk elements given as a cube with each side containing n coordinates, where the elements come from the set {0,1,2,...,n − 1}, such that if ji = j’i for all i ≠α and jα≠ jα’
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
2.5 數獨(Sudoku)
數獨是一種數字填充遊戲,一個已解答的數獨其實是一種多了宮(即 3x3的大格)限制的9階拉丁方陣,其為1個9*9的方陣,在已解答的數獨中,
除每行、每列皆會出現數字1-9,且不會有重覆的數字以外,每個宮(即3x3 的大格)亦是如此。簡單來說,同一個數字不可能在同一行、列或宮中出現 多於一次,2008年Chang,Chou,Kieu所提出的資訊隱藏方法論[5],便使用到 數獨來當作密碼表。
圖 2.16 6 數獨示意圖
2.6 資訊隱藏之隱密術
“資訊隱藏”簡單來說,就是將數位資料隱藏在另一份媒體(圖片、影片) 之中,嵌入數位資料後媒體,一般人無法看出其與原本之媒體有所差異。
有關資訊隱藏的相關研究,依其應用,可分為隱密術及浮水印二大分 支,本論文研究主題主要是與隱密術相關,後續提及之資訊隱藏,主要係指 隱密術。
2.6.1 隱密術(Staganography):
係指將機密資料隱藏在另一份普通的媒體(如:圖片、影片)之中,因
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
嵌入數位資料後的媒體,一般人無法看出其與原本之媒體有所差異,不會 令人起疑,藉此,運用來進行機密訊息傳輸,以避免機密資料遭受到不法 的竊取、破壞。
數位圖像是一種相當適合用來攜帶機密訊息的媒體,因為微量的改變 數位圖像,很難以人眼辨識出來。隱藏學中用來隱藏秘密資訊的媒體,我 們稱之為遮蓋媒體 (Cover Media),機密訊息藏到遮蓋媒體後,會產生隱 蔽媒體(Stego Media),之後只要將隱蔽媒體傳送至接收端,接收端收到後 再進行解密,即可獲取機密訊息,因為隱蔽媒體和遮蓋媒體非常相似,故 傳送過程中,不會引起其他人的懷疑。隱密術示意圖如下:
圖 2.17 隱密術示意圖
設計資訊隱藏機制時須注意的二個因子為:
(1) 隱藏機密訊息的能力(Embedding Capactity):
以灰階圖像而言,係指1個像素可隱藏的機密訊息位元數量,即bpp(bits per pixel)其公式如下:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
以彩色圖像而言,係指1個byte可資訊隱藏的機密訊息位元數量,即bpb(bits per byte)其公式如下:
(2) 隱蔽媒體的品質(Visual quality,即圖像失真的程度)其公式如下:
黑白圖像:
彩色圖像:
隱密術的理想目標是追求高的隱藏機密訊息能力及好的隱蔽媒體品 [5]
C: 隱藏機密訊息的能力
H:圖像的高度,W:圖像的寬 S: 機密訊息位元數量
where
H:圖像的高度 W:圖像的寬
S: 機密訊息位元數量[5]
PSNR 值愈大,品質愈高, 圖像失真的程度愈小
C:隱藏機密訊息的能力 S: 機密訊息位元數量 H:圖像的高度 W:圖像的寬
每個像素有RGB 3個顏色,每個顏色各占1個 byte,故須x3
[20]
‧
資訊隱藏的實作方式有很多種,其中最低有效位元(Last Significat Bit)藏 匿法是最簡單的一種,此方法主要是利用影像中每個像素的最低位元來藏入 資訊,因為以單一原色而言,最低位元對於該原色的影響最小,因而有學者 稱最低位元為最不重要位元(Lowest Significant Bits)。
最低有效位元藏匿法主要的做法是將機密訊息隱藏在圖像像素值的最
2008年Chang,Chou,Kieu提出了另一種資訊隱藏方法論 [5],這個方法 論中,遮蓋媒體中各像素不直接存放密碼,而是存放密碼於密碼表中的位 置(即行列位置),因此可改善使用最低有效位元藏匿法安全性不佳的缺 點,此方法論中所使用到的密碼表即是用之前我們所提的數獨來實作的。。
‧
2.7 秘密分享方案(Secret Sharing)
秘密分享主要概念是指將秘密資訊切割成數份,分配給特定群組中的 何將拉丁方陣應用於基礎型 (Basic Secret Sharing Scheme)、多部門型 (Multi-department Scheme)、階層型 (Multilevel Scheme)3 種類型之秘
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
第三章 拉丁立體方陣相關方法論
本章節將就拉丁立體方陣相關方法論,分成以下三大部分進行說明:
1.如何建構拉丁立體方陣 2.拉丁立體方陣臨界集的樣態
3.如何產生拉丁立體方陣之臨界集及利用拉丁立體方陣之臨界集還原拉丁 立體方陣
其中於第 2 及第 3 部分,將提出一個通用性方法論,並以第 1 部分所建構 出之拉丁立體方陣為例,發展出其對應之數學表示式。
3.1 如何建構拉丁立體方陣
3.1.1 拉丁立體方陣建構方式概述
經研究發現,除了可用任 2 個拉丁方陣來建構拉丁立體方陣[12](可參 考 2.3 節)以外,我們還可利用後循環拉丁方陣及同型拉丁方陣建構出拉丁 立體方陣,方法如下:
如 2.2.1 所述,我們可將 n 階拉丁立體方陣視為 n 個不同的拉丁方陣 疊合在一起,首先,我們先產生 1 個後循環拉丁方陣當作拉丁立體方陣 L 的第 0 層,再利用 L 的第 0 層各元素+1 Mod n 產生第 1 層,第 0 層各元素 +2 Mod n 產生第 2 層……..第 0 層各元素+(n-1) Mod n 產生第 n-1 層,最 後再將 n 個拉丁方陣疊合在一起,即可生產生 n 階拉丁立體方陣,示意圖 如下:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 3.1 如何建構拉丁立體方陣示意圖
以此方式生產生的 L,第 0 層中的數字 0,到了第 1 層皆變為數字 1,
到了第 2 層皆變為數字 2;第 0 層中的數字 1,到了第 1 層皆變為數字 2,
到了第 2 層皆變為數字 0;第 0 層中的數字 2,到了第 1 層皆變為數字 0,
到了第 2 層皆變為數字 1(詳如圖 3.2),而第 1~n-1 層的拉丁方陣皆為第 0 層拉丁方陣旳同型拉丁方陣,另位於 L 第 0 層上的數字(即符號),於往下 的各層中,皆以+1 的方式遞增,故同樣的行列位置上的數字,於每一層 中,將不會重覆。
綜上,我們發現 L 的每層皆為拉丁方陣(每一行每一列數字都不會重 覆且恰好只出現一次),且同樣的行列位置,於每一層中,數字將不會重覆 且恰好只出現一次,其特性符合 2.2.1 拉丁立體方陣定義,因此我們可判 定以此方式生產生的 L 為拉丁立體方陣。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 3.2 拉丁立體方陣各層元素變化示例
3.1.2 建構拉丁立體方陣 之數學表示式
我們可以以下的數學式來表示依上述方法所建構的拉丁立體方陣:
數學式 3.1
n 階拉丁立體方陣 L 是1 個 n×n×n 的 3 維的陣列,L 內存的值皆來自 集合 N,N= {0,...,n-1},n≥ 1。
假設位於 L 第 k 層第 i 列第 j 行-即座標(i,j,k)上的值為 v,v=( i+j+k) mod n,我們可以下面的列示表示:
拉丁立體方陣 L = {(i,j,k;(i+j+k) mod n) : k = 0,...,n−1
i = 0,...,n−1 j = 0,...,n−1}
以上述公式產生的拉丁立體方陣,看起來較為簡單,我們可以用下方式增 加一些變化性:
1. 將拉丁立體方陣內的符號{0,…..n-1}調整為{1,…..n}:
第 0 層數字 1 在各層的變化 第 0 層數字 2 在各層的變化 第 0 層數字 3 在各層的變化
同行同列不同層,符號 (數字)會不同
‧
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 3.4 如何產生拉丁方陣 C 示例
也因拉丁方陣C可反映出L第 0 層各個數字,於其它各層的變化,我 們發現,只要知道 L 第 0 層內的所有數字,就可以藉由 L 第 0 層及拉丁方 陣 C 來推導出 L 第 1 層至 n-1 層的所有數字,以圖 3.5 為例,已知 L 第 0 層第 0 列第 0 行的數字為 0,我們只要於拉丁方陣 C 的第 0 列中找到數字 0 後,往下 1 列,後便可得知 L 第 1 層第 0 列第 0 行的數字會是 1,往下 2 列,便可知 L 中第 2 層第 0 列第 0 行的數字會是 2,相同的道理,如圖 3.5 所示,已知 L 第 0 層第 1 列第 1 行的數字為 2,我們可於拉丁方陣 C 的第 0 列中找到數字 2 後,往下 2 列便推算出 L 第 2 層第 1 列第 1 行的數字會 是 1,以此模式進行推導,最後發現,只要透過 L 第 0 層及拉丁方陣 C,
便可將整個拉丁立體方陣 L 推導出來。
第 0 層數字 1 在各層的變化 第 0 層數字 2 在各層的變化 第 0 層數字 3 在各層的變化
範例 1: C取自 L 每層的第 0 列 範例 2:C取自 L 每層的第 1 列
L L
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
再仔細觀察圖 3.4 範例 1 及範例 2,發現,不管拉丁方陣 C 是由 L 每 層的第 0 列組成,或第 1 例組成,拉丁方陣 C 皆可反映出L第 0 層各個數 字,於其它各層的變化。
圖 3.5 透過拉丁立體方陣 L 第 0 層及拉丁方陣 C 推導出完整 L 示意 如果我們把 L 的第 0 層當作拉丁方陣 B,並以 L 的每層固定的列組合 成拉丁方陣 C,便可利用拉丁方陣 B 及 C,完整的將拉丁立體方陣 L 推導出 來(如圖 3.6)。
我們發現,上述的 n 階拉丁立體方陣 L,也可以以 2.3 章節所提之拉 丁立體方陣指數式表示法來表示,其中拉丁方陣 B 便 L 的第 0 層,而拉丁 方陣 C 則是由L每一層的第固定的列(如第 0 列,第 2 列….)組合而成,
示意圖如下:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 3.6 以拉丁方陣 B 與拉丁方陣 C 表示拉丁立體方陣 L 示意
以圖 3.6 為例,拉丁方陣 B 取自 L 的第 0 層,而拉丁方陣C則由L每一層 的第 1 列組合而成,我們可以以下數學表示式來表示拉丁方陣 B 及拉丁方
以圖 3.6 為例,拉丁方陣 B 取自 L 的第 0 層,而拉丁方陣C則由L每一層 的第 1 列組合而成,我們可以以下數學表示式來表示拉丁方陣 B 及拉丁方