密码前置概念

image.png

发送者、接受者、窃听者

sender、receiver、eavesdropper
image.png
image.png
为了防止被窃听,所以引出了加密与解密

加密与解密

加密(encrypt)、明文(plaintext)、密文(ciphertext)
image.png
image.png
如果再被窃听,窃听者只能得到密文
image.png

密码保证了消息的机密性

密码(cryptography)、机密性(confidentiality)
上述场景中,A将邮件加密,B进行解密,这样做的目的是不让E读取邮件内容。
A与B用密码技术保证了邮件的机密性。

破译

image.png

对称密码与公钥密码

密码算法

算法:用于解决复杂问题的步骤,通常称为算法(algorithm)
从明文生成密文的步骤,称为加密算法,而解密的步骤称之为解密算法,加密和解密算法结合在一起称为密码算法

密钥

密码算法中需要密钥(key)
image.png
**
image.png

对称密码与公钥密码

对称密码(symnetruc cryptography)
是指的在加密和解密的时候使用同一密钥的方式
公钥密码(public-key crypto)
是指在加密和解密的时候时候不同的密钥的方式,因此公钥密码又称为非对称密码
image.png

混合密码体系

将对称密码与非对称密码结合起来的密码方式称为混合密码系统 hybrid crypto。这种密码结合了两者的优势。

其他密码技术

密码技术所提供的并不仅仅是基于密码的机密性,还有用于检验消息是否被篡改的完整性、以及用于确认对方是否是本人的认证。

单项散列函数

散列值(hash)又称hash、密码校验和(cryprographic checksum)、指纹(fingerprint)、消息摘要(message digest)

互联网提供许多免费的软件下载,有安全意识的软件发布者会在发布软件的同时发布该软件的散列值。散列值就是用单项散列函数(one-way hash function)计算出来的数值。
下载该软件的人可以自行计算该软件的hash,然后与软件发布者发布的hash进行对比。如果一致,则说明下载的文件是与发布者相同的。

单项散列函数是一种保证完整性的密码技术。完整性就是指的数据是正牌而不是伪造的。使用单项散列函数,就可以检测数据是否被篡改过。

消息认证码

为了确认消息是否来自所期望的通信对象,可以使用消息认证码技术(message authentication code)
使用消息认证码,不仅能确认消息是否被篡改,还能确认消息是否来自所期望的通信对象。也就是说消息认证码不仅能保证完整性,还能提供认证(authentication)机制

数字签名

数字签名是一种能够确保完整性、提供认证并防止否认的密码技术。
image.png

伪随机数生成器

image.png

信息安全所面临的威胁

image.png

隐写术与数字水印

隐藏消息的本身,就是隐写术
image.png
image.png

密码与信息安全常识

image.png