检错与纠错
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HMAC=H( K XOR opad, H(K XOR ipad, text)) 说明:ipad = the byte 0x36 重复 B 次 opad = the byte 0x5C 重复 B 次
计算机领域中的检错和纠错方法
数据存储领域
HPM&S
大量数据存往往贮在像硬盘和闪存这样的存储 介质中。为了避免存储介质的硬件故障,造成数 据丢失,数据纠错技术被应用在这些领域中。 海明码 海明码是一种可以纠正一位差错的编码。它是利用在 信息位为k位,增加r位冗余位,构成一个n=k+r位的 码字,然后用r个监督关系式产生的r个校正因子来区 分无错和在码字中的n个不同位臵的一位错。
循环冗余检验(Cyclic Redundancy Check,CRC)
Want: D.2r XOR R = nG R equivalently: D.2r = nG XOR R equivalently:
校验 位
if we divide D.2r by G, want remainder
R = remainder[
计算机领域中的检错和纠错方法
简单校验和计算
报文 I O U 1 0 0 . 9 9 B O B ASCII 表示
HPM&S
49 4F 55 31 30 30 2E 39 39 42 4F 42
B2 C1 D2 AC
出现这种情况,怎么办?
报文 I O U 9 0 0 . 1 9 B O B
Biblioteka Baidu
ASCII 表示 49 30 39 B2 4F 30 42 C1 55 2E 4F D2 39 31 42 AC
奇偶校验
d位长数据
偶校验位
单个位 奇偶校验: 只能检测错误 9个1 d+1位数据中‘1’的个数是偶数
0111000110101011 1
活动中所蕴含的计算思维
添加行方向的偶校验位
HPM&S
校验错
奇偶校验 二维奇偶 校验: 可检验和 纠正一位 错
原始数据
0 1 1 1 0 1 1 0 1 1 1 0
计算机领域中的检错和纠错方法
RAID2 ——应用海明码实例
HPM&S
RAID 2,以海明码(Hamming Code)作为错误修正码 ECC的方式将数据进行编码后分割为独立的位元,并将数 据分别写入硬盘中。
进一步问题思考
HPM&S
如何设计一个活动或者作业,让学生参与进来 最新的校验方法?有没有必要讲授最新的校 验方法
D.2r ] G
CRC的不足
CRC的不足
HPM&S
能检测小于r+1比特的突发错误,长度 大于r+1比特的突发错误检测率1-0.5r
差错检测相对复杂,一般应用在链路层 ,由硬件实现
计算机领域中的检错和纠错方法
计算机安全领域
HPM&S
须确保发送信息的完整性,保证没有被篡 改,没有传输错误,没有传输丢失。 解决方法: 简单校验和(Simple checksum) 把传输数据的每四个字节作为32比特的整数 对待并求和。
dynamic
models(动态模型)
比特差错以“突发”方式聚集在一起,而不是独立地发生
。 奇偶校验法的不足 只能检测奇数个错误,在无记忆传输模型下,表现尚可。 但在动态模型下,检错概率将只为50%。显然,需要更健壮 的检测多位出错的差错检测方法。
计算机领域中的检错和纠错方法
解决方法:
HPM&S
活动中所包含的计算思维 计算机领域中检错和纠错方法 进一步问题思考
课后作业
阅读材料——生活中身边的例子和纠错方案 参考文献
卡片魔术活动描述
HPM&S
摘要
•当将数据存于磁盘中,或是数据从一台计算机传送到另一台 时,我们通常假定过程中的数据不会被改变。 •然而,有时确实会有意外发生,使得数据发生意外的改 变。这次活动使用一个小魔术来展示,当数据被损坏时, 如何检查并纠正这些错误。
课后作业
HPM&S
进行偶校验时,为什么位臵(i+1,j+1)的颜色 按行计算和按列计算的结果始终是一致的? 进行奇校验时,为什么位臵(i+1,j+1)的颜色 按行计算和按列计算的结果并非是一致的?试 找出一致或不一致的规律。即行数和列数存在 怎样的关系才能保证结果是一致的呢。
答案
问题一答案
最简单的校验方法:重复发送 简单方法的背后,告诉我们…
HPM&S
信息传递需要表示的载体( 语言,2进制数字表示等)
仅表示信息本意的数据量不足以检错和纠错。 必须使用附加的信息即冗余的信息,来表明信息 是否完整或出错。
活动中所蕴含的计算思维
检错及纠错的基本思想
HPM&S
最核心的思想:在发送原有信息的同时发送冗余信息。通过 这些冗余信息可以判断原有信息是否发生了变化,更好的结果, 应该是知道哪些信息发生了变化。这些冗余信息,就称之为校 验码。
HPM&S
本PPT的材料改编自csunplugged.org项目
Data: the raw material-Representing information
活动4 Card Flip Magic 检错与纠错
西安交通大学 高效能建模与仿真研究小组 2011年10
主要内容
卡片魔术”活动的描述
HPM&S
专有名词
检错码,纠错码,奇偶校验
卡片魔术活动描述
HPM&S
活动所需材料
•对于要向全班同学展示活动过程的老师,需要做以下准 备: ①若干张(40张左右)单面有颜色的便利贴作为卡片,双面胶; ②黑板(或白板)。 •对于要尝试活动的同学们来说,可以准备若干(数量为40个左右) 具有两面属性的物品,如有正反面的硬币或扑克、口向上或向下的 杯子、头朝上或朝下的火柴、五子棋棋子(分黑、白两色),或是 用一大张正反面颜色不同的卡纸,裁剪成若干张小的卡纸。甚至可 以用最常见的白纸、铅笔及橡皮,然后在活动的过程中在纸上画X或 O。
好的校验码应该是:
冗余信息应该尽量的少 正确验错和纠错的情况应尽量的多(实 际情况,不同校验方法可能会出现原有信 息出错,而校验码不变的情况。但我们希 望这种情况越少越好)
因此 ,这 不是 好的 校验 码
活动中所蕴含的计算思维
卡片魔术揭秘
魔术的关键:
HPM&S
在方列中,涂色的卡片可以视为二进制表示中的”1”。老师所添加 的一行、一列其实是原有方列中卡片所表示信息的校验码,具体使 用的是校验码的一种——奇偶校验。
活动描述
HPM&S
恢复后可以让学生来尝试解密魔术的奥秘,然 后再告知学生魔术操作的方法,让他们上台展示 活动过程,使学生们信服。这个魔术可以用任意 多张的卡片做,卡片数量越多,效果越好。
活动中所包含的计算思维
生活中的启示 如果一个人给你打电话说一 件非常重要的事情,我们可 以恳请他重复说上多遍,以 确保这件事我们不会听错。
HPM&S
生活中身边的例子
ISBN校验码计算
HPM&S
ISBN校验码不同于卡片魔术中的奇偶校验码。它使用了另一种 校验码计算方法——校验和。 校验和可以通过一些简单的算法计算,可以将第一位数乘 以10,第二位数乘9,第三位乘8,依次类推,直到第九位 数乘2,将所有的积相加所得到的和用s表示。 例如:有这样一个ISBN号码,0-13-911991-4,则 s=0X10+1X9+3X8+9X7+1X6+1X5+9X4+9X3+1X2=172。然后取s 除以11所得的余数,在上例中为7。如果余数为0,那么校验 和为0,否则,取该数与11的差作为校验和,位ISBN中的最 后一位,即得11-7=4。此时如有算得ISBN中的最后一位不为 4,就可知道有错误发生。
发送方在发送原有信息的同时,还在原有信息 之上增加冗余信息,这种冗余信息通常为数据纠 错码(ECC)。通过数据纠错码,来达到数据纠 错的目的。因为,这种方案不需要重传数据,所 以也成为前向纠错(FEC)。
参考文献
HPM&S
James F.Kurose著 陈鸣 译,计算机网络自顶向下 方法 ,机械工业出版社,2009 李贤玉 著,无线局域网安全分析与防护,哈尔滨工 程大学出版社,2009
不同的信息具有 相同的检验和
计算机领域中的检错和纠错方法
使用CRC方法可以吗? 答案是,不行 CRC存在安全缺陷 CRC校验是有效数据的线性函数,即 c(X XOR Y)=c(X) XOR c(Y)
HPM&S
利用这个性质,攻击者可以篡改原文内容
计算机领域中的检错和纠错方法
HPM&S
HMAC (Hash-based Message Authentication Code) HMAC需要一个加密用散列函数(表示为H,可 以是MD5或者SHA-1)和一个密钥K。用B来表示数 据块的字节数。
校验 位 校验 位 校验 位 校验 位 校验 位
1 1 1 添 0 加 列 确定错误位 0 1 1 数据改变 1 方 向 的 0 1 1 0 偶 校 0 1 0 验 1 位 0 0 0 1 1 0 0 0
校验错
计算机领域中的检错和纠错方法
计算机网络领域
问题:数据在传输过程中可能改变
HPM&S
1001011
Error detection and correction, http://en.wikipedia.org/wiki/Error_detection_an d_correction
HPM&S
谢 谢!
活动描述
HPM&S
第一步
让一个或两个学生随意选择卡片排列成一个任意大小的矩形,粘贴 在黑板上,例如5X5(矩形摆得越大,效果越好)。在排列过程中,卡 片哪个面朝上可由学生随意放臵。
活动描述
HPM&S
第二步
老师自然地增加一行和一列,使卡片排列看上去更为复杂(如图4.2),红 色框内为新增卡片。这一步是魔术的关键,这里必须保证每一行和每一列中 有颜色的卡片为偶数张
1011111
发生错误 解决方法: 奇偶校验法 使用“卡片魔术”中奇偶校验办法,给传送的数据 添加奇偶校验位。
奇偶校验法的不足
两种传输模型
HPM&S
memory-less
models (无记忆模型)
比特差错的概率小,而且比特之间的差错可以被看作是独 立发生的,在一个分组中多个比特之间出错的概率非常小。
dm,j+1=
HPM&S
di+1,n=
di+1,j+1
按行计算 按列计算
答案
问题二答案
dm,j+1= di+1,n=
HPM&S
di+1,j+1
按行计算
按列计算
i,j同奇偶
生活中身边的例子
ISBN,你注意过它吗?
检错技术不只应用在计算机领域, 还应用在生活的各个方面。比如,用 于图书出版的国际标准图书号(ISBN )。 它是一个有10位数字的号码,一般印 在书的封底,用来唯一的标识一本图 书。最后(第10个)的一位数字并不 是图书标识,而是一个校验码,就像 我们之前说的奇偶校验码,用来检验 整个号码是否有错误。如果,我们使 用ISBN订购图书,若有一位数字出错 ,则通过校验和可以检查出,使我们 不会买到错误的书。
纠错方案
Automatic repeat request (ARQ/BEC)
HPM&S
自动请求重发(ARQ),为一种后向纠错。TCP协 议中,就可以明显看到这种方案的应用。在TCP协 议中,如果接收方通过数据校验码,发现接收到的 数据错误,就会让发送方重新发送该数据包。
Forward error correction (FEC)
活动描述
HPM&S
第三步
找一个学生来翻动一张卡片,改变它的颜色。当学生翻卡片时,教师可以蒙住 自己的眼睛,或是背对卡片,不去看学生是如何做的。
如图,第4行第3章卡片被翻动了。然后,老师返回到卡片面前,判定哪张卡片 被动过,并将其恢复。老师恢复卡片的方法,便是找出此时和为奇数的行和 列所指示的卡片。