<?xml version="1.0"?>
<?rfc symrefs='no'?>
<?rfc sortrefs='no'?>
<?rfc toc='yes'?>
<?rfc strict='no'?>

<!DOCTYPE rfc SYSTEM 'rfc2119.dtd' [
<!ENTITY rfc2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc2407.dtd' [
<!ENTITY rfc2407 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2407.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4312.dtd' [
<!ENTITY rfc4312 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4312.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4132.dtd' [
<!ENTITY rfc4132 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4132.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc3657.dtd' [
<!ENTITY rfc3657 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3657.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4301.dtd' [
<!ENTITY rfc4301 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4301.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4302.dtd' [
<!ENTITY rfc4302 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4302.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4303.dtd' [
<!ENTITY rfc4303 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4303.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4306.dtd' [
<!ENTITY rfc4306 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4306.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4306.dtd' [
<!ENTITY rfc4306 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4306.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc2411.dtd' [
<!ENTITY rfc2411 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2411.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4051.dtd' [
<!ENTITY rfc4051 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4051.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc3713.dtd' [
<!ENTITY rfc3713 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3713.xml'>
]>
<!DOCTYPE rfc SYSTEM 'rfc4106.dtd' [
<!ENTITY rfc4106 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4106.xml'>
]>

<rfc ipr="pre5378Trust200902" category="std" docName="draft-kato-ipsec-camellia-gcm-02">


 <front>
   <title abbrev="The GCM Mode of Camellia in IPsec">
   The Use of Galois/Counter Mode (GCM) Modes of Operation for Camellia and Its Use With IPsec
   </title>
    <author initials="A." surname="Kato"
            fullname="Akihiro Kato">
     <organization>
     NTT Software Corporation
     </organization>
    <address>
    <phone>+81-45-212-7614</phone>
    <facsimile>+81-45-212-7528</facsimile>
    <email>kato.akihiro@po.ntts.co.jp</email>
    </address>
    </author>
    
    <author initials="S." surname="Kanno"
      fullname="Satoru Kanno">
      <organization>
	NTT Software Corporation
      </organization>
      <address>
	<phone>+81-45-212-7577</phone>
	<facsimile>+81-45-212-9800</facsimile>
	<email>kanno.satoru@po.ntts.co.jp</email>
      </address>
    </author>
 
    <author initials="M." surname="Kanda"
            fullname="Masayuki Kanda">
     <organization>
     NTT
     </organization>
    <address>
    <phone>+81-46-859-2437</phone>
    <facsimile>+81-46-859-3365</facsimile>
    <email>kanda@isl.ntt.co.jp</email>
    </address>
   </author>

<!-- make formatting date -->
   <date/>

    <area>Security</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>Request for Comments</keyword>
    <keyword>IPsec</keyword>
    <keyword>Camellia</keyword>
    <keyword>Block Cipher</keyword>
    <keyword>Mode of operation</keyword>
    <keyword>GCM</keyword>

<abstract>
<t>
   This document describes the use of the Camellia block ciper algorithm 
   in Galois/Counter Mode (GCM) as an IPsec Encapsulating Security
   Payload (ESP) mechanism to provide confidentiality and data origin
   authentication.
</t>
</abstract>
</front>

<middle>

<section anchor="intro" title="Introduction">
<t>
   This document describes the use of the Camellia block cipher
   algorithm in GCM Mode (Camellia-GCM) , as an
   IPsec ESP mechanism to provide confidentiality, and data origin authentication.
    We refer to this method as Camellia-GCM-ESP.
</t>

<t>
   The algorithm specification and object identifiers are described in
   <xref target="RFC3713" />.
</t>

<t>
  GCM mode provides Counter mode (CTR) with data origin authentication.
  This document does not cover implementation details of GCM.  Those 
  details can be found in <xref target="GCM"/>. 
</t>


	<section title="Terminology">
   <t>
   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 <xref target="RFC2119" />.
   </t>
	</section>
</section>

<section title="Camelllia-GCM">

<t>
   Camellia-GCM comply with <xref target ="RFC4106"/> on following points:
   <artwork>
      - ESP Payload Data
      - Initialization Vector
      - Cipher text
      - Nonce Format
      - AAD Construction
      - Integrity Check Value
      - Packet Expansion
</artwork>
   
</t>
</section>

<section title ="IKE Conventions">
<t>
   This section describes the conventions used to generate keying
   material and salt values, for use with Camellia-GCM-ESP, using the
   Internet Key Exchange (IKE) <xref target = "RFC4306"/> protocol.  The identifiers and
   attributes needed to negotiate a security association using Camellia-GCM-ESP are also defined.
</t>
<section title=" Keying Material and Salt Values" anchor="KEYSALT">
<t>
   IKE makes use of a pseudo-random function (PRF) to derive keying
   material.  The PRF is used iteratively to derive keying material of
   arbitrary size, called KEYMAT.  Keying material is extracted from the
   output string without regard to boundaries.
</t>
<t>
   The size of the KEYMAT for the Camellia-GCM-ESP MUST be four octets longer
   than is needed for the associated Camellia key.  The keying material is
   used as follows:
</t>

<list style="hanging">
     <t hangText="Camellia-GCM-ESP with a 128 bit key">
<vspace blankLines="0" />
      The KEYMAT requested for each Camellia-GCM key is 20 octets.  The first
      16 octets are the 128-bit Camellia key, and the remaining four octets
      are used as the salt value in the nonce.</t>

     <t hangText=" Camellia-GCM-ESP with a 192 bit key">
<vspace blankLines="0" />
      The KEYMAT requested for each Camellia-GCM key is 28 octets.  The first
      24 octets are the 192-bit Camellia key, and the remaining four octets
      are used as the salt value in the nonce.</t>
     <t hangText="Camellia-GCM-ESP with a 256 bit key">
<vspace blankLines="0" />
      The KEYMAT requested for each Camellia GCM key is 36 octets.  The first
      32 octets are the 256-bit Camellia key, and the remaining four octets
      are used as the salt value in the nonce.</t>
</list>
</section>

<section title="Phase 1 Identifier">
<t>
   This document does not specify the conventions for using Camellia-GCM for
   IKE Phase 1 negotiations.  For Camellia-GCM to be used in this manner, a
   separate specification is needed, and an Encryption Algorithm
   Identifier needs to be assigned.  Implementations SHOULD use an IKE

   Phase 1 cipher that is at least as strong as Camellia-GCM.  The use of Camellia
   CBC <xref target="RFC4312"/> with the same key size used by Camellia-GCM-ESP is
   RECOMMENDED.
</t>
</section>

<section title = "Phase 2 Identifier">

<t>
   For IKE Phase 2 negotiations, IANA has assigned three ESP Transform
   Identifiers for Camellia-GCM with an eight-byte explicit IV:
</t>

<artwork>
      &lt;TBD1&gt; for Camellia-GCM with an 8 octet ICV;
      &lt;TBD2&gt; for Camellia-GCM with a 12 octet ICV; and
      &lt;TBD3&gt; for Camellia-GCM with a 16 octet ICV.
</artwork>
</section>

<section title="Key Length Attribute">
   <t>
   Because the Camellia supports three key lengths, the Key Length attribute
   MUST be specified in the IKE Phase 2 exchange <xref target = "RFC4306"/>.  The Key
   Length attribute MUST have a value of 128, 192, or 256.
  </t>
</section>
</section>

<section title="Test Vectors">
<t>
   This section contains 18 test vectors(TV), which can be used to confirm
   that an implementation has correctly implemented Camellia-GCM.
</t>

<artwork>
------ Spec Test Case 1 (Camellia-128) ------
KEY : 00000000000000000000000000000000
IV  : 000000000000000000000000
T   : f5574acc3148dfcb9015200631024df9

------ Spec Test Case 2 (Camellia-128) ------
KEY : 00000000000000000000000000000000
IV  : 000000000000000000000000
P   : 00000000000000000000000000000000
C   : defe3e0b5c54c94b4f2a0f5a46f6210d
T   : f672b94d192266c7c8c8dbb427cc989a

------ Spec Test Case 3 (Camellia-128) ------
KEY : feffe9928665731c6d6a8f9467308308
IV  : cafebabefacedbaddecaf888
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
C   : d0d94a13b632f337a0cc9955b94fa020c815f903aab12f1efaf2fe9d90f729a6
      cccbfa986ef2ff2c33de418d9a2529091cf18fe652c1cfde13f8260614bab815
T   : 86e318012dd8329dc9dae6a170f61b24

------ Spec Test Case 4 (Camellia-128) ------
KEY : feffe9928665731c6d6a8f9467308308
IV  : cafebabefacedbaddecaf888
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : d0d94a13b632f337a0cc9955b94fa020c815f903aab12f1efaf2fe9d90f729a6
      cccbfa986ef2ff2c33de418d9a2529091cf18fe652c1cfde13f82606
T   : 9f458869431576ea6a095456ec6b8101

------ Spec Test Case 5 (Camellia-128) ------
KEY : feffe9928665731c6d6a8f9467308308
IV  : cafebabefacedbad
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : 28fd7434d5cd424a5353818fc21a982460d20cf632eb1e6c4fbfca17d5abcf6a
      52111086162fe9570e7774c7a912aca3dfa10067ddaad40688645bdd
T   : e86f8f2e730c49d536f00fb5225d28b1

------ Spec Test Case 6 (Camellia-128) ------
KEY : feffe9928665731c6d6a8f9467308308
IV  : 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728
      c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : 2e582b8417c93f2ff4f6f7ee3c361e4496e710ee12433baa964987d02f42953e
      402e6f4af407fe08cd2f35123696014c34db19128df4056faebcd647
T   : ceae5569b2af8641572622731aed3e53

------ Spec Test Case 7 (Camellia-192) ------
KEY : 000000000000000000000000000000000000000000000000
IV  : 000000000000000000000000
T   : ba9ae89fddce4b51131e17c4d65ce587

------ Spec Test Case 8 (Camellia-192) ------
KEY : 000000000000000000000000000000000000000000000000
IV  : 000000000000000000000000
P   : 00000000000000000000000000000000
C   : 8f9c0aa2549714c88bb2665e8af86d41
T   : 783cff5c5aca7197320658a74279ab37

------ Spec Test Case 9 (Camellia-192) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c
IV  : cafebabefacedbaddecaf888
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
C   : 0f009e88410d84ad93c90d55efbe20ffa855492f4dfd0fb485c4f02f536feffb
      b4d967729e5c67f1de0750255cc500716ba483eb3b0a2bf607af28f6a60bb2e9
T   : 8d645a0b0e48d3c3b60a014157cb49b4

------ Spec Test Case 10 (Camellia-192) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c
IV  : cafebabefacedbaddecaf888
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : 0f009e88410d84ad93c90d55efbe20ffa855492f4dfd0fb485c4f02f536feffb
      b4d967729e5c67f1de0750255cc500716ba483eb3b0a2bf607af28f6
T   : 01b15bb5ab6fac0c422014e91eacbf2b

------ Spec Test Case 11 (Camellia-192) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c
IV  : cafebabefacedbad
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : 678b3dcb270faa206dc5f6fbb5014996e86d6f3e35cdcdfeb03b37b9b06ff4ff
      2682248823bd3c84124dc76af7bde3dd440c228b5efbc795dd80dfb6
T   : f876143d933214a5035ff0bb96ff650b

------ Spec Test Case 12 (Camellia-192) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c
IV  : 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728
      c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : 9733ea567c3bad2259ccd63ef7012f5de709e50b1fdc31f1a16db02ede1b66f1
      1dcc4d953f2d4d4671587b65882afbf9545fdb6deab22413d091b703
T   : 4b72e520b2521e63d240ed5c903216fa

------ Spec Test Case 13 (Camellia-256) ------
KEY : 0000000000000000000000000000000000000000000000000000000000000000
IV  : 000000000000000000000000
T   : 9cdb269b5d293bc5db9c55b057d9b591

------ Spec Test Case 14 (Camellia-256) ------
KEY : 0000000000000000000000000000000000000000000000000000000000000000
IV  : 000000000000000000000000
P   : 00000000000000000000000000000000
C   : 3d4b2cde666761ba5dfb305178e667fb
T   : 284b63bb143c40ce100fb4dea6bb617b

------ Spec Test Case 15 (Camellia-256) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV  : cafebabefacedbaddecaf888
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
C   : ad142c11579dd95e41f3c1f324dabc255864d920f1b65759d8f560d4948d4477
      58dfdcf77aa9f62581c7ff572a037f810cb1a9c4b3ca6ed638179b776549e092
T   : c912686270a2b9966415fca3be75c468

------ Spec Test Case 16 (Camellia-256) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV  : cafebabefacedbaddecaf888
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : ad142c11579dd95e41f3c1f324dabc255864d920f1b65759d8f560d4948d4477
      58dfdcf77aa9f62581c7ff572a037f810cb1a9c4b3ca6ed638179b77
T   : 4e4b178d8fe26fdc95e2e7246dd94bec

------ Spec Test Case 17 (Camellia-256) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV  : cafebabefacedbad
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : 6ca95fbb7d16577a9ef2fded94dc85b5d40c629f6bef2c649888e3cbb0ededc7
      810c04b12c2983bbbbc482e16e45c9215ae12c15c55f2f4809d06652
T   : e6472b8ebd331bfcc7c0fa63ce094461

------ Spec Test Case 18 (Camellia-256) ------
KEY : feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
IV  : 9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728
      c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
AD  : feedfacedeadbeeffeedfacedeadbeefabaddad2
P   : d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a72
      1c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
C   : e0cddd7564d09c4dc522dd65949262bbf9dcdb07421cf67f3032becb7253c284
      a16e5bf0f556a308043f53fab9eebb526be7f7ad33d697ac77c67862
T   : 5791883f822013f8bd136fc36fb9946b
</artwork>

  
</section>

<section title="Security Considerations">
<t>
    At the time of writing this document there are no known weak keys
    for Camellia. And no security problem has been found on Camellia <xref target ="NESSIE"/>, 
<xref target="CRYPTREC"/>
</t>
<t>
    For other security considerations, please refer to the security
    considerations of the previous use of GMC 
    mode document described in <xref target="RFC4106"/>.
</t>
</section>

<section title="IANA Considerations">

   <t>IANA has assigned three ESP Transform Identifiers for Camellia-GCM with an
   eight-byte explicit IV:</t>
<artwork>
      &lt;TBD1&gt; for Camellia-GCM with an 8 octet ICV;
      &lt;TBD2&gt; for Camellia-GCM with a 12 octet ICV; and
      &lt;TBD3&gt; for Camellia-GCM with a 16 octet ICV.
</artwork>

</section>

<section title = "Acknowledgments">
<t>
    Portions of this text were unabashedly borrowed from <xref target = "RFC4106"/>.
</t>
</section>

</middle>

<back>

<references title="Normative">

 <reference anchor="GCM" target="http://csrc.nist.gov/publications/drafts/Draft-NIST_SP800-38D_Public_Comment.pdf">
 <front>
  <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) for Confidentiality and Authentication</title> 
 <author initials="M." surname="Dworkin" fullname="Morris Dworkin">
  <organization>National Institute of Standards and Technology</organization> 
  </author>
  <date month="April" year="2006" />
  <seriesInfo name="Special Publication" value="800-38D" /> 
  </front>
  </reference>

&rfc4106;
&rfc2119;
<!--&rfc2407;-->
&rfc4306;
<!--&rfc2411;-->
&rfc3713;
<!--&rfc4303;-->
&rfc4312;

</references>

<references title="Informative">

<!--&rfc2409;-->
<!--&rfc3657;-->
<!--&rfc4051;-->
<!--&rfc4132;-->
<!--&rfc4301;-->
<!--&rfc4306;-->

<!--
 <reference anchor="FIPS.197.2001" target="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf">
 <front>
  <title>Advanced Encryption Standard (AES)</title> 
 <author>
  <organization>National Institute of Standards and Technology</organization> 
  </author>
  <date month="November" year="2001" /> 
  </front>
  <seriesInfo name="FIPS" value="PUB 197" /> 
  </reference>
-->


 <reference anchor="NESSIE" target="http://www.cosic.esat.kuleuven.ac.be/nessie/">
  <front>
  <title abbrev="NESSIE">The NESSIE project (New European Schemes for Signatures, Integrity and Encryption) </title> 
  <author>
  <organization /> 
  </author>
  </front>
 </reference>

 <reference anchor="CRYPTREC" target="http://www.ipa.go.jp/security/enc/CRYPTREC/index-e.html" >
  <front>
  <title>Cryptography Research and Evaluation Committees</title> 
  <author fullname="Information-technology Promotion Agency (IPA)">
  <organization>Information-technology Promotion Agency (IPA)</organization> 
  <address>
  <postal>
  <street/>
  <country>Japan</country> 
  </postal>
  </address>
  </author>
  </front>
  <format type="HTML" target="http://www.ipa.go.jp/security/enc/CRYPTREC/index-e.html." /> 
 </reference>

<!--
 <reference anchor="ISO/IEC 18033-3">
 <front>
  <title>Information technology - Security techniques - Encryption algorithms - Part 3: Block ciphers</title> 
 <author>
  <organization>International Organization for Standardization</organization> 
  </author>
  <date month="July" year="2005" /> 
  </front>
  <seriesInfo name="ISO/IEC" value="18033-3" /> 
  </reference>
-->

</references>
</back>
 </rfc>
