CN1545242A - 一种基于辫群共轭问题的数字签名方法 - Google Patents

一种基于辫群共轭问题的数字签名方法 Download PDF

Info

Publication number
CN1545242A
CN1545242A CNA2003101136049A CN200310113604A CN1545242A CN 1545242 A CN1545242 A CN 1545242A CN A2003101136049 A CNA2003101136049 A CN A2003101136049A CN 200310113604 A CN200310113604 A CN 200310113604A CN 1545242 A CN1545242 A CN 1545242A
Authority
CN
China
Prior art keywords
signature
false
sign
message
random
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2003101136049A
Other languages
English (en)
Inventor
丁勇
陈剑勇
李亚晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNA2003101136049A priority Critical patent/CN1545242A/zh
Publication of CN1545242A publication Critical patent/CN1545242A/zh
Priority to EP04797321A priority patent/EP1691503B1/en
Priority to DE602004031755T priority patent/DE602004031755D1/de
Priority to PCT/CN2004/001289 priority patent/WO2005048525A1/zh
Priority to AT04797321T priority patent/ATE501559T1/de
Priority to US10/579,801 priority patent/US7725724B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/68Special signature format, e.g. XML format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Collating Specific Patterns (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于辫群共轭问题的数字签名方法,通过加入随机化因子b,使得针对每个消息m,共轭对(sign(m),h(m))的共轭元为b-1a,因此每次的共轭元都不相同,从而掩盖了是要a的信息泄漏,避免了在现有技术中SCSS签名体制中单一使用私钥a作为共轭对(sign(m),h(m))的共轭元的k-CSP问题。本发明提供的数字签名方法在不降低安全性的前提下,大大节省了计算时间,提高了效率。

Description

一种基于辫群共轭问题的数字签名方法
技术领域
本发明涉及一种基于辫群的CSP(共轭搜索)问题和CDP(共轭判定)问题间差异的数字签名方法ECSS。本发明涉及到信息安全领域具体说就是签名者如何发布一个带有自己私钥签名文件以便验证者使用签名者的公钥来验证该文件是否为签名者发布的签名文件。
背景技术
现目前广泛使用的数字签名技术是RSA签名体制,它的安全性是建立在大数分解的困难性上的,然而随着计算机处理能力的不断提高和相关的研究逐渐深入,RSA不得不不断的加大模数n位数以确保安全性,从512比特到1024比特到2048比特。由于密钥的位数过长,导致产生大素数和指数计算的计算量都很大,因此RSA的效率不是很高;而如果为了提高效率采用硬件实现,则位数过长导致设备更复杂、成本更高,而且由于硬件实现方式的不可改性,硬件的使用寿命缩短,导致成本的进一步提高。
自从2000年韩国学者Ki Hyoung  KO、Sang Jin Lee在CRYPTO 2000提出了一种基于辫群共轭问题的困难性的密钥交换协议和公钥加密体制以来(K.H.Ko,S.J.Lee,J.H.Cheon,J.W.Han,J.S.Kangand C.S.Park,New Public-KeyCrytosystem Using Braid Groups,Proc.of Crypto 2000,LNCS 1880,Springer-Verlag(2000)166
Figure A20031011360400041
183.),辫群公钥密码体制得到了广泛的研究。然而它的数字签名体制一直没有一个很好的解决方案。直到2003年,韩国学者KiHyoung KO、DooHo Cho提出并实现了两种基于辫群共轭问题的签名体制(KiHyoung Ko and Doo HoChoi and Mi Sung Cho and Jang Won Lee New Signature Scheme Using ConjugacyProblem Cryptology ePrint Archive:Complete Contents 2003/168)SCSS以及CSS。我们简要介绍一下【3】中的两种签名体制,SCSS以及CSS。
简单共轭签名体制SCSS:
公共参数:辫群Bn  散列函数h
密钥生成:公钥:一个CSP问题为困难问题的共轭对(x,log2 n!x′)∈Bn×Bn
          私钥:a∈Bn,满足x′=a-1xa;
签名:对于一个给定的比特串消息m,m的签名sign(m)=a-1ya,其中y=h(m)。
验证:一个签名sign(m)是合法的当且仅当:sign(m)~y,x′sign(m)~xy然而由于攻击者可以获得很多对的(yi,a-1yia),从而可能造成私钥a的秘密信息泄漏,即k-CSP问题。为了克服以上问题,他们提出了CSS签名体制。
共轭签名体制CSS:
公共参数:辫群Bn  散列函数h
密钥生成:公钥:一个CSP问题为困难问题的共轭对(xx′)∈Bn×Bn
          私钥:a∈Bn,满足x′=a-1xa;
签名:    对于一个给定的消息m,随机选择一个随机化因子b∈Bn,计算α=
          b-1xb,y=h(m‖α),β=b-1yb,γ=b-1aya-1b,消息m的签名sign(m)=
          (α,β,γ)。
验证:    消息m的签名sign(m)=(α,β,γ)为合法签名当且仅当满足:α~x,
          β~γ~y,αβ~xy,αγ~x’y
CSS签名体制由于引入了随机化因子b,因此很好的克服了k-CSP问题。但是可以发现,由于增加了更多的计算和数据,因此整个效率明显下降。
发明内容
本发明所要解决的技术问题是:为了克服了现有技术中的容易受到针对大数分解攻击以及产生大素数消耗计算资源过大的缺点,解决现有技术中存在的产生密钥和签名验证时间过长的问题,提供一种基于辫群共轭问题的高效数字签名方法,不但可以克服存在SCSS中的k-CSP问题,而且相对CSS,计算量和数据都将大大的减少,提高了整个签名体制的效率。
本发明所述的基于辫群共轭问题的数字签名方法,包含以下步骤:
假设签名方为S,签名验证方为V,需要签名的消息为m,系统参数:辫群Bn(l),Bn(l)的左子群LBm(l),Bn(l)的右子群RBn-1-m(l),辫群公钥对间的距离d,从比特串{0,1}*到辫群Bn(l)的单向散列函数h,用于CDP判定算法BCDA的素数p和判定的点的个数r。
首先签名方对需要签名的消息进行如下操作:
1)签名方S随机生成一个辫元x∈LBm(l);
2)签名方S使用RSSBG(x,d)生成(x′,x,a)∈Bn(l)×LBm(l)×Bn(l),使得x’=a-1xa;
将共轭对(x’,x)作为S的公钥,共轭元a作为S的私钥;
RSSBG(x,d)算法简单描述如下:
(2-1)选定系统参数n,m,l,d.
(2-2)随机生成一个辫元x属于集合LBm(l).
(2-3)随机选择一个辫元b属于集合Bn(5l).
(2-4)计算y=b-1xb
(2-5)随机产生一个比特,如为0,则计算y=cycling(y)=a-1xa,否则计算y=decycling(y)=a-1xa
(2-6)判断y是否属于集合SSS(x)以及l(y)≤d是否都成立,若都成立则输出(x,y)为公钥,a为私钥;若有一个不成立,则转入(2-5)进一步生成。
3)签名方S对需要签名的消息m首先使用散列函数h得到y=h(m)∈Bn(l),然后随机生成一个辫元b∈RBn-1-m(l),然后使用自己的私钥a和产生的随机辫元b对消息m签名得到Sign(m)=a-1byb-1a;
有m散列得到h(m)的成立流程简单描述如下:
(3-1)选择一个普通散列函数H,其输出H(m)长度为l[log2 n!](可以截取),然后将H(m)一次等分为l段R1‖R2‖…‖Rl。
(3-2)一次将Ri对应为置换辫元Ai,然后计算h(m)=A1*A2…A1即为所求的h(m).
4)签名者将消息m、公钥(x’,x)、m的签名Sign(m)发送给签名验证方V;签名验证方V收到签名者发送的信息后进行如下操作:
5)首先利用系统参数散列函数h对消息m作用计算得到y=h(m);
6)判定sign(m)~y是否成立,若不成立,则sign(m)不是一个合法签名;若成立,则转步骤7);
7)判定sign(m)x’~xy是否成立,若不成立,则sign(m)不是一个合法签名;若成立,则sign(m)为消息m的合法签名。
判定两个辫元a,b是否共轭的判定算法BCDA简单叙述如下:
(6-1)输入辫元a,b,选择好系统参数p、r并计算其特征Pa(t)以及Pb(t)。
(6-2)随机选择r个不同的随机数ti(I=1,2…r),并计算Pa(ti)=Pb(ti)都成立。若有一个不成立,则a~b不成立;若都成立,则转(6-3)。
(6-3)计算Maxinf(a)=Maxinf(b)是否成立,若不成立,则a~b不成立;若成立,则转(6-4)。
(6-4)计算Minsup(a)=Minsup(b)是否成立,若不成立,则a~b不成立;若成立,则转则a~b不成立。
由于本发明的数字签名方法,有如下优点:
1由于加入了随机化因子b,使得针对每个消息m,共轭对(sign(m),h(m))的共轭元为b-1a,因此每次的共轭元都不相同,从而掩盖了是要a的信息泄漏,避免了在现有技术中SCSS(简单共轭签名体制)签名体制中单一使用私钥a作为共轭对(sign(m),h(m))的共轭元的k-CSP问题。可参看表1。
2本方法相对于现有技术中的CSS(共轭签名体制)数字签名方法在不降低安全性的前提下,大大节省了计算时间,提高了效率,可参看表1。
    签名体制 签名计算量 验证计算量   签名数据量 安全性
    SCSS 共轭计算:1次散列计算:1次 共轭判定:2次散列计算:1次辫群运算:2次   1个辨元     存在k-CSP问题,安全性较低,基于MCSP问题
    CSS 共轭计算:4次散列计算:1次 共轭判定:5次散列计算:1次辫群运算:4次   3个辨元     引入随机化密钥因子,解决了k-CSP问题,基于MTSP问题
    本发明方法 共轭计算:2次散列计算:1次 共轭判定:2次散列计算:1次辫群运算:2次   1个辨元     引入随机化密钥因子,解决了k-CSP问题,基于MCSP问题。
                     表1    3种签名方法比较
3本发明相对于传统的RSA签名方法使用完全不同体系的数学基础,不需要产生大素数,大大节省了密钥的位数和签字的位数,节约了计算资源,提高了签名验证小效率。在现有技术中给出的CSS签名方法在Pentium III 866MHz处理器上得到的数据为表2所示(默认设置的参数l=3,d=4,231<p<232,r=3):
  n   公钥位数   签名位数   密钥生成时间   签名时间   验证时间   安全强度
  20   370   1653   17.82ms   18.68ms   30.87ms   2220
 24  478  2138  21.70ms  22.79ms  41.75ms  2356
 28  591  2648  24.42ms  25.77ms  59.59ms  2530
                  表2 CSS签名方法的试验数据表
而本方法相对于CSS签名方法签名时间和验证时间都将大大减少,因此相对RSA有效率更高的优点。
附图说明
图1本发明基于辫群共轭问题的数字签名方法的步骤主流程图。
图2基于辫群共轭问题的数字签名方法的密钥生成的子流程图。
图3单向散列函数h的处理流程图。
图4CDP问题判定算法BCDA处理流程图。
图5签名方对消息m签名的流程图。
图6验证方对消息签名的验证流程图。
具体实施方式
由于本发明涉及到一系的数学原理,首先将本发明的数学背景阐述如下:
辫群Bn(n为群参数)是由Artin生成元σ1,σ2,……,σn-1生成的有限表示的无限群,并且它的生成元σ1,σ2……σn-1满足以下关系:
σiσj=σjσi(|i-j|>1,1<i,j<n)             (1)
σiσjσi=σjσiσj(|i-j|>1,1<i,j<n)       (2)
由左边m个生成员σ1,σ2……σm-1生成的群叫Bn的左子群,记做LBm;而由右边的n-1-m个生成元σm+1,σm+2……σn-1生成的子群叫Bn的右子群,记做RBn-1-m。由生成元关系(1)显然可知:任取(x,y)∈LBm×RBn-1-m,有xy=yx。对于一个辫元b,若他只包含σ1,σ2……σn-1而不含σ1,σ2……σn-1的逆元,则称b为一个正元。若对于正元b、a,有一个正元或单位元c使得b=ac,则称a为b的子元。辫元Δ=(σ1σ2…σn-1)(σ1σ2…σn-2)…(σ1σ2)(σ1)称为辫群Bn的本元。Δ满足Δb=τ(b)Δ,τ(σi)=σn-i。其中Δ的子元称作置换元,他们组成的集合和对称群∑n的n!个元素一一对应。因此Δ的子元可用一个置换π:{0,1,...,n-1}→{0,1,...,n-1}来表示。任何一个辫元b都存在唯一的一个标准表示形式;b=Δuπ1π2…πi,其中πi为一个置换元。b的几个长度定义如下:inf(b)=u,sup(b)=u+l,l(b)=1。
在一个辫群Bn中,如果对于两个辨元x,y∈Bn,存在一个辨元a∈Bn使得y=a-1xa,则称辨元x,y共轭,记做x~y,而辨元a称作共轭对(x,y)的共轭元,显然“~”是一种等价关系。辫群的基本共轭问题包括共轭判定问题CDP问题和共轭元搜索问题CSP问题。所谓CDP问题就是指:任意给出辨元对(x,y)∈Bn×Bn,判断x~y是否成立。根据群表示理论,对于任何群G,总存在一个从G到某一个环的同态,该同态对共轭关系保持不变,因此CDP问题对于任何群在计算上总是可解决的。在现有的基于辫群共轭问题的签名体制中给出了一个算法可以在多项式时间内以任意高的概率解决CDP问题。所谓CSP问题就是指:对于一个给定的共轭辨元对(x,y)∈Bn×Bn(x~y),找到一个辨元a∈Bn,使得y=a-1xa。对于辫群的来说,目前不存在一个有效的算法可以在多项式时间内解决CSP问题,因此对随机选取的一共轭对(x,y)∈Bn×Bn,他们的CSP问题将以很高的概率为一个困难问题。而本文提出的数字签名方法的安全性是建立在MCSP问题的困难性上的,在现有的基于辫群共轭问题的签名体制中证明了MCSP问题与CSP问题的困难等价性。所谓MCSP问题对他的描述如下:
已知:辫群Bn的一个共轭对(x,x’)∈Bn×Bn,和一个辨元y∈Bn
问题:找到一个y’∈Bn满足:y~y’xy~x’y’
下面对本发明的数字签名的方法的数学模型做一个简介:
公共参数:辫群Bn、左辫群LBm、右辫群RBn-1-m、散列函数h、其中Bn的生
          成元为σ1σ2……σn-1,左辫群LBm为生成元σ1,σ2……σm-1生成
          的Bn的子群,右辫群RBn-1-m为生成元σm+1,σm+2……σn-1生成的Bn
          子群。
密钥生成:公钥:一对CSP问题为困难问题的共轭对(x,x‘)∈LBm×Bn私钥:a∈Bn
          满足x‘=a-1xa;
签名:对于一个给定的消息m,首先计算y=h(m),然后随机选取一个秘密随机化因子
          b∈RBn-1-m,消息m的签名sign(m)=a-1byb-1a(见图5)
验证:对于消息m签名sign(m)为合法签名当且仅当:sign(m)~y,x’sign(m)~xy(见
    图6)
对于一个合法的签名sign(m),由于sign(m)=a-1byb-1a=(b-1a)-1yb-1a,故sign(m)~y成立;而x‘sign(m)=a-1xa a-1byb-1a=a-1xbyb-1a,由于x∈LBm,b∈RBn-1-m,因此xb=bx,从而有x’sign(m)=a-1xa a-1byb-1a=a-1xbyb-1a=a-1bx yb-1a=(b-1a)-1(xy)(b-1a),从而x’sign(m)~xy。因此一个合法的签名总是可以通过验证的。
而对于一个攻击者来说,他要想伪造一个消息m的签名,所能知道的只包括公钥(x,x’),和y=h(m),要想伪造的签名sign(m)满足sign(m)~y、x’sign(m)~xy,显然等价于解决MCSP问题,因此是不能做到的。
而对于可以截获分析的消息签名对(yi,b-1ayia-1b),由于加入了随机化因子b,可以很好的避免k-CSP问题。所谓k-CSP问题描述如下:
已知:k对共轭对(x1,x1’),……,(xk,xk’)∈Bn×Bn且xi’=a-1xia(i=1…k):问题:找到b∈Bn,使得xi’=b-1xib(i=1,2……k)。
以上是对本发明签名方法的数学描述,然而由于辫群是无限群,为了用计算机实现,需要设置系统参数。首先设定系统参数n,l,d(推荐l=3,d=4)。令Bn(l)={b∈Bn|0≤inf(b),sup(b)≤l},则|Bn(l)|<(n!)1为有限的。同理LBm(l)={b∈LBm|0≤inf(b),sup(b)≤l},RBn-1-m(l)={b∈RBn-1-m|0≤inf(b),sup(b)≤l}。对于一个辫元采用目前已知在计算机上计算速度最快的Burau表示,即用一个Laurent多项式环Z[t,t-1]上的(n-1)×(n-1)阶矩阵来表示,具体替换原则如下:
做如下的替换:
一个属于Bn(l)辫元转化为一个Burau表示的计算复杂度为O(ln),有了以上表示,与辫群内的群运算和求逆运算就转化为矩阵的乘法和求逆运算,他们都有着很有效的数学工具可以解决,它们的计算复杂度都为O(ln)。
现在介绍一下CDP问题的判定算法BCDA(见图4)。任何一个非交换群,都存在一个从群到一个环的函数,该函数对于共轭对的函数值相等,把该函数叫做特征。定义一个从Bn(l)到Laurent多项式环Z[t,t-t]的一个函数:g→det(φ(g)-I),其中g∈Bn(l),Φ(g)为g的Burau表示,I为单位矩阵,det()为求行列式的符号,显然该函数为Bn(l)的特征。把det(Φ(g)-I)叫做辫元g的亚历山大多项式,记做Pg(t),显然对于一个g∈Bn(l),它的亚历山大多项式Pg(t)的秩(Pg(t))≤l(n-1)n/2。判断两个辫元a,b∈Bn(l)是否共轭,做如下的亚历山大测试:选定系统参数素数p和正整数r,在有限域Z/pZ上任意选取r个不相等的值t1,t2…tr,若对于所有的ti(i=1,2…r)都有Pa(ti)=Pb(ti),则输出1,否则输出0。由于(Pa(t)-Pb(t))≤l(n-1)n/2,所以方程Pa(t)-Pb(t)=0最多只有l(n-1)n/2个根。所以概率 显然随着p和r的增加,这个概率可以任意的小。亚历山大测试的计算复杂度为O(rn3)。
Maxinf-Minsup测试。对于辫元的x∈Bn(l),定义Maxinf(x)=Max{inf(y)|y~x,y∈Bn(l)},Minsup(x)=Min{sup(y)|y~x,y∈Bn(l)}。所谓Maxinf-Minsup测试,即对辫元a,b∈Bn(l),判断Maxinf(a)=Maxinf(b),Minsup(a)=Minsup(b)是否都成立,若都成立,则输出1,否则输出0。下面给出计算Maxinf(x)和Minsup(x)的算法描述。首先定义两个操作,若x=Δuπ1π2…π1,cycling(x)=(τu1))-1u1),decycling(x)=π1 -11。对x循环做cycling(分别decycling)操作,直到inf值增加(分别sup值减少),然后以当前得到的元素为新元素,重复该循环操作,且循环次数计数重新设置为1;若循环次数计数直到m=n(n-1)/2都inf值不再增加(分别sup值不再减少),则当前的元素的inf值即为Maxinf(x)(分别Minsup(x)。该算法的理论分析请参看引文:J.S.Birman,K.H.Ko and S.J.Lee,The in.mum,supremum and geodesic length of a braid conjugacy class,to appear inAdvances in Mathematics.。该算法的算法复杂度为O(l2nlog n)。
如果辫元a,b通过了亚历山大测试和Maxinf-Minsup测试,则可以判定a~b成立,只有一种例外情况,即a~b-1。然而这对于随机选择的a、b来说,是几乎不可能出现的,而对于攻击者同样不能利用这种例外情况,分析见引文:K.H.Ko,S.J.Lee,J.H.Cheon,J.W.Han,J.S.Kang and C.S.Park,New Public-Key Crytosystem Using Braid Groups,Proc.of Crypto 2000,LNCS 1880,Springer-Verlag(2000)166 183。
对于一个从比特串{0,1}*到辫群Bn(l)的散列函数h,可构造如下(见图3),首先我们使用一个普通散列函数将{0,1}*压缩得到固定长度的比特串{0,1}N,其中N=[llog2 n!]。然后将{0,1}N分为l段r1‖r2‖…‖r1,每一段的长度都为[log2 n!]。由于Bn(l)的置换元有n!个,故可在置换元和整数集[0,n!-1]间建立一个一一映射。因此再依次将rk转化为[0,n!-1]间某一个整数,再将这个整数和一个置换元Pk,最后得到 h ( m ) = Π k = 1 1 P k .
为了产生一个伪随机辫元,首先产生一个伪随机序列{0,1}N,然后将{0,1}N分为1段r1‖r2‖…‖r1,每一段的长度都为[log2 n!]。由于Bn(l)的置换元有n!个,故可在置换元和整数集[0,n!-1]间建立一个一一映射。因此再依次将rk转化为[0,n!-1]间某一个整数,再将这个整数和一个置换元Pk,最后得到所需要的
为了安全的产生密钥,先定义一些概念,对于一个辫元x∈Bn(l),定义他的super summit集SSS(x)={y∈Bn(l)|y~x,inf(y)=Maxinf(x),sup(y)=Minsup(x)}。整个签名算法的安全强度为|SSS(x)|,约为 若y~x,定义x、y间的距d(x,y)=min{l(b)|y=b-1ab},然后再定义s(x,d)={y∈SSS(x)|d(x,y)≤d}。选取x’∈s(x,d),则共轭对(x’,x)的CSP问题为困难问题,可以作为密钥,下面介绍算法RSSBG(x,d)=(x’,a)用以随机产生x’∈s(x,d)且x’=a-1xa,从而得到安全公钥(x’,x)和私钥a(见图2):
1随机产生一个辫元b∈Bn(5l),计算b-1xb。
2随机选择对b-1xb一系列的cycling或者decycling操作得到x’,直到x’属于SSS(x)为止(不会超过n2次操作),x’=a-1xa。
3判断l(a)≤d成立,若成立,则x’和a即为所求,若不成立,则转1。
有了以上的数学基础和算法描述,再结合附图对技术方案的实施作进一步的详细描述,本发明用软件实现如下(为了提高速度,算法BCDA也可用硬件实现):选定系统参数公开:
辫群参数n,l,d,p(推荐n为20~30间,l=3,d=4,p为231~232间),以及左辫群大小m(推荐n-m为4左右)。
选定用于散列消息的散列函数h;
参考图1所示的流程,
签名方S:
密钥产生:
1使用算法PBG随机产生一个辫元x∈LBm
2使用算法RSSBG(x,d)得到公钥(x’,x)和私钥a。
签名:
1对需要签名的消息m应用散列函数h得到y=h(m);
2随机产生一个辫元b x∈a-1byb-1a,然后计算byb-1
3使用私钥,计算签名sign(m)=a-1byb-1a。
验证方V:
a)对需要验证签名的消息m应用散列函数h得到y=h(m);
b)使用算法BCDA判定sign(m)~y是否成立,若不成立,则验证失败,结束。若成立,转3;
c)计算x’sign(m)和xy;使用算法BCDA判定x’sign(m)~xy是否成立,若成立,则验证通过,结束,否则验证失败,结束。

Claims (5)

1.一种基于辫群共轭问题的数字签名方法,其特征在于,所述方法包括以下处理过程:
签名方为S,签名验证方为V,需要签名的消息为m,系统参数:辫群Bn(l),Bn(l)的左子群LBm(l),Bn(l)的右子群RBn-1-m(l),辫群公钥对间的距离d,从比特串{0,1}*到辫群Bn(l)的单向散列函数h,用于CDP判定算法BCDA的素数p和判定的点的个数r;
签名方对需要签名的消息进行如下操作:
1)签名方S随机生成一个辫元x∈LBm(l);
2)签名方S使用RSSBG(x,d)生成(x’,a)∈Bn(l)×Bn(l),使得x’=a-1xa;将共轭对(x’,x)作为S的公钥,共轭元a作为S的私钥;
3)签名方S对需要签名的消息m首先使用散列函数h得到y=h(m)∈Bn(l),然后随机生成一个辫元b∈RBn-1-m(l),然后使用自己的私钥a和产生的随机辫元b对消息m签名得到Sign(m)=a-1byb-1a;
4)签名者将消息m、公钥(x’,x)、m的签名Sign(m)发送给签名验证方V;签名验证方V收到签名者发送的信息后进行如下操作:
5)首先利用系统参数散列函数h对消息m作用计算得到y=h(m);
6)判定sign(m)~y是否成立,若不成立,则sign(m)不是一个合法签名;若成立,则转步骤7);
7)判定sign(m)x’~xy是否成立,若不成立,则sign(m)不是一个合法签名;若成立,则sign(m)为消息m的合法签名。
2.根据权利要求1所述的基于辫群共轭问题的数字签名方法,其特征在于,所述步骤2)生成公钥和私钥具体包括以下处理过程:
(2-1)选定系统参数n,m,l,d;
(2-2)随机生成一个辫元x属于集合LBm(l);
(2-3)随机选择一个辫元b属于集合Bn(5l);
(2-4)计算y=b-1xb;
(2-5)随机产生一个比特,如为0,则计算y=cycling(y)=a-1xa,否则计算y=decycling(y)=a-1xa;
(2-6)判断y是否属于集合SSS(x)以及l(y)≤d是否都成立,若都成立则输出(x,y)为公钥,a为私钥;若有一个不成立,则转入(2-5)进一步生成。
3.根据权利要求1所述的基于辫群共轭问题的数字签名方法,其特征在于,所述散列矩阵的处理过程是:
(3-1)选择一个普通散列函数H,其输出H(m)长度为l[log(2,n!)](可以截取),然后将H(m)一次等分为1段R1‖R2‖…‖R1;
(3-2)一次将Ri对应为置换辫元Ai,然后计算h(m)=A1*A2…A1即为所求的h(m)。
4.根据权利要求1所述的基于辫群共轭问题的数字签名方法,其特征在于,所述的步骤6)、7)中利用算法BCDA判定共轭的处理过程是:
(4-1)输入辫元a,b,选择好系统参数p、r并计算其特征Pa(t)以及Pb(t);
(4-2)随机选择r个不同的随机数ti(I=1,2…r),并计算Pa(ti)=Pb(ti)都成立;若有一个不成立,则a~b不成立;若都成立,则转(4-3);
(4-3)计算Maxinf(a)=Maxinf(b)是否成立,若不成立,则a~b不成立;若成立,则转(4-4);
(4-4)计算Minsup(a)=Minsup(b)是否成立,若不成立,则a~b不成立;若成立,则转则a~b不成立。
5.根据权利要求1所述的基于辫群共轭问题的数字签名方法,其特征在于,所述n取20~30间,l=3,d=4,p为231~232间,以及左辫群大小m比n小4。
CNA2003101136049A 2003-11-13 2003-11-13 一种基于辫群共轭问题的数字签名方法 Pending CN1545242A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CNA2003101136049A CN1545242A (zh) 2003-11-13 2003-11-13 一种基于辫群共轭问题的数字签名方法
EP04797321A EP1691503B1 (en) 2003-11-13 2004-11-12 A digital signature method based on braid groups conjugacy and verify method thereof
DE602004031755T DE602004031755D1 (de) 2003-11-13 2004-11-12 Digitales signaturverfahren auf der basis von flechtgruppen-konjugiertheit und verifizierverfahren dafür
PCT/CN2004/001289 WO2005048525A1 (fr) 2003-11-13 2004-11-12 Procede de signature numerique base sur la conjugaison dans les groupes de tresses, et methode de verification associee
AT04797321T ATE501559T1 (de) 2003-11-13 2004-11-12 Digitales signaturverfahren auf der basis von flechtgruppen-konjugiertheit und verifizierverfahren dafür
US10/579,801 US7725724B2 (en) 2003-11-13 2004-11-12 Digital signature method based on braid groups conjugacy and verify method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2003101136049A CN1545242A (zh) 2003-11-13 2003-11-13 一种基于辫群共轭问题的数字签名方法

Publications (1)

Publication Number Publication Date
CN1545242A true CN1545242A (zh) 2004-11-10

Family

ID=34336936

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2003101136049A Pending CN1545242A (zh) 2003-11-13 2003-11-13 一种基于辫群共轭问题的数字签名方法

Country Status (6)

Country Link
US (1) US7725724B2 (zh)
EP (1) EP1691503B1 (zh)
CN (1) CN1545242A (zh)
AT (1) ATE501559T1 (zh)
DE (1) DE602004031755D1 (zh)
WO (1) WO2005048525A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340483A (zh) * 2010-07-15 2012-02-01 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
CN113312654A (zh) * 2021-06-29 2021-08-27 重庆交通大学 一种基于csp问题的同态密文编码与计算方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716139B2 (en) * 2004-10-29 2010-05-11 Research In Motion Limited System and method for verifying digital signatures on certificates
JP2007004461A (ja) * 2005-06-23 2007-01-11 Nec Corp サービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラム
US7849037B2 (en) * 2006-10-09 2010-12-07 Brooks Roger K Method for using the fundamental homotopy group in assessing the similarity of sets of data
US8001069B2 (en) * 2006-12-29 2011-08-16 Brooks Roger K Method for using windows of similar equivalence signatures (areas of presentation spaces) in assessing the similarity of sets of data
US7890763B1 (en) * 2007-09-14 2011-02-15 The United States Of America As Represented By The Director, National Security Agency Method of identifying invalid digital signatures involving batch verification
WO2011119137A1 (en) 2010-03-22 2011-09-29 Lrdc Systems, Llc A method of identifying and protecting the integrity of a set of source data
RU2450457C1 (ru) * 2011-05-20 2012-05-10 Государственное образовательное учреждение высшего профессионального образования Марийский государственный технический университет Способ шифрования
US8832450B2 (en) * 2012-05-31 2014-09-09 Apple Inc. Methods and apparatus for data hashing based on non-linear operations
US10148285B1 (en) 2012-07-25 2018-12-04 Erich Schmitt Abstraction and de-abstraction of a digital data stream
CN105814859B (zh) * 2013-12-31 2019-04-19 华为终端(东莞)有限公司 一种网络配置方法、相关装置及系统
US10795858B1 (en) 2014-02-18 2020-10-06 Erich Schmitt Universal abstraction and de-abstraction of a digital data stream
US20190215148A1 (en) * 2018-01-11 2019-07-11 Shenzhen University Method of establishing anti-attack public key cryptogram
WO2021223090A1 (zh) * 2020-05-06 2021-11-11 深圳大学 建立共享密钥的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493449B2 (en) * 1998-02-26 2002-12-10 Arithmetica, Inc. Method and apparatus for cryptographically secure algebraic key establishment protocols based on monoids
CN1256463A (zh) * 1999-11-25 2000-06-14 赵风光 一种新型数字签名体制和装置
FR2831738B1 (fr) * 2001-10-25 2003-12-19 France Telecom Procede cryptographique a cle publique base sur les groupes de tresses
US7860080B2 (en) * 2002-03-06 2010-12-28 Telefonaktiebolaget Lm Ericsson (Publ) Service provisioning in telecommunications system comprising call control service capability servers
US7133523B2 (en) * 2002-12-20 2006-11-07 Pitney Bowes Inc. Method and system for solving the word problem in braid group cryptosystems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340483A (zh) * 2010-07-15 2012-02-01 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
CN102340483B (zh) * 2010-07-15 2015-05-06 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
CN113312654A (zh) * 2021-06-29 2021-08-27 重庆交通大学 一种基于csp问题的同态密文编码与计算方法

Also Published As

Publication number Publication date
EP1691503A4 (en) 2007-06-20
ATE501559T1 (de) 2011-03-15
EP1691503A1 (en) 2006-08-16
US7725724B2 (en) 2010-05-25
DE602004031755D1 (de) 2011-04-21
WO2005048525A1 (fr) 2005-05-26
US20070104322A1 (en) 2007-05-10
EP1691503B1 (en) 2011-03-09

Similar Documents

Publication Publication Date Title
CN1545242A (zh) 一种基于辫群共轭问题的数字签名方法
EP2348447B1 (en) A computer implemented method for generating a set of identifiers from a private key, computer implemented method and computing device
CN1633776A (zh) 利用双线性映射的签名方案
CN1505313A (zh) 椭圆曲线签名和验证签名方法和装置
CN1614922A (zh) 使用同源来设计密码系统
CN102571357B (zh) 一种签名的实现方法和装置
CN101051902A (zh) 一种代理签密方法及系统
CN111162894B (zh) 具有隐私保护的外包云存储医疗数据聚合的统计分析方法
CN1645442A (zh) 多段签名验证系统、电子签名给与装置、数据追加装置及电子签名验证装置
CN100338906C (zh) 共享密钥生成装置、密钥交换装置以及密钥交换方法
Cortez et al. Cryptographic randomness test of the modified hashing function of SHA256 to address length extension attack
Zhu et al. Certificate-based anonymous authentication with efficient aggregation for wireless medical sensor networks
CN108494561B (zh) 固定签名长度的聚合电子签名方法
CN1505306A (zh) 椭圆曲线加密解密方法和装置
CN112887096A (zh) 用于签名和密钥交换的素数阶椭圆曲线生成方法及系统
CN1568457A (zh) 一种安全的模数取幂运算方法
KR101344402B1 (ko) Rsa 서명 방법 및 장치
US6928163B1 (en) Methods, systems and computer program products for generating user-dependent RSA values without storing seeds
Zhao et al. Privacy-preserving outsourcing schemes of modular exponentiations using single untrusted cloud server
CN110932866B (zh) 一种基于sm2数字签名算法的环签名生成方法
CN113708927A (zh) 基于sm2数字签名的泛指定验证者签名证明系统
CN1464678A (zh) 基于半群上离散对数问题的数字签名及验证的方法
CN1949707A (zh) 多级智能密钥装置的密钥传递方法和系统
CN1449609A (zh) 由包括在确定间隔内的质数形成电子密钥的方法及采用该方法的装置
CN1397035A (zh) 在电子部件中使用公共密钥加密算法的模求幂算法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication