环境
图解密码技术 第三版
密钥中的一些概念
随机数
:不可预测的比特序列就称为随机数。
压缩原理
:找出输入数据中出现冗余的重复序列,并将它们替换成较短的数据。
初始化向量
:加密第一个明文分组时,由于不存在前一个密文分组
,因此需要事先准备一个长度为一个分组的比特序列来代替前一个密文分组
。(随机数
)
CBC(Cipher Block Chaining)
:明文分组 XOR 前一个密文分组 加密 最后变成 密文分组
CFB(Cipher FeedBack)
: 前一个密文分组
加密 变成 密钥流 XOR
明文分组
最后变成 密文分组
CFB
模式中由密码算法所生成的比特序列称为密钥流
。密码算法输出是密文分组
。
OFB(Output FeedBack)
:密码算法的输出 加密 得到密钥流 XOR 明文分组 最后得到 密文分组
和上面CFB
是类似的,区别在于,密码算法的输入是上一个密码算法的输出(密钥流
)。
CTR(CountTeR)
:其是一种通过将逐次累加的计数器进行加密来生成密钥流的流密码。过程:
计数器 – 加密 – XOR
明文分组
最后得到 密文分组
。
每次加密都会生成一个不同的值(nonce
)来作为计数器的初始值。
公钥密码
公钥密码
:公钥密码中密钥分为加密密钥和解密密钥。公钥和私钥是不能单独生成的。
公钥密码的别名:非对称密码
私钥的别名:个人密钥、私有密钥、非公开密钥
公钥密码
是基于数学上的困难的问题来保证机密性的。
对称密码
对称密码
也叫作共享密钥密码
。
对称密码
通过将明文转换为复杂的形式来保证其机密性。
会话密钥
当我们访问以
https://
开头的网页时, web服务器和浏览器之间会进行基于SSL\TLS
的加密通信。在这样的通信中所使用的密钥是仅限于本次通信的一次性密钥,下次通信就不能使用了。像这样每次通信只能使用一次的密钥称为会话密钥
。
会话密钥
是对称密码的密钥,同时也是公钥密码的明文。
混密码系统运用了伪随机生成器
、对称密码
和公钥密码
。
算法
:用于解决复杂问题的步骤,通常称之为算法
。
加密算法
:从明文生成密文的步骤,就是加密步骤,称为加密算法。
解密算法
:解密的步骤。
密码算法
:加密和解密的算法合在一起。
DES:
轮函数的作用:根据“右侧”和子密钥 生成 对 “左侧”进行加密的比特序列。
(对称加密中的密钥是在 轮函数
中使用的)。
AES可以简单的描述如下:
①明文 —> subByte(可以理解为:根据一张替换表简单替换密码) –
② shiftRows(平移行,类似于打乱顺序) –
③Mixcolums(即:对一个4个字节的值进行比特运算,变成另外一个4字节值。个人理解为:类似subByte步骤,只不过这次操作的是四个字节)。 —
④将Mixcolums
输出与轮密钥进行XOR(异或运算)
;这个步骤也叫AddRoundKey
。
认证中的一些概念
别名叫法
1、单向散列函数
:也称为(或者叫别名):
消息摘要函数
(message digest function
)
哈希函数
或者杂凑函数
。
2、输入单向散列函数的消息
也称为原像
。
3、单向散列函数输出的散列值
也称为:消息摘要
或者指纹
。
4、完整性
也称为一致性
。
无论对消息改写多少比特,都会造成散列值中大约一半的比特有很大概率产生变化。
密码学家工具箱
对称密码
公钥密码
单向散列函数
消息认证码
数字签名
伪随机数生成器
证书
认证机构用自己的私钥对用户的公钥进行加密得到的就是证书。