WO2021022261A2 - Methods and systems for encryption and homomorphic encryption systems using geometric algebra and hensel codes - Google Patents
Methods and systems for encryption and homomorphic encryption systems using geometric algebra and hensel codes Download PDFInfo
- Publication number
- WO2021022261A2 WO2021022261A2 PCT/US2020/044808 US2020044808W WO2021022261A2 WO 2021022261 A2 WO2021022261 A2 WO 2021022261A2 US 2020044808 W US2020044808 W US 2020044808W WO 2021022261 A2 WO2021022261 A2 WO 2021022261A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- multivector
- hensel
- encoded
- secret key
- message
- Prior art date
Links
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/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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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)
- H04L9/0825—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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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
Definitions
- Modern encryption employs mathematical techniques that manipulate positive integers or binary bits.
- Asymmetric encryption such as RSA (Rivest-Shamir-Adleman) relies on number theoretic one-way functions that are predictably difficult to factor and can be made more difficult with an ever-increasing size of the encryption keys.
- Symmetric encryption such as DBS (Data Encryption Standard) and AES (Advanced Encryption Standard), uses bit manipulations within registers to shuffle the cryptotext to increase ‘'diffusion " as well as regi ter-based operations with a shared key to increase“confusion.” Diffusion and confusion are measures for the increase in statistical entropy on the data payload being transmitted.
- an encryption system that has a high degree of diffusion will typically change several characters of the encrypted (cryptotext) data for the change of a single character in the unencrypted (plain) data making it difficult for an attacker to identify changes in the unencrypted (plain) data.
- Confusion is generally thought of as obscuring the relationship between the unencrypted (plain) data and the encrypted (cryptotext) data.
- an encryption system that has a high degree of confusion would entail a process that drastically changes the unencrypted (plain) data into the encrypted (cryptotext) data in a way that, even when an attacker knows the operation of the encryption method (such as the public standards of RSA, DES, and/or AES), it is still difficult to deduce the encryption key.
- Homomorphic Encryption is a form of encryption that allows computations to be carried out on cipher text as it is encrypted without decrypting the cipher text that generates an encrypted result which, when decrypted, matches the result of operations performed on the unencrypted plaintext.
- homomorphism comes from the ancient Greek language: ⁇ m ⁇ V (homos) meaning“same” and morf ⁇ (morphe) meaning“form” or“shape.” Homomorphism may have different definitions depending on the field of use. In mathematics, for example, homomorphism may be considered a transformation of a first set into a second set where the relationship between the elements of the first set are preserved in the relationship of the elements of the second set
- a map / between sets A and B is a homomorphism of A into B if
- homomorphism may be a structure-preserving map between two algebraic structures such as groups, rings, or vector spaces. Isomorphisms, automorphisms, and endomorphisms are typically considered special types of homomorphisms. Among other more specific definitions of homomorphism, algebra homomorphism may be considered a homomorphism that preserves the algebra structure between two sets.
- An embodiment of the present invention may comprise a method for encrypted transfer of numeric message data (m) from a source computing device to a destination computing device that incorporates use of Geometric Algebra multi vectors that share a dimension size (TV) that is at least two-dimensions and wherein a number of coefficients for each of the Geometric Algebra multi vectors utilized herein is increased by a factor of two (2 l ) for each incremental increase in the dimension size (TV), the method comprising:
- An embodiment of the present invention may further comprise the method of the above paragraph: wherein the process of sending by the source computing device the ciphertext multivector (C) to the destination computing system instead sends the ciphertext multivector (C) to an intermediary computing system; and wherein the method of claim 1 further comprises; receiving by the intermediary computing system the ciphertext multivector (C) generating by the intermediary computing system a homomorphic result ciphertext multivector (RC) as a function of at least one Geometric Algebra addition, subtraction, multiplication or division operation of the ciphertext multivector (C) with at least one stored ciphertext multivector (SC) stored on the intermediary computing system resulting in the homomorphic result ciphertext multivector (RC), wherein the at least one stored ciphertext multivector (SC) was encrypted using equivalent encryption parameters and processes as used to encrypt the ciphertext multivector (C) and sending by the intermediary computing device the homomorphic result cip
- An embodiment of the present invention may further comprise a method for updating an original Hensel encoded secret key multivector (K 0 ) associated with a ciphertext multivector (C) to a new Hensel encoded secret key multivector (K n ), the method comprising: creating by a key update computer system a first public token multivector (7 ) as a Geometric Algebra product operation of the new Hensel encoded secret key multivector (K n ) and an inverse (K Q 1 ) of the original Hensel encoded secret key multivector (K 0 ) creating by the key update computer system a second public token multivector (f 2 ) as a Geometric Algebra product operation of the original Hensel encoded secret key multi vector (K 0 ) and an inverse K n 1 ) of the new Hensel encoded secret key multivector (K n ) and updating by the key update computer system the ciphertext multivector (C) as a result of a Geometric product operation ( of
- An embodiment of the present invention may further comprise a method for exchanging a Hensel encoded secret key multivector (K) between a first computer system and a second computer system, the method comprising: creating by the first computer system a first Hensel encoded private identification multivector (Pr ) from a first randomly generated private identification number (jwy); creating by the first computer system a first Hensel encoded public identification multivector (Rk c ) from a first randomly generated public identification number (p ui) creating by the second computer system a second Hensel encoded private identification multivector (Pr 2 ) from a second randomly generated private identification number (r ) creating by the second computer system a second Hensel encoded public identification multivector (Pu 2 ) from a second randomly generated public identification number (pui), sending by the second computer system the second Hensel encoded public identification multivector (Pu 2 ) to the first computer system; generating by the first computer system a public communication identifier muitivector (G) as
- An embodiment of the present invention may further comprise an encryption system for encrypted transfer of numeric message data (m) from a source computing device to a destination computing device that incorporates use of Geometric Algebra multivectors that share a dimension size (A that is at least two-dimensions and wherein a number of coefficients for each of the Geometric Algebra mu!tivectors utilized herein is increased by a factor of two for each incremental increase in the dimension size (AO)
- the encryption system comprising: a secret key computing device, wherein the secret key computing device further comprises: a secret prime number generation subsystem that generates at least one secret prime number p) as a random prime number; a public modulus calculation subsystem that calculates a public modulus ( q ) as a product of the at least one secret prime number (p) and at least one additional random number; a secret key value generation subsystem that generates at least one secret key value ( k ) as a random number; a secret key multivector generation subsystem that generates at least one secret key multi
- An embodiment of the present invention may further comprise the encryption system of the above paragraph: wherein the send ciphertext multivector subsystem of the source computing device sends the ciphertext multi vector (C) to an intermediary computing system instead of the destination computing device; wherein the encryption system of claim 10 further comprises the intermediary computing system and the intermediary computing system further comprises: a receive ciphertext multivector at intermediary subsystem that receives the ciphertext multivector (C); a homomorphic calculation subsystem that generates a homomorphic result ciphertext multivector (RC) as a function of at least one Geometric Algebra addition, subtraction, multiplication or division operation of the ciphertext multivector (C) with at least one stored ciphertext multivector (SC) stored on the intermediary computing system resulting in the homomorphic result ciphertext multivector (RC), wherein the at least one stored ciphertext multivector (SC) was encrypted using equivalent encryption parameters and processes as used to encrypt the ciphertext multivector
- An embodiment of the present invention may further comprise a key update system that updates an original Hense! encoded secret key multivector (K 0 ) associated with a ciphertext multi vector (C) to a new Hensel encoded secret key multi vector (K n ) associated, the key update system comprising: a first public token creation subsystem that creates a first public token multivector (7 ) as a Geometric Algebra product operation of the new Hensel encoded secret key multi vector (K n ) and an inverse (K Q 1 ) of the original Hensel encoded secret key multivector (if 0 ); a second public token creation subsystem that creates a second public token multivector (f 2 ) as a Geometric Algebra product operation of the original Hensel encoded secret key multivector (K ) and an inverse (Kn 1 ) of the new Hensel encoded secret key multivector (K n ); and an update ciphertext multivector key subsystem that updates the ciphertext multive
- An embodiment of the present invention may further comprise a key exchange system that exchanges a Hensel encoded secret key multivector (K) between a first computer system and a second computer system, the key exchange system comprising: the first computer system, wherein the first computer system further comprises: a first private identification multivector creation subsystem that creates a first Hensel encoded private identification multivector (Pr ) from a first randomly generated private identification number a first public identification multi vector creation subsystem that creates a first Hensel encoded public identification multivector (Pu ) from a first randomly generated public identification number (pay); a generate public communication identifier multivector subsystem that generates a public communication identifier multivector (G) as a Geometric Algebra geometric product operation of the first Hensel encoded public identification multivector (Pu- j ) and of a second Hensel encoded public identification multivector (Pu 2 ); a send public communication identifier subsystem that sends the public communication identifier mu Iti vector (
- K Hensel encoded secret key multi vector
- G Geometric Algebra geometric addition operation of the public communication identifier multi vector
- FIG. I is a block diagram of the hardware implementation for an encrypted data transfer embodiment.
- FIG 2A is a flow chart of a secret key computing device operation for an encrypted data transfer embodiment.
- FIG. 2B is a flow chart of a source computing device operation for an encrypted data transfer embodiment.
- FIG. 2C is a flow chart of a destination computing device operation for an encrypted data transfer embodiment.
- FIG. 3 is a block diagram of the hardware implementation for a homomorphic encryption embodiment.
- FIG. 4 is a flow chart of an intermediary computing system operation for a homomorphic encryption embodiment.
- FIG. 5 is a block diagram of the hardware implementation for an encryption key update embodiment.
- FIG. 6 is a flow chart of a key update computer system operation for an embodiment.
- FIG. 7 is block diagram of the hardware implementation for an encryption key exchange embodiment.
- FIG. 8 is a flow chart of a key exchange system operation for an embodiment. Detailed Description of the Embodiments
- Homomorphic Encryption is a form of encryption that allows computations to be carried out on cipher text as it is encrypted without decrypting the cipher text that generates an encrypted result which, when decrypted, matches the result of operations performed on the unencrypted plaintext.
- the essential purpose of homomorphic encryption is to allow computation on encrypted data without decrypting the data in order to perform the computation.
- the encrypted data can remain confidential and secure while the encrypted data is processed for the desired computation.
- useful tasks may be accomplished on encrypted (i.e., confidential and secure) data residing in untrusted environments.
- the ability to perform computations on encrypted data may be a highly desirable capability.
- finding a general method for computing on encrypted data is likely a highly desirable goal for cryptography.
- the most sought after application of homomorphic encryption may be for cloud computing.
- Data that is stored in the Cloud is typically not encrypted, and the breach of the Cloud stored, unencrypted data is ranked by the Cloud Security Alliance as the number one threat to data security.
- Encrypting Cloud stored data may mitigate the threat of data being compromised by a breach, but then the remote clients (owners of the data) would not then be able to perform operations (i.e., add, multiply, etc.) on the Cloud stored data while the data remains in the Cloud.
- operations i.e., add, multiply, etc.
- the Cloud would require access to the user’s encryption keys. It is becoming increasing undesirable to provide the Cloud access to a user’s security keys as the more entities that have access to the security keys inherently increases the susceptibility of the security keys to being breached, or even stolen by an unscrupulous provider.
- Homomorphic encryption would allow the Cloud to operate on client data without decryption, and without access to the client’s security keys.
- An embodiment may advantageously utilize Geometric Algebra to provide the encryption and decryption of numeric messages that are to be transmitted through, and possibly have operations performed by, an intermediary computing system (e.g., the broad- based computing system currently, and commonly, referred to as the Cloud, or cloud computing).
- the various embodiments provide further security encryption, confusion, and diffusion by Hensel encoding each coefficient of the multivectors generated to perform the Geometric Algebra encryption and decryption processes.
- the use of Geometric Algebra to provide the encryption and decryption provides the mathematical basis for the homomorphic operations of an embodiment. The additional Hensel encoding of coefficients does not affect the inherent homomorphic aspects of the Geometric Algebra encryption and decryption processes.
- Geometric Algebra is an area of mathematics that describes the geometric interaction of vectors and other objects in a context intended to mathematically represent physical interactions of objects in the physical world. As used herein, this area of mathematics encompasses Geometric Algebra, Conformal Geometric Algebra and Clifford Algebra (referred to collectively herein as“Geometric Algebra”). Generally, Geometric Algebra defines the operations, such as geometric product, inverses and identities, which facilitate many features of the various embodiments disclosed herein. Further, Geometric Algebra allows for the organization and representation of data into the“payload” of a multivector where the data in the payload may represent, for example, plaintext, ciphertext, or identifying signatures.
- the various embodiments make beneficial use of Geometric Algebra properties to provide encryption, decryption, and intermediary homomorphic operations in a relatively computationally simplistic manner while still providing robust security for both data in motion and data at rest (e.g., data stored in the Cloud).
- the various embodiments further bolster the security of the encryption by incorporating Hensel encoding of the coefficients of the various multivectors, which may be done without affecting the homomorphic attributes of the various embodiments.
- An embodiment that encrypts and decrypts messages using Geometric Algebra may utilize the intrinsic algebraic homomorphic properties of Geometric Algebra to permit arithmetic operations on encrypted messages handled by an intermediary computing system without the need for the intermediary computing system to decrypt the encrypted messages prior to performing the arithmetic operations. Accordingly, the intermediary computing system does not need to know any information regarding any of the secret security keys of the encryption/decryption processes to properly perform the arithmetic operations.
- the encrypted results of the arithmetic operations performed by the intermediary computing system when decrypted at a destination computing device, produce results equivalent to the same operations as if the operations were performed on the unencrypted plain text messages.
- the various embodiments provide a cryptosystem that allows unlimited multiplications and additions of cipher text (he., transmitted/stored encrypted messages at the intermediary/cloud computer system) due to the intrinsic algebraic homomorphic properties of the Geometric Algebra utilized by the various embodiments.
- an embodiment may provide the homomorphic properties as a product of algebraic homomorphism without the need to use additional methods, such as“bootstrapping’' (e.g , performing a recursive operation to reduce the noise associated with a cipher text) to achieve the homomorphic properties.
- the encrypted data values may be stored on the intermediary computing system until such time that particular arithmetic operations are desired by a user, then the
- the intermediary computing system may perform the desired arithmetic operations using the cipher text data stored at the intermediary computing system.
- the encrypted data values may be immediately operated on by the intermediary computing system as soon as the subject encrypted data values are received by the intermediary computing system.
- the process of receiving the encrypted data values at the intermediary computing system inherently includes storing the encrypted data values at the intermediary computing system even if only ileetingly in an immediately used and erased Random Access Memory (RAM) location or operational register location of a computational subsystem of the intermediary computing system.
- RAM Random Access Memory
- the various embodiments may be comprised of functional blocks, each of which may be tailored as described in more detail below according to objectives for scope, capability and security.
- the following sections provide a mathematical and numerical description of these functional blocks.
- Geometric Algebra an area of mathematics that has not been utilized before in encryption.
- Geometric Algebra as used herein is an area of mathematics that encompasses Geometric Algebra, Conformal Geometric Algebra and Clifford Algebra (collectively herein,“Geometric Algebra”).
- Geometric Algebra allows for the organization and representation of data into the“payload” of a multi vector where the data may be plaintext, ciphertext, or signatures, for example.
- Geometric Algebra defines the operations, such as geometric product, inverses and identities, which are enablers of eneryption/decryption calculations of the various embodiments.
- Multi vectors are simply the additive combination of a scalar, a vector, a bi vector and so forth up to an w-ditnension vector.
- the unit vectors follow the algebraic structure of quaternions (Hamilton) and non-eommutative algebra (Grassman). These two types of algebra allowed Clifford to conceive of the Geometric Product which is used by the various embodiments as one of the“primitive” functions of the embodiments.
- 2D multi vector A that includes a scalar and a vector is: where e, is a unit vector along the i-axis and e ] 2 represents the orientation of the area created by a 12 .
- a Geometric Algebra multivector in A-space (i e , a A-dimension nui!tivector) has 2' v coefficients whereas a standard N-dimension vector has only A coefficients. Accordingly, the Geometric Algebra multivectors provide a sense of size, direction, and volume while a standard vector would only provide a sense of size and direction.
- the concepts involved in Geometric Algebra are part of a deep and rich mathematical file, some general observations may be helpful to the description of the various embodiments disclosed herein, below.
- each of the values in the multi vector A above may be“packed’ with information and each «, value may range from zero to very large (e.g., >256,000 bits or an entire message).
- the inverse of A when multiplied by A yields unity, or:
- the“payload” may be packed in the values of the scalars and coefficients of the multivector elements.
- the packing method may define, among many things, the Geometric Algebra operations permissible an embodiment. For example, the Rationalize operation on multivectors yields zero when all multivector coefficients are equal. Such multi vectors having all equal coefficients have no inverse and the geometric product of such multivectors having all equal coefficients with another multivector has no inverse.
- Different aspects of the various embodiments including the decryption methodology that utilizes the inverse of the security key(s) multivector to perform the decryption. Therefore, to avoid problems when performing an inverse operation, the various multivectors being utilized in the various embodiments should not have all equal value coefficients.
- homomorphic preserving mathematical relationship to the original plaintext numeric message.
- homomorphism refers to a structure-preserving map between two algebraic structures, such as groups, rings, or vector spaces.
- An algebra homomorphism between two algebras is one that preserves the algebra structure.
- the method by which numbers are“packed” into multi vector elements must remain a
- One such relationship for packing the coefficients of the multi vector that preserves homomorphic properties is to ensure that the coefficients of the multivector representation of the plaintext numeric message follow a mathematical data organization between the value of the plaintext numeric message and at least one of the values of the coefficients of the multivector representation of the plaintext numeric message where the mathematical operations incorporating the one or more values of the multivector coefficients have a result equal to the original plaintext numeric message value.
- the mathematical relationship may include: addition of at least one coefficient of the multivector coefficients, subtraction of at least one coefficient of the multi vector coefficients, addition of a constant value, subtraction of a constant value, multiplication of at least one coefficient of the multivector coefficients by a constant value, and division of at least one coefficient of the mult i vector coefficients by a constant value.
- the location of the various mathematical operations relative to the particular locations of the coefficients in the multivector representation should also be consistently applied to all source numeric data messages converted to a multivector as well as for result multi vectors converted to a result numeric data value in a particular encryption/decryption pathway.
- the mathematical relationship chosen is to simply have the sum of the coefficients of the multivector equal the value of the numeric data being represented by the multivector.
- Fig. 1 is a block diagram 100 of the hardware implementation for an encrypted data transfer embodiment.
- the embodiment shown in Fig, 1 does not incorporate the homomorphic features permitted by the use of Geometric Algebra, but does represent the most basic aspects of an encryption system, the ability to encrypt, transfer and decrypt a message.
- the homomorphic properties of the Geometric Algebra encryption and decryption please see the description with respect to Fig. 3 below.
- the operation of the encryption and decryption processes does not change when homomorphic calculations are performed, thus, this most basic encryption and decryption embodiment inherently incorporates the features of the various embodiments that do support the homomorphic calculations.
- a first computing device 102 is connected over an electronic network/bus connection 108 to a second computing device 104 and a third computing device 106.
- the first computing device 102 acts as the source computing device 102 that sends the encrypted data 1 10 over the network/bus connection 108.
- the second computing device 104 acts as the destination computing device 106 that receives the encrypted message 1 10 from the network/bus connection 108.
- the third computing device 106 is the secret key computing device 106 that prepares and provides to the other computing devices 102, 104 the private and public key information 1 12 necessary for the encryption and decryption processes.
- communications including encrypted communications, are bi-directional such that the first 102, second 104, and third 106 computing devices may change roles as the source computing device 102, the destination computing device 104, and the secret key computing device 106 as is necessary to accommodate the transfer of data back and forth between the computing devices 102, 104, 106. Additionally, while the computing devices 102, 104, 106 are depicted as separate devices in Fig.
- the functionality of the source computing device 102, the destination computing device 104, and/or the secret key computing device 106 may be shared on a single or among two computing devices as it is often desirable to encrypt the transfer of data between components of single device as well as it being highly likely that the source 102 or destination 104 computing devices would also act as the secret key computing device to prepare and disseminate the private and public key information 1 12.
- the first computing device 102 appears to be a laptop computer and the second and third computing devices 104, 106 appear to be tablet devices.
- any computing device capable of communication over any form of electronic network or bus communication platform may be one, or two, or all of the first 102, second 106, and/or third 106 computing devices.
- the first 102, second 104, and third 106 computing devices may actually be the same physical computing device
- Various embodiments may implement the network/bus communications channel 108 using any communications channel 108 capable of transferring electronic data between the first 102, second 104, and or third 106 computing devices.
- the network/bus communication connection 108 may be an Internet connection routed over one or more different communications channels during transmission from between the first 102, second 104, and/or third 106 computing devices.
- the network/bus communication connection 108 may be an internal communications bus of a computing device, or even the internal bus of a processing or memory storage Integrated Circuit (1C) chip, such as a memory chip or a Central Processing Unit (CPU) chip.
- the network/bus communication channel 108 may utilize any medium capable of transmitting electronic data communications, including, but not limited to: wired communications, wireless electro-magnetic
- the various embodiments may provide the control and management functions detailed herein via an application operating on the first 102, second 104, and/or third 106 computing devices.
- the first 102, second 104, and/or third 106 computing devices may each be a computer or computer system, or any other electronic devices device capable of performing the communications and computations of an embodiment.
- the first 102, second 104, and/or third 106 computing devices may include, but are not limited to: a general purpose computer, a laptop/portable computer, a tablet device, a smart phone, an industrial control computer, a data storage system controller, a CPU, a Graphical Processing Unit (GPU), an Application Specific Integrated Circuit (ASI), and/or a Field Programmable Gate Array (FPGA).
- GPU Graphical Processing Unit
- ASI Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- first 102, second 104, and/or third 106 computing devices may be the storage controller of a data storage media (e.g., the controller for a hard disk drive) such that data delivered to/from the data storage media is always encrypted so as to limit the ability of an attacker to ever have access to unencrypted data.
- Embodiments may be provided as a computer program product which may include a computer-readable, or machine- readable, medium having stored thereon instructions which may be used to program/operate a computer ⁇ or other electronic devices) or computer system to perform a process or processes in accordance with the various embodiments.
- the computer-readable medium may include, but is not limited to, hard disk drives, floppy diskettes, optical disks, Compact Disc Read- Only Memories (CD-ROMs), Digital Versatile Disc ROMS (DVD-ROMs), Universal Serial Bus (USB) memory sticks, magneto-optical disks, ROMs, random access memories (RAMs), Erasable Programmable ROMs (EPROMs), Electrically Erasable Programmable ROMs (EEPROMs), magnetic optical cards, flash memory, or other types of media/machine- readable medium suitable for storing electronic instructions.
- the computer program instructions may reside and operate on a single computer/electronic device or various portions may be spread over multiple computers/devices that comprise a computer system.
- embodiments may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection, including both wired/cabled and wireless connections).
- a communication link e.g., a modem or network connection, including both wired/cabled and wireless connections.
- Figs. 2A-C are a flow chart 200, 222, 238 of the secret key computing device 206, source computing device 202, and source computing device 204 operations for an encrypted data transfer embodiment.
- Fig. 2A is a flow chart 200 of the secret key computing device 206 operation for an encrypted data transfer embodiment.
- at process 208 at least one secret prime number (p) is randomly generated by the secret key computing device 206.
- various embodiments may utilize multiple random prime numbers for a variety of purposes, including, but not limited to, providing additional parameters for the calculation of the public modulus (q) and/or enhancing the hensel encoding.
- the secret key computing device 206 calculates a public modulus (q) as a product of the at least one secret prime number (p) and at least one additional random number.
- the secret key computing device 206 generates at least one random key value ⁇ k). Some embodiments may choose to require that the secret key va!ue (k) be a prime number and some embodiments may choose to have more than one secret key va!ue (k).
- the secret key computing device 206 generates at least one secret key multivector (K) that represents the at least one secret key value (k) where the sum of the coefficients of the at least one secret key multivector (K) is equal to the corresponding at least one secret key value (k).
- the secret key computing device 206 generates at least one Hensel encoded secret key multivector (K h ) by obtaining a Hense! code representation of each coefficient of the at least one secret key multivector ( K ) as a function of Hensel encoding calculations based on at least the coefficient being encoded and the at least one secret prime number (p).
- the secret key computing device shares the at least one secret prime number p).
- the at least one Hensel encoded secret key multivector (K h ), and the public modulus (q) with the source 202 and destination 204 computing devices Care should be taken for the sharing of the at least one secret prime number ⁇ / ) and the at least one Hensel encoded secret key multi vector (3 ⁇ 4) as those are intended to be secret values and, accordingly, should be kept away from other devices not intended to have access to encrypted data.
- the sharing with the source 202 and destination 204 computing devices is indicated by off page connector 220.
- Pig. 2B is a flow chart 222 of a source computing device 202 operation for an encrypted data transfer embodiment.
- Off page connector 220 indicates the sharing of the at least one secret prime number ( >), the at least one Hensel encoded secret key multivector (K h ), and the public modulus (q) from the secret key computing device 206.
- the source computing device 202 generates a message multivector (M) that represents the numeric message data (m) being encrypted where the sum of the coefficients of the message multivector (M) is equal to the corresponding numeric message data value (m).
- the source computing device 202 makes the message multivector (M) isomorphic by performing a geometric algebra geometric product with the message multivector (M) and the isomorphic multi vector (E).
- the isomorphic multivector (E) is an idempotent multivector that allows a Geometric Algebra geometric product result to be isomorphic.
- Some embodiments may choose to apply the isomorphic inultivector (E) to the message multivector (M) after the message multivector (M) has had its coefficients Hensel encoded, in which case before applying the isomorphic vector to the message multivector (M) with Hensel encoded coefficients, the coefficients of the isomorphic multivector (E) should also be likewise Hensel encoded using the same Hensel encoding parameters as used for the message mufti vector (M) hensel encoding. In fact, all Hensel encoding for a single embodiment should use the same basic parameters, such as the at least on secret prime number (/>).
- the source computing device 202 generates a Hensel encoded message multi vector (M h ) by obtaining a Hensel code representation of each coefficient of the message multivector ⁇ M ) as a function of Hensel encoding calculations based on at least the coefficient being encoded and the at least one secret prime number (p).
- the source computing device 202 may optionally perform and additional encoding technique or algorithm on each coefficient of the Hensel encoded message multivector (M h ), such as modular exponentiation or the Chinese Remainder Theorem (CRT), in order to add additional confusion/diffusion to encryption embodiments.
- the source computing device encrypts the Hensel encoded message multivector (M h ) as a function of a Geometric Algebra geometric product of at least the Hensel encoded message multivector (M h ) and the at least one Hensel encoded secret key multivector (K h ) in order to obtain a ciphertext multivector (C).
- the source computing device 202 sends the ciphertext multivector ( C ) to the destination computing device 204 and the processes for the destination computing system flow are connected through off page connector 236.
- Fig. 2C is a flow chart 238 of a destination computing device 104 operation for an encrypted data transfer embodiment.
- Off page connector 220 indicates the sharing of the at least one secret prime number (p), the at least one Hensel encoded secret key multivector (K tl ), and the public modulus (q) from the secret key computing device 206 and Off page connector 236 indicates processes continuing from the source computing device 202 to the destination computing device 204.
- the destination computing device 204 receives the ciphertext multivector (C) from the source computing device 202.
- the destination computing device 204 decrypts the ciphertext multi vector (C) as a function of at least one Geometric Algebra geometric product operation on the ciphertext multi vector (C) and an inverse (K h of the at least one Hensel encoded secret key multi vector ( K h ) back into the Hensel encoded message multi vector
- the destination computing device 204 performs decoding on the coefficients of the Hensel encoded message multi vector (M h ) as necessary to account for any optionally applied additional know encoding techniques or algorithms applied to the coefficients of the Hensel encoded message multivector (M h ) by the source computing device 202 at process 230.
- the destination computing device 204 generates the message multivector (M) by decoding the Hensel code representation of each coefficient of the Hensei encoded message multi vector (M h ) as a function of Hensel decoding calculations based on at least the coefficient being decoded and the at least one secret prime number ).
- the destination computing device 204 generates the numeric message data (m) by summing the coefficients of the message multivector (M h ).
- FIG. 2A-C describe a methodology that may be embodied as a method or process
- another embodiment may be recognized as a computer system, and/or as a source computing device, a destination computing device, and/or a secret key computing device that encrypts data, transfers the data, and decrypts the data by implementing the processes described above with respect to the flow chart and flow chart details of Figs. 2A-C.
- the destination computing device and/or the secret key computing device that encrypts data, transfers the data, and decrypts the data
- one, or more, individual processes described above for the methodology may be broken down and represented as a subsystem of the overall encryption computer system.
- a subsystem of the computer system, and/or the source computer system and the destination computer system, that encrypts data, transfers the data, and decrypts the data may be assigned, in whole or in part, to a particular hardware implemented system, such as a dedicated Application Specific Integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA).
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- One or more subsystems may alternatively be implemented as software or firmware instructions defining the operation of a computer system with specific regard to the one or more subsystems implemented as software or firmware instructions.
- the software or firmware instructions may cause the Central Processing Unit, memory, and/or other systems of a computer system to operate in particular accordance with the particular one or more subsystems designated features.
- Homomorphic operations are an extension to the basic encrypted data transfer embodiment disclosed with respect to Figs. 1 and 2A-C above. For the most part, the extension to support homomorphic operations relies on the intrinsic algebraic homomorphism of the Geometric Algebra foundation that is part of the encryption/decryption functions of the basic encrypted data transfer embodiment.
- Geometric Algebra geometric product operations that perform the actual encryption and decryption operations remain the same for both simple encrypted data transfer and for homomorphic embodiments.
- Potential homomorphic operations for an embodiment may include multiple operations, such as, but not limited to: encrypted addition/subtraction, scalar addition/subtraction, encrypted multiplication, and scalar multiplication.
- the term“client” may be used to describe the owner of the operand and/or result data (i.e., the source and/or destination computing device/system), while the generic term“cloud” may be used for data that is at rest in an untrusted environment (i.e., the intermediary computing system/device) in some respects, the terms“client” and“cloud” may more closely reflect a real world application where the source and destination are the same entity, sending data to the intermediary“cloud” for storage, then requesting an operation (e.g., a sum of stored transaction dollar amounts stored in encrypted format on the cloud) from the cloud when needed by the client.
- an operation e.g., a sum of stored transaction dollar amounts stored in encrypted format on the cloud
- source, destination, and intermediary reflect the relative operations being performed by computing system/device, and do not necessarily define the computing system/device as whole.
- the source, destination, and intermediary operations/systems may reside as a particular application on one or more computing systems/devices.
- the source, destination, and intermediary computing systems/devices may be general purpose computing systems capable of running multiple applications at the same time, it is inherently possible that the source, destination, and intermediary operations are encapsulated as separate applications/functions that may permit, one, two, or ail of the separate applications/functions to run on a single computing device/sy tem.
- a single interconnected computer system of a single owner/c!ient may have untrusted environments that include data that is at rest (i.e., stored) in the owner/client s own end-point devices outside of the owner/client’s digital secure perimeter.
- the methods and systems that encrypt and decrypt messages using Geometric Algebra may utilize the intrinsic algebraic homomorphic properties of Geometric Algebra to permit arithmetic on encrypted messages handled by an intermediary computing system without the need for the intermediary computing system to decrypt the encrypted messages prior to performing the arithmetic and other comparative operations. Accordingly, the intermediary computing system does not need to know any information regarding any of the secret security keys of the encryption/decryption processes to properly perform the arithmetic and other comparative operations.
- distribution/packing data arrangement should also preserve a commutative mathematical relationship to the original numeric value being encrypted.
- the method by which numbers are‘"packed” into multivector elements must remain a representation of the original number.
- One such relationship for packing the coefficients of the multi vector that preserves homomorphic properties is to ensure that the coefficients of the multi vector representation of the plaintext numeric message follow a mathematical data organization between the value of the plaintext numeric message and at least one of the values of the coefficients of the multivector representation of the plaintext numeric message where the mathematical operations incorporating the one or more values of the multi vector coefficients have a result equal to the original plaintext numeric message value (i.e., the homomorphic preserving mathematical relationship).
- the mathematical relationship may include: addition of at least one coefficient of the multivector coefficients, subtraction of at least one coefficient of the multi vector coefficients, addition of a constant value, subtraction of a constant value, multiplication of at least one coefficient of the multivector coefficients by a constant value, and division of at least one coefficient of the multivector coefficients by a constant value.
- the location of the various mathematical operations relative to the particular locations of the coefficients in the multivector representation should also be consistently applied to all source numeric data messages converted to a multivector as well as for result m lti vectors converted to a result numeric data value in a particular encryption/decryption pathway. Ensuring that the coefficients of the vector representation of the plaintext numeric message meet the above described definition of the homomorphic preserving mathematical relationship will provide the proper commutative data organization (i.e., packing/distributing) methodology that preserves the homomorphic properties of the Geometric Algebra operations of the encryption/decryption processes.
- FIG. 3 is a block diagram 300 of the hardware implementation for a
- a source computing device 302 is connected over an electronic network/bus connection 308 to an intermediary (e.g., cloud) computing system 306.
- the destination computing device 304 is also connected over the electronic network/bus connection 308 to the intermediary computing system 306.
- the source computing device 302 sends the ciphertext multivector 10 to the intermediary computing system 306 rather than sending the ciphertext multivector 310 to the destination computing device 304 directly.
- the intermediary computing system 306 may also have other ciphertext multivectors stored at the intermediary computing system 306 such that there is other encrypted data on the intermediary computing system that may be used at the intermesammlungy computing system 306 to perform homomorphic operations such as addition and multiplication, which also means the possibility of performing homomorphic subtraction and division operations since subtraction and division are special cases of addition and multiplication operations, respectively.
- the intermediary computer system 306 has no knowledge of the secret key or other secret data for the encrypted ciphertext 310, but may still perform the homomorphic mathematical operations on the encrypted data to achieve the correct/equivalent mathematical result when the encrypted homomorphic computation result multivector 312 is decrypted and decoded to a numeric value by the destination computing device 304.
- the intermediary computing system 306 may immediately perform a homomorphic mathematical operation using the ciphertext multivector 310 as soon as the ciphertext multivector 310 is received by the intermediary computing system 306 or the intermediary computing system 306 may store the ciphertext mu!tivector 310 until such time that the intermediary computing system 306 is instructed to perform a homomorphic mathematical operation.
- the intermediary computing system 306 sends the encrypted homomorphic computation result multivector 312 to the destination computing system 304 over the network/bus communication connection 308.
- the destination computing system 304 receives the encrypted homomorphic computation result multivector 12 from the network/bus communication connection 308 and decrypts the encrypted homomorphic computation result multivector 312 to obtain the desired plaintext computation result.
- communications are bi directional such that the source computing device 302, the intermediary computing system 306, and/or the destination computing device 304 may change roles so as to operate as a source computing device 302, the intermediary computing system 306, and/or the destination computing device 304 as is necessary to accommodate the transfer of data back and forth between the source 302 and destination 304 computing devices as well as for computation of homomorphic mathematical operations at the intermediary computing system 306.
- the homomorphic encryption embodiment of Fig.3 as compared to the simple encrypted data transfer embodiments disclosed above with respect to Figs.
- the ciphertext from the source computing device 302 is delivered to the intermediary computing system 306 rather than the destination computing device 304, and the intermediary computing system 306 delivers an encrypted homomorphic computation result 3 12 to the destination computing device 304 rather than the ciphertext multivectov 310.
- the source computing device 302 appears to be a laptop computer and the destination computing device 304 appears to be a tablet device.
- any computing device capable of communication over any form of electronic network or bus communication platform 308 may be one, multiple or all of the source computing device 302, the intermediary computing system 306, and/or the destination computing device 304 Further still, the source 302, intermediary 306, and destination computing devices/systems 304 may actually be the same physical computing device communicating over an interna!
- bus connection 304 with itself, but still desiring encrypted communication to ensure that an attacker cannot monitor the internal communications bus 304 or hack an unprotected area of the computing system (i.e., the intermediary section 306) in order to obtain sensitive data communications in an unencrypted format.
- Various embodiments may implement the network/bus communications channel 308 using any communications channel 308 capable of transferring electronic data between the source 302, intermediary 306, and/or destination 304 computing devices/systems.
- the network/bus communication connection 308 may be an Internet connection routed over one or more different communications channels during transmission from the source 302 to the intermediary 306 computing system, and then onto the destination computing device 304
- the network/bus communication connection 308 may be an internal communications bus of a computing device, or even the internal bus of a processing or memory storage Integrated Circuit (IC) chip, such as a memory chip or a Central
- IC Integrated Circuit
- the network/bus communication channel 308 may utilize any medium capable of transmitting electronic data communications, including, but not limited to: wired communications, wireless electro-magnetic communications, fiber-optic cable communications, light/laser communications, sonic/sound communications, etc , and any combination thereof of the various communication channels.
- the various embodiments may provide the control and management functions detailed herein via an application operating on the source 302, intermediary 306, and/or destination 304 computing devices/systems.
- the source 302, intermediary 306, and/or destination 304 computing devices/systems may each be a computer or computer system, or any other electronic device capable of performing the communications and computations of an embodiment.
- the source 302, intermediary 306, and/or destination 304 computing devices/systems may include, but are not limited to: a general purpose computer, a laptop/portable computer, a tablet device, a smart phone, an industrial control computer, a data storage system controller, a CPU, a Graphical Processing Unit (GPU), an Application Specific Integrated Circuit (ASI), and/or a Field Programmable Gate Array (FPGA).
- a general purpose computer a laptop/portable computer, a tablet device, a smart phone
- an industrial control computer a data storage system controller
- a CPU a Graphical Processing Unit (GPU), an Application Specific Integrated Circuit (ASI), and/or a Field Programmable Gate Array (FPGA).
- GPU Graphical Processing Unit
- ASI Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the source 302 and destination 304 computing devices may be the storage controller of a data storage media (e.g., the controller for a hard disk drive) such that data delivered to/from the data storage media is always encrypted so as to limit the ability of an attacker to ever have access to unencrypted data.
- Embodiments may be provided as a computer program product which may include a computer-readable, or machine-readable, medium having stored thereon instructions which may be used to program/operate a computer (or other electronic devices) or computer system to perform a process or processes in accordance with the various embodiments.
- the computer-readable medium may include, but is not limited to, hard disk drives, (loppy diskettes, optical disks, Compact Disc Read-Only Memories (CD-ROMs), Digital Versatile Disc ROMS (DVD-ROMs), Universal Serial Bus (USB) memory sticks, magneto-optical disks, ROMs, random access memories (RAMs), Erasable Programmable ROMs (EPROMs), Electrically Erasable Programmable ROMs (EEPROMs), magnetic optical cards, flash memory, or other types of media/machine-readable medium suitable for storing electronic instructions.
- the computer program instructions may reside and operate on a single computer/electronic device or various portions may be spread over multiple computers/devices that comprise a computer system.
- embodiments may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection, including both wired/cabled and wireless connections).
- a communication link e.g., a modem or network connection, including both wired/cabled and wireless connections.
- Fig. 4 is a flow chart 400 of an intermediary computing system operation for a homomorphic encryption embodiment.
- a ciphertext multivector ( C ) is sent from the source computing device to the intermediary computing device.
- the intermediary computing device 406 receives the ciphertext muitivector (C) from the source computing device.
- the intermediary computing device 406 generates a homomorphic result ciphertext multivector (RC) as a function of at least one Geometric Algebra addition, subtraction, multiplication, and/or division of the ciphertext multivector (C) with at least one stored ciphertext multivector (SC).
- RC homomorphic result ciphertext multivector
- the intermediary computing system 406 In order to generate the homomorphic result ciphertext muitivector (RC), the intermediary computing system 406 does not need to decrypt any encrypted values and does not need to know of the secret encryption keys or prime numbers. At process 412, the intermediary computing system 406 sends the homomorphic result ciphertext muitivector (RC) to the destination computing device. At output 404, the homomorphic result ciphertext multivector (RC) is delivered to the destination computing device and the destination computing device decrypts the
- homomorphic result ciphertext multivector (RC) rather than the ciphertext multivector (C) as was done in the disclosure with respect to Figs. 1 & 2A-C above.
- encrypted data that may be manipulated using homomorphic features is the field of image processing where it would be possible to perform operations such as adjusting brightness or contrast of encrypted images as well as combining images and other image processing applications without the need to decrypt the encrypted images to perform the image processing operations
- FIG. 4 describe a methodology that may be embodied as a method or process
- another embodiment may be recognized as a computer system, and/or as an intermediary computing device that stores and/or performs homomorphic operations of encrypted data by implementing the processes described above with respect to the flow chart and flow chart details of Fig. 4.
- one, or more, individual processes described above for the methodology may be broken down and represented as a subsystem of the overall encryption computer system.
- a subsystem of the computer system may be assigned to a particular hardware implemented system, such as a dedicated Application Specific Integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA).
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- One or more subsystems, in whole or in part, may alternatively be implemented as software or Firmware instructions defining the operation of a computer system with specific regard to the one or more subsystems implemented as software or firmware instructions.
- the software or firmware instructions may cause the Central Processing Unit, memory, and/or other systems of a computer system to operate in particular accordance with the particular one or more subsystems designated features.
- Fig. 5 is a block diagram 500 of the hardware implementation for an encryption key update embodiment.
- the hardware necessary for a key update embodiment is relatively simple being just the key update computing system 502. While it is possible for the key update computing system 502 to deliver the generated Tokens to other computing systems/device to permit those other computing systems/devices to also update the secret key multi vector for ciphertexts stored on one or more of these other computing systems/devices.
- the various embodiments may provide the control and management functions detailed herein via an application operating on the key update computing devices/systems 502.
- the key update computing device/system 502 may be a computer or computer system, or any other electronic device capable of performing the communications and computations of an embodiment.
- the key update computing device/system 502 may be comprised of, but is not limited to: a general purpose computer, a laptop/portable computer, a tablet device, a smart phone, an industrial control computer, a data storage system controller, a CPU, a Graphical Processing Unit (GPU), an Application Specific Integrated Circuit (ASI), and/or a Field Programmable Gate Array (FPGA).
- Embodiments may be provided as a computer program product which may include a computer-readable, or machine-readable, medium having stored thereon instructions which may be used to program/operate a computer (or other electronic devices) or computer system to perform a process or processes in accordance with the various embodiments.
- the computer-readable medium may include, but is not limited to, hard disk drives, floppy diskettes, optical disks, Compact Disc Read-Only
- CD-ROMs Compact Disc ROMs
- DVD-ROMs Digital Versatile Disc ROMS
- USB Universal Serial Bus
- magneto-optical disks ROMs
- RAMs random access memories
- EPROMs Erasable Programmable ROMs
- EEPROMs Electrically Erasable Programmable ROMs
- magnetic optical cards flash memory, or other types of media/machine- readable medium suitable for storing electronic instructions.
- the computer program instructions may reside and operate on a single computer/electronic device or various portions may be spread over multiple computers/devices that comprise a computer system.
- embodiments may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a mode or network connection, including both wired/cabled and wireless connections).
- a communication link e.g., a mode or network connection, including both wired/cabled and wireless connections.
- Pig. 6 is a flow chart 600 of a key update computer system operation for an embodiment.
- the key update computer system 602 determines if there exists a new Ilensel encoded secret key multivector (K n ) designated to replace the original Hensel encoded secret key multivector (K 0 ) and if a new Hense! encoded secret key multi vector (K n ) does not exist, then the key update computer system 602 creates a new Hensel encoded secret key multivector (I( n ) from a randomly generated new secret key value (kn) in accord with operations used to create the original Hensel encoded secret key multivector (K 0 ).
- the key update computer system 602 creates a Clear public token (7 ) as a Geometric Algebra geometric product operation of the new Hensel encoded secret key multivector (K n ) and an inverse (K 0 of the original Hensel encoded secret key multivector ( K 0 ).
- the key update computer system 602 creates a second public token (f 2 ) as a Geometric Algebra geometric product operation of the original Hensel encoded secret key multivector (K 0 ) and an inverse (K n of the new Hensel encoded secret key multivector (K n ).
- the key update computer system 602 updates a ciphertext multivector (C) in accord with the Geometric product operation C - 7 6T 2 such that the original Hensel encoded secret key multivector ( K 0 ) associated with the ciphertext multivector ( C ) is replaced for the ciphertext multivector ( C ) with the new Hensel encoded secret key multivector (/f n ).
- One or more subsystems may alternatively be implemented as software or firmware instructions defining the operation of a computer system with specific regard to the one or more subsystems implemented as software or firmware instructions.
- the software or firmware instructions may cause the Central Processing Unit, memory, and/or other systems of a computer system to operate in particular accordance with the particular one or more subsystems designated features.
- Fig. 7 is block diagram 700 of the hardware implementation for an encryption key exchange embodiment.
- a first computer system 702 is connected over the electronic network/bus connection 706 to the second computer system 704.
- the first computer system 702 and second computer system 704 exchange public key exchange information 708 over the electronic network/bus connection 706 so that each of the first computer system 702 and the second computer systems 704 may separately calculate the Hensel encoded secret key
- the first computer system 702 appears to be a laptop computer and the second computer system 704 appears to be a tablet device.
- any computing device capable of communication over any form of electronic network or bus communication platform 706 may be one or both of the first computer system 702 and/or the second computer system 704.
- the first 702 ad second 704 computer systems may actually be the same physical computing device communicating over an internal bus connection 706 with itself.
- Various embodiments may implement the network/bus communications channel 706 using any communications channel 706 capable of transferring electronic data between the first 702 and second 704 computer systems.
- the network/bus communications channel 706 may implement the network/bus communications channel 706 using any communications channel 706 capable of transferring electronic data between the first 702 and second 704 computer systems.
- the network/bus may implement the network/bus communications channel 706 using any communications channel 706 capable of transferring electronic data between the first 702 and second 704 computer systems.
- the network/bus communications channel 706 may implement the network/bus communications channel 706 using any communications channel 706 capable of transferring electronic data between the first 702 and second 704 computer systems.
- the network/bus communications channel 706 may implement the network/bus communications channel 706 using any communications channel 706 capable of transferring electronic data between the first 702 and second 704 computer systems.
- the network/bus may implement the network/bus communications channel 706 using any communications channel 706 capable of transferring electronic data between the first 702 and second 704 computer systems.
- connection 706 may be an Internet connection routed over one or more different communications channels during transmission from the first 702 to the second 704 computing systems.
- the network/bus communication connection 706 may be an internal communications bus of a computing device, or even the internal bus of a processing or memory storage Integrated Circuit (IC) chip, such as a memory chip or a Central
- the network/bus communication channel 706 may utilize any medium capable of transmitting electronic data communications, including, but not limited to: wired communications, wireless electro-magnetic communications, fiber-optic cable communications, light/laser communications, sonic/sound communications, etc., and any combination thereof of the various communication channels.
- the various embodiments may provide the control and management functions detailed herein via an application operating on the first 702 and/or second 704 computer systems.
- the first 702 and/or second 704 computer systems may each be a computer or computer system, or any other electronic device capable of performing the communications and computations of an embodiment.
- the first 702 and/or second 704 computer systems may include, but are not limited to: a general purpose computer, a laptop/portable computer, a tablet device, a smart phone, an industrial control computer, a data storage system controller, a CPU, a Graphical Processing Unit (GPU), an Application Specific Integrated Circuit (ASI), and/or a Field Programmable Gate Array (FPGA).
- GPU Graphical Processing Unit
- ASI Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- Embodiments may be provided as a computer program product which may include a computer-readable, or machine-readable, medium having stored thereon instructions which may be used to program/operate a computer (or other electronic devices) or computer system to perform a process or processes in accordance with the various embodiments.
- the computer-readable medium may include, but is not limited to, hard disk drives, floppy diskettes, optical disks, Compact Disc Read- Only Memories (CD-ROMs), Digital Versatile Disc ROMS (DVD-ROMs), Universal Serial Bus (USB) memory sticks, magneto-optical disks, ROMs, random access memories (RAMs), Erasable Programmable ROMs (EPROMs), Electrically Erasable Programmable ROMs (EEPROMs), magnetic optical cards, flash memory, or other types of media/machine- readable medium suitable for storing electronic instructions.
- the computer program instructions may reside and operate on a single computer/electronic device or various portions may be spread over multiple computers/devices that comprise a computer system.
- embodiments may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection, including both wired/cabled and wireless connections).
- a communication link e.g., a modem or network connection, including both wired/cabled and wireless connections.
- Fig. 8 is a flow chart 800 of a key exchange system operation for an
- the first computer system 802 creates a first flense! encoded private identification multivector (P? ) from a first randomly generated private identification number
- the first computer system 802 creates a first Hensel encoded public identification multivector (P ) from a first randomly generated public identification number ( ui).
- the second computer system 804 creates a second Hensel encoded private identification multivector (Pr 2 ) from a second randomly generated private identification number (pn) ⁇
- the second computer system 804 creates a second Hensel encoded public identification multivector ( Pu 2 ) from a second randomly generated public identification number (pui).
- the second computer system 804 sends the second Hensel encoded public identification multivector (Pu 2 ) to the first computer system 802.
- the first computer system 802 generates a public communication identifier inultivector (6) as a Geometric Algebra geometric product operation of the first Hensel encoded public identification multivector (Pu-y) and of the second Hensel encoded public identification multivector ( Pu 2 ).
- the first computer system 802 sends the public communication identifier inultivector (G) to the second computer system 804.
- the first computer system 802 generates a first subkey multi vector (S- as a Geometric Algebra geometric product of the first Hensel encoded private identification multi vector (Pry) and the public communication identifier multivector (G).
- the first computer system 802 sends the first subkey multi vector (5- L ) to the second computer system 804.
- the second computer system 804 generates a second subkey multivector (S t ) as a Geometric Algebra geometric product of the public communication identifier multivector (G) and the second f lense! encoded private identification mu! ti vector (Pr 2 ).
- the second computer system 804 sends the second subkey multivector (3 ⁇ 4) to the first computer system 802.
- the first computer system 802 privately calculates the Hensel encoded secret key multivector (K) as a Geometric Algebra geometric product operation of the first Hensel encoded private identification multivector (Pr ⁇ ,), the second subkey multivector (5 C ), and the public communication identifier multivector (G) plus a Geometric Algebra geometric addition operation of the public communication identifier multivector (G).
- the second computer system 804 privately calculates the Hensel encoded secret key multivector (K) as a Geometric Algebra geometric product operation the first subkey multivector (5*), the second Hensel encoded private identification multivector (Pr 2 ), and the public communication identifier multivector (G) plus a Geometric Algebra geometric addition operation of the public communication identifier multivector (G).
- both of the first computer system 802 and the second computer system 804 have separately calculated the Hensel encoded secret key multivector ( K ) without directly transferring the Hensel encoded secret key multivector (K) between the first computer system 802 and the second computer system 804.
- FIG. 8 describe a methodology that may be embodied as a method or process
- another embodiment may be recognized as a computer system, and/or as an intermediary computing device that stores and/or performs homomorphic operations of encrypted data by implementing the processes described above with respect to the flow chart and flow chart details of Fig. 8.
- one, or more, individual processes described above for the methodology may be broken down and represented as a subsystem of the overall encryption computer system.
- a subsystem of the computer system may be assigned to a particular hardware implemented system, such as a dedicated Application Specific integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA)
- ASIC Application Specific integrated Circuit
- FPGA Field Programmable Gate Array
- One or more subsystems, in whole or in part, may alternatively be implemented as software or firmware instructions defining the operation of a computer system with specific regard to the one or more subsystems implemented as software or firmware instruct ions.
- the software or firmware instructions may cause the Central Processing Unit, memory, and/or other systems of a computer system to operate in particular accordance with the particular one or more subsystems designated features.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20848449.3A EP4008084A4 (en) | 2019-08-01 | 2020-08-04 | Methods and systems for encryption and homomorphic encryption systems using geometric algebra and hensel codes |
JP2022506449A JP2022543588A (en) | 2019-08-07 | 2020-08-04 | Methods and systems for cryptography and cryptosystems using geometric algebra and Hensel codes |
CN202080070226.2A CN114731268A (en) | 2019-08-07 | 2020-08-04 | Method and system for encryption and homomorphic encryption systems using geometric algebra and HENSEL codes |
KR1020227007069A KR20220079522A (en) | 2019-08-07 | 2020-08-04 | Methods and systems for encryption using geometric algebra and Hansel codes and isomorphic encryption systems |
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962881785P | 2019-08-01 | 2019-08-01 | |
US201962881793P | 2019-08-01 | 2019-08-01 | |
US62/881,793 | 2019-08-01 | ||
US62/881,785 | 2019-08-01 | ||
US201962883988P | 2019-08-07 | 2019-08-07 | |
US62/883,988 | 2019-08-07 | ||
US201962885056P | 2019-08-09 | 2019-08-09 | |
US62/885,056 | 2019-08-09 | ||
US16/984,117 US11323255B2 (en) | 2019-08-01 | 2020-08-03 | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes |
US16/984,117 | 2020-08-03 |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2021022261A2 true WO2021022261A2 (en) | 2021-02-04 |
WO2021022261A8 WO2021022261A8 (en) | 2021-03-11 |
WO2021022261A3 WO2021022261A3 (en) | 2021-06-03 |
Family
ID=74229311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/044808 WO2021022261A2 (en) | 2019-08-01 | 2020-08-04 | Methods and systems for encryption and homomorphic encryption systems using geometric algebra and hensel codes |
Country Status (3)
Country | Link |
---|---|
US (1) | US11323255B2 (en) |
EP (1) | EP4008084A4 (en) |
WO (1) | WO2021022261A2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11522672B2 (en) * | 2021-02-01 | 2022-12-06 | Seagate Technology Llc | Fully homomorphic encryption from error canceling set systems |
US11515996B2 (en) * | 2021-02-01 | 2022-11-29 | Seagate Technology Llc | Enforcing access structures in fully homomorphic encryption |
US20220385448A1 (en) * | 2021-02-18 | 2022-12-01 | Algemetric, Llc | Methods and systems for public and private-key leveled fully homomorphic encryption without bootstrapping with hensel codes |
CN115801308B (en) * | 2022-09-16 | 2023-08-29 | 北京瑞莱智慧科技有限公司 | Data processing method, related device and storage medium |
CN115549891B (en) * | 2022-11-24 | 2023-03-10 | 北京信安世纪科技股份有限公司 | Homomorphic encryption method, homomorphic decryption method, homomorphic calculation method and equipment |
CN116719502B (en) * | 2023-08-11 | 2023-10-20 | 蓝象智联(杭州)科技有限公司 | Data subtraction operation method based on privacy protection |
CN117221018B (en) * | 2023-11-09 | 2024-01-30 | 北京睿航至臻科技有限公司 | Data security transmission method and system based on data coding |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
FR2967851B1 (en) | 2010-11-22 | 2018-05-18 | Cryptoexperts Sas | METHOD AND SYSTEM FOR CONDITIONAL ACCESS TO DIGITAL CONTENT, TERMINAL AND ASSOCIATED SUBSCRIBER DEVICE |
US8462939B2 (en) * | 2010-12-07 | 2013-06-11 | King Fahd University Of Petroleum And Minerals | RNS-based cryptographic system and method |
US9906360B2 (en) | 2012-03-30 | 2018-02-27 | Irdeto B.V. | Securing accessible systems using variable dependent coding |
EP2873186B1 (en) | 2012-07-26 | 2018-03-07 | NDS Limited | Method and system for homomorphicly randomizing an input |
US9306738B2 (en) * | 2012-12-21 | 2016-04-05 | Microsoft Technology Licensing, Llc | Managed secure computations on encrypted data |
WO2017008043A1 (en) * | 2015-07-08 | 2017-01-12 | Brown University | Homomorphic encryption |
WO2018026944A1 (en) * | 2016-08-02 | 2018-02-08 | X-Logos, LLC | Methods and systems for enhanced data-centric encryption systems using geometric algebra |
US20190044697A1 (en) * | 2016-08-02 | 2019-02-07 | X-Logos, LLC | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra |
-
2020
- 2020-08-03 US US16/984,117 patent/US11323255B2/en active Active
- 2020-08-04 WO PCT/US2020/044808 patent/WO2021022261A2/en unknown
- 2020-08-04 EP EP20848449.3A patent/EP4008084A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021022261A3 (en) | 2021-06-03 |
WO2021022261A8 (en) | 2021-03-11 |
EP4008084A2 (en) | 2022-06-08 |
EP4008084A4 (en) | 2023-08-30 |
US11323255B2 (en) | 2022-05-03 |
US20210036849A1 (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
US9942040B1 (en) | Refreshing public parameters in lattice-based cryptographic protocols | |
CN111034117B (en) | Single node multi-party encryption | |
US10749675B2 (en) | Homomorphic white box system and method for using same | |
US20190109701A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption sorting using geometric algebra | |
US20190044697A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra | |
JP6363032B2 (en) | Key change direction control system and key change direction control method | |
EP3494663B1 (en) | Methods and systems for enhanced data-centric encryption systems using geometric algebra | |
WO2003065639A2 (en) | System and method of hiding cryptographic private keys | |
US20180294951A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
JP6517436B2 (en) | Encryption device and encoding device | |
JP4010766B2 (en) | Public and non-commutative encoding method and encryption method of message | |
JP2022531593A (en) | Systems and methods for adding and comparing integers encrypted by quasigroup operations in AES counter mode encryption | |
KR20220079522A (en) | Methods and systems for encryption using geometric algebra and Hansel codes and isomorphic encryption systems | |
JP4706811B2 (en) | Arithmetic device and recording medium using request calculation | |
WO2018187604A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
WO2019079353A2 (en) | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra | |
Sasikaladevi et al. | SNAP-compressive lossless sensitive image authentication and protection scheme based on Genus-2 hyper elliptic curve | |
Chinnappa et al. | An Effective Signcryption with Optimization Algorithm for IoT-enabled Secure Data Transmission. | |
JP2021502743A (en) | Computational devices and methods | |
Palav et al. | A Masking-Based Image Encryption Scheme Using Chaotic Map and Elliptic Curve Cryptography | |
WO2024028961A1 (en) | Cryptosystem, method, and program | |
JP2001209306A (en) | Message coding method | |
US20220094532A1 (en) | Methods and systems for homomorphic data representation and concealment powered by clifford geometric algebra | |
Hafidi et al. | Fast Hybrid Cryptosystem for Enhancing Cloud Data Security Using Elliptic Curve Cryptography and DNA Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20848449 Country of ref document: EP Kind code of ref document: A2 |
|
ENP | Entry into the national phase |
Ref document number: 2022506449 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020848449 Country of ref document: EP Effective date: 20220301 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20848449 Country of ref document: EP Kind code of ref document: A2 |