第四章 變形的系統
4.1 一對多的編碼與解碼
有鑑於圖3.5.1,X-word 正確機率 對於不同Pd α'下,其差距並不大,我們
希望Pd對α'的斜率能提升,這表示隨著 x-bit 製造的準確度稍加改變,X-word 正 確偵測的機率卻有著大幅度改變,故能提高盜拷光碟的困難度。
我們利用一個例子來說明我們的想法。考慮一 unit-word 由三個位元組成,
讓此unit-word 經過 word-extension process,產生長度為三個 unit-word 的 EC。換言之,此 EC 長度為九個位元,再加入 x-bit 成為 X-word。例如 101 是 一個unit-word 先將它展成 010 111 000 的 EC (由(3.1.4)得到),接著將 此 EC 編入 x-bit 成為 010 1xx 0xx。 x-bit 並不是任意加至 EC,EC 中的 每一 unit-word,其開頭第一個位元不能加入 x-bit,這是以解碼端做考量,我們 稍後會論述。
假設一個unit-word 由 個位元組成,故有 個可能組合,則所對應的 X-word 之種類也要大於或等於 個可能。基於此點考量,EC 中的第一個 unit-word 我們不編入 x-bit,而 x-bit 只加入在第二個 unit-word 的第二或三個位 元,依此類推。如上例,X-word 之種類等於
v 2v
2v
5 4
2 3⋅ 個,遠大於原始 unit-word 種類數目23個。
解碼時,我們放寬要求,不再要求所有的 x-bit 都要能正確偵測出,若 X-word 中有β個 x-bit,經兩次讀取程序,至少能偵測出 g 個以上的 x-bit,就認為此
X-word 正確(g< ),再經由對照表(mapping table)恢復成原始 unit-word。 β
圖4.1.1 : 在此β = ,g=3,經過兩次讀取後 4 若產生如上九種結果,都會對應回 EC =
010 111 000。
如上圖4.1.1 所示,假設 X-word 含有β = 4 個 x-bit,且 g=3,只要能順 利偵測3 個以上的 x-bit,則認為此 X-word 正確,故經由兩次讀取程序所認定正 確的訊號都能恢復成010 111 000 的 EC,再經過 EC-decoder 返回原始 unit-word 101。
若 X-word 在兩次讀取程序中無法讀出 g 個以上的 x-bit,我們就認為此 X-word 不正確。例如 X-word 在兩次讀取程序中判定為 010 11x 01x,只 偵測出兩個 x-bit。我們讓兩次讀取判定的 X-word,第一個 unit-word 中的第一個 正規位元變為其補數,故第一個位元由0 變成 1,重新給定的結果為 110 11x 01x,如果此 X-word 在對照表中無法發現,則在 x-bit decoder 中,對裡面的 x-bit,
指定成第一次讀取結果,則經 x-bit decoder 成 110 110 010,再經過 EC-decoder(由(3.1.5)式) ,可以返回成 unit-word 010。按照這樣的程序編 碼與解碼,我們可以保證若無法偵測出g 個以上的 x-bit 之 X-word,經解碼後的 unit-word 010,其第一個位元 0,與原始 unit-word 101 的第一個位元 1,
一定不會相同,故解碼後的unit-word 必定不正確。
將原始unit-word 編碼為 EC,再以上述的程序加入 x-bit,這種編碼程序我 們稱為一對多編碼(one to many encoder),而相對應的解碼程序稱為一對多 解碼(one to many decoder) 。由圖 4.1.1 得知,X-word 有可能讀出九種不 同的結果,但都對應回unit-word 101,故命名為一對多編碼。對一個 X-word 而言,β個 x-bit 能正確偵測 g 個以上 x-bit 的機率以Pd 表示,故 g
由圖4.1.2 得知,隨著β增加,Pd 對g α'圖形的斜率越大。隨著α'增加,Pd 越g 小,故在不同α'下,X-word 正確的機率,差距越加擴大。
圖4.1.3 :圖中曲線由上而下分別為 β=20,g=4,j =5,v=6
β=20,g=10, j =5, =6 v β=20,g=13, j =5, =6 v
且水平座標為α',垂直座標為Pd 。 g
由圖4.1.3 可知,我們可以藉由控制 X-word 中正確偵測 x-bit 的個數 g 來 得到我們想要的 X-word 之機率。若我們希望 X-word 正確偵測機率高,就讓 g 小,希望 X-word 正確偵測機率低,就讓 g 大,故 X-word 正確偵測機率變得具 有選擇性。
4.2 變形的系統
Ι之編碼
圖4.2.1 : 變形的系統Ι 之編碼流程圖
基於降低α'c的目標,我們提出變形系統Ι。我們的方法是先將原始鑰匙中,
任意一個長度為 個位元的unit-word 以第一階 FC 編碼,產生一個長度為 個 unit-word 的第一階 FC。再將此第一階 FC 依序用第二階、第三階的 FC 編碼,
共生成 個第三階FC,且每個第三階 FC 由 個 unit-word 組成。
v s
s2 s
現在考慮任意一個第三階FC,此 FC 由 個 unit-word 組成。我們先從 個 unit-word 挑出前
s s
f 個 unit-word,再編成第四階的 EC,故生成1 f 個第四階 EC,1 此 f 個 EC 長度都由1 m41個 unit-word 組成。
接著,再從剩下s− f1個unit-word,挑出前 f 個 unit-word,再編成第四階2 EC,故生成 f 個第四階 EC,此2 f 個 EC 長度都是由2 個 unit-word 組成。最後 剩下 個 unit-word,我們不對它們做任何處理,上述的過程顯示在圖 4.2.1 中。
m42
1 2
s− −f f
第二步,將 f 個長度1 m41個 unit-word 的 EC 作 RS-coding,生成 f 個長度 個1
4.3 變形的系統
Ι之解碼
(4.3.3)
假設ψ 為任意一個第三階FC,其更錯能力為
依此類推,若P1表示第一階 EC 中任意一個 unit-word 正確之機率,則
(4.3.10)
2 2
1 1 2 2
0 0
( ) (1 )
s m s m
s r s r
r
r r
P P r C P P
− −
−
= =
=
∑
=∑
−
圖4.3.2 : v=6, (s=63,m=27) , j1= j2 = 4 ,β1 =β2 =12,g1= ,4 g2 = ,6 m41 =59,m42 =33
,u1=21,u2 =37, f1=15, f2 =38,共有四階 EC,
圖中只顯示三階,水平座標為α',垂直座標為各階 EC 偵 測正確的機率。
由圖4.3.2 可知利用上述改良系統所得到的αc' 約為 0.1,與先前系統的
'
αc=0.325 下降很多,變形系統Ι 的主要概念為藉由產生兩種偵測 X-word 的機 率,且這兩種偵測 X-word 正確的機率對α'之斜率,比先前所提出系統來的大。
我們設計兩種 X-word,其中一種 X-word 正確偵測機率高,因為 小,而另 一種 X-word 正確偵測的機率小,因為 大。這如同玩二十一點,當玩家手中的 牌很大時,等效於加入很多偵測正確機率小的 X-word,這時再要牌,玩家一定 希望拿到點數小,且加總後不超過二十一點的牌,此時可以藉由調整 1
g g
f 、f 、 、2
,來增加正確偵測機率高的 X-word。換言之,正確偵測機率小的 X-word 如同 大牌,正確偵測機率高的 X-word 類似小牌,而製造精細的 X-word 點數一定比 製造粗糙的 X-word 來的小,故更可以逼近系統的臨界錯誤,使
u1
u2
'
αc變小。
若第一階 EC 完全正確,則原始鑰匙中任意一 unit-word 也會正確。令 代 表鑰匙正確解調的機率,在圖4.3.3 中考慮鑰匙由五個 unit-word 組成,且每個 unit-word 有 6 個位元,則 5
Pkey
1
Pkey =P。圖4.3.3 為Pkey對α'的變化,圖中αc' ≈ 0.1,
比圖3.5.5 下降許多。
圖4.3.3 :水平座標為α',垂直座標 為鑰匙偵測正確機率, αc'約 0.1。
變形系統 達成讓Ι αc'下降的目標,但我們所付出的代價是加密鑰匙容量相當
REC,又 為奇數,則可以更正n 1 ( 2
n− )
個位元,當錯誤的位元個數超過重複碼的 更錯能力時,錯誤更正後的重複碼保留了錯誤,所以還是具有錯誤散佈的特性,
故可以代替沒有更錯能力的 EC。
若一個由長度 個位元的 unit-word 編為重複碼,而產生的重複碼就是將 unit-word 重複n次,故此重複碼由 個unit-word 組成,又重複碼中的每個 unit-word 也都是 個位元。接下來,再將此重複碼以( s, ) RS-code 編碼,
產生長度 個 unit-word 的 code word,我們稱此種程序為前向錯誤更正重複碼 (forward error-correcting repetition code),簡稱 FREC,而任意一個 FREC,其 更錯能力為
v
n
v
n
s
2 s−n。
圖4.4.1 :上圖顯示一次 FREC 的過程。
圖4.4.2 : 變形的系統ΙΙ 之編碼流程圖。
由圖4.4.2 所示,先將原始鑰匙中任意一個 unit-word 以第一階 FREC 編 個 unit-word 的 REC 作 RS-coding,生成
n34
unit-word,以一對多的編碼,生成的 X-word 中共有β4個 x-bit, 而每個 X-word 由 j 個 unit-word 組成。 4
4.5 變形系統 之解碼
ΙΙ
圖4.5.1 : 變形的系統ΙΙ 之解碼流程圖。
圖4.5.1 是變形的系統 之解碼流程圖。為了得到第三階的 FREC,我們 先將含有
ΙΙ
β3個 x-bit 的 X-word,與含有β4個 x-bit 的 X-word 分別通過一對多的 解碼,如果能順利偵測出 、 以上個 x-bit,則 X-word 判定為正確,又兩種 X-word 正確偵測的機率分別以
g3 g4
3
Pd 、g Pd 表示。 g4
在這裡Q3為經一對多解碼後,所解調出的第三階FREC,其更錯能力為
33
2 s−n
,且 由 個 unit-word 組成。令 代表 中剛好有 個 unit-word 發 生錯誤的機率,則
Q3 s P r33( ) Q3 r
(4.5.1)
經由第三階的 RS-decoder 後,我們可以得到兩種第三階的 REC,長度分別為
23 23,
若P r1( )代表第一階FREC 中剛好有 r 個 unit-word 錯誤的機率,如果 小於等於r
在圖4.5.2 中,Pn b2, 已經很陡峭,而Pn b1, 與Pkey b, 快要重疊。在α α' < c'的區
在(4.5.15)中,等號右邊第一項表示剩餘第二階 FREC 位元數,第二項表示剩餘 第三階FREC 位元數,其更錯能力為 33
2 s−n
,第三項表示剩餘第三階FREC 位元 數,其更錯能力為 34
2 s−n
,而最後兩項分別表示兩種不同機率 X-word 位元數。
考慮圖 4.5.2 中的例子,U =6,v=5,s=31, j3 =14, , ,
, , ,代入(4.5.15)式中,可以得到
4 3
j = f3 =18
4 11
f = u3 =18 u4 =11 Bo =4.98Mbit。結果顯示 我們不只將αc'變小,更將加密鑰匙的位元數降為約5 Mbits,而變形系統 成功 解決加密鑰匙位元數過於龐大的問題,主要因素以重複碼代替FC 中的 EC。單 就錯誤更正能力討論,變形系統
ΙΙ
ΙΙ 勝於變形系統 Ι ,可以有效減少 FC 階數,降 低加密鑰匙的位元數。
第五章 結論
一般光碟中的訊號有兩種,一為二位元0,另一為二位元 1,在我們提出的 方法中,加入第三種訊號 x-bit 至光碟。我們使用兩次讀取程序偵測 x-bit,如果 兩次讀出的結果不一樣就認定是 x-bit,由於正確偵測 x-bit 的機率與 x-bit 準位 的精確度密切相關,我們可以利用這個特性防止盜拷光碟。在我們所提出的方法 中,如果 x-bit 的訊號準位製造的很精準,落在某一個很窄小的區間,則光碟可 以正確播出,否則會播出不正確的內容。又因為拷貝x-bit 需要極精密的機器,
專業的盜版商根本無法負擔,所以可以有效防止盜拷。
在光碟的加密程序中,通常會設計一把原始鑰匙。接著,對原始鑰匙進行一 連串的加密動作,變成加密鑰匙存放入光碟中。當光碟播放時,先將加密鑰匙回 復成原始鑰匙,若無法獲得正確的原始鑰匙,就無法得到正確的資料,故可以用 來防止盜拷光碟。我們使用 MWE 程序與 x-bit encoder 將原始鑰匙編作加密鑰 匙。我們發現在解碼過程中各階 EC 正確機率會相交在同一點,並且產生一個近 似方波的原始鑰匙解碼正確之機率。在α'<αc'
c
區域中,原始鑰匙可正確回復,
而在α α' > '
'
區域中,會產生錯誤的原始鑰匙。由於這個解碼特性,若拷貝的光 碟無法精確製作 x-bit 使得α α'< c ,則所製作的光碟將無法成功播放,故能有效 防止盜拷。
接著,我們希望提升拷貝光碟的困難度,所以提出變形系統Ι。變形系統 提 出新方法去設計 X-word,使 X-word 正確偵測的機率對
Ι α'的斜率變大,故更能區 分出光碟中 x-bit 製作的精確度,有效的反應出光碟的生產成本。我們發現在變 形系統 中,各階Ι EC正確的機率仍然會交至同一點。變形系統Ι 主要的想法是設 計兩種不同偵測機率的 X-word,一種正確機率高,而另一種正確機率低。我們 知道 X-word 不能無限制的安插在光碟中,一旦加入的個數太多,則原始鑰匙無 法回復。當系統接近臨界錯誤時,我們增加偵測機率高 X-word 的數目,使其更
Ι α'的斜率變大,故更能區 分出光碟中 x-bit 製作的精確度,有效的反應出光碟的生產成本。我們發現在變 形系統 中,各階Ι EC正確的機率仍然會交至同一點。變形系統Ι 主要的想法是設 計兩種不同偵測機率的 X-word,一種正確機率高,而另一種正確機率低。我們 知道 X-word 不能無限制的安插在光碟中,一旦加入的個數太多,則原始鑰匙無 法回復。當系統接近臨界錯誤時,我們增加偵測機率高 X-word 的數目,使其更