参考文献
简介
安全参数(Security Parameter)是理论密码学家们提出的概念。安全参数可以分为不同类型,包括对称加密算法中的密钥长度、哈希函数中的输出长度、公钥加密算法中的素数长度以及签名算法中的密钥长度等。这些参数的长度越长,破解算法所需的计算资源就越大,从而使加密算法更加安全。
在对称加密算法中,密钥长度是影响安全性的一个重要因素。通常,对称加密算法中使用的密钥长度为128位、192位或256位,其中256位密钥长度的安全性最高,但也需要更多的计算资源。此外,对称加密算法中的其他安全参数,如初始化向量和消息认证码等也扮演着重要的角色。
在公钥加密算法中,素数的长度是影响安全性的一个重要因素。通常,RSA算法中使用的素数长度为1024位或2048位,而椭圆曲线密码学中使用的点数长度也可能达到几百位。通过增加密钥长度,可以有效地提高公钥加密算法的安全性。
在哈希函数中,输出长度也是影响安全性的一个重要因素。输出长度越长,破解哈希函数所需的计算资源就越大。例如,SHA-256算法的输出长度为256位,而SHA-512算法的输出长度为512位,SHA-512算法比SHA-256算法更安全。
安全参数分类
- 计算安全参数(computational,通常使用符号 κ \kappa κ表示):决定了加密机制中的定义的计算的数值空间(input size)大小,通常是用bit位数表示,关联计算复杂度。可细分为分为对称安全参数,非对称安全参数。
- 统计安全参数(statistical,通常使用符号 λ \lambda λ表示):通常是在攻击方unbounded computation power,即 n ∈ { 0 , . . . , 2 k − 1 } n∈\{0,..., 2^k-1\} n∈{0,...,2k−1}算力无限的情况下,攻击方以一定概率破解加密机制。
安全参数的具体说明
参考如下两篇文章:
安全参数的选择
安全参数的选择参考《NIST Guideline Key Management Part1 》部分。
比如:
Security Strength | Symmetric Key Algorithms | FFC (DSA, DH, MQV) | IFC* (RSA) | ECC* (ECDSA, EdDSA, DH, MQV) |
---|---|---|---|---|
≤ 80 ≤80 ≤80 | 2 T D E A 2TDEA 2TDEA |
L
=
1024
L=1024
L=1024 N = 160 N=160 N=160 | κ = 1024 \kappa=1024 κ=1024 | f = 160 − 223 f=160-223 f=160−223 |
112 112 112 | 3 T D E A 68 {3TDEA}^{68} 3TDEA68 |
L
=
1024
L=1024
L=1024 N = 160 N=160 N=160 | κ = 1024 \kappa=1024 κ=1024 | f = 160 − 223 f=160-223 f=160−223 |
128 128 128 | A E S − 128 AES-128 AES−128 |
L
=
3072
L=3072
L=3072 N = 256 N=256 N=256 | κ = 3072 \kappa=3072 κ=3072 | f = 256 − 383 f=256-383 f=256−383 |
192 192 192 | A E S − 192 AES-192 AES−192 |
L
=
7680
L=7680
L=7680 N = 384 N=384 N=384 | κ = 7680 \kappa=7680 κ=7680 | f = 384 − 511 f=384-511 f=384−511 |
256 256 256 | A E S − 256 AES-256 AES−256 |
L
=
15360
L=15360
L=15360 N = 512 N=512 N=512 | κ = 15360 \kappa=15360 κ=15360 | f = 512 + f=512+ f=512+ |
其中:
- FFC:Finite Field Cryptography
- IFC:Integer Factorization cryptography
- ECC:Elliptic Curve Cryptography