CN113111366A - 一种无理数加密方法 - Google Patents

一种无理数加密方法 Download PDF

Info

Publication number
CN113111366A
CN113111366A CN202110461552.2A CN202110461552A CN113111366A CN 113111366 A CN113111366 A CN 113111366A CN 202110461552 A CN202110461552 A CN 202110461552A CN 113111366 A CN113111366 A CN 113111366A
Authority
CN
China
Prior art keywords
irrational
numbers
random
conversion
random number
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.)
Pending
Application number
CN202110461552.2A
Other languages
English (en)
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 CN202110461552.2A priority Critical patent/CN113111366A/zh
Publication of CN113111366A publication Critical patent/CN113111366A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

本发明公开了一种无理数加密方法,包括以下步骤:S1、生成去除小数点的无理数;S2、根据不同的随机数需求,对步骤S1生成的去除小数点的无理数进行进制转换,得到范围内的随机数;S3、从无理数中抽取部分作为加密数字串S;S4、把目标文件进行分块处理;S5、利用数字串S中的数字对每块文件数据进行加密操作,得到密文。本发明所涉及的随机数生成方法具有没有周期限制、没有大小限制、灵活性高、安全系数高等优点。

Description

一种无理数加密方法
技术领域
本发明涉及数据加密和随机数生成的技术领域,尤其涉及到一种无理数加密方法。
背景技术
随着社会的发展,科技不断革新,特别是在计算机网络的方面,随着人工智能发展,全球信息化已成为全球发展的大趋势。但由于日益猖獗的黑客、病毒入侵和泄密等行为所造成的网络信息安全问题,严重阻碍着网络经济的发展和社会的进步。因此,为了确保数据传输安全及交易安全,营造安全的科技环境,必须采取一系列的安全技术,最常见的如加密技术、人脸识别、数字签名、身份认证等。
而无理数即无限不循环小数,比如常数π=3.1415926……,我们可以利用无理数的特性生成一系列的数字序列,由于其生成的数字序列是无周期的,截取的序列也是无周期的,若把无理数应用于特定的计算机文件进行加密操作,将有利于提高数据加密的安全性。
发明内容
本发明的目的在于提供一种没有周期限制、没有大小限制、灵活性高的随机数生成方法,并运用于无理数加密方法中。
为实现上述目的,本发明所提供的技术方案为:
一种无理数加密方法,包括以下步骤:
S1、生成去除小数点的无理数;
S2、根据不同的随机数需求,对步骤S1生成的去除小数点的无理数进行进制转换,得到范围内的随机数;
由于在编程中,需要逐字节的读取文件,而一字节的数据内容是介于0至255之间。如果加密数字串S总是取十进制数,即介于0至9之间的数字,那么会导致加密不完全。如果把原本十进制的加密数字串S转换为256进制,那么此时S中的每个进制上的数字也是介于0至255之间的,这样就可以实现对计算机文件逐字节的完全加密。因此,无理数进制转换显得尤为重要。
S3、从无理数中抽取部分作为加密数字串S;
S4、把目标文件进行分块处理;
S5、利用数字串S中的数字对每块文件数据进行加密操作,得到密文。
进一步地,所述步骤S1利用函数矩阵或构造法生成无理数。
进一步地,所述函数矩阵由多个函数式组合而成,而无理数由该多个函数式的计算结果连接而成。
进一步地,在设计函数矩阵时,需估算函数矩阵的生成结果;而为了增强随机性,在每个函数式的基础上,额外增加若干项函数式。
进一步地,所述利用构造法生成无理数包括,将规定范围内的质数连接起来形成无理数。
进一步地,所述步骤S2中,当需要生成0至n之间的随机整数且n为正整数时,假设无理数n=d0+10×d1+102×d2+……,需要把它转换成p进制数,即n=c0+p×c1+p2×c2+……,则按第一进制转换进行,第一进制转换的具体过程如下:
(1)判断当前整数n与p的关系,若n<p,则转换结束;
(2)若n≥p,则求余数c0,c0=n%p;
(3)进行运算n′=(n-c0)/p,则得到n′=c1+p×c2+p2×c3+......,求c1即对n′求余,即c1=n′%p;
(4)依次类推,重复以上方法,依次求得余下的数位,最终实现进制转换。
进一步地,所述步骤S2中,当需要生成[-m,-n]、[-n,m]、[-m,n]或[n,m]之间的随机整数且n、m为正整数,m>n时,进行第二进制转换,具体为:通过对上下限进行加或减,使得下限变为0,即转换为第一进制转换来处理;第一进制转换处理完后,再把之前上下限加或减的数补充回去,结果回退到原要求的范围内;
当需要生成a至b之间的随机数且a,b为正的小数时,进行第三进制转换,具体为:首先看随机数要求精确到哪个小数位,若随机数精确到小数后1位,则对上下限乘以10,若随机数精确到小数后2位,则对上下限乘以102,如此类推;然后按照第二进制转换进行转换;当生成随机整数后,再除以之前乘以的数,即可得到原要求的随机数。
与现有技术相比,本方案原理及优点如下:
1.相比于传统算法依赖的伪随机数有一定的周期限制,而本方案利用无理数生成的伪随机数则没有周期限制,只要有足够的资源就可以近似无限的运算下去。
2.相比于传统算法生成的伪随机数有大小限制,而本方案利用无理数生成的伪随机数没有大小限制,可以生成长度近似无限大的超大数字。
3.本方案中生成无理数的函数矩阵由多个函数式组合而成,采用多元起源函数或者多个不同的起源函数,当变元或者函数发生变化时,生成的随机数结果也会不同,具有较高的灵活性。
4.本方案在计算力的支持下,函数矩阵理论上可以无限计算下去,而且生成的随机数随着数量的增多,出现次数会更加均匀。
5.本方案生成的随机数是实时计算出来的,可以复现的,不需要提前计算好并且占用额外的储存空间。
6.本方案的原理较简单直观,而且实现起来并不困难,不存在很高的技术门槛,是一种平民化的随机数生成方法。
7.本方案中所涉及的随机数生成方法解决了很多工业和科研场景中需要的随机数来源问题,尤其是各种加密算法。因为加密算法需要一定的无规律性,这样才不容易被破解者掌握规律。所以本方案可以和其他加密算法结合起来,形成新的算法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种无理数加密方法的原理流程图;
图2为实施例中函数矩阵的示意图;
图3为对包含大量位数的无理数数字序列中各数字(即0至9)出现次数的统计结果图;
图4为概率均匀性示意图;
图5为对生成数字范围为[0,20]之间的随机数统计结果图;
图6为对生成超大随机数的上机试验图。
具体实施方式
下面结合具体实施例对本发明作进一步说明:
如图1所示,本发明实施例所述的一种无理数加密方法,包括以下步骤:
S1、利用函数矩阵生成无理数,并将生成的无理数去除小数点;具体如下:
如图2所示的函数矩阵,即横向为初等函数以及初等函数的复合函数,它们之间的加减乘除,然后得到横向计算结果。最后纵向是结果1至结果n的字符串连接,即对横向的计算出来的结果直接连接起来。本实施例用符号“&”表示字符串连接运算。即最终得到的无理数或者超大数数字序列(需要去掉小数点)为:
结果1&结果2&......&结果n。
从图2也可以看出,如果取不同的x值,那么此函数矩阵可以计算出不同的数字序列结果,这是可以持续不断生成大量随机数的源泉和动力。另外,字符串连接运算的引入,可以大大提高数字序列生成的效率,节省本算法运行所需要的时间。
这里要补充一下的是,初等函数的求导运算和积分运算也是可以包含在函数矩阵运算内的,它们是高等运算。当然,目前来说计算机并不能直接计算求导和积分,需要人把式子算出来。如果式子比较复杂,可能还需要泰勒级数展开运算。
而在设计函数矩阵时,需估算函数矩阵的生成结果。
比如当需要生成100个介于0至9之间的数字,其实就是100位十进制数。那么函数可以设计成S=(31415926+x)20,因为此时S≈(107+x)20≈10140。这样最为简洁。如果需要生成200位十进制数字,那么可设计成S=(31415926+x)30,以此类推。为了增强随机性,可以额外增加若干项函数式。还是以生成100位十进制数字为例,函数式可以设计成S=(31415926+x)20+(123456+2x)21。这是横向扩展,还可以纵向扩展,即把横向的若干个函数式的计算结果用字符串连接操作连起来。
另外需要注意的是,在实际的编程过程中,需要用到庞大的函数库或者泰勒级数展开。比如正弦函数sin(x),如果函数库有正弦函数支持,那么把自变量代入即可。如果没有该函数支持,需要利用泰勒级数把该函数展开,然后再交给计算机进行计算。如果设计的函数矩阵中涉及求导和积分等高级运算,也需要先转换成基本的加减乘除式子,然后再让计算机计算结果。
上述中,除了利用函数矩阵生成无理数外,还可以通过构造法生成无理数;比如求100以内的质数,即2,3,5,7,11......等等,然后再把它们顺序连接起来,得到235711.....,那么最终可以构造得到一串很长的无理数数字序列。
S2、接着,根据不同的随机数需求,对步骤S1生成的无理数进行进制转换,得到范围内的随机数;
当需要生成0至n之间的随机整数且n为正整数时,假设无理数n=d0+10×d1+102×d2+......,需要把它转换成p进制数,即
n=c0+p×c1+p2×c2+......,则按第一进制转换进行,第一进制转换的具体过程如下:
(1)判断当前整数n与p的关系,若n<p,则转换结束;
(2)若n≥p,则求余数c0,c0=n%p;
(3)进行运算n′=(n-c0)/p,则得到n′=c1+p×c2+p2×c3+......,求c1即对n′求余,即c1=n′%p;
(4)依次类推,重复以上方法,依次求得余下的数位,最终实现进制转换。
举个例子,比如需要生成[0,11]之间的整数,要求概率均匀分布。那么,可以这样做:首先,利用函数矩阵生成一个无理数,去掉小数点使之成为一个超大整数;然后,把这个十进制的超大整数转变为12进制的数字。注意,因为在12进制的数字里面,数位上的数字只能是[0,11]之间的整数。即整数n用12求余数,结果只能是0至11之间的整数,所以利用这个特点转换进制数。
当需要生成[-m,-n]、[-n,m]、[-m,n]或[n,m]之间的随机整数且n、m为正整数,m>n时,进行第二进制转换,具体为:通过对上下限进行加或减,使得下限变为0,即转换为第一进制转换来处理;第一进制转换处理完后,再把之前上下限加或减的数补充回去,结果回退到原要求的范围内;
当需要生成a至b之间的随机数且a,b为正的小数时,进行第三进制转换,具体为:首先看随机数要求精确到哪个小数位,若随机数精确到小数后1位,则对上下限乘以10,若随机数精确到小数后2位,则对上下限乘以102,如此类推;然后按照第二进制转换进行转换;当生成随机整数后,再除以之前乘以的数,即可得到原要求的随机数。
S3、从无理数中抽取部分作为加密数字串S;
S4、把目标文件进行分块处理;
S5、利用数字串S中的数字对每块文件数据进行加密操作,得到密文。
为证明本发明中利用无理数生成随机数的有效性和优越性,下面利用C#编程语言,在Windows平台实现了本方法,并对结果进行了初步的统计,结果如下:
如图3所示,在近三百万位的无理数数字序列中,各数字的出现次数确实是比较均匀的,而这也奠定了本概率算法的基础。这里需要注意的是,数字序列越长,如果是千万位甚至千万亿位,那么各数字的出现次数将越均匀。
如图4所示,对于同一个函数矩阵而言,当生成的随机数数量不多的时候,概率均匀性比较不明显。生成的数字长度是361,可以直观的表示361个十进制数字,可见在这几百个随机数字中,0至9的出现概率并不是很均匀。
如图5所示,本发明方法中产生的随机数字是比较均匀的,而且没有周期限制,可以生成大量的随机数。
如图6所示,可以看出生成的随机数大小超过了1039。可以看出本发明方法中可以生成比一般随机数算法大的多的随机数。事实上,本发明方法中理论生成的随机数上限可以是无限大。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

Claims (7)

1.一种无理数加密方法,其特征在于,包括以下步骤:
S1、生成去除小数点的无理数;
S2、根据不同的随机数需求,对步骤S1生成的去除小数点的无理数进行进制转换,得到范围内的随机数;
S3、从无理数中抽取部分作为加密数字串S;
S4、把目标文件进行分块处理;
S5、利用数字串S中的数字对每块文件数据进行加密操作,得到密文。
2.根据权利要求1所述的一种无理数加密方法,其特征在于,所述步骤S1利用函数矩阵或构造法生成无理数。
3.根据权利要求2所述的一种无理数加密方法,其特征在于,所述函数矩阵由多个函数式组合而成,而无理数由该多个函数式的计算结果连接而成。
4.根据权利要求3所述的一种无理数加密方法,其特征在于,在设计函数矩阵时,需估算函数矩阵的生成结果;而为了增强随机性,在每个函数式的基础上,额外增加若干项函数式。
5.根据权利要求2所述的一种无理数加密方法,其特征在于,所述利用构造法生成无理数包括,将规定范围内的质数连接起来形成无理数。
6.根据权利要求1所述的一种无理数加密方法,其特征在于,所述步骤S2中,当需要生成0至n之间的随机整数且n为正整数时,假设无理数n=d0+0×d1+102×d2+......,需要把它转换成p进制数,即n=c0+p×c1+p2×c2+......,则按第一进制转换进行,第一进制转换的具体过程如下:
(1)判断当前整数n与p的关系,若n<p,则转换结束;
(2)若n≥p,则求余数c0,c0=n%p;
(3)进行运算n′=(n-c0)/p,则得到n′=c1+p×c2+p2×c3+......,求c1即对n′求余,即c1=n′%p;
(4)依次类推,重复以上方法,依次求得余下的数位,最终实现进制转换。
7.根据权利要求6所述的一种无理数加密方法,其特征在于,所述步骤S2中,所述步骤S2中,当需要生成[-m,-n]、[-n,m]、[-m,n]或[n,m]之间的随机整数且n、m为正整数,m>n时,进行第二进制转换,具体为:通过对上下限进行加或减,使得下限变为0,即转换为第一进制转换来处理;第一进制转换处理完后,再把之前上下限加或减的数补充回去,结果回退到原要求的范围内;
当需要生成a至b之间的随机数且a,b为正的小数时,进行第三进制转换,具体为:首先看随机数要求精确到哪个小数位,若随机数精确到小数后1位,则对上下限乘以10,若随机数精确到小数后2位,则对上下限乘以102,如此类推;然后按照第二进制转换进行转换;当生成随机整数后,再除以之前乘以的数,即可得到原要求的随机数。
CN202110461552.2A 2021-04-27 2021-04-27 一种无理数加密方法 Pending CN113111366A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110461552.2A CN113111366A (zh) 2021-04-27 2021-04-27 一种无理数加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110461552.2A CN113111366A (zh) 2021-04-27 2021-04-27 一种无理数加密方法

Publications (1)

Publication Number Publication Date
CN113111366A true CN113111366A (zh) 2021-07-13

Family

ID=76721294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110461552.2A Pending CN113111366A (zh) 2021-04-27 2021-04-27 一种无理数加密方法

Country Status (1)

Country Link
CN (1) CN113111366A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109309562A (zh) * 2018-10-08 2019-02-05 陈华贤 无理数加密算法
CN110543778A (zh) * 2019-09-03 2019-12-06 广州市金其利信息科技有限公司 一种字符数据线性随机加密和解密算法
CN110677237A (zh) * 2019-11-04 2020-01-10 郑州轻工业学院 一种具有似混沌特性的文件加密方法
US20200140151A1 (en) * 2018-04-05 2020-05-07 Joel Harris Multi-Function Container Lid
CN112668042A (zh) * 2020-12-16 2021-04-16 西安电子科技大学 一种文件加密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200140151A1 (en) * 2018-04-05 2020-05-07 Joel Harris Multi-Function Container Lid
CN109309562A (zh) * 2018-10-08 2019-02-05 陈华贤 无理数加密算法
CN110543778A (zh) * 2019-09-03 2019-12-06 广州市金其利信息科技有限公司 一种字符数据线性随机加密和解密算法
CN110677237A (zh) * 2019-11-04 2020-01-10 郑州轻工业学院 一种具有似混沌特性的文件加密方法
CN112668042A (zh) * 2020-12-16 2021-04-16 西安电子科技大学 一种文件加密方法

Similar Documents

Publication Publication Date Title
Zhu et al. 2D logistic-modulated-sine-coupling-logistic chaotic map for image encryption
Ping et al. Image encryption based on non-affine and balanced cellular automata
CN109145624B (zh) 一种基于Hadoop平台的多混沌文本加密算法
CN107094072B (zh) 一种基于广义Henon映射的混合混沌加密方法
Jun et al. A new image encryption algorithm based on single S-box and dynamic encryption step
CN109412786A (zh) 一种基于同态加密的整数密文算术运算方法
CN110795762B (zh) 基于流密码的保留格式加密方法
CN112994874B (zh) 一种基于消息鉴别码算法的保留格式加密方法及解密方法
CN109787760B (zh) 一种优化的基于h1类哈希函数族的密钥保密增强方法及装置
Fadel et al. A light-weight ESalsa20 Ciphering based on 1D logistic and chebyshev chaotic maps
Song et al. Multi-image reorganization encryption based on SLF cascade chaos and bit scrambling
Shantha et al. Analysis and implementation of ECC algorithm in lightweight device
Sinha et al. An improved pseudorandom sequence generator and its application to image encryption
CN115766962A (zh) 一种基于五维保守超混沌系统的多密钥图像加密方法
AVAROĞLU et al. A novel S-box-based postprocessing method for true random number generation
Xian et al. A novel chaotic image encryption with FSV based global bit-level chaotic permutation
CN113037488B (zh) 基于国密密码杂凑算法的保留格式加密方法及解密方法
Khanzadi et al. Image encryption based on gyrator transform using chaotic maps
CN114157408A (zh) 基于混沌系统的数字图像加密方法、解密方法及系统
Lu et al. Cryptanalysis and Improvement of a Chaotic Map-Control-Based and the Plain Image-Related Cryptosystem.
CN117235342A (zh) 基于同态哈希函数和虚拟索引的动态云审计方法
CN112737778A (zh) 数字签名生成、验证方法及装置、电子设备及存储介质
CN109981247B (zh) 一种基于整数化混沌映射的动态s盒生成方法
Zhang et al. Reverse iterative image encryption scheme using 8-layer cellular automata
Korayem et al. Color image encryption using a sine variation of the logistic map for s-box and key generation

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