• 沒有找到結果。

結合硬體與軟體的光碟防盜拷技術

N/A
N/A
Protected

Academic year: 2021

Share "結合硬體與軟體的光碟防盜拷技術"

Copied!
65
0
0

加載中.... (立即查看全文)

全文

(1)

電信工程學系碩士班

結合硬體與軟體的光碟防盜拷技術

A Hybrid Hardware/Software Copy Protection

Technique for Optical Disks.

研 究 生:錢大源

指導教授:高銘盛 教授

(2)

結合硬體與軟體的光碟防盜拷技術

A Hybrid Hardware/Software Copy Protection

Technique for Optical Disks.

研究生 :錢大源

Student: Ta Yuen Chien

指導教授:高銘盛 博士

Advisor:Prof. Ming-Seng Kao

國 立 交 通 大 學

電信工程學系碩士班

碩 士 論 文

A Thesis Submitted to

The Institute of Communication Engineering

College of Electrical Engineering and Computer Science

National Chiao Tung University

In partial Fulfillment of the Requirements

For the Degree of Master of Science

In

Communication Engineering

June 2005

Hsinchu, Taiwan, Republic of China

(3)

結合硬體與軟體的光碟防盜拷技術

A Hybrid Hardware/Software Copy Protection

Technique for Optical Disks.

研究生 :錢大源

Student: Ta Yuen Chien

指導教授:高銘盛 博士 Advisor:Prof. Ming-Seng Kao

國立交通大學電信工程學系碩士班

摘要

我們提出同時使用硬體與軟體的光碟防盜拷技術。在我們的方法中,半準位 訊號 x-bit 提供人為錯誤置於光碟片中,再利用多階的 MWE 程序來編碼原始鑰 匙。由於多階的編碼程序導致一個非常特殊的解碼效能,會產生一個近似方波的 原始鑰匙解碼正確機率,而這個特性可以用來防制盜拷。更進一步,我們提出新 的編碼方法來增加盜拷光碟的困難度,並有效降低編碼所需的容量。

(4)

Abstract

We propose a hybrid hardware/software copy protection technique based on the X-bit coding and a multi-level word-extension /error-coding (MWE) scheme to encode an encryption key. The X-bits with half-level signaling behave as potential errors in optical disk. The multi-level coding leads to a very special decoding performance that a sharp cutoff exists in the detection probability of the encryption key. This cutoff behavior sets a tight bound on the signal level of X-bits, being the desired characteristic for us to prevent piracy. Finally,we propose a modified approach to decrease the tight bound on the signal level of X-bits as well as volume of the encryption key.

(5)

誌謝

本論文得以順利完成,首先要感謝我的指導教授高銘盛博士,在兩年的研究 生活中,無論在電機專業領域或生活上的待人處事,都使我有很大的收穫。 感謝 909 實驗室的所有成員,謝謝你們平時生活的照顧與協助,研究生的生 活因你們而多了許多歡笑與回憶,風城的求學日子因你們而充滿愉快的回憶。 僅以此論文獻給所有關心我、愛我的人。

(6)

目錄

中文摘要 i 英文摘要 ii 致謝 iii 目錄 iv 表目錄 v 圖目錄 v 第 一 章 緒 論 ... 1 第二章 X-bit 之介紹與討論 ... 5 2.1光碟片的加密程序...5 2.2 x-bit 之分析 ...6 2.3讀取程序...7

2.4兩次讀取程序(double read process) ...13

第三章 編碼與解碼 ... 16

3.1 The Multi-level Word-extension………..… …..16

3.2 Error-coding process ...18 3.3 X-bit編碼………..……….20 3.4 解碼過程………22 3.5 系統效能分析………23 3.6 系統評比………30 第四章 變形的系統………..………..32 4.1 一對多的編碼與解碼………32 4.2 變形的系統 之編碼………..36 Ι 4.3 變形的系統 之解碼………..38 Ι 4.4 變形系統ΙΙ 編碼………...……….43 4.5 變形系統ΙΙ 解碼………...……….46 第五章 結論 ……….53

(7)

表目錄 表3.1 : x-bit編碼的對應關係 ...21 圖目錄 圖2.3.1 : 顯示ξ μ> ,判定為 1 ………9 圖 2.3.2 : 顯示ξ μ< ,判定為 0……….9 圖2.3.3 : 機率密度函數對ξ-(Ι )………. ..10 圖2.3.4 : 機率密度函數對ξ-(ΙΙ )….…………..………..………..11 圖2.3.5 : 機率密度函數對ξ-(ΙΙΙ )………..……….………..12 圖2.3.6 : 機率密度函對ξ-( VΙ )………..…………..……….13 圖 2.4.1 : 說明 x-bit 的判別法則………..……….13 圖 2.4.2: Pe X,q'的圖形………..…..15 圖2.4.3: Pe X, 對α'的圖形………16 圖 3.1.1 : 顯示 unit-word 輸入, unit-word D 輸出……….18 y 圖3.2.1 : word-extension process 示意圖………..18 圖 3.2.2 : MWE 編碼流程圖………..………..20 圖 3.3.1 : 說明鑰匙如和變為加密鑰匙……….21 圖 3.4.1 : 說明隨機字給定的原因………...……..22 圖 3.4.2 : 說明整個解碼過程………..……….23 圖 3.5.1 : Pd對α'圖………...………..25 圖 3.5.2 : 顯示整體系統解碼流程圖……….25 圖 3.5.3: Pj在不同階數下對α'圖形……….….27 圖 3.5.4: Pkey對α'的圖形………28 圖3.5.5: Pkey對α'c在不同的 b 下的圖形………..…..30 圖4.1.1 : 經過兩次讀取後 X-word 的結果………33 圖4.1.2 : Pd 對g α'-( ) ...Ι 34

(8)

圖 4.1.3 : Pd 對g α'-( )……….………35 圖4.2.1 : 變形系統Ι 編碼流程圖……….……..36 ΙΙ 圖4.3.1 : 變形系統Ι 解碼流程圖………...…38 圖4.3.2 : EC正確機率對α'圖………....……….41 圖 4.3.3 : 鑰匙正確機率對α'圖………....………42 圖 4.4.1 : 顯示一次 FREC 的過程………….………….………..…..44 圖 4.4.2 : 變形系統ΙΙ編碼流程圖.………44 圖 4.5.1 : 變形系統ΙΙ 解碼流程圖………….……….46 圖4.5.2 : Pn b2,Pn b1,Pkey b, 對α'圖………...50 圖 4.5.3 : 鑰匙正確機率對α'圖………..………....51

(9)

第 一 章 緒 論

有鑑於現今盜版光碟的普遍,各國如美國、日本、台灣 …… 等,皆致力於 防止盜拷。但日益猖獗的盜拷行為,已經重創各國的市場。以往台灣唱片業尚能 傳出銷售百萬張的佳績,如今能賣出一 、二十萬張就已經不錯了。這是盜拷行 為氾濫所造成的結果,盜版商為了貪圖利益,罔顧他人的智慧財產權 ,而購買 盜版光碟的民眾,為節省小錢,採買盜拷的產品,苦了他人的心血。版權擁有者 與盜版商正展開一場角力戰,設計一些防止盜拷的方法,希望能有效的抑制盜版 行為。子曰 : 『 勿以善小而不為,勿以惡小而為之。』,現今社會上對於智慧 財產權的漠視,導致抄襲行為的漫延,創意是經過無數個難熬的夜晚所產生的結 晶,但可能你的一個按鈕,就被剝奪。由衷希望大家能重視創作,之如愛惜自己。 長期以來,盜拷行為已經嚴重打擊光碟市場,防盜拷技術更是一個重要的議 題[1-5]。雖然有很多機構紛紛投入防盜拷的研究,但至今所提出的方法只能防 止一般民眾,卻無法制止專業的盜版商,結果造成盜版光碟大量流通,使版權擁 有者損失慘重[6-7]。以下簡單介紹幾種常見的光碟防盜拷技術 : 數位浮水印( digital watermarking ) :我們通常先將數位浮水印植入數位內容 中,再交予使用者流通,一旦發現雷同的數位內容,則取出數位浮水印,比較兩 個浮水印相似的程度作為是否侵權的依據[2]。我們知道身份證的主要功能在於 辨識身份,而數位浮水印如同身份證,具有識別的功能。數位浮水印有兩種類型: 一種是可見型,另一種是隱藏型。一般而言,可見型的浮水印顯露在數位內容中, 而隱藏型的浮水印並不能直接觀察,所以隱藏型的浮水印安全性較高。

(10)

假如今天版權的擁有者持有一份數位內容 I ,為了保護它,將數位浮水印W加至 I 中,則生成標記後的數位內容I : ' ' I = + (1.1) I W 版權的擁有者再將 ' I 流通,一但發現雷同的數位內容I 時,則取出'' I 的浮水印'' : ' W ' '' W = − (1.2) I I 如果 '' I 的確是抄襲數位內容I ,則取出來的浮水印' 必定與W相似,我們可以 藉由比較 與W來判斷是否抄襲。 ' W ' W 數位簽章(digital signature) : 所謂的公開鑰匙加密法就是將我們想保護的資 料分別以兩把不同的鑰匙作加密、解密。例如甲、乙兩個人想要互相傳送資料, 但是又怕資料外洩,就可以使用公開鑰匙加密法。方法是想要聯繫的兩個人各自 擁有兩把鑰匙,一把稱為公鑰 ,另一把稱為私鑰。一般而言,公鑰是可以讓大 家知道的,但是私鑰必須保密隱藏。今天甲想要傳送資料給乙,甲必須先使用乙 的公鑰加密,再將加密後的資料傳送給乙,而乙收到後,則用自己的私鑰解密 。 我們知道公開鑰匙加密法的另一個用途是數位簽章 [4],數位簽章的概念與公開 鑰匙加密法剛好相反,主要是確認原始訊息的傳送者是否是我們指定的對象。我

們先將原始訊息代入 hash function產生hash value,再將hash value 與私鑰作二位元

加法產生數位簽章。我們知道 hash function 的特性是反函數很難找到,所以我們並

不能從函數值回推原始訊息。接著,檢驗者只要將數位簽章與公鑰相加,如果加總後

(11)

Serial Copy Management System ( SCMS ) : 一般而言,SCMS 技術 [6]主要

是在光碟中加入兩種位元,一種是Copyright bit,而另一種是 Copy Status bit。

我們知道光碟在播放時,光碟機會先去偵測 Copyright bit,如果能順利偵測出 Copyright bit,就代表正在播放的這張光碟是經過授權的。而 Copy Status bit 能顯示出光碟被拷貝的次數,如果拷貝的次數達到版權擁有者規定的最大次數 時,我們就不能再拷貝光碟。 以往所提出的軟體防盜拷技術主要是隱藏光碟內容,但並不能有效阻止位元 對位元的拷貝(bit-by-bit copy)。因此,光碟機無法分辨正版光碟和盜版光碟, 故盜版光碟得以順利播放。一般而言,拷貝光碟需要三個要件︰光碟、光碟內容 和燒錄器 ﹔如果缺少任一個就無法拷貝光碟。專業的盜版商要取得正版光碟並 不困難,只要去商家購買就可以。接著,將一般的燒錄器作位元對位元的對拷可 以得到光碟內容,甚至經過加密後的光碟也可以,因此最後的防線只剩下燒錄 器。早期類比唱片的年代,拷貝是很困難的,因為盜拷的唱片與正版的唱片無法 完全相同,故能自動地防止盜拷。這個概念便是我們所提出光碟防盜拷技術的主 要想法,目的是使盜拷光碟很難與正版光碟完全相同,以有效防止盜拷。 我們所提出的方法主要是提高燒錄的困難度,所以拷貝光碟必須以極高精密 度的機器完成,而製造這種機器需要極高的成本,專業的盜版商根本無法負荷, 因此得以有效的阻止盜拷光碟。

(12)

我們提出結合硬體與軟體的防盜拷技術是利用半準位訊號 x-bit 和多階層錯 誤更正碼[9]來防止盜拷。一般而言,光碟以兩種訊號準位代表二位元 0 與 1,現 在我們引進第三種訊號 x-bit 加入光碟中,目的是提升拷貝的困難度。此方法有 別於過去的防盜拷技術,主要以硬體的角度出發,而以往的防盜拷技術主要以軟 體的角度做考量。我們採取兩次讀取程序偵測 x-bit,由於正確偵測 x-bit 的機率 並不高,故可以將 x-bit 當作人為的錯誤置於光碟中。此錯誤機制再加上多階層 錯誤更正碼便構成所提防盜拷技術的主體。 在所提出的方法中,我們利用一鑰匙將原始資料打亂(scramble) ,接著使 用 multi-level word-extension error coding(簡稱 MWE)與 x-bit encoder 將原 始鑰匙編為加密鑰匙放入光碟中。MWE 程序會導致一個特殊的解碼效果,產生一 個近似方波的原始鑰匙解碼正確機率。若光碟中的 x-bit 準確度不高時,解碼後 的原始鑰匙會發生錯誤,故無法讀出正確的內容。由於製作高準確度的 x-bit 需 要極精密的機器,一般的盜版商根本購買不起,故能有效的防止盜拷。 接著,我們希望提升拷貝光碟的困難度,所以提出變型系統 。這個系統的 確能提升光碟盜拷的難度,但是它所面臨的問題是加密鑰匙位元數過於龐大,實 際應用上有問題。因此我們提出變型系統 Ι ΙΙ,將加密鑰匙位元數壓縮至一個合理 的容量,以有效解決加密鑰匙過於龐大的問題。 本論文共分為五章,第一章為簡介。在第二章中,我們討論半準位訊號 x-bit, 它可以當作人為的錯誤置於光碟中。接著,我們分析 x-bit 偵測正確的機率。在 第三章中,我們描述MWE 程序與解碼程序。在第四章,我們希望提高拷貝光碟 的困難度,所以提出變形系統Ι,但伴隨的問題是加密鑰匙位元數太大,所以提 出改良的變形系統 以有效解決這個問題。最後在第五章中,我們作一個簡單的 結論。 ΙΙ

(13)

第二章 X-bit 之介紹與討論

2.1 光碟片的加密程序

過去所提出的加密方法,通常是設計一把鑰匙(key)至對應的光碟片,再將 鑰匙與所要儲存的資料(source)做相加(二位元加法),相加後的結果編碼到光碟 中 。接著對這把鑰匙進行一連串的加密動作,再把加密後的鑰匙寫入光碟。光 碟播放時,播放機(player)再把原始的鑰匙從加密鑰匙中解調回復,接著與光碟 中的內容相加,以解出所儲存的資料。加密及解密的工作原理簡述如下︰ ki : 光碟所對應的鑰匙 K : 加密後的鑰匙 ke : 播放端解調出錯誤的鑰匙 di : 我們想儲存的資料 Ci : 光碟所存放的內容 在製作光碟時,先將光碟資料( )加密;播放時再將它解密: di ki+di=Ci (2.1.1) Ci+ = + + =ki ki di ki di (2.1.2) 若播放機無法回復正確的鑰匙,而解調出錯誤的鑰匙ke,則 Ci+kedi (2.1.3) 由上式可知,若無法獲得正確的鑰匙,就無法得到正確的資料,故可以用來防止 盜拷光碟。

(14)

我們所提出的方法是先將原始鑰匙(key)以 multi-level word-extension error-coding (簡稱 MWE)的方式編碼,再安插 x-bit 至編碼後的結果,以達成 防盜拷功能(MWE 的編碼方式與 x-bit 的加入,這些細節我們稍後會提) 。

2.2 x-bit 之分析

一般光碟中的訊號有兩種,一為二位元訊號 0,另一為二位元訊號 1。我 們稱之為正規位元(normal bit) 。現在,我們加入第三種訊號,稱為 x-bit。假設

0 A 代表二位元訊號 0 的反射率,A 代表二位元訊號 1 的反射率,而1 A 表示 x-bitx 之反射率,則 x A = + (2.2.1) μ q 0 1 2 A A μ = + (2.2.2) 上式中μ為A 和0 A 的平均值,而 是一個隨機變數[8](random variable)。1 理想上,我們希望x-bit 的反射率為 q μ,對應 =0。但由於實際製程的不完美, 或燒錄的準確率不高,使x-bit 產生一個誤差值,這個誤差值就由 表示。實際 應用上,x-bit 反射率之大小可以藉由改變光碟中的「平面」(land)與「微坑」 (pits)的反射率,使 x-bit 的反射率更接近 q q 0 A 和A 的平均值1 μ。 x-bit 可視為一種人為的錯誤機制加諸於光碟片(硬體)中,等同於在硬體中 先放入錯誤機制,如果光碟拷貝不精確, 的值域會加大,則q x-bit 的反射率與 μ差距很大,而其目的為防止未經授權的盜拷。此外,由於不知 的真正機率分 佈,故我們模擬成均勻分佈(uniform distribution),假定 值域中的每一點 出現機率相同。 q q

(15)

2.3 讀取程序

我們知道光碟是屬於高記錄密度的材料,而光碟主要由多階層的金屬薄膜所組 成。當讀取光碟時,不同材質的光碟會產生不同強度的雜訊。在1967 年時,IBM 發現以 CoCrPtM(M= B,Ni,Ta,W)合金薄膜為材料的光碟產生的雜訊最小, 所以現今的光碟都是以 CoCrPtM 合金薄膜為材料。 一般而言,源自於光碟材質的雜訊稱為媒體雜訊(media noise) 。當光碟播放 時,最主要的雜訊來自於媒體雜訊和電雜訊(electronic noise)[11]。由於金屬薄膜 中的結晶顆粒缺乏足夠的間隔,所以結晶顆粒尺寸會下降,使得結晶顆粒之間的 磁交換耦合過強,導致媒體雜訊產生。當讀取光碟時,會將鐳射光轉換成電流, 此時會產生電雜訊。我們可以將媒體雜訊和電雜訊模擬成高斯隨機程序[10]

(Gaussian random process)。我們讓 為媒體雜訊,而 為電雜訊,

且 和 互相獨立, 為光碟偵測系統通道脈衝響應,則 ( ) m n t n te( ) ( ) m n t n te( ) h t( ) ( ) ( k T( c) m( )) ( ) e( ) k r t =

d P tkT +n th t +n t (2.3.1) 在(2.4.1)中, 代表接收訊號, 代表 NRZI 訊號, 為通道位元的週期, 為 寫入脈波。 ( ) r t dk Tc PT 1 T P = , 0≤ ≤t Tc (2.3.2) =0 , else 我們讓y t( )代表無雜訊的接收訊號,則(2.4.1)可以改寫成下式 : ( ) ( ) m( ) ( ) e( ) r t = y t +n th t +n t ( ) ( ) y t +n t (2.3.3) = ( ) h t 在(2.3.3)中, ( )n t =n t( )∗h t( )+n t( )。我們已知n t( )、n t( )都是高斯程序,而

(16)

為線性非時變的通道,故n t( )亦為高斯程序。

當光碟播放時,可以經由兩次讀取程序(double read process)來偵測 x-bit。

注意,此處並不是將整張光碟的內容讀取兩次,而是只讀x-bit 部份兩次,所以 額外花費的讀取時間,只占讀取整張光碟的一小部分,並不會浪費太多時間。 首先,我們必需先考慮讀取一次的錯誤機率。假設 為讀取時的雜訊, 我們 將此雜訊模擬成高斯隨機程序,其平均值為零(zero mean),並且假設其變異數為 2 ( ) n t n σ 。如果在特定時間下觀察,此高斯隨機程序可以視為高斯隨機變數(Gaussian random variable)。我們更進一步假設, 與二位元訊號 0 、二位元訊號 1 和 x-bit 之反射率互為獨立(independence)。 ( ) n t 已知Maximum Likelihood(ML)法則︰ x v : 接收端所得到的觀察向量 ( i) p m : mi事件發生的事前機率 ( f xv/mi) : mi事件已發生且接收到x v 的機率密度函數(pdf) $h : 接收端判定發生的事件 ∀m ,i f x( v /mi)為最大值,則 =$h mi。 若ξ代表讀取頭所偵測的反射率,當所偵測的訊號為二位元0 時 0 ( ) n t A ξ = + (2.3.4) 同理,偵測的訊號實際上為二位元 1 時,則

(17)

1 ( )

n t A

ξ = + (2.3.5)

假如A 為最佳判定界限(optimum decision threshold),由法則可以得知 h

0 2 h 1 A A A = + = μ (2.3.6) 若ξ大於μ,讀取頭會認為此位元為 1,如圖 2.3.1 所示。 圖2.3.1 :上圖顯示ξ μ> ,故判定為二位元 1。 若ξ μ≤ ,讀取頭會認為此位元為 0,如圖 2.3.2 所示。

(18)

圖2.3.2 :上圖顯示ξ μ< ,故判定為二位元 0。 我們令 為偵測二位元訊號0,但誤判為二位元訊號 1 的機率。由(2.3.7)式, 為 ,0 e p pe,0 ξ大於μ的機率密度函數(pdf)積分所得之結果,如圖 2.3.3 所示。 圖 2.3.3 :水平座標為ξ的值域,垂直座標為值域所對應的機率密度函數。 左側的高斯曲線為 fA0),右側的高斯曲線為 fA1)。 (2.3.7) 2 0 ,0 2

(

)

1

=

exp[

]

2

e n n

x

A

x

μ

σ

π

2

P

d

σ

同理,假設 為偵測二位元訊號 1,但誤判為二位元訊號0 的機率。由(2.3.8) 式, 為小於 ,1 e P ,1 e P μ積分所得之結果,如圖2.3.4 所示。 2 1 ,1 2 ( ) 1 = exp[ ] 2 2 e n n x A P μ d

σ

σ

π

−∞ − −

x (2.3.8)

(19)

圖2.3.4 :水平座標為ξ的值域,垂直座標為值域所對應的機率密度函 數。左側的高斯曲線為 fA0),右側的高斯曲線為 fA1) 我們可將(2.3.7) 和(2.3.8)表示為以下的關係式 ,1 e P =pe,0= 2 2 1 y d e dy σ π ∞

n =1 ( 2 2 n d erfc ) σ (2.3.9) 1 2 0 A A d = − (2.3.10)

在這裡 erfc( . )稱為補誤差函數( complementary error function ),表示如下﹕

2 2 ( ) y z erfc z e dy π − ∞ =

(2.3.11)

(20)

若讀寫頭所偵測到的訊號為x-bit 時,則 ( ) x ( ) n t A n t q ξ = + = + + (2.3.12) μ 若ξ大於μ,讀取頭會認為此位元為 1;若ξ μ≤ ,讀取頭會認為此位元為 0。換 言之,若x-bit 只讀取一次,所判定的結果不是二位元訊號 0,就是二位元訊號 1,其機率決定於反射率A 。假定x 為讀寫頭偵測x-bit,但被判定成二位元訊 號 0 的機率。如下圖所示,當 0 X P ξ μ≤ 時,讀取頭會判定此位元為 0,因此 0 X P = 2 2 ( ) 1 exp[ ] 2 2 x n n x A dx μ σ σ π −∞ − −

= 2 2 1 ( ) exp[ ] 2 2 n n x q dx μ μ σ σ π −∞ − − −

(2.3.13) 圖2.3.5 :水平座標為ξ的值域,垂直座標為值域所對應的機率密度函數。 此圖中Ax > ,故 q >0,對斜線上方的曲線積分可得μ PX0。 同理,若PX1代表讀寫頭偵測x-bit,但被判決成二位元訊號 1 的機率,則

(21)

1 X P = 2 2 1 ( ) exp[ ] 2 2 n n x q dx μ μ σ σ π ∞ − − −

= 1− P (2.3.14) X0 藉由變數變換,以上結果可以改寫如下: 0 X P = 2 2 1 n y q e dy σ π ∞ −

=1 ( 2 2 n q erfc ) σ (2.3.15) 1 X P = 1- 1 ( 2 2 n q erfc ) σ (2.3.16) 圖 2.3.6 :水平座標為ξ的值域,垂直座標為值域所對應的機率密度函數 。此圖中Ax > ,故 q >0,對斜線上方的曲線積分可得μ PX1

2.4 兩次讀取程序(double read process)

在兩次讀取程序中,我們對x-bit 讀取兩次,若兩次的結果不一樣,判定它為

x-bit。若兩次的結果一樣,不是判定為 0,就是判定為 1,所以對市售的光碟機

而言,偵測x-bit 並不困難。

(22)

圖 2.4.1:說明 x-bit 的判別法則。 考慮x-bit 的反射率A = x μ+q ,經由兩次讀取程序,正確判定x-bit 的機率為 。 為x-bit 第一次判成 0,第二次判成 1,或 x-bit 第一次判成 1,第二 次判成0 之機率和,故 , c X P Pc X, , 0 1 1 c X X X X X P =P P +P P 0 (2.4.1) 由(2.3.15) 、(2.3.16)與(2.4.1),可獲得 x-bit 誤判的機率Pe X, 為 , ( ) 1 , e X c X P q = −P 1 1 ( )[1 ( )] 2 2 2 n n q erfc erfc σ σ = − − q (2.4.2) 令 = ' q n q σ ,而 為正規化後的 參數(normalized parameter) 。圖 2.4.2 為 與 的關係圖。我們發現 對稱於 且 的最小值為 0.5,發生在 =0 時。這代表透過兩次讀取程序,至少有 的x-bit 無法正確偵測。 ' q q q , e x P q' Pe X, q' Pe X, q' 50%

(23)

圖2.4.2: Pe X, 為 的函數,水平座標為 ,垂直座標為q' q' Pe X, 。 實際上,由於製程的不完美,我們必需去考慮x-bit 的波動。假設A 是均x 勻分佈在[μ α μ α− , + ]這個區間,在這裡α定義為A 對x μ的最大偏差量,而 則 均勻分佈在[ , q ] α α − 之間,其機率密度函數可以表示如下﹕ 1 ( ) 2 q p q α = , − ≤ ≤ (2.4.3) α q α = 0 , otherwise 由貝氏定理

(24)

( / ) ( ) ( ) P A B P B =P A

(2.4.4) 利用上式可以求得偵測x-bit 時之平均錯誤率為 , ( ) ( ) , ( ) e X q e X P α P q P q α α =

dq = , 1 ( ) 2 Pe X q dq α α α

− (2.4.5) 令 ' n α α σ = ,稱α' 為正規化後的α參數(normalized α parameter)。圖 2.4.3 為Pe x, 與α'的關係圖。如我們所預期的,Pe X, 會隨著α'的增加而變大,而 的 最小值為 0.5,發生在 , e X P ' α =0。α'是一個重要因子(critical factor) ,我們稍後會討 論到。 圖2.4.3: Pe X, 為α'的函數,水平座標α' ,垂直座標為Pe X,

第三章 編碼與解碼

3.1 The Multi-level Word-extension

首先,我們介紹 word-extension 程序。一個二位元字由 個位元組成,我們可 以將這個二位元字視為一個基本單位,故稱它為單位字( unit-word ) 。令 為一

v

(25)

個 unit-word, 1 2 ( , ,... )v y= b b bbj∈{0,1} (3.1.1) 我們利用 word-extension process 將 展開為一個碼字 D = ,在這 裡 是一個 unit-word,即 y ( ,d d1 2,...dm) i d i d = (d di1, i2,...div) ,dij∈{0,1} (3.1.2) 我們欲得到 與 D 的關係式如下: y 在這裡,符號 表示為二位元加法(mod-2 addition)。等式(3.1.3)說明了在 中的 任一個位元,可以由 D 中所對應的位元做二位元加法求得。對於任意給定的 , word-extension 可以很容易實現。首先隨機產生 ⊕ y y 1 2 1 ( ,d d ,...,dm ),接著 可以如 下獲得: m d 11 21 ( 1)1 1 12 22 ( 1)2 2 1 2 ( 1) ... ... ... m m v v m v v d d d b d d d b d d d b − − − ⊕ ⊕ ⊕ ⊕ ⎛ ⎞ ⎜ ⎟ ⎜ ⎜ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ M ⎟ ⎟ ⎟ ⎟ ⎟ = (3.1.4) 1 2 m m mv d d d ⎛ ⎞ ⎜ ⎟ ⎜ ⎜ ⎜ ⎟ ⎝ ⎠ M 11 21 1 12 22 2 1 2 ... ... ... m m v v mv d d d d d d d d d ⊕ ⊕ ⊕ ⎛ ⎞ ⎜ ⎟ ⎜ ⎜ ⎜ ⎟ ⊕ ⊕ ⊕ ⎝ ⎠ M = (3.1.3) 1 2 v b b b ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ M 由(3.1.4),我們可以得到以下等式:

(26)

1j (m 1)j mj

dLLd d

= [d1j⊕LL⊕d(m1)j]⊕[d1j⊕LL⊕d(m1)j]⊕bj

= bj (3.1.5)

因此,假如 被給定如等式(3.1.4) ,則等式(3.1.3)可以被滿足。我們命名碼字 D

為延展碼字(word-extended codeword),簡稱 EC。

m d3.1.1 :一個 unit-word y 輸入,含 個 unit-word 的碼字 D 輸出。 m

3.2 Error-coding process

在 word-extension 後,error-coding process 接著被執行。我們採用前向錯 誤更正碼(forward error-correcting code),簡稱 FEC,例如一個(s,m) Reed-Solomon code(RS-code) ,其每個符號(symbol)由 v 個位元組成,可以用來將延展碼字 D 作 error coding,所生成的碼字 E 由 s 個 unit-word 組成,稱作 FEC-coded codeword(FC) 。如圖 3.2.1 所示,word-extension/error-coding process 是將一個 unit-word y ,先 extend 為碼字 D,之後經過 FC 的編碼,所產生的碼字 E 則具

(27)

有錯誤更正的能力。 圖3.2.1 :word-extension/error-coding process 示意圖 在所提的防盜拷程序中,原始鑰匙(key)由k個 unit-word 組成,此鑰匙先經

過multi-level word-extension error-coding (簡稱 MWE)的方式編碼,

接著再安插x-bit 至編碼後的結果,以有效預防未經授權的拷貝。 第一步,我們將k個 unit-word 組成的原始鑰匙先經過 ( , RS-code 編碼成 一個碼字C, , 為一個 unit-word。例如 =6 和k=13,原始鑰 匙由 13 個 unit-word 組成,每個 unit-word 由 6 個位元組成。我們利用一個(63, 13)的 RS-code 可得到碼字 C,而 C 由 63 個 unit-word 組合而成。 ) n k 1 2 ( , ,..., n) C= c c c ci v 第二步,碼字 C 再以 MWE 程序編碼。考慮 C 中的任意 unit-word ,在第 一階(1 )的 word-extension 裡,先將 展開為長度m個 unit-word 的

EC,簡稱第一階 EC(1 EC),接著再使用(s,m) RS-code 將此 EC 編碼成

FC。因為 C 由 個 unit-word 組合而成,故1 FC 的總個數 ,且每個 FC 由 s 個 unit-word 組成。 i c st levelci st level − 1stlevel n stlevel 1 N =n 假設 E 為任一1 FC。在第二階編碼中,E 中的每一個 unit-word 再 經由word-extension / error-coding 程序產生一個 st level2ndlevel FC,因為 E 由 s 個 unit-word 組成,所以 E 產生的 FC 共有 s 個,故 FC 的總個數 = 2ndlevel 2ndlevel 2 N N s1⋅ = 。藉著MWE 編碼,相同的過程被應用在任意階 FC。 若共有 L 階的 FC,我們可以由歸納法則,輕鬆的求得 L 階 FC 的總個數 為 n sL N

(28)

L L 1 s N = N ⋅ = nsL−1 (3.2.1) 圖 3.2.2 : MWE 編碼流程

3.3 X-bit 編碼

如前所述,第 L 階 FC 可以經由 MWE 程序產生。令 t 為(s,m)RS-code 之更 錯能力(error-correcting capability) ,則 2 s m t= − (3.3.1) 若Y =(y y0, 1,...,ys1)為第 L 階 FC 之一,在這裡,y 為 unit-word,故共有 s 個i

unit-word 在Y 中。在 s 個 unit-word 中,我們只挑出u個 unit-word 加入 x-bit,而

u= +t b (3.3.2)

其中 是一個整數且 。這些編入 x-bit 的 unit-word 稱之為 X-word,其位置

是固定且已知的。考慮一個特別的 unit-word b b≥0 1 2 ( , ,..., v) y= b b b ,在這裡 。 我們將 {0,1} i by 對應至θ ,θ 為一個 X-word,且θ =(ρ ρ1, 2,...,ρv),又ρi∈{0,1,X},

(29)

其中 X 意指 x-bit。假定β為θ 中 x-bit 的個數,θ 由 v 個位元組成,又 y 也是由 v 個位元組成,故有2v種可能。所以θ 的種類數目要大於或等於 y 的種類。換言之, 就是要大於2v個,即

2

v v

C

β

−β

≥ 2

v (3.3.3) 假如(3.3.3)式能滿足,則我們必定可以設計一個對照表,使 與y θ 有著一對一的 對應關係。下表為 與y θ 的轉換表,其中 v=4,β = 2. 表3.1 : x-bit 編碼的對應關係,是一個 v=4 的例子。 圖3.3.1 MWE 程序與 x-bit 編碼。在圖中,原始 鑰匙 顯示整個編碼過程,包含 先經過(n,k)RS-code 編碼成 C,再將 C 以第一階的 MWE 程序編碼,故可 以得到N 個第一階 FC。重複同樣的過程直到第 L 階,接著在每個第 L 階 FC 插1

u個 X word,這些加入 X-word 的 L 階 FC 被存入光碟的開端部分(lead-in

sector) 。播放光碟時,會強制讀取這個部份,以有效的防止盜拷光碟。

(30)

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

3.4 解碼過程

如之前所述,共有 個第 L 階 FC 被存入光碟的開端部分。我們設計解碼 程序安裝在播放機,當播放光碟時,此解碼程序將讀取開端部分兩次以偵測加密 鑰匙。令 為一個第 L 階 FC,則 中 X-word 的數目有 個, 其餘 個 unit-word,我們通稱為正規字(normal-word) 。 L N 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 碰巧猜中 所對應的內容之機率為 j w j w j w j w 1 2v

(31)

圖 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:整個解碼過程。

(32)

假設W為一個第 階 FC,且W中含有u個 X-word。W可以表示為 ,而 X-word 的位置為固定且已知。假定 表示為一個正規 位元(normal-bit)偵測錯誤的機率,而正確偵測一個正規字(normal-word)之機率以 表示之。因為一個正規字由 v 個位元組合,因此 L 0 1 1 W=(w ,w,...,ws ) e e P n P (1 )v n P = −P (3.5.1) 由先前所說,經由兩次讀取程序偵察 x-bit 錯誤之機率 ,可以由等式 (2.5.5)求出,又 為正規化參數 , e X P , e X P α'的函數,且 的最小值等於 0.5,發生在 時。令 為正確偵測一個 X-word 的機率,在這裡 可以用條件機率 (conditional probability)表示為 , e X P ' 0 α = Pd Pd d P =(1 , ) (1 )v e X e P β P −β − − +[1 (1 , ) ] 1 2 e X v P β − − ⋅ (3.5.2) 在(3.5.2)式裡,等式右邊的第一項表示偵測一個 X-word 時,β個 x-bit 與 v− 個β

normal bit 同時正確的機率,而第二項表示至少有一個 x-bit 無法正確偵測,但播 放機指定的隨機字碰巧與 X-word 所對應的內容相同的機率。 因為Pe X, 為α'的函數,由(3.5.2)可知 亦為 d P α'的函數,故 會隨著 d P α'改變。 我們發現當α' 增加時,Pd會隨之下降。由於 ' n α α σ = ,故α' 增加時,α 也跟著

(33)

增加,已知α 為A 對x μ最大偏差量,則α 越大,代表 x-bit 越不精準。 當α' 等於零時, 產生最大值,但 的最大值還是很小,表示經由兩次讀 取程序偵測 X-word 正確的機率不高。圖 3.5.1 為一個 d P Pd 6 v= ,β=2 和 = 的 例子,圖中當 e P 10−5 ' α 增加時,P 的遞減量很小,故我們並不能從 準確的區分出 x-bit 的精準度,這是我們希望改善的,其方法稍後會提出。 d Pd 圖 3.5.1:水平座標為α',垂直座標為Pd。 圖3.5.2:顯示整體系統的解碼流程圖

(34)

已知有 個 X-word 與 s- 個正規字在W中,當 經過兩次讀取程序後,剛好有 個 unit-word 發生錯誤的機率以 表示。假設 個錯誤中,有 i 個錯發生在 X-word 中,而剩下的 個錯源自於正規字中,則 u u W r ( ) L P r r ri 0 ( ) ( r L i P r prob i =

=

Xwords erroneous ) ⋅prob r[( − i) normal words erroneous]

= ( ) ( ) (3.5.3) 0 ( ) [ (1 ) ] [ (1 ) ] r u i u i s u r i s u r i d d r i n n i P r C P PCPP − − − = =

− ⋅ − i

如圖3.5.2,假設Y 是第 階 EC,且 來自於L Y W經過LthRSdecoder。假定 t

RSdecoder的最大更錯能力(max number of correctable errors),若 ,則Y

會正確解碼。故 正確的機率以 表示為 r ≤ t Y PL 0 ( ) t L L r P P = =

r ) s (3.5.4) 我們繼續分析第(L−1 階的效能。令Z =( ,z z1 2,..., ,...,zi z )為一個第 階 FC, (L− )1 Z 由 個 unit-word 所組成。又在s Z 中剛好有 個 unit-word 錯誤的機率以 表示為 r 1( ) L P r 1( ) (1 ) s r s r L r L P r =CP PL− (3.5.5) 假如r ≤ t,代表Z 中錯誤個數 小於等於r (L−1)thRSdecoder的更錯能力 , 則 會正確,故第 t (L−1)thEC L− 階的 EC 正確的機率以1 PL−1表示為 1 1 0 0 ( ) (1 ) t t s r s r L L r L r r P P r C P PL− = = =

=

− (3.5.6) 以上的程序可依此類推直到獲得第一階 EC 正確機率 。由數學歸納法,我們可 以得到前後兩階 EC 正確的機率為 1 P 1 0 (1 ) t s r s r j r j r P C P P − = =

j ,j=2, 3,...,L (3.5.7)

(35)

在這裡,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 中以 最接近方波,因為 的階數為最小。當 ' 1 P P1 α' =αc 時,P1=Pcutoff,在 ' ' c α α< 的 區域中,所對應的 接近 1,而在 ' 1 P ' >αc 3 P 的區域中,所對應的P1接近 0。 α 以上的結果可以說明如下,考慮P4P3在圖3.5.3 所對應的曲線,當 與P4

(36)

相交在點 ' ,則

c,Pcutoff) α α' = c',P3 =P4 =Pcutoff,這告訴我們FC-decoder 程序

並不影響 EC 正確的機率。而在α' ' c α < 4 c 的區域中, ,代表越低階的 EC 正 確的機率越高;相反地,在 ' 3 P >P ' α α> 之區域中,P3 < ,則越低階的 EC 正確的機P4 率越低,如此的結果發生在各階之中。當 j 減少時,在α' ' c α < 的區域中, 會 持續的增加 ﹔當 j P j 減少時,在α'>αc' ' 之區域中, 會持續的減少。最後我們可 以得到在 j P ' c α α< 的區域中P1非常接近 1,而在α α' > c'之區域中, 非常接近 0。 P1 在多次的FC-decoder 後,我們可以得到第一階 EC 正確的機率 ,而碼字 也可以得到,之後將C通過 ( , 1 P C n k)−RSdecoder可以還原鑰匙(key) 。在這裡, ,C由 個 unit-word 所組成,如果 中錯誤 unit-word 個數 小 於等於 之更錯能力時,原始鑰匙可以順利獲得。若C中錯誤 unit-word 個數 大於 ( , 之更錯能力時,會得到錯誤的鑰匙,則 播放出來的內容與原本的不一樣。因為 1 2 ( , ,..., n) C= c c c n C r ( , )n kRSdecoder r n k)−RSdecoder RScode更錯能力為 2 n k− ,令原始鑰匙 順利回復的機率以Pkey表示,則 (3.5.9) ( ) 2 1 1 0 (1 ) n k n r key r r P C P P − − = =

n r

(37)

圖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對 μ的最大偏差量, 截止行為顯示當 ' key P α' <α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 的反射率 ,而讀取時會產生雜訊,其標準差 X A σn不同於其它的通訊系統之標準差,在讀 取的過程中產生的σn通常很小。 對於正版光碟的製造商,他們可以設計很好的設備,藉由這些設備將 x-bit 的反射率AX控制在[μ α σ μ α σ− c' n, + c' ]區間內。相對地,要將 x-bit 的反射率 控 制在 X A ' [μ α σ μ α σ− c n, + c' ]區間內,對於盜版商而言是非常困難的。基於人性,會 去盜版光碟的人都不是真正的有錢人,他們不會願意花費鉅額的資金來生產品質 好的產品。故把握這樣的想法,真正有錢的人不會願意當盜版商,而盜版商不會 願意花大錢,在成本考量下,可以有效的抑制盜拷行為。

(38)

圖 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 的個數增 加,相對地,正規字的個數減少。 key P b

3.6 系統評比

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

(39)

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

RScode具有更錯能力,能夠回復鑰匙。第三 ﹕錯誤散佈(error propagation),

在多次的FC-decoder 之中,第 j 階EC正確的機率以 表示。如果 小於 ,錯誤將會影響 j P Pj cutoff P j− 階,所以1 Pj1將會低於 。當 大於 時,錯誤會 越來越多,造成錯誤散佈的現象。根據這些機制, 對 j P Pj Pcutoff key P α'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 α ,藉以提升拷貝 光碟的困難度,在下一個章節都會以此為主要目標。

(40)

第四章 變形的系統

4.1 一對多的編碼與解碼

有鑑於圖3.5.1,X-word 正確機率 對於不同Pd α'下,其差距並不大,我們 希望 對 ' d P α 的斜率能提升,這表示隨著 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 種類數目 3個。 2 解碼時,我們放寬要求,不再要求所有的 x-bit 都要能正確偵測出,若 X-word 中有β個 x-bit,經兩次讀取程序,至少能偵測出 g 個以上的 x-bit,就認為此

(41)

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 必定不正確。

(42)

將原始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.1) , , , 0

[

(1

)

] (1

g i i g i e X e X e n i

Pd

C P

P

P

β

)

jv β β β − − − =

=

⋅ −

在(4.1.1)式中 j 為 EC 中 unit-word 的個數,而一個 unit-word 由 個位元組成, 是正規位元錯誤的機率。 v Pe n,

圖4.1.2 :圖中曲線由上而下分別為 β=20,g=10, j =5,v=6 β=40,g=20, j =9,v=6 β=80,g=40, j =17,v=6 且水平座標為α',垂直座標為 g Pd ,g= 2 β 。

(43)

由圖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 正確偵測機率變得具 有選擇性。

(44)

4.2 變形的系統

Ι

之編碼

圖4.2.1 : 變形的系統Ι 之編碼流程圖 基於降低 ' c α 的目標,我們提出變形系統Ι。我們的方法是先將原始鑰匙中, 任意一個長度為 個位元的unit-word 以第一階 FC 編碼,產生一個長度為 個 unit-word 的第一階 FC。再將此第一階 FC 依序用第二階、第三階的 FC 編碼, 共生成 個第三階FC,且每個第三階 FC 由 個 unit-word 組成。 v s 2 s s 現在考慮任意一個第三階FC,此 FC 由 個 unit-word 組成。我們先從 個 unit-word 挑出前 s s 1

f 個 unit-word,再編成第四階的 EC,故生成 f 個第四階 EC,1

f 個 EC 長度都由1 m41個 unit-word 組成。

接著,再從剩下sf1個unit-word,挑出前 f 個 unit-word,再編成第四階2

EC,故生成 f 個第四階 EC,此2 f 個 EC 長度都是由2 個 unit-word 組成。最後

剩下 個 unit-word,我們不對它們做任何處理,上述的過程顯示在圖 4.2.1 中。 42 m 1 2 s− −f f

(45)

第二步,將 f 個長度1 m41個 unit-word 的 EC 作 RS-coding,生成 f 個長度 個1 unit-word 的第四階 FC,其更錯能力為 s 41 2 sm 個 unit-word。同理,再將f 個長2

m42個 unit-word 的 EC 作 RS-coding,生成 f 個長度 個 unit-word 的第四階2

FC,其更錯能力為 s 42 2 sm 個 unit-word。 由此一個第三階FC 產生的第四階 FC 共有 f1+ 個,具有兩種更錯能力,f2 分別為 41 2 sm 與 42 2 sm 。考慮任意一個更錯能力為 41 2 sm 的第四階FC,將此

FC 挑出前 個 unit-word,以一對多的編碼,生成的 X-word 中共有u1 β1個 x-bit,

而每個 X-word 由 j 個 unit-word 組成。同理,讓更錯能力1 42

2

sm

的任意一個第

四階FC,挑出前 個 unit-word,以一對多的編碼,生成的 X-word 中共有u2 β2

x-bit,而每個 X-word 由 j 個 unit-word 組成。 2

因此,任意一個第三階FC 產生 X-word 的個數共有 f u1 1+ f u2 2個,X-word 正確的機率也有兩種,而先前的系統,由一個第三階FC 產生 X-word 的個數共 有 個。更進一步,我們多加入調整 X-word 個數的機制,不再是之前的 個, 而是 s us u⋅ 1 1 2 2 f u + f u ,藉由調整 f , 1 f ,2 u1u2,得到我們需要的 ' c α 。

(46)

4.3 變形的系統

Ι

之解碼

圖4.3.1 : 變形的系統Ι 解碼流程圖 在這裡我們考慮播放端的動作分析,讓含有β1個 x-bit 的 X-word,又長度為 1 j v 個位元。假設Pd 表示 X-word 中,能正確偵測出g1 g1以上個 x-bit 的機率,則 (4.3.1) 1 1 1 1 1 , , , 0

[

(1

)

] (1

g i j i g i e X e X e n i

Pd

C P

P

P

β 1 1

)

v β β β − − − =

=

⋅ −

考慮含有β2個 x-bit 的 X-word,其長度為 j v 個位元。若2 Pd 表示 X-word 中,g2

能正確偵測出g2以上個 x-bit 的機率,則 2 2 2 2 2 , , , 0

[

(1

)

] (1

g i j i g i e X e X e n i

Pd

C P

P

P

β 2 2

)

v β β β − − − =

=

⋅ −

(4.3.2) 在這裡Q1為經一對多解碼後,所解調出的第四階FC,其更錯能力為 41 2 sm ,且 由 個 unit-word 組成。令 代表 Q 中剛好有 個 unit-word 發生錯誤的機 率,則 1 Q s P r41( ) 1 r

(47)

(4.3.3) 1 1 1 1 1 ( ) ( 41 0

( )

(1

)

(1

)

r 1 ) s u i s u i u r i u i n n r i g g i

P r

C

P

P

− −

C

Pd

Pd

=

=

由(4.3.3)可知在編碼過程, 中前 個 unit-word 經過一對多編碼,又剩下的 個 unit-word 為正規字,故經一對多解碼後,假設有 i 個錯發生在 個 正規字中, 個錯發生在 個 unit-word 中,正規字正確的機率以 示之, unit-word 正確的機率等於 1 Q u1 1 (s u− ) 1 1 (s u− ) ri u1 Pn g Pd 。 同理Q2為經一對多解碼後所解調出的第四階FC,其更錯能力為 42 2 sm ,Q 由 個 unit-word 組成。若 代表 Q 中剛好有 個 unit-word 發生錯誤的機率,則 2 s 42( ) P r 2 r (4. 1 3.4) r i − − 2 2 2 2 2 2 ( ) ( ) 42 0

( )

(1

)

(1

)

r s u i s u i u r i u r i i n n r i g g i

P r

C

P

P

− −

C

Pd

Pd

− − =

=

當 中錯誤 unit-word 個數小於等於第四階 FC 更錯能力時,其對應的第四階 EC 會完全正確。若 1 Q 4 f P 代表第四階 EC 中,任意一個 unit-word 正確之機率,則 41 1 2 4 4 0

( )

s m f r 1

P

P r

− =

=

(4.3.5) 2 4 f P 代表第四階 EC 中任意一個 unit-word 正確之機率,則 同理,若 (4.3.6) 42 2 2 4 4 0

( )

s m f r 2

r

− =

=

P

P

(48)

假設ψ 為任意一個第三階FC,其更錯能力為 2 sm ,ψ 剛好發生 r 個 unit-word 錯的機率以P r3( )表示,則 (4.3.7) 1 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 1 2 1 1 2 1 2 1 1 ( ) ( ) 3 4 4 0 0 ( ) [ ( )] ( ) 4 4

( )

(1

)

(1

)

(1

)

r i r 2 2 s f f i s f f i f i f i i n n i f i i f r i i f r i i r i i f f f

C

P

P

C

P

P

C

P

P

− − + − + − − = = − + − − + − +

=

∑∑

P r

由(4.3.7)可知在編碼過程,ψ 由 個 unit-word 組成,s ψ 中前 f 個 unit-word1

編成第四階 EC,且每個 EC 由 個 unit-word 組成,再從剩下的 unit-word 挑

41

m

2

f 個 unit-word,編成第四階 EC,且每個 EC 由 個 unit-word 組成,最後所

剩的皆為正規字。在此假設經解調後, 42 m ψ 中的前 f 個 unit-word 發生1 個 錯,而後 1 2 ( ) r− +i i 2 f 個 unit-word 發生 個錯,最後i2 s−(f1+ f )2 個正規字中發生 個錯,而 前 1 i 1 f 個 unit-word 中,任意一個 unit-word 正確的機率等於 1 4 f P ,而後 f 個2 unit-word 中,任意一個 unit-word 正確的機率等於 2 4 f P 。 當ψ 中錯誤個數 ,小於等於其更錯能力時,第三階 EC 會完全正確。若 代表 第三階 EC 中任意一個 unit-word 正確之機率,則 r P3 2 3 3 0

( )

s m r

P

P

− =

=

r

(4.3.8) 令ϕ為任意一個第二階FC,它由 個 unit-word 組成。假設s P r2( )代表ϕ中剛好有 個unit-word 錯誤的機率,若 r ϕ中錯誤個數 小於等於其更錯能力r 2 sm 時, 則第二階 EC 完全會正確。以 表示第二階 EC 中任意一個 unit-word 正確之機 率,則 2 P 2 2 2 2 3 3 0 0

( )

(1

)

s m s m s r s r r r r

P

P r

C

P

P

− − − = =

=

=

(4.3.9)

(49)

依此類推,若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 ,β12 =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 正確的機率對α' 之斜率,比先前所提出系統來的大。

(50)

我們設計兩種 X-word,其中一種 X-word 正確偵測機率高,因為 小,而另 一種 X-word 正確偵測的機率小,因為 大。這如同玩二十一點,當玩家手中的 牌很大時,等效於加入很多偵測正確機率小的 X-word,這時再要牌,玩家一定 希望拿到點數小,且加總後不超過二十一點的牌,此時可以藉由調整 1 g g f 、f 、 、2 ,來增加正確偵測機率高的 X-word。換言之,正確偵測機率小的 X-word 如同 大牌,正確偵測機率高的 X-word 類似小牌,而製造精細的 X-word 點數一定比 製造粗糙的 X-word 來的小,故更可以逼近系統的臨界錯誤,使 1 u 2 u ' c α 變小。 若第一階 EC 完全正確,則原始鑰匙中任意一 unit-word 也會正確。令 代 表鑰匙正確解調的機率,在圖4.3.3 中考慮鑰匙由五個 unit-word 組成,且每個 unit-word 有 6 個位元,則 5 key P 1 key P =P。圖4.3.3 為Pkey對α'的變化,圖中 ' c α ≈ 0.1, 比圖3.5.5 下降許多。 圖4.3.3 :水平座標為α',垂直座標 為鑰匙偵測正確機率, ' c α 約 0.1。

(51)

變形系統 達成讓Ι ' c α 下降的目標,但我們所付出的代價是加密鑰匙容量相當 龐大。若 代表加密鑰匙的容量,又原始鑰匙由 個 unit-word 組成,Co的單 位為 bit,則 Co N (4.3.11) 2 2 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2

[ (

)

(

)

(

)

]

Co

N s s

f

f v

s f s u v

s f s u v

s f u j v

s f u j v

=

− −

+

+

+

+

在(4.3.11)中,等號右邊的第一項表示剩餘第三階 FC 位元數,第二項表示更錯能 力為 41 2 sm 的第四階FC 位元數,第三項表示更錯能力為 42 2 sm 之第四階FC 位 元數,而最後兩項分別表示兩種不同機率 X-word 位元數。 考慮圖4.3.2 中的例子,N =5,v=6,j1 = j2 = ,4 f1 = ,15 , , ,代入(4.3.11)式中,可以得到Co= bit=1013.5Mbits,如此龐 大的容量,遠超出光碟所能負荷,是這個設計的主要缺點。接下來我們的目標不 但希望 2 38 f = u1=21 2 37 u = 1.0135 10× 9 ' c α 下降,而且加密鑰匙的容量也要大幅降低。

4.4 變形系統 之編碼

ΙΙ 變形的系統Ι 雖然讓 ' c α 下降,但是所付出的代價是加密鑰匙容量太大,而主 要原因是連續使用四階的FC 編碼。我們希望降低 FC 的階數,但階數減少 EC 正確的機率未必能爬升至 1,且圖型較不像方波。由圖 4.3.2 可以觀察P2在 ' c ' α <α 時未能攀爬至 1,故無法以P2代替P1解調出加密鑰匙。

在此我們考慮用重複碼(Repetition Code) ,簡稱REC,代替FC 中的 EC,

(52)

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 sn 圖4.4.1 :上圖顯示一次 FREC 的過程。 圖4.4.2 : 變形的系統ΙΙ 之編碼流程圖。

參考文獻

相關文件

‡戴爾安裝了位在維吉尼亞州的 WebMethods 公司所開發的 B2B 整合軟體。WebMethods 公司所開發的 B2B 整合軟體 WebMethods

Harrington (1994) 認為倫理規範的目的在闡明責任,其研究透過責任的否 認 (Denial of Responsibility, RD) 這項人格特質與倫理規範的互動來進行測 量,並以資訊系統相關的軟體盜拷

„ „ 利用電腦來安排與整合多種媒體,可產生 利用電腦來 更多樣化的作品。如某一段背景配樂在影 片中的哪個時間點開始播放、新聞播報中 子母畫面的相對位置、文字字幕出現在畫

在這次的實作遊戲中,我們必須要先對所使用到的硬體 和軟體有其基本的認識,這樣我們才能充分利用我們所擁有 的條件,進一步達成目標。首先 DE2-70 繼承了 Altera 一系 列的開發軟體,如

‡ RFID 運作原理是透過一片小型硬體的無線射頻辨識技 術晶片( RFID chips),利用內含的天線來傳送與接

電腦內部是使⽤用位元 (Bit) 這個基本單位來表⽰示資料 並儲存於記憶單元 (記憶體) 或輔助記憶單元 (硬碟) 中。.. 每個位元只可以表⽰示

IP 電信得以擺脫傳統電信的束縛,其中有兩項重要的電信技術,一是能 提供整合語音與數據服務之 SIP(Session Initiation Protocol)標準,另一項則是 提供電話號碼與 IP

隨著影像壓縮技術之進步、半導體科技之快速發展、無線通訊技術與數位傳送輸技術