首页 > 代码库 > 加密技术基本原理

加密技术基本原理

第一、使用密钥的编码

给定一段报文,一个密码函数和一个数字编码,就可以生成一段经过编码的密文,通过解码函数,解码秘钥,就可以将密文解码为原始的明文

第二、对称密钥加密技术

如果加密和解密使用的密钥是相同的,就成为对称密钥,流行的对称密钥加密算法为:DES、Triple-DES,RC2和RC4

对于对称密钥技术,暴力破解的方法就是尝试几乎所有可能,所有密钥位数越多,破解难度越大,目前普遍认为128位的密钥是比较安全的

第三、非对称密钥加密技术

上面讲的对称密钥加密技术,需要双方都记住密钥,如果有n个节点通信,那么需要保存n*(n-1)/2种密钥,非对称密钥加密技术没有为每对主机使用相同的密钥,而是有一个公共的密钥来加密,解密密钥是私有的。

第四、RSA加密算法

非对称密钥加密算法面临的问题是,如果主机知道了公共密钥、拦截的报文、及一条报文和与之相关的密文,该主机可能会得到密钥。

RSA算法是MIT发明,并且商业化的一个成熟算法,它解决了上面的问题。

第五、数字签名

数字签名技术通常用在非对称加密技术中,用加密系统对报文进行签名,这就是数字签名,他是附加在报文上的特殊的加密校验码,这样做的好处是:

1、因为只有发送主机才有私有密钥,所以只有发送主机才可以加签名,做校验和

2、防止报文在传输过程中被修改,如果报文在传输过程中被修改了,那么在接收端可以通过校验和就不会匹配,所以防止了篡改

第六、数字证书

数字证书包含一组信息,这些信息都是有一个官方的“证书颁发机构”以数字形式签发的,数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名

通过HTTPS 建立一个连接后,浏览器就会自动获得连接服务器的数字证书,如果服务器没有证书,安全连接就会失效,服务器证书包含如下字段:

服务器的名称和主机名

web站点的公开密钥

证书颁发机构名称

来自证书颁发机构的签名