CN118054904A - 一种动态可变的rsa密钥的生成和使用方法 - Google Patents

一种动态可变的rsa密钥的生成和使用方法 Download PDF

Info

Publication number
CN118054904A
CN118054904A CN202410312755.9A CN202410312755A CN118054904A CN 118054904 A CN118054904 A CN 118054904A CN 202410312755 A CN202410312755 A CN 202410312755A CN 118054904 A CN118054904 A CN 118054904A
Authority
CN
China
Prior art keywords
key
user
rsa
information
public key
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
CN202410312755.9A
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.)
Itruschina Co ltd
Original Assignee
Itruschina Co ltd
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 Itruschina Co ltd filed Critical Itruschina Co ltd
Publication of CN118054904A publication Critical patent/CN118054904A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

动态可变的RSA密钥的生成和使用方法:密码组件利用用户私密信息生成素数p、q,计算n=pq,任选或按约定方式选择一个整数e生成初始RSA公钥(e,n)并发布,将p、q丢弃;当对加密数据时,密码组件选一个素数e1,以(e1,n)作为RSA公钥对数据加密,将e1与加密数据一起存放、传送;当对加密数据解密时,密码组件利用用户私密信息生成素数p、q,据此计算得到与RSA公钥(e1,n)对应的私钥(d1,n),使用私钥(d1,n)对加密数据解密;当数字签名时,密码组件利用用户私密信息生成素数p、q,据此生成RSA公钥(e1,n)和私钥(d1,n),使用(d1,n)进行数字签名,将e1与签名的数据一起存放、传送;密码组件使用公钥(e1,n)进行签名验证。

Description

一种动态可变的RSA密钥的生成和使用方法
技术领域
本发明属于密码技术领域,特别是一种动态可变的RSA密钥的生成和使用方法。
背景技术
RSA密码体制是一种公开密钥密码体制,其密钥包括公钥和私钥,其中公钥可公开,私钥由密钥拥有者(比如用户)安全保存和使用。RSA密钥在使用过程中可能存在如下问题:用户RSA私钥必须固定存放在一个密码装置比如USB Key或电脑、移动终端中,这样用户必须使用专门的密码装置(USB Key)或使用固定的电脑、移动终端(计算装置)才能使用RSA私钥,给用户带来了不便,而且将用户RSA私钥长期保存在电脑、移动终端等计算装置中存在被窃取、泄漏的风险。
发明内容
本发明的目的是针对RSA私钥在存储、使用过程中存在的需要固定存放在一个装置且可能造成泄漏的问题,提出一种解决方案。
针对本发明的目的,本发明提出的技术方案为一种动态可变的RSA密钥的生成和使用方法,具体如下。
所述动态可变的RSA密钥的生成和使用方法包括密钥初始生成、密钥使用两部分,其中密钥初始生成发生在初次生成用户RSA密钥时;
密钥初始生成如下:
用户输入私密信息,密码组件或密码装置利用用户私密信息生成素数p、q,计算n=pq,任选或按约定方式选择或固定选择一个整数e,将(e,n)作为RSA公钥发布(比如通过数字证书发布),将p、q丢弃;
密钥使用如下:
当使用用户RSA公钥进行数据加密时,密码组件或密码装置选择或生成一个素数e1(通常为大素数),e1<n或e1>n,以(e1,n)作为用户RSA公钥对数据进行加密,然后将公钥参数e1与加密数据一起存放、传送,或者将e1存放在数据解密方能够获取的其他位置;
当使用用户RSA私钥对加密数据进行解密时,用户输入私密信息,密码组件或密码装置利用用户私密信息生成(恢复)(与初始生成同样的)素数p、q,利用e1、p、q计算得到与公钥(e1,n)对应的RSA私钥(d1,n),使用私钥(d1,n)对加密数据进行解密,完成解密操作后,密码组件或密码装置将p、q、d1丢弃;若利用e1、p、q无法计算得到对应的RSA私钥(d1,n)(这种情况仅在e1<n时可能发生且发生的概率极小),则返回错误;
当使用用户RSA私钥进行数字签名时,用户输入私密信息,密码组件或密码装置利用用户私密信息生成(恢复)(与初始生成同样的)素数p、q,利用p、q生成RSA公钥(e1,n)和私钥(d1,n)(此时e1与e不同,e1为任选的或按约定方式生成的与φ(n)互素的整数),使用(d1,n)进行数字签名操作,然后将p、q、d1丢弃,将公钥参数e1与签名的数据一起存放、传送,或者将e1存放在签名验证方能够获取的其他位置;
当使用用户RSA公钥进行签名验证时,密码组件或密码装置使用公钥(e1,n)进行签名验证;
所述用户私密信息包括用户知晓的信息(比如PIN码,个人房产证件序号、个人毕业证书序号等)或/和用户拥有的信息(比如人体生物特征,比如指纹、虹膜等,或其他能映射为整数的信息);若用户私密信息为用户知晓的信息,则在生成用户RSA密钥时由用户通过输入设备输入(比如通过软硬键盘等);若用户私密信息为用户拥有的信息,则在生成用户RSA密钥时由用户通过传感设备或专用信息获取设备输入(比如指纹获取设备、摄像头等);用户输入的私密信息被转化为(二进制)数字信息;所述密码组件或密码装置为具有RSA密钥生成以及密码运算功能的软件或硬件或软硬结合的组件或装置;密码组件或密码装置利用同样的用户私密信息生成同样的素数p、q。
密码组件或密码装置如何利用用户私密信息生成素数p、q不属于本发明的内容,可以有各种方式,只要能实现此功能即可。
进行解密或签名操作时密码组件或密码装置可通过初始公钥(e,n)获得n。
对于以上所述动态可变的RSA密钥的生成和使用方法,存放、传递e1的方式包括:
数据加密时,(密码组件或密码装置或其他组件或或装置或系统)将e1附加在使用公钥进行加密运算得到的密码数据后面(即作为公钥加密运算得到的密码数据的一部分),或者将e1存放在数据解密方能够获取的其他位置(完全由实施者根据实际情况定);
数字签名时,(密码组件或密码装置或其他组件或装置或系统)将e1附加在使用私钥进行签名运算得到的密码数据(即签名值)后面(即作为私钥签名运算得到的密码数据一部分),或者将e1存放在签名验证方能够获取的其他位置(完全由实施者根据实际情况定)。
若用户私密信息为用户人体生物特征,由于人体生物特征具有一定的模糊性,使得利用用户生物特征生成的素数p、q具有一定的不确定性,比如,由于人体生物特征获取的位置不同,采用同样的方式生成的素数p、q可能不同(但不一定就不同,好的转换、映射方案能减少这种不同的出现),因此,不能保证后续进行数据解密、数字签名时利用用户人体生物特征所生成、恢复的素数p、q与RSA密钥初次生成时所生成的素数p、q一样;还有,若生成素数p、q的用户私密信息是用户知晓的信息,后续生成、恢复素数p、q时用户输入的信息有可能出错,对此,在恢复素数p、q时可采用如下方式处理这个问题:
在恢复素数p、q时,密码组件或密码装置检查利用用户私密信息生成(恢复)的素数p、q的乘积pq与公钥中的参数n是否相同,若不同,则返回错误提示(之后用户重新输入私密信息,或者在用户重新输入私密信息超过一定次数后,中止素数p、q的恢复过程)。
对于以上所述动态可变的RSA密钥的生成和使用方法,可以将加密公钥与时间关联:
当使用用户RSA公钥进行数据加密时,密码组件或密码装置所选择或所生成的公钥参数e1的二进制数位串中的部分数位是或者对应一个时间(时刻)。
以上将加密公钥与时间关联的用途包括:标明加密时间或实施解密控制;所述解密控制包括:(密码组件或密码装置)仅允许在加密公钥参数e1所包含或所对应的时间之前或之后进行解密操作。
类似地,对于以上所述动态可变的RSA密钥的生成和使用方法,可以将签名私钥与签名时间关联:
当使用用户RSA私钥进行数字签名时,密码组件或密码装置所选择或所生成的公钥参数e1的二进制数位串中的部分数位是或者对应当前时间(当前时刻)。
对于数据加密,加密公钥除了通过e1与时间关联,还可以与其他信息关联(比如与解密规则关联),具体如下:
当使用用户RSA公钥进行数据加密时,密码组件或密码装置生成密钥使用信息(比如解密控制策略),然后利用密钥使用信息生成作为公钥参数的素数e1,之后将用于公钥参数e1生成的密钥使用信息与加密数据一起存放、传送(比如采用与存放、传递公钥参数e1类似的方式),或者将用于公钥参数e1生成的密钥使用信息存放在数据解密方能够获取的其他位置;
当使用用户RSA私钥对加密数据进行解密时,密码组件或密码装置获得用于公钥参数e1生成的密钥使用信息,然后按数据加密时同样的方式生成公钥参数e1
类似地,对于数字签名,签名私钥除了通过e1与签名时间关联,还可以与其他信息关联(比如签名说明),具体如下:
当使用用户RSA私钥进行数字签名时,密码组件或密码装置生成密钥使用信息(比如签名时间、签名背景),然后利用密钥使用信息生成作为公钥参数的(与φ(n)=(p-1)(q-1)互素的)整数e1,之后将用于公钥参数e1生成的密钥使用信息与签名的数据一起存放、传送(比如采用与存放、传递公钥参数e1类似的方式),或者将用于公钥参数e1生成的密钥使用信息存放在签名验证方能够获取的其他位置;
当使用用户RSA公钥进行签名验证时,密码组件或密码装置获得用于公钥参数e1生成的密钥使用信息,然后按数字签名时同样的方式生成公钥参数e1
在具体实施中,利用用户私密信息生成素数p、q可能需要使用一些参数(比如,由于映射转换需要,或者为了使用同样的私密信息生成不同的RSA密钥对),则可以采用如下方式通过公钥参数e携带用于生成素数p、q的参数:
在RSA密钥初次生成选择整数e时,密码组件或密码装置所选择的整数e的二进制数位串中的部分数位是或者对应生成素数p、q所需的参数(e的其他数位是啥无关紧要),或者整数e的二进制数位串中的部分数位是获取生成素数p、q所需参数的获取信息(如URL、URI);
在使用RSA私钥进行密码运算而需要生成、恢复素数p、q时,密码组件或密码装置从整数e的二进制数位串中的相应部分获得生成素数p、q所需的参数(从公钥(e,n)可获得e),或者从整数e的二进制数位串中的相应部分获得生成素数p、q所需参数的获取信息,利用获取信息(比如,从网上获得)获得生成素数p、q所需的参数。
在具体实施中,为了区分利用用户敏感信息所生成的动态可变RSA密钥和采用随机选择素数p、q的方式所生成的RSA密钥,密码组件或密码装置可以在初始选择生成的整数e的二进制数位串中的部分数位设定特定的标志(随机选择或按其他方式选择的e的对应数位恰好与此标志相同的概率极小)。
对于以上所述RSA密钥生成和私钥恢复方法,用于生成RSA密钥的用户私密信息是一种(私密)信息或多种(私密)信息的组合(两种或两种以上信息的组合,比如PIN码+人体生物特征)。
基于本发明的方法,用户的用于加密的RSA密钥(公钥)和用于签名的RSA密钥(私钥)是在加密时刻或签名时刻临时生成的、每次可变的,用户无需在固定的或特定的设备、装置中存放RSA私钥,这样既方便又安全,而且做到用户的RSA签名私钥与用户私密信息关联(比如与人体生物特征),与签名时刻关联。
具体实施方式
下面对本发明的具体实施方式进行说明。以下内容仅是对本发明可能实施方式的说明,不代表全部可能的实施方式,不作为对本发明保护范围的限制。
在本发明的具体实施中,用户私密信息可以是用户知晓的信息,比如PIN码,个人房产证件序号、学位证书序列号等,或者用户拥有的信息,比如人体生物特征,比如指纹、虹膜等,或其他能映射为整数的信息,或者多种信息的组合,比如PIN码+个人证件号码,PIN码+人体生物特征;若用户私密信息为用户知晓的信息,则在生成用户RSA密钥时由用户通过输入设备输入(比如通过软硬键盘等);若用户私密信息为用户拥有的信息,则在生成用户RSA密钥时由用户通过传感设备或专用信息获取设备输入(比如指纹获取设备、摄像头等);用户输入的私密信息被转化为(二进制)数字信息。
密码组件或密码装置如何利用用户私密信息生成素数p、q可以有各种方式,只要能利用用户私密信息生成素数p、q即可(不属于本发明的内容)。若用户私密信息是用户知晓的信息,则可能的方式包括计算用户私密信息的散列值(哈希值、杂凑值),然后在散列值的基础上按约定的方式分别生成素数p、q,比如通过多次取散列值、拼接形成两个初始整数,然后在此基础上进行进一步处理,直到得到的素数p、q(比如,先得到一个奇数,若不为素数,则不断加2,直到得到的数为素数),当然,还可以采用其他方式。
若用户私密信息是用户的生物特征信息,比如指纹、虹膜、脸像等,或其他能映射为整数的信息,则可以采用先将用户私密信息映射到一个整数k,然后再利用整数k生成得到素数p、q的方式,对此有很多成熟的方案(比如,通过对k取多次散列值、散列值拼接,得到两个初始整数k1、k2,然后再利用整数k1、k2生成、得到素数p、q),或者,采用先将用户私密信息映射为两个不同的整数k1、k2,然后再利用整数k1、k2生成、得到素数p、q的方式,或者,采用其他将用户生物特征映射、转换为素数p、q的方案(本发明对此没有限定、限制)。
本发明对从用户私密信息映射得到p、q的方法没有限制,但是,无论采用何种方法,所采用的方法应该使得基于公开信息(比如n、e、e1)无法得到(破解)p、q(显然的)。
使用用户RSA公钥进行数据加密时,密码组件或密码装置任选的素数e1可以是e1<n,也可以是e1>n;选择e1<n好处在于加密运算的幂运算次数少,缺点是(e1,n)可能没有对应的私钥(d1,n),无法对数据进行解密,但这种概率极小,若这种无法解密加密数据的概率是可接受的,或者是在线交互(不能解密可以重新加密),则可以选择e1<n;选择e1>n的好处在于此时(e1,n)一定有对应的私钥(d1,n)(n>φ(n))。
在整数e1中嵌入时间有多种可能方式,可以由实施者自己定,一种可用的方式是e1的二进制数位串中的部分数位存放的是从1970年1月1日00:00到当前时刻的总毫秒数,具体地,密码组件或密码装置可以先初选一个大整数,将其二进制数位串中的部分数位存放时间数据,然后在保持存放时间数据的二进制数位中所存放的数不变的情况下(其他数位可变),在此包含时间信息的大整数的基础上(对于加密公钥与时间关联)生成素数e1(比如,先得到一个奇数,若e1不为素数,则对e1不断加2,直到e1为素数),或者(对于签名私钥与时间关联)生成与φ(n)=(p-1)(q-1)互素的整数e1(比如,先得到一个奇数,若e1与φ(n)=(p-1)(q-1)不互素,则对e1不断加2,直到e1与φ(n)互素)。
利用密钥使用信息生成公钥参数e1有很多种方法,比如,可以先初选一个大整数,直接将密钥使用信息或将其散列值存放在初始大整数的二进制数位串的部分数位中,其他多余的数位存放固定值,且初始大整数为奇数(最低位为1),然后在初开始大整数的基础上按预定的方式(对于加密公钥与时间关联)生成素数e1,或者(对于签名私钥与时间关联)生成与φ(n)=(p-1)(q-1)互素的整数e1,在生成e1的过程中整数的所有数位可变。
为了使得同样的私密信息能够生成不同的RSA密钥,或者出于其他原因或目的,在利用私密信息生成素数p、q的过程可以或者需要使用额外的参数,比如,在计算用户知晓的私密信息的散列值时,可以将私密信息与额外参数合并后再计算,这样同样的私密信息可以生成不同的素数p、q,从而生成不同的RSA密钥;再比如,将用户私密信息映射为一个整数k(或两个整数k1、k2)时可以将额外参数作为输入的一部分,输入参数不同,映射得到的整数k(k1、k2)不同,由此得到不同的素数p、q,等等。
生成素数p、q的额外参数可以作为公钥参数e的一部分包含在公钥参数e中,具体地,可以先初选一个大整数,在其二进制数位串中选取一部分数位存放额外参数,然后在保持存放额外参数的二进制数位中所存放的数不变的情况下(其他数位可变),在这个包含额外参数的大整数基础上生成包含额外参数的公钥参数e(通常e为小于φ(n)的整数,若因包含的额外参数所占有的数位太多,可以使得e为大于φ(n)、甚至大于n的整数,这是允许的)。
若不是将生成素数p、q所需的额外参数直接包含在公钥参数e中,而是将获取生成素数p、q所需额外参数的获取信息包含在公钥参数e中,则将获取信息包含在公钥参数e中的方式与将生成素数p、q所需的额外参数直接包含在公钥参数e中的方式完全相同,此时的获取信息可以是任何可实施的方式,比如URL、URI,密码组件或密码装置利用此获取信息获得(比如从网上获得)生成素数p、q所需参数,而将生成素数p、q所需的额外参数放在获取位置的可以是初始生成公钥参数e的密码组件或密码装置,或者其他装置或系统。
在具体实施中,将区分随机生成的RSA密钥和利用敏感信息生成的动态可变RSA密钥的标志包含在公钥参数e中的方式与将额外参数包含在公钥参数e中的方式类似,存放标志的数位个数以及设定的标志应使得随机选择或按其他方式选择的e的对应数位恰好与此标志相同的概率在可接受的范围,比如小于千分之一、万分之一。
若用户私密信息是两种或多种信息的组合,则可以利用两种或多种信息组合后的信息生成素数p、q:比如,私密信息是PIN码+用户房产证序列号,则可以将这两种信息的数字信息组合为一个字串,然后生成素数p、q;或者,将其中一种信息作为用另一种信息生成素数p、q的控制参数,比如私密信息是PIN码+指纹,则可以将PIN码作为用户指纹生成素数p、q的控制参数(同样的指纹,PIN码不同,生成的p、q不同);或者,利用不同私密信息先分别生成中间整数,然后利用分别生成的中间整数生成素数p、q,比如私密信息是PIN码+指纹,先用PIN码生成整数k1,然后用指纹生成整数k2,之后利用k1、k2组合生成素数p、q。
无论采用何种方式生成p、q,生成素数p、q的步骤应该是确定性的,中间没有参入随机信息(数据),没有随机选择的不确定步骤。
在具体实施中,密码组件或密码装置可以为软件或硬件或软硬结合组件或装置,比如,可以是计算机、移动终端中的一个软件组件、程序,可以是由计算机、移动终端等通用装置构成的装置,私密信息获取设备可以是密码组件或密码装置的一部分,也可以是密码组件或密码装置之外的设备。
其他未说明的具体技术实施,对于相关领域的技术人员而言属于现有技术、公知知识。

Claims (10)

1.一种动态可变的RSA密钥的生成和使用方法,其特征是:
包括密钥初始生成、密钥使用,其中密钥初始生成发生在初次生成用户RSA密钥时;
密钥初始生成如下:
用户输入私密信息,密码组件或密码装置利用用户私密信息生成素数p、q,计算n=pq,任选或按约定方式选择或固定选择一个整数e,将(e,n)作为RSA公钥发布,将p、q丢弃;
密钥使用如下:
当使用用户RSA公钥进行数据加密时,密码组件或密码装置选择或生成一个素数e1,e1<n或e1>n,以(e1,n)作为用户RSA公钥对数据进行加密,然后将公钥参数e1与加密数据一起存放、传送,或者将e1存放在数据解密方能够获取的其他位置;
当使用用户RSA私钥对加密数据进行解密时,用户输入私密信息,密码组件或密码装置利用用户私密信息生成素数p、q,利用e1、p、q计算得到与公钥(e1,n)对应的RSA私钥(d1,n),使用私钥(d1,n)对加密数据进行解密,完成解密操作后,密码组件或密码装置将p、q、d1丢弃;若利用e1、p、q无法计算得到对应的RSA私钥(d1,n),则返回错误;
当使用用户RSA私钥进行数字签名时,用户输入私密信息,密码组件或密码装置利用用户私密信息生成素数p、q,利用p、q生成RSA公钥(e1,n)和私钥(d1,n),使用(d1,n)进行数字签名操作,然后将p、q、d1丢弃,将公钥参数e1与签名的数据一起存放、传送,或者将e1存放在签名验证方能够获取的其他位置;
当使用用户RSA公钥进行签名验证时,密码组件或密码装置使用公钥(e1,n)进行签名验证;
所述用户私密信息包括用户知晓的信息或/和用户拥有的信息;用于生成RSA密钥的用户私密信息是一种信息或多种信息的组合;所述多种指两种或两种以上;若用户私密信息为用户知晓的信息,则在生成用户RSA密钥时由用户通过输入设备输入;若用户私密信息为用户拥有的信息,则在生成用户RSA密钥时由用户通过传感设备或专用信息获取设备输入;用户输入的私密信息被转化为数字信息;所述密码组件或密码装置为具有RSA密钥生成以及密码运算功能的软件或硬件或软硬结合的组件或装置;密码组件或密码装置利用同样的用户私密信息生成同样的素数p、q。
2.根据权利要求1所述的动态可变的RSA密钥的生成和使用方法,其特征是:
存放、传递e1的方式包括:
数据加密时,将e1附加在使用公钥进行加密运算得到的密码数据后面,或者将e1存放在数据解密方能够获取的其他位置;
数字签名时,将e1附加在使用私钥进行签名运算得到的密码数据后面,或者将e1存放在签名验证方能够获取的其他位置。
3.根据权利要求1所述的动态可变的RSA密钥的生成和使用方法,其特征是:
在恢复素数p、q时,密码组件或密码装置检查利用用户私密信息生成的素数p、q的乘积pq与公钥中的参数n是否相同,若不同,则返回错误提示。
4.根据权利要求1所述的动态可变的RSA密钥的生成和使用方法,其特征是:
当使用用户RSA公钥进行数据加密时,密码组件或密码装置所选择或所生成的公钥参数e1的二进制数位串中的部分数位是或者对应一个时间。
5.根据权利要求4所述的动态可变的RSA密钥的生成和使用方法,其特征是:
将加密公钥与时间关联的用途包括:标明加密时间或实施解密控制;所述解密控制包括:仅允许在加密公钥参数e1所包含或所对应的时间之前或之后进行解密操作。
6.根据权利要求1所述的动态可变的RSA密钥的生成和使用方法,其特征是:
使用用户RSA私钥进行数字签名时,密码组件或密码装置所选择或所生成的公钥参数e1的二进制数位串中的部分数位是或者对应当前时间。
7.根据权利要求1所述的动态可变的RSA密钥的生成和使用方法,其特征是:
当使用用户RSA公钥进行数据加密时,密码组件或密码装置生成密钥使用信息,然后利用密钥使用信息生成作为公钥参数的素数e1,之后将用于公钥参数e1生成的密钥使用信息与加密数据一起存放、传送,或者将用于公钥参数e1生成的密钥使用信息存放在数据解密方能够获取的其他位置;
当使用用户RSA私钥对加密数据进行解密时,密码组件或密码装置获得用于公钥参数e1生成的密钥使用信息,然后按数据加密时同样的方式生成公钥参数e1
8.根据权利要求1所述的动态可变的RSA密钥的生成和使用方法,其特征是:
当使用用户RSA私钥进行数字签名时,密码组件或密码装置生成密钥使用信息,然后利用密钥使用信息生成作为公钥参数的整数e1,之后将用于公钥参数e1生成的密钥使用信息与签名的数据一起存放、传送,或者将用于公钥参数e1生成的密钥使用信息存放在签名验证方能够获取的其他位置;
当使用用户RSA公钥进行签名验证时,密码组件或密码装置获得用于公钥参数e1生成的密钥使用信息,然后按数字签名时同样的方式生成公钥参数e1
9.根据权利要求1所述的动态可变的RSA密钥的生成和使用方法,其特征是:
在RSA密钥初次生成选择整数e时,密码组件或密码装置所选择的整数e的二进制数位串中的部分数位是或者对应生成素数p、q所需的参数,或者整数e的二进制数位串中的部分数位是获取生成素数p、q所需参数的获取信息;
在使用RSA私钥进行密码运算而需要生成、恢复素数p、q时,密码组件或密码装置从整数e的二进制数位串中的相应部分获得生成素数p、q所需的参数,或者从整数e的二进制数位串中的相应部分获得生成素数p、q所需参数的获取信息,利用获取信息获得生成素数p、q所需的参数。
10.根据权利要求1-9中任一项所述的动态可变的RSA密钥的生成和使用方法,其特征是:
密码组件或密码装置在初始选择生成的整数e的二进制数位串中的部分数位设定特定的标志以区分利用用户敏感信息所生成的动态可变RSA密钥和采用随机选择素数p、q的方式所生成的RSA密钥。
CN202410312755.9A 2024-03-08 2024-03-19 一种动态可变的rsa密钥的生成和使用方法 Pending CN118054904A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202410264826 2024-03-08
CN2024102648262 2024-03-08

Publications (1)

Publication Number Publication Date
CN118054904A true CN118054904A (zh) 2024-05-17

Family

ID=91053684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410312755.9A Pending CN118054904A (zh) 2024-03-08 2024-03-19 一种动态可变的rsa密钥的生成和使用方法

Country Status (1)

Country Link
CN (1) CN118054904A (zh)

Similar Documents

Publication Publication Date Title
CN110213042B (zh) 一种基于无证书代理重加密的云数据去重方法
US11811923B2 (en) Single node multi-party encryption
CN111314089B (zh) 一种基于sm2的两方协同签名方法及解密方法
US8195951B2 (en) Data processing system for providing authorization keys
CN110958219B (zh) 一种面向医疗云共享数据的sm2代理重加密方法与装置
CN107078899B (zh) 混淆数据的方法
CN102013980A (zh) 需要采用穷举法解密的随机加密方法
US9325499B1 (en) Message encryption and decryption utilizing low-entropy keys
CN111404952B (zh) 变电站数据加密传输方法、装置、计算机设备和存储介质
CN113691502A (zh) 通信方法、装置、网关服务器、客户端及存储介质
US6640303B1 (en) System and method for encryption using transparent keys
CN112383397B (zh) 一种基于生物特征的异构签密通信方法
CN111739200B (zh) 一种指纹电子锁的加密、解密认证方法和指纹电子锁
CN110855667A (zh) 一种区块链加密方法、装置及系统
JP7323004B2 (ja) データ抽出システム、データ抽出方法、登録装置及びプログラム
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
CN116049792A (zh) 人脸注册、识别方法以及人脸数据保护系统
CN118054904A (zh) 一种动态可变的rsa密钥的生成和使用方法
CN109787773B (zh) 基于私钥池和Elgamal的抗量子计算签密方法和系统
CN116579005B (zh) 一种用户数据安全存储管理方法
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN115314204B (zh) 随机数生成方法、装置及存储介质
CN115314208B (zh) 一种安全可控的sm9数字签名生成方法及系统
CN118233089A (zh) 一种rsa密钥生成和私钥恢复方法
CN110572256B (zh) 基于非对称密钥池和隐式证书的抗量子计算非对称密钥管理方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination