王方鑫



摘要:數字簽名技術越來越成為我們生活中不可或缺的一項重要技術,在數字簽名技術的實際應用中,一些特殊的場合有著特殊的需求,這些需求誕生了不同類型的簽名方案。盲簽名是其中重要的一類,它主要適用于消息擁有者希望簽名者不知道消息的內容而進行簽名。該文介紹了一種基于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.