1. Field of the Invention
This invention relates to a system and method for transforming information, and more particularly, but not by way of limitation, to a system and method for transforming information which operates to encode two or more original messages into a single encoded information and decode the single encoded information using multiple different decoding schemes to recover the two or more original messages.
2. Brief Description of Related Art
The encoding or “encryption” and decoding or “decryption” of messages is well known in the art. Encryption is the process of converting a message, usually a plaintext message, into ciphertext which can be decoded back into the original message via the use of a cipher algorithm and/or an encryption key.
Cipher algorithms have been utilized for centuries and include techniques such as Runestones. One example of a Runestone is the Heavener Runestone located in Oklahoma. The Heavener Runestone includes a message inscribed onto the face of a stone tablet. The message inscribed on the Runestone comprises individual symbols which are thought to possibly represent other letters or separate messages. Though no one is exactly sure of the exact meaning of the message or messages encrypted into the Heavener Runestone, many have provided possible and sometimes disparate interpretations of the Runestone.
Modern encryption techniques are implemented on computer systems for securely transmitting information over computer networks. In computer systems, the cipher algorithm along with the encryption key is known as the schema, and the schema is used in the encryption and decryption of data. The type and length of the encryption keys utilized depends upon the cipher algorithm and the amount of security needed. In conventional symmetric encryption a single encryption key is used. With this encryption key, the sender can encrypt a message and a recipient can decrypt the message. In asymmetrical encryption, two or more encryption keys are utilized, commonly a private key and a public key.
Furthermore, the use of encoding/decoding schemes for encoding two messages using exclusive OR logic operator (XOR) and then decoding the encoded information using the encoded information and one of the messages is well known. Such schemes can be represented mathematically as message A XOR message B=encoded information C; message B XOR encoded information C=message A; message A XOR encoded information C=message B. In these schemes, only two messages can be encoded to form the encoded information, and at least one of the messages must be used to decode the encoded information.
Therefore, a need exists for a system and method for transforming information which operates to encode two or more original messages into a single encoded information and decode the single encoded information using multiple different decoding schemes to recover the two or more original messages. Furthermore, there exists a need for a method of transforming, storing, or displaying information utilizing multiple types of objects suitable for transmitting a message such as a language, geometrically, geometrical shapes, or combinations thereof to encode/decode two or more original messages utilizing a single encoded information. It is to such a system and method that the present invention is directed.
After considering the following description, those skilled in the art will clearly realize that the teachings of our present invention can be utilized in any one of an extremely wide range of applications where fast and secure encryption of information is needed, such as for real-time video applications or real-time encryption of keyboard entry, and/or where processing power is limited, such as for use in remote control or other “small” devices. Furthermore, the present invention may be utilized for the compression of information. Information, in this instance and as the term will be used hereinafter, is defined as generically encompassing all information that can be stored digitally, regardless of its specific content, i.e., whether that information is executable program code or data of one form or another. For purposes of simplification, we will discuss our invention in the context of use in a client or client-server processing environment to encrypt messages which are to be communicated over an insecure network, such as the Internet.
Referring now to
Network 50, being illustratively the Internet, is susceptible to being compromised by a third-party. In that regard, the third party could intercept a message then being carried over the network and emanating from, e.g., client computer 34, for, e.g., an on-going financial transaction involving a user situated threat.
To safeguard the confidential or proprietary nature of the information, passing over network 50, between client computer 34 and computer 26, from third-party access, both the client program 38 and server 30 each utilize cryptographic communication through incorporation of encryption 54 and decryption 58 therein. As such, packetized messages destined for network carriage and generated by one network application peer, either client program 38 or server 30 can be encrypted at a TCP/IP layer by encryption procedure 54 therein to yield corresponding packetized messages, which, in turn, are then each transmitted over network 50 to the other network application peer. It will be understood that encryption procedure 54 is not limited to use at a TCP/IP layer level and the encryption procedure 54 may be utilized entirely outside of any packetized, network related application. Similarly, packetized messages received, from the network, by each of the peers can be decrypted by decryption 58 therein, at a TCP/IP layer, to yield an appropriate recovered packetized plaintext message. Encryption 54 and decryption 58 are inverse procedures of each other and can be provided, within client computer 34, through illustratively client program 38.
Referring now to
As shown in
Input interfaces 62 also electrically connect and interface user input device 102, such as a keyboard and a mouse, to computer system 34 via wired or wireless lead 104. Display 106, such as a conventional color monitor, and printer 110, such as a conventional laser printer, are connected, via wired or wireless leads 114 and 118, respectively, to output interfaces 78. The output interfaces 78 provide requisite circuitry to electrically connect and interface the display and printer to the computer system. As one can appreciate, our present inventive technique can operate with any type of digital information regardless of the modalities through which client computer 34 will obtain that information, store and/or communicate that information.
Furthermore, since the specific hardware components of computer system 34 as well as all aspects of the software stored within memory 72 (including TCP/IP layer encryption in general and related TCP/IP processing), apart from the modules that implement the present invention, are conventional and well-known, they will not be discussed in any further detail. Generally speaking, computer 26 has an architecture that is quite similar to that of client computer 34.
Referring back to
It will be understood that the single encoded information 14 and the original messages 10A and 10B can be represented in one or more languages. That is, the original messages 10A and 10B can be encoded into the single encoded information 14 utilizing any known language such as ASCII, DNA code, English, and the like. The single encoded message 14 may be perceivable by a recipient who can process the language utilizing one or more decoding schemes to recover one or more original messages 10A and 10B.
The method 200 as described above allows two or more original messages 10A-10C to be combined into a single encoded information 14 and communicated to two or more recipients or client computers 34. The method is executable via one or more of the computer systems 26 and 34 as described above. Each of the decoding schemes 208A-208C includes at least one of a ciphering algorithm (see
Referring now to
Referring now to
Referring now to
Referring now to
To decode the original messages 10A and 10B, a recipient is provided with the encoded message 314 and the decoding scheme 308 which provides instructions for recovering the original messages 10A and 10B. In one embodiment, the decoding scheme 308 provides that the encoded message 314 can be broken into two or more separate segments 300 and processed using mathematical functions. The resulting value, called an “intermediate code” 304 can be further decoded from the single encoded message 314 by using one or more message operators 318 to obtain each of the original messages 10A and 10B. Additionally, the decoding scheme 308 may provide that the recipient decrypted messages 10A and 10B use a unique set of operator keys. In one embodiment, each of the symbols in the set of arbitrary symbols may be capable of representing both positive and negative values. For example, symbols with positive values may be italicized forwardly and symbols with negative values may be underlined. A negative symbol such as “A” will have inverse properties of the corresponding positive symbol “A” such that when any function is applied a negative symbol in combination with a positive symbol of inverse value, the end result is a null or zero value. It will be understood that standard mathematical rules apply when interpreting such positive and negative symbols unless otherwise required within the applied function for that particular symbol.
The method of generating an intermediate code to decrypting the encoded message 14 and recover the original messages 10A and 10B is executed by processing an encoded message 14 via one or more decoding schemes 308. The recipient is provided with the single encoded message 14 and a decoding scheme 308 which may include an inverse mathematical algorithm or “cipher algorithm” which can include a segment operator (not shown), segment size 300, and message operator 318. Different decoding schemes 308 may be sent to various recipients along with the encoded message 314 such that each of the recipients may decrypt the same encoded message 314 and receive an original message.
As stated previously, it will be understood that the single encoded information 14 and the original messages 10A and 10B can be represented in one or more languages. That is, the original messages 10A and 10B may be encoded into the single encoded information 14 utilizing any language such as ASCII, DNA code, English, and the like. In one embodiment, the encoded message 14 is a message or “collection of symbols” which the recipient divides into a plurality of segments 300 by control characters 310 (in this case a “|” or pipe symbol according to the decoding scheme 308. Segment operators (not shown) follow each of the control characters 310 and may be as simple as addition, subtraction, or other mathematical operators or may be an advanced operator such as a generic kernel function. Each of the segments 300 is processed via the segment operator following the control character 310 to produce a segment value 312. It will be understood that when no segment operator is provided, the default segment operator is addition. Next, the segment values are combined to produce an intermediate code 304. Finally, the recipient interprets the intermediate code 304 via the message operator 318 to produce one of the original messages 10A.
It will be understood that the single encoded information 14 is encrypted with the original message 10A and 10B in reverse manner as described above with respect to decrypting or decoding the single encoded information 14 to recover the original messages 10A and 10B. Therefore, to encode the original messages 10A and 10B into the single encoded in formation 14, a string or characters is selected as the single encoded information 14 such as a word, sentence, date, or other collection of symbols, letters or numbers. The original messages 10A and 10B are encoded into the single encoded information 14 by determining which segment sizes 300 and segment operators when applied to the single encoded information 14 will produce segment values 312 that will convert the single encoded message 14 into a predetermined intermediate code 304. The intermediate code 304 is then interpreted or otherwise combined with a message operator 318 to recover the original messages 10A and 10B.
One specific example of recovering two or more messages from a single encoded information 314 begins with providing the single encoded message 314 representative of a license plate number 931 BIG. The single encoded message 314 is communicated to a recipient along with a decoding scheme 308. The encoded message 314 is processed by inserting control characters 310 into the message 314 as described in the decoding scheme 308 and assigning positive or negative values to the symbols to produce the following message: 931|BI|G, where the first segment 300 is 931, the second segment 300 is BI, and the third segment 300 is G. In this example each of the letters of the alphabet is represented by a numerical value such that A=1, B=2, C=3 and so on. Mathematical operations are performed on each of the segments 300 such that segment one 300 is represented by the equation 9+(−3)+1=7, segment two 300 is represented by the equation 2+(−9)=−7 and segment three 300 is represented by the equation 7=7. The mathematical operations produce a intermediate code 304 of 7, −7, 7. By applying various message operators 318 to the intermediate code 304 of 7, −7, 7 each recipient may recover various original messages 10A and 10B. For example, a message operator 318 of “DATE” would decrypt an original message 10A of 7/7/07 from the intermediate code 304. A second message operator 318 of “STRING” would decrypt an original message 10B of 777 from the same intermediate code 304. One of ordinary skill in the art will readily appreciate that many different types of message operators could be used to decrypt a single encoded message 314 using multiple decoding schemes 308 to recover any number of different original messages.
It will be understood that because the single encoded information can be interpreted utilizing multiple deciphering algorithms to encode one or more original messages, it follows that one or more original messages may be encoded into a single bit of information rather than a string of bits such that the single bit of information may be interpreted in multiple ways utilizing multiple deciphering algorithms to recover one or more original messages.
It will be further understood that the one or more original messages 10A and 10B may include information such as instructions or operators. For example the one or more original messages 10A and 10B may include data such as executable code or operators (such as Boolean or Mathematical) that can cause a processor running on a computer to cause one or more functions to perform one or more actions. Non-limiting examples of functions which are executable on a computer include the execution and/or operation of an application program, the operation of hardware, and the like.
Referring now to
One non-limiting example of a device 400 that functions as described above will be described hereinafter. The device 400 may include one or more bytes 404 arranged into a predetermined pattern. In this example, the device 400 includes a plurality of bytes 404 arranged next to one another in a linear pattern. The bytes 404 may include three-dimensional geometrical figures of any shape and/or size, for example, pyramidal, cubic, polyhedrons, irregular polyhedrons, and the like. Furthermore, it will be understood that the device 400 may include bytes 404 have any number of differing two, three or multi-dimensional geometric shapes or other definable shapes such as a double helix structure representative of DNA. Each of the bytes 404 include at least two faces 408, at least three edges 410, and adjoining corners 412 formed by the adjoining of the two faces 408. In this embodiment, the bytes 404 include cubic geometrical figures with six faces 408, twelve edges 410, and eight corners 412, for a total of 26 possible data positions. Furthermore, the bytes 404 may include a central data position 414 that may be encoded to represent a decoding scheme as will be discussed in greater detail below. It will be understood that the bytes 404 comprising the device 400 may be identical in shape, or they may be different in shape from one another.
In this embodiment, as the bytes 404 are provided with 26 possible data positions, each of the letters of the English alphabet may be inscribed onto the bytes 404. It will be understood that the bytes 404 may include numbers, mathematical operators, and/or letters of the alphabet such that any English sentence may be represented. Furthermore, the bytes 404 may include special operators such as “Date” which indicate that the previous numeric characters can be used with the following numeric characters to produce a date, “Time” which indicates that the previous numeric characters can be used with the following numeric characters to produce a time message, “Increment (++)” indicates that the following number should be increased by one, and Concatenate (.) which indicates that the previous characters are to be concatenated with the characters which follow. The bytes 404 may also be inscribed with any type of symbol in addition to the ones disclosed thus far. The bytes 404 may be encoded to convey information representing instructional teachings, history, or even DNA sequences.
In operation, the single encoded message and the two or more original messages are separated into constituent characters to determine the message having the greatest number of characters. Once the message with the greatest number of characters has been determined, bytes 404 are selected in an amount equal to the number of characters in the message with the greatest number of characters such that each character of the longest message can be inscribed on the bytes 404 of the device 400. Next, the bytes 404 are arranged identically to one another, for example the bytes 404 are placed in a linear pattern with the same face of each byte 404 presented forwardly. Next, each character of the single encoded message is inscribed onto the same location on each of the bytes 404 such that the single encoded message is perceivable to an individual reading the device 400. It will be understood that the single encoded information may include no single encoded message such that the single encoded information is represented by a plurality of null characters such as “ø”. If there are more bytes 404 than characters in the single encoded message, the remaining bytes 404 are inscribed with null characters or noise characters such as “ø”.
Next, one of the original messages is inscribed onto the bytes 404 by rotating each of the bytes 404 in an identical manner such that each of the bytes 404 is rotated to show the same of one of a face, edge, or corner that does not contain a character from the single encoded message. The same operations of rotation and inscription can be repeated to inscribe the bytes 404 with a second original message, or any number of original messages not to exceed 25 original messages if the bytes 404 are cubes.
The decoding scheme utilized to decode the device 400 and recover the original messages includes information representing how the user may arrange the bytes 404 to display the single encoded message. Furthermore, the decoding scheme may include the directions of rotation necessary to reposition the bytes 404 in order to recover the one or more original messages.
In one embodiment, a plurality of bytes 404 are arranged linearly and identically to one another such that the faces 408 of the bytes 404 are all arranged forwardly. The single encoded message “Eclipse 09” is inscribed onto the faces of the bytes 404. The bytes 404 also include the original message “07/22/2009” inscribed onto the leftward faces of the bytes 404, and the original message “7−2+9” inscribed onto the back faces of the bytes 404. When the single encoded message is sent to a recipient along with the decoding scheme to rotate the bytes 404 to show the message of “07/22/2009”, the recipient can recover the original message of the date. Another recipient may be provided the same single encoded message along with the decoding scheme to rotate the bytes 404 to show the message of “7−2+9” instead of the message of “07/22/2009”.
Referring now to
The method begins with the step 502 of inputting a string of characters (a.k.a. the single encoded information, 14 of
The system then branches to step 522 and the results stack is processed by the system utilizing one or more message operators in step 524 to recover one or more original messages which are then output in a manner perceivable by an individual or alternatively by another system in step 526.
If in the step 504 of determining whether the input string contains control symbols the string of characters does not contain any control symbols, the system branches to step 522 and determines whether there are any results currently stored within the results stack. If there are no results currently stored within the stack, the method branches to step 528 and the string of characters may be printed or otherwise output as an original message. If there are results stored in the results stack, the method branches to step 524 where the results are processed via one or more message operators to recover one or more original messages.
Changes may be made in the construction and the operation of the various components, elements and assemblies described herein or in the steps or the sequence of steps of the methods described herein without departing from the spirit and scope of the invention.