- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ecc算法实现实验报告
昆明理工大学信息工程与自动化学院学生实验报告 课程名称:网络安全开课实验室:应用、网络机房442XX年12月21日 一、实验目的 1、对算法描述可进行充分理解,精确理解算法的各个步骤。2、完成ECC软件算法的详细设计。3、用C++完成算法的设计模块。4、编制测试代码。 二、实验原理及基本技术路线图 设 y?a1xy?a3y?x?a2x?a4x?a6 2 3 2 3 2 ,称 2 F(x,y,z)?(y?a1xy?a3y)?(x?a2x?a4x?a6) 为Weierstrass多项式.当在任意点P成立,则椭圆曲线称为光滑的或非奇异的.若E是定义在有限域Fq上的椭圆曲线且其 q=pm (p为素数),这样的p称为有限域Fq的特征 值.E中恰好有一个Z坐标为0的点(0,1,0),我们称它为椭圆曲线的无穷远点,用O表示.椭圆曲线上有理点的个数称为该椭圆曲线的阶,若亦由 |E(Fq)|?q?1?t |E(Fq)| 表示椭圆曲线的阶,则 (其中t?2),即Hasse定理.如果椭圆曲线E定义在域Fq上,其特 征值不等于2和3,则E的Weierstrass等式可以简化,做变换,进而Weierstrass等式变换为Y一 y? 3 2 332 ?X?aX?b,其中a,b?Fq,判别式??4a?27b?0,此式为椭圆曲线的 般 1 形 a x? 式 3 . ?a 3 若令 y?2 2 x?X/Z,x 4 . x?6 y?Y/Za x , a 则等式变为 y?a 根据椭圆曲线进行加密通信的过程: 1)用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点,作为基点G. 2)用户A选择一个私有密钥k,并生成公开密钥K=kG.3)用户A将Ep(a,b)和点K,G传给用户B. 4)用户B接到信息后,将待传输的明文编码到Ep(a,b)上一点M,并产生一个随机整数r(recc算法实现实验报告)为1另一个为0,所以22bit中有有11bit为1表示有1bit错误;只存在1bit为1,则生成的校验码出错,数据本身无错;4)其他情况则出现多个错误,不可纠正。当出现情况2)时,改错误比特在数据组中的字节偏移量为P1024、P521、P256、P128、P64、P32、P16、P8。错误比特所处的字节中的位偏移量为P4、P2、P1。因此,根据字节的偏移量和字节中的位偏移量就可以确定数据中发生的翻转位,然后对其进行纠正。 硬件ECC算法的校验码计算规则如下图所示。其中P1、P1’、P2、P2’、P4、P4’为列校验码,P8、P8’、P16、P16’、P32、P32’、P64、P64’、P128、P128’、P256、P256’、P512、P512’、P1024、P1024’为行校验码。 编码 ECC编码算法思想为:设待输入编码器的第n个字节S为: S?n?? ??7 ,?6 ,?5 ,?4,?3 ,?2,?1 n ,?0 n n n n n n n ? 列校验P1,P1’的生成计算方法为 256 D?m????m n n?1P1?D?7??D?5??D?3??D? 1?,P?1?D?6??D?4??D?2??D?0?, P2?D?7??D?6??D?3??D?2?, P? 2?D?5??D?4??D?1??D?0?, P4?D?7??D?6??D?5??D?4?, P? 4?D?3??D?2??D?1??D?0?, 行校验码P和P‘的生成计算方法为 7 E?n????i n, i?0128 P8??E?2k?, k?1 P? 128 8??E?2k?1?, k?1 (1) (2)(3)(4)(5)(6)(7)(8) (9) (10) (11) ... 256 (12) P1024? ? k? ?E?k?, P1024??E?k?, k?1 (13) 式中:“+”表示“位异或”操作。由式~可知,计算过程没有乘法和除法运算,均是异或运算,这种特点非常适合FPGA实现,只需要采用组合逻辑电路叠加异或即可,完全不影响闪存读写速度。但硬件ECC纠错算法仅能纠错1bit错,当每256B出现2bit以上错误则无法纠正。 解码 ECC解码是利用数据块初始ECC校验码与读取该数据块时重新生成的ECC校验码按
文档评论(0)