SEED in TLS: Addition of SEED Cipher Suites to Transport Layer Security (TLS)
Six TLS cipher suites that use the SEED block cipher, a Korean standard, for bulk encryption.
Lee, H.J., Yoon, J.H., and J.I. Lee, "Addition of SEED Cipher Suites to Transport Layer Security (TLS)", RFC 4162, DOI 10.17487/RFC4162, September 2005, <https://www.rfc-editor.org/info/rfc4162>.
@misc{rfc4162,
series = {Request for Comments},
number = 4162,
howpublished = {RFC 4162},
publisher = {RFC Editor},
doi = {10.17487/RFC4162},
url = {https://www.rfc-editor.org/info/rfc4162},
author = {H.J. Lee and J.H. Yoon and J.I. Lee},
title = {{Addition of SEED Cipher Suites to Transport Layer Security (TLS)}},
pagetotal = 6,
year = 2005,
month = sep,
} RFC text
Contents
Network Working Group H.J. Lee
Request for Comments: 4162 J.H. Yoon
Category: Standards Track J.I. Lee
KISA
August 2005
Addition of SEED Cipher Suites to Transport Layer Security (TLS)
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document proposes the addition of new cipher suites to the
Transport Layer Security (TLS) protocol to support the SEED
encryption algorithm as a bulk cipher algorithm.
1. Introduction
This document proposes the addition of new cipher suites to the TLS
protocol [TLS] to support the SEED encryption algorithm as a bulk
cipher algorithm.
1.1. SEED
SEED is a symmetric encryption algorithm that was developed by Korea
Information Security Agency (KISA) and a group of experts, beginning
in 1998. The input/output block size of SEED is 128-bit and the key
length is also 128-bit. SEED has the 16-round Feistel structure. A
128-bit input is divided into two 64-bit blocks and the right 64-bit
block is an input to the round function with a 64-bit subkey
generated from the key scheduling.
SEED is easily implemented in various software and hardware because
it is designed to increase the efficiency of memory storage and the
simplicity of generating keys without degrading the security of the
algorithm. In particular, it can be effectively adopted in a
computing environment that has a restricted resources such as mobile
devices, smart cards, and so on.
SEED is a national industrial association standard [TTASSEED] and is
widely used in South Korea for electronic commerce and financial
services operated on wired & wireless PKI.
The algorithm specification and object identifiers are described in
[SEED-ALG]. The SEED homepage,
http://www.kisa.or.kr/seed/seed_eng.html, contains a wealth of
information about SEED, including detailed specification, evaluation
report, test vectors, and so on.
1.2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this document (in uppercase,
as shown) are to be interpreted as described in [RFC2119].
2. Proposed Cipher Suites
The new cipher suites proposed here have the following definitions:
CipherSuite TLS_RSA_WITH_SEED_CBC_SHA = { 0x00, 0x96};
CipherSuite TLS_DH_DSS_WITH_SEED_CBC_SHA = { 0x00, 0x97};
CipherSuite TLS_DH_RSA_WITH_SEED_CBC_SHA = { 0x00, 0x98};
CipherSuite TLS_DHE_DSS_WITH_SEED_CBC_SHA = { 0x00, 0x99};
CipherSuite TLS_DHE_RSA_WITH_SEED_CBC_SHA = { 0x00, 0x9A};
CipherSuite TLS_DH_anon_WITH_SEED_CBC_SHA = { 0x00, 0x9B};
3. Cipher Suite Definitions
3.1. Cipher
All the cipher suites described here use SEED in cipher block
chaining (CBC) mode as a bulk cipher algorithm. SEED is a 128-bit
block cipher with 128-bit key size.
3.2. Hash
All the cipher suites described here use SHA-1 [SHA-1] in an HMAC
construction as described in section 5 of [TLS].
3.3. Key Exchange
The cipher suites defined here differ in the type of certificate and
key exchange method. They use the following options:
CipherSuite Key Exchange Algorithm
TLS_RSA_WITH_SEED_CBC_SHA RSA
TLS_DH_DSS_WITH_SEED_CBC_SHA DH_DSS
TLS_DH_RSA_WITH_SEED_CBC_SHA DH_RSA
TLS_DHE_DSS_WITH_SEED_CBC_SHA DHE_DSS
TLS_DHE_RSA_WITH_SEED_CBC_SHA DHE_RSA
TLS_DH_anon_WITH_SEED_CBC_SHA DH_anon
For the meanings of the terms RSA, DH_DSS, DH_RSA, DHE_DSS, DHE_RSA,
and DH_anon, please refer to sections 7.4.2 and 7.4.3 of [TLS].
4. Security Considerations
It is not believed that the new cipher suites are less secure than
the corresponding older ones. No security problem has been found on
SEED. SEED is robust against known attacks, including differential
cryptanalysis, linear cryptanalysis, and related key attacks, etc.
SEED has gone through wide public scrutinizing procedures.
Especially, it has been evaluated and also considered
cryptographically secure by trustworthy organizations such as ISO/IEC
JTC 1/SC 27 and Japan CRYPTREC (Cryptography Research and Evaluation
Committees) [ISOSEED] [CRYPTREC]. SEED has been submitted to several
other standardization bodies such as ISO (ISO/IEC 18033-3) and IETF
S/MIME Mail Security [SEED-SMIME]; and it is under consideration.
For further security considerations, the reader is encouraged to read
[SEED-EVAL].
For other security considerations, please refer to the security of
the corresponding older cipher suites described in [TLS] and
[AES-TLS].
5. References
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[TLS] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",
RFC 2246, January 1999.
[TTASSEED] Telecommunications Technology Association (TTA), South
Korea, "128-bit Symmetric Block Cipher (SEED)",
TTAS.KO-12.0004, September 1998, (In Korean)
http://www.tta.or.kr/English/new/main/index.htm.
5.2. Informative References
[AES-TLS] Chown, P., "Advanced Encryption Standard (AES)
Ciphersuites for Transport Layer Security (TLS)", RFC
3268, June 2002.
[CRYPTREC] Information-technology Promotion Agency (IPA), Japan,
CRYPTREC. "SEED Evaluation Report", February 2002,
http://www.kisa.or.kr/seed/seed_eng.html.
[ISOSEED] ISO/IEC JTC 1/SC 27, "National Body contributions on NP
18033 'Encryption Algorithms' in Response to SC 27 N2563
(ATT.3 Korea Contribution)", ISO/IEC JTC 1/SC 27 N2656r1
(n2656_3.zip), October 2000.
[SEED-EVAL] KISA, "Self Evaluation Report",
http://www.kisa.or.kr/seed/seed_eng.html.
[SEED-ALG] Park, J., Lee, S., Kim, J., and J. Lee, "The SEED
Encryption Algorithm", RFC 4009, February 2005.
[SEED-SMIME] Park, J., Lee, S., Kim, J., and J. Lee, "Use of the SEED
Encryption Algorithm in Cryptographic Message Syntax
(CMS)", RFC 4010, February 2005.
[SHA-1] FIPS PUB 180-1, "Secure Hash Standard", National
Institute of Standards and Technology, U.S. Department
of Commerce, April 17, 1995.
Authors' Addresses
Hyangjin Lee
Korea Information Security Agency
Phone: +82-2-405-5446
Fax : +82-2-405-5319
EMail: jiinii@kisa.or.kr
Jaeho Yoon
Korea Information Security Agency
Phone: +82-2-405-5434
Fax : +82-2-405-5219
EMail: jhyoon@kisa.or.kr
Jaeil Lee
Korea Information Security Agency
Phone: +82-2-405-5300
Fax : +82-2-405-5219
EMail: jilee@kisa.or.kr
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
ISO Plain Language
On this page
§1What This Document Adds
This document proposes the addition of new cipher suites to the Transport Layer Security (TLS) protocol, as specified in the first version of TLS, to support the SEED encryption algorithm as a bulk cipher algorithm.
The cipher suite is the single name a TLS client and server use to agree on how a connection is protected. In the names used here, the parts of the name state the key exchange algorithm, the bulk cipher and the hash function, so the six suites differ only in the first of those.
A TLS cipher suite is a single name that stands for three choices: how to agree a key, how to encrypt the data, and how to check it arrived intact. This document adds six new names, all of which use the same cipher and differ only in the first choice.
§1.1The SEED Block Cipher
SEED is a symmetric encryption algorithm that was developed by the Korea Information Security Agency (KISA) and a group of experts, beginning in 1998. Its input and output block size is 128 bits and its key length is also 128 bits. SEED has the 16-round Feistel structure: a 128-bit input is divided into two 64-bit blocks, and the right 64-bit block is an input to the round function with a 64-bit subkey generated from the key scheduling.
SEED is easily implemented in various software and hardware, because it is designed to increase the efficiency of memory storage and the simplicity of generating keys without degrading the security of the algorithm. In particular, it can be effectively adopted in a computing environment that has restricted resources, such as mobile devices and smart cards.
SEED is a national industrial association standard of the Telecommunications Technology Association of South Korea, and it is widely used in South Korea for electronic commerce and financial services operated on wired and wireless PKI. The algorithm specification and its object identifiers are described in RFC 4009.
SEED encrypts 128 bits of data at a time with a 128-bit key, and runs 16 rounds of a Feistel structure, where each round mixes one half of the block into the other. It was designed to be small and quick enough to run on a smart card or a phone.
- Block size128 bits for both input and output.
- Key length128 bits.
- Structure16-round Feistel structure.
- Round function inputThe right 64-bit block, with a 64-bit subkey from the key schedule.
- Developed byThe Korea Information Security Agency and a group of experts, from 1998.
- Intended forEnvironments with restricted resources, such as mobile devices and smart cards.
§2The Six New Cipher Suites
The new cipher suites have the following definitions, each with its two-byte code point:
TLS_RSA_WITH_SEED_CBC_SHA, { 0x00, 0x96 }TLS_DH_DSS_WITH_SEED_CBC_SHA, { 0x00, 0x97 }TLS_DH_RSA_WITH_SEED_CBC_SHA, { 0x00, 0x98 }TLS_DHE_DSS_WITH_SEED_CBC_SHA, { 0x00, 0x99 }TLS_DHE_RSA_WITH_SEED_CBC_SHA, { 0x00, 0x9A }TLS_DH_anon_WITH_SEED_CBC_SHA, { 0x00, 0x9B }
The code points run from 0x96 to 0x9B, and the name of each suite states its key exchange, its bulk cipher and its hash function: SEED in CBC mode, and SHA-1.
Each suite has a two-byte number that goes on the wire during the handshake. The numbers for these six are 0x96 through 0x9B.
- 0x96TLS_RSA_WITH_SEED_CBC_SHA — Key exchange algorithm RSA.
- 0x97TLS_DH_DSS_WITH_SEED_CBC_SHA — Key exchange algorithm DH_DSS.
- 0x98TLS_DH_RSA_WITH_SEED_CBC_SHA — Key exchange algorithm DH_RSA.
- 0x99TLS_DHE_DSS_WITH_SEED_CBC_SHA — Key exchange algorithm DHE_DSS.
- 0x9ATLS_DHE_RSA_WITH_SEED_CBC_SHA — Key exchange algorithm DHE_RSA.
- 0x9BTLS_DH_anon_WITH_SEED_CBC_SHA — Key exchange algorithm DH_anon.
§3.1The Cipher and the Hash
All the cipher suites described here use SEED in cipher block chaining (CBC) mode as a bulk cipher algorithm. SEED is a 128-bit block cipher with a 128-bit key size.
All the cipher suites described here also use SHA-1 in an HMAC construction, as described in Section 5 of the TLS specification. HMAC is the construction that computes the message authentication code: a value computed from the record data and a secret key, which the receiving side recomputes to check that the record was not altered in transit.
Every one of the six suites encrypts the same way, with SEED running in CBC mode, and checks the records the same way, with a keyed hash built from SHA-1. The two halves of a TLS record therefore look identical whichever suite is chosen.
§3.3The Key Exchange in Each Suite
The cipher suites defined here differ in the type of certificate and the key exchange method. They use the following options:
TLS_RSA_WITH_SEED_CBC_SHA: RSATLS_DH_DSS_WITH_SEED_CBC_SHA: DH_DSSTLS_DH_RSA_WITH_SEED_CBC_SHA: DH_RSATLS_DHE_RSA_WITH_SEED_CBC_SHA: DHE_RSATLS_DHE_DSS_WITH_SEED_CBC_SHA: DHE_DSSTLS_DH_anon_WITH_SEED_CBC_SHA: DH_anon
For the meanings of the terms RSA, DH_DSS, DH_RSA, DHE_DSS, DHE_RSA and DH_anon, the document points the reader to Sections 7.4.2 and 7.4.3 of the TLS specification.
Half of the suites use RSA to establish the key and half use Diffie-Hellman, in its fixed, ephemeral and anonymous forms. Choosing between the six is therefore a choice of key exchange method, not of encryption.
| Cipher suite | Key exchange algorithm |
|---|---|
| TLS_RSA_WITH_SEED_CBC_SHA | RSA |
| TLS_DH_DSS_WITH_SEED_CBC_SHA | DH_DSS |
| TLS_DH_RSA_WITH_SEED_CBC_SHA | DH_RSA |
| TLS_DHE_DSS_WITH_SEED_CBC_SHA | DHE_DSS |
| TLS_DHE_RSA_WITH_SEED_CBC_SHA | DHE_RSA |
| TLS_DH_anon_WITH_SEED_CBC_SHA THIS RFC | DH_anon |
§4Security Considerations
The document says it is not believed that the new cipher suites are less secure than the corresponding older ones, and that no security problem has been found on SEED. SEED is robust against known attacks, including differential cryptanalysis, linear cryptanalysis and related key attacks, and it has gone through wide public scrutiny. It has been evaluated and considered cryptographically secure by trustworthy organizations such as ISO/IEC JTC 1/SC 27 and the Japan CRYPTREC committees. SEED has been submitted to several other standardization bodies, such as ISO with ISO/IEC 18033-3 and the IETF S/MIME Mail Security protocol, and it is under consideration. For further security considerations, the reader is encouraged to read the SEED self evaluation report.
For other security considerations, the document refers the reader to the security of the corresponding older cipher suites described in the TLS specification and in the AES cipher suites for TLS.
The document reports that SEED has been examined for the usual attacks on block ciphers and has been reviewed by outside standards bodies, and that the six suites are not expected to be weaker than the older suites they sit beside.