SEED
Encyclopedia
SEED is a block cipher
developed by the Korean Information Security Agency. It is used broadly throughout South Korea
n 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 historically limited the competition of web browser
s in Korea, as no major SSL libraries or web browsers supported the SEED algorithm, requiring users to use an ActiveX
control in Internet Explorer
for secure web sites. As of late 2009, the NSS
software security library in Mozilla's Gecko platform has implemented support for SEED and Mozilla Firefox
as of 3.5.4 supports SEED. Unfortunately support for SEED alone is not enough to allow for secure transactions with Korean web services.
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
.
Block cipher
In cryptography, a block cipher is a symmetric key cipher operating on fixed-length groups of bits, called blocks, with an unvarying transformation. A block cipher encryption algorithm might take a 128-bit block of plaintext as input, and output a corresponding 128-bit block of ciphertext...
developed by the Korean Information Security Agency. It is used broadly throughout South Korea
South Korea
The Republic of Korea , , is a sovereign state in East Asia, located on the southern portion of the Korean Peninsula. It is neighbored by the People's Republic of China to the west, Japan to the east, North Korea to the north, and the East China Sea and Republic of China to the south...
n 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 historically limited the competition of web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
s in Korea, as no major SSL libraries or web browsers supported the SEED algorithm, requiring users to use an ActiveX
ActiveX
ActiveX is a framework for defining reusable software components in a programming language-independent way. Software applications can then be composed from one or more of these components in order to provide their functionality....
control in Internet Explorer
Internet Explorer
Windows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...
for secure web sites. As of late 2009, the NSS
Network Security Services
In computing, Network Security Services comprises a set of libraries designed to support cross-platform development of security-enabled client and server applications. NSS provides a complete open-source implementation of crypto libraries supporting SSL and S/MIME...
software security library in Mozilla's Gecko platform has implemented support for SEED and Mozilla Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...
as of 3.5.4 supports SEED. Unfortunately support for SEED alone is not enough to allow for secure transactions with Korean web services.
SEED is a 16-round Feistel network with 128-bit blocks
Block size (cryptography)
In modern cryptography, symmetric key ciphers are generally divided into stream ciphers and block ciphers. Block ciphers operate on a fixed length string of bits. The length of this bit string is the block size...
and a 128-bit key
Key size
In cryptography, key size or key length is the size measured in bits of the key used in a cryptographic algorithm . An algorithm's key length is distinct from its cryptographic security, which is a logarithmic measure of the fastest known computational attack on the algorithm, also measured in bits...
. It uses two 8 × 8 S-boxes which, like those of SAFER
SAFER
In cryptography, SAFER is the name of a family of block ciphers designed primarily by James Massey on behalf of Cylink Corporation. The early SAFER K and SAFER SK designs share the same encryption function, but differ in the number of rounds and the key schedule...
, are derived from discrete exponentiation
Exponentiation
Exponentiation is a mathematical operation, written as an, involving two numbers, the base a and the exponent n...
(in this case, x247 and x251 – plus some "incompatible operations"). It also has some resemblance to MISTY1
MISTY1
In cryptography, MISTY1 is a block cipher designed in 1995 by Mitsuru Matsui and others for Mitsubishi Electric.MISTY1 is one of the selected algorithms in the European NESSIE project, and has been recommended for Japanese government use by the CRYPTREC project."MISTY" can stand for "Mitsubishi...
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
Key schedule
[[Image:DES-key-schedule.png|thumbnail|220px|The key schedule of DES [[Image:DES-key-schedule.png|thumbnail|220px|The key schedule of DES [[Image:DES-key-schedule.png|thumbnail|220px|The key schedule of DES ("[[Image:DES-key-schedule.png|thumbnail|220px|The key schedule of DES ("...
, 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
Tiny Encryption Algorithm
In cryptography, the Tiny Encryption Algorithm is a block cipher notable for its simplicity of description and implementation, typically a few lines of code...
) from the Golden ratio
Golden ratio
In mathematics and the arts, two quantities are in the golden ratio if the ratio of the sum of the quantities to the larger quantity is equal to the ratio of the larger quantity to the smaller one. The golden ratio is an irrational mathematical constant, approximately 1.61803398874989...
.
External links
- Blog about SEED in Korea
- 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
- as3seed (English)