一种公私角色固定的非对称密钥设置方法转让专利

申请号 : CN202110399039.5

文献号 : CN113300844B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆成刚

申请人 : 浙江工业大学

摘要 :

一种公私角色固定的非对称密钥设置方法,包括以下步骤:步骤一,针对十进制整数形式的明文作加密,设定系统的明文处理规格为2k+1位,k是正整数,明文处理一次只能处理2k+1位,位数是奇数;步骤二,选定一个大整数t;步骤三,利用式子因式分解,令私钥V=10t+1,公钥步骤四,加解密算法,分以下两类:4.1)、公钥加密,私钥解密;4.2)、私钥签名,公钥验证。本发明提供了一种计算量轻量级且安全性良好的公私角色固定的非对称密钥设置方法。

权利要求 :

1.一种公私角色固定的非对称密钥设置方法,其特征在于,所述方法包括以下步骤:步骤一,针对十进制整数形式的明文作加密,设定系统的明文处理规格为2k+1位,k是正整数,明文处理一次只能处理2k+1位,位数是奇数;

步骤二,选定一个大整数t;

步骤三,利用式子因式分解

令私钥V=10t+1,公钥

步骤四,加解密算法,分以下两类:

4.1)、公钥加密,私钥解密,过程如下:

4.1.1)对于2k+1位十进制明文x1x2...x2k+1,其中xj为0,1,2,…,9的数字,j=1,2,…,2k+1,公钥加密就是使用明文和公钥作十进制乘法,取结果的后2k+1位作为密文y1y2...y2k+1,如下式:符号 表示这个乘法不是普通的乘法,是删去前面位数取最后2k+1位的乘法;

4.1.2)私钥解密就是使用密文y1y2...y2k+1与私钥作十进制乘法,并取结果的后2k+1位,所得后2k+1位为明文x1x2...x2k+1,如下式

4.2)、私钥签名,公钥验证,过程如下:

4.2.1)对于2k+1位十进制明文摘要x1x2...x2k+1使用私钥签名,得到签名y1y2...y2k+1

4.2.2)公众使用公钥对签名进行验证得到明文摘要x1x2...x2k+1,如下

说明书 :

一种公私角色固定的非对称密钥设置方法

技术领域

[0001] 本发明属于加密领域,涉及一种非对称密钥设置方法。

背景技术

[0002] 非对称密码体制又称公私钥密码系统,跟传统的对称密码体制的区别是有一对不同的密钥,一个用于加密,另外一个用于解密,而对称密钥系统的加密、解密都是同一个密钥。相对于对称密钥需要一条安全的密钥信道,非对称密钥系统不需要专门传输密钥的安全信道,它的密钥可以在网络上公开传输,并不“忌讳”第三方获取或泄漏。业内把非对称密钥的一个经网络公开传输的密钥称为公钥,而用户存储于本地的不需要传输的密钥称为私钥。并且对非对称密钥的一对密钥来说,哪一个做公钥、哪一个做私钥,并无硬性的规定,可以任意取一个做公钥,则剩下的一个做私钥。例如,两个经典的非对称密钥方法RSA和椭圆密码都有这个特点。
[0003] 传统的RSA方法,在加密、解密运算上涉及到大数模余和方幂运算,故在计算量上是重量级的。

发明内容

[0004] 为了克服已有非对称密钥方法的计算量较大的不足,本发明提供了一种计算量轻量级且安全性良好的公私角色固定的非对称密钥设置方法。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] 一种公私角色固定的非对称密钥设置方法,包括以下步骤:
[0007] 步骤一,针对十进制整数形式的明文作加密,设定系统的明文处理规格为2k+1位,k是正整数,明文处理一次只能处理2k+1位,位数是奇数;
[0008] 步骤二,选定一个大整数t;
[0009] 步骤三,利用式子因式分解
[0010]
[0011] 令私钥V=10t+1,公钥
[0012] 步骤四,加解密算法,分以下两类:
[0013] 4.1)、公钥加密,私钥解密,过程如下:
[0014] 4.1.1)对于2k+1位十进制明文x1x2...x2k+1,其中xj为0,1,2,…,9的数字,j=1,2,…,2k+1,公钥加密就是使用明文和公钥作十进制乘法,取结果的后2k+1位作为密文y1y2...y2k+1,如下式:
[0015]
[0016] 符号 表示这个乘法不是普通的乘法,是删去前面位数取最后2k+1位的乘法;
[0017] 4.1.2)私钥解密就是使用密文y1y2...y2k+1与私钥作十进制乘法,并取结果的后2k+1位,所得后2k+1位为明文x1x2...x2k+1,如下式
[0018]
[0019] 4.2)、私钥签名,公钥验证,过程如下:
[0020] 4.2.1)对于2k+1位十进制明文摘要x1x2...x2k+1使用私钥签名,得到签名y1y2...y2k+1
[0021]
[0022] 4.2.2)公众使用公钥对签名进行验证得到明文摘要x1x2...x2k+1,如下[0023]
[0024] 本发明的非对称密码设置方法,它的一对密钥的公私角色是固定的,即一个必须作为公钥,另外一个则必须是私钥;其次,和传统的RSA方法相比,在加密、解密运算上本案因不涉及到大数模余(只用到一次性的大数乘法)、也不涉及到方幂运算,故比较而言在计算量上是极轻量级的;而关于加密算法的强度,由于本发明也跟RSA算法类似主要依赖于大数的因式分解,因而认为本发明的非对称密钥系统也是算法安全的。
[0025] 本发明的有益效果主要表现在:计算量轻量级且安全性良好。

附图说明

[0026] 图1是公私角色固定的非对称密钥设置方法的流程图。

具体实施方式

[0027] 下面结合附图对本发明作进一步描述。
[0028] 参照图1,一种公私角色固定的非对称密钥设置方法,包括以下步骤:
[0029] 步骤一,和RSA算法一样,针对十进制整数形式的明文作加密,设定系统的明文处理规格为2k+1位,k是正整数,明文处理一次只能处理2k+1位,位数是奇数,比如k=8,每块明文就是17位十进制整数;
[0030] 步骤二,选定一个大整数t。例如t为150位的大数,10149<t<10150。
[0031] 步骤三,利用式子因式分解
[0032]
[0033] 令私钥V=10t+1,公钥
[0034] 步骤四,加解密算法,分以下两类:
[0035] 4.1)、公钥加密,私钥解密,过程如下:
[0036] 4.1.1)对于2k+1位十进制明文x1x2...x2k+1,其中xj为0,1,2,…,9的数字,j=1,2,…,2k+1,公钥加密就是使用明文和公钥作十进制乘法,取结果的后2k+1位作为密文y1y2...y2k+1,如下式:
[0037]
[0038] 符号 表示这个乘法不是普通的乘法,是删去前面位数取最后2k+1位的乘法;
[0039] 4.1.2)私钥解密就是使用密文y1y2...y2k+1与私钥作十进制乘法,并取结果的后2k+1位,所得后2k+1位为明文x1x2...x2k+1,如下式
[0040]
[0041] 4.2)、私钥签名,公钥验证,过程如下:
[0042] 4.2.1)对于2k+1位十进制明文摘要x1x2...x2k+1使用私钥签名,得到签名y1y2...y2k+1
[0043]
[0044] 4.2.2)公众使用公钥对签名进行验证得到明文摘要x1x2...x2k+1,如下[0045]
[0046] 本实施例的密钥的公私角色是固定的,公开的始终是公钥 而私钥V=10t+1无论在加解密还是签名运用时都是只在本地使用,不经过任何网络传输(因为从私钥V=10t+1很容易得到t)。那么第三方对于 只要猜出大整数t就
可以破解这个密码系统了,下面分析破解的难度,如下:
[0047]
[0048] 以上每一项都是正数,所以U必是大于首项[(10t)2k‑(10t)2k‑1]的数,而首项2k 2k‑1 2k‑1 2k‑1 2k‑1 2k‑1
[(10t) ‑(10t) ]=(10t) (10t‑1)>(10t) ,可见U是大于(10t) 。(10t) 是一个2250位的大数(150*15=2250);其次再查验从U中分析出t的困难程度,因为如果知道了t,那么密码系统也就破解了。
[0049] 从[(10t)2k‑(10t)2k‑1]+[(10t)2k‑2‑(10t)2k‑3]+...+[(10t)2‑(10t))]=U‑1中分析,U‑1为已知的大数,k也是已知的,上式就是求整系数一元高次方程的整数解;因此对U‑1150 149 149
进行因式分解,由于t为150位数,所以用小于10 但大于10 的9×10 个数去试试能否整除U‑1,假设“猜”到了一个待选数t'能整除U‑1,将上面式子两边除掉10t',之后 依旧是一个大数(位数为2250‑150=2100);此时上式子变为
[0050]
[0051] 假设“猜”中了t=t'那么上式子其实就是
[0052]
[0053] 为进一步验证t=t',必须考虑
[0054]149
[0055] 对 的因式分解同样需要试到9×10 个150位的数。如此进行下去,一直到149
首项次数由2k降到1次为止,这样一共试了16×9×10 个数的整除,并且这还是假设t=t'
149
被猜中的情况下,否则还要多次返回重新猜;而单单试着作10 次整除,让世界上最快的京速级计算机来演算也需要耗用整个宇宙寿命的几十亿年的时间,因此,破解的难度非常大。
[0056] 实例:爱丽丝和鲍勃在不安全的通信信道进行消息传输,爱丽丝需要发送一段消息给鲍勃。首先鲍勃使用大数t,基于17位长的规格,依照上述方法生成两个密钥,一个私钥V=10t+1,一个公钥 它们分别是一串数字。通过该不安全信道,鲍勃把公钥 发给爱丽丝。爱丽丝首先将发送的消息的文本编码(例如UNICODE
码)转成十进制数,每取17位数进行公钥加密(所取17位数与公钥作乘法,并取末尾17位作密文)透过该信道发送给鲍勃,进行若干次加密、发送后,鲍勃收到全部密文。鲍勃对密文每
17位进行解密(该17位密文数字与私钥作乘法,并取后17位),等到所有密文解密后再转成文本编码。这样爱丽丝通过不安全的信道把消息安全地传输给了鲍勃。
[0057] 本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。