CN114422108A - 一种用户隐私数据加密解密方法及系统 - Google Patents

一种用户隐私数据加密解密方法及系统 Download PDF

Info

Publication number
CN114422108A
CN114422108A CN202111644286.3A CN202111644286A CN114422108A CN 114422108 A CN114422108 A CN 114422108A CN 202111644286 A CN202111644286 A CN 202111644286A CN 114422108 A CN114422108 A CN 114422108A
Authority
CN
China
Prior art keywords
key
prime number
data
result value
strong
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
CN202111644286.3A
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.)
Aerospace Science And Technology Network Information Development Co ltd
Original Assignee
Aerospace Science And Technology Network Information Development 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 Aerospace Science And Technology Network Information Development Co ltd filed Critical Aerospace Science And Technology Network Information Development Co ltd
Priority to CN202111644286.3A priority Critical patent/CN114422108A/zh
Publication of CN114422108A publication Critical patent/CN114422108A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种用户隐私数据加密解密方法和系统。所述用户隐私数据加密解密方法,通过采用DES算法对明文数据进行加密,能够提高加密速度,并且为了进一步提高加密有效性,本发明采用RSA加密算法对DES算法进行加密过程中所使用的密钥进行加密,进而实现DES算法和RSA算法的加密缺陷互补,以解决现有技术中存在的加密速度和加密安全性不能同时满足的问题。

Description

一种用户隐私数据加密解密方法及系统
技术领域
本发明涉及数据加密解密技术领域,特别是涉及一种用户隐私数据加密解密方法及系统。
背景技术
在计算机技术与网络技术迅速发展的背景下,信息数字化程度也在不断提高,大数据量呈现出急剧增长的态势。这其中就包含了大量的用户隐私数据。隐私数据是指具有私密性、安全防护等级高的敏感性强的数据。数据在存储和检索处理过程中最容易被攻击和窃取。因此,数据隐私的安全保护成为维护数据安全、平稳运行中亟待解决的问题,更是信息安全领域中的重要课题。
RSA系统是在众多领域得到应用和普及的公钥密码系统之一。RSA运算本质上是一个模指数运算。RSA算法中大数因子分解的模指数运算是一项耗时的工作,始终制约着RSA算法的发展。该算法的安全级别依赖于在短时间内因式分解一个大整数。针对这一问题,许多学者提出了不同的优化算法,其中,中国剩余定理(CRT)对解密的有效性是显而易见的。证明了考虑中国剩余定理的计算代价,对偶素数CRT-RSA的运算速度分别是原算法的3.32倍(1024位模)和3.47倍(模型为2048位)的运算速度。虽然速度令人满意,但存在安全问题。
发明内容
为解决现有技术中存在的上述问题,本发明提供了一种用户隐私数据加密解密方法及系统。
为实现上述目的,本发明提供了如下方案:
一种用户隐私数据加密解密方法,包括:
采用DES算法对用户隐私数据进行加密得到加密数据;
采用公钥对所述DES算法中采用的密钥进行加密得到加密密钥;所述公钥包括:第一密钥和第二密钥;所述第一密钥基于第一强素数和第二强素数生成;
采用私钥解密所述加密密钥,得到解密后的DES算法的密钥;所述私钥根据所述第一密钥和所述第二密钥确定;
基于解密后的DES算法的密钥解密所述加密数据得到解密后的用户隐私数据。
优选地,所述第一强素数或所述第二强素数的生成过程包括:
从素数数组中随机选取一个素数,并随机生成第一整数;所述第一整数属于集合[1,9];
根据随机选取的素数以所述第一整数为基数进行逐级计算,直至得到的计算结果为素数时得到第一结果值;
随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值;所述第二整数属于集合[1,9];
判断所述第二结果值的倍数值与1间的差值是否为素数,若所述第二结果值的倍数值与1间的差值为素数,则确定所述第二结果值的倍数值与1间的差值为所述第一强素数或所述第二强素数;
若所述第二结果值的倍数值与1间的差值为非素数,则将所述第二结果值的倍数值与1间的差值作为第一结果值,并返回“随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值”,直至所述第二结果值的倍数值与1间的差值为素数时为止。
优选地,所述素数数组由小于500的素数组成。
优选地,所述第一密钥为所述第一强素数和所述第二强素数的乘积。
优选地,所述第二密钥为小于所述第一密钥的素数。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的用户隐私数据加密解密方法,通过采用DES算法对明文数据进行加密,能够提高加密速度,并且为了进一步提高加密有效性,本发明采用RSA加密算法对DES算法进行加密过程中所使用的密钥进行加密,进而实现DES算法和RSA算法的加密缺陷互补,以解决现有技术中存在的加密速度和加密安全性不能同时满足的问题。
对应于上述提供的用户隐私数据加密解密方法,本发明提供了两种用户隐私数据加密解密系统,具体如下:
其中一种用户隐私数据加密解密系统包括:数据发送端和数据接收端;
所述数据发送端与所述数据接收端进行数据交互;
所述数据发送端用于采用DES算法对用户隐私数据进行加密得到加密数据,并用于采用公钥对所述DES算法中采用的密钥进行加密得到加密密钥,还用于将所述加密数据和所述加密密钥发送给所述接收端;所述公钥包括:第一密钥和第二密钥;所述第一密钥基于第一强素数和第二强素数生成;
所述数据接收端,用于接收所述加密数据和所述加密密钥,并用于采用私钥解密所述加密密钥,得到解密后的DES算法的密钥,还用于基于解密后的DES算法的密钥解密所述加密数据得到解密后的用户隐私数据;所述私钥根据所述第一密钥和所述第二密钥确定。
优选地,所述数据发送端包括依次连接的强素数生成模块、公钥生成模块和私钥生成模块;
所述强素数生成模块用于生成所述第一强素数和所述第二强素数;所述公钥生成模块用于根据所述第一强素数和所述第二强素数生成公钥;所述私钥生成模块用于根据所述公钥生成私钥。
优选地,所述强素数生成模块包括:随机数生成单元、第一计算单元、第二计算单元、判断单元、强素数确定单元和循环执行单元;
所述随机数生成单元与所述第一计算单元连接;所述第一计算单元与所述第二计算单元连接;所述第二计算单元与所述判断单元连接;所述判断单元分别与所述强素数确定单元和所述循环执行单元连接;所述循环执行单元与所述第二计算单元连接;
所述随机数生成单元用于从素数数组中随机选取一个素数,并随机生成第一整数;所述第一整数属于集合[1,9];
所述第一计算单元用于根据随机选取的素数以所述第一整数为基数进行逐级计算,直至得到的计算结果为素数时得到第一结果值;
所述第二计算单元用于随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值;所述第二整数属于集合[1,9];
所述判断单元用于判断所述第二结果值的倍数值与1间的差值是否为素数;
所述强素数确定单元用于当所述第二结果值的倍数值与1间的差值为素数时,确定所述第二结果值的倍数值与1间的差值为所述第一强素数或所述第二强素数;
所述循环执行单元用于当所述第二结果值的倍数值与1间的差值为非素数时,将所述第二结果值的倍数值与1间的差值作为第一结果值,并返回执行“随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值”,直至所述第二结果值的倍数值与1间的差值为素数时为止。
另一种用户隐私数据加密解密系统,包括:
数据加密模块,用于采用DES算法对用户隐私数据进行加密得到加密数据;
密钥加密模块,用于采用公钥对所述DES算法中采用的密钥进行加密得到加密密钥;所述公钥包括:第一密钥和第二密钥;所述第一密钥基于第一强素数和第二强素数生成;
密钥解密模块,用于采用私钥解密所述加密密钥,得到解密后的DES算法的密钥;所述私钥根据所述第一密钥和所述第二密钥确定;
数据解密模块,用于基于解密后的DES算法的密钥解密所述加密数据得到解密后的用户隐私数据。
因本发明提供的两种用户隐私数据加密解密系统实现的技术效果与上述提供的用户隐私数据加密解密方法实现的技术效果相同,故在此不再进行赘述。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1为本发明提供的用户隐私数据加密解密方法的流程图;
图2为本发明提供的用户隐私数据加密解密方法的框架实施图;
图3为本发明提供的一种用户隐私数据加密解密系统的结构示意图;
图4为本发明提供的另一种本发明提供的用户隐私数据加密解密系统的结构示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
如图1所示,本发明提供的一种用户隐私数据加密解密方法,包括:
步骤100:采用DES算法对用户隐私数据进行加密得到加密数据。
步骤101:采用公钥对DES算法中采用的密钥进行加密得到加密密钥。公钥包括:第一密钥和第二密钥。第一密钥基于第一强素数和第二强素数生成。第一密钥为第一强素数和第二强素数的乘积。第二密钥为小于第一密钥的素数。
步骤102:采用私钥解密加密密钥,得到解密后的DES算法的密钥。私钥根据第一密钥和第二密钥确定。
步骤103:基于解密后的DES算法的密钥解密加密数据得到解密后的用户隐私数据。
下面基于常规RSA算法加密的过程,对本发明上述提供的用户隐私数据加密解密方法的设计构思进行推理说明。
常规RSA算法的加密、解密过程为:
步骤1:选取2个大素数a和b,且a≠b,f=a×b,φ(f)=(a-1)×(b-1)。
步骤2:选取素数g,使g满足1<g<f。
步骤3:将(g,f)作为公钥,对明文实行加密操作。
步骤4:对私钥
Figure BDA0003444621530000051
进行计算。针对密文实行解密操作。
在常规RSA算法的加密、解密过程的步骤中,g和f都是公开的,但是φ(f)是密钥,需要保密。φ(f)被获取后,该RSA算法安全性会大大削弱。RSA算法的安全性与a和b长度存在直接关联性,a和b的长度越长,安全性就越高。因此,在采用常规RSA算法进行加密的过程中,需要确保a和b的长度大于等于512bit。
并且,RSA算法是第1个把系统安全性依托在因数分解上的加密算法。如果f非常容易被分解,则RSA算法的安全性将大大降低。综上,能够认为RSA算法的安全性与因数分解为等价关系。即:在RSA算法运行过程中,对于公钥的选择非常重要。
基于此,公钥中的第一密钥f的选择原则为:f值要足够大,此为保障RSA算法安全性能最根本的原则。为保障算法安全性,产生的大素数长度均至少为100位之上的十进制数,这时的f能够在200位以上。
由现有的RSA算法的实施过程可知,随机生成的素数是整个算法的关键。针对随机生成的素数值可能过小从而导致的安全性降低问题,本发明才引入了强素数概念,以使用强素数替换传统素数,增加其被分解得到正确素数因子的难度,使得改进后的RSA加密算法安全性更高。
基于强素数的思想,强素数可定义为:
条件一:有大素数a1和a2,可以使a1|(a-1)和a2|(a+1)。
条件二:有强素数r1,r2,s1和s2,可以使r1|(a1-1),s1|(a1+1),r2|(a2-1)和s2|(a2+1)。
条件三:a和b之间的差要很大,同时a-1和b-1的最大公因子要足够小。假设a和b之间差值很小,则可使
Figure BDA0003444621530000061
成立,能够计算得到a和b的值。
基于上述强素数的定义,第二密钥g的选择原则为:在RSA算法运行过程中,g仅需满足gcd(g,φ(f))=1,则表示g能够随机选择。根据加密的基本原理可知,g值越小,加密需要的时间就越少。因此,g越小,算法运行效果越好。但实践表明,g值小,会触发安全方面的问题。综上,实际运行中,参数g选择需要遵循的条件如下:
条件一:g不可过小,综合考虑数据加密的效率和安全性,最好选取长度为16的素数。
条件二:参数g选取过程中,应该选取模φ(f)阶最大,也就是gi=1modφ(f)中最小的i应为((a-1)(b-1))/2。
h的选择原则:h作为密钥应该大于f1/4,实际应用过程中,均希望根据小位数h提高解密或签名效率。当g确定之后,可基于Euclidean算法获取h。综上,假设h长度小于f1/4,则仅需通过数学算法就能够高效率。求得参数h。
基于上述内容,关于一个素数P何时可以被定义为强素数,需要满足以下四点:
1)P必须是一个很大的素数。
2)P-1有很大的素数因子。即对于任意整数a1以及大素数R,满足P=a1R+1。
3)R有很大的素数因子。即对于任意整数a2以及大素数S,满足R=a2S+1。
4)P+1有很大的素数因子。即对于任意整数a3以及大素数T,满足P=a3T-1。
在具体的应用当中,也可以根据用户的需求来加入附加条件,如对a1、a2额外赋值。
基于上述设计构思,为了进一步提高加密速度,本发明提供了一种强素数的生成方法,以生成第一强素数或第二强素数,具体如下:
从素数数组中随机选取一个素数h1,并随机生成第一整数x。第一整数属于集合[1,9]。例如,本发明中选用的素数数组可以是由小于500的素数组成的数据集。
根据随机选取的素数以第一整数x为基数进行逐级计算,直至得到的计算结果为素数时得到第一结果值h2
随机生成第二整数b,并根据第一结果值h2以第二整数b为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值h3。第二整数属于集合[1,9]。
判断第二结果值h3的倍数值与1间的差值是否为素数,若第二结果值h3的倍数值与1间的差值为素数,则确定第二结果值h3的倍数值与1间的差值为第一强素数或第二强素数。
若第二结果值h3的倍数值与1间的差值为非素数,则将第二结果值h3的倍数值与1间的差值作为第一结果值,并返回“随机生成第二整数b,并根据第一结果值h2以第二整数b为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值h3”,直至第二结果值h3的倍数值与1间的差值为素数时为止。
基于上述强素数的确定过程,本发明提供一个确定强素数的具体实施例,如下:
1)本发明中以500以内素数作为初始素数数组,在素数数组中随机选取一个素数h1
2)随机生成一个1~9的整数x,结合第一步得到的素数h1,计算2ah1+1,a的取值从x开始逐渐加一,利用素数判断函数得到第一个出现的素数,记为h2
3)随机生成一个1~9的整数y,计算2bh2+1,b的取值从y开始逐渐加一,利用素数判断函数得到第一个出现的素数,记为h3
4)令P=2h3-1,使用素数判断函数确定P是否为素数,如果P并不是素数就执行(3),反之就执行(5)。
5)输出P,P为生成的强素数。
基于上述确定的强素数,可以完成对现有的RSA算法进行改进,但是,改进后的RSA算法虽然有效性得以提高,但加密速度有待提升,为此本发明引入DES算法对用于隐私数据进行加密(见步骤100)。DES算法加密速度较快,但密钥管理存在一定问题。因此结合改进RSA算法和DES算法,能够实现有效互补,具体实施过程如图2所示,包括:
步骤1:定义DES算法为:FDES=P'-1×T16×T15×…×T1×P'(MING)
式中:P’为初始变换,P'-1为P'的逆变换,两者满足IP'×IP'-1=1。T为编码操作轮数。
步骤2:DES迭代。
步骤3:在子密钥生成过程中,将原来密钥进行重新排序,划分为两部分,然后通过循环移位获取子密钥的两部分,最后合成并重新排序形成子密钥。混合加密后的解密过程与加密步骤类似,在解密过程中把16轮迭代自密钥顺序倒过来即可。在混合算法运行过程中,通过DES算法对明文数据集进行加密,并对DES算法用到的密钥实行RSA加密。将打包密文与加密后的密钥传输至接收端,接收端获取数据包后,对密钥密文实行解密操作,得到DES算法加密时的密钥。DES算法加密与解密所用密钥相同,在得到密钥后即能实现密文解密。
在实现对隐私数据集混合加密的基础上,通过同态运算,实现隐私数据集加密。同态运算是针对密文进行设计的一种加密过程,根据对密文的运算结果,可以得到相应的明文结果,过程如下:
1)利用输入素数生成密钥。
2)利用密钥加密明文,返回密文。
3)利用密钥解密密文,返回明文。
4)假设C代表明文空间中的一个运算集合,记为C{+}。对于输入的数据cn(n=1,2,3...)首先对数据cn进行加密,并将其转换至密文空间中,得到密文运算结果。用
Figure BDA0003444621530000081
表示加法同态处理,则
Figure BDA0003444621530000082
以此类推。通过对密文的计算以及对结果的解密操作,可以得到相应的明文计算结果。
综上,本发明提供的技术方案具有较高的加密效率,该方法具有较强的加密性能,可实践性更强,与单项算法相比,混合算法抵御攻击成功率更高,更能保障数据集的安全性。本方法应用混合算法后的综合性能更为优越,很好地弥补了DES算法和RSA算法的缺陷,不仅提高了数据集加密效率,还增强了数据集的安全性。并设计加法同态计算实现对隐私数据集的加密。实验结果证明了该方法具有较强的加密性能,可实践性更强。研究中发现:在改进RSA算法中,RSA算法的安全性与因数分解有关,在选择公钥素数时,素数值越小,加密过程需要的时间就越少。因此,素数越少,则越能提高算法的运行效率。通过选取强素数值,增加其被分解得到正确素数因子的难度,使得改进后的RSA加密算法安全性更高,让RSA加密算法有了更好的应用场景。
此外,对应于上述提供的用户隐私数据加密解密方法,本发明提供了两种用户隐私数据加密解密系统,具体如下:
其中一种用户隐私数据加密解密系统,如图3所示,包括:数据发送端300和数据接收端301。
数据发送端300与数据接收端301进行数据交互。
数据发送端300用于采用DES算法对用户隐私数据进行加密得到加密数据,并用于采用公钥对DES算法中采用的密钥进行加密得到加密密钥,还用于将加密数据和加密密钥发送给接收端。公钥包括:第一密钥和第二密钥。第一密钥基于第一强素数和第二强素数生成。
数据接收端301用于接收加密数据和加密密钥,并用于采用私钥解密加密密钥,得到解密后的DES算法的密钥,还用于基于解密后的DES算法的密钥解密加密数据得到解密后的用户隐私数据。私钥根据第一密钥和第二密钥确定。
为了提高加密速度,可以对现有的RSA算法进行改进,因此上述采用的数据发送端300还可以包括依次连接的强素数生成模块、公钥生成模块和私钥生成模块。
强素数生成模块用于生成第一强素数和第二强素数。公钥生成模块用于根据第一强素数和第二强素数生成公钥。私钥生成模块用于根据公钥生成私钥。
为了进一步提高加密速度,上述采用的强素数生成模块包括:随机数生成单元、第一计算单元、第二计算单元、判断单元、强素数确定单元和循环执行单元。
随机数生成单元与第一计算单元连接。第一计算单元与第二计算单元连接。第二计算单元与判断单元连接。判断单元分别与强素数确定单元和循环执行单元连接。循环执行单元与第二计算单元连接。
随机数生成单元用于从素数数组中随机选取一个素数,并随机生成第一整数。第一整数属于集合[1,9];
第一计算单元用于根据随机选取的素数以第一整数为基数进行逐级计算,直至得到的计算结果为素数时得到第一结果值。
第二计算单元用于随机生成第二整数,并根据第一结果值以第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值。第二整数属于集合[1,9]。
判断单元用于判断第二结果值的倍数值与1间的差值是否为素数。
强素数确定单元用于当第二结果值的倍数值与1间的差值为素数时,确定第二结果值的倍数值与1间的差值为第一强素数或第二强素数。
循环执行单元用于当第二结果值的倍数值与1间的差值为非素数时,将第二结果值的倍数值与1间的差值作为第一结果值,并返回执行“随机生成第二整数,并根据第一结果值以第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值”,直至第二结果值的倍数值与1间的差值为素数时为止。
另一种用户隐私数据加密解密系统,如图4所示,包括:数据加密模块400、密钥加密模块401、密钥解密模块402和数据解密模块403。
其中,数据加密模块400用于采用DES算法对用户隐私数据进行加密得到加密数据。
密钥加密模块401用于采用公钥对DES算法中采用的密钥进行加密得到加密密钥。公钥包括:第一密钥和第二密钥。第一密钥基于第一强素数和第二强素数生成。
密钥解密模块402用于采用私钥解密加密密钥,得到解密后的DES算法的密钥。私钥根据第一密钥和第二密钥确定。
数据解密模块403用于基于解密后的DES算法的密钥解密加密数据得到解密后的用户隐私数据。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。本公开实施例的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (9)

1.一种用户隐私数据加密解密方法,其特征在于,包括:
采用DES算法对用户隐私数据进行加密得到加密数据;
采用公钥对所述DES算法中采用的密钥进行加密得到加密密钥;所述公钥包括:第一密钥和第二密钥;所述第一密钥基于第一强素数和第二强素数生成;
采用私钥解密所述加密密钥,得到解密后的DES算法的密钥;所述私钥根据所述第一密钥和所述第二密钥确定;
基于解密后的DES算法的密钥解密所述加密数据得到解密后的用户隐私数据。
2.根据权利要求1所述的用户隐私数据加密解密方法,其特征在于,所述第一强素数或所述第二强素数的生成过程包括:
从素数数组中随机选取一个素数,并随机生成第一整数;所述第一整数属于集合[1,9];
根据随机选取的素数以所述第一整数为基数进行逐级计算,直至得到的计算结果为素数时得到第一结果值;
随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值;所述第二整数属于集合[1,9];
判断所述第二结果值的倍数值与1间的差值是否为素数,若所述第二结果值的倍数值与1间的差值为素数,则确定所述第二结果值的倍数值与1间的差值为所述第一强素数或所述第二强素数;
若所述第二结果值的倍数值与1间的差值为非素数,则将所述第二结果值的倍数值与1间的差值作为第一结果值,并返回“随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值”,直至所述第二结果值的倍数值与1间的差值为素数时为止。
3.根据权利要求2所述的用户隐私数据加密解密方法,其特征在于,所述素数数组由小于500的素数组成。
4.根据权利要求1所述的用户隐私数据加密解密方法,其特征在于,所述第一密钥为所述第一强素数和所述第二强素数的乘积。
5.根据权利要求1所述的用户隐私数据加密解密方法,其特征在于,所述第二密钥为小于所述第一密钥的素数。
6.一种用户隐私数据加密解密系统,其特征在于,包括:数据发送端和数据接收端;
所述数据发送端与所述数据接收端进行数据交互;
所述数据发送端用于采用DES算法对用户隐私数据进行加密得到加密数据,并用于采用公钥对所述DES算法中采用的密钥进行加密得到加密密钥,还用于将所述加密数据和所述加密密钥发送给所述接收端;所述公钥包括:第一密钥和第二密钥;所述第一密钥基于第一强素数和第二强素数生成;
所述数据接收端,用于接收所述加密数据和所述加密密钥,并用于采用私钥解密所述加密密钥,得到解密后的DES算法的密钥,还用于基于解密后的DES算法的密钥解密所述加密数据得到解密后的用户隐私数据;所述私钥根据所述第一密钥和所述第二密钥确定。
7.根据权利要求6所述的用户隐私数据加密解密系统,其特征在于,所述数据发送端包括依次连接的强素数生成模块、公钥生成模块和私钥生成模块;
所述强素数生成模块用于生成所述第一强素数和所述第二强素数;所述公钥生成模块用于根据所述第一强素数和所述第二强素数生成公钥;所述私钥生成模块用于根据所述公钥生成私钥。
8.根据权利要求7所述的用户隐私数据加密解密系统,其特征在于,所述强素数生成模块包括:随机数生成单元、第一计算单元、第二计算单元、判断单元、强素数确定单元和循环执行单元;
所述随机数生成单元与所述第一计算单元连接;所述第一计算单元与所述第二计算单元连接;所述第二计算单元与所述判断单元连接;所述判断单元分别与所述强素数确定单元和所述循环执行单元连接;所述循环执行单元与所述第二计算单元连接;
所述随机数生成单元用于从素数数组中随机选取一个素数,并随机生成第一整数;所述第一整数属于集合[1,9];
所述第一计算单元用于根据随机选取的素数以所述第一整数为基数进行逐级计算,直至得到的计算结果为素数时得到第一结果值;
所述第二计算单元用于随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值;所述第二整数属于集合[1,9];
所述判断单元用于判断所述第二结果值的倍数值与1间的差值是否为素数;
所述强素数确定单元用于当所述第二结果值的倍数值与1间的差值为素数时,确定所述第二结果值的倍数值与1间的差值为所述第一强素数或所述第二强素数;
所述循环执行单元用于当所述第二结果值的倍数值与1间的差值为非素数时,将所述第二结果值的倍数值与1间的差值作为第一结果值,并返回执行“随机生成第二整数,并根据所述第一结果值以所述第二整数为基数进行逐级计算,直至得到的计算结果为素数时得到第二结果值”,直至所述第二结果值的倍数值与1间的差值为素数时为止。
9.一种用户隐私数据加密解密系统,其特征在于,包括:
数据加密模块,用于采用DES算法对用户隐私数据进行加密得到加密数据;
密钥加密模块,用于采用公钥对所述DES算法中采用的密钥进行加密得到加密密钥;所述公钥包括:第一密钥和第二密钥;所述第一密钥基于第一强素数和第二强素数生成;
密钥解密模块,用于采用私钥解密所述加密密钥,得到解密后的DES算法的密钥;所述私钥根据所述第一密钥和所述第二密钥确定;
数据解密模块,用于基于解密后的DES算法的密钥解密所述加密数据得到解密后的用户隐私数据。
CN202111644286.3A 2021-12-29 2021-12-29 一种用户隐私数据加密解密方法及系统 Pending CN114422108A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111644286.3A CN114422108A (zh) 2021-12-29 2021-12-29 一种用户隐私数据加密解密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111644286.3A CN114422108A (zh) 2021-12-29 2021-12-29 一种用户隐私数据加密解密方法及系统

Publications (1)

Publication Number Publication Date
CN114422108A true CN114422108A (zh) 2022-04-29

Family

ID=81268727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111644286.3A Pending CN114422108A (zh) 2021-12-29 2021-12-29 一种用户隐私数据加密解密方法及系统

Country Status (1)

Country Link
CN (1) CN114422108A (zh)

Similar Documents

Publication Publication Date Title
Wang et al. Cryptanalysis of a symmetric fully homomorphic encryption scheme
US5142579A (en) Public key cryptographic system and method
US8422671B2 (en) Methods of encryption and decryption using operand ordering and encryption systems using the same
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
AU1132199A (en) A non-deterministic public key encryption system
CN110826089B (zh) 一种实现大尺度矩阵乘法安全高效的可验证外包计算方法、客户端及云计算系统
WO2009026771A1 (fr) Procédé pour négocier une clé, chiffrer et déchiffrer des informations, signer et authentifier les informations
Hu et al. Enhanced flexibility for homomorphic encryption schemes via CRT
EP2742644A1 (en) Encryption and decryption method
CN111639345A (zh) 基于同态加密的安全的多方云计算的方法和系统
Abdullah et al. Security improvement in elliptic curve cryptography
Baocang et al. Public key cryptosystem based on two cryptographic assumptions
CN110798313B (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及系统
US7319750B1 (en) Digital circuit apparatus and method for accelerating preliminary operations for cryptographic processing
US7024559B1 (en) Method of elliptic curve digital signature using expansion in joint sparse form
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
CN115361109B (zh) 一种支持双向代理重加密的同态加密方法
CN113099069B (zh) 基于三维螺旋模型的多图像加密方法
Rostovtsev et al. AES side channel attack protection using random isomorphisms
Patel et al. A novel verifiable multi-secret sharing scheme based on elliptic curve cryptography
CN114422108A (zh) 一种用户隐私数据加密解密方法及系统
Wang et al. Signature schemes based on two hard problems simultaneously
EP2225846B1 (en) Method to generate a private key in a Boneh-Franklin scheme
CN112367159A (zh) 一种面向医疗数据安全存储的混合加、解密方法及系统
Rososhek Cryptosystems in automorphism groups of group rings of Abelian groups

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