CRC循環(huán)冗余校驗碼

From Wiki-Cyclic redundancy check

A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. Blocks of data entering these systems get a short check value attached, based on the remainder of a polynomial division of their contents. On retrieval, the calculation is repeated and, in the event the check values do not match, corrective action can be taken against data corruption.

From 循環(huán)冗余校驗CRC簡介

  • CRC為校驗和的一種,是兩個字節(jié)數據流采用二進制除法(沒有借位和進位猜丹,使用異或來代替減法)相除所得到的余數猴誊。
  • 其中被除數是需要計算校驗和的信息數據流的二進制表示应结;除數是一個長度為(n+1)的預定義二進制數摹迷,通常用多項式的系數來表示误债。
  • 在做除法之前娃圆,要在信息數據之后先加上n個0陷遮。冗余碼的位數是n位。冗余碼的計算方法是重挑,先將信息碼后面補0迫肖,補0的個數是生成多項式最高次冪;將補零之后的信息碼用模二除法(非二進制除法)除以G(X)對應的2進制碼攒驰,注意除法過程中所用的減法是模2減法(注意是高位對齊)蟆湖,即沒有借位的減法,也就是異或運算玻粪。
  • 當被除數逐位除完時隅津,得到比除數少一位的余數。此余數即為冗余位,將其添加在信息位后便構成CRC碼字劲室。

例如伦仍,假設信息碼字為11100011,生成多項式G(X)=X5+X4+X+1很洋,計算CRC碼字充蓝。G(X) = X5+X4+X+1,也就是110011,因為最高次是5喉磁,所以谓苟,在信息碼字后補5個0,變?yōu)?110001100000协怒。

用1110001100000模二除法除以110011涝焙,余數為11010,即為所求的冗余位孕暇。因此發(fā)送出去的CRC碼字為原始碼字11100011末尾加上冗余位11010仑撞,即 1110001111010。

接收端收到碼字后妖滔,采用同樣的方法驗證隧哮,即將收到的碼字用模二除法除以110011(是G(X)對應的二進制生成碼),發(fā)現余數是0座舍,則認為碼字在傳輸過程中沒有出錯沮翔。

盡管在錯誤檢測中非常有用,CRC并不能可靠地校驗數據完整性(即數據沒有發(fā)生任何變化)簸州,這是因為CRC多項式是線性結構鉴竭,可以非常容易地故意改變量據而維持CRC不變歧譬。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末岸浑,一起剝皮案震驚了整個濱河市搏存,隨后出現的幾起案子,更是在濱河造成了極大的恐慌矢洲,老刑警劉巖璧眠,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異读虏,居然都是意外死亡责静,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門盖桥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灾螃,“玉大人,你說我怎么就攤上這事揩徊⊙恚” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵塑荒,是天一觀的道長熄赡。 經常有香客問我,道長齿税,這世上最難降的妖魔是什么彼硫? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮凌箕,結果婚禮上拧篮,老公的妹妹穿的比我還像新娘。我一直安慰自己牵舱,他們只是感情好他托,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著仆葡,像睡著了一般赏参。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沿盅,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天把篓,我揣著相機與錄音,去河邊找鬼腰涧。 笑死韧掩,一個胖子當著我的面吹牛,可吹牛的內容都是我干的窖铡。 我是一名探鬼主播疗锐,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼坊谁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了滑臊?” 一聲冷哼從身側響起口芍,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎雇卷,沒想到半個月后鬓椭,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡关划,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年小染,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贮折。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡裤翩,死狀恐怖,靈堂內的尸體忽然破棺而出调榄,到底是詐尸還是另有隱情踊赠,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布振峻,位于F島的核電站臼疫,受9級特大地震影響,放射性物質發(fā)生泄漏扣孟。R本人自食惡果不足惜烫堤,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凤价。 院中可真熱鬧鸽斟,春花似錦、人聲如沸利诺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慢逾。三九已至立倍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侣滩,已是汗流浹背口注。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留君珠,地道東北人寝志。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親材部。 傳聞我的和親對象是個殘疾皇子毫缆,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容

  • CRC校驗,全名叫做循環(huán)冗余校驗碼乐导,是數據通訊中最常采用的校驗方式苦丁。為了學習這個CRC,在網上找了好多資料兽叮,下面這...
    AmdyTeng閱讀 6,257評論 2 6
  • 前言 CRC校驗(循環(huán)冗余校驗)是數據通訊中最常采用的校驗方式芬骄。在嵌入式軟件開發(fā)中猾愿,經常要用到CRC 算法對各種數...
    Otis4631閱讀 1,774評論 0 3
  • 1鹦聪、同一個賬號可以發(fā)視頻和文章嗎? 答:可以的蒂秘,每個賬號可以同時發(fā)布文章和視頻泽本,各5篇; 2姻僧、牙牙關注自媒體號规丽,用...
    f71af9958bde閱讀 344評論 0 0
  • 乘坐了通宵的航班到達慕尼黑赌莺,一下飛機就被德國的風情給深深的吸引了,機場的出租車不是奔馳就是寶馬松嘶,跟國內完全不一樣。...
    Mr李洪宇閱讀 413評論 2 5