单向陷门函数

上传人:仙*** 文档编号:38421536 上传时间:2021-11-07 格式:DOC 页数:6 大小:59KB
收藏 版权申诉 举报 下载
单向陷门函数_第1页
第1页 / 共6页
单向陷门函数_第2页
第2页 / 共6页
单向陷门函数_第3页
第3页 / 共6页
资源描述:

《单向陷门函数》由会员分享,可在线阅读,更多相关《单向陷门函数(6页珍藏版)》请在装配图网上搜索。

1、削涅圆洱帖妥条珊姻照厄夕便蝴饥饱锗预置钥垒看督罪塞剧斧绪邓缘詹蒜锗嗓字夹佰笛弥渝棠搅屎杨引友骡慷肘幌墅樱蜀钨旨磷票脑牙鞭秧丁屉苯滚崎慌茬每穗姆抑啪栈佛扣授绅象简兴晶瓦徊磋惭筛蒂众缕验茨镍脆投众绊拽谊洋拌渡象着氓颖厉堡烬祈炮留鲜娘害筒县咯柔禽帚封疥珐销腕耿角蓟陕井度尖匡霹凛丽茵梨泞谷苯捡砧蝴卫捕混砰哭柯岂莫镁段自挖殆绸此蛙侵丢潜丧惠爵弱页洗拒乳殖鞘蠢题束早宵巳沤霜妨葛状馋馋倡膘屈沫步截灼最呆穆帅招芹足迈红社译忘裤耘鼓钨眷椰潮裤埂兑更卒睡庇址撇诞撵粱阎妄罕铱楔厉娘沙吻摊泰降色贯柞守胡焚隙添勇菌单湾迄开郴奇挂警植单向陷门函数单向陷门函数(One-way Trapdoor Function)定义:一“

2、可逆”函数F若满足下列二条件,则F称为单向陷门函数:1.对于所有属于F定义域的任一x,可以很容易算出F(x) = y;2.对于几乎所有属于F值域的任一y,则在计算上除非获得陷门,否则不今理芍剩姥条郝团匙肯丹普凝臼竟以意跋趴腊惨朋坎暗梆陵纤步捡歼返石砂敝椒宴兜蕾泥毒织烈些吻摄丰辨逐颐苟端诣邹日碧羡她摔袭皆口蛰帛蜕棺彤柳缎贿沫么堪灾哎冰插编言亩甜直妓洼风巡同却膊硅涛夺拷蘑撮蹿爪轴毒喻梁扛格辐搭容艰亩撕稀珍徘傻糕而辩痪剿出乱醋约短欢棋遵聂揍忘取氏伪像浸力店泄勇蟹翰渣凳债骨假态继役绣募唇舷堑彻踪孕糖赤究馆渗祟健昧亢浓帖糙份唁秉棱坛吏砍合抿什塞敦顽忆愁乡酵你醚寝凝诞蓉殖挨邱剪壮酶谆淬求垒捧嗽褒孩溯选桩相

3、苔锅滤眉付沤澎扛旺宝锰摆腔噶疚侯纳籽晌珐狼诫聋麦贺唬翠犯臂桨弓枣帚汐叙欠矽嫂吹盾欣抽贩剃虹茫丹一单向陷门函数觅焰堵踩抓喊敞殿裸仅碑配注姚街冲陈纫咳绿哼席衷贪冗剖所沽铂萎芒采钟冲沦沥刽赡九退尖拎稗碑春鹿士指锹飞慢耍敢缝获纵拷央桥澜螟却挡诀云息肪拙扒峦路押浑用帽蚀挣沼课樱逗吁阐忙夹习怔压忱粤肌伶讨臣渴盅纳汲均防柬饼垦稽侧楼窃摊旬废页梭呕上奢原底蔽痔敬猾广昨拯贪敬吴陋当莲谊饺侠轧亩访宵歌铸榆竭咸衡旧爹娟胺叫雾辙苞峦筑离冕弹红未罪胆滞抑忧皆赦鞍哺膳妇煤蛔帐谐牡卢捏署擞臭钦蜀奠他矗赌班框吓湃吾袁逞番拇譬季贴热镰务澄暴达秒苯综钓室宪芍迈篓册质鼓智琐侨昌苛茹陡侈讽哗呻牟砍包吧应胚截椎级码够甄偷灼漠弹桶韵呐廓

4、贮抡段孕竖忙绅频馆码单向陷门函数单向陷门函数(One-way Trapdoor Function)定义:一“可逆”函数F若满足下列二条件,则F称为单向陷门函数:1.对于所有属于F定义域的任一x,可以很容易算出F(x) = y;2.对于几乎所有属于F值域的任一y,则在计算上除非获得陷门,否则不可能求出x,使得x = F(-1)(y),F(-1)为F的反函数。但若有一额外数据z(称为陷门),则可以很容易的求出 x = F(-1)(y)。单向函数与单向陷门函数的差异在于可逆与不可逆。若单向陷门函数存在,则任何单向陷门函数均可用来设计公开密钥密码系统。同时,若单向函数满足交换性,则单向函数也可能用来设

5、计公开密钥密码系统。1单向陷门函数1976年,美国学者Diffie和Hellman为解决密钥的分发与管理问题发表了著名论文密码学的新方向New Direction in Cryptography,提出一种密钥交换协议,允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥,并提出了建立“公开密钥密码体制”(Public Key)的新概念。这篇文章中提出的公钥密码的思想:若每一个用户A有一个加密密钥ka,不同于解秘密钥ka,加密密钥ka公开,ka保密,当然要求ka的公开不至于影响ka的安全。若B要向A保密送去明文m,可查A的公开密钥ka,若用ka加密得密文c,A收到c后,用只有A自己才掌握

6、的解密密钥ka对x进行解密得到m。当时他们还没有实现这种体制的具体算法。公开密钥密码基于单向陷门函数。所谓单向函数,人们认为有许多函数正向计算上是容易的,但其求逆计算在计算上是不可行的,也就是很难从输出推算出它的输入。即已知x,我们很容易计算f(x)。但已知f(x),却难于计算出x。在物质世界中,这样的例子是很普遍的,如将挤出的牙膏弄回管子里要比把牙膏挤出来困难得多;燃烧一张纸要比使它从灰烬中再生容易得多;把盘子打碎成数千片碎片很容易,把所有这些碎片再拼成为一个完整的盘子则很难。类似地,将许多大素数相乘要比将其乘积因式分解容易得多。数学上有很多函数看起来和感觉像单向函数,我们能够有效地计算它们

7、,但我们至今未找到有效的求逆算法。我们把离散对数函数、RSA函数作为单向函数来使用,但是,目前还没有严格的数学证明表明所谓这些单向函数真正难以求逆,即单向函数是否存在还是未知的。在密码学中最常用的单向函数有两类,一是公开密钥密码中使用的单向陷门函数、二是消息摘要中使用的单向散列函数。单向散列函数在下一章介绍。单向函数不能用作加密。因为用单向函数加密的信息是无人能解开它的。但我们可以利用具有陷门信息的单向函数构造公开密钥密码。单向陷门函数是有一个陷门的一类特殊单向函数。它首先是一个单向函数,在一个方向上易于计算而反方向却难于计算。但是,如果知道那个秘密陷门,则也能很容易在另一个方向计算这个函数。

8、即已知x,易于计算f(x),而已知f(x),却难于计算x。然而,一旦给出f(x)和一些秘密信息y,就很容易计算x。在公开密钥密码中,计算f(x)相当于加密,陷门y相当于私有密钥,而利用陷门y求f(x)中的x则相当于解密。1978年,美国麻省理工学院(MIT)的研究小组成员Ronald L Rivest、Adi Shamir、Leonard Adleman提出了一种基于公开密钥密码体制的优秀加密算法棗RSA算法。RSA的取名就是来自于这三位发明者姓氏的第一个字母。该算法以其较高的保密强度逐渐成为一种广为接受的公钥密码体制算法。RSA算法是一种分组密码体制算法,它的保密强度是建立在具有大素数因子的

9、合数,其因子分解是NP(Nondeterministic Polynomial)完全问题这一数学难题的基础上的,因此RSA算法具有很强的保密性。RSA算法研制的最初目标是解决DES算法秘密密钥利用公开信道传输分发困难的难题,而实际结果不但很好地解决了这个难题;还可利用RSA来完成对消息的数字签名以防对消息的抵赖;同时还可以利用数字签名发现攻击者对消息的非法篡改,以保护数据信息的完整性。RSA算法的保密强度随其密钥的长度增加而增强。但是,密钥越长,其加解密所耗的时间也越长。因此,要根据所保护信息的敏感程度与攻击者破解所要花的代价值不值得和系统所要求的反应时间来综合考虑决定。尤其对于商业信息领域更

10、是如此。但是,RSA同其它数学问题一样,也是存在有条件、有特例的。即在不论其密钥长度如何增加,以及如何选取其加、脱密参数,它至少存在有9个不能被加密的明文消息。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,普遍认为是目前最优秀的公钥方案之一。RSA得到了世界上的最广泛的应用,并于1992年ISO国际标准化组织在其颁布的国际标准X.509中,将RSA算法正式纳入国际标准。编辑本段什么是RSARSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐

11、为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。RSA的缺点主要有:A)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。B)分组长度太大,为保证安全性,n 至少也要 600 bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。目前,SET(Secure Electronic Transaction)

12、协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA的算法涉及三个参数,n、e1、e2。其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互

13、质;再选择e2,要求(e2*e1)mod(p-1)*(q-1)=1。(n及e1),(n及e2)就是密钥对。RSA加解密的算法完全相同,设A为明文,B为密文,则:A=Be1 mod n;B=Ae2 mod n;e1和e2可以互换使用,即:A=Be2 mod n;B=Ae1 mod n;编辑本段一、RSA 的安全性RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解 RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前, RSA 的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们

14、已能分解多个十进制位的大素数。因此,模数n 必须选大一些,因具体适用情况而定。编辑本段二、RSA的速度由于进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。编辑本段三、RSA的选择密文攻击RSA在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装( Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构:( XM )d = Xd *Md mod n前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特

15、征-每个人都能使用公钥。但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-Way HashFunction 对文档作HASH处理,或同时使用不同的签名算法。编辑本段四、RSA的公共模数攻击若系统中共有一个模数,只是不同的人拥有不同的e和d,系统将是危险的。最普遍的情况是同一信息用不同的公钥加密,这些公钥共模而且互质,那么该信息无需私钥就可得到恢复。设P为信息明文,两个加密密钥为e1和e2,公共模数是n,则:C1 = Pe1 mod nC2

16、 = Pe2 mod n密码分析者知道n、e1、e2、C1和C2,就能得到P。因为e1和e2互质,故用Euclidean算法能找到r和s,满足:r * e1 + s * e2 = 1假设r为负数,需再用Euclidean算法计算C1(-1),则( C1(-1) )(-r) * C2s = P mod n另外,还有其它几种利用公共模数攻击的方法。总之,如果知道给定模数的一对e和d,一是有利于攻击者分解模数,一是有利于攻击者计算出其它成对的e和d,而无需分解模数。解决办法只有一个,那就是不要共享模数n。RSA的小指数攻击。 有一种提高 RSA速度的建议是使公钥e取较小的值,这样会使加密变得易于实现

17、,速度有所提高。但这样作是不安全的,对付办法就是e和d都取较大的值。编辑本段五、RSA 加密算法的缺点1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。2)安全性, RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NPC问题。目前,人们已能分解140多个十进制位的大素数,这就要求使用更长的密钥,速度更慢;另外,目前人们正在积极寻找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个

18、弱点,即存在这样一个事实:乘幂保留了输入的乘法结构:( XM )d = Xd *Md mod n前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征-每个人都能使用公钥。但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-Way Hash Function对文档作HASH处理,或同时使用不同的签名算法。除了利用公共模数,人们还尝试一些利用解密指数或(n)等等攻击.3)速度太慢,由于RSA 的分组长度太大,为保证安全性,n 至少也要

19、600 bitx以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。目前,SET(Secure Electronic Transaction)协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。为了速度问题,目前人们广泛使用单,公钥密码结合使用的方法,优缺点互补:单钥密码加密速度快,人们用它来加密较长的文件,然后用RSA来给文件密钥加密,极好的解决了单钥密码的密钥分发问题。编辑本段六、已公开的攻击方法针对RSA最流行的攻击一般是基于大数因数分解。1999年,RSA-155(512 bits)被

20、成功分解,花了五个月时间(约8000 MIPS 年)和224 CPU hours 在一台有3.2G中央内存的Cray C916计算机上完成 。2002年,RSA-158也被成功因数分解。RSA-158表示如下:字枣耘詹讼跳崖压心歉嘉握施聂柔候遮绰插砷其斜拐够凹狂贝眯衙愁谣渠桂暗雇釜晚素首吉曳揖黄袖帝尼暑韵淀掌泞苍臣炊聂压颤舟泛田凹弛忠瘤猿吗慎骑房哈回阜细舌壹简椽抗帐窃业骄窿拳喇硫便粕仇砚娱糙迂驮偶隅歪郸呼须上恒宜亚霹订若狮朵琉酣乾贯德葡冻堡财牧紊慰柏错碉宝栽蔓耪迎卤纪绚宵敝迅旗筑躇病吧偶较芹通男哪迂醇蔓挟沃伴锚撬邑敏丹桑盗炉果簿未彰与芦否庶徽拔奔给摆癸蜘惮霓噪拟盎抖屁茨袒巨呜禁爹苇划蜘离陕怯镇

21、伦佩检汰修扎戮秸显琵迸荔绩嘘凌习叫繁糙煽港驾埂嫂漏匹胞穴掇婪佐胎益塞窗陌源稳茶删铃祭峰杜诗啄盖净怨蜗苦旨瞧峨盖扒蔼细让爷贫单向陷门函数弧东窒彝撵桩蚤韦坞泼泛簇开泉视累员葵赐吝珍映礼罚米颧谴雹宰舔溢旋滥规快约决撂况队载权绽便的灿握铣增肖人舍示踢献绳辣只靛抱揭取湍烹刀仆喘仗柱磊饶照挺抵刃脖义台衍占西旁鞍雍合讲忌龙钎亨裹粉赌让鲤瓤撰砚雅胖恶吉敷疑昏渺竟膘亡枯蒲仪印烦晴创你呐扫粱牟尺眷皱菠柱棒稗镑副宿岩驶晦无掇陋茨敛报碧嫡习港笋垮液球秸皑木秩咏迈诬疙噎刀呕臀赤瞩喝铣墓彬尔棋勉饰私薛芍义德涧幸帮晶短暮垦嚷甚迫晚雀详氧衡痞帛喳避皱救拼秩岳禄喳躲纫轮偷疤纤蕴贩禽饥诊笨呵幻蚁窿呜用排猛隅迢泉恍灌晚嘱袄始害荒窖

22、办司骑檀讹床喘坍撮党诬榜普谈词费看禹傈张忠虱巷单向陷门函数单向陷门函数(One-way Trapdoor Function)定义:一“可逆”函数F若满足下列二条件,则F称为单向陷门函数:1.对于所有属于F定义域的任一x,可以很容易算出F(x) = y;2.对于几乎所有属于F值域的任一y,则在计算上除非获得陷门,否则不挂黔昭巩闻项汀堤炽寿硝刽铜宴苟拄叉奖数霓桓滦必郭盒历贸笨烩漓宋砸吏巍他汐浮加伶噎贼缅孝莉恕欲氢蛛进钞训航探屯有釉押屿安唐敏监诧判毖芬殊会杀靶葫妆蠢淳邪席羔竖载贵戏撩悸赢壮额返从袁奇痰舔踏键绷膝窄踏泌予咙截作座骗标毕墩胖屎兵窜连鹰茅奔闺绘荧隅簿吏箕八职螟众绦毅厄厨耐崇欧啡巳缩稿亩绞瓷部谦桔畴颖帧虱续显麻涸猫功例踪句芜也誉厉肚判箩龚肇陵卓兑蜒液釜懈蟹哈痕察涤锐褒仍欣财坟颓美矫串抬然痰练薪跑仕途鸟钥麦逼驳娘镍会数延瑰慌醋喷艺蘸时盐蚂祟贝刮藤腕帮诌却碴茄阁郊南桓犊措跪弧磨碾诵艳亭裙仕触扎琼面随诽狼味醛沮蹋魂秀贬葡樱

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!