一、加密和解密&&发送者、接收者和窃听者
发送者:发出消息的人
接收者:接收消息的人
窃听者:恶意获取消息的第三方
加密:发送者将明文转换为密文
解密:接收者将密文还原为明文
破译:接收者以外的人试图将密文还原为明文
二、密码算法
用于解决复杂问题的步骤,称为算法(algorithm)。
1、从明文生成密文的步骤,也就是加密的步骤,称为“加密算法”,解密的步骤称为“解密算法”。加密、解密的算法合在一起统称为密码算法。
密钥:密码算法中需要密钥(key),密码算法大多是公开的,安全性则靠密钥来保障。
2、对称密码与公钥密码
根据密钥的使用方法,可以将密码分为对称密码和公钥密码两种。
对称密码(symmetric cryptography)是指在加密和解密时使用同一密钥的方式。
而公钥密码(public-key cryptography)则是指在加密和解密时使用不同密钥的方式。因此,公钥密码又称为非对称密码。
3、其他密码技术
密码技术所提供的并不仅仅是基于密码机密性,也可以用于检验消息是否被篡改的完整性、以及用于确认对方是否是本人的认证等都是密码技术的重要部分。
单向散列函数:单向散列函数用于保证完整性。完整性指的是“数据是正牌的,而不是伪造的”。使用单向散列函数,就可以检测出数据是否被篡改过。
消息认证码:为了确认消息是否来自所期望的通信对象,可以使用“消息认证码”技术。不但能确认消息是否被篡改,而且能够确认消息是否来自所期待的通信对象。也就是说,消息认证码不仅能够保证完整性,还能够提供认证机制。
数字签名:一种将现实世界中的签名和盖章移植到数字世界中的技术,防止伪装、篡改和否认等威胁的技术,就是数字签名。
伪随机数生成器:一种能够模拟产生随机数列的方法。随机数和密码技术有关,实际上随机数确实承担着密钥生成的重要职责。
4、密码与信息安全常识
(1)不要使用保密的密码算法
(2)使用低强度的密码比不进行任何加密更危险
(3)任何密码总有一天都会被破解
(4)密码只是信息安全的一部分