This Application claims priority of Taiwan Patent Application No. 096138823, filed on Oct. 17, 2007, the entirety of which is incorporated by reference herein.
1. Field of the Invention
The disclosure relates generally to encryption and decryption methods, and, more particularly to methods that encrypt and decrypt data using the content itself.
2. Description of the Related Art
In cryptography, symmetric or asymmetric encryption/decryption mechanisms are mostly adopted. For example, the symmetric encryption/decryption algorithms can be RC4, DES and AES algorithms. For symmetric encryption/decryption algorithms, a same key is used in data encryption and decryption. The asymmetric encryption/decryption algorithms can be an RSA algorithm. For the asymmetric encryption/decryption algorithms, a public key is used in data encryption, and a private key is used in data decryption. For symmetric and asymmetric encryption/decryption algorithms, a major issue is to make sure the key is securely passed. In general, the asymmetric encryption/decryption algorithm is securer than the symmetric encryption/decryption algorithm; however, it is also complex.
Some encryption/decryption algorithms, such as substitution encryption/decryption algorithms, do not use the key during data encryption and decryption.
Encryption and decryption methods are provided.
In an embodiment of an encryption method, a data block is selected from a plurality of data blocks. A sentry block is determined. The selected data block is encrypting as a cipher text according to the sentry block and the selected data block.
In an embodiment of a decryption method, a data block is selected from a plurality of data blocks. A sentry block is determined. The selected data block is decrypted as a cipher block according to the sentry block and the selected data block.
Encryption and decryption methods may take the form of a program code embodied in a tangible media. When the program code is loaded into and executed by a machine, the machine becomes an apparatus for practicing the disclosed method.
The invention will become more fully understood by referring to the following detailed description with reference to the accompanying drawings, wherein:
Encryption and decryption methods are provided.
In step S210, data is divided into a plurality of data blocks. It is understood that each data block may have the identical length, such as 1 bit, 1 byte, or other size. In some embodiments, the respective data blocks may have different lengths. In step S220, selecting a data block for encrypting. In step S230, determining a sentry block. It is understood that, in some embodiments, the sentry block is a key of other data blocks for encrypting. In some embodiments, the sentry block is the same with the selected data block. In some embodiments, the sentry block is obtained from either a logic operation or an encryption/decryption algorithm of data blocks. In some embodiments, the sentry block is the previous encrypted data block (i.e. a cipher text) which contributes to the complexity of encryption.
In step S240, encrypting the selected data block according to the sentry block to obtain a cipher text. It is understood that the cipher text may be obtained from either a logic operation, such as XOR, AND, OR, and NOT, or an encryption/decryption algorithm, such as a substitution encryption/decryption algorithm, a symmetric encryption/decryption algorithm, or an asymmetric encryption/decryption algorithm of the selected data block and the sentry block.
In step S250, determining whether the encryption process is completed. It is noted that, in some embodiments, the encryption process is completed as long as all data blocks of the data are encrypted. In some embodiments, the encryption process is completed while a certain number of the data blocks are encrypted. If the encryption process is completed (Yes in step S250), the procedure ends. If the encryption process is not completed (No in step S250), backs to step 220. Then, another data block is selected for encrypting.
It is understood that the selection and order of the sentry blocks, the selection and order of the data blocks, and related information can be recorded, and can be used as reference in data decryption.
In step S310, data is divided into a plurality of data blocks. It is understood that each data block may have the identical length, such as 1 bit, 1 byte, or other size. In some embodiments, the respective data blocks may have different lengths. In step S320, selecting a data block for decrypting. In step S330, determining a sentry block. It is understood that, in some embodiments, the sentry block is a key of other data blocks for encrypting. In some embodiments, the sentry block is the same with the selected data block. In some embodiments, the sentry block is obtained from either a logic operation or an encryption/decryption algorithm of data blocks. In some embodiments, the sentry block is the previous decrypted data block (i.e. a plain text) which contributes to the complexity of decryption.
In step S340, decrypting the selected data block according to the sentry block to obtain a plain text. It is understood that the plain text may be obtained from either a logic operation such as XOR, AND, OR, and NOT, or an encryption/decryption algorithm, such as a substitution encryption/decryption algorithm, a symmetric encryption/decryption algorithm, or an asymmetric encryption/decryption algorithm of the selected data block and the sentry block.
In step S350, determining whether the decryption process is completed. It is noted that, in some embodiments, the decryption process is completed as long as all data blocks of the data are decrypted. In some embodiments, the decryption process is completed while a certain numbers of the data blocks are decrypted. If the decryption process is completed (Yes in step S350), the procedure ends. If the decryption process is not completed (No in step S350), backs to step 320. Then, another data block is selected for decrypting.
Encryption and decryption, or certain aspects or portions thereof, may take the form of a program code (i.e., executable instructions) embodied in tangible media, such as products, floppy diskettes, CD-ROMS, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine thereby becomes an apparatus for practicing the methods. The methods may also be embodied in the form of a program code transmitted over some transmission medium, such as electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the disclosed methods. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates analogously to application specific logic circuits.
While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the present invention shall be defined and protected by the following claims and their equivalents.
| Number | Date | Country | Kind |
|---|---|---|---|
| 96138823 | Oct 2007 | TW | national |