公钥密码体制也被称之为非对称密码体制,1976 年 W。diffie 与 M。E。Hellman 在科学杂志 上发表了论文“密码学的新方向”,提出了可以在互联网上成功实现保密措施的公钥密码假想, 由此创立了公钥密码体制。这种体制与曾经 4000 余年间所有的密码体制、编码方式都与众不 同[3]。在已经过去的整个密码学历史长河中,所有产生密码的方式、算法,比如最基础的手工 计算,及机械设备物理层面上实现的,又或者依靠计算机随机产生的,全部都是依靠替代和 置换这两种方法。然而公钥密码体制与这些就截然不同,它是近代密码学的雏形与技术基础。 公钥密码体制算法不再是依靠替代和置换这两种常见的方法,而是使用数学函数,更为重要 的是这种崭新的新型算法是通过非对称的形式产生两个迥然不同的密钥,这是新时代人们智 慧的结晶。在近代密码学上,两个相异密钥的使用,对在数据保密性、密钥分配及认证都带 来了不可抹面的积极影响。这种密码体制很好的解决了原本密码学中两个最难以解决的问题: 数字签名、密钥分配。
公钥密码体制创立之初最引人热议的就是使用两个不同但相关的密钥,这种体制将加解 密功能分开实行。一把密钥称作公开密钥,它是公开的不用保密的,实现加密的功能;另一 把密钥称作私人密钥,它是指定用户专用的,不公开的,实现解密的功能。
在公钥密码体制里,每一个实体都有属于自己专有的公开密钥和与之相对应的私人密钥 组成的密钥对,公开密钥存在与一个公钥公开的机构目录系统中(例 PKI),任意实体都能从 这样的系统中获得接收方的公开密钥,并且使用这个公开密钥加密、发送信息,并且有且只 有拥有此公开密钥与之对应的私人密钥的人才能解密此信息,完成阅读。
图 1。1 为公钥密码体制的加密和解密流程图:
发送端AB的公钥PKB B的私钥SKB接收端B
图 1。1 公钥密码体制
1。3 研究现状
1。4 本文的工作
为了更好的理解掌握现有流行的加密算法,加强网络安全防范意识,本文研究了两种常 见的公钥加密算法——RSA 与 ECC 算法,分析了两种加密算法的数学背景与实现原理,根据 其原理将每个算法分为三个主要的功能模块,包括密钥生成,加密过程和解密过程。在 Visual C++ 6。0 环境下,编程实现公钥与私钥的生成,以及两种方式的加密与解密:对字符串加解密 和对文件加解密。最后通过测试对比分析 RSA 和 ECC 的安全性与性能。论文网
第 4 页 本科毕业设计说明书
2 非对称加密系统基础
2。1 RSA 算法数学基础
RSA 加密算法的安全性建立于“求解任意两个大质数的积十分简单,但要将一个大的数 分解成为两个质数的积就非常困难”这样一个数学难题上。在 RSA 加密算法中应用了一些数 论的基本知识,这是此算法的根本,所以在描述 RSA 加密算法前,需要先介绍、掌握一些数 论知识。
2。1。1 最大公约数
如果 p 是 m 的因子同时也是 n 的因子且 p 是 m、n 的最大因子,则称 p 是 m、n 的最大 公约数,可表示为p = gcd(m, n)。