加密算
密钥是一种参数(它是在明文转换为密文或将密文转换为明文的算法中输入的数据),加密算法是明文转换成密文的变换函数,同样的密钥可以用不同的加密算法,得到的密文就不一样了。
举个很简单的例子,比如凯撒密码,就是将字母循环后移n位,这个n就是一个密钥,循环后移的方法叫做算法,虽然用的是相同的算法,但是对明文用不同的密钥加密的结果不一样。
比如Run用Key=1(密钥)的凯撒密码,变成Svo,用Key=2(密钥)加密就成了Twp,所以密钥和算法是明显不同的,再比如现在公钥密码体系大多用的RSA算法,但每个人的密钥不一样,密文才不同,一般来说,算法是公开的,而密钥是不公开的一个加密算法正好包含两个输入参数,一个是明文,一个是密钥。
(1)加密算扩展阅读:
1,秘密密钥算法:
使用极其复杂的加密算法,即使破译者能够对选择的任意数量的明文进行加密,也无法找出破译密文的方法。秘密密钥的一个弱点是解密密钥必须和加密密码相同,这就产生了如何安全地分发密钥的问题。
2,公开密钥算法:
满足三个条件:第一个条件是指将解密算法作用于密文后就可以获得明文;第二个条件是指不可能从密文导出解密算法;第三个条件是指破译者即使能加密任意数量的选择明文,也无法破译密码。如果满足以上条件,则可以公开加密算法。
‘贰’ 加密方式有几种
加密方式的种类:
1、MD5
一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。
2、对称加密
对称加密采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
3、非对称加密
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。
如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
(2)加密算扩展阅读
非对称加密工作过程
1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。
2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。
3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。
在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。
同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。