密码学基础

对称密码(Symmetric Encryption)
  • 分组密码:AES、DES/3DES
    模式:
    • ECB模式(Electronic CodeBook mode),电子密码本模式
    • CBC模式(Cipher Block Chaining mode),密码分组链接模式
    • CFB模式(Cipher FeedBack mode),密文反馈模式
    • OFB模式(Output FeedBack mode),输出反馈模式
    • CTR模式(CounteR mode),计数器模式
  • 流密码:RC4、ChaCha20
非对称密码(Asymmetric Encryption),又称公钥密码
  • 公钥加密,私钥解密
  • 公钥公开,私钥自己持有,且不能泄露
  • RSA、ECC
消息认证码(Message Authentication Code,MAC)
  1. 发送者Alice与接收者Bob事先共享密钥
  2. 发送者Alice根据请求消息计算MAC值(使用共享密钥)
  3. 发送者Alice将请求消息和MAC值两者发送给接收者Bob
  4. 接收者Bob根据接收到的请求消息计算MAC值(使用共享密钥)
  5. 接收者Bob将自己计算的MAC值与从Alice处收到的MAC值进行对比。如果一致,则证明此消息来自Alice,否则此消息不是来自Alice
单向散列函数
  • MD5、SHA1
数字签名
  • 算法:RSA,ElGamal,DSA,ECDSA,Rabin

  • 签名:私钥加密

  • 签名验签:公钥解密

  • 认证机构(Certification Authority,CA)

  • 注册机构(Registration Authority,RA)

  • 公钥基础设施(Public Key Infrastructure, PKI)

直接对消息签名

  1. Alice用自己的私钥对消息进行加密
  2. Alice将消息和签名发送给Bob
  3. Bob用Alice的公钥对收到的签名进行解密
  4. Bob将签名解密后得到的消息与Alice直接发送的消息进行对比

对消息的散列值签名

  1. Alice用单向散列函数计算消息的散列值
  2. Alice用自己的私钥对散列值进行加密
  3. Alice将消息和签名发送给Bob
  4. Bob用Alice的公钥对收到的签名进行解密
  5. Bob将签名解密后得到的散列值与Alice直接发送的消息的散列值进行对比
证书
  • 签发证书:1. 根CA使用自己的私钥给自己的公钥签名包装成证书 2. 根CA用自己的私钥给二级CA的公钥签名包装成证书 3. 二级CA用自己的私钥给终端的公钥签名包装成证书

  • 证书验签:1. 从根CA证书中获取公钥验签根CA证书 2. 从根CA证书中获取公钥验签二级CA证书 3. 从二级CA证书中获取公钥验签终端证书

  • 基于口令的密码(Password Based Encryption,PBE)

  • 初始化向量(Initialization Vector,IV)

  • 密钥分配中心(Key Distribution Center,KDC)

  • 椭圆曲线密码(Elliptic Curve Cryptography,ECC)

  • 密钥加密密钥(Key Encrypting Key,KEK)

  • 内容加密密钥(Contents Encrypting Key,CEK)

密钥配送方式

  • 非对称密码
  • DH密钥协商
  • 预共享密钥(PSK)
  • 硬件介质配送
  • 密钥分发中心(KDC)/证书授权中心(CA)
  • 量子密钥分发(QKD)

四种攻击方式

  • 唯密文攻击(Ciphertext-Only Attack, COA)
  • 已知明文攻击(Known-Plaintext Attack, KPA)
  • 选择明文攻击(Chosen-Plaintext Attack, CPA)
  • 选择密文攻击(Chosen-Ciphertext Attack, CCA)

密码系统五要素

  • 明文
  • 密文
  • 加密算法(公开)
  • 解密算法(公开)
  • 密钥(保密)

密码学工具箱6个工具

  • 对称密码
  • 非对称密码
  • 单向散列函数
  • 消息认证码
  • 数字签名
  • 伪随机数生成器

密码安全四大属性

  • 机密性:确保信息仅被授权主体访问,未授权者无法获取或解读。对称密码和非对称密码实现
  • 完整性:确保信息在存储、传输、使用过程中未被未授权篡改、伪造或破坏,保持原始状态。单向散列函数、消息认证码和数字签名实现
  • 认证:验证实体(人、设备、系统)或信息来源的真实性,确认对方是其所声称的身份。消息认证码和数字签名实现
  • 不可否认性:确保操作主体(人、系统)无法事后否认其已执行的操作(如发送消息、签署文件、发起交易)。数字签名实现

基于口令的密码(Password Based Encryption,PBE)

加密

  • 使用盐和口令生成KEK
  • 生成会话密钥并加密数据
  • 使用KEK加密会话密钥
  • 存储盐、加密会话密钥和加密数据

解密

  • 使用盐和口令重建KEK
  • 使用KEK解密会话密钥
  • 使用会话密钥解密数据
对比项 对称密码 非对称密码
发送者 用共享密钥加密 用公钥加密
接收者 用共享密钥加密 用私钥解密
密钥配送问题 存在 不存在,但公钥需要另外认证
机密性 保证 保证
对比项 消息认证码 数字签名
发送者 用共享密钥计算MAC值 用私钥生成签名
接收者 用共享密钥计算MAC值 用公钥验证签名
密钥配送问题 存在 不存在,但公钥需要另外认证
完整性 保证 保证
认证 保证(仅限通信对象双方) 保证(可适用于任何第三方)
不可否认 不保证 保证
相关推荐
二宝哥1 天前
MySQL 修改密码策略详解:从基础到高级配置
mysql·密码学
Sagittarius_A*6 天前
现代密码学的数学地基:从模运算到离散对数
网络·算法·密码学
AI科技星10 天前
基于全域数学公理体系求解三元约束极值题【乖乖数学】
人工智能·算法·机器学习·密码学·拓扑学·乖乖数学·全域数学
云水一下12 天前
DVWA从入门到精通(十八):Cryptography(密码学问题)
web安全·密码学·dvwa
MartinYeung512 天前
W3C Agent Identity 最新标准:从密码学视角的深度解析
密码学
风行南方12 天前
弄懂有限域,AES加密核心GF(2⁸)数学原理详解
密码学
想你依然心痛16 天前
量子计算对嵌入式密码学的挑战与后量子算法准备
算法·密码学·量子计算
AI科技星17 天前
超复数全域经济周期场与信息谱场——金融与密码学底层理论重构《0·1·∞三元一体全域超复数统一场论》系列全集(六一字不漏完整合订终版)
人工智能·算法·金融·密码学·拓扑学·乖乖数学·全域数学
被克制了18 天前
安全协议设计与分析(2)
网络安全·密码学·安全协议
风行南方18 天前
密码学之分组密码
网络·密码学