常用术语:
1.密码(cipher):
通常密码学中的密码指的是密码算法,是用于加密和解密的数学函数(一般情况下加密和解密有两种不同的密码算法)。有别于我们日常生活中所说的密码,我们说的密码是一种用于身份认证的口令(password)。
2.密钥(key):
密钥是在在密码算法运行需要输入的参数,分为对称密钥和非对称密钥。
相同明文相同加密算法的情况下,使用不同的密钥会得到不同的密文结果。
密钥越长越安全,但是密钥过长算法运行速度会很慢。
3.对称密钥:
对称密钥用于对称加密算法中。
在对称加密算法中,加密和解密过程使用的密钥是相同的。
对称加密算法的安全性取决于密钥的保密性。
4.非对称密钥:
用于非对称加密算法中,分为公钥和私钥。
公共密钥是公开的,而私有密钥必须保密。
公钥和私钥的其中一把用于加密时,则另一把就用于解密。
用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。
为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。
有时候也存在用私钥加密用公钥解密的情况,如数字签名。
常见加密算法:
通常把加密算法分为三类:对称加密算法(传统加密算法)、非对称加密算法(公钥加密算法)和哈希算法。
1.