SEED
For other meanings of seed, see seed (disambiguation).SEED is a
block cipher developed by the
Korean Information Security Agency. It is used broadly throughout South
Korean industry, but seldom found elsewhere.
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, x
247 and x
251 – 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.
*
SEED introduction (English)
*
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