RSA算法统一标准专业资料.doc
《RSA算法统一标准专业资料.doc》由会员分享,可在线阅读,更多相关《RSA算法统一标准专业资料.doc(78页珍藏版)》请在咨信网上搜索。
1、组织: PKI论坛 ()PKCS/PKIX中文翻译筹划论坛E-mail:译者: Cece版权:本中文翻译文档版权归PKI论坛注册顾客所共有。可以用于非商业用途自由转载,但必要保存本文档翻译及版权信息。如用于商业目,所得利润需用于PKI论坛发展。更改记录日期修改章节类型修改描述修改人/01/15C创立文档Cece* 修改类型分为 C-CREATE A - ADDED M - MODIFIED D - DELETEDPKCS #1 v2.1 RSA 算法原则RSA实验室6月14日目录目录21 简介42 符号53 密钥类型73.1 RSA 公钥73.2 RSA 私钥74 数据转换原语94.1 I2O
2、SP94.2 OS2IP95 密码原语105.1 加密和解密原语105.1.1 RSAEP105.1.2 RSADP115.2 签名和验证原语125.2.1 RSASP1125.2.1 RSAVP1136 方案概述137 加密方案147.1 RSAES-OAEP157.1.1 加密运算177.1.2 解密运算207.2 RSAES-PKCS1-v1_5217.2.1 加密运算227.2.2 解密运算238 带附属签名方案248.1 RSASSA-PSS258.1.1 签名生成运算268.1.2 签名验证运算278.2 RSASSA-PKCS1-v1_5288.2.1 签名生成运算298.2.2
3、 签名验证运算299 带附属签名编码办法319.1 EMSA-PSS319.1.1 编码运算339.1.2 验证操作349.2 EMSA-PKCS1-v1_535A ASN.1 语法37A.1 RSA 密钥表达37A.1.1 RSA公钥语法37A.1.2 RSA私钥语法37A.2 方案标记39A.2.1 RSAES-OAEP39A.2.2 RSAES-PKCS1-v1_542A.2.3 RSASSA-PSS42A.2.4 RSASSA-PKCS1-v1_543B 支撑技术44B.1 散列函数45B.2 掩模生成函数46B.2.1 MGF146C ASN.1 模块47D 知识产权因素55E 修订
4、历史56F 参照文档561 简介这篇文档是简介基于RSA算法42公钥密码系统实现办法,它涉及如下几种方面:l 密码原语l 加密方案l 带附属签名方案l 密钥和方案ASN.1描述本文档是为计算机和通信系统普通应用以及具备一定灵活性系统中普通应用所编写。但愿基于这些规范应用原则可以合用于其他规范。本篇文档拟定要与IEEE-1363- Error! Reference source not found.原则以及ANSI X9F1 Error! Reference source not found. 和IEEE P1363 Error! Reference source not found.工作组当前
5、正在开发草拟原则兼容。本文档是PKCS #1 V2.044后续版本,但是包括了兼容技术。下面所列为本篇文档组织构造:l 第一某些是简介。l 第二某些是对文档中使用到符号定义。l 第三某些详细阐明了RSA公钥和私钥类型。l 第四某些和第五某些详细阐明了几种原语,或者说是基本数学操作。第四某些详细阐明了数据转换原语,第五某些详细阐明了密码系统原语(加密解密、签名验证)。l 本文档中第六、七和八某些涉及加密和签名方案。第六某些是概述。连同在PKCS #1 V1.5中简介办法一起,第七某些定义了基于OAEP3加密方案和第八某些定义了基于PSS45带附属签名方案。.l 第九某些详细阐明了在第八某些中定义
6、签名方案编码办法。l 附录A详细阐明了关于在第三某些中定义密钥以及第七、八章中方案ASN.1描述。l 附录B详细阐明了本文档用到散列函数和掩模生成函数,涉及这些技术ASN.1描述。l 附录C给出一种ASN.1模块。l 附录D、E、F和G涉及知识产权问题,概述了PKCS #1修订历史,列出了其他参照出版物和原则,提供了关于公钥密码系统原则普通信息。2 符号c密文代表,是一种界于0n-1之间整数。C密文,是一种八位组串dRSA 私有幂di其他因子ri CRT幂,是一种满足下式正整数:e di 1 (mod (ri 1),i = 3,u dPpCRT幂,是一种满足下式正整数e dP 1 (mod (
7、p 1)dQqCRT幂,是一种满足下式正整数e dQ 1 (mod (q 1)eRSA公开幂EM编码后消息,是一种八位组串emBits(盼望) 编码消息EM 以比特为计量单位长度emLen(盼望)编码消息EM 以八位组为计量单位长度GCD (. ,.)两个非负整数最大公约数Hash哈希函数hLen散列函数Hash输出以八位组为计量单位长度kRSA合数模 n以八位组为计量单位长度KRSA 私钥L可选RSAES-OAEP 标签,是一种八位组串LCM (. , ,.)一系列非负整数最小公倍数m消息代表,是一种界于0到n 1整数M消息,是一种八位组串maskMGF输出,是一种字节串 maskLen(盼
8、望)掩模以八位组为计量单位长度MGF掩模生成函数mgfSeed生成掩模种子因数(seed),是一种八位组串mLen消息M 以八位组为计量单位长度 nRSA合数模, n = r1 r2 ru ,u 2(n,e)RSA公钥p,qRSA合数模 n前两个素数因子qInvCRT系数,是个满足下式且不大于p正整数 q qInv 1 (mod p)riRSA合数模 n素数因子, 涉及r1 = p,r2 = q,以及任何此外因子s签名代表,是一种位于 0到 n 1之间整数S签名,是一种八位组串sLenEMSA-PSS 盐(salt)以八位组为计量单位长度ti其他素数因数ri CRT系数, 是一种比ri 小正整
9、数,满足下式r1 r2 ri1 ti 1 (mod ri) ,i = 3,uuRSA合数模素数因子个数,u 2x一种非负整数X与x 相应一种八位组串xLen(指定)八位组串X 长度0x一种八位组或八位组串十六进制表达法标志;“0x48” 表达十六进制值为48字节;“(0x)48 09 0e” 表达三个持续字节,它们十六进制值分别为48,09,和0el(n)LCM (r1 1,r2 1, ,ru 1)两个八位组串位异或操作 . 取整函数;x 是一种不不大于或等于实数x 最小整数。 |或操作同余符号;a b (mod n) 表达能用整数n整除整数a b注释:CRT既可以用于递归方式,也可以用于非递
10、归方式。在本篇文档中使用了在Garner算法Error! Reference source not found.之后一种递归方式。请参看Error! Reference source not found.节中注释1。3 密钥类型在本篇文档定义原语和方案中,使用了两种密钥类型:RSA公钥和RSA私钥。RSA公钥和RSA私钥一起构成一种RSA密钥对。本篇规范支持所谓“多素数”RSA,这种RSA合数模也许由两个以上素数因子构成。多素数RSA长处在于,当使用CRT(中华人民共和国余数定理),它就能减少解密和签名原语计算开销。这在单解决器平台上能获得更好性能,但是在多解决器平台上不一定,在多解决器平台上
11、可以并行解决合数模幂运算。至于多素数如何影响RSA密码系统安全性,请读者参照49。3.1 RSA 公钥为了这篇文档起见,一种RSA公钥由两某些构成:nRSA合数模,是一种正整数eRSA公开幂,是一种正整数在一种有效RSA公钥中,RSA合数模n是由u 个不同奇素数ri生成,i = 1,2,u,其中u 2,而RSA公开幂e是一种位于3n 1之间整数,满足GCD (e,l(n) = 1,其中l(n) = LCM (r1 1,ru 1)。按照惯例,通惯用p 和q分别合数模前两个素数因子r1 和r2。在设备之间互换RSA公钥一种推荐描述在附录Error! Reference source not fou
12、nd.中给出;设备中内部表达也许不同。3.2 RSA 私钥为了本篇文档起见,一种RSA私钥可以采用两种表达法中任何一种。1. 第一种表达法由一对整数(n,d)构成,各某些意义如下:nRSA合数模,是一种正整数d RSA私有幂,是一种正整数2. 第二种表达法由一种五元组(p,q,dP,dQ,qInv)和一系列(也许为空)三元组 (ri,di,ti) i = 3,u构成,三元组每个素数不出当前五元组中,各某些意义如下: p 第一种因子,是一种正整数 q 第二个因子,是一种正整数dP第一种因子CRT幂,是一种正整数dQ第二个因子CRT幂,是一种正整数qInv(第一种)CRT系数,是一种正整数ri第i
13、个因子,,是一种正整数di第i个因子 CRT幂,是一种正整数ti 第i个因子 CRT系数,是一种正整数当采用第一种表达法表达时,有效RSA私钥RSA合数模 n与相应RSA公钥RSA合数模n同样,是由u个不同奇素数ri 产生,i = 1,2,u,其中u 2。RSA私有幂 d是一种不大于n正整数,满足e d 1 (mod l(n) ,其中e是相应RSA公开幂,l(n)和第3.1中定义同样。当用第二种表达法表达时,RSA私钥两个因素p 和q是RSA合数模 n前两个素数(也就是 r1 和 r2),CRT幂 dP 和dQ是不大于p 和q正整数,分别满足e dP 1 (mod (p 1) e dQ 1 (
14、mod (q 1) ,CRT系数qInv是一种不大于p正整数,满足q qInv 1 (mod p) 。如果u 2,表达法中将涉及一种或各种三元组 (ri,di,ti),i = 3,u。因子ri是RSA合数模 n一种其他素数因子。每一种CRT幂 di (i = 3,u),满足e di 1 (mod (ri 1) 。每个CRT系数ti (i = 3,u)是一种不大于ri正整数,满足Ri ti 1 (mod ri) ,其中Ri = r1 r2 ri1。在设备之间互换RSA私钥推荐描述(涉及两种表达法构成某些)在附录Error! Reference source not found.中给出;设备内部表
15、达也许不同。注释:1. 这里CRT系数定义以及第5某些原语中使用到程式遵循Garner算法Error! Reference source not found.(也可参见Error! Reference source not found.算法14.71)。然而,为了与PKCS #1 v2.0及之前版本中RSA私钥表达法兼容,p 和q 角色被保存了,这与其他素数不同样。因而,第一种CRT系数qInv被定义成是q mod p倒数(inverse),而不是r1 mod r2倒数(也就是p mod q倒数)。2. Quisquater 和Couvreur Error! Reference source
16、not found. 注意到在RSA运算中使用中华人民共和国剩余定理长处。4 数据转换原语本篇文档所定义模式中使用了两个数据转换原语:l I2OSP 整数到字节串转换原语l OS2IP 字节串到整数转换原语为了本篇文档起见,也为了与ASN.1语法一致,一种八位组串是指一种有顺序八位组(八位比特构成一种字节)序列。整个序列从第一位(普通是最左边一位)到最后一位(最右边一位)编入索引。为了转换为整数以及转换整数,在接下来转换原语中第一种八位组被以为是最重要。4.1 I2OSPI2OSP把一种非负整数转换为一种长度指定字节串。I2OSP (x,xLen)输入:x待转换非负整数xLen转换后八位组串盼
17、望长度输出:X相应长度为xLen 八位组串错误信息:“整数太大”环节:1. 如果 x 256xLen,输出“整数太大”然后终结。2. 用以256为基数xLen位数表达整数x :x = xxLen1 256xLen1 + xxLen2 256xLen2 + + x1 256 + x0 ,其中 0 xi 2, 使 mi = cdi mod ri,i = 3,u。iii. 使h = (m1 m2) qInv mod p。iv. 使 m = m2 + q h。v. 如果u 2,使R = r1 , 令i = 3 然后循环做如下各环节,直至i= u 1. 使R = R ri12. 使h = (mi m)
18、ti (mod ri)3. 使m = m + R h4. 使i=i+13. 输出m。注释:如果保存了p和q定义,环节2.a可以写成单个循环。然而,为了与PKCS #1 v2.0兼容,前两个素数p和q与其他素数分开解决。5.2 签名和验证原语签名原语在私钥控制下从消息代表产生一种签名代表,而验证原语是在相应公钥控制下从签名代表恢复出消息代表。本篇文档定义签名方案中使用了一对签名和验证原语,被描述为: RSASP1/RSAVP1。这里定义原语与IEEE 1363- Error! Reference source not found.中定义IFSP-RSA1/IFVP-RSA1是同样(所不同是这里原
19、语增长了对多原语RSA支持),并且与PKCS #1 v1.5兼容。在每个原语中重要数学操作是幂操作,这一点和Error! Reference source not found.某些中加密和解密原语同样。RSASP1和RSAVP1与RSADP和RSAEP除了输入和输出参数名称不同样之外,其他各方面都同样;它们区别在于它们是为不同目而编写。5.2.1 RSASP1RSASP1 (K,m)输入:KRSA私钥,这里K具备如下形式之一: 一对(n,d) 一种五元组(p,q,dP,dQ,qInv)和一系列也许为空三元组(ri,di,ti), i = 3,um消息代表,是一种位于0 n 1之间整数输出:s
20、签名代表,是一种位于0 n 1之间整数出错提示:“消息代表超过范畴”假设:RSA 私钥K有效环节:1. 如果消息代表m 不在0 n 1之间,输出“消息代表超过范畴” 然后终结运算。2. 签名代表s由如下环节计算得出。a. 如果K采用第一种形式(n,d), 使s = md mod n。b. 如果K采用第二种形式(p,q,dP,dQ,qInv)和 (ri,di,ti),则按照如下环节进行:i. 使s1 = mdP mod p ,s2 = mdQ mod q。ii. 如果u 2,让si = mdi mod ri,i = 3,u。iii. 让h = (s1 s2) qInv mod p.iv. 让s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RSA 算法 统一标准 专业 资料
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。