• 沒有找到結果。

第三章 編碼與解碼

3.4 解碼過程

圖 3.3.1:原始鑰匙轉變為加密鑰匙的過程。

3.4 解碼過程

如之前所述,共有 個第 L 階 FC 被存入光碟的開端部分。我們設計解碼 程序安裝在播放機,當播放光碟時,此解碼程序將讀取開端部分兩次以偵測加密 鑰匙。令 為一個第 L 階 FC,則 中 X-word 的數目有 個,

其餘 個 unit-word,我們通稱為正規字(normal-word) 。 NL

0 1 1

( , ,... , s )

W = w w w W u

s u

wj =(ρ ρ1, 2,...,ρv)為W中的任意一個 X-word,它含有β個 x-bit。假使 中的 x-bit 能經由兩次讀取程序正確偵察出,則 必能憑藉著對照表,正確無誤 地還原成原來的 unit-word。假使一個或是一個以上的 x-bit 無法偵測出,這時播 放端的解碼程序會隨機指定一個 unit-word 來代表 所對應的內容。若 x-bit 無法 順利偵測出,則隨機指定的 unit-word 碰巧猜中 所對應的內容之機率為

wj

wj

wj

wj 1

2v

圖 3.4.1:為一個 =4 的例子,說明 x-bit v

若無法順利偵測出,會隨機給定一個 unit-word。

如下圖所示,解碼程序為編碼程序的反向動作,先將編入 X-word 的第 階 FC 經過 x-bit decoding,解出第 階的 FC 且不含 X-word,再將 個第 階 FC 通過 次的 FC-decoder,使碼字 C 順利解調出。最後再將 C 以(n,k) RS-decoder 解碼,則原始鑰匙(key)應運而生。

L

L NL L

L

圖 3.4.2:整個解碼過程。

假設W為一個第 階 FC,且W中含有u個 X-word。W可以表示為

增加,已知α 為A 對x μ最大偏差量,則α 越大,代表 x-bit 越不精準。

當α'等於零時, 產生最大值,但 的最大值還是很小,表示經由兩次讀 取程序偵測 X-word 正確的機率不高。圖 3.5.1 為一個

Pd Pd

6

v= ,β=2 和 = 的 例子,圖中當

Pe 105 α'增加時,P 的遞減量很小,故我們並不能從 準確的區分出 x-bit 的精準度,這是我們希望改善的,其方法稍後會提出。

d Pd

圖 3.5.1:水平座標為α',垂直座標為Pd

圖3.5.2:顯示整體系統的解碼流程圖

已知有 個 X-word 與 s- 個正規字在W中,當 經過兩次讀取程序後,剛好有 為RSdecoder的最大更錯能力(max number of correctable errors),若 ,則Y 會正確解碼。故 正確的機率以 表示為

在這裡,Pj代表第 j 階EC 正確的機率,而Pj1代表第 j− 階 EC 正確的機率,1 由(3.5.7)式可以知道不同階 EC 正確的機率為一疊代關係( recursive relationship )。

圖 3.5.3: Pj在不同階數下對α'的圖形,在 此,L=4,s=63,m=13,b=8, v=6,β = 2

u=33。

圖3.5.3 顯示 在不同階數下對Pj α'的圖形。由圖中可以得到一個很重要的 結果,即各階 EC 正確的機率會相交在同一點,我們令這點的水平座標為α'c

垂直座標為 ,則 為此交點的座標表示式,又 稱為截止機率

(cutoff- probability) 。

cutoff

P'c,Pcutoff) Pcutoff

我們還可以發現階數越小的Pj,其對α'的圖形越接近方波,所以圖3.5.3 中以P1最接近方波,因為P1的階數為最小。當α'c'時,P1=Pcutoff,在α α'< c'的 區域中,所對應的P1接近 1,而在 'c'

P3

的區域中,所對應的P1接近 0。

α

以上的結果可以說明如下,考慮P4P3在圖3.5.3 所對應的曲線,當 與P4

相交在點(α'c,Pcutoff),則α α' = c'P3 =P4 =Pcutoff,這告訴我們FC-decoder 程序

圖3.5.4: Pkey對α'在不同(s,m) RScode下正確的機率,

最左邊的方波圖形為(63,13)的RScode,由左而右依次為(63,11)、

(63,7)RScode,在這裡,L= ,b=8,4 n=63,k=11。

圖3.5.4 中,Pkey截止行為對於防盜拷是很重要的發現。我們回想α 是AX對 μ的最大偏差量,Pkey截止行為顯示當α'c',原始鑰匙可以被順利回復。由於

'

n

α α

=σ ,可以推得α α σ< c' n時,鑰匙會順利回復。因為 x-bit 的反射率AX=μ+q, 又 介於[q −α α, ],故AX落在[μ α μ α− , + ]區間中。將α 的上限α σc' n代入,若原 始鑰匙要順利復原,AX必須落在[μ α σ μ α σ− c' n, + c' n]區間中。

在圖3.5.4 中,對於(63,13) RS-code 而言, ,若鑰匙要順利復 原,須滿足

' 0.325 αc ≈ (0.325) n

α < ⋅σ 。這如同一個很緊的邊界,以αc'限制 x-bit 的反射率

,而讀取時會產生雜訊,其標準差

AX σn不同於其它的通訊系統之標準差,在讀

取的過程中產生的σn通常很小。

對於正版光碟的製造商,他們可以設計很好的設備,藉由這些設備將 x-bit 的反射率AX控制在[μ α σ μ α σ− c' n, + c' ]區間內。相對地,要將 x-bit 的反射率 控 制在

AX

[μ α σ μ α σ− c' n, + c' ]區間內,對於盜版商而言是非常困難的。基於人性,會 去盜版光碟的人都不是真正的有錢人,他們不會願意花費鉅額的資金來生產品質 好的產品。故把握這樣的想法,真正有錢的人不會願意當盜版商,而盜版商不會 願意花大錢,在成本考量下,可以有效的抑制盜拷行為。

圖 3.5.5: Pkey對α'c在不同的 下,使用相同的(s,m) b RScode,在這裡,L= ,s=63,m=13,n=63,k=13。 4

圖3.5.5 顯示參數b對 的影響,所以b是一個重要的參數,我們能夠利 用它得到我們想要的截止曲線。 增加時,代表第 L 階 FC 中 X-word 的個數增 加,相對地,正規字的個數減少。

Pkey

b

3.6 系統評比

過去所提出的防盜拷技術,不外乎是對光碟的內容做加密,而播放端的部份 鮮少有人去討論。我們的做法為利用硬體與軟體加密光碟,藉此打擊專業的盜版 商。一般而言,是沒有辦法可以絕對杜絕盜拷行為,所以我們能做的,只是提高 盜拷的困難度。我們的系統,可以提高拷貝光碟的困難度,藉著加入 x-bit 與使 用MWE 程序,如此在拷貝光碟時,必需使用極精密的燒錄設施。如果高精密的 燒錄設備被管控的很好,無法任意外流,則一般大眾無法使用低成本的燒錄器拷 貝光碟,同時專業的盜版商也能被預防。

MWE 程序實際上包含三種機制,第一 ﹕錯誤安插(error insertion),我們安 插 x-bit 至光碟中,可以想成主動放入潛在性錯誤至光碟中,用來防止位元對位 元的盜拷。第二 ﹕錯誤更正(error correction),雖然錯誤被加入到光碟中,但由 於RScode具有更錯能力,能夠回復鑰匙。第三 ﹕錯誤散佈(error propagation),

在多次的FC-decoder 之中,第 j 階EC正確的機率以 表示。如果 小於

,錯誤將會影響

Pj Pj

cutoff

P j− 階,所以1 Pj1將會低於 。當 大於 時,錯誤會

越來越多,造成錯誤散佈的現象。根據這些機制, 對

Pj Pj Pcutoff

Pkey α'c的圖形將以方波的樣 子呈現,這是我們所樂見的結果。我們主動放入潛在性的錯誤至光碟中,但如果 安插的太多,超過系統的更錯能力時,Pkey對α'c的圖形將不再以方波的樣子呈 現,而是降至 0,故 x-bit 並不能無限的加入。

在我們提出的系統中,假如專業的盜版商設法去偵測x bit− ,透過多重的讀 取程序(multiple read-detect process),光碟裡全部x bit− 的位置是可以獲得的,故 原始鑰匙的內容是可以得知的。但是知道鑰匙的內容並沒有用處,因為解碼程序 被安置在播放機,這是無法修改的,盜版商無法去修改每一台光碟機的播放程 式。當拷貝的光碟被播放時,解碼程序會偵測光碟中的x bit− ,若光碟中根本沒 有x bit− ,或x bit− 的反射率AX沒有落在[μ α σ μ α σ− c' n, + c' n]區間內,則播放機 會隨機給一把鑰匙,此錯誤的鑰匙與光碟中的內容做二位元加法,會產生不正確 的資料。

實際上,隱藏鑰匙並不是我們的目標,雖然很多防盜拷程序採用此方法,我 們傾向於提高拷貝光碟的困難度,在我們提出的結論當中,α'c扮演一個很重要 的角色,又α''c時,原始鑰匙可以復原,我們希望能降低α'c,藉以提升拷貝 光碟的困難度,在下一個章節都會以此為主要目標。

第四章 變形的系統

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 編碼,產生一個長度為 個

相關文件