Methods and Apparatus for Cryptography
20170302443 · 2017-10-19
Inventors
Cpc classification
G06T1/0028
PHYSICS
H04L9/0656
ELECTRICITY
G09C5/00
PHYSICS
G06T1/005
PHYSICS
H04L9/0894
ELECTRICITY
International classification
H04L9/06
ELECTRICITY
G09C5/00
PHYSICS
Abstract
Encryption systems for initiating, encrypting, decrypting, storing and transporting undetectable secure electronic data communications over public and private networks, including the Internet or the like.
Claims
1. In an encryption process, using a first bit-mapped graphic image, the steps comprising: converting the first bit-mapped graphic image in to a first vector image; and converting the first vector image into a second vector image.
2. The encryption process of claim 1, wherein the bit-mapped graphic image is converted into said first vector image using Voronoi Diagram algorithm and Lloyd's algorithm wherein said first vector image is an array of dots.
3. The encryption process of claim 2, wherein said array of dots are within Voronoi Diagram cells.
4. The encryption process of claim 3, wherein the location of a dot within a Voronoi cell of said first vector image is a function of a first random number determined by the Voronoi Diagram algorithm and Lloyd's algorithm.
5. The encryption process of claim 4, wherein said first vector image is converted into said second vector image using Voronoi Diagram algorithm and Lloyd's algorithm wherein the location of a dot within a Voronoi cell of said second vector image a function of a second random number that is a function of said first random number.
6. The encryption process of claim 5, the steps further comprising: converting a second bit-mapped graphic image in to a third vector image; and converting said third vector image into a forth vector image.
7. The encryption process of claim 6, the steps further comprising: creating a fifth vector image by combining said first vector image and said fourth vector image.
8. The encryption process of claim 5, the steps further comprising: creating a fifth vector image as follows, combining said second vector image and said third vector image.
9. The encryption process of claim 6, wherein said second bit-mapped graphic image is converted into said third vector image using Voronoi Diagram algorithm and Lloyd's algorithm wherein said third vector image is an array of dots.
10. The encryption process of claim 9, wherein said array of dots are within Voronoi Diagram cells.
11. The encryption process of claim 10, wherein the location of a dot within a Voronoi cell of said third vector image is a function of a third random number determined by the Voronoi Diagram algorithm and Lloyd's algorithm.
12. The encryption process of claim 11, wherein said third vector image is converted into said fourth vector image using Voronoi Diagram algorithm and Lloyd's algorithm wherein the location of a dot within a Voronoi cell of said fourth vector image a function of a fourth random number that is a function of said third random number.
13. The encryption process of claim 12, the steps further comprising: creating a fifth vector image.
14. The encryption process of claim 13, wherein said fifth vector image is a function of said first and fourth random numbers.
15. The encryption process of claim 14, wherein said fifth vector image is a function of said second and third random numbers.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
DEFINITIONS
[0026] As used herein, the following terms shall be understood to have the following meaning.
[0027] Algorithm: An effective method expressed as a finite list of well-defined instructions for calculating a function. Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, will proceed through a finite number of well-defined successive states, eventually producing “output” and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input.
[0028] Array: An array is a systematic arrangement of objects (data), usually in rows and columns.
[0029] ASCII Table: A table representing a character-encoding scheme originally based on the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text.
[0030] Attack Channel: A location whose security from unauthorized intrusion is uncertain.
[0031] Attribute: A factor of an object or other kind of entity.
[0032] Centroid: The intersection of all straight lines that divide X, a plane figure or 2-dimensional geometric shape, into two parts of equal moment about the line.
[0033] Cypher (cipher): An algorithm for performing encryption or decryption—a series of well-defined steps that can be followed as a procedure.
[0034] Channel: Steganographic dimension available for steganographic modification and message signal transmission.
[0035] Ciphertext: The result of encryption performed on plaintext using an algorithm called a cipher. Ciphertext is also known as encrypted or encoded information because it contains a form of the original plaintext that is unreadable by a human or computer without the proper cipher to decrypt it.
[0036] Covertext: The input or source container file to a steganographic system that is modified to represent/contain the hidden information.
[0037] Cryptography: The practice and study of techniques for secure communication in the presence of third parties (called adversaries).
[0038] Decryption: The process of decoding a message whose meaning was not obvious.
[0039] Diffie-Hellman Key Exchange (DHKX): A specific method of exchanging cryptographic keys that allows one or more parties that have no prior knowledge of each other to jointly establish a shared secret key over a non-secure communications channel. This key can then be used to encrypt subsequent communications using a symmetric key cipher.
[0040] Hash Code: The value returned by a hash function.
[0041] Hash Function: Any algorithm or subroutine that maps large data sets of variable length, called keys, to smaller data sets of a fixed length.
[0042] Hidden Information: Hidden information is only readable by parties in possession of related digital key file.
[0043] Key Exchange Protocol: A protocol whereby two or more parties can agree on a key in such a way that both influence the outcome. If properly done, this precludes undesired third-parties from forcing a key choice on the agreeing parties. Protocols that are useful in practice also do not reveal to any eavesdropping party what key has been agreed upon.
[0044] Lloyd's Algorithm: Computational procedure used to generate dot drawings in the style of stippling. In this application, the centroids can be weighted based on a reference image to produce stipple illustrations matching an input image.
[0045] One-Time Pad (OTP, Vernam Cipher): A type of encryption which has been proven to be impossible to crack if used correctly. Each bit or character from the plaintext is encrypted by a modular addition with a bit or character from a secret random key (or pad) of the same length as the plaintext, resulting in a ciphertext. If the key is truly random, as large as or greater than the plaintext, never reused in whole or part, and kept secret, the ciphertext will be impossible to decrypt or break without knowing the key. Properly used one-time pads are secure in this sense, even against adversaries with infinite computational power.
[0046] Perfect Secrecy: A term coined by Paul Shannon, American mathematician, electronic engineer and cryptographer where ciphertext generated by a one-time pad gives absolutely no additional information about the plaintext. Perfect secrecy is a strong notion of cryptanalytic difficulty.
[0047] Steganography: The art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message, a form of security through obscurity.
[0048] Stegotext: Innocuous images modified in some way so as to contain the ciphertext, representing encrypted and hidden text, documents, drawings, or the like, obscured from view.
[0049] Stipple Rendering Engine (SRE): The proprietary (copyrighted) software (programmed instructions) of Dotwerx LLC, which accepts visual input in the form of a photograph, drawing, or the like and renders a representative stipple drawing consisting of dot vectors, or the like.
[0050] Vector (Graphics): The use of geometrical primitives such as points, lines, curves, and shapes or polygon(s) which are all based on mathematical expressions to represent images in computer graphics. “Vector”, in this context, implies more than a straight line.
[0051] Voronoi Diagram (also Weighted-Centroidal Voronoi Diagram): A way of dividing space into a number of regions. A set of points (called seeds, sites or generators) is specified beforehand and, for each seed, there will be a corresponding region consisting of all points closer to that seed than to any other. The regions are called Voronoi cells.
DETAILED DESCRIPTION OF THE INVENTION
[0052] The present invention utilizes unbreakable crytographic-steganographic key-container files for securing and hiding communications such that communicating parties are able to initiate, encrypt, decrypt, store and transport communications over non-secure networks that are undetectable and inaccessible to anyone who does not possess the related shared encryption key-container(s).
[0053] Referring to
[0054] Visible encryption attracts unwanted suspicion. With the present invention, the dual function of the multi-dimensioned encryption key-container is hidden from view and suspicion both during initiation, whereby the secure creation and exchange of the encryption keys occur across a non-secure network, and during the store and transport of the encrypted key-container, with a hidden text and graphical message therein.
[0055] Until now, encryption keys could not act as either a key or container, with key data or message data results that remained hidden. In many jurisdictions around the world, the mere possession of encrypted material is against the law and can bring significant criminal penalties to the bearer. The present invention provides no evidence of encryption. The viewable encryption key-container appears, under any systematic analysis, to be functionally equivalent to any other encryption key-container created from the same source. Referring to
[0056] Referring to
[0057] Storing and exchanging secure data communications within and across non-secure networks requires specific protocols. Referring to
[0058] In step two 610, communicators select individual source files 300, such as a jpeg, to compute an array of dot vectors where each vector has an associated random number generated from the application of the Weighted-Centroidal Voronoi Diagram and Lloyd's algorithms to the source file. Process one 680 at step two 610 yields the First vector image. Process two 690, at step two 610 yields the Third vector image.
[0059] In step three 620, communicators compute array(s) of ‘private’ random number integers from the First vector image yielding the 1.sup.st random number array a.sub.n, and from the Third vector image yielding the 3.sup.rd random number array b.sub.n. Process one 680 at step three 610 yields the 1.sup.st private key, and process two 690 at step three 610 yields 3.sup.rd private key.
[0060] In step four 630, communicators compute array(s) of ‘public’ random numbers, for the second random number array A.sub.n derived from a.sub.n using equation A.sub.n=g.sup.a.sup.
[0061] In step five 640, communicators transport each participant's public random number array to the other participant within or across an attack channel. Process one at step five 640 stores and transports the second public key to the communicator executing process two 690. Process two 690 at step five 640 stores and transports the fourth public key to the communicator executing process one 680.
[0062] In step six 650, the communicator executing process one 680 is receiving the public random number array from the Fourth vector image of the other communicator executing process two 690. In step six 650, the communicator executing process two 690 is receiving the public random number array from the Second vector image of the other communicator executing process one 680. Process one 680 at step six 650 receives fourth Public key, and process two 690 at step six 650 receives second Public key.
[0063] In step seven 660, each communicator recalls their private random number array. The communicator executing process one 680 recalls the First image vector. The communicator executing process one 690 recalls the Third image vector. Process one 680 at step seven 650 recalls the first Private key, and process two 690 at step seven 650 receives the third Private key.
[0064] In step eight 670, communicator computes an array of shared random numbers, such that S.sub.n for the communicator executing process one 680 is S.sub.n=B.sub.n.sup.a.sup.
[0065] Referring to
[0066] Specifically for Micro Location 710, Drawing Covertext 752 is transformed to Shared Key-Container Ciphertext 772.
[0067] Specifically for Radius 720, Drawing Covertext 754 is transformed to Shared Key-Container Cipher location X 774, and Drawing Radius 764 is transformed to Shared Key-Container X Coordinate 784.
[0068] Specifically for Shade (1) 730, Drawing Covertext 756 is transformed to Shared Key-Container Cipher location Y 776, and Drawing Grey Scale 766 is transformed to Shared Key-Container Y Coordinate 786.
[0069] Specifically for Shade (2) 740, Drawing Covertext 758 is transformed to Shared Key-Container Cipher Location Y 778, and Drawing Color 768 is transformed to Shared Key-Container Y Coordinate 788.
[0070] Referring to
[0071] The attribute Micro XYLocation 810 applies the equation 860, whereby ASCII_Val=f(Old_VoronoiXY, New_VoronoiXY, voffset_val). For encrypting a message, the ASCII_Val and Old_VoronoiXY are inputs, yielding New_VoronoiXY and voffset_val. For decrypting a message, the Old_VoronoiXY and New VoronoiXY are inputs, yielding the voffset_val and ASCII_Val. The ASCII_Val corresponds to a text character in the ASCII table. The hidden message will equal the aggregation of the text corresponding to each and all ASCII_Val results.
[0072] The attribute Radius 820 applies the equation 870, whereby X=f(Old_Radius, New_Radius, roffset_val). For encrypting a message, the X coordinate and Old_Radius are inputs, yielding New_Radius and roffset_val. For decrypting a message, the Old_Radius and New_Radius are inputs, yielding roffset_val and X coordinate. The X coordinate represents a position on the X-axis of a viewable file. The x-axis of the dot vectors of the hidden image will correspond to each of the X coordinates.
[0073] The attribute Shade (1) 830 applies the equation Y=f (Old_Shade, New_Shade, soffset_val). For encrypting a message, the Y coordinate and Old_Shade are inputs, yielding New_Shade and soffset_val. For decrypting a message, the Old_Shade and New_Shade are inputs, yielding soffset_val and Y coordinate. The Y coordinate represents a position on the Y-axis of a viewable file. The y-axis of the dot vectors of the hidden image will correspond to each of the Y coordinates. The attribute Shade (1) is utilized when, referring to
[0074] Referring to
[0075] Referring to
[0076] Referring
[0077] In accordance with an embodiment of the invention, advantages of multi-dimensional encryption, in addition to the capability of securing and hiding communications, include enabling the senders and recipients to have control over the following:
[0078] Ability to select various graphical files to either represent the source for initiating the encryption process or simply represent the exercise of fine artistic interests, thereby establishing a nearly unlimited supply of cover graphical images that can serve innocuously as encryption keys to contain secure data communication.
[0079] Ability to initiate, encrypt, decrypt, store and transport secure authenticating digital signatures of unencrypted documents using hash functions with hash codes for the purpose of authenticating the sender, the time and the unaltered state of the unencrypted document under consideration.
[0080] Ability to reuse multiple-dimension shared encryption key-containers without reducing the security or undetectable nature of the data communications contained therein.
[0081] It will be obvious to those skilled in the art that not all possible functions and roles of attributes of encryption key-containers are shown in the exemplary attribute schematic
[0082] A person skilled in the art would readily appreciate that the invention disclosed herein is described with respect to specific embodiments that are exemplary. However, this should not be considered a limitation on the scope of the invention. Specifically, other implementations of the disclosed invention are envisioned and hence the invention should not be considered to be limited to the specific embodiments discussed herein above. Embodiments may be implemented on other non-computing and computing-capable systems and processors or a combination of the above. Embodiments may also be implemented as a software program stored in a memory module to be run on an embedded, standalone or distributed processor or processing system. Embodiments may also be run on a processor, a combination of integrated software and hardware, or as emulation on hardware on a server, a desktop, or a mobile computing device. The invention should not be considered as being limited in scope based on specific implementation details, but should be considered on the basis of current and future envisioned implementation capabilities.
[0083] Although the invention is described herein with reference to the preferred embodiment, one skilled in the art may readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the claims included below.