密码学–数字签名Digital Signature五种分类
- 基于数字签名用途的分类
- 基于数学难题的分类
- 基于密码体制的分类
- 基于数字签名安全性的分类
- 基于签名用户的个数分类
A. 基于数字签名用途的分类
分为常规数字签名和特殊数字签名方法
常规数字签名
建立在公共密钥体制基础上,是公共密钥加密技术的另一种应用,现在已经具有大量数字签名算法,例如
- RSA签名
- ElGamal 签名
- Fiat-Shamir 数字签名算法
- Guillou-Quisquarter 数字签名算法
- Schnorr 数字签名算法
- 美国的数字签名标准算法(DSS/DSA)
- 椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm)
- 有限自动机数字签名算法
特殊数字签名方法
1. 盲签名(Blind Signature)[1982]
建立在ElGamal 签名方案上签名方案
- 盲消息签名
- 盲参数签名
- 弱盲签名
- 强盲签名
2. 代理签名(Proxy signature)
- 一次性代理签名方案
- 代理多重签名
- 盲代理签名
3. 群签名(Group signature)[1991]
– 1991年由David Chaum和Eugene van Heyst提出,某个群组内一个成员可以代表群组进行匿名签名,签名可以验证来自于该群组,但是无法准确的追踪到签名的是哪个成员,群签名需要存在一个群管理员来添加新的群成员,因此存在群管理员可能追踪到签名成员身份的危险
4. 多签名(Multi-signture)[1983]
– 多签名机制允许多个签名人对消息进行签名且生成的签名比各个签名人独立签名生成的签名值集合更简短。多签名机制可用于区块链等对多方签名有需求且对签名长度敏感的应用。
5. 聚合签名(Aggregate Signature)
– 聚合签名可以将多个签名压缩为一个签名。聚合签名进一步可分为通用聚合签名如和顺序聚合签名如 等。
5. 环签名(Ring Signature)[2001]
– 由Rivest、Shamir和Tauman三位密码学家在2001年首次提出,
– 简化的群签名。 只有环成员,没有管理员,不需要环成员之前的合作
– 签名者首先选定了一个临时的签名者集合,集合中包括签名者本身。然后卡名这利用自己的私钥和签名集合中其他人的公钥就可以单独的产生签名,无需其他人的帮助。签名者集合中的其他成员可能并不知道自己被包含在其中
6. 广播签名(Broadcast Signature)
7. 不可否认签名(Undeniable Signature)
8. 故障停止式签名(Fail-stop Signature)等
B. 基于数学难题的分类
- 基于素因子分解问题 : RSA签名算法
- 基于有限域上的离散对数问题的签名方案 : ElGmal签名算法
- 基于椭圆曲线上离散对数我呢提的签名方案 : ECDSA签名算法
- 基于二次剩余问题的签名方案
- 基于格上困难问题的签名方案
C. 基于密码体制的分类
- 基于证书的数字签名方案(PKI)
- 基于身份的数字签名方案(Id-based)
- 基于属性的数字签名方案(Attribute-based)
- 基于无证书的数字签名方案(CLS)
- 基于多变量的数字签名方案()
D. 基于数字签名安全性的分类
- 无条件安全数字签名(Unconditionally Secure)
- 计算上安全的数字签名(Computational Security)
F. 基于签名用户的个数分类
- 单个用户参与签名的数字签名方案
- 多个用户参与签名的数字签名方案(又称为多重数字签名方案)