CN109792383A - 用于使用几何代数的增强的以数据为中心的加密系统的方法和系统 - Google Patents
用于使用几何代数的增强的以数据为中心的加密系统的方法和系统 Download PDFInfo
- Publication number
- CN109792383A CN109792383A CN201780059612.XA CN201780059612A CN109792383A CN 109792383 A CN109792383 A CN 109792383A CN 201780059612 A CN201780059612 A CN 201780059612A CN 109792383 A CN109792383 A CN 109792383A
- Authority
- CN
- China
- Prior art keywords
- vector
- computing device
- shared secret
- message
- ciphertext
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 198
- 230000002708 enhancing effect Effects 0.000 title 1
- 230000021615 conjugation Effects 0.000 claims abstract description 20
- 239000013598 vector Substances 0.000 claims description 694
- 230000008569 process Effects 0.000 claims description 90
- 238000004422 calculation algorithm Methods 0.000 claims description 62
- 230000009467 reduction Effects 0.000 claims description 36
- 230000005540 biological transmission Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000009792 diffusion process Methods 0.000 claims description 12
- 230000000873 masking effect Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims 1
- 230000007480 spreading Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 31
- 238000004364 calculation method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 19
- 238000012856 packing Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 7
- 238000013478 data encryption standard Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000010399 physical interaction Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- HYIMSNHJOBLJNT-UHFFFAOYSA-N nifedipine Chemical compound COC(=O)C1=C(C)NC(C)=C(C(=O)OC)C1C1=CC=CC=C1[N+]([O-])=O HYIMSNHJOBLJNT-UHFFFAOYSA-N 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000005956 quaternization reaction Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/722—Modular multiplication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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 symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了用于使用几何代数来加密和解密数据消息的方法和系统。在源计算设备上执行的加密操作使用从数据消息的明文/数据创建的多重向量与携带加密密钥、源的身份和/或其他以数据为中心的信息的一个或多个其他多重向量的几何乘积(克利福德乘积)。源计算设备将加密消息发送到目的地计算设备。在目的地计算设备上执行的解密操作通过采用诸如多重向量逆、克利福德共轭等的几何代数运算以及几何乘积来恢复原始消息多重向量,并且最终恢复原始数据消息。各种实施例可以采用消息和加密/共享秘密密钥的几何乘积,或者各种实施例可以利用几何乘积“三明治”和/或基于多重向量的西尔维斯特等式来增加加密系统的混淆和/或扩散。
Description
相关申请的交叉引用
本申请基于并要求享有以下申请的优先权:于2016年8月2日提交的题为“Methodsand Systems for Enhanced Data-Centric Encryption Systems Using GeometricAlgebra”的序列号为62/370,183的美国临时申请;于2017年1月30日提交的题为“Methodsand Systems for Enhanced Data-Centric Encryption Additive Homomorphic SystemsUsing Geometric Algebra”的序列号为62/452,246的美国临时申请;以及于2017年4月7日提交的题为“Methods and Systems for Enhanced Data-Centric ScalarMultiplicative Homomorphic Encryption Systems Using Geometric Algebra”的序列号为62/483,227的美国临时申请;针对它们所公开和教导的所有内容,所有这些申请都通过引用明确地并入本文。
背景技术
在过去的几十年中,个人计算机和其他消费者计算设备(例如,手持设备和智能电话)已经在普通公众之中普遍存在。随着个人计算机的激增和其他计算设备变得普及,经由各种电子联网通信系统,不同计算机/计算设备之间的互连通信增加了计算机和其他计算设备的有用性。随着可公开访问的因特网的出现以及用于因特网上的计算机和/或其他计算设备之间的公共通信的万维网(WWW)的建立,私人识别和财务信息在可公开访问的因特网上传输变得普遍。为了确保私人信息不被不对私人信息知情的各方访问,已经对在因特网上传输的私人数据应用了各种加密技术。由于数据存储已变得可通过联网技术(包括在可公开访问的因特网上)访问,所有以加密格式存储敏感数据已变得谨慎。
现代加密采用操纵正整数或二进制比特的数学技术。诸如RSA(Rivest-Shamir-Adleman)之类的非对称加密依赖于数量理论上的单向函数,所述函数可预测地难以分解,并且随着加密密钥的大小不断增加而变得更加困难。诸如DES(数据加密标准)和AES(高级加密标准)之类的对称加密使用寄存器内的比特操纵来混洗密文以增加“扩散”以及用共享密钥进行基于寄存器的操作以增加“混淆”。扩散和混淆是用于增加正被传送的数据有效载荷的统计熵的措施。加密中的扩散和混淆的概念通常归于由克劳德·香农在20世纪40年代首次发现。扩散通常被认为使得从加密(密文)数据生成未加密(明文)数据的数学过程变得复杂,因此,通过跨若干段加密(密文)数据扩展每段未加密(明文)数据的影响来使得难以发现加密过程的加密密钥。因此,具有高扩散度的加密系统通常将改变加密(密文)数据的若干字符,这是因为更改未加密(明文)数据中的单个字符使得攻击者难以识别未加密(明文)数据的变化。混淆通常被认为是模糊未加密(明文)数据和加密(密文)数据之间的关系。因此,具有高度混淆的加密系统将需要一种过程,所述过程以以下方式将未加密的(明文)数据彻底地改变成加密的(密文)数据:即使在攻击者知道加密方法(例如,RSA、DES和/或AES的公共标准)的操作时,仍然难以演绎出加密密钥。
发明内容
本发明的实施例可以包括一种用于将数字消息数据(M)从源计算设备加密传输到目的地计算设备的方法,所述方法包括:根据对于所述源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,由所述源计算设备将所述数字消息数据(M)分配到消息多重向量的系数中;根据对于所述源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,由所述源计算设备将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算具有对所述数字消息数据的访问权的其他设备保密;根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,由所述源计算设备加密密文多重向量由所述源计算设备将所述密文多重向量发送到所述目的地计算设备;由所述目的地计算设备接收由所述源计算设备发送的所述密文多重向量根据所述共享秘密系数分配算法,由所述目的地计算设备将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量以及根据所述消息数据系数分配算法的反向操作,由所述目的地计算设备将所述消息多重向量转换成所述消息数字数据(M)。
本发明的实施例还可以包括一种用于在源计算设备上加密数字消息数据(M)以便促进将加密数据从所述源计算设备传输到目的地计算设备的方法,所述方法包括:根据对于所述源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,由所述源计算设备将所述数字消息数据(M)分配到消息多重向量的系数中;根据对于所述源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,由所述源计算设备将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算具有对所述数字消息数据的访问权的其他设备保密;根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,由所述源计算设备加密密文多重向量以及由所述源计算设备将所述密文多重向量发送到所述目的地计算设备。
本发明的实施例还可以包括一种用于在目的地计算设备上将密文多重向量解密回数字消息数据(M)以便促进将加密数据从源计算设备传输到所述目的地计算设备的方法,所述方法包括:由所述目的地计算设备接收由所述源计算设备发送的所述密文多重向量根据所述共享秘密系数分配算法,由所述目的地计算设备将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量以及根据所述消息数据系数分配算法的反向操作,由所述目的地计算设备将所述消息多重向量转换成所述消息数字数据(M)。
本发明的实施例还可以包括一种用于数字消息数据(M)的加密传输的增强的以数据为中心的加密(EDCE)系统,所述EDCE系统包括:源计算设备,其中,所述源计算设备还包括:源数字消息分配子系统,其根据对于所述源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,将所述数字消息数据(M)分配到消息多重向量的系数中;源数字共享秘密分配子系统,其根据对于所述源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算具有对所述数字消息数据的访问权的其他设备保密;源加密子系统,其根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,加密密文多重向量源发送子系统,其将所述密文多重向量发送到所述目的地计算设备;以及目的地计算设备,其中,所述目的地计算设备还包括:目的地接收子系统,其接收由所述源计算设备发送的所述密文多重向量目的地数字共享秘密分配子系统,其根据所述共享秘密系数分配算法,将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;目的地解密子系统,其根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,将所述密文多重向量解密回所述消息多重向量以及目的地转换多重向量子系统,其根据所述消息数据系数分配算法的反向操作,将所述消息多重向量转换成所述消息数字数据(M)。
本发明的实施例还可以包括一种增强的以数据为中心的加密(EDCE)源计算设备,其用于加密数字消息数据(M)以便促进将加密数据从所述EDCE源计算设备传输到目的地计算设备,所述EDCE源计算设备包括:源数字消息分配子系统,其根据对于所述EDCE源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,将所述数字消息数据(M)分配到消息多重向量的系数中;源数字共享秘密分配子系统,其根据对于所述EDCE源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述EDCE源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算不打算具有对所述数字消息数据的访问权的其他设备保密;源加密子系统,其根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,加密密文多重向量以及源发送子系统,其将所述密文多重向量发送到所述目的地计算设备。
本发明的实施例还可以包括一种增强的以数据为中心的加密(EDCE)目的地计算设备,其用于将密文多重向量解密回数字消息数据(M)以便促进将加密数据从源计算设备传输到所述EDCE目的地计算设备,所述EDCE目的地计算设备包括:目的地接收子系统,其接收由所述源计算设备发送的所述密文多重向量目的地数字共享秘密分配子系统,其根据所述共享秘密系数分配算法将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;目的地解密子系统,其根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,将所述密文多重向量解密回所述消息多重向量以及目的地转换多重向量子系统,其根据所述消息数据系数分配算法的反向操作将所述消息多重向量转换成所述消息数字数据(M)。
附图说明
在附图中,
图1是用于实施例的硬件实施方式的框图。
图2是用于实施例的一般操作的流程图。
图3A是用于实施例的源计算设备对称密钥操作的流程图。
图3B是用于实施例的目的地计算设备对称密钥操作的流程图。
图4A是用于实施例的源计算设备对称密钥和密文屏蔽操作的流程图。
图4B是用于实施例的目的地计算设备对称密钥和密文屏蔽操作的流程图。
图5是通过使用几何乘积“三明治”的增强的以数据为中心的加密(EDCE)加密/解密的实施例的流程图。
图6是用于通过使用西尔维斯特等式EDCE的加密/解密和/或用于EDCE安全消息序列索引的实施例的流程图。
图7是示出用于实施例的从原始共享秘密多重向量生成/提取/获得第二共享秘密密钥的框图。
具体实施方式
实施例可以有利地利用几何代数来提供对数字消息的加密和解密,所述数字消息将通过中间计算系统(例如,当前基于广泛的计算系统,并且通常称为云或云计算)传送并且可能由所述中间计算系统存储。执行使用基于几何代数的加密/解密从源/发送器系统到目的地/接收器系统安全地传送数据的加密/解密功能的几何代数加密/解密系统的实施例可以被称为增强的以数据为中心的加密(EDCE)系统。
几何代数是描述旨在数学地表示物理世界中的对象的物理交互的上下文中的向量和其他对象的几何交互的数学领域。将几何代数用于密码学代表了几何代数的新的人造用途,其目的完全在用于表示对象在真实的物理世界中的物理交互的几何代数的自然基础外部。如本文使用的,该数学领域包括几何代数、共形几何代数和克利福德代数(在本文中统称为“几何代数”)。通常,几何代数定义诸如几何乘积、反转和识别(identities)之类的操作,所述操作促进本文公开的示例性EDCE系统实施例的实施例的许多特征。此外,几何代数允许将数据组织和表示成多重向量的“有效载荷”,其中,有效载荷中的数据可以表示例如明文、密文或识别签名。因此,EDCE系统的实施例有益地使用几何代数属性来以相对地在计算上简单的方式提供加密和解密操作,同时仍然为运动中的数据和静止的数据(例如,存储在云中的数据)提供鲁棒的安全性。
当通过中间计算系统传输加密数据时(例如,用基于云的计算来完成),加密数据值可以存储在中间计算系统上直到用户想要的时候或者附接到网络以允许经由中间计算系统从源计算设备递送加密数据值。替代地,一旦中间计算系统接收到主题加密数据值,加密数据值就可以由中间计算系统立即转发到目的地计算设备。然而,如本领域技术人员将认识到的,在中间计算系统处接收加密数据值的过程固有地包括将加密数据值存储在中间计算系统处,即使仅在中间计算系统的计算子系统的即时使用和擦除的随机存取存储器(RAM)位置或操作寄存器位置中短暂存储。
EDCE系统实施例的实施例可以包括功能块,每个所述功能块可以根据范围、能力和安全性的目的如以下更详细描述的来定制。下面的部分提供了对这些功能块的数学和数字描述。
为了帮助将本文的复杂主题的潜在混淆最小化,以下描述已被分解以单独地涵盖关于EDCE系统的实施例的各种基础话题。鉴于此,第1节提供了对EDCE系统的基本操作的实施例的一般描述。第2节提供了对基础EDCE系统的实施例的附加描述,包括将信息打包到多重向量中、对这样的多重向量的加密和解密、以及用于恢复原始信息的解包。附录A提供了几何代数概述。通常,在本说明书中,如典型惯例的,对于特定操作示例,Alice和Bob分别用于发送/源和接收/目的地实体。因此,本公开的布置可以总结如下:
第1节:综述EDCE消息加密/解密综述
A.用于EDCE实施例的硬件实施方式(图1)
B.综述EDCE操作流程图(图2-4)
第2节:EDCE消息加密/解密的附加说明
A.包装和解包多重向量
1)文本到数字
2)数字到文本
3)多重向量数据结构
4)数字到多重向量
5)多重向量到数字
B.共享秘密
C.密文创建
D.解密
E.EDCE流程图(图5-6)
F.根据0-刀片减少操作(0-Blade Reduction Operation)的对
称密钥对加密/解密(图7)
*0-刀片减少操作
*几何代数加密原语
*用3维双重共享秘密加密和解密的数值示例
G.使用几何代数和算术函数的不可破译的原语
*具有秘密共享和3D多重向量的示例
附录A:几何代数概述
第1节:综述EDCE消息加密/解密
随着因特网和多种形式的移动设备的到来,加密数据量正呈指数级增长。像“拇指驱动器”、“智能卡”和固态磁盘(SSD)之类的便携式设备包含明文“无源”数据存储装置和/或加密的“无源”数据存储装置二者。在用于物联网(IoT)的微型设备以及服务器机群中的大型存储器中可以找到无源数据存储装置。
当数据离开存储装置时,当它处于运动中时,它更容易受到攻击。当前的加密技术尚未与网络安全基础设施一起发展,并且它们不适合于运动中的大量数据。随着我们向“云计算”迈进,随着移动设备将我们推向“无周边”网络安全,该行业正逐渐远离仅信任网络、服务器或应用的安全性,并且专注于以数据为中心的加密。对于以数据为中心的加密和认证,存在控制随数据一起传播,而不仅仅发生在网络中的应用层或最终目的地处。
然而,该运动中数据的流动性随着计算密集的数学运算而停滞,所述数学运算仍然在当前加密基础设施的核心处。诸如RSA(Rivest-Shamir-Adleman)、DES(数据加密标准)和/或AES(高级加密标准)之类的密码只不过是降低通信效率的静态“机械”。实际问题大得多。如何在以下情况下提供鲁棒的安全性:
a)端点计算资源是有限的(例如,物联网-IoT)。
b)加密/解密必须接近实时
c)必须不断重新确认源和目的地的身份验证
可以将实施例描述为增强的以数据为中心的加密,或称为EDCE。与现有的加密方案相比,EDCE在计算上简单的同时,在通信信道的跨度上提供鲁棒的安全性。EDCE安全性是可从小型嵌入式物联网(IoT)设备缩放到服务器机群。EDCE功能实现了显示出相对于当前方法的速度和带宽优势的许多密码方案。在数据的加密/解密中提供速度增强的EDCE的一个方面是EDCE加密/解密可以使用加法、减法、乘法和除法的基本算术运算来实现。值得注意的是,EDCE不需要选择大素数、计算对数函数、计算自然对数函数和/或计算其他复杂和计算密集的数学函数的复杂运算(即,本文公开的几何代数计算中不需要素数、对数、自然对数和/或其他复杂的数学运算)。
各种实施例的中心特征是对几何代数的使用,几何代数是以前在加密中未利用过的数学领域。如本文中使用的几何代数是包括几何代数、共形几何代数和克利福德代数(在本文中统称为“几何代数”)的数学领域。几何代数允许将数据组织和表示成多重向量的“有效载荷”,其中,数据可以是例如明文、密文或签名。几何代数定义了诸如几何乘积、反转和识别(identities)之类的运算,所述运算实现了各种实施例的加密/解密计算。
多重向量只是标量、向量、双向量等等直到n维向量的相加组合。然而,单位向量遵循四元数(Hamilton)的代数结构和非交换代数的代数结构(Grassman)。这两种类型的代数允许克利福德构思几何乘积,其由各种实施例用作EDCE系统的实施例的“原语”功能之一。
包括标量和向量的二维(2D)多重向量的示例是:
其中,是沿i轴的单位向量,表示由a12创建的区域的取向。在下文的“附录A”中更全面地讨论了对多重向量的几何代数的运算,但是一些一般性的观察可以有助于对以下公开的各种实施例的描述。首先,以上的多重向量中的每个ai值可以与信息一起“打包”,并且每个ai值的范围可以从零到非常大(例如,>256,000比特或整个消息)。其次,的逆乘以得到单位,或者说:
因此,如果创建了第二个多重向量并且传送了几何乘积则目的地可以通过以下方式恢复
对于各种实施例,“有效载荷”可以打包在标量值和多重向量元素的系数中。为了确保EDCE系统可以正常运转,必要的是具有一些对为多重向量选择的系数值的限制。例如,当所有多重向量系数相等时,对多重向量的有理化操作得到零。这样的具有全部相等的系数的多重向量不具有逆,并且具有与另一多重向量全部相等的系数的这样的多重向量的几何乘积不具有逆。如以下更详细讨论的,用于EDCE系统的解密方法利用正被解密的密文多重向量的逆和安全密钥多重向量的逆来执行解密。因此,正被解密的密文多重向量不应具有全部相等的值系数。用于确保正被解密的密文多重向量不具有全部相等的值系数的一种手段是使打包/系数分配方法确保在创建共享安全多重向量数据器和数据消息多重向量时并非全部系数彼此相等(即,至少一个系数应与其他系数不同)。对于简单地传输数据消息的EDCE的实施例,确保在创建共享安全多重向量和数据消息多重向量时并非全部系数彼此相等将确保待解密的密文多重向量将不具有全部相等的系数。
另外,可以出于许多目的编码单独的多重向量,例如共享秘密(以下定义)、认证信息和时间戳。除了消息的加密和解密之外,EDCE实施例的EDCE多重向量格式和几何代数基础可以使单个传输不仅仅包含密文,包括用于提高加密安全性的伪数据(dummy data),用于附加操作的命令指令,和/或其他操作的配置数据。
A.用于EDCE实施例的硬件实施方式(图1)
图1是用于实施例的硬件实施方式的框图100。第一计算设备102在电子网络/总线连接104上连接到第二计算设备106。在图1所示的实施例中,第一计算设备102充当源设备102,其在网络/总线连接104上发送加密消息108。第二计算设备106充当从网络/总线连接104接收加密消息108的目的地设备106。通常,包括加密通信的通信是双向的,以使得第一计算设备102和第二计算设备106可以改变作为源设备102和目的地设备106的角色,如对于容适在第一计算设备102和第二计算设备106之间来回传输数据而言必要的。
此外,如图1所示,第一计算设备102看起来是膝上型计算机,并且第二计算设备106看起来是平板设备。通常,能够在任何形式的电子网络或总线通信平台上进行通信的任何计算设备可以是第一计算设备102和第二计算设备106中的一个或两个。此外,第一计算设备106和第二计算设备106实际上可以是在内部总线连接104上与其自身通信的相同物理计算设备,但仍期望加密通信以确保攻击者不能监测内部通信总线104以获得未加密的格式的敏感数据通信。
各种实施例可以使用能够在第一计算设备102与第二计算设备106之间传输电子数据的任何通信信道104来实现网络/总线通信信道104。例如,网络/总线通信连接104可以是在从第一计算设备102到第二计算设备106的传送期间在一个或多个不同通信信道上路由的因特网连接。同样,网络/总线通信连接104可以是计算设备的内部通信总线,或者甚至是处理或存储器存储集成电路(IC)芯片的内部总线,例如存储器芯片或中央处理单元(CPU)芯片。网络/总线通信信道104可以利用能够传送电子数据通信的任何介质,所述电子数据通信包括但不限于:有线通信、无线电磁通信、光纤电缆通信、光/激光通信、声/声音通信等等,以及各种通信信道的任何组合。
各种实施例可以经由在第一计算设备102和/或第二计算设备106上运行的应用来提供本文详述的控制和管理功能。第一计算设备102和/或第二计算设备106可以均是计算机或计算机系统或者能够执行实施例的通信和计算的任何其他电子设备设备。第一计算设备102和第二计算设备104可以包括但不限于:通用计算机、膝上型/便携式计算机、平板设备、智能电话、工业控制计算机、数据存储系统控制器、CPU、图形处理单元(GPU)、专用集成电路(ASI)和/或现场可编程门阵列(FPGA)。值得注意的是,第一计算设备102和第二计算设备106可以是数据存储介质的存储控制器(例如,用于硬盘驱动器的控制器),以使得向/从数据存储介质递送的数据总是被加密以限制攻击者访问未加密数据的能力。实施例可以被提供为计算机程序产品,其可以包括其上存储有指令的计算机可读或机器可读介质,所述指令可以用于编程/操作计算机(或其他电子设备)或计算机系统以执行根据各种实施例的一个过程或多个过程。计算机可读介质可以包括但不限于硬盘驱动器、软盘、光盘、压缩盘只读存储器(CD-ROM)、数字多功能光盘ROM(DVD-ROM)、通用串行总线(USB)、记忆棒、磁光盘、ROM、随机存取存储器(RAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、磁光卡、闪速存储器、或者适于存储电子指令的其他类型的介质/机器可读介质。计算机程序指令可以驻留在单个计算机/电子设备上并在其上操作,或者各种部分可以分布在包括计算机系统的多个计算机/设备上。此外,实施例还可以作为计算机程序产品下载,其中,程序可以经由通信链路(例如,调制解调器或网络连接,包括有线/电缆和无线连接二者)以体现在载波或其他传播介质中的数据信号的方式从远程计算机传输到请求计算机。
B.综述EDCE操作流程图(图2-4)
图2是用于实施例的一般操作的流程图200。在过程206处,共享秘密数字数据值(SS)在源202和目的地204之间共享。各种实施例可以经由用户期望的任何手段在源202与目的地204之间共享共享秘密数字数据值(SS)。为了确保共享秘密数字数据值(SS)保密,可能的是某种类型的握手/设置加密密钥传送机制将被期望,以对共享秘密数字数据值(SS)进行共享。例如,共享秘密数字数据值(SS)可以通过包括但不限于以下的方式在源202与目的地204之间共享:用共享秘密数值(SS)、标准公钥/私钥交换技术、RSA(Rivest-Shamir-Adleman)密钥交换和/或Diffie-Hellman密钥交换(在下文中被更详细地公开)来预先调节源202计算设备和目的地204计算设备。此外,原始共享秘密可以是采用ASCII(美国信息交换标准码)的字母数字字符串或基于相关联的编码协议被转换成数值的另一编码协议,所述相关联的编码协议例如:ASCII、其他英语/字母编码系统、非字母语言的外语编码(例如,日语的片假名)、或者甚至纯符号到数值,例如表情符号(emoji)。然而,源202和目的地204二者都需要知道并使用相同的字母数字文本转换成数值过程,以确保源202和目的地204二者的结果相同。
在过程208处,源202基于原始文本的字母数字编码协议(例如,ASCII、其他英语语言/字母编码系统、非字母语言的外语编码(例如,日语的片假名)、或者甚至纯符号到数值,例用于如表情符号的)将消息中的任何字母数字文本转换成数字消息数据(M)。再次地,源202和目的地204二者都需要知道并使用相同的字母数字文本转换成数值过程,以确保源202和目的地204的结果相同。如果消息数据已经是数字形式的,则执行过程208不是必要的,这是因为原始数字消息数据(M)可以按原样使用。各种实施例可以用数字消息数据(M)来执行加密过程,所述数字消息数据(M)是但不限于:正数、负数、零、整数和/或实数。在过程210处,源202将数字消息数据(M)分配到消息多重向量系数中。加密系统将只用一个非零消息多重向量系数工作,但是存在的非零消息多重向量系数越多,加密将变得越强,所以期望的是具有多于一个的非零消息多重向量系数。在过程212处,源202将共享秘密数值(SS)分配到共享秘密多重向量系数中。再次地,加密系统将只用一个非零共享秘密多重向量系数工作,但是存在的非零共享秘密多重向量系数越多,加密将变得越强,所以期望的是具有多于一个的非零共享秘密多重向量系数。本领域技术人员将认识到,存在许多用于将数字数据分配到多重向量的若干系数中的方法(参见下文中的一些示例性打包/分配方法的公开内容)。对从消息(M)和共享秘密(SS)的数值到多重向量系数值(和)的分配过程的主要要求是源202和目的地204二者都知道过程210/222和212/224,以使得目的地204可以重建原始消息(M)。只要其对于源202和目的地204都是已知的,就可以在消息(M)和共享秘密(SS)之间不同地执行数字数据到多重向量系数的分配。此外,各种实施例可以针对消息和共享秘密二者用多重向量系数值执行加密过程,所述消息和共享秘密是但不限于:正数、负数、零、整数和/或实数。
再次地,对于各种实施例,“有效载荷”可以被打包在标量值和多重向量元素的系数中。为了确保EDCE系统可以正常运转,具有对为多重向量选择的系数值的一些限制是必要的。例如,当所有多重向量系数相等时,对多重向量的有理化操作得到零。这样的具有全部相等的系数的多重向量不具有逆,并且具有与另一多重向量全部相等的系数的这样的多重向量的几何乘积不具有逆。如以下更详细讨论的,用于EDCE系统的解密方法利用正被解密的密文多重向量的逆和安全密钥多重向量的逆来执行解密。因此,正被解密的密文多重向量不应具有全部相等的值系数。用于确保正被解密的密文多重向量不具有全部相等值系数的一种手段是使打包/系数分配方法确保在创建共享安全多重向量和数据消息多重向量时并非全部系数彼此相等(即,至少一个系数应与其他系数不同)。对于简单地传输数据消息的EDCE的实施例,确保在创建共享安全多重向量时并非全部系数彼此相等,并且数据消息多重向量将确保待解密的密文多重向量不具有全部相等的系数。
消息多重向量系数的分配(即,“打包”)和共享秘密多重向量的分配(即,“打包”)使用相同的方法来执行“打包”过程是不必要的。因此,共享秘密多重向量的分配(即,“打包”)可以以独立于消息多重向量系数的分配(即,“打包”)的任何方式执行,只要共享秘密多重向量的分配(即,“打包”)方法是已知的,并且由源202和目的地204计算设备一致地使用,这是因为最终由源202和目的地204使用的共享秘密多重向量应彼此相等,以确保解密操作226相对于加密214操作正常工作。同样,消息多重向量的分配(即,“打包”)可以以独立于共享秘密多重向量系数的分配(即,“打包”)的任何方式执行,只要消息多重向量的分配(即,“打包”)方法是已知的并且由源202和目的地204计算设备一致地使用,这是因为再次地最终由源202和目的地204针对消息多重向量使用相同“打包”方法将确保当将消息多重向量转换回文本时解密操作226相对于加密214操作正常工作。
值得注意的是,潜在系数的数量与多重向量的尺寸/维度(N)直接相关,以使得对于多重向量的尺寸/维度(N)的每次递增增加,系数的数量增加2倍(即,2N)。为了增加本文公开的加密过程的混淆和/或扩散,使用至少两个维度的多重向量将提供至少四个系数来分配消息(M)和共享秘密(SS)的数字数据。通过增加多重向量的维度数(N)超过二维多重向量,由于额外可用的多重向量系数,所以混淆和/或扩散安全特性也将增加。此外,用额外可用的系数,还可能使用额外可用的多重向量系数在单个多重向量消息有效载荷中传输更多数据。此外,附加可用的多重向量系数可以允许除了附加多重向量系数中的消息数据(M)之外还包括附加特征数据,例如但不限于:用于增加加密安全性的伪数据、用于附加操作的命令指令、以及用于其他操作的配置数据。
在过程214处,根据对消息多重向量和共享秘密多重向量的至少一个几何代数几何乘积运算,源202加密密文多重向量在过程216处,根据对于源202和目的地204二者都是已知的密文数据系数分配算法的反向操作,源202将密文多重向量转换成密文数字数据(C)。虽然对于大多数加密系统不是典型的,实施例也可以省略过程216并且直接发送密文多重向量的表示,而不首先将密文多重向量转换成密文数字数据(C)。传输可以被实现为系数的一系列传输,或者实现为定义携带密文多重向量的系数数据的数据结构的某种形式的记录/分组。通常,各种实施例将包括过程216,其用于将密文多重向量转换成密文数字数据(C),以便保持与传统和/或第三方系统的兼容性,并且用于获得将密文多重向量系数封装成单个密文数字数据(C)值的附加的混淆和扩散特性。如果使用过程216将密文多重向量转换成密文数字数据(C),则希望对密文多重向量操作的任何计算设备/系统有必要知道特定转换方法,以便计算设备/系统可以正确地重现密文多重向量
由于几何代数的几何乘积运算的性质,几何乘积应用存在许多可能的变型,其将提供类似程度的混淆和扩散。用于加密消息数据(M)的潜在几何乘积计算中的一些(但不是全部)包括:消息多重向量和共享秘密多重向量的几何乘积几何乘积“三明治(sandwitch)”以及基于多重向量的西尔维斯特等式在过程218处,源202将密文数字数据(C)发送到目的地204。
在过程220处,目的地204接收由源202发送的密文数字数据(C)。在过程222处,目的地使用对于源202和目的地204二者都是已知的密文数据系数分配算法将密文数字数据(C)分配到密文多重向量中。对于较不典型的实施例,如果省略了用于将密文多重向量转换成密文数字数据(C)的过程216,则也省略过程222,这是因为密文多重向量是直接传送的,因此无需将密文数字数据(C)转换回密文多重向量在过程224处,目的地204以与在过程212处对源202所做的相同的方式将共享秘密数值(SS)分配到共享秘密多重向量系数中。在过程226处,根据对密文多重向量和共享秘密多重向量的逆的至少一个几何代数几何乘积运算,目的地将密文多重向量解密回消息多重向量中。再次地,由于几何代数的几何乘积运算的性质,所以存在几何乘积应用存在许多可能的变型,其将提供类似程度的混淆和扩散。用于解密消息数据(M)的一些(但不是全部)潜在几何乘积计算包括:所述密文多重向量和所述共享秘密多重向量的所述逆的几何乘积几何乘积“三明治”(用于解密的);以及基于多重向量的西尔维斯特等式(用于解密的 )。在过程228处,根据在过程210处源202的消息数据系数分配算法的反向操作,目的地204将消息多重向量转换成消息数字数据(M)。在过程230处,如果必要,目的地202将数字消息数据(M)转换回原始字母数字文本消息,作为在步骤208处源202的过程的反转函数,所述过程使用标准计算机字符编码特性将该字母数字文本转换为数字消息数据(M)。
图3A是用于实施例的源计算设备对称密钥操作的流程图300。图2的源202的加密过程214还可以包括过程302-306,以使用对称共享秘密安全密钥来进一步增强实施例的安全性。例如,在过程302处,源计算设备可以通过对原始共享秘密多重向量执行0-刀片减少操作来从原始共享秘密多重向量生成/提取/获得第二共享秘密密钥以获得用于第二共享秘密密钥的标量数值。0-刀片减少操作可以被发现为原始共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何乘积与共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何乘积的几何反转的几何乘积在下文中可以找到对用于计算第二共享秘密密钥的0-刀片减少操作的进一步讨论。
在过程304处,源计算设备将第二共享秘密密钥数值分配到第二共享秘密多重向量系数中,其中,也不是全部系数都彼此相等(即,至少一个系数应与其他系数不同)。再次地,本领域技术人员将认识到,存在许多用于将数字数据分配到多重向量的若干系数中的方法(针对一种这样的分配方法的公开内容,参见下文)。对从第二共享秘密密钥的数值到第二共享秘密多重向量系数值的分配过程的主要要求是(图3A的)源计算设备和(图3B的)目的地计算设备二者都知道过程304/314,以使得目的地计算设备可以通过能够独立地从第二共享秘密密钥数值重现第二共享秘密多重向量来重建原始消息(M)。只要其对于源计算设备和目的地计算设备二者都是已知的,就可以在消息(M)、原始共享秘密(SS)和第二共享秘密密钥之间不同地执行数字数据到多重向量系数的分配。
在过程306处,根据对消息多重向量共享秘密多重向量和第二共享秘密多重向量的几何代数几何乘积运算,源计算设备加密密文多重向量再次地,由于几何代数的几何乘积运算的性质,存在几何乘积运算的许多可能的变型,其将提供类似程度的混淆和扩散。用于加密消息数据(M)的一些(但不是全部)潜在几何乘积计算包括:几何乘积“三明治”(用于加密的);以及基于多重向量的西尔维斯特等式(用于加密)。
图3B是用于实施例的目的地计算设备对称密钥操作的流程图310。图2的目的地204的解密过程226结合如以上关于图3A的公开内容中描述的源计算设备的操作,可以包括过程312-316,以使用对称共享秘密安全密钥进一步增强实施例的安全性。在过程312处,目的地计算设备可以通过对原始共享秘密多重向量执行0-刀片减少操作来从原始共享秘密多重向量独立地生成/提取/获得第二共享秘密密钥以获得第二共享秘密密钥的标量数值。再次地,0-刀片减少操作可以被发现为原始共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何乘积与共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何反转的几何乘积几何乘积还参见对用于计算第二共享秘密密钥的0-刀片减少操作的进一步讨论,其可以在下文中找到。
在过程314处,目的地计算设备还将第二共享秘密密钥数值分配到第二共享秘密多重向量系数中。再次地,本领域技术人员将认识到,存在许多用于将数字数据分配到多重向量的若干系数中的方法(针对一种这样的分配方法的公开内容,参见下文)。再次地,对从第二共享秘密密钥的数值到第二共享秘密多重向量系数值的分配过程的主要要求是(图3A的)源计算设备和(图3B的)目的地计算设备二者都知道过程304/314,以使得目的地计算设备可以通过能够独立地从第二共享秘密密钥数值重现第二共享秘密多重向量来重建原始消息(M)。只要其对于源计算设备和目的地计算设备二者都是已知的,就可以在消息(M)、原始共享秘密(SS)和第二共享秘密密钥之间不同地执行数字数据到多重向量系数的分配。
在过程316处,根据对密文多重向量原始共享秘密多重向量的逆和第二共享秘密多重向量的逆的几何代数几何乘积运算,目的地计算设备将密文多重向量解密回消息多重向量再次地,由于几何代数的几何乘积运算的性质,存在几何乘积运算的许可能的变型,其将提供类似程度的混淆和扩散。用于解密消息数据(M)的一些(但不是全部)潜在几何乘积计算包括:几何乘积“三明治”(用于解密的以及基于多重向量的西尔维斯特等式(用于解密的对其的选择基于用于加密消息数据(M)的几何乘积计算。
图4A是用于实施例的源计算设备对称密钥和密文屏蔽操作的流程图400。类似于以上关于图3A的公开内容,图2的源202的加密过程214可以还包括过程402-406,以使用对称共享秘密安全密钥来进一步增强实施例的安全性。在过程402处,源计算设备可以通过对原始共享秘密多重向量执行0-刀片减少操作来从原始共享秘密多重向量生成/提取/获得第二共享秘密密钥以获得第二共享秘密密钥的标量数值。0-刀片减少操作可以被发现为原始共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何乘积与共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何乘积的几何反转的几何乘积在下文中可以找到对用于计算第二共享秘密密钥的0-刀片减少操作的进一步讨论。
在过程404处,源计算设备将第二共享秘密密钥数值分配到第二共享秘密多重向量系数中,其中,也不是全部系数彼此相等(即,至少一个系数应与其他系数不同)。再次地,本领域技术人员将认识到,存在许多用于将数字数据分配到多重向量的多个系数中的方法(针对一些这样的分配方法的公开内容,参见下文)。对从第二共享秘密密钥的数值到第二共享秘密多重向量系数值的分配过程的主要要求是(图4A的)源计算设备和(图4B的)目的地计算设备二者都知道过程404/416,以使得目的地计算设备可以通过能够独立地从第二共享秘密密钥数值重现第二共享秘密多重向量来重建原始消息(M)。只要其对于源计算设备和目的地计算设备二者都是已知的,就可以在消息(M)、原始共享秘密(SS)和第二共享秘密密钥之间不同地执行数字数据到多重向量系数的分配。
在过程406处,根据对消息多重向量共享秘密多重向量和第二共享秘密多重向量的几何代数几何乘积运算,源计算设备根据加密密文多重向量再次的,由于几何代数的几何乘积运算的性质,存在几何乘积运算的许多可能的变型,其将提供类似程度的混淆和扩散。用于加密消息数据(M)的一些(但不是全部)潜在几何乘积计算包括:几何乘积“三明治”(用于加密的);以及基于多重向量的西尔维斯特等式(用于加密的)。
在过程408处,在源计算设备将密文多重向量转换成密文数字数据(C)的的过程中(例如,参见以上关于图2的过程216的公开内容),根据对于(图4A的)源计算设备和(图4B的)目的地计算设备二者都是已知的密文数据系数分配算法的反向操作,首先将密文多重向量转换成预密码密文(C′)。然后,将预密码密文(C′)屏蔽为预密码密文(C′)和原始共享秘密数值(SS)的异或(C=C′XOR SS)以获得/创建密文数字数据(C)以发送到目的地计算设备。
图4B是用于实施例的目的地计算设备对称密钥和密文屏蔽操作的流程图410。在过程412处,在目的地计算设备将密文数字数据(C)分配到密文多重向量的系数中的过程中(例如,参见以上关于图2的过程222的公开内容),首先通过所发送的密文数字数据(C)和原始共享秘密数值(SS)的异或(C′=C XOR SS)进行取消屏蔽,以便在目的地计算设备上获得/创建预密码密文数字数据(C′)。然后,目的地计算设备使用对于源计算设备和目的地计算设备二者都是已知的密文数据系数分配算法将预密码密文数字数据(C′)分配到密文多重向量中。
图2的目的地204的剩余解密过程226结合如以上关于图4A的公开内容中描述的源计算设备的操作可以包括过程414-418,以使用对称共享秘密安全密钥来进一步增强实施例的安全性。在过程414处,目的地计算设备可以通过对原始共享秘密多重向量执行0-刀片减少操作来从原始共享秘密多重向量独立地生成/提取/获得第二共享秘密密钥以获得第二共享秘密密钥的标量数值。再次地,0-刀片减少操作可以被发现为原始共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何乘积与共享秘密多重向量和原始共享秘密多重向量的克利福德共轭的几何乘积的几何反转的几何乘积还参见对用于计算第二共享秘密密钥的0-刀片减少操作的进一步讨论,其可以在下文中找到。
在过程416处,目的地计算设备还将第二共享秘密密钥数值分配到第二共享秘密多重向量系数中。再次地,本领域技术人员将认识到,存在许多用于将数字数据分配到多重向量的多个系数中的方法(针对一种这样的分配方法的公开内容,参见下文)。再次地,对从第二共享秘密密钥的数值到第二共享秘密多重向量系数值的分配/打包过程的主要要求是(图4A的)源计算设备和(图4B的)目的地计算设备二者都知道过程404/416,以使得目的地计算设备可以通过能够独立地从第二共享秘密密钥数值重现第二共享秘密多重向量来重建原始消息(M)。只要其对于源计算设备和目的地计算设备二者都是已知的,就可以在消息(M)、原始共享秘密(SS)和第二共享秘密密钥之间不同地执行数字数据到多重向量系数的分配。
在过程416处,根据对密文多重向量原始共享秘密多重向量的逆和第二共享秘密多重向量的逆的几何代数几何乘积运算,目的地计算设备将密文多重向量解密回消息多重向量再次地,由于几何代数的几何乘积运算的性质,存在几何乘积运算的许多可能的变型,其将提供类似程度的混淆和扩散。用于解密消息数据(M)的一些(但不是全部)潜在几何乘积计算包括:几何乘积“三明治”(用于解密的);基于多重向量的西尔维斯特等式(用于解密的),对其的选择基于用于加密消息数据(M)的几何乘积计算。
另外,尽管以上关于图2-4描述的流程图和流程图细节描述了可以体现为方法或过程的方法,但是另一实施例可以被识别为计算机系统,和/或源计算机系统和目的地计算机系统,其通过实现以上关于图2-4的流程图和流程图细节描述的过程来加密数据、传输数据以及解密数据。此外,在描述加密数据、传输数据以及解密数据的计算机系统和/或源计算机系统和目的地计算机系统时,以上针对方法描述的一个或多个个别过程可以被分解,并且被表示为整个加密计算机系统的子系统。加密数据、传输数据以及解密数据的计算机系统和/或源计算机系统和目的地计算机系统的子系统可以全部或部分地指派给特定的硬件实现的系统,例如专用的专用集成电路(ASIC)或现场可编程门阵列(FPGA)。一个或多个子系统可以全部或部分地替代地被实现为定义计算机系统的操作的软件或固件指令,其具体涉及被实现为软件或固件指令的一个或多个子系统。软件或固件指令可以使得中央处理单元、存储器和/或计算机系统的其他系统特别地根据特定的一个或多个子系统指定的特征来运转。
第2节:对EDCE消息加密/解密的附加说明
以下公开内容提供了在执行EDCE实施例期间的操作和数据关系的简化示例。在该示例中示出和描述的数据量、数据类型和特定数据值并不意味着表示任何特定的真实系统,而是仅出于示出实施例的操作和数据关系的目的而提供。此外,以下描述的实施例并不意味着将操作限于特定数据类型、加密共享秘密密钥交换技术、文本到数字和反向转换技术、和/或数以及到多重向量系数指派技术。
除了利用几何代数几何乘积作为新颖的加密原语之外,各种实施例还可以包括功能块,每个所述功能块可以根据对范围、能力和安全性的目的进行定制。下面小结提供了对这些功能块的一个或多个示例性实施例的数学和数字描述。示例中的数值结果通常源自以C编程语言执行的几何代数。
A.打包和解包多重向量
目录
1)文本到数字
2)数字到文本
3)多重向量数据结构
4)数字到多重向量
5)多重向量到数字
1)文本到数字
对于本文描述的示例性EDCE实施例,需要将每个文本消息转换为数字,以便成为对于所有EDCE计算有效的操作单元。对于本文所示的实施例,数字通常以基数10示出,但是各种实施例可以如由系统设计者期望的选择其他数字基数。例如,十六进制(基数16)表示在处理ASCII数字表示时可以提供特别的优势,这是因为标准ASCII具有基于数字0-127(即,27)的表示,其是一个小于由十六进制数xFF表示的典型8比特的2的幂(即,十六进制是28)。根据ASCII字符编码方案,诸如字母a、b、c等的符号以顺序格式(order format)(例如,二进制、十进制、八进制、十六进制等)表示,所述格式在ASCII可打印码表中被描述,其为表示格式之间关系的表格。因此,ASCII十进制码中的字母“a”、“b”和“c”分别为97、98和99。
作为示例,假设明文文本消息是“message”。在ASCII十进制码中,这表示如下:
m e s s a g e
109 101 115 115 97 103 101
用符号和十进制数之间的该关系,使用文本“message”从文本到基数为10的数字的转换如下执行:
变量n表示从文本到数字的转换的最终数。我们开始将该变量定义为零。所以,n=0。
然后,我们针对消息的每个字母创建具有ASCII十进制码的数组:
text=“message”
ASCII_array_from_“message”=[109,101,115,115,97,103,101]
该数组具有7个元素的大小,因此数组大小=7
然后,针对ASCII字符数组的每个值,在循环中,我们将(i)将n乘以256(我们选择256是因为它是大于ASCII可打印码表中的
最大数的2的幂,所以我们预留8比特的空间,这是因为28=256)(ii)与等效的ASCII十进制码求和,将结果指派给相同的初始n变量,如
下所示:
For i=0;i<array_size;i++
n=n*256+ascii_array_from_message[i]
注意以下每次迭代的细节:
通过执行以上计算,n的最终值为:30792318992869221
因此,作为基数为10的数字的明文“message”等于30792318992869221。一旦我们具有基数为10的数字,就可能执行本文描述的用于消息加密的计算。如果被期望,可以在该步骤处通过对ASCII码执行变换(例如,加法或模运算)来添加熵。在随后的示例中不使用这样的熵添加变换。
2)数字到文本
在执行各种计算之后,发送和接收基数为10的数字。根据消息多重向量的以上示例,系数被连接以形成数字字符串。该数字字符串的“数字到文本”转换过程还使用ASCII可打印代码表,但恢复例程与“文本到数字”转换不同。流程描述如下:
我们从变量s开始,变量s是空字符串,其将成为从输入数字恢复的最终文本。(注意:符号““””来自C语言,表示空字符串)
s=“”
输入的数字是30792318992869221。
n=30792318992869221
现在,我们执行循环直到n被“清空”,这是因为该数字指的是实际的文本消息。这意味着当n等于零时,循环将停止。在每次循环迭代中,我们将从最后一个到第一个恢复与我们正在检索的文本相对应的每个ASCII十进制码。为此,我们将使用值0xFF(其为十六进制格式为或基数为16的256-1)执行按位与(AND)运算。我们将代码转换为字符符号并且与当前字符串连接,始终将最新恢复的字符放在字符串的前面。最后,我们将通过执行8比特右移来更新n的值。
假设函数“get_char”将ASCII十进制码转换为字符符号。
流程如下:
while n>0
s=get_char(n AND 0xFF)+s
注意以下每次迭代的细节:
s=“”
n=30792318992869221
while n>0
s=get_char(n AND 0xFF)+s
因此,数字30792318992869221被转换为文本字符串“message”,其与原始明文一致。
3)多重向量数据结构
对于本文讨论的示例性实施例,基数为10的任何数字可以是多重向量元素的系数。多重向量可能包含任意数据或者是一系列操作的结果的数据。基数为10的数字也可以通过将该数字字符串的片段分配给多重向量中的系数而以多重向量形式表示。二维多重向量有4个元素/系数可用于打包该数字字符串的片段,3D多重向量有8个元素,4D多重向量有16个元素。EDCE已经被展示为多达7D。具有16个元素的4D多重向量写作:
4)数字到多重向量
给定基数为10的数字字符串30792318992869221,该字符串可以是例如2D多重向量的单个系数,如下所示:
0+30792318992869221e1+e2+e12
EDCE已经在被分配给多重向量元素的数字字符串超过4,000数位的情况下被展示。然而,我们示例中的基数为10的数字通常将在所有多重向量元素中以临时方式被“分配”,例如:
30792+31899e1+28692e2+21e12
以上分配被称为“数字到多重向量”。对于EDCE实施例,分配数字字符串的方法可以根据各种算法中的任何一种,只要方法是发送和接收实体二者已知的并由它们使用即可。为了增加加密“混淆”,分配算法可以包括对向元素指派的混洗,对被指派给元素的数字执行功能操作或者改变对话中的消息之间的算法。更多操作增加了加密熵。
再次地,对于各种实施例,“有效载荷”可以被打包在标量的值和多重向量元素的系数中。为了确保EDCE系统可以正常运转,具有对为多重向量选择的系数值的一些限制是有必要的。例如,当所有多重向量系数相等时,对多重向量的有理化操作得到零。这样的具有全部相等的系数的多重向量不具有逆,并且具有与另一多重向量全部相等的系数的这样的多重向量的几何乘积不具有逆。如以下更详细讨论的,用于EDCE系统的解密方法利用正被解密的密文多重向量的逆和安全密钥多重向量的逆来执行解密。因此,正被解密的密文多重向量不应具有全部相等的值系数。一种手段是确保正被解密的密文多重向量不具有全部相等的值系数,以使打包/系数分配方法确保在创建共享安全多重向量和数据消息多重向量时并非全部系数彼此相等(即,至少一个系数应与其他系数不同)。对于简单地传送数据消息的EDCE的实施例,确保在创建共享安全多重向量和数据消息多重向量时并非全部系数彼此相等将确保待解密的密文多重向量将不具有全部相等的系数。
另外,可以出于许多目的编码单独的多重向量,所述目的例如共享秘密(以下定义的)、认证信息和时间戳。除了对消息的加密和解密之外,EDCE实施例的EDCE多重向量格式和几何代数基础可以使得单个传送包含远多于仅仅是密文的内容,包括用于提高加密安全性的伪数据(dummy data)、用于附加操作的命令指令、和/或用于其他操作的配置数据。
在以下的EDCE实施例示例中使用的简单分配方法描述如下:令输入基数为10的数字字符串=30792318992869221。我们对数位计数并确定数字大小是17数位的。然后我们确定如何将这些数位分配给多重向量的元素。考虑到具有4个元素的2D多重向量,我们应用下面的等式:
其中,ep是“每个部分”的长度。
现在我们有原始的基数为10的数字和它的大小(17)、多重向量结构(2D,8个元素)和每个元素的长度(5)。现在我们需要将基数为10的数字“切片”,以便将每个部分分配为新多重向量的系数。
计算上,流程如下:
这将创建下面的多重向量:
30792+31899e1+28692e2+21e12
第一替代“数字到多重向量”分配方法:
为了增加熵,从数字到多重向量的转换可以包括对基数为10的数字表示的数位进行混洗的中间步骤。
和之前一样,令基数为10的数字=30792318992869221。虽然该数字的数位为奇数(17),但是它可以分成如下两个序列:
可以将序列混洗为n′,如下所示:
现在,n′是99286922130792318,这是要分配给多重向量的元素的新数字。n′的比特数=57。
下面的按位运算要求所涉及数字的最小幅度(>2n′中的比特数),以便正确地生成和恢复数据。为了满足这样的要求,我们需要找到与比特数n′相关的指数b,其必须是2的幂。由于n′的比特数等于57,我们使b等于下一个2的幂的数字,其为64。因此我们使用2b=264作为用于二进制运算的算术参数。
计算n″:
n″=(n′*2b+s1)*2b+s2
n″=(99286922130792318*264+992869221)*264+30792318
n″=33785588866960916932803988894906868159702738740312398462
将n″转换为多重向量将给出下面的2D多重向量表示:
为了从以上多重向量恢复原始数字,流程如下:
由于当前的多重向量是2D,我们将分两步恢复序列。步数等于序列数。为了恢复序列,我们将应用以下的等式,利用二元运算符与(AND)和>>(右移)。
n″=33785588866960916932803988894906868159702738740312398462
步骤1:
s1=n″AND(264-1)=30792318
步骤2:
s2=(n″>>64)AND(264-1)=992869221
现在,连接序列以恢复原始n=30792318992869221。
第二替代“数字到多重向量”分配方法:
用于打包多重向量系数的另一种关系是确保明文数字消息的多重向量表示的系数遵循明文数字消息的值与明文数字消息的多重向量表示的系数的值中的至少一个值之间的数学数据组织,其中,包含多重向量系数的一个或多个值的数学运算具有等于原始明文数字消息值的结果。该数学关系可以包括:加上多重向量系数的至少一个系数、减去多重向量系数的至少一个系数、机上常数值、减去常数值、将多重向量系数的至少一个系数乘以常数值、以及将多重向量系数的至少一个系数除以常数值。相对于多重向量表示中的系数的特定位置的各种数学运算的位置也应一致地应用于转换为多重向量的所有源数字数据消息以及转换为特定加密/解密通路中的结果数字数据值的结果多重向量。例如,对于包括加法和减法运算二者的数学关系,以及对于在多重向量表示中具有八个可能系数的三维多重向量(例如,c0、c1、c2、c3、c12、c13、c23和c123,如此编号以与关联于每个系数的单位向量相对应),如果在计算源数字数据消息转换为多重向量的数学关系的计算中减去e2和e12单位向量的系数(即,c2和c12),则目的地数字消息还应将c2和c12系数视为在用相同的数学关系进行多重向量到数字转换时被减去。实际上,使用数学关系从“打包”的数字数据消息多重向量的系数获得数值是相对简单和直接的。为了获得数字数据消息值,只需使用插入数学关系等式中的多重向量系数的值,针对数字数据消息多重向量数据执行数学关系等式。除了系数的数学关系内的加法和减法的位置之外,只要数学关系等于正被加密的原始数值,就可以如用户期望的选择系数的实际值。本领域技术人员将认识到,存在许多可能甚至无限多种方式来选择满足所述标准/限制的系数值,并且只要事实上所述标准/限制得到满足,那些方式中的每种方式就将创建令人满意的EDCE实施例。
处理特殊情况:
无论分配方法如何,任何系数中的前导数字必须为非零。例如,令要被转换为多重向量的数字为30792318990869221。应用以上示出的分配方法将得到:
30792+31899e1+08692e2+21e12
注意第三元素=08692e2。计算机将该数字视为8692。当从多重向量转换回数字时,我们将有3,079,231,899,869,221,而不是30,792,318,990,869,221,这不是相同的数字(仅为了可比较性而添加逗号)。
为了避免该结果,在算法中包括对系数的第一个数字为非零的验证是必要的。如果它为零,则该数字应被放置为多重向量的前一元素的系数中的最后一个数字。因此,将数字30792318990869221转换为2D多重向量的正确结果是:
30792+318990e1+8692e2+21e12
5)多重向量到数字
以下EDCE实施例中使用的分配方法描述如下:
对于以上公开的用于解析基数为10的数字的字符串表示以获得系数值的分配(即,“打包”)方法,将多重向量转换为基数为10的数字仅仅是连接多重向量的系数以便形成基数为10的数字的反转过程。
作为示例:
多重向量:30792+31899e1+28692e2+21e12变成:30792318992869221。
注意到,在本文的一些示例性实施例的核心EDCE协议中,仅传送基数为10的数字字符串,而不是多重向量,但是仅传送基数为10的数字字符串不是实施例的要求。在一些实施例中,可以使用诸如整数或浮点数据类型之类的数值变量表示来发送数字。此外,虽然对于大多数加密系统而言不是典型的,但是实施例还可以简单地跳过将多重向量转换成密文数字数据(C)的步骤,并且在不首先将密文多重向量转换成密文数字数据(C)的情况下直接发送密文多重向量的表示,而不是发送单个密文数字(C)。传送可以被实现为系数的一系列传送,或者被实现为定义携带密文多重向量的系数数据的数据结构的某种形式的记录/分组。如同更典型的加密系统的情况,如果将密文多重向量转换成密文数字数据(C)的过程用于将密文多重向量转换成密文数字数据(C),希望在密文多重向量上操作的任何计算设备/系统有必要知道特定转换方法,以使得计算设备/系统可以正确地重建密文多重向量
B.共享秘密
“共享秘密”是密码学中的基本要素。共享密钥实现两方或更多方之间的安全通信。对于各种实施例,共享秘密是其可以以以上所示的方式打包到多重向量中的数字的数字字符串。“共享秘密多重向量”可以用于对其他多重向量操作,例如创建共享秘密多重向量和消息多重向量的几何乘积。
已经在实践中使用各种方法来建立源与目的地之间的共享秘密。如本文所公开的,“共享秘密”数字到“共享秘密多重向量”的转换是完全新颖的。通信端点设备可以用仅为系统管理员所知的唯一标识符(数字字符串)来“预先调节”的。在诸如RSA之类的公钥/私钥环境中,共享秘密可以仅使用目的地的公钥由源加密。以下示例中使用的方法是Diffie-Hellman密钥交换协议。这是用于建立数字字符串共享秘密的方便的而广泛采用的方法。然而,任何安全地产生共享数字字符串的方法都适于与各种实施例一起使用。
Diffie-Hellman协议使用模p的整数乘法组(multiplicative group ofintegers modulo p)(例如,参见https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n),其中,p是素数(例如,参见https://en.wikipedia.org/wiki/Prime_number),并且g是原语根模p(primitive root modulo p)(例如,参见https://en.wikipedia.org/wiki/Primitive_root_modulo_n和https://en.wikipedia.org/wiki/Modular_arithmetic)。以该方式选择这两个值以确保得到的共享秘密可以采用从1到p-1的任何值。Diffie-Hellman的一个简单示例如下:
●Alice和Bob首先同意使用相同的根模p和基数g。
●Alice选择秘密整数a(Alice的口令)并且创建她的签名为
并将其发送给Bob。(注意:上标0是供以后使用的占位符,如果有的话。)
●类似地,Bob选择秘密整数b(Bob的口令)并且创建他的签名为
并将其发送给Alice。
●Alice和Bob能够如下地计算共享秘密密钥Ss:
○Alice计算
○Bob计算
●由Alice和Bob计算的密钥是相同的。这是共享秘密。
注意到,Diffie-Hellman协议不限于协商仅由两个参与者共享的密钥。任何数量的用户都可以通过执行协议的迭代和交换中间数据来参与协议。
数字示例
假设如下:
为了计算Alice的公共签名以及Bob的公共签名:
为了计算共享秘密,Alice和Bob二者都将执行下面的等式,其将为二者生成相同的值,因此共享秘密如Ss的引用:
Ss=374101092446920532886590141005
以上共享秘密字符串可以如之前一样被分配以创建共享秘密多重向量:
以类似的方式,Alice和Bob的和数字字符串可以以多重向量格式分配以创建和Alice和Bob的这些多重向量对于第2节中讨论的附加的EDCE安全功能是至关重要的。
C.密文创建
使用EDCE原语创建密文,EDCE原语是消息多重向量和一个或多个其他多重向量的几何乘积。在最基本的形式中,密文多重向量可以是消息多重向量和共享秘密多重向量的几何乘积。
流程定义如下。令明文消息为“this is a test.”通过应用“文本到数字”转换,我们将获得明文消息为数字:
2361031878030638688519054699098996
通过使用2D多重向量结构应用“数字到多重向量”转换,明文多重向量为:
使用以上确定的共享秘密多重向量:
密文多重向量可以定义为几何乘积:
使用用于计算以C编程代码实现的和的几何乘积的方法,以上描述的密文多重向量被计算如下:
为了作为有效载荷被传送,现在可以通过以上描述的“多重向量到数字”转换过程被转换为基数为10的数字。
C10=5649796324893205335999076139905242395250959838376115938268771181474
为了增加密文多重向量的熵,消息多重向量的几何乘积可以与多于一个其他多重向量一起使用,或者通过使用相同的多重向量两次以形成三明治,或者通过对相同共享秘密多重向量添加左右多重向量操作。这些类型的两个示例是和这些原语及其逆的使用在图3和图4的流程图中示出。
注意到,存在用于构建密文多重向量的若干替代方法。一种替代方案是使用诸如AES之类的传统对称密码对明文消息进行加密,将该密码的数字字符串输出转换为多重向量格式,并且使用该多重向来量计算与的几何乘积,其得到可以在向企业内的向EDCE转变期间实践该替代方案,以保持与传统加密系统的向后兼容性。
D.解密
由于Bob具有源的相同的共享秘密,所以他可以通过执行密文多重向量和共享秘密多重向量的逆的几何乘积来打开密文。当Bob接收到C10时,他将把适当的数字应用于多重向量转换,以获得:
为了恢复明文多重向量Bob确定了密文多重向量和共享秘密多重向量的逆的几何乘积。
给定确定的方法在附录A中被更详细地描述。其已被如下地计算:
因此,
多重向量转换为基数为10的数字:
M10=2361031878030638688519054699098996
最后,使用以上描述的“数字到文本”流程将该数字转换为文本,得到:
M明文="this is a test"
E.EDCE流程图(图5-6)
图5是用于通过使用几何乘积“三明治”来执行的增强的以数据为中心的加密(EDCE)加密/解密的实施例的流程图500。
设置(502):通过建立签名和共享秘密多重向量来发起序列。这里示出了Diffie-Hellman流程508,但是诸如RSA之类的其他非对称密钥密码可以用于生成仅对于源504和目的地506已知的数字字符串。替代地,端点设备可以用根据其构建会话多重向量的对于系统管理员已知的秘密(数字字符串)来“预先调节”。Diffie-Hillman流程508设置/创建共享秘密密钥510,然后设置502在多重向量设置512中创建Diffie-Hillman密钥510的多重向量。
源(504):在514处,通过将消息ASCII码连接到数字字符串然后将该数字分配给消息多重向量的系数,在创建消息操作514处构建消息多重向量516。分配给系数的方法使用源504和目的地506已知并由其使用的规定的算法。
然后通过计算消息和共享秘密多重向量的几何乘积来加密518消息多多重向量516。图5将密文多重向量520示出为几何乘积的“三明治”然后,将密文多重向量520的系数被连接成基数为10的数字字符串C(524),并且在电子网络/总线通信信道528上通过用户定义的分派功能526传送。
目的地(506):通过用户定义的操作530接收C(532),并使用规定的分配方法534将其转换回密文多重向量536。目的地506计算共享秘密多重向量的多重向量逆并且在解密等式538(例如,)中使用该结果,以恢复消息多重向量540。在542处,然后将消息多重向量540转换为数字字符串,然后转换为明文。
图6是用于通过使用西尔维斯特等式进行EDCE加密/解密的实施例的流程图600。
设置(602):通过建立签名和共享秘密多重向量来发起序列。这里示出了Diffie-Hellman流程608,但是诸如RSA之类的其他非对称密钥密码可以用于生成仅对于源604和目的地606已知的数字字符串。替代地,端点设备可以用可以根据其构建会话多重向量的对于系统管理员已知的秘密(数字字符串)来“预先调节”。Diffie-Hillman流程608设置/创建共享秘密密钥610,然后设置602在多重向量设置612中创建Diffie-Hillman密钥的多重向量612。
源(604):消息多重向量616在创建消息操作614处通过将消息ASCII码连接到数字字符串然后在614处将该数字分配给消息多重向量的系数来构建。分配给系数的方法使用源604和目的地606已知并由其使用的规定的算法。
然后通过计算消息和共享秘密多重向量的几何乘积来对消息多重向量616进行加密618。图6将密文多重向量示出为两个几何乘积之和然后,将密文多重向量620的系数连接到基数为10的数字字符串C(624),并且在电子网络/总线通信信道628上通过用户定义的分派功能626传送。
目的地(606):通过用户定义的操作630接收C(632),并使用规定的分配方法634将其转换回密文多重向量636。目的地606计算共享秘密多重向量的多重向量逆并在解密等式638(例如,用于解密的 )中使用该结果。在加密使用两个几何乘积之和的情况下,解密应用基于多重向量的“西尔维斯特等式”来恢复消息多重向量640。在642处,然后将消息多重向量640转换为数字字符串,然后转换成明文。
F.根据0-刀片减少操作的对称密钥对加密/解密(图7)
0-刀片减少操作
为了增加几何代数加密原语的安全性,可以使用对称共享秘密密钥对而不是单个共享秘密密钥。下面列出了可以用于从原始共享秘密数值密钥(SS)生成/提取/获得第二共享秘密多重向量的过程。
1.可以根据密钥交换流程(例如,但不限于Diffie-Hellman密钥交换过程)获得的原始共享秘密数值(SS)可以用作对称共享秘密密钥对的第一共享秘密数字密钥;
2.使用多重向量分配操作,可以将原始共享秘密数字密钥(SS)加载到多重向量表示中,所述多重向量表示可以被表示为
3.可以执行对原始共享秘密多重向量的0-刀片减少操作,以便提取/生成/获得是第二共享秘密数字密钥的标量值;
4.从0-刀片减少操作得到的标量(其已被定义为可以通过另一多重向量系数分配操作加载到多重向量中,其中,得到的多重向量是第二共享秘密多重向量
图7是示出用于实施例的从原始共享秘密多重向量704生成/提取/获得第二共享秘密多重向量密钥712的框图700。原始共享秘密多重向量704可以用于加密和解密数据,作为对称共享秘密多重向量密钥对的第一共享秘密多重向量密钥。对于几何代数加密原语702,原始共享秘密多重向量704由0-刀片减少操作706对其操作 0-刀片减少操作706得到第二共享秘密数字密钥708的标量值。数字到多重向量系数分配过程710将第二共享秘密数字密钥转换成第二共享秘密多重向量712。然后可以使用第二共享秘密多重向量来加密和解密数据,作为对称共享秘密多重向量密钥对的第二共享秘密多重向量密钥。
几何代数加密原语
原语1——“三明治”/三重乘积
加密
可以使用经由(在上文中描述的)0-刀片减少操作生成的密钥对通过几何乘积序列来创建第一加密原语,如下所示:
解密
解密过程使用先前定义的逆多重向量,如下所示:
原语2——基于多重向量的西尔维斯特等式
加密
这里采用了众所周知的西尔维斯特等式来生成第二加密原语,其还使用经由(在上文中描述的)0-刀片操作生成的对称加密密钥对,如下所示:
解密
解密操作涉及三维多重向量空间的西尔维斯特等式的闭式解,如下所示:
注意到,更高维度的解需要不同的公式。还注意到,如果使用加密/安全密钥交换(例如,但不限于本文中更详细讨论的Diffie-Hellman过程)来生成原始共享秘密(SS),则不存在原始共享秘密多重向量的传送,因此,不存在第二共享秘密多重向量的传送。还注意到,由于第二共享秘密多重向量是单向函数的结果,因此在以上几何代数加密原语操作中的任一操作中使用第二共享秘密多重向量进一步保证安全性。
用于在3维中用双重共享秘密的加密和解密的数字示例
令消息多重向量为:
并且令原始秘密多重向量为:
根据初始秘密多重向量通过应用0-刀片减少操作来创建标量,如下所示:
标量=2281454761
然后通过将标量转换为多重向量来创建第二秘密多重向量如下所示:
几何乘积“三明治”或几何三重乘积
为了加密多重向量计算几何乘积“三明治”,如下所示:
并且恢复消息多重向量如下所示:
基于多重向量的西尔维斯特等式
另一种用于加密消息多重向量的方法是应用基于多重向量的西尔维斯特等式:
并且恢复消息多重向量如下所示:
G.使用几何代数和算术函数的不可破译的原语
秘密共享和3D多重向量的示例
设置
多重向量可以充当几何代数对象,以使得存在多维和克利福德k-向量的分量。示例是:
它示出了分量:
a0=>标量——称为0-刀片或0-向量
用于秘密共享的典型但非仅有的算术函数是Diffie-Hellman函数,其基于具有元素g的循环组;例如:
SS=gabmod p
其中,SS是共享秘密,其可以由源侧和目的地侧二者使用,并且其中,操作gabmod p得到SS。这是网络安全领域中的标准。
不可破译的原语
给定消息M,在多重向量上分配M的数值内容。例如,令M被表示如下:
M=m1,m2,m3…mn
以使得mi是构成系数的放置的整数值的数字。然后:
注意到,其他多重向量变型也是可能的。
共享秘密SS以相同或相似的方式被改变为多重向量,例如:
SS=s11,s12,s13…s1n
被称为“0-刀片减少”的操作根据创建新标量作为第二共享秘密其中:
然后,被转换为多重向量,例如:
最后,基于多重向量的西尔维斯特等式可以用于创建密码。因此,密文多重向量C为:
这是因为是单向函数的结果,并且SS是共享秘密,当由0-刀片减少操作(其有时在本文中可以称为函数Zb())对其操作时,其变为其中嵌入了新的单向函数的新的结果。
到目前为止,加密可以对已知的密文攻击对具有敏感性。然而,如以下部分示出的,已经实现了最终的不可破译性。
具有不可破译的密码的加密原语:
原语1——“三明治”/三重乘积
加密
可以使用经由(以上描述的)0-刀片减少操作生成的密钥对通过一系列几何乘积来创建第一加密原语,如下所示:
为了向密文添加另一层安全性并且保证对标准密码分析(例如,已知的明文攻击)的不可破译性,执行以下操作可以有所帮助:
●最初为多重向量形式的密文被转换为数字C′
得到‘预密码’,在此被表示为C′。
●然后通过用共享秘密SS执行XOR运算来“屏蔽”该预密码C′
C=C′XOR SS
以获得最终的密码/密文C,其被发送到目的地计算设备。
解密
解密过程可以包括下面的步骤:
●在目的地计算设备处接收密文C。
●使用共享秘密SS从密文C恢复预密码密文C′,如下所示:
C′=C XOR SS
●将C′转换为多重向量,得到密文多重向量
●利用关于和的逆多重向量来恢复消息多重向量
原语2——基于多重向量的西尔维斯特等式
加密
这里可以采用基于多重向量的西尔维斯特等式来生成第二加密原语,其还使用经由(以上描述的)0-刀片减少操作生成的对称共享秘密密钥对,如下所示:
如以上针对具有“三明治”/三重乘积的加密原语所做的那样,通过使用与以上用于XOR屏蔽相同的过程来添加另一层安全性可以是有益的。
密码多重向量(其是以上基于多重向量的西尔维斯特等式的结果)被转换成数字,其由C′表示并被定义为预密码。该数字是要从源计算设备发送到目的地计算设备的信息。
解密
解密操作涉及基于多重向量的三维多重向量空间的西尔维斯特等式的闭式解,以及先前针对以上“三明治”/三重乘积描述的XOR“取消屏蔽”。总结的过程如下给出:
●将密文C接收为数字。
●使用共享秘密SS从密文C恢复预密码密文C′:
C′=C XOR SS
●将C′分配到密文多重向量的系数中:
●使用下面基于多重向量的西尔维斯特公式的闭形式解来恢复消息多重向量:
注意到,更高维度的解需要不同的公式。进一步注意到,如果使用加密/安全密钥交换(例如,但不限于本文中更详细讨论的Diffie-Hellman过程)来生成原始共享秘密(SS),则不存在原始共享秘密多重向量的传送,因此不存在第二共享秘密多重向量的传送。还注意到,由于第二共享秘密多重向量是单向函数的结果,所以在以上几何代数加密原语操作中的任一操作中使用第二共享秘密多重向量进一步保证了安全性。最终,尽可能确定,没有可行的方法或高计算机能力来找到SS、或其序列,其也可以使用其他几何代数操作以连续方式动态更新,以进一步增加安全性。
附录A:几何代数概述
几何代数将Hamilton(Quartenion)和Grassman(非交换代数)的工作结合到领域中,所述领域以通式表示两个向量的乘积,包括三维限制的“叉积”到向量空间(V)在数字域(等)上的n维子空间,以使得子空间是乘积空间,其允许两个向量具有“几何乘积”,如下所示:
其中,和是向量或多重向量(即:如以下定义的“刀片”的集合)。运算被称为“楔形积”或“外部积”。运算是“点积”或“内部积”(还被称为“内积”)。
对于一对简单的二维向量:
其中,集是单位基础向量而{ai},{bi},i=1,2是标量,几何乘积遵循几何代数的规则,如以下描述的:
(紧凑记法)
因此,通过执行和的几何乘积,我们得到:
得到:
乘积产生标量和对象其以紧凑记法表示为并且表示由顺时针旋转或逆时针的创建的区域。取向由分量前面的项的符号给出。
举个示例,令
使用以上描述的几何代数规则,我们可以计算和之间的几何乘积,以下所示:
另一种计算多重向量之间的几何乘积的方法结合了以上示出的点积和楔形积的规则,其中,在扩展一般几何乘积时我们定义了下面的规则:
(紧凑记法)
该方法用于计算机编码,以便加速几何乘积的计算。使用先前示例和这些规则的相同多重向量,和之间的几何乘积被计算如下:
多重向量和刀片的定义
描述形成多重向量的对象(或元素)的另一种方式是使用“刀片”或k-刀片的定义。在该约定中,在k=0时,我们有一个标量,在k=1时,我们有一个向量,在k=2时,我们有一个双向量,依此类推。
然后通过以下方式形成多重向量:
其中,n是多重向量的维度。
如先前示例所示,两个1-刀片多重向量的几何乘积得到0-刀片加2-刀片多重向量作为结果:
注意到,如果有人希望将标量t乘以多重向量则这将遵循分配原则,其给出
对于以上特定示例,将有:
向量或k-刀片的维数通常不限于k的函数。例如,我们可以用3-D、4-D或n-D向量容易地演示以上示例,例如这将得到“超立方体”,作为根据所得到的多重向量的楔形积部分创建的刀片的元素。
多重向量运算
实施例可以部分地依赖于几何代数多重向量运算的独特特性。这些运算之中的关键是:
其中,是的逆。存在若干重要的多重向量运算,其被应用以确定k-刀片多重向量逆:
(1)空间逆(写作)在基础向量的取向中改变为得到下面的一般刀片表示:
(2)反转(写作)翻转所有乘积的次序,以使得
注意到,标量或向量的次序不能被反转,这是因为不可能反转一个事物或没有事物的次序。例如,根据以上几何代数的规则,我们有一般刀片表示写作:
(3)克利福德共轭(写作)结合了空间逆和反转。定义克利福德共轭的一般刀片表示写作
多重向量的范数定义为
其中,运算符<>0仅选取与其反转之间的几何乘积的所得到的向量的0-刀片的元素。其也是与其反转之间的点积的结果。例如,定义2维多重向量
的反转是:
的范数根据以下公式计算:
从而,
2-刀片或3-刀片多重向量的幅度计算如下:
作为示例,考虑2-刀片多重向量:
的克利福德共轭被定义为:
通过首先计算几何乘积可以得到的幅度:
因此,
多重向量逆被定义为:
这给出了:
作为示例,再次考虑多重向量其逆计算如下:
因此,
其等于1,清楚地示出逆由此被证明了。
对于多重向量减少到1-刀片的子代数的特殊情况,也可以通过下面的关系使用反转来计算逆:
例如,考虑多重向量:
在该情况下的反转是:
这与原始的多重向量相同。如果我们计算逆,我们有
因为:
因此,如果我们计算我们得到:
出于应用目的,我们希望有单个公式来计算逆,并且我们选择第一个选项,其使用克利福德共轭运算。然而,当计算减少到偶数子代数的给定多重向量的逆时,可能从之间的几何乘积获得类似复数的数。复数理论中的常见运算是针对形式的复数通过以下方式进行“有理化分母”的过程:将顶部和底部乘以复共轭x-iy,其产生单个实数值分母可以针对多重向量复制该过程,其中,现在反转运算将起到复共轭的作用。这允许我们重写多重向量的逆等式,如下所示:
作为使用该通用公式的示例,令:
其克利福德共轭由下式给出:
使用前面描述的几何乘积的属性,我们计算以获得:
使用由克利福德共轭定义的原始逆公式,我们将有
该结果显然是类似复数的数,这是因为我们通过用其反转对顶部和底部执行几何乘积来将分母有理化,从而得到下式:
多重向量逆的使用对于各种实施例是重要的。用于计算逆的几何代数中的算法根据多重向量的空间维度n而变化。几何代数的该概述并非旨在穷举,而是仅足以讨论实施例特征和本文呈现的示例。对于更详尽的参考,参见[参考文献1]。
在签名、印章、递送的消息中使用西尔维斯特等式
在“签名和密封”密文的方法中,我们利用数学领域中众所周知的矩阵等式(其被称为西尔维斯特等式[参考文献2]),其由下式给出:
C=AX+XB
通过了解矩阵A、B和C,可能的是计算矩阵X的唯一解。出于我们的目的,我们对多重向量使用西尔维斯特等式的类似定义,如[参考文献1]所示
当在多重向量上定义线性函数时获得,其形式为:
这里西尔维斯特等式的元素被定义为:
●
●
●
●
类似于使用[参考文献2]中的四分体或矩阵的结果的解在[参考文献1]中给出为:
并且由目的地用来在解密过程之前解压缩密文。
[参考文献1]“Functions of Multivector Variables”,PLOS ONE|DOI:10.1371/journal.pone.0116943,2015年3月16日,James M.Chappell,Azhar Iqbal,LachlanJ.Gunn,Derek Abbott,电气学院电子工程,阿德莱德大学,阿德莱德,南澳大利亚,澳大利亚}
[参考文献2]JanovskáD,Opfer G(2008)Linear equations in quaternionicvariables.Mitt Math Ges Hamburg 27:223-234。
已经出于说明和描述的目的呈现了本发明的前述描述。其并非旨在穷举或将本发明限于所公开的精确形式,并且鉴于以上教导,其他修改和变型也是可能的。选择和描述实施例以便最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够在适合于预期的特定用途的各种实施例和各种修改中最好地利用本发明。除了受现有技术限制之外,本发明的所附陈述旨在被解释为包括本发明的其他替代实施例。
Claims (50)
1.一种用于将数字消息数据(M)从源计算设备加密传输到目的地计算设备的方法,所述方法包括:
根据对于所述源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,由所述源计算设备将所述数字消息数据(M)分配到消息多重向量的系数中;
根据对于所述源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,由所述源计算设备将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算具有对所述数字消息数据的访问权的其他设备保密;
根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,由所述源计算设备加密密文多重向量
由所述源计算设备将所述密文多重向量发送到所述目的地计算设备;
由所述目的地计算设备接收由所述源计算设备发送的所述密文多重向量
根据所述共享秘密系数分配算法,由所述目的地计算设备将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;
根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量以及
根据所述消息数据系数分配算法的反向操作,由所述目的地计算设备将所述消息多重向量转换成所述消息数字数据(M)。
2.如权利要求1所述的方法,其中,对几何代数几何乘积和多重向量的逆的求值是使用加法、减法、乘法和除法的基本算术运算在所述源计算设备和所述目的地计算设备上实现的。
3.如权利要求2所述的方法,其中,在所述源计算设备和所述目的地计算设备上对所述几何代数几何乘积和多重向量的逆的所述实现不包括选择素数、计算对数函数和/或计算自然对数函数的复杂运算。
4.如权利要求1的方法,还包括:
根据标准计算机字符编码特性,由所述源计算设备将原始字母数字文本消息转换成所述数字消息数据(M);以及
根据所述标准计算机字符编码特性,由所述目的地计算设备将所述数字消息数据(M)转换回所述原始字母数字文本消息。
5.如权利要求4所述的方法,其中,所述标准计算机字符编码特性是所述原始字母数字文本消息的文本字符的ASCII(美国信息交换标准码)码。
6.如权利要求1所述的方法,还包括使用已知的共享秘密技术在所述源计算设备与所述目的地计算设备之间建立所述共享秘密数值(SS)。
7.如权利要求6所述的方法,其中,所述已知的共享秘密技术包括从以下各项中选择的组中的至少一项:用所述共享秘密数值(SS)对所述源计算设备和所述目的地计算设备进行的预先调节、标准公钥/私钥交换技术、RSA(Rivest-Shamir-Adleman)密钥交换和Diffie-Hellman密钥交换。
8.如权利要求1所述的方法,其中,所述至少一个几何代数几何乘积运算包括从以下各项中选择的组中的至少一项:用于加密的所述消息多重向量和所述共享秘密多重向量的几何乘积以及用于解密的所述密文多重向量和所述共享秘密多重向量的所述逆的几何乘积几何乘积“三明治”(用于加密的和用于解密的以及基于多重向量的西尔维斯特等式(用于加密的以及用于解密的
9.如权利要求1所述的方法,其中,所述消息多重向量和所述共享秘密多重向量是至少二维多重向量。
10.如权利要求9所述的方法,其中,所述消息多重向量和所述共享秘密多重向量的维度大小(N)是至少二维的。
11.如权利要求10所述的方法,其中,对于所述维度大小(N)的每次增量增加,用于所述消息多重向量和所述共享秘密多重向量的系数的数量增加两倍(2N)。
12.如权利要求10所述的方法,其中,所述消息多重向量和所述共享秘密多重向量的所述维度大小(N)的超过二维多重向量的增加增加了所述数字消息数据从所述源计算设备到所述目的地计算设备的所述加密传输的混淆和/或扩散安全特性。
13.如权利要求10所述的方法,其中,所述消息多重向量和所述共享秘密多重向量的所述维度大小(N)的超过二维多重向量的增加增加了能够在用于所述消息多重向量的单个传输事务中传输的数据量,以使得所述消息多重向量中的附加系数支持能够在单个传输事务中传输的所述增加的数据量。
14.如权利要求10所述的方法,其中,所述消息多重向量和所述共享秘密多重向量的所述维度大小(N)大于二维,并且还包括对于每个数据传输在所述消息多重向量中包括附加特征数据,以使得大于二维的所述消息多重向量中的附加系数支持所述附加特征数据。
15.如权利要求14所述的方法,其中,所述附加特征数据包括从以下各项中选择的组中的至少一项:用于增加加密安全性的伪数据、用于附加操作的命令指令、以及用于所述附加操作的配置数据。
16.如权利要求1所述的方法:
其中,根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,由所述源计算设备加密所述密文多重向量的所述过程还包括:
由所述源计算设备生成第二共享秘密密钥作为所述共享秘密多重向量的0-刀片减少操作的标量结果;
根据对所述源计算设备和所述目的地计算设备二者都是已知的第二共享秘密系数分配算法,由所述源计算设备将所述第二共享秘密密钥分配到第二共享秘密多重向量的系数中;以及
根据对所述消息多重向量所述共享秘密多重向量和所述第二共享秘密多重向量的几何代数几何乘积运算,
由所述源计算设备加密所述密文多重向量并且
其中,根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量的所述过程还包括
由所述目的地计算设备生成所述第二共享秘密密钥作为所述共享秘密多重向量的所述0-刀片减少操作的标量结果;
根据所述第二共享秘密系数分配算法,由所述目的地计算设备将所述第二共享秘密密钥分配到所述第二共享秘密多重向量中;以及
根据对所述密文多重向量所述共享秘密多重向量的逆和所述第二共享秘密多重向量的逆的几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量
17.如权利要求16所述的方法,其中,所述0-刀片减少操作是所述共享秘密多重向量和所述共享秘密多重向量的克利福德共轭的几何乘积与所述共享秘密多重向量和所述共享秘密多重向量的所述克利福德共轭的所述几何乘积的几何反转的几何乘积
18.如权利要求16所述的方法,其中,所述几何代数几何乘积运算包括从以下各项中选择的组中的至少一项:几何乘积“三明治”(用于加密的以及用于解密的以及基于多重向量的的西尔维斯特等式(用于加密的以及用于解密的
19.如权利要求1所述的方法,其中,由所述源计算设备将所述密文多重向量发送到所述目的地计算设备并且由所述目的地计算设备接收由所述源计算设备发送的所述密文多重向量的所述过程还包括:
根据对所述源计算设备和所述目的地计算设备二者都是已知的密文数据系数分配算法的反向操作,由所述源计算设备将所述密文多重向量转换成密文数字数据(C);
由所述源计算设备将所述密文数字数据(C)发送到所述目的地计算设备;
由所述目的地计算设备接收由所述源计算设备发送的所述密文数字数据(C);以及
根据所述密文数据系数分配算法,由所述目的地计算设备将所述密文数字数据(C)分配到所述密文多重向量中。
20.如权利要求19所述的方法:
其中,根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,由所述源计算设备加密所述密文多重向量的所述过程还包括:
由所述源计算设备生成第二共享秘密密钥作为所述共享秘密多重向量的0-刀片减少操作的标量结果;
根据对于所述源计算设备和所述目的地计算设备二者都是已知的第二共享秘密系数分配算法,由所述源计算设备将所述第二共享秘密密钥分配到第二共享秘密多重向量的系数中;以及
根据对所述消息多重向量所述共享秘密多重向量和所述第二共享秘密多重向量的几何代数几何乘积运算,由所述源计算设备加密所述密文多重向量
其中,根据对于所述源计算设备和所述目的地计算设备二者都是已知的所述密文数据系数分配算法的反向操作,由所述源计算设备将所述密文多重向量转换成密文数字数据(C)的所述过程还包括:
根据对于所述源计算设备和所述目的地计算设备二者都是已知的所述密文数据系数分配算法的反向操作,由所述源计算设备将所述密文多重向量转换成预密码密文数字数据(C′);以及
由所述源计算设备通过与所述共享秘密数值(SS)的异或(C=C′XOR SS)屏蔽所述预密码密文数字数据(C′)以获得所述密文数字数据(C);
其中,根据所述密文数据系数分配算法,由所述目的地计算设备将所述密文数字数据(C)分配到所述密文多重向量中的所述过程还包括:
由所述目的地计算设备通过与所述共享秘密数值(SS)的异或(C′=C XOR SS)取消屏蔽所述密文数字数据(C)以获得所述预密码密文数字数据(C′);以及
根据所述密文数据系数分配算法,由所述目的地计算设备将所述预密码密文数字数据(C′)分配到所述密文多重向量中;并且
其中,根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量的所述过程还包括
由所述目的地计算设备生成所述第二共享秘密密钥作为所述共享秘密多重向量的所述0-刀片减少操作的标量结果;
根据所述第二共享秘密系数分配算法,由所述目的地计算设备将所述第二共享秘密密钥分配到所述第二共享秘密多重向量中;以及
根据对所述密文多重向量所述共享秘密多重向量的逆和所述第二共享秘密多重向量的逆的几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量
21.如权利要求20所述的方法,其中,所述0-刀片减少操作是所述共享秘密多重向量和所述共享秘密多重向量的克利福德共轭的几何乘积与所述共享秘密多重向量和所述共享秘密多重向量的所述克利福德共轭的所述几何乘积的几何反转的几何乘积
22.如权利要求20所述的方法,其中,所述几何代数几何乘积运算包括从以下各项中选择的组中的至少一项:几何乘积“三明治”(用于加密的以及用于解密的以及基于多重向量的西尔维斯特等式(用于加密的以及用于解密的
23.如权利要求1所述的方法,其中,所述数字消息数据(M)的数值、所述消息多重向量的系数和所述共享秘密多重向量的系数包括从以下各项中选择的组中的至少一项:正数、负数、零、整数和实数。
24.一种用于在源计算设备上加密数字消息数据(M)以便促进将加密数据从所述源计算设备传输到目的地计算设备的方法,所述方法包括:
根据对于所述源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,由所述源计算设备将所述数字消息数据(M)分配到消息多重向量的系数中;
根据对于所述源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,由所述源计算设备将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算具有对所述数字消息数据的访问权的其他设备保密;
根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,由所述源计算设备加密密文多重向量以及
由所述源计算设备将所述密文多重向量发送到所述目的地计算设备。
25.一种用于在目的地计算设备上将密文多重向量解密回数字消息数据(M)以便促进将加密数据从源计算设备传输到所述目的地计算设备的方法,所述方法包括:
由所述目的地计算设备接收由所述源计算设备发送的所述密文多重向量
根据所述共享秘密系数分配算法,由所述目的地计算设备将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;
根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,由所述目的地计算设备将所述密文多重向量解密回所述消息多重向量以及
根据所述消息数据系数分配算法的反向操作,由所述目的地计算设备将所述消息多重向量转换成所述消息数字数据(M)。
26.一种用于数字消息数据(M)的加密传输的增强的以数据为中心的加密(EDCE)系统,所述EDCE系统包括:
源计算设备,其中,所述源计算设备还包括:
源数字消息分配子系统,其根据对于所述源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,将所述数字消息数据(M)分配到消息多重向量的系数中;
源数字共享秘密分配子系统,其根据对于所述源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算具有对所述数字消息数据的访问权的其他设备保密;
源加密子系统,其根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,加密密文多重向量
源发送子系统,其将所述密文多重向量发送到所述目的地计算设备;以及
目的地计算设备,其中,所述目的地计算设备还包括:
目的地接收子系统,其接收由所述源计算设备发送的所述密文多重向量
目的地数字共享秘密分配子系统,其根据所述共享秘密系数分配算法,将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;
目的地解密子系统,其根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,将所述密文多重向量解密回所述消息多重向量以及
目的地转换多重向量子系统,其根据所述消息数据系数分配算法的反向操作,将所述消息多重向量转换成所述消息数字数据(M)。
27.如权利要求26所述的EDCE系统,其中,对几何代数几何乘积和多重向量的逆的求值是使用加法、减法、乘法和除法的基本算术运算在所述源计算设备和所述目的地计算设备上实现的。
28.如权利要求27所述的EDCE系统,其中,在所述源计算设备和所述目的地计算设备上对所述几何代数几何乘积和多重向量的逆的所述实现不包括选择素数、计算对数函数和/或计算自然对数函数的复杂运算。
29.如权利要求26所述的EDCE系统,还包括:
其中,所述源计算设备还包括源字母数字文本转换子系统,其根据标准计算机字符编码特性,将原始字母数字文本消息转换成所述数字消息数据(M);以及
其中,所述目的地计算设备还包括目的地字母数字文本转换子系统,其根据所述标准计算机字符编码特性,将所述数字消息数据(M)转换回所述原始字母数字文本消息。
30.如权利要求29所述的EDCE系统,其中,所述标准计算机字符编码特性是所述原始字母数字文本消息的文本字符的ASCII(美国信息交换标准码)码。
31.如权利要求26所述的EDCE系统,其中,所述源计算设备与所述目的地计算设备之间的所述共享秘密数值(SS)是由已知的共享秘密技术建立的。
32.如权利要求31所述的EDCE系统,其中,所述已知的共享秘密技术包括从以下各项中选择的组中的至少一项:用所述共享秘密数值(SS)对所述源计算设备和所述目的地计算设备进行的预先调节、标准公钥/私钥交换技术、RSA(Rivest-Shamir-Adleman)密钥交换和Diffie-Hellman密钥交换。
33.如权利要求26所述的EDCE系统,其中,所述至少一个几何代数几何乘积运算包括从以下各项中选择的组中的至少一项:用于加密的所述消息多重向量和所述共享秘密多重向量的几何乘积以及用于解密的所述密文多重向量和所述共享秘密多重向量的所述逆的几何乘积几何乘积“三明治”(用于加密的和用于解密的以及基于多重向量的西尔维斯特等式(用于加密的以及用于解密的
34.如权利要求26所述的EDCE系统,其中,所述消息多重向量和所述共享秘密多重向量是至少二维多重向量。
35.如权利要求34所述的EDCE系统,其中,所述消息多重向量和所述共享秘密多重向量的维度大小(N)是至少二维的。
36.如权利要求35所述的EDCE系统,其中,对于所述维度大小(N)的每次增量增加,用于所述消息多重向量和所述共享秘密多重向量的系数的数量增加两倍(2N)。
37.如权利要求35所述的EDCE系统,其中,所述消息多重向量和所述共享秘密多重向量的所述维度大小(N)的超过二维多重向量的增加增加了所述数字消息数据从所述源计算设备到所述目的地计算设备的所述加密传输的混淆和/或扩散安全特性。
38.如权利要求35所述的EDCE系统,其中,所述消息多重向量和所述共享秘密多重向量的所述维度大小(N)的超过二维多重向量的增加增加了能够在用于所述消息多重向量的单个传输事务中传输的数据量,以使得所述消息多重向量中的附加系数支持能够在单个传输事务中传输的所述增加的数据量。
39.如权利要求35所述的EDCE系统,其中,所述消息多重向量和所述共享秘密多重向量的所述维度大小(N)大于二维,并且还包括对于每个数据传输在所述消息多重向量中包括附加特征数据,以使得大于二维的所述消息多重向量中的附加系数支持所述附加特征数据。
40.如权利要求39所述的EDCE系统,其中,所述附加特征数据包括从以下各项中选择的组中的至少一项:用于增加加密安全性的伪数据、用于附加操作的命令指令、以及用于所述附加操作的配置数据。
41.如权利要求26所述的EDCE系统:
其中,所述源计算设备还包括:
源第二共享秘密密钥生成子系统,其生成第二共享秘密密钥作为所述共享秘密多重向量的0-刀片减少操作的标量结果;以及
源第二数字共享秘密分配子系统,其根据对于所述源计算设备和所述目的地计算设备二者都是已知的第二共享秘密系数分配算法,将所述第二共享秘密密钥分配到第二共享秘密多重向量的系数中;
其中,根据对所述消息多重向量所述共享秘密多重向量和所述第二共享秘密多重向量的几何代数几何乘积运算,所述源加密子系统还加密所述密文多重向量
其中,所述目的地计算设备还包括:
目的地第二共享秘密密钥生成子系统,其生成所述第二共享秘密密钥作为所述共享秘密多重向量的所述0-刀片减少操作的标量结果;以及
目的地第二数字共享秘密分配子系统,其根据所述第二共享秘密系数分配算法将所述第二共享秘密密钥分配到所述第二共享秘密多重向量中;并且
其中,根据对所述密文多重向量所述共享秘密多重向量的逆和所述第二共享秘密多重向量的逆的几何代数几何乘积运算,所述目的地解密子系统还将所述密文多重向量解密回所述消息多重向量
42.如权利要求41所述的EDCE系统,其中,所述0-刀片减少操作是所述共享秘密多重向量和所述共享秘密多重向量的克利福德共轭的几何乘积与所述共享秘密多重向量和所述共享秘密多重向量的所述克利福德共轭的所述几何乘积的几何反转的几何乘积
43.如权利要求41所述的EDCE系统,其中,所述几何代数几何乘积运算包括从以下各项中选择的组中的至少一项:几何乘积“三明治”(用于加密的以及用于解密的以及基于多重向量的西尔维斯特等式(用于加密的以及用于解密的
44.如权利要求26所述的EDCE系统:
其中,所述源发送子系统还包括:
源密文多重向量到数字数据子系统,其根据对于所述源计算设备和所述目的地计算设备二者都是已知的密文数据系数分配算法的反向操作,将所述密文多重向量转换成密文数字数据(C);以及
源发送密文数字数据子系统,其将所述密文数字数据(C)发送到所述目的地计算设备;并且
其中,所述目的地接收子系统还包括:
目的地接收密文数字数据子系统,其接收由所述源计算设备发送的所述密文数字数据(C);以及
目的地密文数字数据到多重向量子系统,其根据所述密文数据系数分配算法将所述密文数字数据(C)分配到所述密文多重向量中。
45.如权利要求44所述的EDCE系统:
其中,所述源计算设备还包括:
源第二共享秘密密钥生成子系统,其生成第二共享秘密密钥作为所述共享秘密多重向量的0-刀片减少操作的标量结果;以及
源第二数字共享秘密分配子系统,其根据对于所述源计算设备和所述目的地计算设备二者都是已知的第二共享秘密系数分配算法,将所述第二共享秘密密钥分配到第二共享秘密多重向量的系数中;
其中,根据对所述消息多重向量所述共享秘密多重向量和所述第二共享秘密多重向量的几何代数几何乘积运算,所述源加密子系统还加密所述密文多重向量
其中,根据对于所述源计算设备和所述目的地计算设备二者都是已知的所述密文数据系数分配算法的反向操作,所述源密文多重向量到数字数据子系统还将所述密文多重向量转换成预密码密文数字数据(C′),并且通过与所述共享秘密数值(SS)的异或(C=C′XOR SS)屏蔽所述预密码密文数字数据(C′)以获得所述密文数字数据(C);
其中,所述目的地密文数字数据到多重向量子系统还通过与所述共享秘密数值(SS)的异或(C′=C XOR SS)取消屏蔽所述密文数字数据(C)以获得所述预密码密文数字数据(C′),并且根据所述密文数据系数分配算法将所述预密码密文数字数据(C′)分配到所述密文多重向量中,
其中,所述目的地计算设备还包括:
目的地第二共享秘密密钥生成子系统,其生成所述第二共享秘密密钥作为所述共享秘密多重向量的所述0-刀片减少操作的标量结果;以及
目的地第二数字共享秘密分配子系统,其根据所述第二共享秘密系数分配算法将所述第二共享秘密密钥分配到所述第二共享秘密多重向量中;并且
其中,根据对所述密文多重向量所述共享秘密多重向量的逆和所述第二共享秘密多重向量的逆的几何代数几何乘积运算,所述目的地解密子系统还将所述密文多重向量解密回所述消息多重向量
46.如权利要求45所述的EDCE系统,其中,所述0-刀片减少操作是所述共享秘密多重向量和所述共享秘密多重向量的克利福德共轭的几何乘积与所述共享秘密多重向量和所述共享秘密多重向量的所述克利福德共轭的所述几何乘积的几何反转的几何乘积
47.如权利要求45所述的EDCE系统,其中,所述几何代数几何乘积运算包括从以下各项中选择的组中的至少一项:几何乘积“三明治”(用于加密的以及用于解密的以及基于多重向量的西尔维斯特等式(用于加密的以及用于解密的
48.如权利要求26所述的EDCE系统,其中,所述数字消息数据(M)的数值、所述消息多重向量的系数和所述共享秘密多重向量的系数包括从以下各项中选择的组中的至少一项:正数、负数、零、整数和实数。
49.一种增强的以数据为中心的加密(EDCE)源计算设备,其用于加密数字消息数据(M)以便促进将加密数据从所述EDCE源计算设备传输到目的地计算设备,所述EDCE源计算设备包括:
源数字消息分配子系统,其根据对于所述EDCE源计算设备和所述目的地计算设备二者都是已知的消息数据系数分配算法,将所述数字消息数据(M)分配到消息多重向量的系数中;
源数字共享秘密分配子系统,其根据对于所述EDCE源计算设备和所述目的地计算设备二者都是已知的共享秘密系数分配算法,将共享秘密数值(SS)分配到共享秘密多重向量的系数中,所述共享秘密数值(SS)对于所述EDCE源计算设备和所述目的地计算设备二者都是已知的或可知的,但是对于不打算具有对所述数字消息数据的访问权的其他设备保密;
源加密子系统,其根据对所述消息多重向量和所述共享秘密多重向量的至少一个几何代数几何乘积运算,加密密文多重向量以及
源发送子系统,其将所述密文多重向量发送到所述目的地计算设备。
50.一种增强的以数据为中心的加密(EDCE)目的地计算设备,其用于将密文多重向量解密回数字消息数据(M)以便促进将加密数据从源计算设备传输到所述EDCE目的地计算设备,所述EDCE目的地计算设备包括:
目的地接收子系统,其接收由所述源计算设备发送的所述密文多重向量
目的地数字共享秘密分配子系统,其根据所述共享秘密系数分配算法将所述共享秘密数值(SS)分配到所述共享秘密多重向量中;
目的地解密子系统,其根据对所述密文多重向量和所述共享秘密多重向量的逆的至少一个几何代数几何乘积运算,将所述密文多重向量解密回所述消息多重向量以及
目的地转换多重向量子系统,其根据所述消息数据系数分配算法的反向操作将所述消息多重向量转换成所述消息数字数据(M)。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662370183P | 2016-08-02 | 2016-08-02 | |
US62/370,183 | 2016-08-02 | ||
US201762452246P | 2017-01-30 | 2017-01-30 | |
US62/452,246 | 2017-01-30 | ||
US201762483227P | 2017-04-07 | 2017-04-07 | |
US62/483,227 | 2017-04-07 | ||
PCT/US2017/045141 WO2018026944A1 (en) | 2016-08-02 | 2017-08-02 | Methods and systems for enhanced data-centric encryption systems using geometric algebra |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109792383A true CN109792383A (zh) | 2019-05-21 |
CN109792383B CN109792383B (zh) | 2022-11-18 |
Family
ID=61070166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780059612.XA Active CN109792383B (zh) | 2016-08-02 | 2017-08-02 | 用于使用几何代数的增强的以数据为中心的加密系统的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10728227B2 (zh) |
EP (1) | EP3494663B8 (zh) |
JP (1) | JP6974461B2 (zh) |
KR (1) | KR102520502B1 (zh) |
CN (1) | CN109792383B (zh) |
WO (1) | WO2018026944A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11159498B1 (en) * | 2018-03-21 | 2021-10-26 | Amazon Technologies, Inc. | Information security proxy service |
US11323255B2 (en) * | 2019-08-01 | 2022-05-03 | X-Logos, LLC | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
CN111859035B (zh) * | 2020-08-12 | 2022-02-18 | 华控清交信息科技(北京)有限公司 | 数据处理方法及装置 |
EP4050471A1 (en) * | 2021-02-26 | 2022-08-31 | Zama SAS | Encrypted scalar multiplication |
CN113434876A (zh) * | 2021-06-22 | 2021-09-24 | 海光信息技术股份有限公司 | 一种数据加密方法、装置、内存控制器、芯片及电子设备 |
CN114153854B (zh) * | 2022-02-09 | 2022-05-10 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的多键分组信息获取方法和系统 |
CN117473540B (zh) * | 2023-12-28 | 2024-07-12 | 北京天健源达科技股份有限公司 | 文件字符加密方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220606A (en) * | 1992-02-10 | 1993-06-15 | Harold Greenberg | Cryptographic system and method |
EP0624013A1 (en) * | 1993-05-05 | 1994-11-09 | Zunquan Liu | Device and method for data encryption |
US20060179489A1 (en) * | 2001-06-22 | 2006-08-10 | Joan-Maria Mas Ribes | Conditional access system for digital data by key decryption and re-encryption |
US20120207299A1 (en) * | 2009-10-29 | 2012-08-16 | Mitsubishi Electric Corporation | Data processing device |
WO2012139919A2 (en) * | 2011-04-09 | 2012-10-18 | Universität Zürich | Method and apparatus for public-key cryptography based on error correcting codes |
CN104011781A (zh) * | 2011-08-29 | 2014-08-27 | 索尼公司 | 信息处理设备、信息处理方法以及程序 |
CN104113543A (zh) * | 2014-07-18 | 2014-10-22 | 中国科学院软件研究所 | 一种基于分组密码的消息鉴别方法 |
CN104429019A (zh) * | 2012-07-05 | 2015-03-18 | 日本电信电话株式会社 | 秘密分散系统、数据分散装置、分散数据变换装置、秘密分散方法以及程序 |
CN104488218A (zh) * | 2012-07-05 | 2015-04-01 | 克里普特欧贝西克株式会社 | 共享密钥生成装置、加密装置、解密装置、共享密钥生成方法、加密方法、解密方法以及程序 |
CN104620305A (zh) * | 2012-07-31 | 2015-05-13 | 三菱电机株式会社 | 密码系统、密码方法、密码程序以及解密装置 |
US20160119119A1 (en) * | 2014-05-15 | 2016-04-28 | Xeror Corporation | Compact fuzzy private matching using a fully-homomorphic encryption scheme |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US200240A (en) * | 1878-02-12 | Improvement in nails for boots and shoes | ||
US4405829A (en) | 1977-12-14 | 1983-09-20 | Massachusetts Institute Of Technology | Cryptographic communications system and method |
US5577124A (en) | 1995-03-09 | 1996-11-19 | Arithmetica, Inc. | Multi-purpose high speed cryptographically secure sequence generator based on zeta-one-way functions |
US6961427B1 (en) * | 1999-11-23 | 2005-11-01 | General Instrument Corporation | Methods and apparatus for keystream generation |
JP2001255814A (ja) * | 2000-03-10 | 2001-09-21 | Murata Mach Ltd | 復号方法、復号装置、及び復号プログラムの記録媒体 |
US6853964B1 (en) | 2000-06-30 | 2005-02-08 | Alyn Rockwood | System for encoding and manipulating models of objects |
US20030223579A1 (en) * | 2000-07-13 | 2003-12-04 | Eran Kanter | Secure and linear public-key cryptosystem based on parity-check error-correcting |
US7308469B2 (en) | 2001-06-15 | 2007-12-11 | Robert Joseph Harley | Method for generating secure elliptic curves using an arithmetic-geometric mean iteration |
US20040105546A1 (en) * | 2002-11-19 | 2004-06-03 | Leon Chernyak | Geometry-Based Symmetric Cryptosystem Method |
JP2005122484A (ja) | 2003-10-16 | 2005-05-12 | Sony Corp | 私的情報管理装置及び私的情報管理方法 |
JP4282546B2 (ja) * | 2004-05-19 | 2009-06-24 | 株式会社東芝 | 暗号装置、復号装置、鍵生成装置、プログラム及び方法 |
US20060036861A1 (en) * | 2004-07-04 | 2006-02-16 | Leon Chernyak | Method and apparatus for algebro-geometric key establishment protocols based on matrices over topological monoids |
US8331559B2 (en) * | 2004-10-12 | 2012-12-11 | Chiou-Haun Lee | Diffused data encryption/decryption processing method |
US7587396B2 (en) | 2004-11-24 | 2009-09-08 | Oracle International Corporation | Encoding data to be sorted |
US8719324B1 (en) * | 2005-04-28 | 2014-05-06 | Cetin K. Koc | Spectral modular arithmetic method and apparatus |
JP4575283B2 (ja) * | 2005-11-15 | 2010-11-04 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
JP4197710B2 (ja) * | 2006-07-19 | 2008-12-17 | 株式会社東芝 | 暗号装置、復号装置、プログラム及び方法 |
US7912213B2 (en) * | 2006-10-11 | 2011-03-22 | Frank Rubin | Device, system and method for fast secure message encryption without key distribution |
JP2009116183A (ja) * | 2007-11-08 | 2009-05-28 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
US8498415B2 (en) | 2007-11-27 | 2013-07-30 | Bon K. Sy | Method for preserving privacy of a reputation inquiry in a peer-to-peer communication environment |
JP2009175197A (ja) * | 2008-01-21 | 2009-08-06 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
WO2009125537A1 (ja) | 2008-04-09 | 2009-10-15 | パナソニック株式会社 | 署名及び検証方法、署名生成装置並びに署名検証装置 |
JP2010204466A (ja) * | 2009-03-04 | 2010-09-16 | Toshiba Corp | 暗号装置、復号装置、鍵生成装置及びプログラム |
US8626242B2 (en) * | 2009-11-02 | 2014-01-07 | Panasonic Corporation | Adaptive array antenna and wireless communication apparatus including adaptive array antenna |
US8515058B1 (en) | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
US8630422B2 (en) | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US8351601B2 (en) * | 2010-02-18 | 2013-01-08 | King Fahd University Of Petroleum And Minerals | Elliptic polynomial cryptography with secret key embedding |
JP5424974B2 (ja) * | 2010-04-27 | 2014-02-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
US8532289B2 (en) * | 2010-08-16 | 2013-09-10 | International Business Machines Corporation | Fast computation of a single coefficient in an inverse polynomial |
US8756410B2 (en) * | 2010-12-08 | 2014-06-17 | Microsoft Corporation | Polynomial evaluation delegation |
WO2012149395A1 (en) | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Fully homomorphic encryption |
US9137250B2 (en) * | 2011-04-29 | 2015-09-15 | Stephen Lesavich | Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks |
SG10201710075SA (en) | 2012-05-14 | 2018-01-30 | Luca Rossato | Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy |
US10116445B2 (en) | 2012-10-30 | 2018-10-30 | Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno | Method and system for protected exchange of data |
WO2015017787A2 (en) | 2013-08-01 | 2015-02-05 | Visa International Service Association | Homomorphic database operations apparatuses, methods and systems |
EP2860905A1 (en) | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product |
US9524392B2 (en) * | 2013-11-30 | 2016-12-20 | Microsoft Technology Licensing, Llc | Encrypting genomic data for storage and genomic computations |
JP6173904B2 (ja) * | 2013-12-13 | 2017-08-02 | 株式会社東芝 | 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム |
US10037544B2 (en) | 2013-12-18 | 2018-07-31 | Intel Corporation | Technologies for collecting advertising statistics in a privacy sensitive manner |
JP6417727B2 (ja) * | 2014-06-09 | 2018-11-07 | 富士通株式会社 | 情報集約システム、プログラム、および方法 |
JP2016012111A (ja) | 2014-06-30 | 2016-01-21 | 富士通株式会社 | 暗号処理方法、暗号処理装置、および暗号処理プログラム |
US9819650B2 (en) | 2014-07-22 | 2017-11-14 | Nanthealth, Inc. | Homomorphic encryption in a healthcare network environment, system and methods |
US9553723B2 (en) * | 2014-11-14 | 2017-01-24 | Unsene, ehf. | Multi-dimensional encryption |
WO2016135726A1 (en) * | 2015-02-25 | 2016-09-01 | Secret Double Octopus Ltd. | Method and system for authenticating and preserving the integrity of communication, secured by secret sharing |
US9813243B1 (en) * | 2015-03-30 | 2017-11-07 | EMC IP Holding Company LLC | Methods and apparatus for password-based secret sharing schemes |
CN106160995B (zh) * | 2015-04-21 | 2019-04-16 | 郑珂威 | 基于系数映射变换的多项式完全同态加密方法及系统 |
GB2549981B (en) * | 2016-05-05 | 2018-10-10 | Jung Tjhai Cen | A public key cryptosystem based on the partitioning of elements of vectors |
-
2017
- 2017-08-02 WO PCT/US2017/045141 patent/WO2018026944A1/en unknown
- 2017-08-02 KR KR1020197006141A patent/KR102520502B1/ko active IP Right Grant
- 2017-08-02 US US15/667,325 patent/US10728227B2/en active Active
- 2017-08-02 CN CN201780059612.XA patent/CN109792383B/zh active Active
- 2017-08-02 EP EP17837619.0A patent/EP3494663B8/en active Active
- 2017-08-02 JP JP2019527770A patent/JP6974461B2/ja active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220606A (en) * | 1992-02-10 | 1993-06-15 | Harold Greenberg | Cryptographic system and method |
EP0624013A1 (en) * | 1993-05-05 | 1994-11-09 | Zunquan Liu | Device and method for data encryption |
US20060179489A1 (en) * | 2001-06-22 | 2006-08-10 | Joan-Maria Mas Ribes | Conditional access system for digital data by key decryption and re-encryption |
US20120207299A1 (en) * | 2009-10-29 | 2012-08-16 | Mitsubishi Electric Corporation | Data processing device |
WO2012139919A2 (en) * | 2011-04-09 | 2012-10-18 | Universität Zürich | Method and apparatus for public-key cryptography based on error correcting codes |
CN104011781A (zh) * | 2011-08-29 | 2014-08-27 | 索尼公司 | 信息处理设备、信息处理方法以及程序 |
CN104429019A (zh) * | 2012-07-05 | 2015-03-18 | 日本电信电话株式会社 | 秘密分散系统、数据分散装置、分散数据变换装置、秘密分散方法以及程序 |
CN104488218A (zh) * | 2012-07-05 | 2015-04-01 | 克里普特欧贝西克株式会社 | 共享密钥生成装置、加密装置、解密装置、共享密钥生成方法、加密方法、解密方法以及程序 |
CN104620305A (zh) * | 2012-07-31 | 2015-05-13 | 三菱电机株式会社 | 密码系统、密码方法、密码程序以及解密装置 |
US20160119119A1 (en) * | 2014-05-15 | 2016-04-28 | Xeror Corporation | Compact fuzzy private matching using a fully-homomorphic encryption scheme |
CN104113543A (zh) * | 2014-07-18 | 2014-10-22 | 中国科学院软件研究所 | 一种基于分组密码的消息鉴别方法 |
Non-Patent Citations (1)
Title |
---|
JAMESM.CHAPPELL: "The double-padlock problem:Is secure classical information transmission possible without key exchange?", 《INTERNATIONAL JOURNAL OF MODERN PHYSICS:CONFERENCE SERIES》 * |
Also Published As
Publication number | Publication date |
---|---|
EP3494663B1 (en) | 2023-08-30 |
JP2019528028A (ja) | 2019-10-03 |
WO2018026944A1 (en) | 2018-02-08 |
EP3494663A4 (en) | 2019-12-25 |
US10728227B2 (en) | 2020-07-28 |
EP3494663A1 (en) | 2019-06-12 |
EP3494663B8 (en) | 2023-11-01 |
EP3494663C0 (en) | 2023-08-30 |
KR20190034631A (ko) | 2019-04-02 |
US20180041481A1 (en) | 2018-02-08 |
CN109792383B (zh) | 2022-11-18 |
KR102520502B1 (ko) | 2023-04-12 |
JP6974461B2 (ja) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109792383B (zh) | 用于使用几何代数的增强的以数据为中心的加密系统的方法和系统 | |
US20190109701A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption sorting using geometric algebra | |
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
US20190044697A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra | |
Amounas et al. | Fast mapping method based on matrix approach for elliptic curve cryptography | |
US9264406B2 (en) | Public key cryptography with reduced computational load | |
JP6328333B2 (ja) | 公開鍵暗号化システム | |
US20180294951A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN104158880A (zh) | 一种用户端云数据共享解决方法 | |
CN108462575A (zh) | 基于无可信中心门限混合加密的上传数据加密方法 | |
WO2013021360A1 (en) | Encryption and decryption method | |
Amounas et al. | ECC encryption and decryption with a data sequence | |
CN107078900B (zh) | 基于可再现随机序列的密码系统 | |
KR20220079522A (ko) | 기하 대수 및 헨젤 코드들을 이용한 암호화를 위한 방법들 및 시스템들과 동형 암호화 시스템들 | |
WO2019079355A1 (en) | METHODS AND SYSTEMS FOR HOMOMORPHE ENCRYPTION SORTING BASED ON ENHANCED DATA USING GEOMETRIC ALGEBRA | |
JP7443217B2 (ja) | 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム | |
Sasikumar et al. | Comprehensive Review and Analysis of Cryptography Techniques in Cloud Computing | |
WO2018187604A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
JP3706398B2 (ja) | 楕円曲線による署名、認証及び秘密通信方式 | |
Al-Doori et al. | Securing IoT Networks with NTRU Cryptosystem: A Practical Approach on ARM-based Devices for Edge and Fog Layer Integration. | |
da Silva | Fully Homomorphic Encryption Over Exterior Product Spaces | |
WO2018140961A1 (en) | Methods and systems for enhanced data-centric additive homomorphic encryption systems using geometric algebra | |
Amounas et al. | A novel approach for enciphering data based ecc using catalan numbers | |
Bhandari | Iterative Caesar cipher using grayscale image pixel values as keys |
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 | ||
CB02 | Change of applicant information |
Address after: Colorado USA Applicant after: ALGEOMETRY, LLC Address before: Colorado USA Applicant before: X-LOGOS, LLC |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |