METHOD AND DEVICES FOR CREATING REDUNDANCY AND ENCRYPTION USING MOJETTE TRANSFORM
20220393853 · 2022-12-08
Assignee
Inventors
Cpc classification
H04L9/0618
ELECTRICITY
H04L9/065
ELECTRICITY
H04L2209/20
ELECTRICITY
International classification
Abstract
A method for hyper security encoding includes receiving data to be encrypted, and padding the data to be encrypted with padding data to avoid un-obfuscated bits after encryption. The method also includes encrypting, with a Mojette Transform, the data to be encrypted after the data to be encrypted is padded with the padding data, and outputting a result of the encryption as encrypted data.
Claims
1. A method of hyper security encryption performed by a computing device, the method comprising: receiving, with circuitry of the computing device, data to be encrypted; padding, with the circuitry of the computing device, the data to be encrypted with padding data to avoid un-obfuscated bits after encryption; encrypting, by the circuitry of the computing device and using a Mojette Transform (MT), the data to be encrypted after the data to be encrypted is padded with the padding data; and outputting, by the circuitry of the computing device, a result of the encrypting step as encrypted data.
2. The method of claim 1, wherein, in the padding step, the data to be encrypted is vertically padded with the padding data.
3. The method of claim 1, wherein, in the padding step, the data to be encrypted is horizontally padded with the padding data.
4. The method of claim 1, wherein, in the padding step, the data to be encrypted is padded with the padding data using fortification.
5. The method according to claim 1, further comprising receiving key data corresponding to at least one key to be used in encrypting the data to be encrypted.
6. The method according to claim 5, wherein the key data includes data of multiple keys to be used in encrypting the data to be encrypted.
7. The method according to claim 1, further comprising dividing the data to be encrypted into a plurality of chunks prior to encrypting step, wherein in the encrypting step, the plurality of chunks are encrypted using the MT.
8. The method according to claim 7, wherein the chunks are generated using a stream cipher.
9. The method according to claim 1, wherein a length of the padding data is computed based on a length of the data to be encrypted.
10. A computing device configured to perform hyper secure encryption of data to be encrypted, the computing device comprising: circuitry configured to: receive the data to be encrypted; pad the data to be encrypted with padding data to avoid un-obfuscated bits after encryption; encrypt, using a Mojette Transform (MT), the data to be encrypted after the data to be encrypted is padded with the padding data; and output a result of the encrypting step as encrypted data.
11. The computing device according to claim 10, wherein the circuitry is configured to pad the data to be encrypted with the padding data by vertically padding the data to be encrypted with the padding data.
12. The computing device according to claim 10, wherein the circuitry is configured to pad the data to be encrypted with the padding data by horizontally padding the data to be encrypted with the padding data.
13. The computing device according to claim 10, wherein the circuitry is configured to pad the data to be encrypted with the padding data by fortifying the data to be encrypted with the padding data.
14. The computing device according to claim 10, wherein the circuitry is further configured to receive key data corresponding to at least one key to be used in encrypting the data to be encrypted.
15. The computing device according to claim 14, wherein the key data includes data of multiple keys to be used in encrypting the data to be encrypted.
16. The computing device according to claim 10, wherein the circuitry is further configured to divide the data to be encrypted into a plurality of chunks prior to encrypting step, and in encrypting the data to be encrypted, the circuitry encrypts the plurality of chunks using the MT.
17. The computing device according to claim 16, wherein the circuitry is configured to generate the plurality of chunks using a stream cipher.
18. A non-transitory computer-readable medium including computer-readable instructions that, when executed by circuitry of a computing device, cause the computing device to perform a method comprising: receiving data to be encrypted; padding the data to be encrypted with padding data to avoid un-obfuscated bits after encryption; encrypting, using a Mojette Transform (MT), the data to be encrypted after the data to be encrypted is padded with the padding data; and outputting a result of the encrypting step as encrypted data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION
[0033] The embodiments described above are merely given as examples, and it is understood that the proposed technology is not limited thereto. It is understood by those skilled in the art that various modifications, combinations and changes may be made to the embodiments without departing from the present scope as defined by the appended claims. In particular, different part solutions in the different embodiments can be combined in other configurations, where technically possible.
[0034] Conventionally, a Mojette Transform does not protect pixels at the edge of the configured coding block. This causes multiple un-obfuscated pixels to be scattered throughout the computed parity fragments. In
[0035] To eliminate the possibility of having un-obfuscated data, HSE uses random generated data in different paddings to the data matrix, before performing the MT operation, using a key generation with a stream cipher, a symmetric key cipher where plaintext digits are combined with a pseudorandom cipher digit stream (keystream).
[0036] In stream cipher, each plaintext digit is encrypted one at a time with the corresponding digit of the keystream, to give a digit of the cipher-text stream. Since encryption of each digit is dependent on the current state of the cipher, it is also referred to as state cipher. In practice, a digit is typically a bit and the combining operation an exclusive-or (XOR).
[0037] An advantage of stream ciphers in military cryptography, or any other cryptography, is that the cipher stream can be generated in a separate box that is subject to strict security measures and fed to other devices hosting an application, which will perform the XOR operation as part of their function. The latter device can then be designed and used in less stringent environments.
[0038] One preferred design example is to use a stream cipher like ChaCha20 to generate the ephemeral chunks to be used in combination with MT operation. ChaCha20 is a 20-round stream cipher, consistently faster than AES and is recommended by the designer for typical cryptographic applications. In all examples for simplification, the keys are designed to be generated by stream ciphers. Examples of keys are shown in
[0039]
[0044] In
[0045] In
Horizontal padding shown in
[0049] In
[0050]
[0051] HSE horizontal padding protects edge pixel information and secures that all data in MT parity fragments are obfuscated. In
[0052] HSE vertical padding protects edge pixel information and secures that all data in MT parity fragments are encrypted. Vertical padding consists of two different types of chunks, data chunks and ephemeral chunks. The ephemeral chunks are generated from a data stream seeded by a key, shown in the
[0053] HSE fortification protects edge pixel information and secures that all data in HSE parity fragments are encrypted. Fortification consists of two different types of chunks, data chunks and ephemeral chunks. The ephemeral chunks are generated from a data stream seeded by a key, shown in the
[0054] Referring to
[0055] The memory 820 is configured to store a program 850, and the processor 810 is connected to the memory 820 by using the bus 840. When the computer device 800 is running, the processor 810 executes the program 850 stored in the memory 820, so that the computer device 800 performs the functions described above. The processor 810 is configured to perform the functions described above, with reference to other Figures.
[0056] The memory 820 may include a high-speed random access memory (RAM) memory. Optionally, the memory 820 may further include a non-volatile memory. For example, the memory 820 may include a magnetic disk memory. Thus, the memory may be any non-transitory computer-readable medium without limitation.
[0057] The processor 810 may be a central processing unit (CPU), or the processor 810 may be an application-specific integrated circuit (ASIC), or the processor 810 may be one or more integrated circuits configured to implement the embodiments of the present disclosure.
[0058] A person of ordinary skill in the art may understand that all or some of the steps of the methods in the embodiments may be implemented by a program instructing relevant hardware. The program may be stored in a computer readable storage medium, such as a non-transitory computer readable storage medium. The storage medium may include a Read Only Memory (ROM), a RAM, a magnetic disk, or an optical disc.
[0059] There is a need for an improved encryption solution combining the implementation of redundancy, encryption and performance into software or hardware. HSE using Mojette Transform Projections (MT) for the next generation cloud native solutions and work in distributed frameworks over networks for redundant and hyper secure, highly performant use-cases.
[0060] The embodiments described above are merely given as examples, and it is understood that the proposed technology is not limited thereto. It can be understood by those skilled in the art that various modifications, combinations and changes may be made to the embodiments without departing from the present scope as defined by the appended claims. In particular, different part solutions in the different embodiments can be combined in other configurations, where technically possible.