CN108776583B - π小数点后面位数的随机数表建立方法 - Google Patents
π小数点后面位数的随机数表建立方法 Download PDFInfo
- Publication number
- CN108776583B CN108776583B CN201810581159.5A CN201810581159A CN108776583B CN 108776583 B CN108776583 B CN 108776583B CN 201810581159 A CN201810581159 A CN 201810581159A CN 108776583 B CN108776583 B CN 108776583B
- Authority
- CN
- China
- Prior art keywords
- encryption
- matrix
- decimal
- behind
- decimal point
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了π小数点后面位数的随机数表建立方法,包括以下步骤:建立π小数点后面位数(0,1,2,3,4,5,6,7,8,9)的存储结构;圆周率小数位是一组无限不循环的整数,任意取其中某段数字即可生成随机数表,建立随机数表在密码学中的应用和密码保护等级;π小数点后面位数随机根据密码构建,随机密码构建流程,密码学应用过程算法解密;构建程序进行实现,多种方式检索π小数点后面位数的数据,同时提供区间检索,统计π小数点后面位数的0、1、2、3、4、5、6、7、8、9的分布,在3万位到10万位之间区间规律,对加密随机的破解难度加大,且不同等级的加密算法可适应于不同的领域。
Description
技术领域
本发明涉及到随机数表建立方法,特别涉及π小数点后面位数的随机数表建立方法。
背景技术
近年来,随着计算机技术的快速发展,计算机应用在各个领域不断深入,其计算精度要求越来越高,π在计算精确度方面的应用亦十分广泛,如光学应用,坐标精确定位应用,然而π小数点后面数字随机性用于建立的随机数表在查询π小数点后面位数的速度,尤其是10万位小数以内,进行区间检索的速度较慢,没有完善的构建π小数点3万位、10万位、30万位及0、1、2、3、4、5、6、7、8、9的矩阵导致检索统计的速率下降。
发明内容
发明的目的在于提供π小数点后面位数的随机数表建立方法,不同的存储结构为各类检索方法快捷有效,对获取π小数点后面位数的数据起到很大的辅助作用,不同等级的加密算法可适应于不同的领域、行业应用,有利于各类密码学的延伸,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
π小数点后面位数的随机数表建立方法,包括以下步骤:
步骤1:建立π小数点后面位数(0,1,2,3,4,5,6,7,8,9)的存储结构;
步骤2:圆周率小数位为一组无限不循环的整数,任意取其中某段数字即可生成随机数表,建立随机数表在密码学中的应用和密码保护等级;
步骤3:π小数点后面位数随机根据密码构建,随机密码构建流程,密码学应用过程算法解密;
步骤4:构建程序进行实现。
优选的,所述步骤1中,建立π小数点后面位数的存储方式,分别以3万位、10万位、30万位的不同的方式存储π原值,并以0、1、2、3、4、5、6、7、8、9建立不同的字段采用bit的数据类型的存储结构进行多种形式的存储π原值,对π的原值分段存储,可以快速读取30万位以内的数据;对π的小数按0、1、2、3、4、5、6、7、8、9出现位置进行标记存储,采用数据库中bit数据类型;对π的小数按位存储,从横向存储转为纵向存储。
优选的,所述步骤2中,根据π小数点后面位数(0,1,2,3,4,5,6,7,8,9)出现的随机性建立随机数表,普通:构建的低加密过程,主要设定的加密矩阵为2到4之间;秘密:构建的中等加密过程,主要设定的加密矩阵为5到8之间;机密:构建的高强度加密过程,主要设定的加密矩阵9以上。
优选的,所述步骤3中,小数点后面位数随机密码构建过程分为两类,一类为使用接口根据不同的加密等级赋给相应的加密参数并获得加密结果;另一类为自选加密混合操作;
过程算法:
第一步:任意取圆周率π小数位中的某一位作为开始的起始数字,设定加密矩阵的阶数n;
第二步:任意取这位数字开始的n2个数字,构造一个n阶方阵,判断矩阵的行列式为否为0,若为0,则跳过这n2个数字直接取下一组n2个数字;若行列式不为0,则得到一个加密矩阵,记为A1,依次方法,不断取n2个数字作为加密矩阵的元素,依次得到加密矩阵序列{A1,A2,A3…,An,…};
第三步:将要加密的明文代码设为n维列向量组{x1,x2,…,xn,…},依次用加密矩阵A1,A2,A3…,An,…分别乘以x1,x2,…,xn…,得到加密后的向量组{y1,y2,…,yn,…};
第四步:解密过程,只要把加密矩阵中的选择圆周率π小数位中的这一位数字和加密矩阵的阶数n,则可以得到加密矩阵序列{A1,A2,A3…,An,…},对每个矩阵分别求逆矩阵,则得到解密矩阵序列依次用解密矩阵乘以y1,y2,…,yn,…,则得到加密前的向量x1,x2,…,xn…。
优选的,所述步骤4中,输入随机数表的数据校验代码;确定随机数据的创建与PI的取值;调整加密算法设计。
与现有技术相比,本发明的有益效果是:
1、π小数点后面位数的随机数表建立方法,多种方式检索π小数点后面位数的数据,同时提供区间检索,而且不同的存储结构为各类检索方法快捷有效,对获取π小数点后面位数的数据起到很大的辅助作用。
2、统计π小数点后面位数的0、1、2、3、4、5、6、7、8、9的分布,在3万位到10万位之间区间规律,针对pi建立的随机数表的随机性更强,对加密随机的破解难度加大,且不同等级的加密算法可适应于不同的领域、行业应用,有利于各类密码学的延伸。
附图说明
图1为本发明的π小数位原值分段存储;
图2为本发明的π小数位原值矩阵存储;
图3为本发明的π小数位原值按位存储;
图4为本发明的分类流程图;
图5为本发明的0单位间隔中所出现的次数;
图6为本发明的0单位间隔中所出现的次数;
图7为本发明的1出现次数分布图及一次函数匹配效果图;
图8为本发明的1出现次数分布图及一次函数匹配效果图;
图9为本发明的小数点按位的出现次数分布统计效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
π小数点后面位数的随机数表建立方法,包括以下步骤:
步骤1:建立π小数点后面位数(0,1,2,3,4,5,6,7,8,9)的存储结构,建立π小数点后面位数的存储方式,分别以3万位、10万位、30万位的不同的方式存储π原值,并以0、1、2、3、4、5、6、7、8、9建立不同的字段采用bit的数据类型的存储结构进行多种形式的存储π原值,对π的原值分段存储,可以快速读取30万位以内的数据,存储结构和数据格式如图1所示:
对π的小数按0、1、2、3、4、5、6、7、8、9出现位置进行标记存储,采用数据库中bit数据类型,具体存储结构和数据格式如图2所示;
对π的小数按位存储,从横向存储转为纵向存储,其存储结构和数据格式如图3所示;
步骤2:圆周率小数位是一组无限不循环的整数,任意取其中某段数字即可生成随机数表,建立随机数表在密码学中的应用和密码保护等级,根据π小数点后面位数(0,1,2,3,4,5,6,7,8,9)出现的随机性建立随机数表,普通:构建的低加密过程,主要设定的加密矩阵为2到4之间,其加密速度快,效率高且同样的数字经随机数值的加密算法设计后其结果都不一样,加密结果具有较强的随机性无规律可循,而且数字0的关系在加密矩阵太小时就可能出现无法反译现象,可应用于办公文件传输、普通应用系统密码设置;
秘密:构建的中等加密过程,主要设定的加密矩阵为5到8之间,其加密速度仍然很快,效率高且同样的数字经随机数值的加密算法设计后随机性更强,加密复杂度更高,简单两个数字(11)经中等加密后其所需要破译时长至少1个月以上;
机密:构建的高强度加密过程,主要设定的加密矩阵9以上,效率比较高且同样的数字经随机数值的加密算法设计后随机性相当强,加密复杂度非常高,其加密简单两个数字(11)计算所需要破译时长都能超过1年,对于密码要求等级比较高的如银行系统、支付平台等需要数字、字母、特殊符号结合及长度要求超过8位的,其加密后的结果破译时长超过千年;
步骤3:π小数点后面位数随机根据密码构建,随机密码构建流程,密码学应用过程算法解密,小数点后面位数随机密码构建过程分为两类,一类是使用接口根据不同的加密等级赋给相应的加密参数并获得加密结果;另一类为自选加密混合操作,小数点后面位数随机密码构建过程分为两类,一类是使用接口根据不同的加密等级赋给相应的加密参数并获得加密结果;另一类为自选加密混合操作,如图4所示;
过程算法:
第一步:任意取圆周率π小数位中的某一位作为开始的起始数字,设定加密矩阵的阶数n;
第二步:任意取这位数字开始的n2个数字,构造一个n阶方阵,判断矩阵的行列式是否为0,若为0,则跳过这n2个数字直接取下一组n2个数字;若行列式不为0,则得到一个加密矩阵,记为A1,依次方法,不断取n2个数字作为加密矩阵的元素,依次得到加密矩阵序列{A1,A2,A3…,An,…};
第三步:将要加密的明文代码设为n维列向量组{x1,x2,…,xn,…},依次用加密矩阵A1,A2,A3…,An,…分别乘以x1,x2,…,xn…,得到加密后的向量组{y1,y2,…,yn,…};
第四步:解密过程,只要把加密矩阵中的选择圆周率π小数位中的这一位数字和加密矩阵的阶数n,则可以得到加密矩阵序列{A1,A2,A3…,An,…},对每个矩阵分别求逆矩阵,则得到解密矩阵序列依次用解密矩阵乘以y1,y2,…,yn,…,则得到加密前的向量x1,x2,…,xn…;
步骤4:构建程序进行实现,输入随机数表的数据校验代码;确定随机数据的创建与PI的取值;调整加密算法设计。
实施例二:
下面用一个例子来验证算法:
要发送明文“好读书不好读书,好读书不好读书”,根据中文电码查询可得下表
好 | 读 | 书 | 不 | 好 | 读 | 书 |
1107 | 6236 | 2579 | 0008 | 1170 | 6236 | 2579 |
取圆周率π小数点第20位数字开始,取16位连续数字构造一个四阶方阵A1,依次得矩阵A2,A3,…,A7。结果如下:
加密后得到的密文如下:
下面是解密过程:
实施例三:
程序实现
实施例四:
以下是根据π小数点后面位数(0,1,2,3,4,5,6,7,8,9)出现的随机性建立随机数表在密码学中的应用案例说明,通过Pi小数点后第200位数字到第400位数字截取出来建立的随机数表及4阶矩阵为例进行加密。
44288109756659334461
28475648233786783165
27120190914564856692
34603486104543266482
13393607260249141273
72458700660631558817
48815209209628292540
91715364367892590360
01133053054882046652
13841469519415116094
任意取连续的16个整数,构造一个4×4阶矩阵A,如果矩阵A行列式等于0,则矩阵A不可逆,则跳过这16个数字,取下一组16个数字构造一个矩阵A,如果矩阵A可逆,则以矩阵A作为加密矩阵,对一组4×n数组C加密,则可以得到加密后的4×n数组B。若对4×n数组B解密,则用矩阵A的逆矩阵A-1左乘B即可得到数组C。
同理,任意取连续的25个整数,构造一个5×5阶矩阵A,如果矩阵A行列式等于0,则矩阵A不可逆,则跳过这25个数字,取下一组25个数字构造一个矩阵A,如果矩阵A可逆,则以矩阵A作为加密矩阵,对一组5×n数组C加密,则可以得到加密后的5×n数组B。若对5×n数组B解密,则用矩阵A的逆矩阵A-1左乘B即可得到数组C。以此类推,可以任意构造m×m矩阵A,对任意m×n数组加密和解密,由此实现对数据的加密和解密过程,由于圆周率是个无限不循环的小数,从圆周率中任意取某位数字开始,即可生成加密矩阵组,所以在实际应用中具有很高的安全性和可操作性。下面给出一个简单的例子说明加密解密过程:
在上面的程序中,先任意取圆周率小数点后第200位数字开始的32个数字构造了2个4×4矩阵A1,A2,通过验证,A1,A2均可逆,再任意给出两个矩阵C1,C2,用矩阵A1,A2分别对矩阵C1,C2加密,则得到矩阵B1,B2.
下面给出解密过程:
在上面的程序中,用矩阵A1,A2的逆矩阵分别乘以矩阵B1,B2,则得到矩阵C1,C2,这实现了对矩阵B1,B2的解密。
实施例五:
区间统计规律
统计不同单位间隔(以1000和10000为单位)π的小数分布情况,对该单位内相应数字(0,1,2,3,4,5,6,7,8,9)出现的次数进行分析和统计,最终在不同的范围提炼这些数字分布的最佳逼近函数,以显示出π小数点后面位数(0,1,2,3,4,5,6,7,8,9)出现的规律。
统计π小数点后面位数3万位的数据分析,以每间隔1000位为单位。
0在该单位间隔中所出现的次数,并不断累加,0.1表示1000,0.2表示2000,0.3表示3000,以此类推(下同),数据分布如下所示,其推导后的符合函数为:-20.8554+976.472x+0.634734x2+3.13433x3
{{0.1,93},{0.2,181},{0.3,259},{0.4,362},{0.5,466},{0.6,556},{0.7,657},{0.8,754},{0.9,855},{1.0,968},{1.1,1070},{1.2,1161},{1.3,1266},{1.4,1365},{1.5,1456},{1.6,1555},{1.7,1667},{1.8,1761},{1.9,1854},{2.0,1954},{2.1,2049},{2.2,2164},{2.3,2260},{2.4,2363},{2.5,2476},{2.6,2576},{2.7,2684},{2.8,2791},{2.9,2897},{3.0,2998}}。
1在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:5.58318+1073.67x-76.7566x2+19.0839x3。
{{0.1,116},{0.2,213},{0.3,308},{0.4,429},{0.5,531},{0.6,626},{0.7,733},{0.8,833},{0.9,936},{1.0,1026},{1.1,1098},{1.2,1193},{1.3,1314},{1.4,1416},{1.5,1513},{1.6,1601},{1.7,1711},{1.8,1816},{1.9,1903},{2.0,1997},{2.1,2087},{2.2,2187},{2.3,2286},{2.4,2405},{2.5,2519},{2.6,2631},{2.7,2722},{2.8,2837},{2.9,2927},{3.0,3048}}。
2在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:-17.418+1080.7x-54.1222x2+4.87026x3。
{{0.1,103},{0.2,207},{0.3,303},{0.4,408},{0.5,496},{0.6,594},{0.7,692},{0.8,811},{0.9,911},{1.0,1021},{1.1,1111},{1.2,1214},{1.3,1316},{1.4,1419},{1.5,1511},{1.6,1593},{1.7,1687},{1.8,1773},{1.9,1874},{2.0,1986},{2.1,2074},{2.2,2167},{2.3,2232},{2.4,2308},{2.5,2403},{2.6,2495},{2.7,2588},{2.8,2687},{2.9,2785},{3.0,2897}}。
3在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:-6.41974+933.342x+66.2761x2-15.7808x3。
{{0.1,102},{0.2,188},{0.3,265},{0.4,368},{0.5,459},{0.6,572},{0.7,686},{0.8,781},{0.9,884},{1.0,974},{1.1,1080},{1.2,1176},{1.3,1272},{1.4,1382},{1.5,1491},{1.6,1602},{1.7,1714},{1.8,1813},{1.9,1903},{2.0,1986},{2.1,2093},{2.2,2179},{2.3,2286},{2.4,2392},{2.5,2549},{2.6,2578},{2.7,2669},{2.8,2766},{2.9,2874},{3.0,2978}}。
4在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:-11.5568+1044.91x-8.43773x2+0.472295x3。
{{0.1,93},{0.2,195},{0.3,318},{0.4,405},{0.5,508},{0.6,613},{0.7,702},{0.8,809},{0.9,910},{1.0,1012},{1.1,1133},{1.2,1233},{1.3,1343},{1.4,1440},{1.5,1553},{1.6,1670},{1.7,1755},{1.8,1833},{1.9,1946},{2.0,2043},{2.1,2141},{2.2,2232},{2.3,2346},{2.4,2455},{2.5,2549},{2.6,2660},{2.7,2765},{2.8,2867},{2.9,2960},{3.0,3057}}。
5在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:-16.532+1105.38x-50.3626x2+7.92485x3。
{{0.1,97},{0.2,205},{0.3,315},{0.4,417},{0.5,525},{0.6,622},{0.7,730},{0.8,834},{0.9,932},{1.0,1046},{1.1,1150},{1.2,1262},{1.3,1358},{1.4,1455},{1.5,1548},{1.6,1659},{1.7,1764},{1.8,1875},{1.9,1987},{2.0,2043},{2.1,2141},{2.2,2232},{2.3,2346},{2.4,2455},{2.5,2549},{2.6,2660},{2.7,2765},{2.8,2867},{2.9,2960},{3.0,3057}}。
6在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:-2.30914+1016.71x+3.35148x2-1.74179x3。
{{0.1,94},{0.2,200},{0.3,302},{0.4,397},{0.5,513},{0.6,619},{0.7,708},{0.8,816},{0.9,914},{1.0,1021},{1.1,1129},{1.2,1227},{1.3,1324},{1.4,1426},{1.5,1520},{1.6,1615},{1.7,1709},{1.8,1818},{1.9,1917},{2.0,2017},{2.1,2125},{2.2,2232},{2.3,2355},{2.4,2449},{2.5,2541},{2.6,2640},{2.7,2744},{2.8,2839},{2.9,2925},{3.0,3012}}。
7在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:10.018+943.516x+12.7368x2+1.36289x3。
{{0.1,95},{0.2,197},{0.3,287},{0.4,377},{0.5,488},{0.6,606},{0.7,693},{0.8,785},{0.9,883},{1.0,970},{1.1,1070},{1.2,1166},{1.3,1258},{1.4,1342},{1.5,1439},{1.6,1546},{1.7,1644},{1.8,1742},{1.9,1845},{2.0,1953},{2.1,2060},{2.2,2177},{2.3,2283},{2.4,2387},{2.5,2479},{2.6,2587},{2.7,2682},{2.8,2779},{2.9,2879},{3.0,2974}}。
8在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:35.9825+853.632x+75.6469x2-11.1679x3。
{{0.1,101},{0.2,202},{0.3,310},{0.4,405},{0.5,492},{0.6,582},{0.7,680},{0.8,764},{0.9,854},{1.0,947},{1.1,1031},{1.2,1144},{1.3,1243},{1.4,1336},{1.5,1455},{1.6,1543},{1.7,1643},{1.8,1757},{1.9,1869},{2.0,1961},{2.1,2068},{2.2,2167},{2.3,2266},{2.4,2359},{2.5,2465},{2.6,2572},{2.7,2672},{2.8,2775},{2.9,2876},{3.0,2972}}。
9在该单位间隔中所出现的次数(并不断累加),数据分布如下所示,其推导后的符合函数为:11.024+1028.96x-26.976x2+5.80471x3。
{{0.1,106},{0.2,211},{0.3,332},{0.4,431},{0.5,521},{0.6,609},{0.7,718},{0.8,812},{0.9,920},{1.0,1014},{1.1,1127},{1.2,1223},{1.3,1305},{1.4,1418},{1.5,1513},{1.6,1615},{1.7,1705},{1.8,1811},{1.9,1901},{2.0,2020},{2.1,2112},{2.2,2202},{2.3,2302},{2.4,2414},{2.5,2509},{2.6,2598},{2.7,2703},{2.8,2797},{2.9,2919},{3.0,3014}}
统计π小数点后面位数10万位的数据分析,其中4万位内是每间隔1000位0,1,2,3,4,5,6,7,8,9数字出现的次数(数据统计结果类似2.1部分),从4万位开始采用5000为单位进行统计,随着分段统计区间的增加,其统计结果数字分布的最佳函数全部逼近一次函数且可抽象为一次函数,具体统计效果如下说明。
0在该单位间隔中所出现的次数,并不断累加,0.1表示1000,0.2表示2000,0.3表示3000,以此类推(同上说明);到4万位开始采用5000为单位进行统计,4.0表示40000,4.5表示45000,5.0表示50000,以此类推(下同),直至10万位,数据分布如下所示,其推导后的符合函数为:-36.8355+1004.55x
{{0.1,93},{0.2,181},{0.3,259},{0.4,362},{0.5,466},{0.6,556},{0.7,657},{0.8,754},{0.9,855},{1.0,968},{1.1,1070},{1.2,1161},{1.3,1266},{1.4,1365},{1.5,1456},{1.6,1555},{1.7,1667},{1.8,1761},{1.9,1854},{2.0,1954},{2.1,2049},{2.2,2164},{2.3,2260},{2.4,2363},{2.5,2476},{2.6,2576},{2.7,2684},{2.8,2791},{2.9,2897},{3.0,2998},{3.1,3086},{3.2,3184},{3.3,3286},{3.4,3386},{3.5,3486},{3.6,3575},{3.7,3679},{3.8,3781},{3.9,3885},{4.0,3989},{4.5,4519},{5.0,5033},{5.5,5501},{6.0,6009},{6.5,6500},{7.0,6992},{7.5,7492},{8.0,7972},{8.5,8488},{9.0,8991},{9.5,9502},{10.0,9999}};
小数点后10万位0的出现次数分布图及一次函数匹配效果,如图5-6所示:
1在该单位间隔中所出现的次数(并不断累加),同样到4万位开始采用5000为单位进行统计,数据分布如下所示,其推导后的符合函数为:-8.34564+1016.93x
{{0.1,116},{0.2,213},{0.3,308},{0.4,429},{0.5,531},{0.6,626},{0.7,733},{0.8,833},{0.9,936},{1.0,1026},{1.1,1098},{1.2,1193},{1.3,1314},{1.4,1416},{1.5,1513},{1.6,1601},{1.7,1711},{1.8,1816},{1.9,1903},{2.0,1997},{2.1,2087},{2.2,2187},{2.3,2286},{2.4,2405},{2.5,2519},{2.6,2631},{2.7,2722},{2.8,2837},{2.9,2927},{3.0,3048},{3.1,3149},{3.2,3250},{3.3,3360},{3.4,3447},{3.5,3560},{3.6,3665},{3.7,3757},{3.8,3860},{3.9,3967},{4.0,4061},{4.5,4551},{5.0,5055},{5.5,5604},{6.0,6071},{6.5,6590},{7.0,7106},{7.5,7604},{8.0,8141},{8.5,8676},{9.0,9193},{9.5,9661},{10.0,10137}}
π小数点后10万位1的出现次数分布图及一次函数匹配效果如图7-8所示:
2在该单位间隔中所出现的次数(并不断累加),数据分布和π小数点后10万位2的出现次数分布图及一性函数匹配效果图略(可在附件中查阅,下同),其推导后的符合函数为:-15.1753+985.717x
3在该单位间隔中所出现的次数(并不断累加),其推导后的符合函数为:-23.07+1002.7x
4在该单位间隔中所出现的次数(并不断累加),其推导后的符合函数为:44.8887+991.969x
5在该单位间隔中所出现的次数(并不断累加),其推导后的符合函数为:44.8126+1000.16x
6在该单位间隔中所出现的次数(并不断累加),其推导后的符合函数为:22.9993+998.266x
7在该单位间隔中所出现的次数(并不断累加),其推导后的符合函数为:-38.6587+1006.68x
8在该单位间隔中所出现的次数(并不断累加),其推导后的符合函数为:-23.8462+1001.53x
9在该单位间隔中所出现的次数(并不断累加),其推导后的符合函数为:27.6313+992.167x
根据用户需求可自定义查询不同单位间隔π的小数分布情况,对指定单位内相应数字(0,1,2,3,4,5,6,7,8,9)出现的次数进行分析和统计,以及快速获得相应的区间π的值,方便此数据的使用和分析,效果如下图所示值,方便此数据的使用和分析,效果如图9所示。
综上所述,本发明提出的π小数点后面位数的随机数表建立方法,多种方式检索π小数点后面位数的数据,同时提供区间检索,而且不同的存储结构为各类检索方法快捷有效,对获取π小数点后面位数的数据起到很大的辅助作用。统计π小数点后面位数的0、1、2、3、4、5、6、7、8、9的分布,在3万位到10万位之间区间规律。针对pi建立的随机数表的随机性更强,对加密随机的破解难度加大,且不同等级的加密算法可适应于不同的领域、行业应用,有利于各类密码学的延伸。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (2)
1.π小数点后面位数的随机数表建立方法,其特征在于,包括以下步骤:
步骤1:建立π小数点后面位数(0,1,2,3,4,5,6,7,8,9)的存储结构;
步骤2:圆周率小数位为一组无限不循环的整数,任意取其中某段数字即可生成随机数表,建立随机数表在密码学中的应用和密码保护等级;
步骤3:π小数点后面位数随机根据密码构建,随机密码构建流程,密码学应用过程算法解密;
步骤4:构建程序进行实现;
所述的步骤1中,建立π小数点后面位数的存储方式,分别以3万位、10万位、30万位的不同的方式存储π原值,并以0、1、2、3、4、5、6、7、8、9建立不同的字段采用bit的数据类型的存储结构进行多种形式的存储π原值,对π的原值分段存储,可以快速读取30万位以内的数据;对π的小数按0、1、2、3、4、5、6、7、8、9出现位置进行标记存储,采用数据库中bit数据类型;对π的小数按位存储,从横向存储转为纵向存储;
所述的步骤2中,根据π小数点后面位数(0,1,2,3,4,5,6,7,8,9)出现的随机性建立随机数表,普通:构建的低加密过程,设定的加密矩阵为2到4之间;秘密:构建的中等加密过程,设定的加密矩阵为5到8之间;机密:构建的高强度加密过程,设定的加密矩阵9以上;
所述的步骤3中,小数点后面位数随机密码构建过程分为两类,一类为使用接口根据不同的加密等级赋给相应的加密参数并获得加密结果;另一类为自选加密混合操作;
过程算法:
第一步:任意取圆周率π小数位中的某一位作为开始的起始数字,设定加密矩阵的阶数n;
第二步:任意取这位数字开始的n2个数字,构造一个n阶方阵,判断矩阵的行列式为否为0,若为0,则跳过这n2个数字直接取下一组n2个数字;若行列式不为0,则得到一个加密矩阵,记为A1,依次方法,不断取n2个数字作为加密矩阵的元素,依次得到加密矩阵序列{A1,A2,A3…,An,…};
第三步:将要加密的明文代码设为n维列向量组{x1,x2,…,xn,…},依次用加密矩阵A1,A2,A3…,An,…分别乘以x1,x2,…,xn…,得到加密后的向量组{y1,y2,…,yn,…};
第四步:解密过程,只要把加密矩阵中的选择圆周率π小数位中的这一位数字和加密矩阵的阶数n,则可以得到加密矩阵序列{A1,A2,A3…,An,…},对每个矩阵分别求逆矩阵,则得到解密矩阵序列{A1 1,A2 1,A3 1…,An 1,…},依次用解密矩阵A1 1,A2 1,A3 1…,An 1,…乘以y1,y2,…,yn,…,则得到加密前的向量x1,x2,…,xn…。
2.根据权利要求1所述的π小数点后面位数的随机数表建立方法,其特征在于:所述的步骤4中,输入随机数表的数据校验代码;确定随机数据的创建与PI的取值;调整加密算法设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810581159.5A CN108776583B (zh) | 2018-06-07 | 2018-06-07 | π小数点后面位数的随机数表建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810581159.5A CN108776583B (zh) | 2018-06-07 | 2018-06-07 | π小数点后面位数的随机数表建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108776583A CN108776583A (zh) | 2018-11-09 |
CN108776583B true CN108776583B (zh) | 2022-10-18 |
Family
ID=64025744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810581159.5A Active CN108776583B (zh) | 2018-06-07 | 2018-06-07 | π小数点后面位数的随机数表建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776583B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536769A (zh) * | 2003-03-19 | 2004-10-13 | О | 随机序列产生设备、加密/解密设备及其方法和程序 |
EP2001154A1 (fr) * | 2007-06-05 | 2008-12-10 | Nicolas Reffe | Procédé et dispositif de chiffrement/déchiffrement d'une séquence de données d'entrée |
CN101803270A (zh) * | 2007-07-31 | 2010-08-11 | 雷蒙德·吉恩·克利福德·阿图斯 | 数据加密的方法和系统 |
WO2010091565A1 (zh) * | 2009-02-12 | 2010-08-19 | Liu Haiyun | 需要采用穷举法解密的随机加密方法 |
WO2017123199A1 (en) * | 2016-01-11 | 2017-07-20 | Visa International Service Association | Fast format-preserving encryption for variable length data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814320B2 (en) * | 2005-07-19 | 2010-10-12 | Ntt Docomo, Inc. | Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks |
US8788552B2 (en) * | 2008-01-25 | 2014-07-22 | Tata Consultancy Services Ltd. | Deterministic random number generator for cryptography and digital watermarking |
-
2018
- 2018-06-07 CN CN201810581159.5A patent/CN108776583B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536769A (zh) * | 2003-03-19 | 2004-10-13 | О | 随机序列产生设备、加密/解密设备及其方法和程序 |
EP2001154A1 (fr) * | 2007-06-05 | 2008-12-10 | Nicolas Reffe | Procédé et dispositif de chiffrement/déchiffrement d'une séquence de données d'entrée |
CN101803270A (zh) * | 2007-07-31 | 2010-08-11 | 雷蒙德·吉恩·克利福德·阿图斯 | 数据加密的方法和系统 |
WO2010091565A1 (zh) * | 2009-02-12 | 2010-08-19 | Liu Haiyun | 需要采用穷举法解密的随机加密方法 |
WO2017123199A1 (en) * | 2016-01-11 | 2017-07-20 | Visa International Service Association | Fast format-preserving encryption for variable length data |
Non-Patent Citations (1)
Title |
---|
pi序列的似混沌特性及其在图像加密中的应用;陈婷等;《计算机工程与应用》;20081231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108776583A (zh) | 2018-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Patro et al. | Secure, lossless, and noise-resistive image encryption using chaos, hyper-chaos, and DNA sequence operation | |
CN108366181B (zh) | 一种基于超混沌系统和多级置乱的图像加密方法 | |
Huang et al. | An image encryption algorithm based on hyper-chaos and DNA sequence | |
CN108463968B (zh) | 可变长度数据的快速格式保留加密 | |
CN115688167B (zh) | 匿踪查询方法、装置和系统及存储介质 | |
Rohith et al. | Image encryption and decryption using chaotic key sequence generated by sequence of logistic map and sequence of states of Linear Feedback Shift Register | |
CN111199053B (zh) | 用于对加密数据进行多字符通配符搜索的系统和方法 | |
CN1211363A (zh) | 运用公共密钥完成通信的方法 | |
CN106651976B (zh) | 一种基于聚类和混沌的图像加密方法 | |
CN111401572B (zh) | 基于隐私保护的有监督特征分箱方法及装置 | |
CN112202545B (zh) | 基于y型填充曲线和变步长约瑟夫遍历的图像加密方法 | |
Brahim et al. | A new image encryption scheme based on a hyperchaotic system & multi specific S-boxes | |
CN110837651A (zh) | 基于分数阶离散神经网络和dna运算的彩色图像加密方法 | |
CN110543778A (zh) | 一种字符数据线性随机加密和解密算法 | |
CN106227881B (zh) | 一种信息处理方法及服务器 | |
JP5689826B2 (ja) | 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム | |
Hazarika et al. | A novel partial image encryption using chaotic logistic map | |
CN112272082B (zh) | 图像加密/解密的方法及装置、电子设备、存储介质 | |
Paul et al. | Secured image encryption scheme based on DNA encoding and chaotic map | |
CN108776583B (zh) | π小数点后面位数的随机数表建立方法 | |
WO2019172837A1 (en) | Method and system for deriving statistical information from encrypted data | |
CN108932434A (zh) | 一种基于机器学习技术的数据加密方法及装置 | |
CN110601817B (zh) | 一种数据处理方法及装置 | |
CN115622795B (zh) | 基于混沌加密算法的文件加密方法、电子设备及存储介质 | |
Gasimov et al. | DNA-based image encryption algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |