3.1 椭圆曲线的定义及其上加法运算 . 11
3.2 有限域上的椭圆曲线 . 13
3.3 椭圆曲线离散对数问题 . 14
3.4 选择椭圆曲线的标准 . 14
3.5 普通椭圆曲线公钥算法简述 . 15
3.6 SM2公钥算法简述 . 16
4 以字节为单位的SM2加密算法实现 20
4.1 程序的基本介绍 . 20
4.2 程序主要变量和函数的设置 . 21
4.3 程序总体结构及各部分流程 . 22
4.4 程序加、 解密算法设计 25
4.5 对字符加、 解密的细节处理 26
4.6 程序运行实验及效果 . 28
结论 . 32
致谢 . 33
参考文献 . 34
1 绪论
由于互联网的快速发展,穿行于网络间的数据流汹涌不息,也带来了一系列信息
传输及处理问题.密码学作为一种信息处理手段,早先仅限于信息加密,如今已扩展
到几乎所有与信息安全相关的领域,甚至在改进的信息编码方式中也有所体现.
在现代密码体系中, 公钥密码技术可谓开启了密码学研究的新篇章, 以其安全性、
灵活性、互动性等诸多优点受到人们的认可,被广泛应用在网络信息领域.其中椭圆
曲线加密算法在加密强度、运算速度上较之其他方法更胜一筹,开辟了椭圆曲线上离
散对数问题的新的研究方向,拥有广阔的发展前景.
1.1 密码学概述
1.1.1 密码体系发展概述
密码学研究如何对信息进行处理,使信息能够秘密,安全,有效地传递.一般我
们强调密码学的手段是将信息的内容按秘密的规则进行变换,来达到信息难以理解而
保密的过程,而如火漆术、隐写术、信息分割后传递等保密方式并不属于密码技术.
早期密码术多用于军事保密,如古希腊战争中的密码棒,古罗马的凯撒密码,我
国古代兵书<优尔韬>中"阴符"一节也对密码术有所论述.它们分别代表了古典密码
术的三个主要方法: 隔位取字, 移位法和替换法 (移位法可看作替换法的特殊形式) . 直
到一战,这三种方法相结合而编制的密码表,仍然是人工译制密文的基础.
1918 年德国人 Arthur Scherbius发明了ENIGMA 密码机, 利用转轮实现了复式替
换密码术,也建立了二战德军完美的安全通讯环境.这一发明可谓将古典密码技术发
展到登峰造极的高度.
1949 年 Shannon 提出以严格的数学基础构建密码学算法[1]
,成为现代密码理论的
开端,但直到 1976 年,美国国家标准局发布数字加密标准,对称密码体制才逐渐确
立.2001年美国国家标准局又发布了Rijndael 算法[2]
作为高级数字加密标准.
1976年 Whitfield Diffie和Martin Hellman
[3]
则提出了公钥密码的概念,这一理念
此后网络信息的保密奠定了重要基础.最初的公钥密码算法基于大数因子分解或离散
对数问题(DLP)复杂性,来构建严密安全的加密系统.前者衍生了如 RSA算法[4]
, McEliece算法[5]
等加密体系;后者则建立了如ElGamal 算法,椭圆曲线算法(ECC)
[6,7]
,超椭圆曲线算法[8]
等体系. 此外还有背包算法[9]
,NTRU 算法[10]
,辫群共轭算
法[11]
等基于其他原理的公钥算法. SM2椭圆曲线公钥密码算法ECC研究与实现(2):http://www.youerw.com/shuxue/lunwen_14851.html