
- Cryptography - Home
- Cryptography - Origin
- Cryptography - History
- Cryptography - Principles
- Cryptography - Applications
- Cryptography - Benefits & Drawbacks
- Cryptography - Modern Age
- Cryptography - Traditional Ciphers
- Cryptography - Need for Encryption
- Cryptography - Double Strength Encryption
- Cryptosystems
- Cryptosystems
- Cryptosystems - Components
- Attacks On Cryptosystem
- Cryptosystems - Rainbow table attack
- Cryptosystems - Dictionary attack
- Cryptosystems - Brute force attack
- Cryptosystems - Cryptanalysis Techniques
- Types of Cryptography
- Cryptosystems - Types
- Public Key Encryption
- Modern Symmetric Key Encryption
- Cryptography Hash functions
- Key Management
- Cryptosystems - Key Generation
- Cryptosystems - Key Storage
- Cryptosystems - Key Distribution
- Cryptosystems - Key Revocation
- Block Ciphers
- Cryptosystems - Stream Cipher
- Cryptography - Block Cipher
- Cryptography - Feistel Block Cipher
- Block Cipher Modes of Operation
- Block Cipher Modes of Operation
- Electronic Code Book (ECB) Mode
- Cipher Block Chaining (CBC) Mode
- Cipher Feedback (CFB) Mode
- Output Feedback (OFB) Mode
- Counter (CTR) Mode
- Classic Ciphers
- Cryptography - Reverse Cipher
- Cryptography - Caesar Cipher
- Cryptography - ROT13 Algorithm
- Cryptography - Transposition Cipher
- Cryptography - Encryption Transposition Cipher
- Cryptography - Decryption Transposition Cipher
- Cryptography - Multiplicative Cipher
- Cryptography - Affine Ciphers
- Cryptography - Simple Substitution Cipher
- Cryptography - Encryption of Simple Substitution Cipher
- Cryptography - Decryption of Simple Substitution Cipher
- Cryptography - Vigenere Cipher
- Cryptography - Implementing Vigenere Cipher
- Modern Ciphers
- Base64 Encoding & Decoding
- Cryptography - XOR Encryption
- Substitution techniques
- Cryptography - MonoAlphabetic Cipher
- Cryptography - Hacking Monoalphabetic Cipher
- Cryptography - Polyalphabetic Cipher
- Cryptography - Playfair Cipher
- Cryptography - Hill Cipher
- Polyalphabetic Ciphers
- Cryptography - One-Time Pad Cipher
- Implementation of One Time Pad Cipher
- Cryptography - Transposition Techniques
- Cryptography - Rail Fence Cipher
- Cryptography - Columnar Transposition
- Cryptography - Steganography
- Symmetric Algorithms
- Cryptography - Data Encryption
- Cryptography - Encryption Algorithms
- Cryptography - Data Encryption Standard
- Cryptography - Triple DES
- Cryptography - Double DES
- Advanced Encryption Standard
- Cryptography - AES Structure
- Cryptography - AES Transformation Function
- Cryptography - Substitute Bytes Transformation
- Cryptography - ShiftRows Transformation
- Cryptography - MixColumns Transformation
- Cryptography - AddRoundKey Transformation
- Cryptography - AES Key Expansion Algorithm
- Cryptography - Blowfish Algorithm
- Cryptography - SHA Algorithm
- Cryptography - RC4 Algorithm
- Cryptography - Camellia Encryption Algorithm
- Cryptography - ChaCha20 Encryption Algorithm
- Cryptography - CAST5 Encryption Algorithm
- Cryptography - SEED Encryption Algorithm
- Cryptography - SM4 Encryption Algorithm
- IDEA - International Data Encryption Algorithm
- Public Key (Asymmetric) Cryptography Algorithms
- Cryptography - RSA Algorithm
- Cryptography - RSA Encryption
- Cryptography - RSA Decryption
- Cryptography - Creating RSA Keys
- Cryptography - Hacking RSA Cipher
- Cryptography - ECDSA Algorithm
- Cryptography - DSA Algorithm
- Cryptography - Diffie-Hellman Algorithm
- Data Integrity in Cryptography
- Data Integrity in Cryptography
- Message Authentication
- Cryptography Digital signatures
- Public Key Infrastructure
- Hashing
- MD5 (Message Digest Algorithm 5)
- SHA-1 (Secure Hash Algorithm 1)
- SHA-256 (Secure Hash Algorithm 256-bit)
- SHA-512 (Secure Hash Algorithm 512-bit)
- SHA-3 (Secure Hash Algorithm 3)
- Hashing Passwords
- Bcrypt Hashing Module
- Modern Cryptography
- Quantum Cryptography
- Post-Quantum Cryptography
- Cryptographic Protocols
- Cryptography - SSL/TLS Protocol
- Cryptography - SSH Protocol
- Cryptography - IPsec Protocol
- Cryptography - PGP Protocol
- Image & File Cryptography
- Cryptography - Image
- Cryptography - File
- Steganography - Image
- File Encryption and Decryption
- Cryptography - Encryption of files
- Cryptography - Decryption of files
- Cryptography in IoT
- IoT security challenges, Threats and Attacks
- Cryptographic Techniques for IoT Security
- Communication Protocols for IoT Devices
- Commonly Used Cryptography Techniques
- Custom Building Cryptography Algorithms (Hybrid Cryptography)
- Cloud Cryptography
- Quantum Cryptography
- Image Steganography in Cryptography
- DNA Cryptography
- One Time Password (OTP) algorithm in Cryptography
- Difference Between
- Cryptography - MD5 vs SHA1
- Cryptography - RSA vs DSA
- Cryptography - RSA vs Diffie-Hellman
- Cryptography vs Cryptology
- Cryptography - Cryptology vs Cryptanalysis
- Cryptography - Classical vs Quantum
- Cryptography vs Steganography
- Cryptography vs Encryption
- Cryptography vs Cyber Security
- Cryptography - Stream Cipher vs Block Cipher
- Cryptography - AES vs DES ciphers
- Cryptography - Symmetric vs Asymmetric
Cryptography - SEED Encryption Algorithm
SEED encryption is a symmetric key encryption technique created by the Korean Information Security Agency. It is a block cipher encryption technique which works with 16-byte data blocks and a 128-bit key length.
The SEED encryption algorithm encrypts plain text data into cipher text by combining substitution and permutation techniques. To generate the final cipher text, the process uses a Feistel network structure that goes through several rounds of encryption.
Encryption of SEED
- SEED encryption uses a key schedule to create round keys, which are used in each round of encryption.
- The key schedule is created by performing a series of bitwise operations on the original key, like XOR, AND, and left and right shifts.
- The encryption procedure requires dividing the plain text into 16-byte blocks and executing the encryption algorithm to each block separately.
- The algorithm encrypts the data using a combination of substitution and permutation algorithms, and then applies numerous rounds of encryption to each block to produce the final cipher text.
Decryption of SEED
- The decryption procedure reverses the encryption process.
- The cipher text is divided into 16-byte blocks, and the decryption technique is executed to each block individually, using the identical round keys created during the encryption procedure.
Structure of SEED
SEED's input/output block size and key length are both 128 bits. SEED features a 16-round Feistel structure. A 128-bit input is separated into two 64-bit blocks (L, R). The right 64-bit block is used to input the round function F, which generates a 64-bit subkey Ki based on the key schedule.
A pseudo code for SEED's structure is as follows −
for (i = 1; i <= 16; i++) { L = R; R = L ^ F(Ki, R); }
Round Function F
SEED makes use of two 8x8 S-boxes, permutations, rotations, and fundamental modular operations like exclusive OR (XOR) and adds to ensure huge security, speed, and simplicity in implementation.
The round function F divides a 64-bit input block into two 32-bit blocks (R0, R1) and uses four phases −
- A mixing phase for two 32-bit subkey blocks (Ki0, Ki1).
- Function G has three layers and allows for the mixing of two 32-bit blocks.
Function F produces the following outputs (R0' and R1') −
R0' = G[G[G[(R0 ^ Ki0) ^ (R1 ^ Ki1)] + (R0 ^ Ki0)] + G[(R0 ^ Ki0) ^ (R1 ^ Ki1)] + G[G[(R0 ^ Ki0) ^ (R1 ^ Ki1)] + (R0 ^ Ki0)] R1' = G[G[G[(R0 ^ Ki0) ^ (R1 ^ Ki1)] + (R0 ^ Ki0)]. + G[(R0 ^ Ki0) ^ (R1 ^ Ki1)] + G[G[(R0 ^ Ki0) ^ (R1 ^ Ki1)]
Function G
The function G consists of two layers: two 8x8 S-boxes and block permutation with sixteen 8-bit sub-blocks. The function G with four 8-bit inputs (X0, X1, X2, and X3) gives the following outputs −
Z0 equals {S1(X0) & m0} ^ {S2(X1) & m1} ^ {S1(X2) & m2} ^ {S2(X3) & m3} Z1 equals {S1(X0) & m1} ^ {S2(X1) & m2} ^ {S1(X2) & m3} ^ {S2(X3) & m0} Z2 equals {S1(X0) & m2} ^ {S2(X1) & m3} ^ {S1(X2) & m0} ^ {S2(X3) & m1} Z3 equals {S1(X0) & m3} ^ {S2(X1) & m0} ^ {S1(X2) & m1} ^ {S2(X3) & m2}
where m0 = 0xfc; m1 = 0xf3; m2 = 0xcf; and m3 = 0x3f.
To improve G function efficiency, four 'SS-box' are defined as follows −
SS0(X) = {S1(X)& m3} || {S1(X) & m2} || {S1(X) & m1} || {S1(X) & m0} SS1(X) = {S2(X) & m0} || {S2(X) & m3} || {S2(X) & m2} || {S2(X) & m1} SS2(X) = {S1(X) & m1} || {S1(X) & m0} || {S1(X) & m3} || {S1(X) & m2} SS3(X) = {S2(X) & m2} || {S2(X) & m1} || {S2(X) & m0} || {S2(X) & m3}
Applications of SEED
- SEED encryption is used to secure network communication, which includes VPNs, SSL/TLS, and IPsec.
- SEED encryption secures data saved on discs, USB drives, and other storage media.
- This encryption technique is used to protect data on mobile devices like smartphones and tablets.
- Government agencies and military organisations utilise SEED encryption to secure confidential material.
Advantages
Below are some advantages and benifits of using SEED encryption technique −
- SEED encryption has a 128-bit key length, making it highly resistant to brute force attacks.
- SEED encryption is a rapid method that can encrypt and decrypt data easily, making it ideal for real-time applications.
- SEED encryption is widely used and supported by various security products and services.
- SEED encryption can be utilised in a wide range of applications, like network security, data storage, and mobile devices.
- SEED encryption has undergone substantial research and is resistant to several known cryptanalysis attacks.
Disadvantages
Besides the advantages of SEED algorithm it also has some disadvantages of using it.
- SEED encryption needs good key management because the encryption's security is dependent on the key's strength and confidentiality.
- SEED encryption has a key length of 128 bits, which can be insufficient for some applications that demand stronger encryption.
- SEED encryption is subject to side-channel attacks such as timing and power analysis.