CN110958112A - 密钥产生方法及系统、加密及解密方法、加密通信系统 - Google Patents

密钥产生方法及系统、加密及解密方法、加密通信系统 Download PDF

Info

Publication number
CN110958112A
CN110958112A CN201811570509.4A CN201811570509A CN110958112A CN 110958112 A CN110958112 A CN 110958112A CN 201811570509 A CN201811570509 A CN 201811570509A CN 110958112 A CN110958112 A CN 110958112A
Authority
CN
China
Prior art keywords
prime number
array
key
public
prime
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.)
Granted
Application number
CN201811570509.4A
Other languages
English (en)
Other versions
CN110958112B (zh
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.)
Spring Foundation of NCTU
Original Assignee
Spring Foundation of NCTU
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 Spring Foundation of NCTU filed Critical Spring Foundation of NCTU
Publication of CN110958112A publication Critical patent/CN110958112A/zh
Application granted granted Critical
Publication of CN110958112B publication Critical patent/CN110958112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Electromagnetism (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

一种密钥产生方法及系统、加密及解密方法、加密通信系统,在后量子非对称密钥产生方法及系统中,处理单元根据作为乱数种子的算术函数或古典字串产生相关于质数且具有无限个成分的质数向量,根据基于所述质数向量所产生的质数阵列产生相关矩阵,根据所述相关矩阵及第一参考质数获得作为私钥的第一参考反质数阵列,并根据基于所述相关矩阵及第二参考质数所获得的第二参考反质数阵列、所述第一参考质数、所述第二参考质数及密钥随机阵列获得与所述私钥成对的公钥。本发明能提升加密及解密速度并能确保通信数据的安全性。

Description

密钥产生方法及系统、加密及解密方法、加密通信系统
技术领域
本发明涉及一种非对称密钥产生方法,特别是一种基于质数阵列的后量子非对称密钥产生方法及系统、加密方法、解密方法及加密通信系统。
背景技术
现有的加密技术包含有:对称密钥加密协议,其使用一共享的密钥来加密及解密,例如广泛使用的AES(Advanced Encryption Standard)协议;非对称密钥加密协议,其使用不同的密钥,即,成对的公钥及私钥来加密及解密,例如最先实施且广泛使用的RSA协议;NTRU(Number Theory Research Unit);及椭圆曲线密码学(Elliptic CurveCryptography,ECC),其是一种基于椭圆曲线数学来建立公钥加密的演算法。对称密钥加密协的实施必须有一个用来交换此共享私钥的安全通道,非对称密钥加密协议的实施虽不需此安全通道,但在产生此密钥对以及编码与解码信息时需更大量的计算,而对比于RSA协议,ECC虽能提供相当的或更高等级的安全性,但同样地需花费较长的时间在加密及解密操作。
尽管如此,现有的加密技术仍存在有以下的缺点:
1.由于非对称密钥加密协议在加密和解密时一次仅完成一个字符,如此恐无法在短时间内发送大量数据;
2.由于非对称密钥加密协议使用属于相同空间并且性质相似的公钥和私钥,如此恐较易遭受明文攻击或暴力攻击;
3.对于经由非对称密钥加密协议所产生的密钥对,当一个使用者以一个不同于原有公钥的新公钥来加密通信数据时,则持有原有私钥的另一个使用者在不将所持有的原有私钥对应地更新为一个与所述新公钥成对的新私钥的情况下,恐因无法解密经新公钥加密的通信数据,而使任何通信均失效;
4.当加密系统构建要求每一个使用者所持有的密钥更新时,则需要一个集中式管控及指示密钥更新时间的实体;
5.基于相当于整数分解问题的安全问题(如RSA,DSA)且基于离散对数问题(如椭圆曲线)的演算法将受到基于Shor和Grover的演算法的后量子(post-quantum)攻击;
6.对于使用RSA、AES及NTRU的网络,不存在分散式密钥更新协议,因为它不是基本定义的部分;及
7.现有的加密演算法通常具有紧密耦合的私有-公共密钥(即,每一个唯一公钥与一个唯一的私钥配对),并且聚焦其中一个密钥的攻击通常公开另一个密钥的信息。
发明内容
本发明的目的在于提供一种基于质数阵列的后量子非对称密钥产生方法及系统、加密方法、解密方法、以及加密通信系统,其能克服现有技术的缺点。
本发明的提供了一种后量子非对称密钥产生方法,通过处理单元来实施,并包含以下步骤:
(A)根据作为乱数种子的算术函数或古典字串、及质数p,产生相关于所述质数p且具有无限个成分的质数向量
Figure BDA0001915385660000021
所述质数向量
Figure BDA0001915385660000022
被表示成
Figure BDA0001915385660000023
(B)根据所述质数向量
Figure BDA0001915385660000024
产生相关于所述质数p以及三个均为正整数的参数m、s、t的质数阵列
Figure BDA0001915385660000025
其中所述质数p及所述参数s、t构成第一参数集I,且所述质数阵列
Figure BDA0001915385660000026
被定义为
Figure BDA0001915385660000027
并且当所述第一参数集I中所述质数p与所述参数s、t的数值被决定时,所述质数阵列
Figure BDA0001915385660000028
被简化地表示成
Figure BDA0001915385660000031
(C)根据步骤B所产生的所述质数阵列
Figure BDA0001915385660000032
产生相关矩阵
Figure BDA0001915385660000033
所述相关矩阵
Figure BDA0001915385660000034
被表示成
Figure BDA0001915385660000035
其中
Figure BDA0001915385660000036
代表所述质数阵列
Figure BDA0001915385660000037
的m个成分中的第(j+1)个成分,且0≤j≤(m-1);
(D)根据步骤C所产生的所述相关矩阵
Figure BDA0001915385660000038
及为正整数的模数l,产生所述质数阵列
Figure BDA0001915385660000039
对于所述模数l的反质数阵列
Figure BDA00019153856600000310
所述反质数阵列
Figure BDA00019153856600000311
被表示成
Figure BDA00019153856600000312
其中Ll代表所述相关矩阵
Figure BDA00019153856600000313
的行列式值对于所述模数l的模反元素且被表示成
Figure BDA00019153856600000314
Figure BDA00019153856600000315
代表所述相关矩阵
Figure BDA00019153856600000316
的伴随矩阵;
(E)任意选择第一参考质数p1,并根据相关于所述第一参考质数p1、所述质数阵列
Figure BDA00019153856600000317
的所述m个成分中最大成分b、第一参考正整数
Figure BDA00019153856600000318
以及由所述参数m、第二参考正整数
Figure BDA00019153856600000319
及第三参考正整数r所构成的第二参数集S的预定条件决定出符合于所述预定条件的第二参考质数p2,其中所述预定条件包含
Figure BDA00019153856600000320
(F)通过分别将所述第一参考质数p1及所述第二参考质数p2作为所述模数l代入步骤D所产生的所述反质数阵列
Figure BDA00019153856600000321
以分别获得作为私钥Kprivate的第一参考反质数阵列
Figure BDA00019153856600000322
及第二参考反质数阵列
Figure BDA00019153856600000323
其中
Figure BDA0001915385660000041
(G)根据步骤(F)所获得的所述第二参考反质数阵列
Figure BDA0001915385660000042
所述第一参考质数p1、所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure BDA0001915385660000043
的数字成分的密钥随机阵列
Figure BDA0001915385660000044
产生相对于所述密钥随机阵列
Figure BDA0001915385660000045
且与所述私钥Kprivate成对的公钥Kpublic,所述公钥Kpublic为具有m个数字成分的阵列
Figure BDA0001915385660000046
且被表示成
Figure BDA0001915385660000047
Figure BDA0001915385660000048
其中
Figure BDA0001915385660000049
被定义为所述第二参考反质数阵列
Figure BDA00019153856600000410
相关于所述密钥随机阵列
Figure BDA00019153856600000411
的密钥随机化函数,并被表示成
Figure BDA00019153856600000412
其中
Figure BDA00019153856600000413
代表卷积运算符。
本发明所提供的一种加密方法通过处理器来实施,并包含以下步骤:利用所述后量子非对称密钥产生方法其中的所述公钥Kpublic与所述第二参考质数p2以及具有m个介于0到所述后量子非对称密钥产生方法中的所述第二参考正整数
Figure BDA00019153856600000414
的数字成分的加密随机阵列
Figure BDA00019153856600000415
对于对应于要被传送的明文信息且具有m个数字成分的数据阵列
Figure BDA00019153856600000416
进行加密编程,以获得相对于所述加密随机阵列
Figure BDA00019153856600000417
且具有m个加密数字成分的密文阵列
Figure BDA00019153856600000418
本发明所提供的一种解密方法通过处理器来实施,并包含以下步骤:利用所述后量子非对称密钥产生方法中的所述质数阵列
Figure BDA00019153856600000419
所述私钥Kprivate、所述第一参考质数p1及所述第二参考质数p2,对于经由所述加密方法所产生的所述密文阵列
Figure BDA00019153856600000420
进行解密编程,以获得具有m个解密数字成分的明文阵列
Figure BDA00019153856600000421
本发明所提供的一种后量子非对称密钥产生系统包含质数向量产生模块、质数阵列产生模块、相关矩阵产生模块、反质数阵列产生模块、私钥产生模块、及公钥产生模块。
所述质数向量产生模块根据作为乱数种子的算术函数或古典字串、及质数p,产生相关于所述质数p且具有无限个成分的质数向量
Figure BDA0001915385660000051
所述质数向量
Figure BDA0001915385660000052
被表示成
Figure BDA0001915385660000053
所述质数阵列产生模块连接所述质数向量产生模块,并根据来自所述质数向量产生模块的所述质数向量
Figure BDA0001915385660000054
产生相关于所述质数p以及三个均为正整数的参数m、s、t的质数阵列
Figure BDA0001915385660000055
其中所述质数p及所述参数s、t构成第一参数集I,且所述质数阵列
Figure BDA0001915385660000056
被定义为
Figure BDA0001915385660000057
并且当所述第一参数集I中所述质数p与所述参数s、t的数值被决定时,所述质数阵列
Figure BDA0001915385660000058
被简化地表示成
Figure BDA0001915385660000059
所述相关矩阵产生模块连接所述质数阵列产生模块,并根据来自于所述质数阵列产生模块的所述质数阵列
Figure BDA00019153856600000510
产生相关矩阵
Figure BDA00019153856600000511
所述相关矩阵
Figure BDA00019153856600000512
被表示成
Figure BDA00019153856600000513
其中
Figure BDA00019153856600000514
代表所述质数阵列
Figure BDA00019153856600000515
的m个成分中的第(j+1)个成分,且0≤j≤(m-1)。
所述反质数阵列产生模块连接所述相关矩阵产生模块,并根据来自于所述相关矩阵产生模块的所述相关矩阵
Figure BDA00019153856600000516
及为正整数的模数l,产生所述质数阵列
Figure BDA00019153856600000517
对于所述模数l的反质数阵列
Figure BDA00019153856600000518
所述反质数阵列
Figure BDA00019153856600000519
被表示成
Figure BDA0001915385660000061
其中Ll代表所述相关矩阵
Figure BDA0001915385660000062
的行列式值对于所述模数l的模反元素且被表示成
Figure BDA0001915385660000063
Figure BDA0001915385660000064
代表所述相关矩阵
Figure BDA0001915385660000065
的伴随矩阵。
所述参考质数决定模块用来先任意选择第一参考质数p1,然后并根据相关于所述第一参考质数p1、所述质数阵列
Figure BDA0001915385660000066
的所述m个成分中最大成分b、第一参考正整数
Figure BDA0001915385660000067
以及由所述参数m、第二参考正整数
Figure BDA0001915385660000068
及第三参考正整数r所构成的第二参数集S的预定条件决定出符合于所述预定条件的第二参考质数p2,其中所述预定条件包含
Figure BDA0001915385660000069
所述私钥产生模块连接所述反质数阵列产生模块及所述参考质数决定模块,并将来自于所述参考质数决定模块的所述第一参考质数p1作为所述模数l代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure BDA00019153856600000610
以获得作为私钥Kprivate的第一参考反质数阵列
Figure BDA00019153856600000611
其中
Figure BDA00019153856600000612
所述公钥产生模块连接所述反质数阵列产生模块及所述参考质数决定模块,且将来自于所述参考质数决定模块的所述第二参考质数p2作为所述模数l代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure BDA00019153856600000613
以获得第二参考反质数阵列
Figure BDA00019153856600000614
并根据所获得的所述第二参考反质数阵列
Figure BDA00019153856600000615
来自于所述参考质数决定模块的所述第一参考质数p1与所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure BDA00019153856600000616
的数字成分的密钥随机阵列
Figure BDA00019153856600000617
产生相对于所述密钥随机阵列
Figure BDA00019153856600000618
且与所述私钥Kprivate成对的公钥Kpublic,所述公钥Kpublic为具有m个数字成分的阵列
Figure BDA00019153856600000619
且被表示成
Figure BDA00019153856600000620
Figure BDA00019153856600000621
其中
Figure BDA00019153856600000622
被定义为所述第二参考反质数阵列
Figure BDA00019153856600000623
相关于所述密钥随机阵列
Figure BDA0001915385660000071
的密钥随机化函数,并被表示成
Figure BDA0001915385660000072
其中
Figure BDA0001915385660000073
代表卷积运算符。
本发明所提供的一种加密通信系统包含密钥服务器、发送端、及接收端。
所述密钥服务器包括质数向量产生模块、质数阵列产生模块、相关矩阵产生模块、反质数阵列产生模块、参考质数决定模块、私钥产生模块、及公钥产生模块。所述质数向量产生模块根据作为乱数种子的算术函数或古典字串、及质数p,产生相关于所述质数p且具有无限个成分的质数向量
Figure BDA0001915385660000074
所述质数向量
Figure BDA0001915385660000075
被表示成
Figure BDA0001915385660000076
所述质数阵列产生模块连接所述质数向量产生模块,并根据来自所述质数向量产生模块的所述质数向量
Figure BDA0001915385660000077
产生相关于所述质数p以及三个均为正整数的参数m、s、t的质数阵列
Figure BDA0001915385660000078
其中所述质数p及所述参数s、t构成第一参数集I,且所述质数阵列
Figure BDA0001915385660000079
被定义为
Figure BDA00019153856600000710
并且当所述第一参数集I中所述质数p与所述参数s、t的数值被决定时,所述质数阵列
Figure BDA00019153856600000711
被简化地表示成
Figure BDA00019153856600000712
所述相关矩阵产生模块连接所述质数阵列产生模块,并根据来自于所述质数阵列产生模块的所述质数阵列
Figure BDA00019153856600000713
产生相关矩阵
Figure BDA00019153856600000714
所述相关矩阵
Figure BDA00019153856600000715
被表示成
Figure BDA00019153856600000716
其中
Figure BDA00019153856600000717
代表所述质数阵列
Figure BDA00019153856600000718
的m个成分中的第(j+1)个成分,且0≤j≤(m-1)。所述反质数阵列产生模块连接所述相关矩阵产生模块,并根据来自于所述相关矩阵产生模块的所述相关矩阵
Figure BDA00019153856600000719
及为正整数的模数l,产生所述质数阵列
Figure BDA00019153856600000720
对于所述模数l的反质数阵列
Figure BDA0001915385660000081
所述反质数阵列
Figure BDA0001915385660000082
被表示成
Figure BDA0001915385660000083
其中Ll代表所述相关矩阵
Figure BDA0001915385660000084
的行列式值对于所述模数l的模反元素且被表示成
Figure BDA0001915385660000085
Figure BDA0001915385660000086
代表所述相关矩阵
Figure BDA0001915385660000087
的伴随矩阵。所述参考质数决定模块用来先任意选择第一参考质数p1,然后并根据相关于所述第一参考质数p1、所述质数阵列
Figure BDA0001915385660000088
的所述m个成分中最大成分b、第一参考正整数
Figure BDA00019153856600000823
以及由所述参数m、第二参考正整数
Figure BDA00019153856600000824
及第三参考正整数r所构成的第二参数集S的预定条件决定出符合于所述预定条件的第二参考质数p2,其中所述预定条件包含
Figure BDA0001915385660000089
所述私钥产生模块连接所述反质数阵列产生模块及所述参考质数决定模块,并将来自于所述参考质数决定模块的所述第一参考质数p1作为所述模数l代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure BDA00019153856600000810
以获得作为私钥Kprivate的第一参考反质数阵列
Figure BDA00019153856600000811
其中
Figure BDA00019153856600000812
所述公钥产生模块连接所述反质数阵列产生模块及所述参考质数决定模块,且将来自于所述参考质数决定模块的所述第二参考质数p2作为所述模数l代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure BDA00019153856600000813
以获得第二参考反质数阵列
Figure BDA00019153856600000814
并根据所获得的所述第二参考反质数阵列
Figure BDA00019153856600000815
来自于所述参考质数决定模块的所述第一参考质数p1与所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure BDA00019153856600000816
的数字成分的密钥随机阵列
Figure BDA00019153856600000817
产生相对于所述密钥随机阵列
Figure BDA00019153856600000818
且与所述私钥Kprivate成对的公钥Kpublic,所述公钥Kpublic为具有m个数字成分的阵列且被表示成
Figure BDA00019153856600000820
Figure BDA00019153856600000821
其中
Figure BDA00019153856600000822
被定义为所述第二参考反质数阵列
Figure BDA0001915385660000091
相关于所述密钥随机阵列
Figure BDA0001915385660000092
的密钥随机化函数,并被表示成
Figure BDA00019153856600000927
其中
Figure BDA0001915385660000094
代表卷积运算符。
所述发送端包含存储有所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure BDA00019153856600000925
的存储单元,及电连接所述存储单元的处理器。
所述接收端包含存储有所述私钥Kprivate、所述质数阵列
Figure BDA00019153856600000918
所述第一参考质数p1及所述第二参考质数p2的存储单元,及电连接所述接收端的所述存储单元的处理器。
对于对应于要被发送至所述接收端的明文信息且具有m个数字成分的数据阵列
Figure BDA00019153856600000919
所述发送端的所述处理器利用所述存储单元所存储的所述公钥Kpublic与所述第二参考质数p2、及具有m个介于0到所述第二参考正整数
Figure BDA00019153856600000926
的数字成分的加密随机阵列
Figure BDA00019153856600000920
对于所述数据阵列
Figure BDA0001915385660000097
进行加密编程,以获得相对于所述加密随机阵列
Figure BDA0001915385660000098
且具有m个加密数字成分的密文阵列
Figure BDA00019153856600000921
所述发送端经由第一通信通道,将所述密文阵列
Figure BDA00019153856600000910
发送至所述接收端。
在所述接收端,所述处理器在接收到来自所述发送端的所述密文阵列
Figure BDA00019153856600000911
时,利用所述存储单元所存储的所述质数阵列
Figure BDA00019153856600000922
所述私钥Kprivate、所述第一参考质数p1及所述第二参考质数p2,对于所述密文阵列
Figure BDA00019153856600000913
进行解密编程,以获得具有m个解密数字成分的明文阵列
Figure BDA00019153856600000923
所述明文阵列
Figure BDA00019153856600000915
完全相同于所述数据阵列
Figure BDA00019153856600000924
本发明的加密方法,所述明文信息具有m个字符,所述数据阵列
Figure BDA00019153856600000917
的所述等m个数字成分中每一者介于0到请求项1所述的非对称密钥产生方法中的所述第一参考正整数
Figure BDA00019153856600001034
并代表所述等m个字符其中对应的字符。
本发明的加密方法,所述加密编程包含:根据所述公钥Kpublic及所述加密随机阵列
Figure BDA00019153856600001024
产生所述公钥Kpublic相关于所述加密随机阵列
Figure BDA0001915385660000102
的加密随机化函数
Figure BDA00019153856600001025
所述加密随机化函数
Figure BDA0001915385660000104
被表示成
Figure BDA00019153856600001026
及将所述数据阵列
Figure BDA0001915385660000106
与所述加密随机化函数
Figure BDA0001915385660000107
相加的和模除所述第二参考质数p2而获得所述密文阵列
Figure BDA00019153856600001027
所述密文阵列
Figure BDA0001915385660000109
被表示成
Figure BDA00019153856600001028
本发明的解密方法,所述解密编程包含:将所述密文阵列
Figure BDA00019153856600001011
与所述质数阵列
Figure BDA00019153856600001012
的第一卷积运算结果模除所述第二参考质数p2而获得第一模除结果,并将所述第一模除结果模除所述第一参考质数p1而获得第二模除结果
Figure BDA00019153856600001029
所述第二模除结果
Figure BDA00019153856600001014
被表示成
Figure BDA00019153856600001015
;及将所述第二模除结果
Figure BDA00019153856600001016
与作为所述私钥Kprivate的所述第一参考反质数阵列
Figure BDA00019153856600001017
的第二卷积运算结果模除所述第一参考质数p1而获得所述明文阵列
Figure BDA00019153856600001030
所述明文阵列
Figure BDA00019153856600001019
被表示成
Figure BDA00019153856600001031
本发明的后量子非对称密钥产生系统,还包含存储模块,所述存储模块连接所述质数阵列产生模块、所述参考质数决定模块、所述私钥产生模块及所述公钥产生模块,并存储来自于所述质数阵列产生模块的所述质数阵列
Figure BDA00019153856600001035
来自所述参考质数决定模块的所述第一参考质数p1与所述第二参考质数p2、来自所述私钥产生模块的所述第一参考反质数阵列
Figure BDA00019153856600001032
及来自所述公钥产生模块的所述第二参考反质数阵列
Figure BDA00019153856600001033
本发明的后量子非对称密钥产生系统,所述公钥产生模块根据所述存储模块所存储的所述第二参考反质数阵列
Figure BDA00019153856600001120
所述第一参考质数p1、所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure BDA00019153856600001124
的数字成分且不同于所述密钥随机阵列
Figure BDA0001915385660000112
的另一随机阵列
Figure BDA00019153856600001121
产生相对于所述随机阵列
Figure BDA0001915385660000114
且与所述私钥Kprivate成对的更新公钥K* public,所述更新公钥K* public被表示成
Figure BDA0001915385660000115
Figure BDA00019153856600001122
本发明的加密通信系统中,所述明文信息具有m个字符,所述发送端的所述处理器配置有信息转换模块,所述信息转换模块利用预定字符转数字技术,将所述明文信息转换成所述数据阵列
Figure BDA00019153856600001123
且所述数据阵列
Figure BDA0001915385660000118
的所述等m个数字成分中每一者介于0到所述第一参考正整数
Figure BDA00019153856600001125
并代表所述等m个字符其中对应的字符。
本发明的加密通信系统中,所述发送端的所述处理器还配置有加密随机化函数产生模块、及连接所述信息转换模块与所述加密随机化函数产生模块的密文阵列产生模块;及在所述加密编程中,所述加密随机化函数产生模块根所述公钥Kpublic、及所述加密随机阵列
Figure BDA00019153856600001126
产生所述公钥Kpublic相关于所述加密随机阵列
Figure BDA00019153856600001110
的加密随机化函数
Figure BDA00019153856600001127
所述加密随机化函数
Figure BDA00019153856600001112
被表示成
Figure BDA00019153856600001128
并且将所述数据阵列
Figure BDA00019153856600001114
与所述加密随机化函数
Figure BDA00019153856600001115
相加的和模除所述第二参考质数p2而获得所述密文阵列
Figure BDA00019153856600001130
所述密文阵列
Figure BDA00019153856600001117
被表示成
Figure BDA00019153856600001129
本发明的加密通信系统中,所述接收端的所述处理器配置有第一卷积运算模块、及连接所述第一卷积运算模块的第二卷积运算模块;及在所述解密编程中,所述第一卷积运算模块计算出所述密文阵列
Figure BDA00019153856600001119
与所述质数阵列
Figure BDA0001915385660000121
的第一卷积运算结果,并将所述第一卷积运算结果模除所述第二参考质数p2而获得第一模除结果,且将所述第一模除结果模除所述第一参考质数p1而获得第二模除结果
Figure BDA00019153856600001216
所述第二模除结果
Figure BDA0001915385660000123
被表示成
Figure BDA00019153856600001217
及所述第二卷积运算模块计算出来自于所述第一卷积运算模块的所述第二模除结果
Figure BDA0001915385660000125
与所述存储单元所存储并作为所述私钥Kprivate的所述第一参考反质数阵列
Figure BDA0001915385660000126
的第二卷积运算结果,并将所述第二卷积运算结果模除所述第一参考质数p1而获得所述明文阵列
Figure BDA00019153856600001218
所述明文阵列
Figure BDA0001915385660000128
被表示成
Figure BDA00019153856600001219
本发明的加密通信系统中,在所述公钥Kpublic、第二参考质数p2及所述第二参考正整数
Figure BDA00019153856600001213
被存储于所述发送端的所述存储单元的前,所述密钥服务器将所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure BDA00019153856600001214
经由第二通信通道传送至所述发送端,以致所述发送端的所述处理器将接收自所述密钥服务器的所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure BDA00019153856600001215
存储于所述发送端的所述存储单元;及在所述私钥Kprivate、所述质数阵列
Figure BDA00019153856600001220
所述第一参考质数p1及所述第二参考质数p2被存储于所述接收端的所述存储单元的前,所述密钥服务器将所述私钥Kprivate、所述质数阵列
Figure BDA00019153856600001221
所述第一参考质数p1及所述第二参考质数p2经由第三通信通道传送至所述接收端,以致所述接收端的所述处理器将接收自所述密钥服务器的所述私钥Kprivate、所述质数阵列
Figure BDA00019153856600001222
所述第一参考质数p1及所述第二参考质数p2存储于所述接收端的所述存储单元。
本发明的加密通信系统中,所述密钥服务器还包括存储模块,所述存储模块连接所述质数阵列产生模块、所述参考质数决定模块、所述私钥产生模块及所述公钥产生模块,并存储分别来自于所述质数阵列产生模块、所述参考质数决定模块、所述私钥产生模块及所述公钥产生模块的所述质数阵列
Figure BDA00019153856600001319
所述第一参考质数p1与所述第二参考质数p2、所述第一参考反质数阵列
Figure BDA0001915385660000132
及所述第二参考反质数阵列
Figure BDA00019153856600001320
本发明的加密通信系统中,所述密钥服务器的所述公钥产生模块根据所述存储模块所存储的所述第二参考反质数阵列
Figure BDA00019153856600001321
所述第一参考质数p1、所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure BDA00019153856600001318
的数字成分且不同于所述密钥随机阵列
Figure BDA0001915385660000135
的另一随机阵列
Figure BDA00019153856600001322
产生相对于所述随机阵列
Figure BDA0001915385660000137
且与所述私钥Kprivate成对的更新公钥K* public,所述更新公钥K* public被表示为
Figure BDA00019153856600001323
Figure BDA00019153856600001324
所述密钥服务器经由所述第二通信通道将所述更新公钥K* public传送至所述发送端;所述发送端的所述处理器在接收到来自所述密钥服务器的所述更新公钥K* public时,以所述更新公钥K* public更新所述发送端的所述存储单元所存储的所述公钥Kpublic;所述发送端的所述处理器在利用所述公钥K* public、所述第二参考质数p2、及所述加密随机阵列
Figure BDA00019153856600001325
对所述数据阵列
Figure BDA00019153856600001311
进行所述加密编程后,获得另相对于所述公钥K* public与所述加密随机阵列
Figure BDA00019153856600001312
且具有m个加密数字成分的密文阵列
Figure BDA00019153856600001326
并经由所述第一通信通道将所述密文阵列
Figure BDA00019153856600001314
发送至所述接收端;及所述接收端的所述处理器在接收到来自所述发送端的所述密文阵列
Figure BDA00019153856600001315
时,利用所述质数阵列
Figure BDA00019153856600001327
所述私钥Kprivate、所述第一参考质数p1及所述第二参考质数p2,对于所述密文阵列
Figure BDA00019153856600001317
进行所述解密编程而获得所述明文阵列
Figure BDA0001915385660000141
本发明的有益效果在于:使用算术函数或古典字串、质数向量及以本质上为向量的质数阵列所建构出的公钥与私钥能允许对于相对较大量的数据进行编码及解码,借此能提升加密及解密速度并能确保通信数据的安全性。特别是所提出的所述加密通信系统能确保后量子安全,因此可以有效抵抗后量子计算机的攻击。再者,由于质数向量及质数阵列的性质,对于用来实施本发明的硬件在存储空间及/或计算能力的要求是相对较低的。另外,本发明能在不影响私钥的情况下允许公钥的更新,借此对于网络中的所有使用者能进行一个分散式密钥更新处理。此外,由于私钥为一个能产生无限量数据的函数,所以能仅根据单一个函数来产生多个不同的公钥。
附图说明
本发明的其他的特征及功效,将于参照图式的实施方式中清楚地呈现,其中:
图1是一方块图,示例地说明本发明加密通信系统的一个实施例;
图2是一方块图,示例地绘示出一个配置于所述实施例的一个密钥服务器的后量子非对称密钥产生系统的组成;
图3及图4是流程图,示例地说明所述实施例的所述后量子非对称密钥产生系统如何执行一个非对称密钥产生编程;
图5是一方块图,示例地绘示出所述实施例的一个发送端;
图6是一方块图,示例地绘示出所述实施例的一个接收端;
图7是一个流程图,示例地说明所述实施例中一个发送端如何对于一个要被传送的明文信息执行一个加密编程;及
图8是一个流程图,示例地说明所述实施例中的一个接收端如何对于一个接收自所述发送端的密文执行一个解密编程。
具体实施方式
参阅图1,本发明加密通信系统100的一个实施例包含一个密钥服务器1、及多个使用端(图中仅示例地绘出两个使用端,其中一个作为一个发送端2,而另一个作为一个接收端3)。所有使用端能依照以下所述的加密编程及解密编程共同规范出的通信协议来进行彼此的通信,换句话说,每一个使用端能依其实际使用上的需求而选择性地作为发送端或接收端。所述发送端2包含一个存储单元21、及一个连接所述存储单元21的处理器22,而所述接收端3包含一个存储端元31、及一个连接所述存储单元31的处理器32。此外,值得注意的是,在本实施例中,所述密钥服务器1独立于所述发送端2及所述接收端3,然而,在其他实施态样中,所述密钥服务器1也能被整合于所述发送端2。
所述密钥服务器1配置有一个后量子(post-quantum)非对称密钥产生系统10。参阅图2,所述后量子非对称密钥产生系统10包含一个质数向量产生模块11、一个连接所述质数向量产生模块11的所述质数阵列产生模块13、一个连接所述质数阵列产生模块13的相关矩阵产生模块14、一个连接所述相关矩阵产生模块的反质数阵列产生模块15、一个参考质数决定模块16、一个连接所述反质数阵列产生模块15与所述参考质数决定模块16的私钥产生模块17、一个连接所述反质数阵列产生模块15与所述参考质数决定模块16的公钥产生模块18,以及一个连接所述质数阵列产生模块13、所述参考质数决定模块16、所述私钥产生模块17及所述公钥产生模块18的存储模块19。值得注意的是,所述质数向量产生模块11、所述质数阵列产生模块13、所述相关矩阵产生模块14、所述反质数阵列产生模块15、所述参考质数决定模块16、所述私钥产生模块17及所述公钥产生模块18例如能被整合于一个处理单元(图未示),但不在此限。
所述加密通信系统100在实际使用前,所述密钥服务器1必须先产生用于加密数据的非对称密钥,例如一个私钥及至少一个与所述私钥成对的公钥。以下,参阅图2及图3来示例地说明所述后量子非对称密钥产生系统10如何执行一个非对称密钥产生编程。所述非对称密钥产生编程包含以下步骤。
首先,在步骤331中,所述质数向量产生模块11能根据例如一个算术函数(作为一个乱数种子)及一个质数p,产生一个相关于所述质数p且具有无限个成分的质数向量
Figure BDA00019153856600001617
并将所述质数向量
Figure BDA0001915385660000162
输出至所述质数阵列产生模块13。在本实施例中,所述质数向量
Figure BDA0001915385660000163
能被表示成
Figure BDA00019153856600001618
然而,在其他实施态样中,所述质数向量产生模块11也能根据一个作为所述乱数种子的古典字串及所述质数p产生所述质数向量
Figure BDA00019153856600001619
举例来说,若所述算术函数被定义如以下式(1)时,则所述质数向量
Figure BDA0001915385660000166
能被获得如以下式(2),但不在此限。
Figure BDA00019153856600001620
然后,在步骤332中,所述质数阵列产生模块13根据来自所述质数向量产生模块11的所述质数向量
Figure BDA00019153856600001621
产生一个相关于所述质数p以及三个均为正整数的参数m、s、t的质数阵列
Figure BDA00019153856600001622
在本实施例中,所述质数p及所述参数s、t构成一个第一参数集I(以下也被表示成I=(p,s,t)),且所述质数阵列
Figure BDA0001915385660000169
被定义为
Figure BDA00019153856600001623
当所述第一参数集I中的所述质数p与所述参数s、t的数值被决定时,所述质数阵列
Figure BDA00019153856600001611
能被简化地表示成
Figure BDA00019153856600001624
举例来说,若沿用式(1)的算术函数并且在I(p,s,t)=(3,0,1)及m=5的情况下,则所述质数向量
Figure BDA00019153856600001626
及所述质数阵列
Figure BDA00019153856600001625
能被获得分别如以下式(2)及式(3),但不在此限。
Figure BDA00019153856600001627
Figure BDA0001915385660000171
再举另一个例,若所述算术函数被定义如以下式(4)且同样在I(p,s,t)=(3,0,1)及m=5的情况下时,则所述质数向量
Figure BDA00019153856600001713
及所述质数阵列
Figure BDA0001915385660000176
Figure BDA00019153856600001714
能被获得分别如以下式(5)及式(6)。
Figure BDA0001915385660000172
Figure BDA0001915385660000173
Figure BDA0001915385660000174
由上述两例能得知,若所述算术函数为一个密秘函数且所述第一参数集也为一个密秘实例时,所述质数阵列的对应实例能被产生。如此,通过保存所述第一参数集I,则对应的质数阵列可以随时重新先取回。
然后,在步骤333中,所述质数阵列产生模块13判定所述质数阵列
Figure BDA0001915385660000178
的所述m个成分是否均不为零。若所述判定结果为肯定时,所述质数阵列产生模块13将所述质数阵列
Figure BDA0001915385660000179
输出至所述相关矩阵产生模块14,并将所述质数阵列
Figure BDA00019153856600001710
存储于所述存储模块19(步骤334)。例如,在上述示例中,如式(3)及式(6)的所述质数向量
Figure BDA00019153856600001711
的5个成分均不为零。相反地,若所述质数阵列产生模块13判定出步骤332所产生的所述质数阵列
Figure BDA00019153856600001712
的所述m个成分中存在有一个成分为零时,流程返回步骤332,并在决定出所述第一参数集I的另一个实例(即,本次所决定的p、s、t的值异于上一次I中的p、s及t的值)后重复执行步骤332,直到步骤333的判定结果为肯定。
接着,在步骤335中,所述相关矩阵产生模块14根据来自于所述质数阵列产生模块13的所述质数阵列
Figure BDA00019153856600001822
产生一个相关矩阵
Figure BDA00019153856600001823
并将所述相关矩阵
Figure BDA0001915385660000189
输出至所述反质数阵列产生模块15。所述相关矩阵
Figure BDA00019153856600001824
被表示成
Figure BDA0001915385660000181
其中
Figure BDA00019153856600001825
代表所述质数阵列
Figure BDA00019153856600001811
的m个成分中的第(j+1)个成分,且0≤j≤(m-1)。举例来说,若根据式(6)的所述质数阵列
Figure BDA00019153856600001826
则所述相关矩阵产生模块14所产生的所述相关矩阵
Figure BDA00019153856600001813
如下:
Figure BDA0001915385660000182
接着,在步骤336中,所述反质数阵列产生模块15根据来自于所述相关矩阵产生模块14的所述相关矩阵
Figure BDA00019153856600001827
及一个为一个正整数的模数l,产生所述质数阵列
Figure BDA00019153856600001816
对于所述模数l的一个反质数阵列
Figure BDA00019153856600001828
所述反质数阵列模块15将所述反质数阵列
Figure BDA00019153856600001819
输出至所述私钥产生模块17及所述公钥产生模块18。在本实施例中,所述反质数阵列
Figure BDA00019153856600001820
被表示成
Figure BDA0001915385660000183
其中Ll代表所述相关矩阵
Figure BDA00019153856600001821
的行列式值对于所述模数l的一个模反元素且被表示成
Figure BDA0001915385660000184
Figure BDA0001915385660000185
代表所述相关矩阵
Figure BDA0001915385660000186
的一个伴随矩阵。
另一方面,在步骤337中,所述参考质数决定模块16先任意选择一个第一参考质数p1,并根据一个相关于所述第一参考质数p1、所述质数阵列
Figure BDA0001915385660000192
的所述m个成分中一个最大成分b、一个第一参考正整数
Figure BDA00019153856600001912
以及一个由所述参数m、一个第二参考正整数
Figure BDA00019153856600001913
及一个第三参考正整数r所构成的第二参数集S(以下也被表示成
Figure BDA00019153856600001914
)的预定条件决定出一个符合于所述预定条件的第二参考质数p2,其中所述预定条件包含
Figure BDA00019153856600001917
所述参考质数决定模块16还将所述第一参考质数p1输出至所述私钥产生模块17,且将所述第一参考质数p1与所述第二参考质数p2输出至所述公钥产生模块18。此外,所述参考质数决定模块16还将所述第一参考质数p1及所述第二参考质数p2存储于所述存储模块19。举例来说,若沿用前例中式(6)的
Figure BDA00019153856600001918
Figure BDA00019153856600001919
且在
Figure BDA00019153856600001916
Figure BDA00019153856600001915
的情况下,当所述参考质数决定模块16选择p1=251,则所述预定条件被表示如下:
Figure BDA0001915385660000191
p2>mbr=5×81×120=48600,
如此能决定出例如p2=180720001,但不在此限。
跟随在步骤336及337的步骤338中,所述私钥产生模块17将来自于所述参考质数决定模块16的所述第一参考质数p1作为所述模数l代入来自于所述反质数阵列产生模块15的所述反质数阵列
Figure BDA0001915385660000196
以获得一个作为一个私钥Kprivate的第一参考反质数阵列
Figure BDA0001915385660000197
(即,
Figure BDA00019153856600001920
),其中
Figure BDA00019153856600001921
并将所述第一参考反质数阵列
Figure BDA00019153856600001910
存储于所述存储模块19。举例来说,依照前例中m=3,p=5及p1=251,由于
Figure BDA00019153856600001911
且L251=(68)-1(mod 251)=48,于是所述私钥Kprivate被获得如下:
Figure BDA0001915385660000201
跟随在步骤336及337的步骤339中,所述公钥产生模块18将来自于所述参考质数决定模块16的所述第二参考质数p2作为所述模数l代入来自于所述反质数阵列产生模块15的所述反质数阵列
Figure BDA0001915385660000206
以获得一个第二参考反质数阵列
Figure BDA00019153856600002018
并将第二参考反质数阵列
Figure BDA0001915385660000208
存储于所述存储模块19。举例来说,在例如
Figure BDA00019153856600002016
且依照前例中m=5,p=3及p2=18072001的情况下,由于
Figure BDA0001915385660000202
且L18072001=16142697-1≡17712763(mod 18072001),所以
Figure BDA0001915385660000203
最后,在步骤340中,所述公钥产生模块18根据所获得的所述第二参考反质数阵列
Figure BDA00019153856600002019
来自于所述参考质数决定模块16的所述第一参考质数p1与所述第二参考质数p2、及一个具有m个介于0到所述第一参考正整数
Figure BDA00019153856600002017
的数字成分的密钥随机阵列
Figure BDA00019153856600002020
产生一个相对于所述密钥随机阵列
Figure BDA00019153856600002011
且与所述私钥Kprivate成对的公钥Kpublic。在本实施例中,所述公钥Kpublic为一个具有m个数字成分的阵列
Figure BDA00019153856600002012
且被表示成
Figure BDA0001915385660000204
Figure BDA0001915385660000205
其中
Figure BDA00019153856600002013
被定义为所述第二参考反质数阵列
Figure BDA00019153856600002014
相关于所述密钥随机阵列
Figure BDA00019153856600002015
的密钥随机化函数,并被表示成
Figure BDA00019153856600002113
其中
Figure BDA0001915385660000216
代表一个卷积运算符。举例来说,依照前例中m=5,p=3,p1=251,p2=18072001及式(9)的
Figure BDA0001915385660000217
的情况下,若
Figure BDA00019153856600002112
且例如
Figure BDA0001915385660000218
时,则所述公钥Kpublic能被获得如下:
Figure BDA0001915385660000211
但不在此限。值得注意的是,若采用另一个密钥随机阵列
Figure BDA0001915385660000219
Figure BDA00019153856600002110
的情况下,则能获得另一个与所述私钥Kprivate成对的公钥K* public,如下:
Figure BDA0001915385660000212
换句话说,所述公钥产生模块18若采用不同的密钥随机阵列时将产生不同的但仍与所述私钥Kprivate成对的公钥,借此有利于所述密钥服务器1对于所述公钥的更新(refresh)。
至此,所述后量子非对称密钥产生系统10完成所述非对称密钥产生编程。于是,所述密钥服务器1将所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure BDA0001915385660000213
经由一个通信通道C2(图1)传送至所述发送端2。另一方面,所述密钥服务器1将所述私钥Kprivate、所述质数阵列
Figure BDA00019153856600002114
所述第一参考质数p1及所述第二参考质数p2经由一个通信通道C3(图1)传送至所述接收端3。
参阅图5,所述发送端2的所述处理器22在接收到来自所述密钥服务器1的所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure BDA0001915385660000214
时,将所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure BDA0001915385660000228
存储于所述存储单元21。在本实施例中,所述处理器22例如配置有一个信息转换模块221、一个加密随机化函数产生模块222、及一个连接所述信息转换模块221与所述加密随机化函数产生模块222的密文阵列产生模块223。
参阅图6,所述接收端3的所述处理器32在接收到来自所述密钥服务器1的所述私钥Kprivate、所述质数阵列
Figure BDA0001915385660000229
所述第一参考质数p1及所述第二参考质数p2时,将所述私钥Kprivate、所述质数阵列
Figure BDA00019153856600002210
所述第一参考质数p1及所述第二参考质数p2存储于所述存储单元31。在本实施例中,所述处理器32例如配置有一个第一卷积运算模块321、及一个连接所述第一卷积运算模块321的所述第二卷积运算模块322。
以下,将参阅图5及图7来详细地说明所述发送端2对于一个要被发送至所述接收端3的明文信息如何执行一个加密编程。在本实施例中,所述明文信息例如具有m个字符。所述加密编程包含以下步骤。
在步骤371中,所述信息转换模块221利用例如ASCII code的预定字符转数字技术,将所述明文信息转换成一个具有m个数字成分的数据阵列
Figure BDA00019153856600002211
更明确地说,所述数据阵列
Figure BDA0001915385660000225
的所述m个数字成分中每一者介于0到所述第一参考正整数
Figure BDA0001915385660000227
并代表所述明文信息中的一个对应的字符。举例来说,若所述明文信息为“Hello”(也就是,m=5)时,利用ASCII code转换后所获得的所述数据阵列
Figure BDA0001915385660000226
如下:
Figure BDA0001915385660000221
但不在此限。
在步骤372中,所述加密随机化函数产生模块222根据所述存储单元21所存储的所述公钥Kpublic、及一个具有m个介于0到所述第二参考正整数
Figure BDA0001915385660000231
的数字成分的加密随机阵列
Figure BDA0001915385660000232
产生所述公钥Kpublic相关于所述加密随机阵列
Figure BDA0001915385660000233
的一个加密随机化函数
Figure BDA0001915385660000234
所述加密随机化函数
Figure BDA0001915385660000235
被表示成
Figure BDA0001915385660000236
举例来说,依照前例
Figure BDA0001915385660000237
及式(10)的
Figure BDA0001915385660000238
Figure BDA0001915385660000239
的情况,若
Figure BDA00019153856600002310
时,则所获得的所述加密随机化函数
Figure BDA00019153856600002311
如下:
Figure BDA00019153856600002312
但不在此限。又或者,若
Figure BDA00019153856600002313
时,将获得另一个加密随机化函数
Figure BDA00019153856600002314
如下:
Figure BDA00019153856600002315
换句话说,所述加密随机化函数产生模块222若采用不同的加密随机阵列时将产生不同的加密随机化函数。
跟随在步骤371及372后的步骤373中,所述密文阵列产生模块223将来自于所述信息转换模块221的所述数据阵列
Figure BDA00019153856600002316
与来自于所述加密随机化函数产生模块222的所述加密随机化函数
Figure BDA00019153856600002317
相加的和模除所述第二参考质数p2而获得一个相对于所述加密随机阵列
Figure BDA00019153856600002318
且具有m个加密数字成分的密文阵列
Figure BDA00019153856600002319
所述密文阵列
Figure BDA00019153856600002320
被表示成
Figure BDA00019153856600002321
举例来说,依照前例中式(12)的
Figure BDA00019153856600002322
及式(13)的
Figure BDA0001915385660000243
的情况,则所获得的所述密文阵列
Figure BDA0001915385660000244
如下:
Figure BDA0001915385660000241
又或者,若依照前例中式(2)的
Figure BDA0001915385660000245
及式(14)的
Figure BDA0001915385660000246
的情况,将获得另一个密文阵列
Figure BDA0001915385660000247
如下:
Figure BDA0001915385660000242
至此,所述发送端2执行完所述加密编程,并经由一个通信通道C1(图1),将所述密文阵列
Figure BDA0001915385660000248
发送至所述接收端3。
在本实施例中,所述通信通道C1,C2,C3分别作为一个第一通信通道、一个第二通信通道及一个第三通信通道。值得一提的是,所述第一通信通道C1能为一个非加密通道。
以下,参阅图6及图8来说明所述接收端3如何对于一个接收自所述发送端2的密文执行一个解密编程。在本实施例中,所述密文例如为所述密文阵列
Figure BDA00019153856600002417
但不在此限,且所述解密编程包含以下步骤。
首先,在步骤381中,所述第一卷积运算模块321计算出所述密文阵列
Figure BDA00019153856600002410
与所述存储单元31所存储的所述质数阵列
Figure BDA00019153856600002411
的一个第一卷积运算结果(也就是,
Figure BDA00019153856600002412
),并将所述第一卷积运算结果模除所述第二参考质数p2而获得一个第一模除结果(也就是,
Figure BDA00019153856600002413
),并且将所述第一模除结果模除所述第一参考质数p1而获得一个第二模除结果
Figure BDA00019153856600002418
于是,所述第二模除结果
Figure BDA00019153856600002415
被表示成
Figure BDA00019153856600002419
举例来说,依照前例中的p1=251,p2=18072001,式(6)的
Figure BDA0001915385660000255
及式(15)的
Figure BDA0001915385660000256
的情况,则所获得的所述第一模除结果及所述第二模除结果
Figure BDA0001915385660000257
分别如下:
Figure BDA0001915385660000251
Figure BDA0001915385660000252
又或者,若依照前例中的p1=251,p2=18072001,式(6)的
Figure BDA0001915385660000258
及式(16)的
Figure BDA0001915385660000259
的情况,将获得另一个第一模除结果及另一个第二模除结果
Figure BDA00019153856600002510
分别如下:
Figure BDA0001915385660000253
Figure BDA0001915385660000254
值得注意的是,所述第一卷积运算模块321虽然采用了不同的密文阵列如
Figure BDA00019153856600002511
Figure BDA00019153856600002523
但获得了相同的第二模除结果
Figure BDA00019153856600002524
Figure BDA00019153856600002525
然后,在步骤382中,所述第二卷积运算模块322计算出来自于所述第一卷积运算模块321的所述第二模除结果
Figure BDA00019153856600002515
与所述存储单元31所存储并作为所述私钥Kprivate的所述第一参考反质数阵列
Figure BDA00019153856600002516
的一个第二卷积运算结果,并将所述第二卷积运算结果模除所述第一参考质数p1而获得一个明文阵列
Figure BDA00019153856600002526
所述明文阵列
Figure BDA00019153856600002518
被表示成
Figure BDA00019153856600002527
举例来说,依照前例中的p1=251,式(8)的
Figure BDA00019153856600002520
及式(17)的
Figure BDA00019153856600002528
则所获得的所述明文阵列
Figure BDA00019153856600002522
如下:
Figure BDA0001915385660000261
如此可见,所述明文阵列
Figure BDA0001915385660000264
完全相同于式(12)的所述数据阵列
Figure BDA00019153856600002613
因此,所述接收端3经由将所述明文阵列
Figure BDA0001915385660000266
的所有数字成份转换成字符后即可成功地解密出如“Hello”的明文信息。至此,所述接收端3执行完所述解密编程。
另一方面,再参阅图1及图2,若所述加密通信系统100有必要更新密钥时,选择上,只需由所述密钥服务器1的所述公钥产生模块18再次执行步骤343,其中所述公钥产生模块18根据所述存储模块19所存储的所述第二参考反质数阵列
Figure BDA00019153856600002614
所述第一参考质数p1、所述第二参考质数p2、及另一个不同于所述密钥随机阵列
Figure BDA0001915385660000268
的随机阵列
Figure BDA00019153856600002616
如前述的
Figure BDA00019153856600002617
产生一个相对于所述随机阵列
Figure BDA00019153856600002611
且与所述私钥Kprivate成对的更新公钥K* public,如式(11)的
Figure BDA00019153856600002615
同样地,所述更新公钥K* public能表示成
Figure BDA0001915385660000262
Figure BDA0001915385660000263
然后,所述密钥服务器1经由所述第二通信通道C2将所述更新公钥K* public传送至所述发送端2。于是,所述发送端2的所述处理器22在接收到来自所述密钥服务器1的所述更新公钥K* public时,以所述更新公钥K* public更新所述发送端2的所述存储单元21所存储的所述公钥Kpublic
然后,所述发送端2的所述处理器22在利用所述更新公钥K* public、所述第二参考质数p2、及所述加密随机阵列
Figure BDA00019153856600002727
对所述数据阵列
Figure BDA0001915385660000277
进行所述加密编程后,获得另一个相对于所述更新公钥K* public与所述加密随机阵列
Figure BDA0001915385660000278
且具有m个加密数字成分的密文阵列
Figure BDA00019153856600002728
并经由所述第一通信通道C1将所述密文阵列
Figure BDA00019153856600002710
发送至所述接收端3。举例来说,依照前例中的m=5,
Figure BDA00019153856600002726
式(12)的
Figure BDA00019153856600002711
及式(11)的
Figure BDA00019153856600002712
的情况,当
Figure BDA0001915385660000271
时,则所获得的所述密文阵列
Figure BDA00019153856600002713
如下:
Figure BDA0001915385660000272
又或者,若
Figure BDA00019153856600002731
将获得的所述密文阵列
Figure BDA00019153856600002715
如下:
Figure BDA0001915385660000273
同样地,所述接收端3的所述处理器32在接收到来自所述发送端的所述密文阵列
Figure BDA00019153856600002716
时,利用所述质数阵列
Figure BDA00019153856600002729
所述私钥Kprivate、所述第一参考质数p1及所述第二参考质数p2,对于所述密文阵列
Figure BDA00019153856600002718
进行所述解密编程而获得所述明文阵列
Figure BDA00019153856600002730
举例来说,依照前例中的p1=251,p2=18072001,式(6)的
Figure BDA00019153856600002720
及式(19)的
Figure BDA00019153856600002721
的情况,则所获得的所述第一模除结果及所述第二模除结果
Figure BDA00019153856600002722
分别如下:
Figure BDA0001915385660000274
Figure BDA0001915385660000275
又或者,若照前例中的p1=251,p2=18072001,式(6)的
Figure BDA00019153856600002723
及式(20)的
Figure BDA00019153856600002724
的情况,将获得的所述第一模除结果及所述第二模除结果
Figure BDA00019153856600002725
分别如下:
Figure BDA0001915385660000281
Figure BDA0001915385660000282
值得注意的是,虽然所述接收端3接收到使用了所述更新公钥K* public所加密的不同密文阵列,如
Figure BDA0001915385660000283
Figure BDA0001915385660000286
但仍能利用所述私钥获得相同的第二模除结果
Figure BDA0001915385660000287
于是能成功解密出所述明文信息。
因此,从上述例子的详细说明能归纳出以下几点:第一,所述密钥服务器1的所述后量子非对称密产生系统10能仅使用单一个算术函数,并在选择多种不同的所述第一参数集I、所述第一参考质数p1或所述第二参考质数p2,通过执行上述非对称密钥产生编程,能对应地产生多个不同的私钥;第二,对于一个固定的私钥,所述后量子非对称密产生系统10仅须利用软式的密钥重置(reset)即可产生多个公钥,借此所述密钥服务器1能容易地达成公钥更新(refresh)功能;第三,所述后量子非对称密产生系统10产生所述质数阵列的方式相当多元化,特别是一些随机性被运用在所述相关矩阵的产生,如m的大小及列(row)的选择;及最后一个点,在上述实施例中仅是为方便说明才选择m=5及p1=251,但为了加大可能的密钥空间足以使暴力攻击难以成功破解(需耗费极其冗长甚至荒诞的时间),也能选择m=16,更甚者m=64,如此的信息空间大小及密钥空间将含有一个更具巨大量的可能性,借此使得暴力攻击根本不可能得逞。
以下表1详列了本发明加密通信系统100例如以8核/32Gb RAM的硬件来执行加密及解密编程的情况下,对于不同的信息长度所需的加密时间及解密时间的实验模拟结果。
表1
信息长度(bytes) 加密时间(ms) 解密时间(ms)
4 0.000193 0.001184
8 0.000225 0.001224
16 0.000279 0.000759
32 0.000399 0.001048
64 0.000687 0.001526
128 0.000886 0.002171
196 0.000997 0.002934
从表1能看出,对于相同的信息长度,现有AES及RSA协议所需的时间将明显长于本发明在加密及解密所需的时间达数百倍,换句话说,不论信息长度的长短,本发明加密通信系统100均能有效地大幅提升加/解密的处理速度。
综上所述,所以本发明的后量子非对称密钥产生系统10及加密通信系统100确实能达成本发明的目的。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可以在此基础上做进一步的改进和变化,因此本发明的保护范围应当以本申请的权利要求书所界定的范围为准。

Claims (16)

1.一种后量子非对称密钥产生方法,通过处理单元来实施,其特征在于,包含以下步骤:
步骤A:根据作为乱数种子的算术函数或古典字串、及质数p,产生相关于所述质数p且具有无限个成分的质数向量
Figure FDA0001915385650000011
所述质数向量
Figure FDA0001915385650000012
被表示成
Figure FDA0001915385650000013
步骤B:根据所述质数向量
Figure FDA0001915385650000014
产生相关于所述质数p以及三个均为正整数的参数m、s、t的质数阵列
Figure FDA0001915385650000015
其中所述质数p及所述参数s、t构成一第一参数集I,且所述质数阵列
Figure FDA0001915385650000016
被定义为
Figure FDA0001915385650000017
并且当所述第一参数集I中所述质数p与所述参数s、t的数值被决定时,所述质数阵列
Figure FDA0001915385650000018
被简化地表示成
Figure FDA0001915385650000019
步骤C:根据步骤B所产生的所述质数阵列
Figure FDA00019153856500000110
产生一个相关矩阵
Figure FDA00019153856500000111
所述相关矩阵
Figure FDA00019153856500000112
被表示成
Figure FDA00019153856500000113
其中
Figure FDA00019153856500000114
代表所述质数阵列
Figure FDA00019153856500000115
的m个成分中的第(j+1)个成分,且0≤j≤(m-1);
步骤D:根据步骤C所产生的所述相关矩阵
Figure FDA00019153856500000116
及为正整数的模数
Figure FDA00019153856500000122
产生所述质数阵列
Figure FDA00019153856500000117
对于所述模数
Figure FDA00019153856500000123
的反质数阵列
Figure FDA00019153856500000118
所述反质数阵列
Figure FDA00019153856500000119
被表示成
Figure FDA00019153856500000120
其中
Figure FDA00019153856500000124
代表所述相关矩阵
Figure FDA00019153856500000121
的行列式值对于所述模数
Figure FDA00019153856500000125
的模反元素且被表示成
Figure FDA0001915385650000021
Figure FDA0001915385650000022
代表所述相关矩阵
Figure FDA0001915385650000023
的伴随矩阵;
步骤E:任意选择第一参考质数p1,并根据相关于所述第一参考质数p1、所述质数阵列
Figure FDA0001915385650000024
的所述m个成分中最大成分b、第一参考正整数
Figure FDA00019153856500000221
以及由所述参数m、第二参考正整数
Figure FDA00019153856500000222
及第三参考正整数r所构成的第二参数集S的预定条件决定出符合于所述预定条件的第二参考质数p2,其中所述预定条件包含
Figure FDA0001915385650000025
步骤F:通过分别将所述第一参考质数p1及所述第二参考质数p2作为所述模数
Figure FDA00019153856500000224
代入步骤D所产生的所述反质数阵列
Figure FDA0001915385650000026
以分别获得作为私钥Kprivate的第一参考反质数阵列
Figure FDA0001915385650000027
及第二参考反质数阵列
Figure FDA0001915385650000028
其中
Figure FDA0001915385650000029
步骤G:根据步骤F所获得的所述第二参考反质数阵列
Figure FDA00019153856500000210
所述第一参考质数p1、所述第二参考质数p2、及一个具有m个介于0到所述第一参考正整数
Figure FDA00019153856500000223
的数字成分的密钥随机阵列
Figure FDA00019153856500000211
产生相对于所述密钥随机阵列
Figure FDA00019153856500000212
且与所述私钥Kprivate成对的公钥Kpublic,所述公钥Kpublic为具有m个数字成分的阵列
Figure FDA00019153856500000213
且被表示成
Figure FDA00019153856500000214
Figure FDA00019153856500000215
其中
Figure FDA00019153856500000216
被定义为所述第二参考反质数阵列
Figure FDA00019153856500000217
相关于所述密钥随机阵列
Figure FDA00019153856500000218
的密钥随机化函数,并被表示成
Figure FDA00019153856500000219
其中
Figure FDA00019153856500000220
代表卷积运算符。
2.一种加密方法,通过处理器来实施,其特征在于,包含以下步骤:
利用权利要求1所述的后量子非对称密钥产生方法中的所述公钥Kpublic与所述第二参考质数p2以及具有m个介于0到权利要求1所述的非对称密钥产生方法中的所述第二参考正整数
Figure FDA00019153856500000319
的数字成分的加密随机阵列
Figure FDA0001915385650000031
对于对应于要被传送的明文信息且具有m个数字成分的数据阵列
Figure FDA0001915385650000032
进行加密编程,以获得相对于所述加密随机阵列
Figure FDA0001915385650000033
且具有m个加密数字成分的密文阵列
Figure FDA0001915385650000034
3.根据权利要求2所述的加密方法,其特征在于,所述明文信息具有m个字符,所述数据阵列
Figure FDA0001915385650000035
的所述m个数字成分中每一者介于0到权利要求1所述的非对称密钥产生方法中的所述第一参考正整数
Figure FDA00019153856500000320
并代表所述m个字符中对应的字符。
4.根据权利要求2所述的加密方法,其特征在于,所述加密编程包含:
根据所述公钥Kpublic及所述加密随机阵列
Figure FDA0001915385650000036
产生所述公钥Kpublic相关于所述加密随机阵列
Figure FDA0001915385650000037
的加密随机化函数
Figure FDA0001915385650000038
所述加密随机化函数
Figure FDA0001915385650000039
被表示成
Figure FDA00019153856500000310
将所述数据阵列
Figure FDA00019153856500000311
与所述加密随机化函数
Figure FDA00019153856500000312
相加的和模除所述第二参考质数p2而获得所述密文阵列
Figure FDA00019153856500000313
所述密文阵列
Figure FDA00019153856500000314
被表示成
Figure FDA00019153856500000315
5.一种解密方法,通过处理器来实施,其特征在于,包含以下步骤:
利用权利要求1所述的后量子非对称密钥产生方法中的所述质数阵列
Figure FDA00019153856500000316
所述私钥Kprivate、所述第一参考质数p1及所述第二参考质数p2,对于经由权利要求2所述的加密方法所产生的所述密文阵列
Figure FDA00019153856500000317
进行解密编程,以获得具有m个解密数字成分的明文阵列
Figure FDA00019153856500000318
6.根据权利要求5所述的解密方法,其特征在于,所述解密编程包含:
将所述密文阵列
Figure FDA0001915385650000041
与所述质数阵列
Figure FDA0001915385650000042
的第一卷积运算结果模除所述第二参考质数p2而获得第一模除结果,并将所述第一模除结果模除所述第一参考质数p1而获得第二模除结果
Figure FDA0001915385650000044
所述第二模除结果
Figure FDA0001915385650000043
被表示成
Figure FDA0001915385650000045
将所述第二模除结果
Figure FDA0001915385650000046
与作为所述私钥Kprivate的所述第一参考反质数阵列
Figure FDA0001915385650000047
的第二卷积运算结果模除所述第一参考质数p1而获得所述明文阵列
Figure FDA0001915385650000048
所述明文阵列
Figure FDA0001915385650000049
被表示成
Figure FDA00019153856500000410
7.一种后量子非对称密钥产生系统,其特征在于,包含:
质数向量产生模块,根据作为乱数种子的算术函数或古典字串、及质数p,产生相关于所述质数p且具有无限个成分的质数向量
Figure FDA00019153856500000411
所述质数向量
Figure FDA00019153856500000412
被表示成
Figure FDA00019153856500000413
质数阵列产生模块,连接所述质数向量产生模块,并根据来自所述质数向量产生模块的所述质数向量
Figure FDA00019153856500000414
产生相关于所述质数p以及三个均为正整数的参数m、s、t的质数阵列
Figure FDA00019153856500000415
其中所述质数p及所述参数s、t构成第一参数集I,且所述质数阵列
Figure FDA00019153856500000417
被定义为
Figure FDA00019153856500000416
并且当所述第一参数集I中所述质数p与所述参数s、t的数值被决定时,所述质数阵列
Figure FDA00019153856500000418
被简化地表示成
Figure FDA00019153856500000419
相关矩阵产生模块,连接所述质数阵列产生模块,并根据来自于所述质数阵列产生模块的所述质数阵列
Figure FDA00019153856500000420
产生相关矩阵
Figure FDA00019153856500000421
所述相关矩阵
Figure FDA0001915385650000051
被表示成
Figure FDA0001915385650000052
其中
Figure FDA0001915385650000053
代表所述质数阵列
Figure FDA0001915385650000054
的m个成分中的第(j+1)个成分,且0≤j≤(m-1);
反质数阵列产生模块,连接所述相关矩阵产生模块,并根据来自于所述相关矩阵产生模块的所述相关矩阵
Figure FDA0001915385650000055
及为正整数的模数
Figure FDA00019153856500000521
产生所述质数阵列
Figure FDA0001915385650000056
对于所述模数
Figure FDA00019153856500000522
的反质数阵列
Figure FDA0001915385650000058
所述反质数阵列
Figure FDA0001915385650000057
被表示成
Figure FDA0001915385650000059
其中
Figure FDA00019153856500000523
代表所述相关矩阵
Figure FDA00019153856500000510
的行列式值对于所述模数
Figure FDA00019153856500000524
的模反元素且被表示成
Figure FDA00019153856500000511
Figure FDA00019153856500000512
代表所述相关矩阵
Figure FDA00019153856500000513
的伴随矩阵;
参考质数决定模块,用来先任意选择第一参考质数p1,然后并根据相关于所述第一参考质数p1、所述质数阵列
Figure FDA00019153856500000514
的所述m个成分中最大成分b,以及由所述参数m、第一参考正整数
Figure FDA00019153856500000519
第二参考正整数
Figure FDA00019153856500000520
及第三参考正整数r所构成的第二参数集S的预定条件决定出符合于所述预定条件的第二参考质数p2,其中所述预定条件包含
Figure FDA00019153856500000515
私钥产生模块,连接所述反质数阵列产生模块及所述参考质数决定模块,并将来自于所述参考质数决定模块的所述第一参考质数p1作为所述模数
Figure FDA00019153856500000525
代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure FDA00019153856500000516
以获得作为私钥Kprivate的第一参考反质数阵列
Figure FDA00019153856500000518
其中
Figure FDA00019153856500000517
公钥产生模块,连接所述反质数阵列产生模块及所述参考质数决定模块,且将来自于所述参考质数决定模块的所述第二参考质数p2作为所述模数
Figure FDA00019153856500000526
代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure FDA0001915385650000061
以获得第二参考反质数阵列
Figure FDA0001915385650000062
并根据所获得的所述第二参考反质数阵列
Figure FDA0001915385650000063
来自于所述参考质数决定模块的所述第一参考质数p1与所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure FDA00019153856500000620
的数字成分的密钥随机阵列
Figure FDA0001915385650000064
产生相对于所述密钥随机阵列
Figure FDA0001915385650000065
且与所述私钥Kprivate成对的公钥Kpublic,所述公钥Kpublic为具有m个数字成分的阵列
Figure FDA0001915385650000066
且被表示成
Figure FDA0001915385650000067
其中
Figure FDA0001915385650000068
被定义为所述第二参考反质数阵列
Figure FDA0001915385650000069
相关于所述密钥随机阵列
Figure FDA00019153856500000610
的密钥随机化函数,并被表示成
Figure FDA00019153856500000611
其中
Figure FDA00019153856500000612
代表卷积运算符。
8.根据权利要求7所述的后量子非对称密钥产生系统,其特征在于,还包含:存储模块,所述存储模块连接所述质数阵列产生模块、所述参考质数决定模块、所述私钥产生模块及所述公钥产生模块,并存储来自于所述质数阵列产生模块的所述质数阵列
Figure FDA00019153856500000613
来自所述参考质数决定模块的所述第一参考质数p1与所述第二参考质数p2、来自所述私钥产生模块的所述第一参考反质数阵列
Figure FDA00019153856500000614
及来自所述公钥产生模块的所述第二参考反质数阵列
Figure FDA00019153856500000615
9.根据权利要求8所述的后量子非对称密钥产生系统,其特征在于,所述公钥产生模块根据所述存储模块所存储的所述第二参考反质数阵列
Figure FDA00019153856500000616
所述第一参考质数p1、所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure FDA00019153856500000621
的数字成分且不同于所述密钥随机阵列
Figure FDA00019153856500000619
的另一随机阵列
Figure FDA00019153856500000617
产生相对于所述随机阵列
Figure FDA00019153856500000618
且与所述私钥Kprivate成对的更新公钥K* public,所述更新公钥K* public被表示成
Figure FDA0001915385650000071
Figure FDA0001915385650000072
10.一种加密通信系统,其特征在于,包含:
密钥服务器,包括:
质数向量产生模块,根据作为乱数种子的算术函数或古典字串,产生相关于质数p且具有无限个成分的质数向量
Figure FDA0001915385650000074
所述质数向量
Figure FDA0001915385650000073
被表示成
Figure FDA0001915385650000075
质数阵列产生模块,连接所述质数向量产生模块,并根据来自所述质数向量产生模块的所述质数向量
Figure FDA0001915385650000076
产生相关于所述质数p以及三个均为正整数的参数m、s、t的质数阵列
Figure FDA0001915385650000077
其中所述质数p及所述参数s、t构成第一参数集I,且所述质数阵列
Figure FDA0001915385650000078
被定义为
Figure FDA0001915385650000079
并且当所述第一参数集I中所述质数p与所述参数s、t的数值被决定时,所述质数阵列
Figure FDA00019153856500000710
被简化地表示成
Figure FDA00019153856500000711
相关矩阵产生模块,连接所述质数阵列产生模块,并根据来自于所述质数阵列产生模块的所述质数阵列
Figure FDA00019153856500000713
产生相关矩阵
Figure FDA00019153856500000712
所述相关矩阵
Figure FDA00019153856500000714
被表示成
Figure FDA00019153856500000715
其中
Figure FDA00019153856500000716
代表所述质数阵列
Figure FDA00019153856500000717
的m个成分中的第(j+1)个成分,且0≤j≤(m-1),
反质数阵列产生模块,连接所述相关矩阵产生模块,并根据来自于所述相关矩阵产生模块的所述相关矩阵
Figure FDA00019153856500000718
及为一个正整数的模数
Figure FDA00019153856500000822
产生所述质数阵列
Figure FDA0001915385650000081
对于所述模数
Figure FDA00019153856500000819
的反质数阵列
Figure FDA0001915385650000082
所述反质数阵列
Figure FDA0001915385650000083
被表示成
Figure FDA0001915385650000084
其中
Figure FDA00019153856500000820
代表所述相关矩阵
Figure FDA0001915385650000085
的行列式值对于所述模数
Figure FDA00019153856500000821
的模反元素且被表示成
Figure FDA0001915385650000086
Figure FDA0001915385650000087
代表所述相关矩阵
Figure FDA0001915385650000088
的伴随矩阵,
参考质数决定模块,用来先任意选择第一参考质数p1,然后并根据相关于所述第一参考质数p1、所述质数阵列
Figure FDA0001915385650000089
的所述m个成分中最大成分b、第一参考正整数
Figure FDA00019153856500000817
以及由所述参数m、第二参考正整数
Figure FDA00019153856500000818
及第三参考正整数r所构成的第二参数集S的预定条件决定出符合于所述预定条件的第二参考质数p2,其中所述预定条件包含
Figure FDA00019153856500000810
私钥产生模块,连接所述反质数阵列产生模块及所述参考质数决定模块,并将来自于所述参考质数决定模块的所述第一参考质数p1作为所述模数
Figure FDA00019153856500000823
代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure FDA00019153856500000811
以获得作为私钥Kprivate的第一参考反质数阵列
Figure FDA00019153856500000812
其中
Figure FDA00019153856500000813
公钥产生模块,连接所述反质数阵列产生模块及所述参考质数决定模块,且用来将来自于所述参考质数决定模块的所述第二参考质数p2作为所述模数
Figure FDA00019153856500000824
代入来自于所述反质数阵列产生模块的所述反质数阵列
Figure FDA00019153856500000814
以获得第二参考反质数阵列
Figure FDA00019153856500000815
并根据所获得的所述第二参考反质数阵列
Figure FDA00019153856500000816
来自于所述参考质数决定模块的所述第一参考质数p1与所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure FDA00019153856500000920
的数字成分的密钥随机阵列
Figure FDA0001915385650000092
产生相对于所述密钥随机阵列
Figure FDA0001915385650000091
且与所述私钥Kprivate成对的公钥Kpublic,所述公钥Kpublic为具有m个数字成分的阵列
Figure FDA0001915385650000093
且被表示成
Figure FDA0001915385650000094
Figure FDA0001915385650000095
其中
Figure FDA0001915385650000096
被定义为所述第二参考反质数阵列
Figure FDA0001915385650000098
相关于所述密钥随机阵列
Figure FDA0001915385650000097
的密钥随机化函数,并被表示成
Figure FDA0001915385650000099
其中
Figure FDA00019153856500000910
代表卷积运算符;
发送端,包含存储有所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure FDA00019153856500000921
的存储单元,及电连接所述存储单元的处理器;及
接收端,包含存储有存储有所述私钥Kprivate、所述质数阵列
Figure FDA00019153856500000911
所述第一参考质数p1及所述第二参考质数p2的存储单元,及电连接所述接收端的所述存储单元的处理器;
其中,对于对应于要被发送至所述接收端的明文信息且具有m个数字成分的数据阵列
Figure FDA00019153856500000912
所述发送端的所述处理器利用所述存储单元所存储的所述公钥Kpublic与所述第二参考质数p2、及具有m个介于0到所述第二参考正整数
Figure FDA00019153856500000922
的数字成分的加密随机阵列
Figure FDA00019153856500000913
对于所述数据阵列
Figure FDA00019153856500000914
进行加密编程,以获得相对于所述加密随机阵列
Figure FDA00019153856500000915
且具有m个加密数字成分的密文阵列
Figure FDA00019153856500000916
所述发送端经由第一通信通道,将所述密文阵列
Figure FDA00019153856500000917
发送至所述接收端;及
其中,在所述接收端,所述处理器在接收到来自所述发送端的所述密文阵列
Figure FDA00019153856500000918
时,利用所述存储单元所存储的所述质数阵列
Figure FDA00019153856500000919
所述私钥Kprivate、所述第一参考质数p1及所述第二参考质数p2,对于所述密文阵列
Figure FDA0001915385650000101
进行解密编程,以获得具有m个解密数字成分的明文阵列
Figure FDA0001915385650000104
所述明文阵列
Figure FDA0001915385650000102
完全相同于所述数据阵列
Figure FDA0001915385650000103
11.根据权利要求10所述的加密通信系统,其特征在于,所述明文信息具有m个字符,其中,所述发送端的所述处理器配置有信息转换模块,所述信息转换模块利用预定字符转数字技术,将所述明文信息转换成所述数据阵列
Figure FDA0001915385650000105
且所述数据阵列
Figure FDA0001915385650000106
的所述m个数字成分中每一者介于0到所述第一参考正整数
Figure FDA00019153856500001018
并代表所述m个字符其中对应的字符。
12.根据权利要求11所述的加密通信系统,其特征在于,
所述发送端的所述处理器还配置有加密随机化函数产生模块、及连接所述信息转换模块与所述加密随机化函数产生模块的密文阵列产生模块;及
在所述加密编程中,所述加密随机化函数产生模块根所述公钥Kpublic、及所述加密随机阵列
Figure FDA0001915385650000107
产生所述公钥Kpublic相关于所述加密随机阵列
Figure FDA0001915385650000108
的加密随机化函数
Figure FDA0001915385650000109
所述加密随机化函数
Figure FDA00019153856500001010
被表示成
Figure FDA00019153856500001011
并且将所述数据阵列
Figure FDA00019153856500001012
与所述加密随机化函数
Figure FDA00019153856500001013
相加的和模除所述第二参考质数p2而获得所述密文阵列
Figure FDA00019153856500001014
所述密文阵列
Figure FDA00019153856500001015
被表示成
Figure FDA00019153856500001016
13.根据权利要求10所述的加密通信系统,其特征在于,
所述接收端的所述处理器配置有第一卷积运算模块、及连接所述第一卷积运算模块的第二卷积运算模块;及
在所述解密编程中,
所述第一卷积运算模块计算出所述密文阵列
Figure FDA00019153856500001017
与所述质数阵列
Figure FDA0001915385650000111
的第一卷积运算结果,并将所述第一卷积运算结果模除所述第二参考质数p2而获得第一模除结果,且将所述第一模除结果模除所述第一参考质数p1而获得第二模除结果
Figure FDA0001915385650000112
所述第二模除结果
Figure FDA0001915385650000113
被表示成
Figure FDA0001915385650000114
所述第二卷积运算模块计算出来自于所述第一卷积运算模块的所述第二模除结果
Figure FDA0001915385650000115
与所述存储单元所存储并作为所述私钥Kprivate的所述第一参考反质数阵列
Figure FDA0001915385650000116
的第二卷积运算结果,并将所述第二卷积运算结果模除所述第一参考质数p1而获得所述明文阵列
Figure FDA0001915385650000117
所述明文阵列
Figure FDA0001915385650000118
被表示成
Figure FDA0001915385650000119
14.根据权利要求10所述的加密通信系统,其特征在于,
在所述公钥Kpublic、第二参考质数p2及所述第二参考正整数
Figure FDA00019153856500001113
被存储于所述发送端的所述存储单元前,所述密钥服务器将所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure FDA00019153856500001114
经由第二通信通道传送至所述发送端,以致所述发送端的所述处理器将接收自所述密钥服务器的所述公钥Kpublic、所述第二参考质数p2及所述第二参考正整数
Figure FDA00019153856500001115
存储于所述发送端的所述存储单元;及
在所述私钥Kprivate、所述质数阵列
Figure FDA00019153856500001110
所述第一参考质数p1及所述第二参考质数p2被存储于所述接收端的所述存储单元前,所述密钥服务器将所述私钥Kprivate、所述质数阵列
Figure FDA00019153856500001111
所述第一参考质数p1及所述第二参考质数p2经由第三通信通道传送至所述接收端,以致所述接收端的所述处理器将接收自所述密钥服务器的所述私钥Kprivate、所述质数阵列
Figure FDA00019153856500001112
所述第一参考质数p1及所述第二参考质数p2存储于所述接收端的所述存储单元。
15.根据权利要求14所述的加密通信系统,其特征在于,所述密钥服务器还包括存储模块,所述存储模块连接所述质数阵列产生模块、所述参考质数决定模块、所述私钥产生模块及所述公钥产生模块,并存储分别来自于所述质数阵列产生模块、所述参考质数决定模块、所述私钥产生模块及所述公钥产生模块的所述质数阵列
Figure FDA0001915385650000121
所述第一参考质数p1与所述第二参考质数p2、所述第一参考反质数阵列
Figure FDA0001915385650000122
及所述第二参考反质数阵列
Figure FDA0001915385650000123
16.根据权利要求15所述的加密通信系统,其特征在于,
所述密钥服务器的所述公钥产生模块根据所述存储模块所存储的所述第二参考反质数阵列
Figure FDA0001915385650000124
所述第一参考质数p1、所述第二参考质数p2、及具有m个介于0到所述第一参考正整数
Figure FDA00019153856500001214
的数字成分且不同于所述密钥随机阵列
Figure FDA0001915385650000125
的另一随机阵列
Figure FDA0001915385650000126
产生相对于所述随机阵列
Figure FDA0001915385650000127
且与所述私钥Kprivate成对的更新公钥K* public,所述更新公钥K* public被表示为
Figure FDA0001915385650000128
其中
Figure FDA0001915385650000129
所述密钥服务器经由所述第二通信通道将所述更新公钥K* public传送至所述发送端;
所述发送端的所述处理器在接收到来自所述密钥服务器的所述更新公钥K* public时,以所述更新公钥K* public更新所述发送端的所述存储单元所存储的所述公钥Kpublic
所述发送端的所述处理器在利用所述公钥K* public、所述第二参考质数p2、及所述加密随机阵列
Figure FDA00019153856500001210
对所述数据阵列
Figure FDA00019153856500001211
进行所述加密编程后,获得另相对于所述公钥K* public与所述加密随机阵列
Figure FDA00019153856500001212
且具有m个加密数字成分的密文阵列
Figure FDA00019153856500001213
并经由所述第一通信通道将所述密文阵列
Figure FDA0001915385650000131
发送至所述接收端;及
所述接收端的所述处理器在接收到来自所述发送端的所述密文阵列
Figure FDA0001915385650000132
时,利用所述质数阵列
Figure FDA0001915385650000133
所述私钥Kprivate、所述第一参考质数p1及所述第二参考质数p2,对于所述密文阵列
Figure FDA0001915385650000134
进行所述解密编程而获得所述明文阵列
Figure FDA0001915385650000135
CN201811570509.4A 2018-09-27 2018-12-18 密钥产生方法及系统、加密及解密方法、加密通信系统 Active CN110958112B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107134068 2018-09-27
TW107134068A TWI672932B (zh) 2018-09-27 2018-09-27 基於質數陣列的後量子非對稱密鑰產生方法及系統、加密方法、解密方法及加密通訊系統

Publications (2)

Publication Number Publication Date
CN110958112A true CN110958112A (zh) 2020-04-03
CN110958112B CN110958112B (zh) 2022-06-28

Family

ID=67211545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811570509.4A Active CN110958112B (zh) 2018-09-27 2018-12-18 密钥产生方法及系统、加密及解密方法、加密通信系统

Country Status (6)

Country Link
US (1) US11218308B2 (zh)
EP (1) EP3629517A1 (zh)
JP (2) JP7053537B6 (zh)
KR (1) KR102354456B1 (zh)
CN (1) CN110958112B (zh)
TW (1) TWI672932B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792305A (zh) * 2021-08-18 2021-12-14 广州城建职业学院 加密解密方法、系统、设备及计算机可读存储介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11626983B1 (en) 2019-09-10 2023-04-11 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11343270B1 (en) 2019-09-10 2022-05-24 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11477016B1 (en) * 2019-09-10 2022-10-18 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11240014B1 (en) 2019-09-10 2022-02-01 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11449799B1 (en) 2020-01-30 2022-09-20 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11533175B1 (en) 2020-01-30 2022-12-20 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography on a smartcard
US11838410B1 (en) 2020-01-30 2023-12-05 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11322050B1 (en) * 2020-01-30 2022-05-03 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
KR102222080B1 (ko) * 2020-02-24 2021-03-04 한국전자통신연구원 양자 개체 인증 장치 및 방법
US11258602B2 (en) * 2020-02-26 2022-02-22 Amera IoT Inc. Method and apparatus for secure private key storage on IoT device
US10817590B1 (en) * 2020-02-26 2020-10-27 Amera IoT Inc. Method and apparatus for creating and using quantum resistant keys
US11256783B2 (en) * 2020-02-26 2022-02-22 Amera IoT Inc. Method and apparatus for simultaneous key generation on device and server for secure communication
US11271911B2 (en) 2020-02-26 2022-03-08 Amera Lot Inc. Method and apparatus for imprinting private key on IoT
CN112347498B (zh) * 2020-12-01 2022-10-28 南阳理工学院 一种加密方法、装置、电子设备及可读存储介质
WO2023198036A1 (zh) * 2022-04-11 2023-10-19 华为技术有限公司 一种密钥生成方法、装置及设备
US20240037553A1 (en) * 2022-07-28 2024-02-01 Brax Kinsey Digital Forge Systems and Methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998008323A1 (en) * 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
CN107483206A (zh) * 2017-09-30 2017-12-15 北京兵符科技有限公司 一种快速的量子安全的非对称加密方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
AU3073595A (en) 1994-07-29 1996-03-04 Certicom Corp. Elliptic curve encryption systems
US6493449B2 (en) 1998-02-26 2002-12-10 Arithmetica, Inc. Method and apparatus for cryptographically secure algebraic key establishment protocols based on monoids
US7421076B2 (en) 2003-09-17 2008-09-02 Analog Devices, Inc. Advanced encryption standard (AES) engine with real time S-box generation
JP6019453B2 (ja) * 2012-07-05 2016-11-02 株式会社クリプト・ベーシック 暗号化装置、復号化装置、及びプログラム
US20170063530A1 (en) * 2013-08-13 2017-03-02 Michael Stephen Fiske NADO Cryptography with Key Generators
US20160234009A1 (en) * 2015-02-08 2016-08-11 Wenhua Li Chaotic Baseband Modulation Hopping Based Post-Quantum Physical-Layer Encryption
GB2549981B (en) * 2016-05-05 2018-10-10 Jung Tjhai Cen A public key cryptosystem based on the partitioning of elements of vectors
US10581604B2 (en) * 2017-10-17 2020-03-03 Comsats Institute Of Information Technology Post-quantum cryptographic communication protocol
JP6988912B2 (ja) * 2017-11-29 2022-01-05 日本電信電話株式会社 鍵交換システム、端末装置、鍵交換方法、プログラム、および記録媒体
CN108173651A (zh) * 2018-02-11 2018-06-15 众算(上海)数据科技有限公司 一种自有后量子密钥分配方法
DE102018108313A1 (de) * 2018-04-09 2019-10-10 Infineon Technologies Ag Verfahren und Verarbeitungsvorrichtung zum Ausführen einer kryptografischen Operation auf Gitterbasis
US11456877B2 (en) * 2019-06-28 2022-09-27 Intel Corporation Unified accelerator for classical and post-quantum digital signature schemes in computing environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998008323A1 (en) * 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
CN107483206A (zh) * 2017-09-30 2017-12-15 北京兵符科技有限公司 一种快速的量子安全的非对称加密方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792305A (zh) * 2021-08-18 2021-12-14 广州城建职业学院 加密解密方法、系统、设备及计算机可读存储介质
CN113792305B (zh) * 2021-08-18 2023-11-14 广州城建职业学院 加密解密方法、系统、设备及计算机可读存储介质

Also Published As

Publication number Publication date
KR102354456B1 (ko) 2022-01-21
US11218308B2 (en) 2022-01-04
JP7053537B6 (ja) 2023-12-20
US20200106606A1 (en) 2020-04-02
JP2022059057A (ja) 2022-04-12
KR20200036727A (ko) 2020-04-07
TW202013927A (zh) 2020-04-01
TWI672932B (zh) 2019-09-21
CN110958112B (zh) 2022-06-28
JP7053537B2 (ja) 2022-04-12
JP2020052393A (ja) 2020-04-02
EP3629517A1 (en) 2020-04-01

Similar Documents

Publication Publication Date Title
CN110958112B (zh) 密钥产生方法及系统、加密及解密方法、加密通信系统
US9172529B2 (en) Hybrid encryption schemes
KR100930577B1 (ko) 스트림 암호를 이용한 메시지 인증 코드 생성 방법과스트림 암호를 이용한 인증 암호화 방법 및 스트림 암호를이용한 인증 복호화 방법
CN110011995B (zh) 多播通信中的加密和解密方法及装置
RU2691253C2 (ru) Nado криптография с генераторами ключей
CN110505062B (zh) 一种应用于联盟链的动态椭圆曲线加密方法
CN111010276A (zh) 一种多方联合sm9密钥生成、密文解密方法与介质
WO2020162982A1 (en) End-to-end double-ratchet encryption with epoch key exchange
Mahesh et al. Design of new security algorithm: Using hybrid Cryptography architecture
CN110855425A (zh) 一种轻量级多方协同sm9密钥生成、密文解密方法与介质
CN111030801A (zh) 一种多方分布式的sm9密钥生成、密文解密方法与介质
CN111416710B (zh) 一种应用于多接收端的无证书可搜索加密方法和系统
Wang et al. D-NTRU: More efficient and average-case IND-CPA secure NTRU variant
Hoobi Efficient hybrid cryptography algorithm
Liu et al. Compact-LWE: Enabling practically lightweight public key encryption for leveled IoT device authentication
Das et al. An efficient method for text encryption using elliptic curve cryptography
JP2006227411A (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
Balasubramanian Hash functions and their applications
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
CN114362926B (zh) 基于密钥池的量子保密通信网络密钥管理通信系统及方法
AU2018101646A4 (en) An apparatus and method to prevent man in the middle attack in elliptical curve Diffie Hellman protocol for key pair establishment in embedded IoT devices and communication
Colaco et al. A random oriented identity based encryption process
JP3240723B2 (ja) 通信方法、秘密通信方法及び署名通信方法
Rajeshwaran et al. Secured Cryptosystem for Key Exchange

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