2010-《数字签名与认证技术》讲义-4-7 章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 短签名和基于身份的签名
( 2 学时)
【讲授内容】
1. 双线性对
2. 短签名
3. 基于身份的签名
4.1 双线性对(pairing )
为什么能够签名长度短?就是利用了双线性对的原因。(现在是一种趋势。)
假设21,G G 是两个群,阶数都是素数q 。1G 为加法群,2G 为乘法群。P 是1G 的任一生成元,aP 就是a 个P 相加。假设离散对数问题在21,G G 都是困难的。满足以下条件的映射211:G G G e →⨯叫做双线性映射(bilinear map )
(1) 双线性性:*∈∈=q
ab Z b a and G Q P all for Q P e bQ aP e ,,,),(),(1 (2) 非退化性:如果P 是1G 的生成元,则),(P P e 是2G 的生成元,也即1),(≠P P e
(3) 可计算性:容易计算1,),
,(G Q P all for Q P e ∈。
Bilinear map 也叫做Pairing 。椭圆曲线上或超椭圆曲线上的Weil 对和Tate 对可作为pairing 使用。(椭圆曲线上加群的离散对数问题,可构造数字签名。)
而基于椭圆曲线上的加法群的离散对数问题建立的方案,具有长度短,安全性高的优点。现在再结合双线性对的特性,可使方案具有长度短和证明简便的结合的优点。
计算DH (CDH )问题:给出一个随机生成元g 和随机元素G h h ∈21,,计算))(log (log 21h h g g g ,
也即如果y x g h g h ==21,,计算输出xy g 。如果这是困难的,就说CDH 假设在G 成立。
对应于加法群:
1G 上的DDH (Decisional Diffie-Hellman )问题:给出*∈q
Z c b a cP bP aP P ,,),,,,(,判断ab c =。这一问题可以在多项式时间解决(验证),(),(cP P e bP aP e =)。
习惯写法:),(),(),,,(B A e Q P e B Q P A V DDH =→
1G 上CDH (Computational Diffie-Hellman )问题:给出*∈q Z b a bP aP P ,),,,(,计算
abP 。
Gap Diffie-Hellman group (GDH ):计算DDH 容易,计算CDH 困难。Pairing 的原象域domain 就是GDH 群的例子。
),,(21e G G 上Bilinear Diffie-Hellman (BDH )问题:给出*∈q
Z c b a cP bP aP P ,,),,,,(,计算abc P P e ),(。
4.2 短签名(short signature )
一些场合需要短签名,例如移动通信的认证、电子机票、软件序列号。
BLS 短签名:
(D. Boneh ,Lynn ,Shacham 在2001年提出),假设GDH 成立。
(1)密钥生成:
不同的是21,G G 都是乘法群,>= 1}*1,0{:G H →,*∈q Z x 是私钥,q g y x mod =是公钥。 (2)签名过程:对于*}1,0{∈m ,计算x m H )(=σ (3)验证过程:对于),(σm ,验证))(,(),(m H y e g e =σ,若成立则接收。 正确性:))(,())(,())(,())(,(),(m H y e m H g e m H g e m H g e g e x x x =====σ 短到何长度?160bit 。 ZSS 短签名(Zhang ,Safavi -Naini ,Susilo ,2004)(比BLS 签名有效。) 假设(k +1)指数问题是困难的。(给出*∈q k Z y P y P y yP P ),,,,,(2 ,计算P y k 1+) (1)密钥生成: ),,,,,(21H P e q G G 是公共参数。*→q Z H )*1,0(:,*∈q Z x 是签名者的私钥,xP P pub =是其公钥。 (2)签名过程:对于*}1,0{∈m ,计算P x m H S += )(1 (3)验证过程:对于),(S m ,验证),(),)((P P e S P P m H e pub =+,若成立则接收。 正确性:),())(1), )(((),)((P P e P x m H x m H P e S P P m H e pub =++=+ 4.3 基于身份的签名(identity-based signature ) 公钥的分发、认证和管理是一件繁琐的事。为此Shamir 提出基于身份的概念,就是公钥为个人的身份。这一概念在D. Boneh 提出基于双线性对的方案之后,得到了广泛实现。 Paterson 的基于身份的签名(2002): 假设:扩展的ElGamal 签名是安全的。 (1)密钥生成: ),,,,,,,,(32121H H H P P e q G G pub 是公开参数。其中sP P pub =(TTP 的公钥) ,s 是随机选择的,称为主密钥。211:G G G e →⨯是双线性映射。用户的公钥)(1ID H Q ID =,私钥是ID ID sQ D =。 (2)签名过程:为了对*}1,0{∈m 签名,随机选择*q Z k ∈,计算 ))()((,321ID D R H P m H k S kP R +==- 签名为(R ,S )。 (3)验证过程:验证者验证: )()(32),() ,(),(R H ID pub m H Q P e P P e S R e = 正确性: )()(323232132),() ,())(,())(,() )()(,())()((,(),(R H ID m H ID ID ID Q sP e P P e D R H P e P m H P e D R H P m H P e D R H P m H k kP e S R e ==+=+=- 但是由于基于身份的签名(或加密)中,用户的私钥也在TTP 的掌握之中(即所谓密钥托管escrow ),这是有隐患的,因此现在又出现了无证书(certificationless )的签名和加密技术。无证书技术中的私钥是用户和TTP 合作完成的,TTP 不会知道最终的用户私钥。 【课后练习】 1.基于身份的概念,可以扩展到其它类型的签名,试分析基于身份的加密方案。 2.无证书的签名的公私钥对是如何形成的? 3.基于双线性对的方案的实用性如何? 【参考资料】 1.双线性对的特点是证明简便,因此它的应用很广泛。存在基于双线性对的各种签名和系统,例如以后所讲的基于双线性对的盲签名、群签名、代理签名等,其应用领域都有深入研究和进展。双线性对的选取和计算速度问题是实用中应考虑的,目前双线性对的计算速度提高很快。 2.基于身份的概念,可以扩展到其它类型的签名,还有基于身份的加密等。可参见印度学者R.Dutta, et.al. Pairing-based cryptography:a survey,(eprint-2004),概括比较全面。