一种抗生日攻击的非迭代型消息摘要提取方法与流程

文档序号:13168615阅读:417来源:国知局

(一)技术领域

消息摘要方法(也称为单向散列算法或杂凑算法,英文拼写为hash)属于密码技术和计算机技术领域,是数字签名、身份认证、电子商务、电子金融、电子政务的核心技术之一。

(二)

背景技术:

数字签名是身份认证技术的基础。目前,常用的数字签名方案有rsa、elgamal和ecc等,其中,ecc是elgamal方案在椭圆曲线上的模拟实现。

对一个消息(message)进行数字签名时,为了提高签名速度,人们往往用256个比特以下的消息摘要(messagedigest,md)来取代消息。消息摘要应该能够唯一地代表该消息(相当于该消息的比特指纹),并且,对于任意两个不同的消息,消息摘要几乎是不同的。这对消息摘要提取方法提出了很高要求。

目前,普遍使用的消息摘要提取方法有md5、sha-1、sha-256等(参见《应用密码学》,美国bruceschneier著,吴世忠、祝世雄等译,机械工业出版社,2000年01月,第307-320页)。这些方法均是外国人发明的。

md5、sha-1、sha-256等摘要提取方法均不能抗生日攻击,这限制了它们的使用场合。随着指数级安全的轻量级数字签名方案的出现,我们需要设计与之配套的抗生日攻击的消息摘要提取方法。

(三)

技术实现要素:

本发明用于消息摘要的提取,它是数字签名技术的基础,可广泛应用于身份认证、病毒程序防范、钓鱼网站防范、票据防伪、证书防伪、食品药品防伪等方面。

本发明希望我们国家在消息摘要提取方法(即单向散列方法)领域能够拥有自己的核心技术,以确保国家的网络信息安全、金融安全和经济安全。

本节内容略去了对有关性质和结论的证明,如果需要补上,我们将呈交。

注意:在本文中,序列{a1,...,an}有时简写成{ai},序列{c1,...,cn}有时简写成{ci},杠杆函数有时简写成

贯穿全文,“xy”代表某两个数的乘法运算,“mod”代表模运算,“←”代表把右边表达式值赋给左边的变量,“≡”表示模等于,表示任意选取,表示集合的包含关系,“∈”表示集合(或区间)元素的属于关系,“±x”表示从值x或-x中选取其一,gcd(x,y)代表某两个整数的最大公约数,||x||代表某元素xmodm的阶,代表某个数x的上整数,表示某个集合s的长度(即元素个数),lgx表示某个数x以2为底的对数,代表互素序列中被允许的最大素数,x-1代表x模m的乘法逆元。

3.1几个基本概念

3.1.1互素序列的定义与性质

定义1:假设a1,...,an>1是n个两两不同的整数,且满足gcd(ai,aj)=1或者gcd(ai,aj)=h≠1,而则称这些整数为一个互素序列,记为{a1,...,an},简记为{ai}。

性质1:如果从{a1,...,an}中随机选取m∈[1,n]个元素,构造一个子序列(即一个有序子集){ax1,...,axm},那么,子集积

被唯一地确定,即从g到{ax1,...,axm}的映射是一对一的。

证明略。

3.1.2杠杆函数

定义2:对于一个模数为m的非对称密码方案或消息摘要提取方案,钥匙变换式中的秘密参数被称为杠杆函数,如果它具有下列特性:

是一个单射函数,其定义域为[1,n],值域ω为{1,...,m-1}的子集,这里n<m;

②i和之间的映射关系被随机确定,没有明确的解析表达式;

③当试图从公开信息提取私有信息时,任何敌手不得不考虑ω中元素的所有排列;

④当从密文恢复明文时,私有信息的拥有者只需考虑ω中元素的累加和。

显然,是在“公开”一端计算量大,在“私有”一端计算量小,它正好起到了“杠杆”的作用。

性质2(的不确定性):令{a1,...,an}是一个互素序列附带每个附带δ=1和gcd(μ,m-1)=1(i=1,...,n),则

①当时,有

②当时,总存在

满足

证明略。

3.1.3比特影子

设消息的二进制表示为b1...bn,其长度为n个比特。

定义3:令b1...bn≠0是一比特串,按以下规则生成的被称作比特影子:若bi=0,则若bi≠0,则等于1加bi前面连续0的个数;若bi是最左边的1,则等于1加bi前面连续0的个数再加最右边1比特后面连续0的个数。

例如,若b1...b12=010000101110,则

不难理解,有

性质3:令{a1,...,an}为一个互素序列,为b1...bn≠0的比特影子串,则从b1...bn到的映射是一对一的。

证明略。

3.1.4比特长影子

定义4:令是b1...bn≠0的比特影子串,则被称为比特长影子,其中,或1。

根据定义4,不难理解对于每个当b1...bn≠0时。

例如,令b1...b8=01010100,则

性质4:令是b1...bn≠0的比特长影子串,则有

3.1.5非范子集积难题

设b1...bn为一个消息,{c1,...,cn}为一个非互素序列。

定义5:给定{c1,...,cn}和寻找相关的比特长影子串(对应于b1...bn)满足附带被称为非范子集积难题(anomaloussubsetproductproblem,aspp)。

性质5:aspp在计算难度上至少等价于同一素域中的离散对数难题(dlp)。

证明略。

需要进一步说明的是,目前,人们还没有找到aspp的亚指数时间解。

3.2本发明的技术方案

本发明是一种基于非范子集积难题的消息摘要提取方法,简称juna+单向散列方法。消息摘要类似于消息的比特指纹,被用于数字签名体制中。

由于该方法可以把比特长度不大于4096的消息转化为比特长度在80至232之间的消息摘要,因此,它被说成是轻量级的。

消息摘要提取方法(即单向散列方法)一般需要满足下面几个性质:

①单向性:给定消息和摘要提取方法hash,求容易,但反过来给定和hash,求在计算上是不可行的;

②弱无碰撞性:给定消息要寻找另一个有意义的消息满足在计算上是不可行的;

③强无碰撞性:要寻找任意两个不同的消息满足在计算上是不可行的。

有时,第③个性质对于用户来说是可选的。

根据该方法,可制造初值生成芯片和消息摘要提取芯片,或者开发初值生成软件和消息摘要提取软件等。因此,本发明是一种制造消息摘要提取产品所必须遵循的基本原理与技术方案,而不是物理产品本身。

本技术方案,由初值生成和消息摘要提取等两部分组成。

3.2.1参数说明

设n为消息b1...bn的比特长度,m为消息摘要的比特长度,且80≤m≤232和80≤m≤n≤4096。

令λ和ω是两个正整数集合。它们的长度范围分别为且使得注意,意味着

ca(certificateauthority)中心代表第三方权威机构,它负责生成有关消息摘要提取方法的初值,且私有值不对外公布。

3.2.2初值生成部分

初值生成部分供ca中心使用,可以仅用一次,用来产生一个非互素序列,其实现方法是:

输入:模数或消息摘要的比特长度m附带80≤m≤232,

序列的长度n附带80≤m≤n≤4096,

最大素数附带

集合ω的长度附带

(1)令集合

随机产生互素序列{a1,...,an}且每个ai∈λ;

(2)寻找一个素数m附带并满足(m-1)/2是一个素数,

或(m-1)/2的最小素因子大于

(3)任选w∈[1,m-1]使得w是一个生成元,

任选δ、μ∈[1,m-1]使得gcd(δ,m-1)=1和gcd(μ,m-1)=1;

(4)令集合

随机选取

(5)对于i=1,...,n,计算

输出:初值({c1,...,cn}、m)。

私有值{ai}、w、μ、δ可以被丢弃,但不得外泄。

定义6:给定({c1,...,cn}、m),寻找相关的{ai}、w、μ、δ满足(modm)(i=1,...,n)附带{ai}是一个互素序列及被称为多变量排列难题(multivariatepermutationproblem,mpp)。

性质6:mpp在计算难度上至少等价于同一素域中的离散对数难题(dlp)。

证明略。

3.2.3摘要提取部分

摘要提取部分既供数字签名方使用,也供签名码验证方使用,其实现方法是:

输入:一个初值({c1,...,cn}、m)附带及80≤m≤n≤4096,

一个n比特的消息b1...bn≠0;

①置k←0,i←1;

②若bi=0则做k←k+1、

否则做则令

③令i←i+1;

④若i≤n,转至②;

⑤计算

⑥计算

其中附带

输出:消息摘要

3.3优点和积极效果

3.3.1安全性高

性质5保证了的单向性、本身的结构保证了的无碰撞性、性质6保证了是抗生日攻击的。

特别需要指出的是,由于δ∈[1,m-1]是非常大的值,因此,企图利用连分式方法从攻击私有的{ai}、w、μ、δ是不可行的。

3.3.2摘要长度较短

当消息的比特长度不大于4096时,消息摘要的比特长度m在80和232之间,其安全强度为o(2m),因此,在同等安全强度下,本消息摘要可以有更短的比特长度。

3.3.3运算速度较快

本方法的初值只需要生成一次,且不是实时的,因此,初值生成部分的时间复杂性可以不考虑。

本方法的消息提取操作只需做o(n)个模乘运算,与n(≤4096)是线性相关的,相对来说,还是比较快的。

3.3.4技术可以公开

本发明的实现技术完全可以公开,消息摘要提取方法的初值也可以完全向外界公开发放。只要私有值不泄密,就可以基本保证消息摘要的弱无碰撞性和强无碰撞性。

(四)具体实施方式

一种抗生日攻击的非迭代型消息摘要提取方法包括初值生成和摘要提取两个部分,其特点是它能够产生一个公开的初值,且从该初值推导不出私有值。该初值能保证消息摘要是抗生日攻击的、消息摘要本身的构成能保证摘要是无碰撞的。更为重要的是,该方法输出的摘要长度非常短,但同时又满足安全性需求。

每个用户可以到指定的第三方权威机构——ca中心取得一个初值。ca中心是对用户进行登记、管理,并对初值进行产生和分发的一个机构。它利用初值生成方法输出一个用于消息摘要提取的非互素序列。

本消息摘要提取方法可以用逻辑电路芯片或程序语言来实现,它包括两部分:①根据3.2.2节的初值生成方法开发出相应的芯片或软件模块,供ca中心使用;②根据3.2.3节的摘要提取方法开发出相应的芯片或软件模块,供数字签名方和签名码验证方使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1