CRC 循環冗餘檢查

CRC 被廣泛運用於通訊或其他序列傳輸的系統中,方法為運用同餘多項式運算,在原有訊號之後加入一串稱為 FCS (Frame Check Sequence) 的檢驗序列。

CRC 的重要參數

Q = 原始資料 (長度為 k)
F = FCS (長度為n-k)
J = Q 與 F 串接後的答案
P = CRC 生成多項式

J = Q xn-k + F,而  J 必須能被 P 整除 (這是生成多項式的定義)。

將 Q xn-k  除以 P 則可以得到 Q + F/P。

Checksum 總和檢查

Checksum 的產生機制很簡單,將資料分成 K 小塊之後,將每塊的所有值全部相加之後得到一個數字,再取其 1′ 補數,就可以得到 Checksum。

Checksum 的檢查機制則是將所有收到的 K 個小塊中所有值相加再加上 Checksum 後,再取其 1′ 補數,若結果為 0 則表示正確,不為 0 則表示傳輸中有發生錯誤。