0. 伽羅華域(Galois Field,GF,有限域)乘法運算
1. EC 原理
1.1 伽羅華域(Galois Field,GF,有限域)乘法運算
普通實數乘法變爲伽羅華域上加法運算,加法則用異或就可以了。 當 GF(2m)域當m=8時,本原多項式爲P(x) = x8 + x4 +x3 + x2 + 1 . 通過這個本源多項式去分解域上的其他數字,最後其實都是化爲基本的多項式相加。 其實就是把一個數表示多項式,通過本源多項式的分解,轉化爲基本的多項式,譬如3*7=(x+1)*(x^2+x+1)=x*x^2+x*x+x+x^2+x+1=x^3+1。 具體請看。
http://blog.sina.com.cn/s/blog_4572df4e01019wsj.html
http://blog.csdn.net/mengboy/article/details/1514445
http://www.tuicool.com/articles/ZNNjY3
1.2 EC 的基本邏輯,其中的矩陣
http://blog.163.com/yandong_8212/blog/static/13215391420143281143547/
2. 計算矩陣(B)的生成。 黃色部分就是vandermonde 矩陣加上n階的單位矩陣就是 B了 ??? 還是整個B 叫做範德蒙矩陣 ??。
2.1 RS codes是基於有限域的一種編碼算法,有限域又稱爲Galois Field,是以法國著名數學家Galois命名的,在RS codes中使用GF(2^w),其中2^w >= n + m
http://www.doc88.com/p-9716722427279.html
而W經常是8. 譬如ISA-L 中的EC
2.2 RS codes
3. 文件切分的時候,源數據D1, D2, D3 等的切分。
D1, D2, D3等是來自不同文件的數據。儘量是N 個文件一起從頭開始計算,如果不等長就以0補足。 這樣計算後中的Dn和Cn中的數據 排列是一致的。譬如5源個文件的第一個字節一起計算得到5個結果數據放在5個結果文件的第一個字節中而校驗數據則放在3個校驗文件的第一個字節中。那麼第二個也是一樣的。
由於GF(2^w) 中的W通常用8,所以數據是一個字節一個字節計算。如果w是16那麼就是兩個字節。4. 理論到實踐
http://wenku.baidu.com/link?url=Cb7T1Ffyht1KcuoWg8aCEaBI2XgnyYSKQ05FnBndy7RgWYWwdlZvI5B9NQple6vEcQEXTwDBYdrCyJz5ftR0OMM5pKGaqzbY-Fkc2VWHMAa