一、对称加密算法对称加密算法(英文:Symmetric-key algorithm)是指密码学中的一类加密算法,又称为:私钥加密、共享密钥加密。这类算法在加密和解密时使用相同的密钥(或者这2个密钥可以通过简单的规则相互推算)。 “对称加密算法”比“非对称加密算法”速度更快,但对称加密算法的主要缺点在于要求加密和解密的双方获取相同的密钥,这样只要密钥被泄漏,则密文将不再安全。 【常见的对称加密算法】
二、非对称加密算法“非对称加密算法”又称为“公开密钥加密”(英语:public-key cryptography)。也一种密码学算法类型,在这类加密算法中,需要一个“密钥对”,即“私钥”和“公钥”。这两个密钥是数学相关,用某个密钥对的“私钥”加密的信息,只能用该密钥对的“公钥”才能解密。同样,用“公钥”加密的信息,也只能用该密钥对的“私钥”才能解密。 “私钥”一般都是自己保留,不透露给他人;而“公钥”可以公开给他人。 “非对称加密算法”比“对称加密算法”安全性更高,不用担心加密密钥的泄漏,因为“公钥”是公开的,不存在泄漏。但“私钥”还是要保存妥当,不能泄露给他人,因为我们不需要在网络上传输“私钥”,所以“私钥”泄露的可能性会小很多。 但是“非对称加密算法”比“对称加密算法”的运算速度慢很多,一般在数据量比较少的时候采用“非对称加密算法”。 如上图,因为李四的“公钥”是公开的,所以张三要给李四发送信息,可以使用李四的“公钥”来加密信息。李四收到密文信息之后就可以使用自己的“私钥”来解密信息。因为其他人没有李四的“私钥”,所以就算密文信息被他人截获也无法解密。 【常见的非对象加密算法】 常见的非对称加密算法有:
【使用OpenSSL生成RSA公私钥对】 // 生成1024位的私钥openssl genrsa -out d:\rsa_private.pem 1024// 生成私钥对应的公钥openssl rsa -in d:\rsa_private.pem -pubout -out d:\ca_public.pem git客户端安装文件中的提供的ssh-keygen.exe工具也可以用来生产非对称加密的公私钥对,使用方法可以参考《使用ssh-keygen生成公私钥》. 三、散列函数 散列函数(英文:Hash Function)是将任意长度的的输入转化为定长输出的算法。编程中对散列函数使用非常普遍,如MD5,但并不是所有的散列函数都适用于密码学。密码学的散列函数必须同时具有如下几个额外的特性:
散列函数最常用的场合是以紧凑的方式来唯一表示大量数据,如“数字签名”中用到散列函数生成摘要信息等。 【常见的散列函数】
--------------------- 本文来自 china_jeffery 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/china_jeffery/article/details/79498466 |
|
来自: 昵称11935121 > 《未命名》