加密功能:
在数学上,d(c(x))=x,让我们使用典型的爱丽丝与鲍伯假设来解释:
爱丽丝与鲍伯事先互不认识,也没有可靠安全的沟通渠道,但爱丽丝现在却要通过不安全的互联网向鲍伯发送信息;
爱丽丝撰写好原文,原文在未加密的状态下称之为明文x;
鲍伯使用密码学安全伪随机数生成器产生一对密钥,其中一个作为公钥为c,另一个作为私钥d;
鲍伯可以用任何方法发送公钥c给爱丽丝,即使伊夫在中间窃听到c,也没问题;
爱丽丝用公钥c把明文x进行加密,得到密文c(x);
爱丽丝可以用任何方法传输密文c(x)给鲍伯,即使伊夫在中间窃听到密文c(x)也没问题;
鲍伯收到密文,用私钥d对密文进行解密d(c(x)),得到爱丽丝撰写的明文x;
由于伊夫没有得到鲍伯的私钥d,所以无法得知明文x;
如果爱丽丝丢失了她自己撰写的原文x,在没有得到鲍伯的私钥d的情况下,她的处境将等同伊夫,即无法通过鲍伯的公钥c和密文c(x)重新得到原文x;
数字签名:
如果某一用户使用他的私钥加密明文,任何人都可以用该用户的公钥解密密文;
由于私钥只由该用户自己持有,故可以肯定该文件必定出自于该用户;
公众可以验证该用户发布的数据或文件是否完整、中途有否曾被篡改,接收者可信赖这条信息确实来自于该用户,该用户亦无法抵赖,这被称作数字签名。
公钥可以通过数字证书认证机构签授的电子证书形式公布,接收者通过信任链形成一套完整的公开密钥基础建设。
例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。而在网络银行或购物网站,一般也会使用HTTPS,避免沟通过程中的信息泄露。
与对称加密的比较:
对称密钥加密牵涉到密钥管理的问题,尤其是密钥交换,它需要作者和读者在通信之前先通过另一个安全的渠道交换共用的密钥,才可以安全地把密文通过不安全的渠道发送;对称密钥一旦被窃,其所作的加密将即时失效;而在互联网,如果通信双方分隔异地而素未谋面,则对称加密事先所需要的“安全渠道”变得不可行;非对称加密则容许加密公钥随便散布,解密的私钥不发往任何用户,只在单方保管;如此,即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,极为适合在互联网上使用。
另一方面,公钥解密的特性可以形成数字签名,使数据和文件受到保护并可信赖;如果公钥通过数字证书认证机构签授成为电子证书,更可作为数字身份的认证,这都是对称密钥加密无法实现的。
不过,公钥加密在在计算上相当复杂,性能欠佳、远远不比对称加密;因此,在一般实际情况下,往往通过公钥加密来随机创建临时的对称秘钥,亦即对话键,然后才通过对称加密来传输大量、主体的数据。
网友评论