- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二元域椭圆加密算法(ECC)C 语言实现
二元域椭圆曲线加密算法
(ECC)
C语言实现
dajiangwan@
2013-9-22
dajiangwan@ 2013-09-22
二元域椭圆加密算法(ECC)C 语言实现
1. 前言 1
2. BN 定义 2
3. BN 算法 5
3.1. 单宽度整数乘法 5
3.2. 单宽度整数除法 6
3.3. 中间计算结果函数 7
3.4. 计算大数位数的函数 9
3.5. 大数转换函数 10
3.6. 大数赋值函数 11
3.7. 大数比较函数 12
3.8. 大数移位函数 13
3.9. 大数加减函数 14
3.10. 大数乘法函数15
3.11. 大数除法函数 16
3.12. 大数取模函数17
3.13. 大数乘法取模函数17
3.14. 大数求倒数取模函数18
3.15. 大数其他函数19
4. HASH 函数 21
5. ECC 算法 25
5.1. ECC 算法头文件 25
5.2. ECC 算法实现 26
6. 附录 45
7. 参考资料48
dajiangwan@ 2013-09-22
二元域椭圆加密算法(ECC)C 语言实现
1. 前言
二元域的椭圆加密算法在工作中会遇到,由于该算法涉及到许多数学理论,要理解算法
不是太容易。
ECC在PC机上有很多实现,比如openssl、tomcrypto以及gcrypto等;以上的算法由
于要考虑运行效率,使用了很多加速算法,导致阅读时不易理解。
为了理解该算法的关键部分,本文依照RSA提供的大数算法,对TinyBECC 的源码进行
整理修改,实现了ECC 加密算法的ECDSA 。该代码可以在Windows 下使用Microsoft VC 6.0
进行编译,也可以在Fedora Linux 下的使用gcc 进行编译。为了验证算法的正确性,可以通
过openssl 进行对比测试。
作为一个示例性的程序,性能较差,只能用来了解ECC 算法的原理。
dajiangwan@ 2013-09-22 1
二元域椭圆加密算法(ECC)C 语言实现
2. BN 定义
ECC 使用大数进行运算,在计算机表示大数时,一般采用多个字节来存储。在C 语言
中使用整数数组来存储大数。以下代码假设计算机的整数宽度为32Bit, 存储时先存储低端
数据,后存储高端数据。以下代码是从RSA 提供的RSA 算法实现参考中(BN.h 和BN.c)复
制出来的,然后进行了一些修改。以下代码定义一些宏、数据类型以及函数原型。
#ifndef _BN_H
#define _BN_H
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int
您可能关注的文档
- 三字儿歌电子书要领.pdf
- 计算机组装过程详解学习.ppt
- 新闻主题引题副题20121106.docx
- 第三章 2016-2017年造价师继续教育考试试题11.docx
- 第六章 二十四节气计算公式.doc
- 第三章 05年10月全国高等教育自考《物业管理》试题.docx
- 第一章 利用宽带资源在网络挣钱(绝对0成本).docx
- 第十三章 格式化 U盘TF卡SD卡 出错!!“windows无法完成格式化”解决办法.doc
- 计算机视频作业答案教材.docx
- 职业生涯管理测试题答案(汇总)资料.docx
- 2023学年诸暨中学高三年级第二学期3月第二次模拟考试(政治)公开课教案教学设计课件资料.docx
- 运动的合成与分解(二)公开课教案教学设计课件资料.pptx
- 近五年浙江省各地图形的翻折(轴对称)原题公开课教案教学设计课件资料.doc
- 如何做教师-2019-11-13-中关村一小相关公开课教案教学设计课件资料.pptx
- 生活中的圆周运动 (水平面)正式版公开课教案教学设计课件资料.pptx
- 专题10 条件概率与全概率公式公开课教案教学设计课件资料.docx
- 金华市东阳市2019学年第二学期期末测试卷公开课教案教学设计课件资料.doc
- 5 琥珀(第二课时)【慕课堂版】公开课教案教学设计课件资料.pptx
- 项目五 打印米老鼠模型公开课教案教学设计课件资料.ppt
- (打印版)9月25日地理周练公开课教案教学设计课件资料.docx
文档评论(0)