1.什么是公钥密码体制?
公钥密码体制,也称为非对称密码学,基本思想是加密和解密时使用不同的钥匙,该思想主要是利用了单项陷门函数。
2.什么是单项陷门函数?
单项陷门函数有两个特性:一是单向性,二是存在陷门。单向性也称不可逆性,即对于一个函数y=f(x),若已知x要计算出y很容易,但是已知y要计算出x=f ^(-1) (y)则很困难。所谓陷门也被称为后门。对于单向函数,若存在一个z使得知道z则可以很容易地计算出x=f ^(-1) (y),而不知道z则无法计算出x=f ^(-1) (y),则称函数y=f(x)为单向陷门函数,而z称为陷门
3.公钥密码体制的作用?
第一:对消息进行保密,发送者需要用接收者的公钥进行加密,接收者用自己的私钥进行解密,得到明文。
第二:认证,相当于签名技术。发送者用自己的私钥对消息进行数字签名,任何拿到该消息的人都可以确认改消息是否由私钥拥有者发出的。
4.常见的公钥密码体制有哪些?
答:常见的公钥密码体制有RSA、ElGamal、ECC
详细介绍
(1)大整数因子分解问题 的RSA公钥密码体制
历史:RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,当时他们一起在麻省理工学院工作。
原理:基于欧拉定理,大整数分解困难问题
过程:
1.找互不相同的两个质数:意选择两个大的质数p和q,p不等于q,计算n=p*q;
2.计算欧拉值:φ(n) = φ§φ(q) = (p-1)(q-1);
3.选择一个e,使得1<e < φ(n)并且e与φ(N)互质;
4.计算d:算出e 的一个相对于φ ( n ) 的模反元素d ,即ed = 1(modφ(n) )模反元素存在,当且仅当e与r互质;
5.(e,n)为公钥,( d , n )为私钥,信息(明文)m 长度小于 n
举例分析
可能遇到的问题
1.什么是质数?
质数是指除了平凡约数1和自身之外,没有其他约数的大于1的正整数
互质数: 如果两个整数 a 和 b 只有公因数 1,即 gcd(a, b) = 1,则我们就称这两个数是互质数(coprime)。比如 4 和 9 是互质数,但是 15 和 25 不是互质数
2.何为欧拉函数?
对正整数 n,欧拉函数 φ(n) 是指小于或等于 n 的正整数中与 n 互质的数的数目。比如 φ(1)=1,φ(8) = 4(因为 1,3,5,7 都与 8 互质)
质数分解方法:
(2)基于有限域乘法群上的离散对数问题的ElGamal公钥密码体制
在ElGamal中,每个用户生成一对密钥:公钥和私钥。公钥用于加密消息,而私钥用于解密消息。在1985年,由塔希尔·盖莫尔提出,既可用于加密,也可用与签名
ElGamal加密过程如下:
密钥生成:用户生成由私钥(随机数)和公钥(使用数学公式从私钥派生)组成的密钥对。
加密:发送方使用接收方的公钥加密消息。
解密:接收方使用他们的私钥解密消息。
具体步骤:
1.密钥生成:
私钥:x ∈ [1, p-2]
公钥:y = g^x (mod p)
2.加密:
随机数:k ∈ [1, p-2]
密文:c1 = g^k (mod p),c2 = m * y^k (mod p)
3.解密:
明文:m = c2 * c1^(-x) (mod p) = c2 * (gk)(-x) (mod p) = c2 * (g(-x))k (mod p) = c2 * y^k’ (mod p),其中,k’ = k^-1 (mod p-1)
ElGamal加密
ElGamal解密
举例子
ElGamal签名
(3)基于椭圆曲线上离散对数问题的椭圆曲线公钥密码体制
最早由Miller 和 Koblitz 于1985年分别独立地提出,它是利用优先于上椭圆曲线的有限点群代替基于Lisa对数问题密码体制中的有限循环群所得到的一类密码体制,对于椭圆曲线密码系统(ECC)的安全性,其数学基础是计算椭圆曲线离散对数问题(ECDLP)的难解性,一般来说,ECC没有亚指数共计,所以它的密钥长度大大地减少,256bit的ECC密码体制成为目前已知公钥密码体制中每位提供加密强度最高的一种体制。
椭圆曲线的加法:
未完,待续…