CN102279840B - 一种适用于信息加密技术应用的素数族快速生成方法 - Google Patents

一种适用于信息加密技术应用的素数族快速生成方法 Download PDF

Info

Publication number
CN102279840B
CN102279840B CN201110253413.7A CN201110253413A CN102279840B CN 102279840 B CN102279840 B CN 102279840B CN 201110253413 A CN201110253413 A CN 201110253413A CN 102279840 B CN102279840 B CN 102279840B
Authority
CN
China
Prior art keywords
prime number
prime
family
user
select
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.)
Expired - Fee Related
Application number
CN201110253413.7A
Other languages
English (en)
Other versions
CN102279840A (zh
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201110253413.7A priority Critical patent/CN102279840B/zh
Publication of CN102279840A publication Critical patent/CN102279840A/zh
Application granted granted Critical
Publication of CN102279840B publication Critical patent/CN102279840B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公布了一种适用于信息加密技术应用的素数族快速生成方法,通过选择模M=30的缩剩余系,建立可能素数族;并根据可能素数族中合数的分布规律和特点,可筛选出可能素数族中的全部合数,从而实现准确、快速、完整生成计算机存储限定范围内的任意区段的全部素数;在信息安全和密码学领域,大素数获取和提供是公钥算法中必不可少的流程之一;传统方法每次只能提供单个素数,而且大多数必须进行素性检测,运算时间过长,本发明方法应用计算机软件经过简单的筛选运算即可生成素数族,从而在计算机上实现了无复杂运算的快速生成;不仅省去了素性检测环节,而且不再受素数产生技术的限制,从而可做到一次一密,有利于相关公钥体系的完美发挥。

Description

一种适用于信息加密技术应用的素数族快速生成方法
技术领域
本发明涉及信息安全和密码学领域,特别是涉及一种适用于信息加密技术应用的素数族快速生成方法。
背景技术
从1976年Diffie和Hellman提出了公钥密码新概念以来,各类公开密钥体系在现实社会人们的日常生活和工作领域得到广泛应用,并在保证信息、网络安全中起到重要作用。在公钥算法中,如RSA、EL Gamal,Schnorr和Fint Schamir,都需要一个或者多个大素数运算得到算法协议中的密钥,例如RSA公钥密码体制就是基于这种假设:找到两个大的素数相对不是很难,但是把一个大的合数分解成它的素因子形式却极为困难。这个体制运行如下:
C=Me(mod N)
M=Cd(mod N)
其中,M是明文;C是密文;N=p·q是模数,p和q是不同的大素数;e是公开的加密指数(密钥),d是私有的解密指数(密钥)且满足ed≡1(modφ(N)),(N,e)必须公开,但是d(还有φ(N))需要保密。由于函数f:M→C是单向陷门函数,因为由快速指数算法它是容易计算的,而它的逆f-1:C→M是难以计算的,对于不知道解密密钥(陷门信息)d的人而言,为了找到d他们将不得不对n进行因式分解,并计算φ(n),然而对于那些知道d的人而言,则f-1的计算如同f的计算一样的简单,这就是RSA密码思想。因此,大素数获取和提供是公钥算法中必不可少的流程之一。
目前,产生素数的方法可分为以下两类:
(1)确定性素数产生方法:基于Pocklington定理和基于Lucas定理的确定性素数产生方法都需要已知n-1的全部素数。它的缺点是产生的素数带有一定的限制,如果算法不当,构造的素数容易产生规律性,使密码分析人员可以容易地追踪到素数的变化,直接猜测到RSA系统所使用的素数。
(2)概率性素数产生方法:这一类算法研究得较多,是当今生成素数的主要算法。该方法是首先产生一个大的随机数,然后再通过Solovay-Strassen或Miller-Rabin算法进行素性测试,以最终确定其是否素数。它的缺点是产生的数不一定是素数,往往需要多次运算此算法以降低错误概率。
这两类方法的共同缺点是:运算时间总体过长,且每次只能提供单个素数,无法为密钥算法提供更多的选择。
通过检索,查到专利申请号:200910057887.7“适用于密码学应用的素数生成方法”的专利申请,其公开了一种适用于密码学应用的素数生成方法。该方法是将随机数和一系列小素数通过求最大公约数的方法进行素数预检测,仅当该随机数与这些小素数都互素时能够通过素数预检测。该方法是对公知的概率性素数产生方法做出了一些改进,但每次仍只能生成一个素数,仍需进行素性检测,而且节省的时间也相对有限。
1986年,本人在“可能素数表及其应用”一篇论文中曾在理论上探讨过建立大素数族的设想和思路,至今仍未见到类似的发明。本发明是在原有理论基础上在实际应用中的突破。
本发明就是公开一种适用于信息加密技术应用的素数族快速生成方法。
发明内容
针对现有技术的不足和缺陷,本发明就是提供一种适用于信息加密技术应用的素数族快速生成方法。能够提供计算机存储空间限定范围内任意区段的全部素数和满足加密技术特点要求的大素数族,可为生成密钥所需的大素数提供更多的选择;同时,省去常规素数生成方法必须采用的素性检测环节;应用计算机软件经过简单的筛选运算生成素数族,从而在计算机上实现了无复杂运算的快速生成。
为解决上述技术问题,本发明的一种适用于信息加密技术应用的素数族快速生成方法是采用如下技术方案实现的:
步骤1,压缩正整数,建立模M=30的缩剩余系。选取M=30为模,求其对正整数的同余类,并做出其缩剩余系,由Euler函数
Figure BSA00000565204900031
从而可形成八个等差数列;
步骤2,建立可能素数族。在与模M=30互素的八类中各取出一个代表数a1,...,a8,它们依次为
1、7、11、13、17、19、23、29
于是7以上的素数p均可用模M=30的缩剩余系表出,即
P = a 1 · · · a 8 mod 30
本发明将上式表示的全部数值定义为可能素数族,并记作Kp,于是有
Kp=a+30(n-1)式中,n≥1,a<30、且(a,30)=1;
步骤3,根据计算机存储空间的许可和实际需要,可选定30n为最大取值范围;
步骤4,生成可能素数族Kp1,Kp2,…,Kpi,i=1,2,…,i,Kpi≤30n-1;
步骤5,可能素数族中的“1”是一个特殊数,而非素数,予以删除;
步骤6,采用删除法,删除可能素数族中的合数。按照可能素数族Kp1,Kp2,…,Kpi的数值大小,从小至大,依次进行如下操作:根据含Kpi因子的合数的分布特点,保留Kpi,而将含Kpi因子的合数全部删除,直至我们要选择的范围30n;
步骤7,可能素数族Kp1,Kp2,…,Kpi中的任一数值,一旦已在前面的操作过程中被删除后,即不再保留,也不再重复上述操作;
步骤8,删除操作直到选择范围30n内的最大素因子Kpm,根据含Kpm因子的合数的分布特点,保留Kpm,而将含Kpm因子的合数删除,直至我们要选择的范围30n,其中
Figure BSA00000565204900041
步骤9,经上述系列删除处理后,未被删除的数全都是素数,通过整序,存入计算机固定的存储单元内;
步骤10,根据用户需求,可提供全部和任意区段的素数族。
本发明的有益效果:采用本发明的一种适用于信息加密技术应用的素数族生成方法,不同于只能生成单个素数的传统素数生成方法,而是可生成全部素数或所需的任意区段的素数,增强了可选性,不再受素数产生技术的限制,从而可做到一次一密,有利于相关公钥体系的完美发挥;不同于传统素数生成方法必须进行繁复的素性检测,而是勿需进行素性检测即可保证正确;不同于传统素数生成方法必须进行大量的耗时过多的运算,而是应用计算机软件经过简单的筛选运算生成素数族、勿需任何复杂运算,因此可以快速生成;从而能极大地推动相关公钥体系信息加密技术的应用。在不脱离本发明原理的情况下,本领域技术人员还可以做出许多变形和改进,这些也应视为本发明的保护范围。
附图说明
下面结合附表和附图与具体实施方式对本发明作进一步详细的说明;
图1是本发明的素数族生成总体流程图;
具体实施方式
本发明的一种适用于信息加密技术应用的素数族快速生成方法是采用如下技术方案实现的:
步骤1,压缩正整数,建立模M=30的缩剩余系。选取M=30为模,求其对正整数的同余类,并做出其缩剩余系,由Euler函数
Figure BSA00000565204900042
从而可形成八个等差数列;
步骤2,建立可能素数族。在与模M=30互素的八类中各取出一个代表数a1,...,a8,它们依次为
1、7、11、13、17、19、23、29
于是7以上的素数p均可用模M=30的缩剩余系表出,即
P = a 1 · · · a 8 mod 30
本发明将上式表示的全部数值定义为可能素数族,并记作Kp,于是有
Kp=a+30(n-1)     式中,n≥1,a<30、且(a,30)=1;
步骤3,根据计算机存储空间的许可和实际需要,可选定30n为最大取值范围;
步骤4,生成可能素数族Kp1,Kp2,…,Kpi,i=1,2,…,i,Kpi≤30n-1;
步骤5,可能素数族中的“1”是一个特殊数,而非素数,予以删除;
步骤6,采用删除法,删除可能素数族中的合数。按照可能素数族Kp1,Kp2,…,Kpi的数值大小,从小至大,依次进行如下操作:根据含Kpi因子的合数的分布特点,保留Kpi,而将含Kpi因子的合数全部删除,直至我们要选择的范围30n;
步骤7,可能素数族Kp1,Kp2,…,Kpi中的任一数值,一旦已在前面的操作过程中被删除后,即不再保留,也不再重复上述操作;
步骤8,删除操作直到选择范围30n内的最大素因子Kpm,根据含Kpm因子的合数的分布特点,保留Kpm,而将含Kpm因子的合数删除,直至我们要选择的范围30n,
Figure BSA00000565204900053
步骤9,经上述系列删除处理后,未被删除的数全都是素数,通过整序,存入计算机固定的存储单元内;
步骤10,根据用户需求,可提供全部和任意区段的素数族。
下面是利用大素数建立RSA密码系统的基本原理,需要完成下列步骤:
(1)从本方法提供的素数族中随机选择或挑选两个不相同的大素数p和q;
(2)计算N=pq;
(3)根据欧拉函数,不大于N而且与N互质的整数个数
Figure BSA00000565204900061
(4)选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1);
(5)用以下公式计算d:d×e≡1(mod(p-1)(q-1));
(6)将p和q的纪录销毁;
(N,e)是公钥,(N,d)是私钥,(N,d)是秘密的,用户A将他的公钥(N,e)传给用户B,而将他的私钥(N,d)密藏起来。
加密消息:假设用户B想给用户A发送一个消息m,他知道用户A产生的N和e。他使用预先与用户A约定好的格式将m转换为一个小于N的整数M,比如他可以将每一个字转换为这个字的Unicode码,然后将这些数字连在一起组成一个数字。假如他的信息非常长的话,他可以将这个信息分为几段,然后将每一段转换为M。用下面这个公式他可以将M加密为C:
Me≡C(mod N)
计算c并不复杂。用户B算出C后就可以将它传递给用户A。
解密消息:用户A得到用户B的消息C后就可以利用他的密钥d来解码。他可以用以下这个公式来将C转换为M:
Cd≡M(mod N)
得到M后,他可以将原来的信息m重新复原。
下面是RSA算法的一个简单应用示例:
(1)选择两个素数:p=11,q=13
(2)计算p和q的乘积:n=p×q=11×13=143
(3)计算秘密的欧拉函数:
Figure BSA00000565204900062
(4)选择e,e必须小于且与
Figure BSA00000565204900064
互质,本例中选取e=7,作为公钥;
(5)决定d,使(d×e)mod 120=1,且d<120,正确值为d=103,作为私钥;
因为103×7=721=6×120+1=1(mod120)
(143,7)这组数作为公钥,是公开的;(143,103)这组数作为私钥,是保密的;
如发送明文x=85,利用(n,e)=(143,7)计算出加密值:
y=xe(modN)=857mod143=123
收到密文y=123后,利用(n,d)=(143,103)计算明文:
x=yd(modN)=123103mod143=85
在所述的一种适用于信息加密技术应用的素数族生成方法中,将模M=30的缩剩余系生成的八个等差数列按下述方式排列(参见表1),从而生成了本发明的可能素数族。(在正整数范围内筛除掉2、3、5及其它们的倍数,但7以上的素数尽在其中)。按照此方法排列,表中含Kpi因子(1除外)的合数的分布有如下特点:
①以某Kpi为因数的合数在数表中按周期变化重复出现,其周期长度,即占有列数恰好与该Kpi的数值相等;
②在每一周期内,必有八个而且仅有八个以该Kpi为因数的合数。在始周期,Kpi自身占据了一个合数位置;
③在每一周期,这八个合数平均分布于各行,即一个周期内,各行只能出现一个以该Kpi为因数的合数;
④在同一行内,以该Kpi做主乘因数的合数,它的另一个因数的数值则是随着周期增加而递增30。
根据含Kpi因子(1除外)的合数在可能素数族中的分布特点,可以依次将其全部删除,而勿需任何复杂运算。从而生成30n以内的全部素数族。图1所示是本发明的素数族生成总体流程图。
表1是本发明的可能素数族生成表;
表1:
Figure BSA00000565204900081
采用本发明的一种适用于信息加密技术应用的素数族生成方法,不同于只能生成单个素数的传统素数生成方法,而是可生成全部素数或所需的任意区段的素数,增强了可选性,不再受素数产生技术的限制,从而可做到一次一密,有利于相关公钥体系的完美发挥;不同于传统素数生成方法必须进行繁复的素性检测,而是勿需进行素性检测即可保证正确;不同于传统素数生成方法必须进行大量的耗时过多的运算,而是应用计算机软件经过简单的筛选运算生成素数族、勿需任何复杂运算,因此可以快速生成;从而能极大地推动相关公钥体系信息加密技术的应用。在不脱离本发明原理的情况下,本领域技术人员还可以做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (1)

1.一种适用于信息加密技术应用的素数族快速生成方法,其特征是: 
步骤1,压缩正整数,建立模m=30的缩剩余系;选取m=30为模,求其对正整数的同余类,并做出其缩剩余系,由Euler函数 
Figure FSB0000124137210000011
从而可形成八个等差数列; 
步骤2,建立可能素数族;在与模m=30互素的八类中各取出一个代表数a1,…,a8,它们依次为 
1、7、11、13、17、19、23、29 
于是7以上的素数p均可用模m=30的缩剩余系表出,即 
Figure FSB0000124137210000013
本发明将上式表示的全部数值定义为可能素数族,并记作Kp,于是有 
Kp=a+30(n-1)式中,n≥1,a<30、且(a,30)=1; 
步骤3,根据计算机存储空间的许可和实际需要,可选定30n为最大取值范围; 
步骤4,生成可能素数族Kp1,Kp2,…,Kpi,i=1,2,…,i,Kpi≤30n-1; 
步骤5,可能素数族中的“1”是一个特殊数,而非素数,予以删除; 
步骤6,采用删除法,删除可能素数族中的合数;按照可能素数族Kp1,Kp2,…,Kpi的数值大小,从小至大,依次进行如下操作:根据含Kpi因子的合数的分布特点,保留Kpi,而将含Kpi因子的合数全部删除,直至我们要选择的范围30n; 
步骤7,可能素数族Kp1,Kp2,…,Kpi中的任一数值,一旦已在前面的操 作过程中被删除后,即不再保留,也不再重复上述步骤6的操作; 
步骤8,删除操作直到选择范围30n内的最大素因子Kpm,根据含Kpm因子的合数的分布特点,保留Kpm,而将含Kpm因子的合数删除,直至我们要选择的范围30n,
Figure FSB0000124137210000021
步骤9,经删除处理后,未被删除的数全都是素数,通过整序,存入计算机固定的存储单元内; 
步骤10,根据用户需求,可提供全部和任意区段的素数族; 
步骤11,利用大素数建立RSA密码系统的基本原理,完成下列步骤: 
(1)从步骤10提供的素数族中随机选择或挑选两个不相同的大素数p和q; 
(2)计算N=pq; 
(3)根据欧拉函数,不大于N而且与N互质的整数个数
Figure FSB0000124137210000022
(4)选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1); 
(5)用以下公式计算d:d×e≡1(mod(p-1)(q-1)); 
(6)将p和q的纪录销毁; 
(N,e)是公钥,(N,d)是私钥,(N,d)是秘密的,用户A将他的公钥(N,e)传给用户B,而将他的私钥(N,d)密藏起来; 
加密消息:假设用户B想给用户A发送一个消息m,他知道用户A产生的N和e;他使用预先与用户A约定好的格式将m转换为一个小于N的整数M,比如他可以将每一个字转换为这个字的Unicode码,然后将这些数字连在一起组成一个数字;假如他的信息非常长的话,他可以将这个信息分为几段,然后将每一段转换为M;用下面这个公式他可以将M加密为C: 
Me≡C(mod N) 
计算C并不复杂,用户B算出C后就可以将它传递给用户A; 
解密消息:用户A得到用户B的消息C后就可以利用他自己的密钥d来解码;他可以用以下这个公式来将C转换为M: 
Cd≡M(mod N) 
得到M后,他可以将原来的信息m重新复原。 
CN201110253413.7A 2011-08-31 2011-08-31 一种适用于信息加密技术应用的素数族快速生成方法 Expired - Fee Related CN102279840B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110253413.7A CN102279840B (zh) 2011-08-31 2011-08-31 一种适用于信息加密技术应用的素数族快速生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110253413.7A CN102279840B (zh) 2011-08-31 2011-08-31 一种适用于信息加密技术应用的素数族快速生成方法

Publications (2)

Publication Number Publication Date
CN102279840A CN102279840A (zh) 2011-12-14
CN102279840B true CN102279840B (zh) 2014-06-18

Family

ID=45105295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110253413.7A Expired - Fee Related CN102279840B (zh) 2011-08-31 2011-08-31 一种适用于信息加密技术应用的素数族快速生成方法

Country Status (1)

Country Link
CN (1) CN102279840B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108964915A (zh) * 2018-05-07 2018-12-07 浙江大学 一种基于二维码辅助的印刷品无障碍交互方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591618B (zh) 2011-12-23 2014-12-10 飞天诚信科技股份有限公司 一种在嵌入式系统中生成大素数的方法
CN102769528A (zh) * 2012-06-15 2012-11-07 刘诗章 基于密码学技术应用的大数快速分解方法
CN103873239B (zh) * 2014-03-31 2018-02-23 刘诗章 基于偶数公钥密码体制应用的偶数素数对的快速生成方法
CN105071928A (zh) * 2015-07-08 2015-11-18 路博超 一种基于fpga的大素数暨大素数族的快速生成方法
CN105871552A (zh) * 2016-06-14 2016-08-17 天津大学 双核并行rsa密码处理方法及协处理器
CN106411955B (zh) * 2016-12-01 2019-07-23 微鲸科技有限公司 一种基于模m同余类环的账号生成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937493A (zh) * 2006-09-27 2007-03-28 深圳兆日技术有限公司 一种实现快速大素数生成的rsa加密方法
CN102023962A (zh) * 2009-09-10 2011-04-20 上海华虹集成电路有限责任公司 适用于密码学应用的素数生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937493A (zh) * 2006-09-27 2007-03-28 深圳兆日技术有限公司 一种实现快速大素数生成的rsa加密方法
CN102023962A (zh) * 2009-09-10 2011-04-20 上海华虹集成电路有限责任公司 适用于密码学应用的素数生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘诗章等.可能素数表及其应用.《工业技术经济》.1986,(第02期),35-38页.
可能素数表及其应用;刘诗章等;《工业技术经济》;19860228(第02期);第35-38页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108964915A (zh) * 2018-05-07 2018-12-07 浙江大学 一种基于二维码辅助的印刷品无障碍交互方法

Also Published As

Publication number Publication date
CN102279840A (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
CN102279840B (zh) 一种适用于信息加密技术应用的素数族快速生成方法
NL2013944B1 (en) Public-key encryption system.
CN103490883B (zh) 一种多变量公钥加密/解密系统及加密/解密方法
CN106100844A (zh) 基于点盲化方法的优化自动双线性对加密方法及装置
CN104135473A (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
Hofheinz et al. Practical chosen ciphertext secure encryption from factoring
Kumar et al. A cryptographic model based on logistic map and a 3-D matrix
CN110750797A (zh) 基于组合加密的云数据库加密方法
CN103973439A (zh) 一种多变量公钥加密方法
CN102769528A (zh) 基于密码学技术应用的大数快速分解方法
JunLi et al. Email encryption system based on hybrid AES and ECC
Deepthi et al. Design, implementation and analysis of hardware efficient stream ciphers using LFSR based hash functions
Dua et al. A study of applications based on elliptic curve cryptography
CN109756335A (zh) 一种阶为梅森素数的有限域乘法群的公钥加密解密方法
CN109040041A (zh) 数据分层加密装置及相关电子装置、存储介质
CN108270565A (zh) 一种数据混合加密方法
CN104980271B (zh) 一种云计算中基于Batch RSA的乘法运算方法及系统
CN104468100A (zh) 改进的滑动窗口模幂计算方法
CN108494556A (zh) 一种高效的rsa算法加密元数据文件的方法
Rastaghi An efficient CCA2-secure variant of the McEliece cryptosystem in the standard model
CN114499822A (zh) 一种多源数据的高效外包聚合及指定获取方法
CN114244567A (zh) 一种云环境中支持电路结构的cp-abe方法
Li et al. A novel algorithm for scalar multiplication in ECDSA
Ciss et al. Randomness extraction in elliptic curves and secret key derivation at the end of Diffie-Hellman protocol
Zhao et al. New assumptions and efficient cryptosystems from the e-th power residue symbol

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140618

CF01 Termination of patent right due to non-payment of annual fee