您好, 访客   登录/注册

一种基于RSA算法的盲签名方案

来源:用户上传      作者:王方鑫

  摘要:数字签名技术越来越成为我们生活中不可或缺的一项重要技术,在数字签名技术的实际应用中,一些特殊的场合有着特殊的需求,这些需求诞生了不同类型的签名方案。盲签名是其中重要的一类,它主要适用于消息拥有者希望签名者不知道消息的内容而进行签名。该文介绍了一种基于RSA算法的盲签名方案的实现方法以及应用场景。
  关键词:盲签名;RSA算法;授权
  中图分类号:TP393        文献标识码:A        文章编号:1009-3044(2019)02-0271-02
  随着数字签名技术的不断发展,数字签名的需求也越来越多。当数据的拥有者不希望签名者知道所签数据的具体内容时,这也促使了盲签名的应运而生。比如在电子货币的交易中,卖家希望从银行领取一定数量的现金和商家进行交易,但是与此同时,卖家不希望知道银行知道自己的账户内有多少现金。普通的签名无法满足这种需求,盲签名就可以做到这点。盲意味着签名者不知道消息的具体内容,从而保证了消息拥有者的隐私。
  1 研究背景
  1982年,D.Chaum首次提出一种将具有特殊性质的数字签名技术,即盲签名。这种签名可以做到签名者不知道文件内部的内容的情况下进行签名,有效地保护了信息拥有者的隐私。此外,及时签名者之后看到了这个签名,签名者也无法知道什么时候为谁做了这个签名。从一定的意义上来说,签名者仿佛遮住了“眼睛”,因此被称之为盲签名。
  ·由于盲签名不仅满足了数字签名的需求,再加上盲化的特性,致使盲签名目前应用范围十分的广泛,这种签名技术广泛地应用在电子支付,电子选举,电子拍卖等诸多领域,起到非常巨大的作用。
  2 盲签名的性质
  和一般的数字签名相比,盲签名具有自己独特的性质。
  (1)签名者对自己所签的内容不可见性,即签名者不知道自己所签的内容是什么。就好像签名者是蒙住了双眼,无法知道消息的真实内容。
  (2)签名具有不可追踪性,也就是说即使签名者看到了这个签名,签名者也不能知道自己什么时候为谁签了这个名。换句话来讲,签名者不能将自己对某个盲化后的消息的签名和某个消息相连起来。
  3 盲签名的流程
  (1)用户先对消息进行盲化处理,使签名者无法识别该消息的内容。
  (2)用户将自己盲化后的消息发送给签名者。
  (3)签名者对盲化的消息进行签名。
  (4)签名者将盲消息和签名一起返回给用户。
  (5)用户收到签名者返回的盲化消息和签名后进行去盲处理,得到签名者对原消息的签名。
  图1给出了盲签名的实现流程。
  4 RSA盲签名技术的实现
  4.1 RSA盲签名的原理
  将用户记为A,将签名者记为B,B的公钥记为e,私钥记为d,以及一个公开的模数n,用户A希望B进行盲签名。
  (1)盲化:用戶A选取盲因子k,然后计算:
  [t=mke (mod n)]
  (2)签名算法:签名者B对t进行签名:
  [td=(mke)d (mod n)]
  (3)去盲处理:用户A对B的签名进行去盲处理:
  [s=td/k (mod n)=md (mod n)]
  4.2 RSA盲签名实现
  (1) 盲化处理
  (2)签名算法
  5 总结
  盲签名允许消息的拥有者现将消息盲化,然后在将消息进行签名,从而保证了消息的匿名性和不可知性,可以把盲签名想象为将待签名的文件放在一个密闭的信封里,信封里放了一张复写纸,签名者签名的时候不准打开信封,直接进行签名,签名者的签名透过复写纸签在文件上。
  盲签名的应用尤其广泛,在电子货币、电子投票、电子拍卖等诸多领域发挥了重要的作用,它的匿名性以及对隐私的保护使其成为一种非常优秀的签名算法。随着电子商务的飞速发展,盲签名具有良好的应用推广市场,值得进一步深入研究。
  参考文献:
  [1]史有辉,李伟生.盲签名研究综述[J].计算机工程与科学,2005(07):83-85+94.
  [2] 彭冰,杨宗凯,谭运猛.盲签名在电子现金中的应用[J].计算机工程与应用,2003(19):31-33.
  [3] 祁明,卓光辉.盲签名方案的分类及其应用[J].通信保密,1999(03):42-45.
  [4] 谷利泽,郑世慧,杨义先.现代密码学教程[M].北京邮电大学出版社,2009.
  [5] 赵泽茂,龚少麟.盲签名理论研究进展[J].河海大学常州分校学报,2004(04):1-5+26.
  [6] 孙淑玲.应用密码学[M].北京:清华大学出版社,2004.
  [7] 杨晓元.现代密码学[M].西安:西安电子科技大学出版社,2009.
  [8] 杨波.现代密码学(第二版)[M].北京:清华大学出版社,2007.
转载注明来源:https://www.xzbu.com/8/view-15270150.htm