公钥加密的概念
公钥加密,也叫非对称(密钥)加密(public key encryption),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是商业密码的核心。在公钥加密体制中,没有公开的是私钥,公开的是公钥。
公钥加密和对称加密的区别
RSA 加密算法
加密过程
计算n的欧拉函数
- 欧拉函数是⼩于n的正整数中与n互质的数的数⽬。
- 互质是公约数只有1的两个整数,叫做互质整数。
- 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
- 如果n可以分解成2个互质的整数之积,那么n的欧拉函数等于这两个因子的欧拉函数之积。
- 即若n=pq,且p,q互质, 则φ(n)=φ(pq)=φ§*φ(q)。
计算模反元素d
- 如果两个正整数e和cp(n)互质,那么一定可以找到一个整数d,使得ed-1被p(n)整除,或者说ed除以p(n)所得余数为1。此时,d就叫做e的模反元素。
- 加密 M^e mod n = C
- 解密 C^d mod n = M
Diffle-Hellman 密钥交换算法
- DH算法属于公钥加密算法。
- 公钥加密算法⽆需对密钥的分发进⾏管理,⽅便了密钥管理。
- 加解密数据时使⽤对称密码算法,密钥管理使⽤公钥密码技术。
背景知识离散对数
假设a, p均为素数,则有以下等式:
{a1 mod p, a2 mod p,…, a(P-1 mod p} ={1,2,.….,p-1}//表示集合
对于任意一个数x,若0<x<p,则必定存在唯一的y(O<y<p),使得x=ay mod p,当p很大时,很难求出y。
((ax mod p)y)mod p = axy mod p