密码学基础

对称密码(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值 用公钥验证签名
密钥配送问题 存在 不存在,但公钥需要另外认证
完整性 保证 保证
认证 保证(仅限通信对象双方) 保证(可适用于任何第三方)
不可否认 不保证 保证
相关推荐
天若有情6731 天前
我发明的PROTO_V4协议:一个让数据“穿上迷彩服”的发明(整数传输协议)
网络·c++·后端·安全·密码学·密码·数据
云计算练习生2 天前
渗透测试行业术语扫盲(第十五篇)—— 密码学与身份安全类
网络安全·信息安全·密码学·渗透测试术语
liebe1*13 天前
第十一章 密码学
服务器·密码学·php
Neolnfra3 天前
陇剑杯2021-wifi题目解析
网络·安全·web安全·网络安全·系统安全·密码学·csrf
网安INF3 天前
AKA协议认证与密钥协商的核心原理
网络协议·安全·网络安全·密码学·aka
爱思德学术4 天前
中国计算机学会(CCF)推荐学术会议-C(网络与信息安全):ACNS 2026
网络安全·密码学
Chen--Xing4 天前
DASCTF 2025下半年|矩阵博弈,零度突围 Crypto -- Serration详解
密码学·ctf·buuctf·crypto·dasctf
Chen--Xing5 天前
2025鹏城杯 -- Crypto -- RandomAudit详解
python·密码学·ctf·鹏城杯
lkbhua莱克瓦247 天前
BTC-密码学原理
区块链·密码学·btc
新时代的弩力10 天前
哈希,对称加密,非对称加密
密码学