凯撒密码容易被破解,后来人们发明了公钥和私钥,因为私钥必定是要发送方和接收方两方私有的,担忧在网络传输中被破解,进而又出现了Public-key cryptography(公钥加密系统)。这套系统最先由Diffie和Hellman在1976年提出。最基本的概念是这样:公钥加密系统会有两个密钥,一个是公开的,另外一个是私有的。公钥用来加密,私钥用来解密。公钥体系的密钥是非对称的。web
公钥系统的设计来源于大数字的因式分解的困难。主要原理以下:先挑选两个比较大的素数a与b,而后将其相乘,获得一个结果c。此时c即是公钥,a、b即是私钥。当咱们已知c的时候,因为c的数字很大,很难求出它的因子。但若是咱们已知c以及一个因子b,咱们就很容易求出另外一个因子a。安全
对于分解大素数之积,若是已知一个因子,那么知道另外一个因子会至关容易。可是若是只想经过积来得出两个因子,那会至关困难。这就是公钥加密安全性能的理论:公司保存私钥,用来解密。用网络传递公钥给用户,用户用公钥加密,用户不须要解密,因此不须要了解私钥。服务器
TLS(Transport Layer Security,传输层安全协议)也被称做SSL(Secure Sockets Layer,安全套接层协议),由Netscape研发,能够被看做传输层和应用层之间额外协议层,基于公钥加密系统,为网络信息安全服务。网络
TLS的功能:ide
链接具备保密性性能
链接具备完整性网站
过去的通讯记录不会被可能在将来被泄露的密钥所解密加密
支持多种方法来处理分享密钥、加密数据和消息完整性检查,所以能够根据须要来配置不一样的安全参数spa
数据是否被加密对IP和TCP等底层协议来讲是未知且无影响的设计
CA(Certificate Authority,证书受权机构)是可以证实公钥所属和全部人身份并生成证书的组织或机构,其中既有有国际性组织和政府设立的组织,也有经过提供认证服务来盈利的组织,如Verisign。
举个例子:网站服务器提供公钥给Verisign,Verisign用本身的私钥给网站的公钥加密(二者非配对),生成数字签名。最后Verisign把公钥,数字签名,附加一些服务器信息整合在一块儿,生成证书发回网站,这样别的人就很难去伪造它。