首页 > 其他分享 >Applied Cryptography(6)——利用密码学解决问题(Using Cryptography to Solve Problems)

Applied Cryptography(6)——利用密码学解决问题(Using Cryptography to Solve Problems)

时间:2022-11-24 10:46:16浏览次数:42  
标签:Applied Cryptography RSA 签名 signature message 密码学 equiv

利用密码学解决问题

不同于之前学习的利用密码学解决传统的安全通信与身份验证等问题,本单元将学习密码学的其他方面应用,包括:

  • Anonymous Communication,利用非对称加密链使得网络中的两个用户进行匿名通信。
  • Voting,同样会用到非对称加密链实现匿名投票,但我们还会加一些特性以确保投票统计的正确性。
  • Digital Cash,实现数字现金,主要包括两种方式:
    • centralized(中心化):盲签名(blind signature)

      盲签名在密码学中是指,由大卫·乔姆提出的盲签名是一种数字签名方式,其中消息的内容在签名之前对签名者是不可见的(盲化)。得到的盲签名可以对原始的、非盲消息以常规数字签名的方式公开验证。盲签名可以有效地保护隐私,其中签名者和消息作者是不同,例子包括电子选举和数字现金。
      盲签名的一个经常被用的类比是选民将填妥的匿名选票装入一种带复写纸内衬的信封,信封的外面预先印上了选民的证件。官员首先验证证件然后在信封上签字,签字通过复写纸转移到选票上。一旦选票被签名,信封归还给选民,选民将选票放到一个没有标记的新的普通信封里。因此,签名者没有看过消息内容,但是一个第三方组织能通过基础的签名方案来检查签名是有效的。

    • decentralized(去中心化):比特币(Bitcoin)

      比特币(英语:Bitcoin,缩写:BTC 或 XBT)是一种基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的加密货币,比特币由中本聪(网名)(Satoshi Nakamoto)于2008年10月31日发表论文,2009年1月3日,创世区块诞生。在某些国家、央行、政府机关、学术界则将比特币视为虚拟商品,而不认为是货币。货币金融学认为货币具有交易介质、记账单位、价值储藏三种基本职能,但由于其高度波动性因此不具有后两种基本职能从而不是货币。

洋葱路由(Onion Routing)

洋葱路由(Onion routing)为一种在电脑网络上匿名沟通的技术。在洋葱路由的网络中,消息一层一层的加密包装成像洋葱一样的数据包,并经由一系列被称作洋葱路由器的网络节点发送,每经过一个洋葱路由器会将数据包的最外层解密,直至目的地时将最后一层解密,目的地因而能获得原始消息。而因为透过这一系列的加密包装,每一个网络节点(包含目的地)都只能知道上一个节点的位置,但无法知道整个发送路径以及原发送者的地址

img

Mix Networks

Mix networks是一种路由协议,它通过使用称为 mix 的代理服务器链来创建难以追踪的通信,这些代理服务器从多个发件人接收消息,将它们打乱,然后以随机顺序将它们发送回下一个目的地(可能是另一个 mix 节点)。 这打破了请求源和目的地之间的联系,使窃听者难以追踪端到端通信。 此外,mix 节点只知道它立即从哪个节点接收消息,以及将打乱顺序的消息发送到下一直接目的地,从而使该网络能够抵抗恶意 mix 节点。

img

基于RSA的盲签名(Blind RSA signatures)

One of the simplest blind signature schemes is based on RSA signing. A traditional RSA signature is computed by raising the message \(m\) to the secret exponent \(d\) modulo the public modulus \(N\). The blind version uses a random value \(r\), such that \(r\) is relatively prime to \(N\) (i.e. \(gcd(r, N) = 1\) ). \(r\) is raised to the public exponent \(e\) modulo \(N\) , and the resulting value \(r^{e} \bmod N\) is used as a blinding factor. The author of the message computes the product of the message and blinding factor, i.e.:

\[m'\equiv mr^{e}\ ({\mathrm {mod}}\ N) \]

and sends the resulting value \(m'\) to the signing authority. Because \(r\) is a random value and the mapping \(r\mapsto r^{e}{\bmod N}\) is a permutation it follows that \(r^{e}{\bmod N}\) is random too. This implies that \(m'\) does not leak any information about \(m\). The signing authority then calculates the blinded signature \(s'\) as:

\[s'\equiv (m')^{d}\ ({\mathrm {mod}}\ N). \]

\(s'\) is sent back to the author of the message, who can then remove the blinding factor to reveal \(s\), the valid RSA signature of \(m\):

\[s\equiv s'\cdot r^{{-1}}\ ({\mathrm {mod}}\ N) \]

This works because RSA keys satisfy the equation \(r^{{ed}}\equiv r{\pmod {N}}\) and thus

\[s\equiv s'\cdot r^{{-1}}\equiv (m')^{d}r^{{-1}}\equiv m^{d}r^{{ed}}r^{{-1}}\equiv m^{d}rr^{{-1}}\equiv m^{d}{\pmod {N}}, \]

hence \(s\) is indeed the signature of \(m\).

In practice, the property that signing one blinded message produces at most one valid signed messages is usually desired. This means one vote per signed ballot in elections, for example. This property does not hold for the simple scheme described above: the original message and the unblinded signature is valid, but so is the blinded message and the blind signature, and possibly other combinations given a clever attacker. A solution to this is to blind sign a cryptographic hash of the message, not the message itself.

标签:Applied,Cryptography,RSA,签名,signature,message,密码学,equiv
From: https://www.cnblogs.com/I-am-Sino/p/16921090.html

相关文章