《图解密码技术》第十一章
- 内容加密密钥CEK:contents encrypting key;密钥加密密钥KEK:key encrypting key
- 口令:password或passphrase,更新密钥key updating
密钥
密钥是一个巨大的数字
密钥空间的大小取决于密钥的长度,密钥空间越大,暴力破解的难度就越大
- DES的密钥,长度实质上为56比特
- 三重DES的密钥,DES-EDE2长度实质上为112比特,DES-EDE3长度实质上为168比特,
- AES的密钥,长度实质上可以从128/192/256之中选择
密钥与明文是等价的
因为窃密者得到密钥,就能解密出明文
密码算法与密钥
信息的机密性不应该依赖于密码算法本身,而是依赖于妥善保管的密钥
各种不同的密钥
对称密码与公钥密码的密钥
对称密码,加密解密时的密钥相同;公钥密码,加密解密时的密钥不同,有深刻的数学关系
消息认证码与数字签名的密钥
消息验证码:发送者和接收者使用共享密钥
数字签名:持有私钥的本人能签名,验证签名是公钥
用于确保机密性与用于认证的密钥
用于确保机密性的密钥:对称密码与公钥密码的密钥,不知道合法密钥,无法得知明文内容
用于认证的密钥:消息认证码与数字签名的密钥,不知道合法密钥,无法篡改数据,无法伪装人的身份
会话密钥与主密钥
会话密钥:每次会话只能使用一次的密钥
主密钥:一直被重复使用的密钥
用于加密内容与用于加密密钥的密钥
内容加密密钥:CEK,会话密钥一般作为CEK
密钥加密密钥:KEK,主密钥一般作为KEK
密钥的管理
生成密钥
-
用随机数生成密钥
密码学用途的伪随机数生成器必须是专门针对密码学用途而设计的
-
用口令生成密钥
一般将口令输入 单向散列函数,得到的散列值作为口令
为了防止字典攻击,需要在口令上附加一串称为盐的随机数,然后将其输入单向散列函数
配送密钥
解决密钥配送问题:事先共享密钥,使用密钥分配中心,使用公钥密码,Diffie-Hellman密钥交换
更新密钥
密钥更新:一种提高通信机密性的技术