SEED
From Wikipedia, the free encyclopedia
- For other meanings of seed, see seed (disambiguation).
SEED | |
General | |
---|---|
Designers | KISA |
First published | 1998 |
Cipher detail | |
Key sizes | 128 bits |
Block sizes | 128 bits |
Structure | Nested Feistel network |
Rounds | 16 |
SEED is a block cipher developed by the Korean Information Security Agency. It is used broadly throughout South Korean industry, but seldom found elsewhere. It gained popularity in Korea because 40 bit SSL was not considered strong enough (see Transport Layer Security#Early short keys), so the Korean Information Security Agency developed its own standard. However, this decision has limited the competition of web browsers in Korea, as no major SSL libraries or web browsers currently support the SEED algorithm, and users are limited to using ActiveX components with Internet Explorer for secure web sites.[1]
SEED is a 16-round Feistel network with 128-bit blocks and a 128-bit key. It uses two 8 × 8 S-boxes which, like those of SAFER, are derived from discrete exponentiation (in this case, x247 and x251 – plus some "incompatible operations"). It also has some resemblance to MISTY1 in the recursiveness of its structure: the 128-bit full cipher is a Feistel network with an F-function operating on 64-bit halves, while the F-function itself is a Feistel network composed of a G-function operating on 32-bit halves. However the recursion does not extend further because the G-function is not a Feistel network. In the G-function, the 32-bit word is considered as four 8-bit bytes, each of which is passed through one or the other of the S-boxes, then combined in a moderately complex set of boolean functions such that each output bit depends on 3 of the 4 input bytes.
SEED has a fairly complex key schedule, generating its thirty-two 32-bit subkeys through application of its G-function on a series of rotations of the raw key, combined with round constants derived (as in TEA) from the Golden ratio.
Support for SEED exists in the Linux kernel
[edit] References
[edit] External links
- SEED introduction (English)
- Blog about SEED in Korea
- Explanation of how ActiveX controls are used in conjunction with SEED for Korean e-commerce
- SEED official specification document (English)
- RFC 4269: The SEED encryption algorithm (obsoletes RFC 4009)
- RFC 4010: Use of the SEED Encryption Algorithm in Cryptographic Message Syntax (CMS)
- RFC 4196: The SEED Cipher Algorithm and Its Use with IPsec