The present invention relates to a method of preventing pry for random access memory, a d more particularly to a method of encryption procedure employed in random access memory.
Referring to
Taking a game program as an example, the life value of a player will be stored in RAM 2. When the life value of the player is recovered or harmed, the program 1 will read the data 3 of the life value for performing addition or subtraction. After calculation, it will stored into RAM 2 again for next calculation.
Referring to
Referring to
In existing Windows software, there is a “Cheat Engine” software (CE), which is an open source coding having the capability for “memory scanning”. By using the “Cheat Engine”, a user can search and alter the data in memory of the computer. For example, by altering the the data in memory, the user can obtain some benefits such as unlimited life value, time or ammunition. Some information security environments other than games can also utilize similar techniques to ply about personal privacy.
The object of the present invention is to provide a method of preventing pry for random access memory. A functional interface is designed between a computer pro gram and a random access memory; when the computer program wants to store an original data into the random access memory, an encryption procedure is processed on the original data first, and then store into the random access memory for being an encrypted data; when the computer program wants to fetch related data from the random access memory, the functional interface is used to fetch the encrypted data for decryption procedure, so that the original data is obtained for calculation.
The encryption procedure uses a specific encryption key for XOR operation on the original data to firm the encrypted data; the decryption procedure uses the specific encryption key for XOR operation on the encrypted data to form the original data.
The encryption procedure and the decryption procedure can be performed in accordance with Data Encryption Standard (DES).
The encryption procedure and the decryption procedure can be performed in accordance with Advanced Encryption Standard (AES).
The encryption procedure and the decryption procedure can be performed in accordance with RSA Encryption Algorithm.
Referring to
Referring to
000 represents 0
001 represents 1
010 represents 2
011 represents 3
100 represents 4
101 represents 5
110 represents 6
111 represents 7
In logic gate operation, there is an XOR operation, the rule thereof is: when two equal value of bits are operated by XOR, the result is 0; when two unequal value of bits are operated by XOR, the result is 1, as shown below:
0 XOR 0=0
1 XOR 0=1
0 XOR 1=1
1 XOR 1=0
XOR operation has reversibility. For example, if the data of computer equipment is 111, an encryption key 101 is XOR operated on 111, then:
If 010 is again XOR operated by the encryption key 101, the original data 111 is obtained, as shown below:
010 XOR 101=111
Having XOR operated by the encryption key, data will show irregularity, nonlinearity. Someone intends to pry the encrypted data by “fuzzy search” or “memory scanning”, the original data cannot be obtained. The data in random access memory XOR operated by the encryption key according to the present invention are ensured to be absolutely safe.
XOR operation by the encryption key is not the only method, other methods such as Data Encryption Standard (DES), Advanced Encryption Standard (AES) and RSA Encryption Algorithm are described as below.
Data Encryption Standard (DES) is the same as XOR encryption to be a symmetric-key block algorithm. Symmetric-key means that the encryption key is the same as the decryption key. DES uses 56 bits key, and is still a quite convenient encryption standard. DES employs a series of complicated operation on a data with fixed length to become an encrypted data with the same length. The block length of DES is 64 bits.
Advanced Encryption Standard (AES) is also called Rijndael Encryption algorithm. AES is used to complement DES, and is also a symmetric-key algorithm. AES has a fixed block length of 128 bits, but the key length can be 128, 192 or 256 bits. The AES encryption procedures are operated on a 4×4 bit matrix.
RSA Encryption Algorithm is a unsymmetric-key algorithm, and is much slower and more complicated than DES and other symmetric-key algorithms, but is ensured to be absolutely safe.
The speeds of the above-mentioned encryption algorithms for random access memory are XOR>DES>AES>RSA. If some data require calculation frequently, speed is the major concern to select ale encryption algorithm, such as the life value, time or ammunition of a game player.
If safety is the major concern, then RSA>AES>DES>XOR. When the data arc not changed frequently or just fetched statically, such as the number of credit card, the more complicated encryption algorithm had better to be employed.
The scope of the present invention depends upon the following claims, and is not limited by the above embodiments.