网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

肖米安的盲目性

更新时间:2026年03月27日   作者:spoto   标签(Tag):
肖米安的盲目之眼这是一种进行交易的技术,它可以确保交易的双方、交易的时间以及交易的内容都不会被那些负责批准该交易的中央机构所知晓。这种技术是由一位名叫Chaum的美国密码学家发明的。大卫·李·查姆他在题为《用于不可追踪支付的盲签名技术》的论文中发表了这项技术。 以 Adrian 和 Becky 之间通过银行进行的货币交易为例。在正常情况下,这笔交易并非匿名状态,因为银行会掌握 Adrian 和 Becky 之间所有交易的详细信息。而通过使用 Chaum 提出的盲签名技术,就可以让这笔交易对银行来说变得匿名。 Chaum 提出的盲签名加密系统具有三个主要功能:
  • 所谓的“签名函数 S”,只有交易中的签署者才知晓其具体含义。在这种情况下,签署者就是银行。而与之对应的“逆函数 S”则是公开可获得的。
  • commuting函数‘C’及其逆函数‘C’,这两个函数的具体性质只有提供者知道,在这个例子中,就是Adrian。 commuting函数‘C’及其逆函数‘C’的构造方式如下:C`(S(C(x))) -> S(x)。
  • 一种冗余检查谓词,其名称为“r”。
假设Adrian身上有一张编号为“x”的证书,这张证书上包含了一个序列号,以及需要从他的账户中扣除的金额。 为了有效地转移这笔资金,他需要银行签署相关证书,这样就能确保该证书的合法性。 然后,他可以将那份证书交给商人,也就是贝基。 贝基可以使用这张证书来将这笔钱转入她的账户中。 银行可以通过比较证书中的序列号来识别出参与交易的各个实体。为了提供匿名性,Adrian必须使用函数C对证书进行加密处理,然后再将其发送给银行。
C(x)  ->  Cipher text 
因此,银行收到了来自Adrian的加密文本,但这些文本对银行来说毫无意义。Adrian希望银行能够签署这些加密文本。为了实现这一不合理的要求,Adrian与银行建立了一种“盲信任”关系。[关于“盲信任”的详细解释请参见文章末尾部分。]于是,银行使用“S”这个签名功能来签署那些加密后的证书。
S(C(x)) 
经过签名和加密处理的证书会被发送回Adrian那里。Adrian利用“C”这个函数对证书进行逆运算,从而得到“没有经过Adrian加密处理的签名证书”。
C`(S(C(x)))  ->  S(x) 
阿德里安将这份已签名的证书发送给贝基。贝基可以使用逆签名函数“S”来验证这份签名是否有效。
S`(S(x))  ->  x 
贝基将证书发送给银行。在通过“S”这一逆向签名功能确认了证书的真实性之后,银行就会将相应的金额存入贝基的账户中。由于银行并不了解发送人的身份,因此他们无法知道是谁发送了这份证书。什么是“盲信”呢?让我们以上述情景为例来进行分析。 Adrian与银行之间将建立一种“盲信托”关系。具体来说,银行要求Adrian发送一定数量的加密证书,这些加密证书的形式与Adrian想要发送的证书类似。 假设 n 的值为 1000。 所有证书上的金额都是相同的,唯一的区别就是序列号的差异。 Adrian创建了1000份证书,其中包括已经创建好的那份证书。然后,他将所有这些证书都寄给了银行。 然后,银行会随机选择其中一份证书,并要求Adrian提供该证书的密钥,以便解密这份证书的内容。当然,除了被银行选中的那份证书之外,其他证书仍然需要按照原来的方式进行处理。 阿德里安将那些编号为999的钥匙发送给了银行。 它会逐一检查这999份证书,确保它们所包含的金额都是相同的。 如果所有这些证书所包含的金额都是相同的,那么银行就会盲目地相信剩下的那个证书也包含相同数量的资金。因此,即使不知道那个证书的序列号,银行仍然会为该加密证书签署签名。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料