[Original article, if there is similar, must be coincidental or copy me-. -If there is no permission, reprint it casually. ]
In the text mentioned in the common encryption detailed algorithm way please own Baidu.
Data Encryption Development : Before the computer appears: Displacement table, multiple displacement table, displacement data location.
After the computer has appeared: Byte loop shifted, XOR or different or operation.
noun Explanation:
Password: A set of transformations that contain parameters.
PlainText: The original data before encryption.
Ciphertext: the encrypted data.
Key: The parameter that participates in the transformation.
Encryption algorithm: A function of data transformation.
Check code: Sometimes we need to know whether the data has been modified or destroyed, then we need to generate some check code, and then populate the check code into a true data stream, each time we do the data operation, the check code can be checked, so as to ensure its security. For example, virus-infected files can be effective in preventing and treating.
CRC: Cyclic redundancy check. It generates a checksum of 16-bit or 32-bit for each data block by bit-looping shift and XOR operation. In this way, no matter whether there is data loss or change will certainly lead to errors in the verification code, the virus infection is also very effective. Now it has become a standard.
Basic Description:
A data encryption algorithm should have the ability to develop a password or key that can be used to encrypt plaintext, different passwords, or keys, which can produce different ciphertext (dark text). The key can be deciphered, it is only a time of no possibility.
A data encryption algorithm, it is necessary to consider the algorithm transformation, the key sub-key (public key) calculation consumption, the calculation of space occupancy, security, key length, ciphertext size these aspects.
Data encryption technology classification :
Classical algorithms, symmetric algorithms, asymmetric algorithms
Classical algorithm: Alternative password, transposition password.
Symmetric algorithms: The same set of keys is used for both encryption and decryption.
The symmetric algorithm can be divided into sequence cipher and block cipher. Where the sequence cipher encrypts one or more bytes of plaintext at a time, also known as a stream cipher. A block cipher is a group that groups plaintext into a fixed length, and then encrypts each chunk using the key algorithm, and the output will also be a fixed-length cipher.
Asymmetric algorithm: Use a different key when encrypting and decrypting. The encrypted key is the public key, and the private key corresponding to the public key is used for decryption. If the sender wants only the recipient to decrypt, then the originator must first know the recipient's public key and then encrypt the data using the recipient's public key, and the recipient uses its own private key for the decryption of the message. The public key private key is ambiguous and can be encrypted and decrypted using the other.
Non-reversible algorithm. Without a key, the data can be processed directly by the algorithm to obtain ciphertext, the ciphertext can not be decrypted.
The following are common: symmetric Des,adea, later AES.
Asymmetric RSA,DSA,ECC.
Irreversible Md5,shs,sha.
Special Classification Method:
Jomingwen and keys are determined, then ciphertext is determined, then known as the deterministic cryptosystem.
Jomingwen and key determination, ciphertext is not the only certainty, and then according to objective random factors from a cipher set select one, is called Probabilistic cryptography system.
Common Data encryption technologies:
DES: Symmetric encryption algorithm. The full name is the data Encryption standard United States encryption standards.
S-Box: The algorithm crystallization is located. The derivation process is unknown.
Weak key: Several keys that weaken the DES safety factor. Avoid use.
It is a cryptographic algorithm for two of dollars of data. Array grouping length is 64 bits. The length of ciphertext grouping is also 64 bits. The entire system of a key length of 64 bits (where the valid length is 56 bits and the remaining 8 bits as parity) des is public, and its security is entirely confidential by secret key.
Fast encryption and decryption. The extended algorithm has triple DES,IDEA,RC5,RC6,BLOWFISH,CAST,RC2
1: Divides the plaintext into a 64-bit unit, then processes each cell, if less than 64 bits, fills 0
2: An initial IP permutation of the plaintext unit
3: Divide the displaced cells into left and right halves, each part 32 bits.
4: The product transformation of 16-round iteration for each part. (Combining data and keys, note that the key generates a corresponding sub-key for the product transformation at each iteration of the cycle)
5:16 after the iteration, two parts are connected again, and an initial inverse displacement IP-1 is obtained.
AES: More secure and efficient than DES. symmetric encryption algorithm. The efficiency is higher than 3DES and the safety is slightly above 3DES. All called Advance Data Encryption Standard
is a symmetric encryption algorithm based on 128-bit (16-byte) groupings. The key can be divided into 128.192, 256 bits and three kinds. The number of key wheels is 10,12,14 times respectively. At first, we prepared a replacement table to replace the key halfway.
The encryption steps are:
1: Copy the plaintext into the matrix state of the 4*4 byte.
2: Use the first round of the key with the state for the XOR operation.
3: Replace the key with a replacement table.
4: Shift operation to state.
5: Mix the state.
6: Use the next round of keys to XOR or manipulate the state. Return to step 3rd. Until all of the rounds are used.
7: Output state.
Special points:
If the number of words divided by 16 bytes is not 0, the remaining n bytes, the padding 16-n bytes, the number of padding in each byte is also 16-n;
If the number of words divided by 16 bytes is exactly 0, then a 16-byte group must be added, and the contents of each byte within the group must be filled in 16.
AES Safety Factor Summary:
Key Length key Quantity the time required to know the plaintext and the ciphertext after the ciphertext
4.3*10e9 35.8 min 2.15 ms
7.2*10e16 1142 10 hours
3.4*10e38 10E24 years 5.4*10e18 year
168 3.7*10e50 5.9*10e36 Year 5.9*10e30 year
RSA: Asymmetric encryption algorithm. It uses two very large primes to generate a public and private key. Encryption algorithms are slower and are not suitable for large amounts of data encryption.
Its key is two very large prime numbers multiplied to get one of the keys, through which the two primes perform some other algorithm to get another key. A key is advertised as the public key, leaving one as the private key.
If a key is decomposed to get two primes, RSA is broken.
For safety reasons, it is suggested that the two prime numbers are not very different.
Elliptic curve ECC algorithm: Asymmetric encryption algorithm.
Its key is obtained by an elliptic curve operation. Its encryption strength, the execution speed is better, and the key length is small, the computation space is small, is stronger than RSA and DSA.
PGP: Asymmetric encryption algorithm. Use the public key to encrypt a randomly generated key, and then use that key to encrypt the data. Therefore, to decrypt the data, the key must be decrypted with the private key first.
Backpack Password: Asymmetric encryption algorithm.
McEliece Password: Asymmetric encryption algorithm.
Rabin: Asymmetric encryption algorithm.
Triple DES