[发明专利]一种实现RSA密码体制的大数求模方法有效
申请号: | 201310205216.7 | 申请日: | 2013-05-28 |
公开(公告)号: | CN103294448A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 蒋声障;张登峰;余杭军 | 申请(专利权)人: | 福建升腾资讯有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;H04L9/06 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福建省福州市仓山区金*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种实现RSA密码体制的大数求模方法,首先进行RSA加解密算法的初始化;取得模值n的有效比特长度值k;将2^(2k)除以n得到单位商值Q0;整数a输入到整数寄存器,且整数a≤2^(2k);将a的低k位比特忽略后,取得高部数据D1;将D1和Q0相乘的结果忽略低k位比特后,得出一准商值Q1;将Q1和n相乘得到的结果取低(k+3)位比特后得出近似整数值D2;取得a的低(k+3)位比特后的低部数据D3;计算D3与D2两者相减的差值记为余数R0;R0与n进行对比,得出数求模值R;将所述大数求模值R输入到输出模块,完成大数求模。本发明的优点在,速度快,消耗内存小。 | ||
搜索关键词: | 一种 实现 rsa 密码 体制 大数 方法 | ||
【主权项】:
一种实现RSA密码体制的大数求模方法,其特征在于:包括:整数寄存器:用于存储待求模的整数a;模值寄存器:用于存储模值n,模值寄存器中的数据在RSA加解密算法运算过程中保持不变;模值有效比特长度计算模块:用于计算所述模值n在二进制表示下的有效比特长度值k;单位商计算模块:用于计算2^(2k)除以所述模值n的所得到的单位商值Q0;单位商寄存器:用于存储所述单位商值Q0;取大数高部模块:用于取得所述整数a忽略低k位比特后的高部数据D1;整数高部寄存器:用于存储所述高部数据D1;取大数低部模块:用于取得所述整数a的低(k+3)位比特后的低部数据D3;整数低部寄存器:用于存储所述低部数据D3;乘法忽略低部模块:用于计算所述高部数据D1和商值Q0相乘的积值M1,并将该积值M1忽略低k位比特后,得出一准商值Q1;准商寄存器:用于存储所述准商值Q1;乘法计算低部模块:用于计算所述准商值Q1和所述模值n相乘的积值M2,并取得该积值M2的低(k+3)位比特后的近似整数值D2;近似整数寄存器:用于存储所述近似整数值D2;数据相减模块:用于计算所述低部数据D3与近似整数值D2相减的差值,并将该差值记为余数R0;余数寄存器:用于存储所述余数R0;误差修正模块:用于依据所述模值n对所述余数R0进行误差修正,得出余数修正值R1;误差修正结果寄存器:用于存储所述余数修正值R1;输出模块:将所述误差修正结果寄存器内的余数修正值R1记为大数模值R输出结果;该方法具体包括如下步骤:步骤10、进行RSA加解密算法的初始化;所述模值n输入到模值寄存器;所述模值n通过所述有效比特长度计算模块得到该模值n的有效比特长度值k;将2^(2k)除以所述模值n所得到的单位商值Q0输入到所述单位商寄存器;步骤20、所述整数a输入到所述整数寄存器,且所述整数a≤2^(2k);步骤30、所述整数a、有效比特长度值k输入到所述取大数高部模块;所述取大数高部模块将所述整数a的低k位比特忽略后,取得高部数据D1;步骤40、所述高部数据D1、单位商值Q0、有效比特长度值k输入到所述乘法忽略低部模块;所述高部数据D1和商值Q0相乘得到积值M1,并将该积值M1忽略低k位比特后,得出一准商值Q1;步骤50、所述准商值Q1、模值n输入到所述乘法计算低部模块;所述准商值Q1和模值n相乘得到积值M2,并取得该积值M2的低(k+3)位比特后的近似整数值D2;步骤60、所述整数a输入到取大数低部模块;取得所述整数a的低(k+3)位比特后的低部数据D3;步骤70、所述低部数据D3、近似整数值D2输入到数据相减模块;计算所述低部数据D3与近似整数值D2两者相减的差值,并将该差值记为余数R0;步骤80、所述余数R0输入到所述误差修正模块;余数R0与模值n进行对比;当R0≥n时,进入步骤81;当R0<n时,进入步骤82;步骤81、所述余数R0减去模值n的结果记为余数修正值R1,并判断该余数修正值R1是否小于模数n;当R1≥n时,将该余数修正值R1记为余数R0,返回步骤80,并指示仍需修正;当R1<n时,将该余数修正值R1记为大数求模值R输出至所述误差修正结果寄存器,并指示无需修正;进入步 骤90;步骤82、所述余数R0记为大数求模值R输出至所述误差修正结果寄存器,并指示无需修正;进入步骤90;步骤90、将所述大数求模值R输入到输出模块,完成大数求模。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建升腾资讯有限公司,未经福建升腾资讯有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310205216.7/,转载请声明来源钻瓜专利网。