![](https://img.haomeiwen.com/i28785037/e5c09835eb6ee624.png)
1. 数字签名”(Digital Signature)
1.1. 单词数字化(digital)意味着其“由数字字符串组成”
1.2. 任何数字化的东西都能被拷贝
1.3. “签名”的全部意义在于能被读取,但不能被除了作者的任何人拷贝(也就是伪造)
1.4. 软件签名是数字签名最明显的应用
1.5. 一个数字签名同时依赖一个只有签名者知道的秘密和被签署的消息
1.6. 没有数字签名,我们所知的互联网就不会存在
2. 用挂锁签名
2.1. 上锁的箱子就是文件的签名
2.1.1. 加锁的箱子透明,这一机制的效果就会更好
2.1.2. 数字签名提供的是可靠性,而非隐秘性
2.2. 一个受信第三方
2.2.1. 参与者不是给银行一份签名,而是给银行一把能打开自己挂锁的实体钥匙
2.3. 如果弗朗索瓦丝需要证明拉维写了欠条,她只要和一些目击证人把锁箱带到银行,在银行用拉维的钥匙打开箱子即可。
2.4. 挂锁能打开就证明只有拉维能对箱中内容负责,而箱中正好是弗朗索瓦丝能试图验证的那份文件
3. 用乘法挂锁签名
3.1. 上锁或开锁动作将由钟算乘法(Multiplication in Clock Arithmetic)代表
3.2. 计算机使用的钟大小非常大——钟大小长度基本在数十或数百位数
3.3. 示例
3.3.1.
![](https://img.haomeiwen.com/i28785037/e287c14989c899be.jpg)
3.3.1.1. 钟大小为11的乘法表
3.3.2. 拉维选择11作为钟大小,选择6作为挂锁
3.3.3. 拉维的消息是“5”
3.3.4. “上锁”消息会是6×5,通过钟算得到结果为8
3.3.5. 最终结果“8”就是拉维给原始消息的数字签名
3.3.6. 欧几里得算法得到钥匙为2
3.3.7. 将8用钟算乘以钥匙2,就能得到结果5
3.3.8. 拉维可以公开宣布自己选择的钟大小和钥匙值
3.4. 数字挂锁是私有的,而数字钥匙和钟大小则是公开的
3.4.1. 挂锁值是私有的(或秘密的)
3.5. 乘法方法的缺陷
3.5.1. 用于从挂锁生成钥匙的同样把戏——基本上是指欧几里得算法——能非常完美地逆向运行:同样的技术能让计算机生成与已有钥匙值对应的挂锁值
3.5.2. 敌人无须依靠暴力破解就能逆转过程
3.5.2.1. 欧几里得算法也能根据钥匙值计算出挂锁值,而这一算法要比暴力破解高效得多。这也是乘法方法被认为不安全的原因
4. 用指数挂锁签名
4.1. 著名数字签名机制RSA
4.2. 示例
4.2.1.
![](https://img.haomeiwen.com/i28785037/adeac09c0c48a9e8.jpg)
网友评论