AVT Working Group                                              S. Yoon 
Internet Draft                                                  J. Kim 
Expires: March 2009                                             H. Kim 
                                                              H. Jeong 
                                                                Y. Won 
                                     Korea Information Security Agency 
                                                    September 29, 2008 
 
                                      
      The SEED Cipher Algorithm and Its Use with the Secure Real-time 
                         Transport Protocol (SRTP) 
                        draft-ietf-avt-seed-srtp-06 


Status of this Memo 

   By submitting this Internet-Draft, each author represents that       
   any applicable patent or other IPR claims of which he or she is       
   aware have been or will be disclosed, and any of which he or she       
   becomes aware will be disclosed, in accordance with Section 6 of       
   BCP 79. 

   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups.  Note that 
   other groups may also distribute working documents as Internet- 
   Drafts. 

   Internet-Drafts are draft documents valid for a maximum of six months 
   and may be updated, replaced, or obsoleted by other documents at any 
   time.  It is inappropriate to use Internet-Drafts as reference 
   material or to cite them other than as "work in progress." 

   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/ietf/1id-abstracts.txt 

   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html 

   This Internet-Draft will expire on March 29, 2009. 

Copyright Notice 

   Copyright (C) The IETF Trust (2008). 

Abstract 

   This document describes the use of the SEED block cipher algorithm in 
   the Secure Real-time Transport Protocol (SRTP) for providing 
   confidentiality for the Real-time Transport Protocol (RTP) traffic 
 
 
Yoon, et al.           Expires March 29, 2009                 [Page 1] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

   and for the control traffic for RTP, the Real-time Transport Control 
   Protocol (RTCP). 

Table of Contents 

    
   1. Introduction.................................................3 
      1.1. SEED....................................................3 
      1.2. Terminology.............................................3 
   2. Cipher Suite Definitions.....................................3 
      2.1. Counter.................................................3 
         2.1.1. Key Derivation: SEED-CTR PRF.......................4 
      2.2. Counter with CBC-MAC (CCM)..............................4 
      2.3. Galois/Counter Mode (GCM)...............................5 
   3. Security Considerations......................................6 
   4. References...................................................7 
      4.1. Normative References....................................7 
      4.2. Informative References..................................7 
   APPENDIX A: Test Vectors........................................8 
      A.1. SEED-CTR Test Vectors...................................8 
      A.2. SEED-CCM Test Vectors...................................9 
      A.3. SEED-GCM Test Vectors..................................10 
   Author's Addresses.............................................11 
 























 
 
Yoon, et al.           Expires March 29, 2009                 [Page 2] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

1. Introduction 

   This document describes the use of the SEED [RFC4009] block cipher 
   algorithm in the Secure Real-time Transport Protocol (SRTP) [RFC3711] 
   for providing confidentiality for the Real-time Transport Protocol 
   (RTP) [RFC3550] traffic and for the control traffic for RTP, the 
   Real-time Transport Control Protocol (RTCP) [RFC3550]. 

1.1. SEED 

   SEED is a Korean National Industrial Association standard [TTASSEED] 
   and is widely used in South Korea for electronic commerce and 
   financial services that are operated on wired and wireless 
   communications. 

   SEED is a 128-bit symmetric key block cipher that has been developed 
   by KISA (Korea Information Security Agency) and a group of experts 
   since 1998. The input/output block size of SEED is 128-bit and the 
   key length is also 128-bit. SEED has a 16-round Feistel structure.  

1.2. Terminology 

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
   document are to be interpreted as described in [RFC-2119]. 

2. Cipher Suite Definitions 

   All symmetric block cipher algorithms share common characteristics 
   and valuables, including mode, key size, weak keys, and block size. 
   The following sections contain description of the relevant 
   characteristics of SEED. 

   SEED does not have any restrictions for modes of operation that are 
   used with this block cipher. We define three modes of running SEED 
   and an implementation of this specification may choose to operate in 
   one of them. 

2.1. Counter 

   Section 4.1.1 of [RFC3711] defines AES counter mode encryption, which 
   it refers to as AES-CM. SEED counter mode is defined in a similar 
   manner, and is denoted as SEED-CTR. The plaintext inputs to the block 
   cipher are formed as in AES-CM, and the block cipher outputs are 
   processed as in AES-CM. The only difference in the processing is that 
   SEED-CTR uses SEED as the underlying encryption primitive. 
   Implementations of this specification MUST use SEED-CTR in 
   conjunction with an authentication function. The pre-defined 
 
 
Yoon, et al.           Expires March 29, 2009                 [Page 3] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

   authentication transform for SRTP is HMAC-SHA1 [RFC 2104]. SEED-CTR 
   uses a 112-bit salt as an input, as does AES-CM. The default session 
   authentication key-length SHALL be 160 bits, the default 
   authentication tag length SHALL be 80 bits, and the 
   SRTP_PREFIX_LENGTH SHALL be zero for HMAC-SHA1. For SRTP, smaller 
   values are NOT RECOMMENDED, but MAY be used after careful 
   consideration of the issues in section 7.5 and 9.5 of [RFC3711].  

2.1.1. Key Derivation: SEED-CTR PRF 

   Section 4.3.3 of [RFC3711] defines the AES-128 counter mode key 
   derivation function, which it refers to as "AES-CM PRF". The SEED-CTR 
   PRF is defined in a similar manner. 

   The currently defined PRF, keyed by the 128-bit master key, has an 
   input block size m = 128 and can produce n-bit outputs for n up to 
   2^23. PRF_n(k_master, x) SHALL be SEED in Counter Mode as described 
   in section 2.1, applied to key k_master, and IV equal to (x*2^16), 
   and with the output keystream truncated to the first (left-most) n 
   bits. 

2.2. Counter with CBC-MAC (CCM) 

   CCM is a generic authenticate-and-encrypt block cipher mode [RFC3610]. 
   In this specification, CCM used with the SEED block cipher is denoted 
   as SEED-CCM. 

   SEED-CCM first authenticates and then encrypts a message to construct 
   an SRTP packet. This does not comply with the SRTP packet processing 
   defined in section 3.3 of [RFC3711].  

   SEED-CCM has two parameters: 

     M   M indicates the size of the authentication tag. In SRTP, a full 
         80-bit authentication-tag SHOULD be used, but a shorter tag or 
         even a zero-length tag MAY be used under certain conditions to 
         support either of the following two application environments 
         described in section 7.5 of [RFC3711]. Implementations of this 
         specification MUST support M values of 10 octets, and MAY 
         support M values of less than 10 octets. 

     L   L indicates the size of the length field in octets. In SRTP, 
         the size of the length field is 16 bits, i.e., L is 2. 





 
 
Yoon, et al.           Expires March 29, 2009                 [Page 4] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

   SEED-CCM has four inputs: 

     Key 

         A single key is used to calculate the authentication tag using 
         CBC-MAC and to perform payload encryption using counter mode. 
         SEED only supports a key size of 128 bits. 

     Nonce 

         The size of the nonce depends on the value selected for the 
         parameter L. With SRTP, L equals 2 and hence the nonce size 
         equals 13 octets. The SEED-CCM nonce is defined as the most 
         significant 104 bits of the initialization vector (IV) defined 
         in section 4.1.1 of [RFC3711]. 

     Payload 

         The payload of the RTP packet. 

     Additional Authentication Data (AAD) 

         The header of the RTP packet. 

   SEED-CCM generates one output: The final result c consists of the 
   encrypted RTP payload followed by the authentication tag. 

2.3. Galois/Counter Mode (GCM) 

   GCM is a block cipher mode of operation providing both 
   confidentiality and data origin authentication [GCM]. GCM used with 
   the SEED block cipher is denoted as SEED-GCM. 

   SEED-GCM has four inputs: a key, a payload, and additional 
   authenticated data (AAD) all described in section 2.1.2, and an 
   initialization vector (IV). 

   SEED-GCM makes use of an IV. The size of the IV is 12 octets. 
   Implementations of this specification MUST support this IV size. The 
   SEED-GCM IV is defined as the most significant 96 bits of the 
   initialization vector (IV) defined in section 4.1.1 of [RFC3711]. 






 
 
Yoon, et al.           Expires March 29, 2009                 [Page 5] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

3. Security Considerations 

   No security problem has been found on SEED. SEED is secure against 
   all known attacks including Differential cryptanalysis, linear 
   cryptanalysis, and related key attacks. The best known attack is only 
   an exhaustive search for the key. For further security considerations, 
   the reader is encouraged to read [SEED-EVAL]. 

   See [RFC3610] and [GCM] for security considerations regarding the CCM 
   and GCM Modes of Operation, respectively. In the context of SRTP, the 
   procedures in [RFC3711] ensure the critical property of non-reuse of 
   counter values. 



































 
 
Yoon, et al.           Expires March 29, 2009                 [Page 6] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

4. References 

4.1. Normative References 

   [GCM]       M. Dworkin, "NIST Special Publication 800-38D: 
               Recommendation for Block Cipher Modes of Operation: 
               Galois/Counter Mode (GCM) and GMAC.", U.S. National 
               Institute of Standards and Technology 
               http://csrc.nist.gov/Publications/nistpubs/800-38D/SP-
               800-38D.pdf. 

   [RFC2104]   H. Krawczyk, M. Bellare, and R. Canetti, "HMAC: keyed-
               Hashing for Message Authentication", RFC 2104, February 
               1997. 

   [RFC2119]   S. Bradner, "Key words for use in RFCs to Indicate 
               Requirement Levels", BCP 14, RFC 2119, March 1997. 

   [RFC3550]   H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, 
               "RTP: A Transport Protocol for Real-time Applications", 
               RFC 3550, July 2003. 

   [RFC3610]   D. Whiting, R. Housley, and N. Ferguson, "Counter with 
               CBC-MAC (CCM), RFC 3610, September 2003. 
 
   [RFC3711]   M. Baugher, D. McGrew, M. Naslund, E.Carrara, K. Norrman,        
               "The Secure Real-time Transport Protocol (SRTP)",            
               RFC 3711, March 2004. 

   [RFC4009]   J. Park, S. Lee, J. Kim, and J. Lee, "The SEED Encryption 
               Algorithm", RFC 4009, February 2005. 

4.2. Informative References 

   [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/kisa/seed/data/Document_pdf/SEED_Ev
               aluation_Report_by_CRYPTREC.pdf. 

   [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. 

 
 
Yoon, et al.           Expires March 29, 2009                 [Page 7] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

APPENDIX A: Test Vectors 

  All values are in hexadecimal. 

A.1. SEED-CTR Test Vectors 

   Session Key:               0c5ffd37a11edc42c325287fc0604f2e 

   Rollover Counter:          00000000 

   Sequence Number:           315e 

   SSRC:                      20e8f5eb 

   Session Salt:              cd3a7c42c671e0067a2a2639b43a 

   Initial Vector:            cd3a7c42e69915ed7a2a263985640000 

   RTP Payload:               f57af5fd4ae19562976ec57a5a7ad55a                  
                              5af5c5e5c5fdf5c55ad57a4a7272d572                  
                              62e9729566ed66e97ac54a4a5a7ad5e1                  
                              5ae5fdd5fd5ac5d56ae56ad5c572d54a                  
                              e54ac55a956afd6aed5a4ac562957a95                  
                              16991691d572fd14e97ae962ed7a9f4a                  
                              955af572e162f57a956666e17ae1f54a                  
                              95f566d54a66e16e4afd6a9f7ae1c5c5                  
                              5ae5d56afde916c5e94a6ec56695e14a                  
                              fde1148416e94ad57ac5146ed59d1cc5 

   Encrypted RTP Payload:     df5a89291e7e383e9beff765e691a737                  
                              70d5b9319162589956544855ce99a71f                  
                              48c90e413272cbb576447855e691a78c                  
                              70c58101a9c56889666458ca7999a727                  
                              cf6ab98ec1f55036e1db78dade7e08f8                  
                              3cb96a4581ed5048e5fbdb7d5191ed27                  
                              bf7a89a6b5fd582699e754fec60a8727                  
                              bfd51a011ef94c32467c5880c60ab7a8                  
                              70c5a9bea976bb99e5cb5cdada7e9327                  
                              d7c168504276e7897644267169766ea8  

   Authentication Tag:        28b7a194b1e3df3c573d 






 
 
Yoon, et al.           Expires March 29, 2009                 [Page 8] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

A.2. SEED-CCM Test Vectors 

   Key:                       974bee725d44fc3992267b284c3c6750 

   Rollover Counter:          00000000 

   Sequence Number:           315e 

   SSRC:                      20e8f5eb 

   Nonce:                     b446cb282d9c7cf8d620670d72 

   Payload:                   f57af5fd4ae19562976ec57a5a7ad55a                  
                              5af5c5e5c5fdf5c55ad57a4a7272d572                  
                              62e9729566ed66e97ac54a4a5a7ad5e1                  
                              5ae5fdd5fd5ac5d56ae56ad5c572d54a                  
                              e54ac55a956afd6aed5a4ac562957a95                  
                              16991691d572fd14e97ae962ed7a9f4a                  
                              955af572e162f57a956666e17ae1f54a                  
                              95f566d54a66e16e4afd6a9f7ae1c5c5                  
                              5ae5d56afde916c5e94a6ec56695e14a                  
                              fde1148416e94ad57ac5146ed59d1cc5 

   AAD:                       8008315ebf2e6fe020e8f5eb 

   Encrypted RTP Payload:     39b63931862d59ae5ba209b696b61996                  
                              96390929093139099619b686bebe19be                  
                              ae25be59aa21aa25b609868696b6192d                  
                              9629311931960919a629a61909be1986                  
                              2986099659a631a621968609ae59b659                  
                              da55da5d19be31d825b625ae21b65386                  
                              599639be2dae39b659aaaa2db62d3986                  
                              5939aa1986aa2da28631a653b62d0909                  
                              962919a63125da092586a209aa592d86                  
                              312dd848da258619b609d8a21951d009 

   Authentication Tag:        1ea5f4dabf178ebf8cec 

    








 
 
Yoon, et al.           Expires March 29, 2009                 [Page 9] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

A.3. SEED-GCM Test Vectors 

   Key:                       e91e5e75da65554a48181f3846349562 

   Rollover Counter:          00000000 

   Sequence Number:           315e 

   SSRC:                      20e8f5eb 

   Initial Vector:            a679885189eb9982113f7152 

   Payload:                   f57af5fd4ae19562976ec57a5a7ad55a                  
                              5af5c5e5c5fdf5c55ad57a4a7272d572                  
                              62e9729566ed66e97ac54a4a5a7ad5e1                  
                              5ae5fdd5fd5ac5d56ae56ad5c572d54a                  
                              e54ac55a956afd6aed5a4ac562957a95                  
                              16991691d572fd14e97ae962ed7a9f4a                  
                              955af572e162f57a956666e17ae1f54a                  
                              95f566d54a66e16e4afd6a9f7ae1c5c5                  
                              5ae5d56afde916c5e94a6ec56695e14a                  
                              fde1148416e94ad57ac5146ed59d1cc5 

   AAD:                       8008315ebf2e6fe020e8f5eb 

   Encrypted RTP Payload:     05863f37b87ac8ac5977b2bb66c22d70                  
                              bc5e4240c7d175adc56273aaafe63a3d                  
                              3b28292f2484056e14cc3b1bdd59bffa                  
                              8e8f3ad87d92657a1f673a9a8b69e1d7                  
                              feeab9c0b0892892cad0e544473970b8                  
                              ed8c4ea0482be1a2275089198f336a31                  
                              343b6be5ac00065a7d8ed54b92d65d07                  
                              a14a243948b327d391fe4405bd3bbbe3                  
                              3dcb6d42cc8d9e71d4e181f7ef146438                  
                              e2793f7a7cecd803eabe1ce4f2dd62ac 

   Authentication Tag:        d35f789b1ee2ff180c1d 
 









 
 
Yoon, et al.           Expires March 29, 2009                [Page 10] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

Author's Addresses 

   Seokung Yoon 
   Korea Information Security Agency 
   78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA 
   Phone: +82-2-405-5361 
   Email: seokung@kisa.or.kr 
    

   Joongman Kim 
   Korea Information Security Agency 
   78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA 
   Phone: +82-2-405-5314 
   Email: seopo@kisa.or.kr 
    

   Hyun Kim 
   Korea Information Security Agency 
   78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA 
   Phone: +82-2-405-5355 
   Email: hkim@kisa.or.kr 
    

   Hyuncheol Jeong 
   Korea Information Security Agency 
   78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA 
   Phone: +82-2-405-5360 
   Email: hcjung@kisa.or.kr 
    

   Yoojae Won 
   Korea Information Security Agency 
   78, Karak-dong, Songpa-Gu, Seoul 138-160, KOREA 
   Phone: +82-2-405-5300 
   Email: yjwon@kisa.or.kr 
    











 
 
Yoon, et al.           Expires March 29, 2009                [Page 11] 

Internet-Draft                SEED-SRTP             September 29, 2008 
    

Copyright Statement 

   Copyright (C) The IETF Trust (2008). 

   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, THE IETF TRUST 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. 

Acknowledgment 

   Funding for the RFC Editor function is provided by the IETF 
   Administrative Support Activity (IASA). 




 
 
Yoon, et al.           Expires March 29, 2009                [Page 12]