• 主页
  • 相册
  • 随笔
  • 目录
  • 存档
Total 244
Search AboutMe

  • 主页
  • 相册
  • 随笔
  • 目录
  • 存档

密码学备忘录-消息验证码MAC

2022-01-19

1. 定义

用途

  • 实现authentication

2. 实现方式

  • 哈希
    • 其中一种实现方法称为HMAC
  • 分组密码
  • appended to message as a digest
  • 接收者进行相同计算,比较MAC前后是否一致

2.1. approach

  • 不可逆
  • 均匀分布
  • 均匀依赖每一bit消息

2.2. requirement

2.3. 区别

MAC与加密算法的区别

  • MAC算法不要求可逆,但加密算法则必须是可逆的;
  • MAC算法的输出MAC码是定长的,而加密算法输出的密文长度与明文长度有关。
  • MAC函数的设计比加密函数更为灵活

3. 基于hash函数

  • 散列函数的软件实现快于分组密码的软件实现
  • 散列函数的库代码来源广泛
  • 散列函数不使用密钥,因此不能直接用于MAC

3.1. HMAC

HMAC是基于散列函数的消息认证算法,在IPSec和其他网络协议(如SSL)中得以应用。

  • precomputation预运算

3.1.1. 安全性

依赖于底层的(underlying)哈希函数的安全性

  • 暴力破解
  • 生日攻击

3.1.2. 用途

HMAC用于身份认证

  • 先由客户端向服务器发出一个验证请求。
    服务器接到此请求后生成一个随机数并通过网络传输给客户端(挑战–Challenge)。
  • 客户端将收到的随机数提供给U盾,U盾使用该随机数与存储在U盾中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(响应–Response)。
  • 服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法
    用户。

4. 基于分组密码

4.1. DES-CBC

  • Data Authentication Algorithm (DAA)
  • but final MAC is now too small (64 bits) for security

4.1.1. CBC-MAC

  • 考虑CBC和CFB工作模式的特点:
    • 一个明文分组的改变,在加密时会引起相应的密文分组及其后的所有密文分组的改变。
  • 因此,可以利用分组密码的CBC和CFB工作模式来构造消息认证码。
  • 也有AES实现
- IV:0

4.1.2. CFB-MAC

基于DES的消息认证码:CFB-MAC

4.2. OMAC

  • One-Key MAC
  • 单钥MAC(OMAC)是一个由块状密码构建的消息认证码,很像CBC-MAC算法
  • CMAC是OMAC1

4.2.1. CMAC

  • daa改进
  • 3des和aes都能用
  • MSBs(X)是取位串X最左边的s位
  • L = E(K , $0^n$)
  • K1 = L • x
  • K2 = L • $x^2$ = (L • x) • x
  • 乘法(•)在域GF($2^n$)内进行

4.3. CCM

  • counter with CBC-MAC

4.4. GCM

运用了两个函数
Galois/Counter Mode (GCM)

  • GHASH – a keyed hash function
  • GCTR – CTR mode with incremented counter

4.5. CCM vs GCM

  • CCM: Message authentication (via CBC-MAC) is done on the plaintext not the ciphertext. (This is generally not a desireable feature.)
  • GCM: Message authentication (via GMAC/GHASH) is done on the ciphertext.
  • 对于大多数需要验证加密的应用来说,GCM应该被认为比CCM更有优势。由于发生了认证,GCM不容易受到比特翻转和其他攻击的影响,而这些攻击可以针对计数器模式或其他流模式

5. MAC vs HASH VS Digital signature

1
2
3
4
5
6
7
8
9
Cryptographic primitive | Hash |    MAC    | Digital
Security Goal | | | signature
------------------------+------+-----------+-------------
Integrity | Yes | Yes | Yes
Authentication | No | Yes | Yes
Non-repudiation | No | No | Yes
------------------------+------+-----------+-------------
Kind of keys | none | symmetric | asymmetric
| | keys | keys
  • Note
  • Security
  • Cryptography
密码学备忘录-工作模式
密码学备忘录-前置知识
  1. 1. 1. 定义
  2. 2. 2. 实现方式
    1. 2.1. 2.1. approach
    2. 2.2. 2.2. requirement
    3. 2.3. 2.3. 区别
  3. 3. 3. 基于hash函数
    1. 3.1. 3.1. HMAC
      1. 3.1.1. 3.1.1. 安全性
      2. 3.1.2. 3.1.2. 用途
  4. 4. 4. 基于分组密码
    1. 4.1. 4.1. DES-CBC
      1. 4.1.1. 4.1.1. CBC-MAC
      2. 4.1.2. 4.1.2. CFB-MAC
    2. 4.2. 4.2. OMAC
      1. 4.2.1. 4.2.1. CMAC
    3. 4.3. 4.3. CCM
    4. 4.4. 4.4. GCM
    5. 4.5. 4.5. CCM vs GCM
  5. 5. 5. MAC vs HASH VS Digital signature
© 2024 何决云 载入天数...