SM2椭圆曲线公钥密码算法ECC研究与实现(2)
时间:2018-05-05 22:12 来源:毕业论文 作者:毕业论文 点击:次
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] 等基于其他原理的公钥算法. (责任编辑:qin) |