SEA512
Encryption algorithm
Philosophy of the need to develop a new encryption algorithm
Symmetric encryption algorithms currently used, such as AES and SEA64 (a full-fledged non-degraded predecessor of GOST), use encryption keys with a maximum length of 256 bits (32 bytes). Nowadays, when the computing power of computers is constantly increasing and supercomputers and quantum computers are also mentioned, there is also a demand for the development of stronger encryption algorithms, which should form the basis of the so-called postquantum cryptography. In the context of post-quantum cryptography, it is assumed that the encryption algorithm should work with at least a 512-bit encryption key. It is not a problem to use a key with a longer length, but the longer the key, the more processing demands are placed on the processing of the algorithm by the processor. From the cryptographic point of view, it is advantageous to use the Feistel scheme to implement the algorithm for several reasons, which will be described later. A suitable compromise between the processing speed of the algorithm and the length of the key is to use a key with a length of 512 bits.
Basic properties and method of implementation
1. SEA512 algorithm is implemented on the basis of Feistel’s scheme,
2. The length of the processed key is 512 bits,
3. The key is processed sequentially in 32 bits in 16 rounds,
4. It is implemented in the ECB (Electronic Code Book),
5. The ECB consists of the so-called by simple exchange encryption using 16-tic rounds,
6. Rounds are processed in ascending order and descending order,
7. 4 16-bit, 3 up and 1 down are used for simple exchange encryption (SJZ),
8. 4 16-tags are used for decryption by simple exchange in the reverse order,
9. 2 SJZ encryption or decryption operations are performed on the ECB with a block of 16 bytes,
10. SAE512 uses large S-boxes (substitution boxes) with a size of 2 kilobytes,
11. The structure of S-boxes is 2 * 4 * 256 bytes, which are 2 blocks of 4 permutation tables,
12. S-boxes also form a long-term key and the properties of the ECB algorithm depend on them,
13. S-boxes were generated by specially authorized software for the given purpose,
14. At the ECB with a block of 16 bytes, processing of 16 * 4 * 2 = 128 rounds is performed,
15. At the ECB with a block of 8 bytes, 64 rounds are processed,
16. The algorithm is implemented in a highly optimized form in assembler,
17. An assembler of Intel and Amd processors is used,
18. The algorithm is implemented in parallel in the language “C” as a model,
19. These implementations are fully compatible,
20. ECB SEA512 is used for 2 types of interfaces and encryption modes,
21. One interface is compatible with the AES algorithm and has the same encryption modes,
22. The second interface is compatible with the SEA64 algorithm and has the same encryption modes,
23. A test application with application examples is also supplied,
24. Complete source codes with detailed comments are provided,
25. A complete project of test and sample application of use is delivered.