非对称加密(公开秘钥加密
)
公开秘钥加密(Public key cryptography),也称为非对称加密,是密码学的一种算法。
-
非对称加密发展史
1.1976年,惠特菲尔德·迪菲(Whitfield Diffie)与马丁·赫尔曼(Martlin Hellman)两位学者提出了密码交换算法,也就是DH算法。
2.1978年,斯坦福的三维教授Rivest、Shmir和Adleman发表了RSA(三位发明者姓氏首字母缩写)算法,这是最著名的公开秘钥加密算法。
3.常见的公钥加密算法有:DH秘钥交换协议中的公钥加密算法、RSA算法、随缘曲线加密算法(ECC)、ElGamal。使用最广泛的是RSA算法,ElGamal是另一种常用的非对称加密算法。 非对称加密,就是加密和解密需要2把钥匙:一把
公钥
和一把私钥
。由于加密和解密需要2个不同的密钥,故被称为非对称加密。公钥和私钥2个钥匙中,如果一个用作加密,则另一个就用作解密。使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。
虽然2个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一个。因此其中换一个可以公开,称为公钥,任意向外发布;不公开的秘钥为私钥,必须由用户自行严格秘密保管,决不能通过任何途径向任何人提供。
他人使用你的公钥加密信息,然后发送给你,你使用私钥解密,
取出信息
-
反过来,你用私钥加密信息,别人用你的公钥解开,从而证明这个信息确实是你发出的,且未被篡改,这叫就做
数字签名
对称加密
对称加密算法(data encryption algorithm, EDA),也叫做私钥加密算法。
是加密和解密使用相同秘钥的加密算法。也叫做单秘钥算法,传统秘钥算法。
比特币
比特币保证支付可靠性的原理就是非对称加密
- 别人用你的公钥加密一笔钱发送给你,你用该公钥对应的私钥解密后就能收到钱。而别人没有私钥就没办法收到钱。
- 你用私钥做了一个数字签名,别人用你的公钥能验证该签名是否属于你。
- 由于支付的钱必须通过私钥才能使用,所以你是谁并不重要,重要的是谁拥有私钥。只有拥有了私钥,才能去除支付给你的钱