RFC 5581 INFORMATIONAL CRYPTOGRAPHY · OPENPGP

Camellia in OpenPGP: The Camellia Cipher in OpenPGP

How to use the Camellia encryption cipher in OpenPGP

On rfc-editor.org ↗
PUBLISHED
June 2009
AUTHORS
D. Shaw
STREAM
IETF
BUILDS ON
RFC 4880 — OpenPGP
OBSOLETED BY
RFC 9580 — OpenPGP
BLOCK SIZE
128 bits
KEY SIZES
128, 192, or 256 bits
ALGORITHM NUMBERS
11 (128-bit), 12 (192-bit), 13 (256-bit)
DOI
10.17487/RFC5581

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                            D. Shaw
Request for Comments: 5581                                     June 2009
Updates: 4880
Category: Informational


                     The Camellia Cipher in OpenPGP

Status of This Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   This document presents the necessary information to use the Camellia
   symmetric block cipher in the OpenPGP protocol.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
   2.  Requirements Notation . . . . . . . . . . . . . . . . . . . . . 2
   3.  Camellia  . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 2
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 3
   6.  Normative References  . . . . . . . . . . . . . . . . . . . . . 3

1.  Introduction

   The OpenPGP protocol [RFC4880] can support many different symmetric
   ciphers.  This document presents the necessary information to use the
   Camellia [RFC3713] symmetric cipher in the OpenPGP protocol.

2.  Requirements Notation

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

3.  Camellia

   Camellia is specified in [RFC3713].  It is a 128-bit symmetric block
   cipher (as are AES and Twofish in OpenPGP) that supports 128-bit,
   192-bit, and 256-bit keys.  This document defines the use of Camellia
   in OpenPGP.

     +---------------------+----------------------------------------+
     | Camellia Key Length | OpenPGP Symmetric-Key Algorithm Number |
     +---------------------+----------------------------------------+
     |         128         |                   11                   |
     |         192         |                   12                   |
     |         256         |                   13                   |
     +---------------------+----------------------------------------+

   OpenPGP applications MAY implement Camellia.  If implemented,
   Camellia may be used in any place in OpenPGP where a symmetric cipher
   is usable, and it is subject to the same usage requirements (such as
   its presence in the Preferred Symmetric Algorithms signature
   subpacket) as the other symmetric ciphers in OpenPGP.

   While the OpenPGP algorithm preferences system prevents
   interoperability problems with public key encrypted messages, if
   Camellia (or any other optional cipher) is used for encrypting
   private keys, there could be interoperability problems when migrating
   a private key from one system to another.  A similar issue can arise
   when using an optional cipher for symmetrically encrypted messages,
   as this OpenPGP message type does not use the algorithm preferences
   system.  Those using optional ciphers in this manner should take care
   they are using a cipher that their intended recipient can decrypt.

4.  Security Considerations

   At publication time, there are no known weak keys for Camellia, and
   the Camellia algorithm is believed to be strong.  However, as with
   any technology involving cryptography, implementers should check the
   current literature, as well as the Camellia home page at
   http://info.isl.ntt.co.jp/camellia/ to determine if Camellia has been
   found to be vulnerable to attack.

5.  IANA Considerations

   IANA assigned three algorithm numbers from the registry of OpenPGP
   Symmetric-Key Algorithms that was created by [RFC4880].

6.  Normative References

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

   [RFC3713]  Matsui, M., Nakajima, J., and S. Moriai, "A Description of
              the Camellia Encryption Algorithm", RFC 3713, April 2004.

   [RFC4880]  Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R.
              Thayer, "OpenPGP Message Format", RFC 4880, November 2007.

Author's Address

   David Shaw

   EMail: dshaw@jabberwocky.com

AI ELI5

On this page
PROBLEMOpenPGP implementations need standard specifications for multiple symmetric encryption ciphers, and Camellia was missing from the protocol definition.
MECHANISMThis RFC specifies how to use Camellia, a 128-bit symmetric block cipher supporting 128, 192, and 256-bit keys, within OpenPGP's symmetric cipher framework, assigning algorithm numbers 11, 12, and 13 for each key length.
WHY IT FADEDCamellia was later incorporated into RFC 9580, the comprehensive revised OpenPGP specification, making this specification historic.

§1Introduction to Camellia

The OpenPGP protocol supports many different symmetric ciphers for message encryption. Camellia is a 128-bit symmetric block cipher (the same block size as AES) that was not initially included in the OpenPGP standard. This RFC provides the necessary information to use Camellia in OpenPGP implementations.

Camellia supports three key lengths: 128 bits, 192 bits, and 256 bits, mirroring the key sizes of other modern ciphers.

Camellia is a way to scramble messages using secret codes. Like other secret codes, it can use different length keys to make it stronger or weaker.

§2Algorithm Numbers in OpenPGP

In OpenPGP, each cipher is assigned a numeric identifier. For Camellia, the RFC defines three algorithm numbers corresponding to the three supported key lengths:

Algorithm 11 for 128-bit keys, Algorithm 12 for 192-bit keys, and Algorithm 13 for 256-bit keys.

These numbers allow OpenPGP implementations to identify which cipher and key length a message used for encryption.

Each way of scrambling a message gets a number. Numbers 11, 12, and 13 are reserved for Camellia with different strength levels.

§3Usage and Interoperability

Camellia is an optional cipher in OpenPGP. Implementations may choose to support it, but they are not required to. When supported, Camellia can be used anywhere a symmetric cipher is usable within OpenPGP, subject to the same usage rules as other ciphers.

Interoperability can be a concern: if Camellia is used to encrypt private keys or symmetrically encrypted messages (which do not use OpenPGP algorithm preference negotiation), recipients must support Camellia to decrypt them. Implementers using optional ciphers must ensure their recipients can decrypt the messages.

Using Camellia is optional, and people can choose not to support it. If you send a message encrypted with Camellia to someone, they need to have Camellia support, or they cannot read it.

§4References