RFC2440 日本語訳

2440 OpenPGP Message Format. J. Callas, L. Donnerhacke, H. Finney, R.Thayer. November 1998. (Format: TXT=141371 bytes) (Obsoleted by RFC4880) (Status: PROPOSED STANDARD)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                         J. Callas
Request for Comments: 2440                           Network Associates
Category: Standards Track                                L. Donnerhacke
                                     IN-Root-CA Individual Network e.V.
                                                              H. Finney
                                                     Network Associates
                                                              R. Thayer
                                                        EIS Corporation
                                                          November 1998

カラがコメントのために要求するワーキンググループJ.をネットワークでつないでください: 2440年のネットワークはカテゴリを関連づけます: 規格はR.セイヤーEIS社の1998年11月にRootカリフォルニアの個々のL.のe.V.H.フィニーネットワークDonnerhackeネットワーク関連を追跡します。

                         OpenPGP Message Format

OpenPGPメッセージ・フォーマット

Status of this Memo

この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.

このドキュメントは、インターネットコミュニティにインターネット標準化過程プロトコルを指定して、改良のために議論と提案を要求します。 このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD1)の現行版を参照してください。 このメモの分配は無制限です。

Copyright Notice

版権情報

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

Copyright(C)インターネット協会(1998)。 All rights reserved。

IESG Note

IESG注意

   This document defines many tag values, yet it doesn't describe a
   mechanism for adding new tags (for new features).  Traditionally the
   Internet Assigned Numbers Authority (IANA) handles the allocation of
   new values for future expansion and RFCs usually define the procedure
   to be used by the IANA.  However, there are subtle (and not so
   subtle) interactions that may occur in this protocol between new
   features and existing features which result in a significant
   reduction in over all security.  Therefore, this document does not
   define an extension procedure.  Instead requests to define new tag
   values (say for new encryption algorithms for example) should be
   forwarded to the IESG Security Area Directors for consideration or
   forwarding to the appropriate IETF Working Group for consideration.

このドキュメントは多くのタグ値を定義します、しかし、それが新しいタグ(新機能のための)を加えるためにメカニズムについて説明しません。 伝統的に、インターネットAssigned民数記Authority(IANA)は今後の拡張のために新しい値の配分を扱います、そして、IANAによって使用されるように、通常、RFCsは手順を定義します。 しかしながら、それがすべてのセキュリティについてかなりの減少をもたらす新機能と既存の特徴の間のこのプロトコルで起こるかもしれない微妙で(あまりに微妙でない)の相互作用があります。 したがって、このドキュメントは拡張の手順を定義しません。 代わりに、新しいタグ値(例えば、新しい暗号化アルゴリズムのために、言う)を定義するという要求は、考慮のためにIESG Security Areaディレクターに送るべきであるか、または考慮のために適切なIETFに作業部会を送るべきです。

Abstract

要約

   This document is maintained in order to publish all necessary
   information needed to develop interoperable applications based on the
   OpenPGP format. It is not a step-by-step cookbook for writing an
   application. It describes only the format and methods needed to read,
   check, generate, and write conforming packets crossing any network.
   It does not deal with storage and implementation questions.  It does,

このドキュメントは、OpenPGP形式に基づく共同利用できるアプリケーションを開発するのに必要であるすべての必要事項を発表するために維持されます。 それは、アプリケーションを書くための段階的な料理の本ではありません。 それはどんなネットワークも越える従うパケットを読んで、チェックして、生成して、書くのに必要である形式とメソッドだけを説明します。 それはストレージと実装質問に対処しません。 それはそうします。

Callas, et. al.             Standards Track                     [Page 1]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[1ページ]。

   however, discuss implementation issues necessary to avoid security
   flaws.

しかしながら、セキュリティー・フローを避けるのに必要な導入問題について議論してください。

   Open-PGP software uses a combination of strong public-key and
   symmetric cryptography to provide security services for electronic
   communications and data storage.  These services include
   confidentiality, key management, authentication, and digital
   signatures. This document specifies the message formats used in
   OpenPGP.

開いているPGPソフトウェアは、電子通信とデータ保存のためのセキュリティー・サービスを提供するのに強い公開鍵と左右対称の暗号の組み合わせを使用します。 これらのサービスは秘密性、かぎ管理、認証、およびデジタル署名を含んでいます。 このドキュメントはOpenPGPで使用されるメッセージ・フォーマットを指定します。

Table of Contents

目次

            Status of this Memo                                       1
            IESG Note                                                 1
            Abstract                                                  1
            Table of Contents                                         2
   1.       Introduction                                              4
   1.1.     Terms                                                     5
   2.       General functions                                         5
   2.1.     Confidentiality via Encryption                            5
   2.2.     Authentication via Digital signature                      6
   2.3.     Compression                                               7
   2.4.     Conversion to Radix-64                                    7
   2.5.     Signature-Only Applications                               7
   3.       Data Element Formats                                      7
   3.1.     Scalar numbers                                            8
   3.2.     Multi-Precision Integers                                  8
   3.3.     Key IDs                                                   8
   3.4.     Text                                                      8
   3.5.     Time fields                                               9
   3.6.     String-to-key (S2K) specifiers                            9
   3.6.1.   String-to-key (S2k) specifier types                       9
   3.6.1.1. Simple S2K                                                9
   3.6.1.2. Salted S2K                                               10
   3.6.1.3. Iterated and Salted S2K                                  10
   3.6.2.   String-to-key usage                                      11
   3.6.2.1. Secret key encryption                                    11
   3.6.2.2. Symmetric-key message encryption                         11
   4.       Packet Syntax                                            12
   4.1.     Overview                                                 12
   4.2.     Packet Headers                                           12
   4.2.1.   Old-Format Packet Lengths                                13
   4.2.2.   New-Format Packet Lengths                                13
   4.2.2.1. One-Octet Lengths                                        14
   4.2.2.2. Two-Octet Lengths                                        14
   4.2.2.3. Five-Octet Lengths                                       14
   4.2.2.4. Partial Body Lengths                                     14
   4.2.3.   Packet Length Examples                                   14

このMemo1IESG Note1 1つの抽象的な目次2 1の状態。 序論4 1.1。 用語5 2。 一般機能5 2.1。 Encryption5 2.2を通した秘密性。 Digital署名6 2.3を通した認証。 圧縮7 2.4。 基数-64 7への変換、2.5 署名だけアプリケーション7 3。 データ要素は3.1に7をフォーマットします。 スカラのNo.8 3.2。 マルチ精度整数8 3.3。 主要なID8 3.4。 テキスト8 3.5。 時間は3.6に9をさばきます。 .1に(S2K)特許説明書の作成書9 3.6をキーに結んでください。 ストリングからキーへの(S2k)特許説明書の作成書タイプ9 3.6.1.1。 簡単なS2K、9 3.6 .1 .2。 S2K10 3.6に塩味を付けられました。.1 .3。 S2K10 3.6に.2に繰り返されて、塩味を付けられます。 用法11をキーに結んでください。3.6 .2 .1。 秘密は暗号化11 3.6に.2に.2を合わせます。 対称鍵メッセージ暗号化11 4。 パケット構文12 4.1。 概要12 4.2。 パケットヘッダー12 4.2.1。 パケット長13 4.2に.2を老人と同じくらいフォーマットしてください。 新しい形式パケット長13 4.2、.2 .1。 1八重奏の長さ14の4.2、.2 .2。 2八重奏の長さ14の4.2、.2 .3。 5八重奏の長さ14の4.2、.2 .4。 部分的なボディー長さ14の4.2.3。 パケット長の例14

Callas, et. al.             Standards Track                     [Page 2]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[2ページ]。

   4.3.     Packet Tags                                              15
   5.       Packet Types                                             16
   5.1.     Public-Key Encrypted Session Key Packets (Tag 1)         16
   5.2.     Signature Packet (Tag 2)                                 17
   5.2.1.   Signature Types                                          17
   5.2.2.   Version 3 Signature Packet Format                        19
   5.2.3.   Version 4 Signature Packet Format                        21
   5.2.3.1. Signature Subpacket Specification                        22
   5.2.3.2. Signature Subpacket Types                                24
   5.2.3.3. Signature creation time                                  25
   5.2.3.4. Issuer                                                   25
   5.2.3.5. Key expiration time                                      25
   5.2.3.6. Preferred symmetric algorithms                           25
   5.2.3.7. Preferred hash algorithms                                25
   5.2.3.8. Preferred compression algorithms                         26
   5.2.3.9. Signature expiration time                                26
   5.2.3.10.Exportable Certification                                 26
   5.2.3.11.Revocable                                                27
   5.2.3.12.Trust signature                                          27
   5.2.3.13.Regular expression                                       27
   5.2.3.14.Revocation key                                           27
   5.2.3.15.Notation Data                                            28
   5.2.3.16.Key server preferences                                   28
   5.2.3.17.Preferred key server                                     29
   5.2.3.18.Primary user id                                          29
   5.2.3.19.Policy URL                                               29
   5.2.3.20.Key Flags                                                29
   5.2.3.21.Signer's User ID                                         30
   5.2.3.22.Reason for Revocation                                    30
   5.2.4.   Computing Signatures                                     31
   5.2.4.1. Subpacket Hints                                          32
   5.3.     Symmetric-Key Encrypted Session-Key Packets (Tag 3)      32
   5.4.     One-Pass Signature Packets (Tag 4)                       33
   5.5.     Key Material Packet                                      34
   5.5.1.   Key Packet Variants                                      34
   5.5.1.1. Public Key Packet (Tag 6)                                34
   5.5.1.2. Public Subkey Packet (Tag 14)                            34
   5.5.1.3. Secret Key Packet (Tag 5)                                35
   5.5.1.4. Secret Subkey Packet (Tag 7)                             35
   5.5.2.   Public Key Packet Formats                                35
   5.5.3.   Secret Key Packet Formats                                37
   5.6.     Compressed Data Packet (Tag 8)                           38
   5.7.     Symmetrically Encrypted Data Packet (Tag 9)              39
   5.8.     Marker Packet (Obsolete Literal Packet) (Tag 10)         39
   5.9.     Literal Data Packet (Tag 11)                             40
   5.10.    Trust Packet (Tag 12)                                    40
   5.11.    User ID Packet (Tag 13)                                  41
   6.       Radix-64 Conversions                                     41

4.3. パケットは5に15にタグ付けをします。 パケットは5.1に16をタイプします。 公開鍵は5.2にセッションの主要なパケット(タグ1)16を暗号化しました。 署名パケット(タグ2)17 5.2.1。 署名は5.2に.2に17をタイプします。 バージョン3署名パケットは5.2に.3に19をフォーマットします。 バージョン4署名パケットは21をフォーマットします。5.2 .3 .1。 署名Subpacket仕様22 5.2.3.2。 署名Subpacketはタイプします。24 5.2 .3 .3。 署名作成時間25 5.2.3.4。 発行人、25 5.2 .3 .5。 .6に満了時間25 5.2.3を合わせてください。 左右対称のアルゴリズム25 5.2に好まれました。.3 .7。 好まれて、アルゴリズム25 5.2に.8に.3を論じ尽くしてください。 圧縮アルゴリズム26 5.2に好まれました。.3 .9。 Revocationのための主要な署名の5.2.3.18.Primaryユーザイド29 5.2.3.19.Policy満了時間26 5.2.3.10.Exportable Certification26 5.2.3.11.Revocable27 5.2.3.12.Trust27の署名5.2.3.13.Regular式27の5.2.3.14.Revocationの主要な27 5.2.3.15.Notation Data28 5.2.3.16.Keyサーバ好み28の5.2.3.17.Preferredサーバ29URL29 5.2.3.20.Key Flags29 5.2.3.21.SignerのUser ID30 5.2.3.22.Reason、30、5.2、.4 署名31 5.2に、.1に.4を計算します。 Subpacketは5.3に32をほのめかします。 対称鍵は5.4にセッション主要なパケット(タグ3)32を暗号化しました。 署名パケット(タグ4)33 5.5を1つ通過してください。 物質的なパケット34 5.5に.1を合わせてください。 .1にパケット異形34 5.5.1を合わせてください。 公開鍵パケット(タグ6)34 5.5.1.2。 公共のサブキーパケット(タグ14)34 5.5.1.3。 秘密は.4にパケット(タグ5)35 5.5.1を合わせます。 秘密のサブキーパケット(タグ7)35 5.5.2。 公開鍵パケット・フォーマット35 5.5.3。 秘密鍵パケット・フォーマット37 5.6。 5.7にデータ・パケット(タグ8)38を圧縮しました。 対称的に、5.8にデータ・パケット(タグ9)39を暗号化しました。 マーカーパケット(時代遅れの文字通りのパケット)(タグ10)39 5.9。 文字通りのデータ・パケット(タグ11)40 5.10。 パケット(タグ12)40 5.11を信じてください。 ユーザIDパケット(タグ13)41 6。 基数-64の変換41

Callas, et. al.             Standards Track                     [Page 3]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[3ページ]。

   6.1.     An Implementation of the CRC-24 in "C"                   42
   6.2.     Forming ASCII Armor                                      42
   6.3.     Encoding Binary in Radix-64                              44
   6.4.     Decoding Radix-64                                        46
   6.5.     Examples of Radix-64                                     46
   6.6.     Example of an ASCII Armored Message                      47
   7.       Cleartext signature framework                            47
   7.1.     Dash-Escaped Text                                        47
   8.       Regular Expressions                                      48
   9.       Constants                                                49
   9.1.     Public Key Algorithms                                    49
   9.2.     Symmetric Key Algorithms                                 49
   9.3.     Compression Algorithms                                   50
   9.4.     Hash Algorithms                                          50
   10.      Packet Composition                                       50
   10.1.    Transferable Public Keys                                 50
   10.2.    OpenPGP Messages                                         52
   10.3.    Detached Signatures                                      52
   11.      Enhanced Key Formats                                     52
   11.1.    Key Structures                                           52
   11.2.    Key IDs and Fingerprints                                 53
   12.      Notes on Algorithms                                      54
   12.1.    Symmetric Algorithm Preferences                          54
   12.2.    Other Algorithm Preferences                              55
   12.2.1.  Compression Preferences                                  56
   12.2.2.  Hash Algorithm Preferences                               56
   12.3.    Plaintext                                                56
   12.4.    RSA                                                      56
   12.5.    Elgamal                                                  57
   12.6.    DSA                                                      58
   12.7.    Reserved Algorithm Numbers                               58
   12.8.    OpenPGP CFB mode                                         58
   13.      Security Considerations                                  59
   14.      Implementation Nits                                      60
   15.      Authors and Working Group Chair                          62
   16.      References                                               63
   17.      Full Copyright Statement                                 65

6.1. 「C」42 6.2におけるCRC-24の実装。 ASCIIよろいかぶと42 6.3を形成します。 基数-64 44 6.4におけるバイナリーをコード化します。 基数-64 46 6.5を解読します。 基数-64 46 6.6に関する例。 ASCIIの武具のメッセージ47 7に関する例。 Cleartext署名フレームワーク47 7.1。 ダッシュで逃げられたテキスト47 8。 正規表現48 9。 定数49 9.1。 公開鍵アルゴリズム49 9.2。 対称鍵アルゴリズム49 9.3。 圧縮アルゴリズム50 9.4。 アルゴリズム50 10を論じ尽くしてください。 パケット構成50 10.1。 移転可能な公開鍵50 10.2。 OpenPGPメッセージ52 10.3。 離れている署名52 11。 主要な形式52 11.1を高めました。 主要な構造52 11.2。 主要なIDと指紋53 12。 アルゴリズム54 12.1に関する注。 左右対称のアルゴリズム好み54 12.2。 他のアルゴリズム好み55 12.2の.1。 圧縮好み56 12.2の.2。 アルゴリズム好み56 12.3を論じ尽くしてください。 平文56 12.4。 RSA56 12.5。 Elgamal57 12.6。 DSA58 12.7。 予約されたアルゴリズムNo.58 12.8。 OpenPGP CFBモード58 13。 セキュリティ問題59 14。 実装夜60 15。 作者とワーキンググループ議長62 16。 参照63 17。 完全な著作権宣言文65

1. Introduction

1. 序論

   This document provides information on the message-exchange packet
   formats used by OpenPGP to provide encryption, decryption, signing,
   and key management functions. It builds on the foundation provided in
   RFC 1991 "PGP Message Exchange Formats."

このドキュメントは暗号化、復号化、署名、およびかぎ管理機能を提供するのにOpenPGPによって使用された交換処理パケット・フォーマットの情報を提供します。 それはRFC1991「PGP交換処理形式」に提供された基礎に建てられます。

Callas, et. al.             Standards Track                     [Page 4]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[4ページ]。

1.1. Terms

1.1. 用語

     * OpenPGP - This is a definition for security software that uses
       PGP 5.x as a basis.

* OpenPGP--これは基礎としてPGP 5.xを使用する機密保護ソフトウェアのための定義です。

     * PGP - Pretty Good Privacy. PGP is a family of software systems
       developed by Philip R. Zimmermann from which OpenPGP is based.

* PGP--プリティ・グッド・プライバシ。 PGPはOpenPGPが基づいているフィリップR.Zimmermannによって開発されたソフトウェア・システムのファミリーです。

     * PGP 2.6.x - This version of PGP has many variants, hence the term
       PGP 2.6.x. It used only RSA, MD5, and IDEA for its cryptographic
       transforms. An informational RFC, RFC 1991, was written
       describing this version of PGP.

* PGP 2.6.x--PGPのこのバージョンには、多くの異形、したがって、用語PGP 2.6.xがあります。 それは暗号の変換にRSA、MD5、およびIDEAだけを使用しました。情報のRFC(RFC1991)は、PGPのこのバージョンについて説明しながら、書かれました。

     * PGP 5.x - This version of PGP is formerly known as "PGP 3" in the
       community and also in the predecessor of this document, RFC 1991.
       It has new formats and corrects a number of problems in the PGP
       2.6.x design. It is referred to here as PGP 5.x because that
       software was the first release of the "PGP 3" code base.

* PGP 5.x、--、以前PGPのこのバージョンとして知られている「PGP、共同体とこのドキュメント(RFC1991インチ)の前任者でも3インチ それは、PGP 2.6.xデザインで新しい形式を持って、多くの問題を修正します。 そのソフトウェアが「3インチのPGPコードベース」の最初のリリースであったので、それはPGP 5.xとしてここと呼ばれます。

   "PGP", "Pretty Good", and "Pretty Good Privacy" are trademarks of
   Network Associates, Inc. and are used with permission.

"PGP"、「きれいな利益」、および「プリティ・グッド・プライバシ」は、Network Associates Inc.の商標であり、許可と共に使用されます。

   This document uses the terms "MUST", "SHOULD", and "MAY" as defined
   in RFC 2119, along with the negated forms of those terms.

このドキュメントはRFC2119で定義されるように用語“MUST"、“SHOULD"、および「5月」を使用します、それらの用語の否定フォームと共に。

2. General functions

2. 一般機能

   OpenPGP provides data integrity services for messages and data files
   by using these core technologies:

OpenPGPはこれらの核の技術を使用することによって、メッセージとデータファイルのためのデータ保全サービスを提供します:

     - digital signatures

- デジタル署名

     - encryption

- 暗号化

     - compression

- 圧縮

     - radix-64 conversion

- 基数-64変換

   In addition, OpenPGP provides key management and certificate
   services, but many of these are beyond the scope of this document.

さらに、OpenPGPはかぎ管理と証明書サービスを提供しますが、これらの多くがこのドキュメントの範囲を超えています。

2.1. Confidentiality via Encryption

2.1. Encryptionを通した秘密性

   OpenPGP uses two encryption methods to provide confidentiality:
   symmetric-key encryption and public key encryption. With public-key
   encryption, the object is encrypted using a symmetric encryption
   algorithm.  Each symmetric key is used only once. A new "session key"
   is generated as a random number for each message. Since it is used

OpenPGPは秘密性を提供する2つの暗号化メソッドを使用します: 共通鍵暗号と公開鍵暗号化。 公開鍵暗号化で、オブジェクトは、左右対称の暗号化アルゴリズムを使用することで暗号化されています。 各対称鍵は一度だけ使用されます。 新しい「セッションキー」は各メッセージのための乱数として生成されます。 それが使用されているので

Callas, et. al.             Standards Track                     [Page 5]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[5ページ]。

   only once, the session key is bound to the message and transmitted
   with it.  To protect the key, it is encrypted with the receiver's
   public key. The sequence is as follows:

セッションキーは、一度だけ、メッセージに縛られて、それで送られます。 キーを保護するために、それは受信機の公開鍵で暗号化されます。 系列は以下の通りです:

   1.  The sender creates a message.

1. 送付者はメッセージを作成します。

   2.  The sending OpenPGP generates a random number to be used as a
       session key for this message only.

2. 発信しているOpenPGPは、このメッセージだけに、主要なセッションとして使用されるために乱数を生成します。

   3.  The session key is encrypted using each recipient's public key.
       These "encrypted session keys" start the message.

3. セッションキーは、各受取人の公開鍵を使用することで暗号化されています。 これらの「暗号化されたセッションキー」はメッセージを始めます。

   4.  The sending OpenPGP encrypts the message using the session key,
       which forms the remainder of the message. Note that the message
       is also usually compressed.

4. 発信しているOpenPGPは、セッションキー(メッセージの残りを形成する)を使用することでメッセージを暗号化します。 また、通常、メッセージが圧縮されることに注意してください。

   5.  The receiving OpenPGP decrypts the session key using the
       recipient's private key.

5. 受信OpenPGPは、受取人の秘密鍵を使用することでセッションキーを解読します。

   6.  The receiving OpenPGP decrypts the message using the session key.
       If the message was compressed, it will be decompressed.

6. 受信OpenPGPは、セッションキーを使用することでメッセージを解読します。 メッセージが圧縮されたなら、それは減圧されるでしょう。

   With symmetric-key encryption, an object may be encrypted with a
   symmetric key derived from a passphrase (or other shared secret), or
   a two-stage mechanism similar to the public-key method described
   above in which a session key is itself encrypted with a symmetric
   algorithm keyed from a shared secret.

暗号化、対称鍵によるオブジェクトは対称鍵で左右対称のアルゴリズムが共有秘密キーから合わせられている状態でセッションキーが暗号化される上で説明された公開鍵メソッドと同様のパスフレーズ(または、他の共有秘密キー)、または2ステージのメカニズムから派生していた状態で暗号化されるかもしれません。

   Both digital signature and confidentiality services may be applied to
   the same message. First, a signature is generated for the message and
   attached to the message. Then, the message plus signature is
   encrypted using a symmetric session key. Finally, the session key is
   encrypted using public-key encryption and prefixed to the encrypted
   block.

デジタル署名と秘密性サービスの両方が同じメッセージに適用されるかもしれません。 まず最初に、署名は、メッセージのために生成されて、メッセージに付けられます。 そして、メッセージプラス署名は、左右対称のセッションキーを使用することで暗号化されています。 最終的に、セッションキーは、公開鍵暗号化を使用することで暗号化されて、暗号化されたブロックへ前に置かれています。

2.2. Authentication via Digital signature

2.2. Digital署名を通した認証

   The digital signature uses a hash code or message digest algorithm,
   and a public-key signature algorithm. The sequence is as follows:

デジタル署名はハッシュコードかメッセージダイジェストアルゴリズムと、公開鍵署名アルゴリズムを使用します。 系列は以下の通りです:

   1.  The sender creates a message.

1. 送付者はメッセージを作成します。

   2.  The sending software generates a hash code of the message.

2. 送付ソフトウェアは、ハッシュがメッセージのコードであると生成します。

   3.  The sending software generates a signature from the hash code
       using the sender's private key.

3. 送付ソフトウェアは、ハッシュコードから送付者の秘密鍵を使用することで署名を生成します。

   4.  The binary signature is attached to the message.

4. 2進の署名はメッセージに付けられています。

Callas, et. al.             Standards Track                     [Page 6]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[6ページ]。

   5.  The receiving software keeps a copy of the message signature.

5. 受信ソフトウェアはメッセージ署名の写しを取っておきます。

   6.  The receiving software generates a new hash code for the
       received message and verifies it using the message's signature.
       If the verification is successful, the message is accepted as
       authentic.

6. 受信ソフトウェアは、受信されたメッセージのために新しいハッシュがコードであると生成して、メッセージの署名を使用することでそれについて確かめます。 検証がうまくいくなら、メッセージは正統であるとして認められます。

2.3. Compression

2.3. 圧縮

   OpenPGP implementations MAY compress the message after applying the
   signature but before encryption.

OpenPGP実装は署名を適用した後にもかかわらず、暗号化の前にメッセージを圧縮するかもしれません。

2.4. Conversion to Radix-64

2.4. 基数-64への変換

   OpenPGP's underlying native representation for encrypted messages,
   signature certificates, and keys is a stream of arbitrary octets.
   Some systems only permit the use of blocks consisting of seven-bit,
   printable text. For transporting OpenPGP's native raw binary octets
   through channels that are not safe to raw binary data, a printable
   encoding of these binary octets is needed.  OpenPGP provides the
   service of converting the raw 8-bit binary octet stream to a stream
   of printable ASCII characters, called Radix-64 encoding or ASCII
   Armor.

OpenPGPの暗号化メッセージ、署名証明書、およびキーの基本的な固有の表現は任意の八重奏のストリームです。 いくつかのシステムが7ビットの、そして、印刷可能なテキストから成るブロックの使用を可能にするだけです。 生のバイナリ・データに安全でないチャンネルによるOpenPGPのネイティブの生の2進の八重奏を輸送するのにおいて、これらの2進の八重奏の印刷可能なコード化が必要です。 Radix-64コード化かASCII Armorが、OpenPGPが生の8ビットの2進の八重奏ストリームを印刷可能なASCII文字の流れに変換するサービスを提供すると呼びました。

   Implementations SHOULD provide Radix-64 conversions.

実装SHOULDは変換をRadix-64に供給します。

   Note that many applications, particularly messaging applications,
   will want more advanced features as described in the OpenPGP-MIME
   document, RFC 2015. An application that implements OpenPGP for
   messaging SHOULD implement OpenPGP-MIME.

OpenPGP-MIMEドキュメント、RFC2015で説明されるように多くのアプリケーション(特にメッセージングアプリケーション)が、より高度な特徴が欲しくなることに注意してください。 メッセージングSHOULD道具OpenPGP-MIMEのためにOpenPGPを実装するアプリケーション。

2.5. Signature-Only Applications

2.5. 署名だけアプリケーション

   OpenPGP is designed for applications that use both encryption and
   signatures, but there are a number of problems that are solved by a
   signature-only implementation. Although this specification requires
   both encryption and signatures, it is reasonable for there to be
   subset implementations that are non-comformant only in that they omit
   encryption.

OpenPGPは暗号化と署名の両方を使用するアプリケーションのために設計されていますが、署名だけ実装によって解決されている多くの問題があります。 この仕様は暗号化と署名の両方を必要としますが、そこに、単に暗号化を省略するので非comformantである部分集合実装であることは妥当です。

3. Data Element Formats

3. データ要素形式

   This section describes the data elements used by OpenPGP.

このセクションはOpenPGPによって使用されたデータ要素について説明します。

Callas, et. al.             Standards Track                     [Page 7]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[7ページ]。

3.1. Scalar numbers

3.1. スカラの数

   Scalar numbers are unsigned, and are always stored in big-endian
   format. Using n[k] to refer to the kth octet being interpreted, the
   value of a two-octet scalar is ((n[0] << 8) + n[1]). The value of a
   four-octet scalar is ((n[0] << 24) + (n[1] << 16) + (n[2] << 8) +
   n[3]).

スカラの数は、未署名であり、ビッグエンディアン形式でいつも保存されます。 解釈されるkth八重奏について言及するのにn[k]を使用して、2八重奏のスカラの値は(n[0]<<8)+n[1])です。 4八重奏のスカラの値は(n[0]<<24)です。+ + + (n[1]<<16)(n[2]<<8)n[3])。

3.2. Multi-Precision Integers

3.2. マルチ精度整数

   Multi-Precision Integers (also called MPIs) are unsigned integers
   used to hold large integers such as the ones used in cryptographic
   calculations.

マルチPrecision Integers(また、MPIsと呼ばれる)は暗号の計算に使用されるものなどの大きい整数を保持するのに使用される符号のない整数です。

   An MPI consists of two pieces: a two-octet scalar that is the length
   of the MPI in bits followed by a string of octets that contain the
   actual integer.

MPIは2つの断片から成ります: 実際の整数を含む一連の八重奏でビットのMPIの長さである2八重奏のスカラは続きました。

   These octets form a big-endian number; a big-endian number can be
   made into an MPI by prefixing it with the appropriate length.

これらの八重奏はビッグエンディアン番号を形成します。 適切な長さでそれを前に置くことによって、ビッグエンディアン番号をMPIにすることができます。

   Examples:

例:

   (all numbers are in hexadecimal)

(16進にはすべての数があります)

   The string of octets [00 01 01] forms an MPI with the value 1. The
   string [00 09 01 FF] forms an MPI with the value of 511.

八重奏[00 01 01]のストリングは値1でMPIを形成します。 ストリング[00 09 01FF]は511の値でMPIを形成します。

   Additional rules:

付則:

   The size of an MPI is ((MPI.length + 7) / 8) + 2 octets.

MPIのサイズは((MPI.length+7)/8)+2つの八重奏です。

   The length field of an MPI describes the length starting from its
   most significant non-zero bit. Thus, the MPI [00 02 01] is not formed
   correctly. It should be [00 01 01].

MPIの長さの分野は始まらせる中で非ゼロ・ビット最も重要である長さについて説明します。 したがって、MPI[00 02 01]は正しく形成されません。 それは[00 01 01]であるべきです。

3.3. Key IDs

3.3. 主要なID

   A Key ID is an eight-octet scalar that identifies a key.
   Implementations SHOULD NOT assume that Key IDs are unique. The
   section, "Enhanced Key Formats" below describes how Key IDs are
   formed.

Key IDはキーを特定する8八重奏のスカラです。 実装SHOULD NOTは、Key IDがユニークであると仮定します。 セクション、以下の「高められた主要な形式」はKey IDがどう形成されるかを説明します。

3.4. Text

3.4. テキスト

   The default character set for text is the UTF-8 [RFC2279] encoding of
   Unicode [ISO10646].

テキストのためのデフォルト文字集合はユニコード[ISO10646]のUTF-8[RFC2279]コード化です。

Callas, et. al.             Standards Track                     [Page 8]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[8ページ]。

3.5. Time fields

3.5. 時間分野

   A time field is an unsigned four-octet number containing the number
   of seconds elapsed since midnight, 1 January 1970 UTC.

時間分野は真夜中、1970年1月1日UTC以来秒数を含む未署名の4八重奏の数が経過したということです。

3.6. String-to-key (S2K) specifiers

3.6. ストリングからキー(S2K)への特許説明書の作成書

   String-to-key (S2K) specifiers are used to convert passphrase strings
   into symmetric-key encryption/decryption keys.  They are used in two
   places, currently: to encrypt the secret part of private keys in the
   private keyring, and to convert passphrases to encryption keys for
   symmetrically encrypted messages.

ストリングからキー(S2K)への特許説明書の作成書は、共通鍵暗号/復号化キーにパスフレーズストリングを変換するのに使用されます。 それらは現在、2つの場所に使用されます: 個人的なkeyringにおける秘密鍵の秘密の部分を暗号化して、対称的に暗号化されたメッセージのために暗号化キーにパスフレーズを変換するために。

3.6.1. String-to-key (S2k) specifier types

3.6.1. ストリングからキー(S2k)への特許説明書の作成書タイプ

   There are three types of S2K specifiers currently supported, as
   follows:

現在以下の通りサポートされている3つのタイプのS2K特許説明書の作成書があります:

3.6.1.1. Simple S2K

3.6.1.1. 簡単なS2K

   This directly hashes the string to produce the key data.  See below
   for how this hashing is done.

これは直接重要なデータを作り出すストリングを論じ尽くします。 この論じ尽くすことがどう完了しているように以下を見てくださいか。

       Octet 0:        0x00
       Octet 1:        hash algorithm

八重奏0: 0×00 八重奏1: ハッシュアルゴリズム

   Simple S2K hashes the passphrase to produce the session key.  The
   manner in which this is done depends on the size of the session key
   (which will depend on the cipher used) and the size of the hash
   algorithm's output. If the hash size is greater than or equal to the
   session key size, the high-order (leftmost) octets of the hash are
   used as the key.

簡単なS2Kはセッションキーを生産するパスフレーズを論じ尽くします。 これが行われる方法はセッションキー(暗号に使用されるよる)のサイズとハッシュアルゴリズムの出力のサイズに依存します。 ハッシュサイズがそう以上なら、セッションはサイズを合わせて、ハッシュの高位(一番左)八重奏はキーとして使用されます。

   If the hash size is less than the key size, multiple instances of the
   hash context are created -- enough to produce the required key data.
   These instances are preloaded with 0, 1, 2, ... octets of zeros (that
   is to say, the first instance has no preloading, the second gets
   preloaded with 1 octet of zero, the third is preloaded with two
   octets of zeros, and so forth).

ハッシュサイズが主要なサイズより少ないなら、ハッシュ文脈の複数のインスタンスが作成されます--必要な重要なデータを作り出すためには十分。 これらのインスタンスは0、1、2でプレロードされます… ゼロ(最初のインスタンスには、すなわち、プレロードでないのがあって、2番目はゼロの1つの八重奏によってプレロードされて、3番目はゼロなどの2つの八重奏によってプレロードされる)の八重奏。

   As the data is hashed, it is given independently to each hash
   context. Since the contexts have been initialized differently, they
   will each produce different hash output.  Once the passphrase is
   hashed, the output data from the multiple hashes is concatenated,
   first hash leftmost, to produce the key data, with any excess octets
   on the right discarded.

データを論じ尽くすとき、独自にそれぞれのハッシュ文脈にそれを与えます。 文脈が異なって初期化されたので、それらはそれぞれ異なったハッシュ出力を起こすでしょう。 一度、パスフレーズは論じ尽くされて、複数のハッシュからの出力データは連結されます、最初のハッシュ。一番左では、どんな過剰八重奏も進行中で重要なデータを作り出すために、権利は捨てられました。

Callas, et. al.             Standards Track                     [Page 9]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[9ページ]。

3.6.1.2. Salted S2K

3.6.1.2. 塩漬けにしたS2K

   This includes a "salt" value in the S2K specifier -- some arbitrary
   data -- that gets hashed along with the passphrase string, to help
   prevent dictionary attacks.

これは辞書攻撃を防ぐのを助けるためにパスフレーズストリングと共に論じ尽くされるS2K特許説明書の作成書(いくつかの任意のデータ)に「塩」値を含んでいます。

       Octet 0:        0x01
       Octet 1:        hash algorithm
       Octets 2-9:     8-octet salt value

八重奏0: 0×01 八重奏1: アルゴリズムOctets2-9を論じ尽くしてください: 8八重奏の塩の値

   Salted S2K is exactly like Simple S2K, except that the input to the
   hash function(s) consists of the 8 octets of salt from the S2K
   specifier, followed by the passphrase.

塩漬けにしたS2KはちょうどSimple S2Kに似ています、ハッシュ関数への入力がパスフレーズがあとに続いたS2K特許説明書の作成書からの塩の8つの八重奏から成るのを除いて。

3.6.1.3. Iterated and Salted S2K

3.6.1.3. 繰り返されて塩漬けにしたS2K

   This includes both a salt and an octet count.  The salt is combined
   with the passphrase and the resulting value is hashed repeatedly.
   This further increases the amount of work an attacker must do to try
   dictionary attacks.

これは塩と八重奏カウントの両方を含んでいます。 塩はパスフレーズに混ぜられます、そして、結果として起こる値は繰り返して論じ尽くされます。 これはさらに、攻撃者が辞書攻撃を試みるためにしなければならない仕事量を増強します。

       Octet  0:        0x03
       Octet  1:        hash algorithm
       Octets 2-9:      8-octet salt value
       Octet  10:       count, a one-octet, coded value

八重奏0: 0×03 八重奏1: アルゴリズムOctets2-9を論じ尽くしてください: 8八重奏の塩の値のOctet10: カウント(1八重奏)は値をコード化しました。

   The count is coded into a one-octet number using the following
   formula:

カウントは以下の公式を使用することで1八重奏の数にコード化されます:

       #define EXPBIAS 6
           count = ((Int32)16 + (c & 15)) << ((c >> 4) + EXPBIAS);

#EXPBIAS6カウント=((Int32)16+(cと15))<<(+ (c>>4)EXPBIAS)を定義してください。

   The above formula is in C, where "Int32" is a type for a 32-bit
   integer, and the variable "c" is the coded count, Octet 10.

上の公式がCにあります。そこでの「Int32"は32ビットの整数のためのタイプです、そして、Octet10、変数「c」はコード化されたカウントです」。

   Iterated-Salted S2K hashes the passphrase and salt data multiple
   times. The total number of octets to be hashed is specified in the
   encoded count in the S2K specifier.  Note that the resulting count
   value is an octet count of how many octets will be hashed, not an
   iteration count.

繰り返されて塩漬けにしたS2Kは複数の回パスフレーズと塩のデータを論じ尽くします。 論じ尽くされるべき八重奏の総数はS2K特許説明書の作成書でコード化されたカウントで指定されます。 結果として起こるカウント値が繰り返しカウントではなく、いくつの八重奏が論じ尽くされるかに関する八重奏カウントであることに注意してください。

   Initially, one or more hash contexts are set up as with the other S2K
   algorithms, depending on how many octets of key data are needed.
   Then the salt, followed by the passphrase data is repeatedly hashed
   until the number of octets specified by the octet count has been
   hashed.  The one exception is that if the octet count is less than
   the size of the salt plus passphrase, the full salt plus passphrase
   will be hashed even though that is greater than the octet count.

初めは、1つ以上のハッシュ文脈が他のS2Kアルゴリズムで開業されます、重要なデータのいくつの八重奏が必要であるかよって。 次に、塩、続かれて、八重奏カウントで指定される八重奏の数が論じ尽くされるまで、パスフレーズデータは繰り返して論じ尽くされます。 1つの例外はそれが八重奏カウントよりすばらしいのですが、完全な塩とパスフレーズが八重奏カウントが塩とパスフレーズのサイズ以下であるなら、論じ尽くされるということです。

Callas, et. al.             Standards Track                    [Page 10]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[10ページ]。

   After the hashing is done the data is unloaded from the hash
   context(s) as with the other S2K algorithms.

論じ尽くすことが完了していた後に、データは他のS2Kアルゴリズムのようにハッシュ文脈から降ろされます。

3.6.2. String-to-key usage

3.6.2. ストリングからキーへの用法

   Implementations SHOULD use salted or iterated-and-salted S2K
   specifiers, as simple S2K specifiers are more vulnerable to
   dictionary attacks.

純真なS2K特許説明書の作成書が辞書攻撃により被害を受け易いので、実装SHOULD使用は、S2K特許説明書の作成書を塩味を付けたか、繰り返して、または塩味を付けさせました。

3.6.2.1. Secret key encryption

3.6.2.1. 秘密鍵暗号化

   An S2K specifier can be stored in the secret keyring to specify how
   to convert the passphrase to a key that unlocks the secret data.
   Older versions of PGP just stored a cipher algorithm octet preceding
   the secret data or a zero to indicate that the secret data was
   unencrypted. The MD5 hash function was always used to convert the
   passphrase to a key for the specified cipher algorithm.

機密データをアンロックするキーにパスフレーズを変換する方法を指定するために秘密のkeyringでS2K特許説明書の作成書を保存できます。 PGPの旧式のバージョンはただ機密データが非暗号化されたのを示すために機密データかゼロに先行する暗号アルゴリズム八重奏を保存しました。 MD5ハッシュ関数は指定された暗号アルゴリズムのためにパスフレーズをキーに変換するのにおいていつも使用されていました。

   For compatibility, when an S2K specifier is used, the special value
   255 is stored in the position where the hash algorithm octet would
   have been in the old data structure.  This is then followed
   immediately by a one-octet algorithm identifier, and then by the S2K
   specifier as encoded above.

S2K特許説明書の作成書が使用されているとき、互換性において、特別な値255は古いデータ構造にはハッシュアルゴリズム八重奏があった位置に保存されます。 そして、これはすぐ1八重奏のアルゴリズム識別子、およびそして、上でコード化されるS2K特許説明書の作成書によって続かれています。

   Therefore, preceding the secret data there will be one of these
   possibilities:

したがって、そこで機密データに先行するのはこれらの可能性の1つになるでしょう:

       0:           secret data is unencrypted (no pass phrase)
       255:         followed by algorithm octet and S2K specifier
       Cipher alg:  use Simple S2K algorithm using MD5 hash

0: 機密データは非暗号化されます。(いいえは句) 255を通過します: アルゴリズム八重奏とS2K特許説明書の作成書Cipher algによって続かれています: MD5が論じ尽くすSimple S2Kアルゴリズム使用を使用してください。

   This last possibility, the cipher algorithm number with an implicit
   use of MD5 and IDEA, is provided for backward compatibility; it MAY
   be understood, but SHOULD NOT be generated, and is deprecated.

この最後の可能性(MD5とIDEAの暗黙の使用がある暗号アルゴリズム番号)を後方の互換性に提供します。 それが理解されるかもしれませんが、SHOULD NOTは生成されて、推奨しないです。

   These are followed by an 8-octet Initial Vector for the decryption of
   the secret values, if they are encrypted, and then the secret key
   values themselves.

これらは秘密の値の復号化のために8八重奏のInitial Vectorによって続かれています、それらが暗号化されていて、次に、秘密鍵が自分たちを評価するなら。

3.6.2.2. Symmetric-key message encryption

3.6.2.2. 対称鍵メッセージ暗号化

   OpenPGP can create a Symmetric-key Encrypted Session Key (ESK) packet
   at the front of a message.  This is used to allow S2K specifiers to
   be used for the passphrase conversion or to create messages with a
   mix of symmetric-key ESKs and public-key ESKs. This allows a message
   to be decrypted either with a passphrase or a public key.

OpenPGPはメッセージの前部でSymmetric主要なEncrypted Session Key(ESK)パケットを作成できます。 これは、S2K特許説明書の作成書がパスフレーズ変換に使用されるか、または対称鍵のESKsと公開鍵ESKsのミックスでメッセージを作成するのを許容するのに使用されます。 これはパスフレーズか公開鍵で解読されるべきメッセージを許容します。

Callas, et. al.             Standards Track                    [Page 11]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[11ページ]。

   PGP 2.X always used IDEA with Simple string-to-key conversion when
   encrypting a message with a symmetric algorithm. This is deprecated,
   but MAY be used for backward-compatibility.

左右対称のアルゴリズムでメッセージを暗号化するとき、PGP 2.XはいつもSimpleのストリングからキー変換があるIDEAを使用しました。 これは、推奨しないのですが、後方の互換性に使用されるかもしれません。

4. Packet Syntax

4. パケット構文

   This section describes the packets used by OpenPGP.

このセクションはOpenPGPによって使用されたパケットについて説明します。

4.1. Overview

4.1. 概要

   An OpenPGP message is constructed from a number of records that are
   traditionally called packets. A packet is a chunk of data that has a
   tag specifying its meaning. An OpenPGP message, keyring, certificate,
   and so forth consists of a number of packets. Some of those packets
   may contain other OpenPGP packets (for example, a compressed data
   packet, when uncompressed, contains OpenPGP packets).

OpenPGPメッセージは伝統的にパケットと呼ばれる多くの記録から構成されます。 パケットはタグが意味を指定するデータの塊です。 OpenPGPメッセージ、keyring、証明書などは多くのパケットから成ります。 それらのいくつかのパケットが他のOpenPGPパケットを含むかもしれません(例えば、解凍されると、圧縮されたデータ・パケットはOpenPGPパケットを含んでいます)。

   Each packet consists of a packet header, followed by the packet body.
   The packet header is of variable length.

各パケットはパケットボディーがあとに続いたパケットのヘッダーから成ります。 パケットのヘッダーは可変長のものです。

4.2. Packet Headers

4.2. パケットのヘッダー

   The first octet of the packet header is called the "Packet Tag." It
   determines the format of the header and denotes the packet contents.
   The remainder of the packet header is the length of the packet.

パケットのヘッダーの最初の八重奏は「パケットタグ」と呼ばれます。 それは、ヘッダーの形式を決定して、パケットコンテンツを指示します。 パケットのヘッダーの残りはパケットの長さです。

   Note that the most significant bit is the left-most bit, called bit
   7. A mask for this bit is 0x80 in hexadecimal.

最も重要なビットがビット7と呼ばれる最も左のビットであることに注意してください。 このビットマスクは16進の0×80です。

              +---------------+
         PTag |7 6 5 4 3 2 1 0|
              +---------------+
         Bit 7 -- Always one
         Bit 6 -- New packet format if set

+---------------+ PTag|7 6 5 4 3 2 1 0| +---------------+ 設定されるなら新しいパケットがフォーマットするビット7(いつも1Bit6)

   PGP 2.6.x only uses old format packets. Thus, software that
   interoperates with those versions of PGP must only use old format
   packets. If interoperability is not an issue, either format may be
   used. Note that old format packets have four bits of content tags,
   and new format packets have six; some features cannot be used and
   still be backward-compatible.

PGP 2.6.xは古い方式パケットを使用するだけです。 したがって、PGPのそれらのバージョンで共同利用するソフトウェアは古い方式パケットを使用するだけでよいです。 相互運用性が問題でないなら、形式は使用されるかもしれません。 古い方式パケットには満足しているタグの4ビットがあることに注意してください。そうすれば、新しい形式パケットは6を持っています。 いくつかの特徴は、使用されて、まだ互換性があるはずがありません後方の。

   Old format packets contain:

古い方式パケットは以下を含んでいます。

         Bits 5-2 -- content tag
         Bits 1-0 - length-type

ビット5-2--内容タグBits1-0--長さタイプ

Callas, et. al.             Standards Track                    [Page 12]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[12ページ]。

   New format packets contain:

新しい形式パケットは以下を含んでいます。

         Bits 5-0 -- content tag

ビット5-0--満足しているタグ

4.2.1. Old-Format Packet Lengths

4.2.1. 古い方式パケット長

   The meaning of the length-type in old-format packets is:

古い方式パケットの長さタイプの意味は以下の通りです。

   0 - The packet has a one-octet length. The header is 2 octets long.

0--パケットには、1八重奏の長さがあります。 長い間、ヘッダーは2つの八重奏です。

   1 - The packet has a two-octet length. The header is 3 octets long.

1--パケットには、2八重奏の長さがあります。 長い間、ヘッダーは3つの八重奏です。

   2 - The packet has a four-octet length. The header is 5 octets long.

2--パケットには、4八重奏の長さがあります。 長い間、ヘッダーは5つの八重奏です。

   3 - The packet is of indeterminate length.  The header is 1 octet
       long, and the implementation must determine how long the packet
       is. If the packet is in a file, this means that the packet
       extends until the end of the file. In general, an implementation
       SHOULD NOT use indeterminate length packets except where the end
       of the data will be clear from the context, and even then it is
       better to use a definite length, or a new-format header. The
       new-format headers described below have a mechanism for precisely
       encoding data of indeterminate length.

3--パケットは不確定の長さのものです。 長い間、ヘッダーは1つの八重奏です、そして、実装はパケットがどれくらい長いかを決定しなければなりません。 パケットがファイルにあるなら、これは、パケットがファイルの端まで広がることを意味します。 一般に、SHOULD NOTがデータの終わりがあるところで不確定の長さのパケットを使用する実装は文脈からクリアされます、そして、その時でさえ、明確な長さ、または新しい形式ヘッダーを使用しているほうがよいです。 以下で説明された新しい形式ヘッダーは正確に不確定の長さに関するデータをコード化するためのメカニズムを持っています。

4.2.2. New-Format Packet Lengths

4.2.2. 新しい形式パケット長

   New format packets have four possible ways of encoding length:

新しい形式パケットには、長さをコード化する4つの可能な方法があります:

    1. A one-octet Body Length header encodes packet lengths of up to
       191 octets.

1. 1八重奏のBody Lengthヘッダーは最大191の八重奏のパケット長をコード化します。

   2. A two-octet Body Length header encodes packet lengths of 192 to
       8383 octets.

2. 2八重奏のBody Lengthヘッダーは192〜8383の八重奏のパケット長をコード化します。

    3. A five-octet Body Length header encodes packet lengths of up to
       4,294,967,295 (0xFFFFFFFF) octets in length. (This actually
       encodes a four-octet scalar number.)

3. 5八重奏のBody Lengthヘッダーは長さにおける、最大42億9496万7295(0xFFFFFFFF)の八重奏のパケット長をコード化します。 (これは実際に4八重奏のスカラの数をコード化します。)

    4. When the length of the packet body is not known in advance by the
       issuer, Partial Body Length headers encode a packet of
       indeterminate length, effectively making it a stream.

4. パケットボディーの長さがあらかじめ発行人によって知られていないと、Partial Body Lengthヘッダーは不確定の長さのパケットをコード化します、事実上それをストリームにして。

Callas, et. al.             Standards Track                    [Page 13]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[13ページ]。

4.2.2.1. One-Octet Lengths

4.2.2.1. 1八重奏の長さ

   A one-octet Body Length header encodes a length of from 0 to 191
   octets. This type of length header is recognized because the one
   octet value is less than 192.  The body length is equal to:

1八重奏のBody Lengthヘッダーは0〜191の八重奏の長さをコード化します。 1つの八重奏値が192未満であるので、このタイプの長さのヘッダーは見分けられます。 ボディーの長さは以下と等しいです。

       bodyLen = 1st_octet;

bodyLenは最初の_八重奏と等しいです。

4.2.2.2. Two-Octet Lengths

4.2.2.2. 2八重奏の長さ

   A two-octet Body Length header encodes a length of from 192 to 8383
   octets.  It is recognized because its first octet is in the range 192
   to 223.  The body length is equal to:

2八重奏のBody Lengthヘッダーは192〜8383の八重奏の長さをコード化します。 最初の八重奏が範囲に192〜223にあるので、それは認識されます。 ボディーの長さは以下と等しいです。

       bodyLen = ((1st_octet - 192) << 8) + (2nd_octet) + 192

bodyLen=(最初の_八重奏--192)<<8) + (第2_八重奏)+192

4.2.2.3. Five-Octet Lengths

4.2.2.3. 5八重奏の長さ

   A five-octet Body Length header consists of a single octet holding
   the value 255, followed by a four-octet scalar. The body length is
   equal to:

5八重奏のBody Lengthヘッダーは4八重奏のスカラがあとに続いていて、値255を保持するただ一つの八重奏から成ります。 ボディーの長さは以下と等しいです。

       bodyLen = (2nd_octet << 24) | (3rd_octet << 16) |
                 (4th_octet << 8)  | 5th_octet

bodyLenは(第2_八重奏<<24)と等しいです。| (第3_八重奏<<16) | (第4_八重奏<<8) | 5番目の_八重奏

4.2.2.4. Partial Body Lengths

4.2.2.4. 部分的なボディーの長さ

   A Partial Body Length header is one octet long and encodes the length
   of only part of the data packet. This length is a power of 2, from 1
   to 1,073,741,824 (2 to the 30th power).  It is recognized by its one
   octet value that is greater than or equal to 224, and less than 255.
   The partial body length is equal to:

Partial Body Lengthヘッダーは、長い間の1つの八重奏であり、データ・パケットの一部だけの長さをコード化します。 この長さは1〜10億7374万1824までの2(2の30乗)のパワーです。 それは224以上である1つの八重奏値、および255未満によって認識されます。 部分的なボディーの長さは以下と等しいです。

       partialBodyLen = 1 << (1st_octet & 0x1f);

partialBodyLenは1<<(最初の_八重奏と0x1f)と等しいです。

   Each Partial Body Length header is followed by a portion of the
   packet body data. The Partial Body Length header specifies this
   portion's length. Another length header (of one of the three types --
   one octet, two-octet, or partial) follows that portion. The last
   length header in the packet MUST NOT be a partial Body Length header.
   Partial Body Length headers may only be used for the non-final parts
   of the packet.

パケットボディーデータの部分はそれぞれのPartial Body Lengthヘッダーのあとに続いています。 Partial Body Lengthヘッダーはこの部分の長さを指定します。 別の長さのヘッダー(2八重奏の1つの八重奏の、または、部分的な3つのタイプのひとりの)はその部分の後をつけます。 パケットにおける最後の長さのヘッダーは部分的なBody Lengthヘッダーであるはずがありません。 部分的なBody Lengthヘッダーはパケットの非最終な部分に使用されるだけであるかもしれません。

4.2.3. Packet Length Examples

4.2.3. パケット長の例

   These examples show ways that new-format packets might encode the
   packet lengths.

これらの例は、新しい形式パケットがパケット長をコード化するかもしれないのを道に示します。

Callas, et. al.             Standards Track                    [Page 14]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[14ページ]。

   A packet with length 100 may have its length encoded in one octet:
   0x64. This is followed by 100 octets of data.

長さ100があるパケットで、1つの八重奏で長さをコード化するかもしれません: 0×64。 データの100の八重奏がこれのあとに続いています。

   A packet with length 1723 may have its length coded in two octets:
   0xC5, 0xFB.  This header is followed by the 1723 octets of data.

長さ1723があるパケットで、2つの八重奏で長さをコード化するかもしれません: 0xC5、0xFB。 1723年のデータの八重奏はこのヘッダーのあとに続いています。

   A packet with length 100000 may have its length encoded in five
   octets: 0xFF, 0x00, 0x01, 0x86, 0xA0.

長さ100000があるパケットで、5つの八重奏で長さをコード化するかもしれません: 0xFF、0×00、0×01、0×86、0xA0。

   It might also be encoded in the following octet stream: 0xEF, first
   32768 octets of data; 0xE1, next two octets of data; 0xE0, next one
   octet of data; 0xF0, next 65536 octets of data; 0xC5, 0xDD, last 1693
   octets of data.  This is just one possible encoding, and many
   variations are possible on the size of the Partial Body Length
   headers, as long as a regular Body Length header encodes the last
   portion of the data. Note also that the last Body Length header can
   be a zero-length header.

また、それは以下の八重奏ストリームでコード化されるかもしれません: 0xEF、最初に、データの32768の八重奏。 0xE1、データの次の2つの八重奏。 0xE0、データの次の1つの八重奏。 0xF0、データの次の65536の八重奏。 0xC5(0xDD)はデータの1693の八重奏が続きます。 レギュラーのBody Lengthヘッダーがデータの語尾をコード化するとき、これはただコード化して、多くの変化がPartial Body Lengthヘッダーのサイズで同じくらい可能であって、同じくらい長いのが可能な1つです。 また、最後のBody Lengthヘッダーがゼロ・レングスヘッダーであるかもしれないことに注意してください。

   An implementation MAY use Partial Body Lengths for data packets, be
   they literal, compressed, or encrypted. The first partial length MUST
   be at least 512 octets long. Partial Body Lengths MUST NOT be used
   for any other packet types.

それらが文字通り、圧縮された、または暗号化されていたなら、実装はデータ・パケットにPartial Body Lengthsを使用するかもしれません。 長い間、最初の部分的な長さは少なくとも512の八重奏であるに違いありません。 いかなる他のパケットタイプにも部分的なBody Lengthsを使用してはいけません。

   Please note that in all of these explanations, the total length of
   the packet is the length of the header(s) plus the length of the
   body.

これらの説明のすべてでは、パケットの全長は、ヘッダーの長さとボディーの長さです。

4.3. Packet Tags

4.3. パケットタグ

   The packet tag denotes what type of packet the body holds. Note that
   old format headers can only have tags less than 16, whereas new
   format headers can have tags as great as 63. The defined tags (in
   decimal) are:

パケットタグはボディーが保持するパケットのすべてのタイプを指示します。 ヘッダーが持つことができるだけである古い方式が16未満にタグ付けをしますが、新しい形式ヘッダーがタグを63と同じくらいすばらしくすることができることに注意してください。 定義されたタグ(小数における)は以下の通りです。

       0        -- Reserved - a packet tag must not have this value
       1        -- Public-Key Encrypted Session Key Packet
       2        -- Signature Packet
       3        -- Symmetric-Key Encrypted Session Key Packet
       4        -- One-Pass Signature Packet
       5        -- Secret Key Packet
       6        -- Public Key Packet
       7        -- Secret Subkey Packet
       8        -- Compressed Data Packet
       9        -- Symmetrically Encrypted Data Packet
       10       -- Marker Packet
       11       -- Literal Data Packet
       12       -- Trust Packet

この値1--公共に主要なEncrypted Session Key Packet2--署名Packet3(左右対称に主要なEncrypted Session Key Packet4)がパケットタグからSignature Packet5を1つ渡してはいけない0(予約されます)--秘密のKey Packet6--公共のKey Packet7(秘密のSubkey Packet8)はData Packet9--対称的にEncrypted Data Packet10(マーカーPacket11)文字通りのData Packet12--信頼Packetを圧縮しました。

Callas, et. al.             Standards Track                    [Page 15]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[15ページ]。

       13       -- User ID Packet
       14       -- Public Subkey Packet
       60 to 63 -- Private or Experimental Values

13--ユーザIDパケット14--公共のサブキーパケット60〜63--個人的であるか実験している値

5. Packet Types

5. パケットタイプ

5.1. Public-Key Encrypted Session Key Packets (Tag 1)

5.1. 公開鍵の暗号化されたセッション主要なパケット(タグ1)

   A Public-Key Encrypted Session Key packet holds the session key used
   to encrypt a message. Zero or more Encrypted Session Key packets
   (either Public-Key or Symmetric-Key) may precede a Symmetrically
   Encrypted Data Packet, which holds an encrypted message.  The message
   is encrypted with the session key, and the session key is itself
   encrypted and stored in the Encrypted Session Key packet(s).  The
   Symmetrically Encrypted Data Packet is preceded by one Public-Key
   Encrypted Session Key packet for each OpenPGP key to which the
   message is encrypted.  The recipient of the message finds a session
   key that is encrypted to their public key, decrypts the session key,
   and then uses the session key to decrypt the message.

Public主要なEncrypted Session Keyパケットは、セッションキーがメッセージを暗号化するのに使用されるままにします。 ゼロか、より多くのEncrypted Session Keyパケット(Public主要であるかSymmetric主要な)がSymmetrically Encrypted Data Packetに先行するかもしれません。(Symmetrically Encrypted Data Packetは暗号化メッセージを保持します)。 メッセージがセッションキーで暗号化されて、セッションキーは、Encrypted Session Keyパケットに暗号化されて、保存されます。 メッセージが暗号化されているそれぞれのOpenPGPキーあたり1つのPublic主要なEncrypted Session KeyパケットがSymmetrically Encrypted Data Packetに先行します。 メッセージの受取人は、それらの公開鍵に暗号化されて、セッションキーを解読して、次にセッションを使用するセッションキーがメッセージを解読するために主要であることがわかります。

   The body of this packet consists of:

このパケットのボディーは以下から成ります。

     - A one-octet number giving the version number of the packet type.
       The currently defined value for packet version is 3. An
       implementation should accept, but not generate a version of 2,
       which is equivalent to V3 in all other respects.

- パケットタイプのバージョン番号を与える1八重奏の数。 パケットバージョンのための現在定義された値は3です。 他のすべての点におけるV3に同等な2のバージョンを生成しないのを除いて、実装は受け入れるべきです。

     - An eight-octet number that gives the key ID of the public key
       that the session key is encrypted to.

- セッションキーが暗号化される公開鍵を主要なIDに与える8八重奏の数。

     - A one-octet number giving the public key algorithm used.

- 公開鍵アルゴリズムを使用されているのに与える1八重奏の数。

     - A string of octets that is the encrypted session key. This string
       takes up the remainder of the packet, and its contents are
       dependent on the public key algorithm used.

- 暗号化されたセッションキーである一連の八重奏。 このストリングはパケットの残りを始めます、そして、内容は使用される公開鍵アルゴリズムに依存しています。

   Algorithm Specific Fields for RSA encryption

RSA暗号化のためのアルゴリズムSpecificフィールズ

     - multiprecision integer (MPI) of RSA encrypted value m**e mod n.

- RSAの多倍精度整数(MPI)は値m**eモッズnを暗号化しました。

   Algorithm Specific Fields for Elgamal encryption:

Elgamal暗号化のためのアルゴリズムSpecificフィールズ:

     - MPI of Elgamal (Diffie-Hellman) value g**k mod p.

- Elgamal(ディフィー-ヘルマン)値g**kモッズpのMPI。

     - MPI of Elgamal (Diffie-Hellman) value m * y**k mod p.

- Elgamal(ディフィー-ヘルマン)値のm*y**kモッズpのMPI。

Callas, et. al.             Standards Track                    [Page 16]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[16ページ]。

   The value "m" in the above formulas is derived from the session key
   as follows.  First the session key is prefixed with a one-octet
   algorithm identifier that specifies the symmetric encryption
   algorithm used to encrypt the following Symmetrically Encrypted Data
   Packet.  Then a two-octet checksum is appended which is equal to the
   sum of the preceding session key octets, not including the algorithm
   identifier, modulo 65536.  This value is then padded as described in
   PKCS-1 block type 02 [RFC2313] to form the "m" value used in the
   formulas above.

以下のセッションキーから上の定石による値の「m」を得ます。 まず最初に、セッションキーは以下のSymmetrically Encrypted Data Packetを暗号化するのに使用される左右対称の暗号化アルゴリズムを指定する1八重奏のアルゴリズム識別子で前に置かれています。 次に前のセッション主要な八重奏の合計と等しい2八重奏のチェックサムを追加します、アルゴリズム識別子(法65536)を含んでいなくて そして、この値はPKCS-1ゴシック体02[RFC2313]で上の定石で使用される「m」値を形成するために説明されるように水増しされます。

   Note that when an implementation forms several PKESKs with one
   session key, forming a message that can be decrypted by several keys,
   the implementation MUST make new PKCS-1 padding for each key.

数個のキーで解読することができるメッセージを形成して、実装が1個のセッションキーで数個のPKESKsを形成するとき、実装が各キーのためにそっと歩く新しいPKCS-1を作らなければならないことに注意してください。

   An implementation MAY accept or use a Key ID of zero as a "wild card"
   or "speculative" Key ID. In this case, the receiving implementation
   would try all available private keys, checking for a valid decrypted
   session key. This format helps reduce traffic analysis of messages.

実装は、「ワイルドカード」か「投機的な」Key IDとしてゼロのKey IDを認めるか、または使用するかもしれません。 この場合、有効な解読されたセッションキーがないかどうかチェックして、受信実装はすべての利用可能な秘密鍵を試みるでしょう。 この形式は、メッセージのトラヒック分析を抑えるのを助けます。

5.2. Signature Packet (Tag 2)

5.2. 署名パケット(タグ2)

   A signature packet describes a binding between some public key and
   some data. The most common signatures are a signature of a file or a
   block of text, and a signature that is a certification of a user ID.

署名パケットは何らかの公開鍵といくつかのデータの間の結合について説明します。 最も一般的な署名は、ファイルの署名か1ブロックのテキストと、ユーザIDの証明である署名です。

   Two versions of signature packets are defined.  Version 3 provides
   basic signature information, while version 4 provides an expandable
   format with subpackets that can specify more information about the
   signature. PGP 2.6.x only accepts version 3 signatures.

署名パケットの2つのバージョンが定義されます。 バージョン3は基本の署名情報を提供します、バージョン4は署名に関する詳しい情報を指定できる「副-パケット」を拡張可能な形式に提供しますが。 PGP 2.6.xはバージョン3署名を受け入れるだけです。

   Implementations MUST accept V3 signatures. Implementations SHOULD
   generate V4 signatures.  Implementations MAY generate a V3 signature
   that can be verified by PGP 2.6.x.

実装はV3署名を受け入れなければなりません。 実装SHOULDはV4に署名を生成します。 実装はPGP 2.6.xが確かめることができるV3署名を生成するかもしれません。

   Note that if an implementation is creating an encrypted and signed
   message that is encrypted to a V3 key, it is reasonable to create a
   V3 signature.

実装がV3キーに暗号化される暗号化されて署名しているメッセージを作成しているなら、V3署名を作成するのが妥当であることに注意してください。

5.2.1. Signature Types

5.2.1. 署名タイプ

   There are a number of possible meanings for a signature, which are
   specified in a signature type octet in any given signature. These
   meanings are:

署名のための多くの可能な意味があります。(意味はどんな与えられた署名でも署名タイプ八重奏で指定されます)。 これらの意味は以下の通りです。

   0x00: Signature of a binary document.
         Typically, this means the signer owns it, created it, or
         certifies that it has not been modified.

0×00: 2進のドキュメントの署名。 通常、これは、署名者が、それを所有しているか、それを作成するか、またはそれが変更されていないのを公認することを意味します。

Callas, et. al.             Standards Track                    [Page 17]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[17ページ]。

   0x01: Signature of a canonical text document.
         Typically, this means the signer owns it, created it, or
         certifies that it has not been modified.  The signature is
         calculated over the text data with its line endings converted
         to <CR><LF> and trailing blanks removed.

0×01: 正準なテキストドキュメントの署名。 通常、これは、署名者が、それを所有しているか、それを作成するか、またはそれが変更されていないのを公認することを意味します。 署名は<CR><LF>に系列結末を変換して、引きずっている空白を取り除いているテキストデータに関して計算されます。

   0x02: Standalone signature.
         This signature is a signature of only its own subpacket
         contents. It is calculated identically to a signature over a
         zero-length binary document. Note that it doesn't make sense to
         have a V3 standalone signature.

0×02: スタンドアロン署名。 この署名はそれ自身だけの「副-パケット」コンテンツの署名です。 それは同様にゼロ・レングスバイナリードキュメントの上の署名に計算されます。 V3スタンドアロン署名を持つ意味にならないことに注意してください。

   0x10: Generic certification of a User ID and Public Key packet.
         The issuer of this certification does not make any particular
         assertion as to how well the certifier has checked that the
         owner of the key is in fact the person described by the user
         ID.  Note that all PGP "key signatures" are this type of
         certification.

0×10: User IDとPublic Keyパケットのジェネリック証明。 この証明の発行人は証明することが、事実上、キーの所有者がユーザIDによって説明された人であることをどれくらいよくチェックしたかに関して少しの特定の主張もしません。 すべてのPGP「調号」がこのタイプの証明であることに注意してください。

   0x11: Persona certification of a User ID and Public Key packet.
         The issuer of this certification has not done any verification
         of the claim that the owner of this key is the user ID
         specified.

0×11: User IDとPublic Keyパケットの人格証明。 この証明の発行人はこのキーの所有者がIDが指定したユーザであるというクレームの少しの検証もしていません。

   0x12: Casual certification of a User ID and Public Key packet.
         The issuer of this certification has done some casual
         verification of the claim of identity.

0×12: User IDとPublic Keyパケットのカジュアルな証明。 この証明の発行人はアイデンティティのクレームの何らかのカジュアルな検証をしました。

   0x13: Positive certification of a User ID and Public Key packet.
         The issuer of this certification has done substantial
         verification of the claim of identity.

0×13: User IDとPublic Keyパケットの積極的な証明。 この証明の発行人はアイデンティティのクレームのかなりの検証をしました。

         Please note that the vagueness of these certification claims is
         not a flaw, but a feature of the system. Because PGP places
         final authority for validity upon the receiver of a
         certification, it may be that one authority's casual
         certification might be more rigorous than some other
         authority's positive certification. These classifications allow
         a certification authority to issue fine-grained claims.

これらの証明クレームのあいまいさは欠点ではなく、システムの特徴です。 PGPが正当性のために最終的な権威を証明の受信機に置くので、多分、1つの権威のカジュアルな証明はある他の権威の積極的な証明より厳しいかもしれません。 これらの分類はきめ細かに粒状のクレームを発行する証明権威を許容します。

   0x18: Subkey Binding Signature
         This signature is a statement by the top-level signing key
         indicates that it owns the subkey. This signature is calculated
         directly on the subkey itself, not on any User ID or other
         packets.

0×18: サブキーBinding Signature This署名はトップレベル署名キーによる声明が、サブキーを所有しているのを示すということです。 この署名はどんなUser IDや他のパケットの上でも計算されるのではなく、サブキー自体の直接上に計算されます。

Callas, et. al.             Standards Track                    [Page 18]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[18ページ]。

   0x1F: Signature directly on a key
         This signature is calculated directly on a key.  It binds the
         information in the signature subpackets to the key, and is
         appropriate to be used for subpackets that provide information
         about the key, such as the revocation key subpacket. It is also
         appropriate for statements that non-self certifiers want to
         make about the key itself, rather than the binding between a
         key and a name.

0x1F: 直接主要なThis署名の署名はキーの直接上に計算されます。 キーの情報を提供する「副-パケット」に使用されるのは、署名「副-パケット」における情報をキーに縛って、適切です、取消しの主要な「副-パケット」などのように。 また、それはキーと名前の間の結合よりむしろ非自己証明することがキー自体の周りで作りたがっている適切な繰り返し文です。

   0x20: Key revocation signature
         The signature is calculated directly on the key being revoked.
         A revoked key is not to be used.  Only revocation signatures by
         the key being revoked, or by an authorized revocation key,
         should be considered valid revocation signatures.

0×20: 取消し署名を合わせてください。署名は、キーの直接上に取り消されながら、計算されます。 取り消されたキーは使用されていることになっていません。 取り消されるキー、または認可された取消しキーによる取消し署名だけが有効な取消し署名であると考えられるべきです。

   0x28: Subkey revocation signature
         The signature is calculated directly on the subkey being
         revoked.  A revoked subkey is not to be used.  Only revocation
         signatures by the top-level signature key that is bound to this
         subkey, or by an authorized revocation key, should be
         considered valid revocation signatures.

0×28: サブキー取消し署名、署名は取り消されるサブキーの直接上に計算されます。 取り消されたサブキーは使用されていることになっていません。 このサブキーに縛られるトップレベル署名キー、または認可された取消しキーによる取消し署名だけが有効な取消し署名であると考えられるべきです。

   0x30: Certification revocation signature
         This signature revokes an earlier user ID certification
         signature (signature class 0x10 through 0x13). It should be
         issued by the same key that issued the revoked signature or an
         authorized revocation key The signature should have a later
         creation date than the signature it revokes.

0×30: 証明取消し署名This署名は以前のユーザID証明署名(署名クラス0×10から0x13)を取り消します。 それは署名が持つべきである取り消された署名か認可された取消しキーにそれが取り消す署名より遅い作成日付を発行したのと同じキーによって発行されるべきです。

   0x40: Timestamp signature.
         This signature is only meaningful for the timestamp contained
         in it.

0×40: タイムスタンプ署名。 それに含まれたタイムスタンプだけに、この署名は重要です。

5.2.2. Version 3 Signature Packet Format

5.2.2. バージョン3署名パケット・フォーマット

   The body of a version 3 Signature Packet contains:

バージョン3Signature Packetのボディーは以下を含みます。

     - One-octet version number (3).

- 1八重奏のバージョン番号(3)。

     - One-octet length of following hashed material.  MUST be 5.

- 1八重奏の長さについて論じ尽くされた材料に続くこと。 5はそうであるに違いありませんか?

         - One-octet signature type.

- 1八重奏の署名タイプ。

         - Four-octet creation time.

- 4八重奏の作成時間。

     - Eight-octet key ID of signer.

- 署名者の8八重奏の主要なID。

     - One-octet public key algorithm.

- 1八重奏の公開鍵アルゴリズム。

Callas, et. al.             Standards Track                    [Page 19]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[19ページ]。

     - One-octet hash algorithm.

- 1八重奏のハッシュアルゴリズム。

     - Two-octet field holding left 16 bits of signed hash value.

- 2八重奏の分野把持は署名しているハッシュ値の16ビットを残しました。

     - One or more multi-precision integers comprising the signature.
       This portion is algorithm specific, as described below.

- 署名を包括する1つ以上のマルチ精度整数。 この部分は以下で説明されるとして特定のアルゴリズムです。

   The data being signed is hashed, and then the signature type and
   creation time from the signature packet are hashed (5 additional
   octets).  The resulting hash value is used in the signature
   algorithm. The high 16 bits (first two octets) of the hash are
   included in the signature packet to provide a quick test to reject
   some invalid signatures.

署名されるデータは論じ尽くされます、そして、次に、署名パケットからの署名タイプと作成時間は論じ尽くされます(5つの追加八重奏)。 結果として起こるハッシュ値は署名アルゴリズムで使用されます。 ハッシュの高い16ビット(最初の2つの八重奏)は、いくつかの無効の署名を拒絶するために迅速なテストを提供するために署名パケットに含まれています。

   Algorithm Specific Fields for RSA signatures:

RSA署名のためのアルゴリズムSpecificフィールズ:

     - multiprecision integer (MPI) of RSA signature value m**d.

- RSA署名値のm**dの多倍精度整数(MPI)。

   Algorithm Specific Fields for DSA signatures:

DSA署名のためのアルゴリズムSpecificフィールズ:

     - MPI of DSA value r.

- DSA価値rのMPI。

     - MPI of DSA value s.

- DSA価値sのMPI。

   The signature calculation is based on a hash of the signed data, as
   described above.  The details of the calculation are different for
   DSA signature than for RSA signatures.

署名計算は上で説明されるように署名しているデータのハッシュに基づいています。 DSA署名において、計算の詳細はRSA署名より異なっています。

   With RSA signatures, the hash value is encoded as described in PKCS-1
   section 10.1.2, "Data encoding", producing an ASN.1 value of type
   DigestInfo, and then padded using PKCS-1 block type 01 [RFC2313].
   This requires inserting the hash value as an octet string into an
   ASN.1 structure. The object identifier for the type of hash being
   used is included in the structure.  The hexadecimal representations
   for the currently defined hash algorithms are:

RSA署名で、ハッシュ値はPKCS-1部10.1の.2、「zデータの符号化」で説明されるようにコード化されます、タイプDigestInfoのASN.1値を生産して、次に、そっと歩いている使用PKCS-1ゴシック体01[RFC2313]を生産して。 これは、八重奏ストリングとしてASN.1構造にハッシュ値を挿入するのを必要とします。 使用されるハッシュのタイプへのオブジェクト識別子は構造に含まれています。 現在定義されたハッシュアルゴリズムの16進表現は以下の通りです。

     - MD2:        0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x02

- MD2: 0x2A、0×86 0×48 0×86 0xF7、0x0D、0×02、0×02

     - MD5:        0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05

- MD5: 0x2A、0×86 0×48 0×86 0xF7、0x0D、0×02、0×05

     - RIPEMD-160: 0x2B, 0x24, 0x03, 0x02, 0x01

- RIPEMD-160: 0x2B、0×24、0×03、0×02、0×01

     - SHA-1:      0x2B, 0x0E, 0x03, 0x02, 0x1A

- SHA-1: 0x2B、0x0E、0×03、0×02、0x1A

Callas, et. al.             Standards Track                    [Page 20]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[20ページ]。

   The ASN.1 OIDs are:

ASN.1OIDsは以下の通りです。

     - MD2:        1.2.840.113549.2.2

- MD2: 1.2.840.113549.2.2

     - MD5:        1.2.840.113549.2.5

- MD5: 1.2.840.113549.2.5

     - RIPEMD-160: 1.3.36.3.2.1

- RIPEMD-160: 1.3.36.3.2.1

     - SHA-1:      1.3.14.3.2.26

- SHA-1: 1.3.14.3.2.26

   The full hash prefixes for these are:

これらのための完全なハッシュ接頭語は以下の通りです。

       MD2:        0x30, 0x20, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86,
                   0x48, 0x86, 0xF7, 0x0D, 0x02, 0x02, 0x05, 0x00,
                   0x04, 0x10

MD2: 0×30 0×20 0×30 0x0C、0×06、0×08、0x2A、0×86、0×48、0×86、0xF7、0x0D、0×02、0×02、0×05、0×00、0×04、0×10

       MD5:        0x30, 0x20, 0x30, 0x0C, 0x06, 0x08, 0x2A, 0x86,
                   0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05, 0x05, 0x00,
                   0x04, 0x10

MD5: 0×30 0×20 0×30 0x0C、0×06、0×08、0x2A、0×86、0×48、0×86、0xF7、0x0D、0×02、0×05、0×05、0×00、0×04、0×10

       RIPEMD-160: 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x24,
                   0x03, 0x02, 0x01, 0x05, 0x00, 0x04, 0x14

RIPEMD-160: 0×30、0×21、0×30、0×09、0×06、0×05、0x2B、0×24、0×03、0×02、0×01、0×05、0×00、0×04、0×14

       SHA-1:      0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0E,
                   0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14

SHA-1: 0×30 0×21 0×30 0×09 0×06 0×05 0x2b、0x0E、0×03、0×02、0x1A、0×05、0×00、0×04、0×14

   DSA signatures MUST use hashes with a size of 160 bits, to match q,
   the size of the group generated by the DSA key's generator value.
   The hash function result is treated as a 160 bit number and used
   directly in the DSA signature algorithm.

DSA署名はqを合わせるのに160ビットのサイズがあるハッシュを使用しなければなりません、DSAキーのジェネレータ値によって作られたグループのサイズ。 ハッシュ関数結果は、160ビットの数として扱われて、直接DSA署名アルゴリズムで使用されます。

5.2.3. Version 4 Signature Packet Format

5.2.3. バージョン4署名パケット・フォーマット

   The body of a version 4 Signature Packet contains:

バージョン4Signature Packetのボディーは以下を含みます。

     - One-octet version number (4).

- 1八重奏のバージョン番号(4)。

     - One-octet signature type.

- 1八重奏の署名タイプ。

     - One-octet public key algorithm.

- 1八重奏の公開鍵アルゴリズム。

     - One-octet hash algorithm.

- 1八重奏のハッシュアルゴリズム。

     - Two-octet scalar octet count for following hashed subpacket
       data. Note that this is the length in octets of all of the hashed
       subpackets; a pointer incremented by this number will skip over
       the hashed subpackets.

- 論じ尽くされた「副-パケット」データに従うための2八重奏のスカラの八重奏カウント。 これが論じ尽くされた「副-パケット」のすべての八重奏で長さであることに注意してください。 この数によって増加された指針は論じ尽くされた「副-パケット」を飛ばすでしょう。

Callas, et. al.             Standards Track                    [Page 21]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[21ページ]。

     - Hashed subpacket data. (zero or more subpackets)

- 「副-パケット」データを論じ尽くしました。 (ゼロか、より多くの「副-パケット」)

     - Two-octet scalar octet count for following unhashed subpacket
       data. Note that this is the length in octets of all of the
       unhashed subpackets; a pointer incremented by this number will
       skip over the unhashed subpackets.

- unhashed subpacketデータに従うための2八重奏のスカラの八重奏カウント。 これがunhashed subpacketsのすべての八重奏で長さであることに注意してください。 この数によって増加された指針はunhashed subpacketsを飛ばすでしょう。

     - Unhashed subpacket data. (zero or more subpackets)

- Unhashed subpacketデータ。 (ゼロか、より多くの「副-パケット」)

     - Two-octet field holding left 16 bits of signed hash value.

- 2八重奏の分野把持は署名しているハッシュ値の16ビットを残しました。

     - One or more multi-precision integers comprising the signature.
       This portion is algorithm specific, as described above.

- 署名を包括する1つ以上のマルチ精度整数。 この部分は上で説明されるとして特定のアルゴリズムです。

   The data being signed is hashed, and then the signature data from the
   version number through the hashed subpacket data (inclusive) is
   hashed. The resulting hash value is what is signed.  The left 16 bits
   of the hash are included in the signature packet to provide a quick
   test to reject some invalid signatures.

署名されるデータは論じ尽くされます、そして、次に、バージョン番号から論じ尽くされた「副-パケット」データ(包括的な)の署名データは論じ尽くされます。 結果として起こるハッシュ値は署名されることです。 ハッシュの左の16ビットは、いくつかの無効の署名を拒絶するために迅速なテストを提供するために署名パケットに含まれています。

   There are two fields consisting of signature subpackets.  The first
   field is hashed with the rest of the signature data, while the second
   is unhashed.  The second set of subpackets is not cryptographically
   protected by the signature and should include only advisory
   information.

署名「副-パケット」から成る2つの分野があります。 署名データの残りに従って、最初の分野は論じ尽くされますが、2番目は「非-論じ尽く」されます。 「副-パケット」の2番目のセットは、署名で暗号で保護されないで、顧問情報だけを含むべきです。

   The algorithms for converting the hash function result to a signature
   are described in a section below.

ハッシュ関数結果を署名に変換するためのアルゴリズムは下のセクションで説明されます。

5.2.3.1. Signature Subpacket Specification

5.2.3.1. 署名Subpacket仕様

   The subpacket fields consist of zero or more signature subpackets.
   Each set of subpackets is preceded by a two-octet scalar count of the
   length of the set of subpackets.

「副-パケット」分野はゼロか、より多くの署名「副-パケット」から成ります。 「副-パケット」のセットの長さの2八重奏のスカラのカウントで「副-パケット」の各セットは先行されています。

   Each subpacket consists of a subpacket header and a body.  The header
   consists of:

各「副-パケット」は「副-パケット」ヘッダーとボディーから成ります。 ヘッダーは以下から成ります。

     - the subpacket length (1,  2, or 5 octets)

- 「副-パケット」の長さ(1、2、または5つの八重奏)

     - the subpacket type (1 octet)

- 「副-パケット」タイプ(1つの八重奏)

   and is followed by the subpacket specific data.

そして、「副-パケット」の特定のデータはあとに続いています。

   The length includes the type octet but not this length. Its format is
   similar to the "new" format packet header lengths, but cannot have
   partial body lengths. That is:

長さは、タイプ八重奏を含んでいますが、この長さに含んでいるというわけではありません。 形式は、「新しい」形式パケットヘッダ長と同様ですが、部分的なボディーの長さを持つことができません。 それは以下の通りです。

Callas, et. al.             Standards Track                    [Page 22]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[22ページ]。

       if the 1st octet <  192, then
           lengthOfLength = 1
           subpacketLen = 1st_octet

if the 1st octet < 192, then lengthOfLength = 1 subpacketLen = 1st_octet

       if the 1st octet >= 192 and < 255, then
           lengthOfLength = 2
           subpacketLen = ((1st_octet - 192) << 8) + (2nd_octet) + 192

if the 1st octet >= 192 and < 255, then lengthOfLength = 2 subpacketLen = ((1st_octet - 192) << 8) + (2nd_octet) + 192

       if the 1st octet = 255, then
           lengthOfLength = 5
           subpacket length = [four-octet scalar starting at 2nd_octet]

if the 1st octet = 255, then lengthOfLength = 5 subpacket length = [four-octet scalar starting at 2nd_octet]

   The value of the subpacket type octet may be:

The value of the subpacket type octet may be:

       2 = signature creation time
       3 = signature expiration time
       4 = exportable certification
       5 = trust signature
       6 = regular expression
       7 = revocable
       9 = key expiration time
       10 = placeholder for backward compatibility
       11 = preferred symmetric algorithms
       12 = revocation key
       16 = issuer key ID
       20 = notation data
       21 = preferred hash algorithms
       22 = preferred compression algorithms
       23 = key server preferences
       24 = preferred key server
       25 = primary user id
       26 = policy URL
       27 = key flags
       28 = signer's user id
       29 = reason for revocation
       100 to 110 = internal or user-defined

2 = signature creation time 3 = signature expiration time 4 = exportable certification 5 = trust signature 6 = regular expression 7 = revocable 9 = key expiration time 10 = placeholder for backward compatibility 11 = preferred symmetric algorithms 12 = revocation key 16 = issuer key ID 20 = notation data 21 = preferred hash algorithms 22 = preferred compression algorithms 23 = key server preferences 24 = preferred key server 25 = primary user id 26 = policy URL 27 = key flags 28 = signer's user id 29 = reason for revocation 100 to 110 = internal or user-defined

   An implementation SHOULD ignore any subpacket of a type that it does
   not recognize.

An implementation SHOULD ignore any subpacket of a type that it does not recognize.

   Bit 7 of the subpacket type is the "critical" bit.  If set, it
   denotes that the subpacket is one that is critical for the evaluator
   of the signature to recognize.  If a subpacket is encountered that is
   marked critical but is unknown to the evaluating software, the
   evaluator SHOULD consider the signature to be in error.

Bit 7 of the subpacket type is the "critical" bit. If set, it denotes that the subpacket is one that is critical for the evaluator of the signature to recognize. If a subpacket is encountered that is marked critical but is unknown to the evaluating software, the evaluator SHOULD consider the signature to be in error.

Callas, et. al.             Standards Track                    [Page 23]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 23] RFC 2440 OpenPGP Message Format November 1998

   An evaluator may "recognize" a subpacket, but not implement it. The
   purpose of the critical bit is to allow the signer to tell an
   evaluator that it would prefer a new, unknown feature to generate an
   error than be ignored.

An evaluator may "recognize" a subpacket, but not implement it. The purpose of the critical bit is to allow the signer to tell an evaluator that it would prefer a new, unknown feature to generate an error than be ignored.

   Implementations SHOULD implement "preferences".

Implementations SHOULD implement "preferences".

5.2.3.2. Signature Subpacket Types

5.2.3.2. Signature Subpacket Types

   A number of subpackets are currently defined.  Some subpackets apply
   to the signature itself and some are attributes of the key.
   Subpackets that are found on a self-signature are placed on a user id
   certification made by the key itself. Note that a key may have more
   than one user id, and thus may have more than one self-signature, and
   differing subpackets.

A number of subpackets are currently defined. Some subpackets apply to the signature itself and some are attributes of the key. Subpackets that are found on a self-signature are placed on a user id certification made by the key itself. Note that a key may have more than one user id, and thus may have more than one self-signature, and differing subpackets.

   A self-signature is a binding signature made by the key the signature
   refers to. There are three types of self-signatures, the
   certification signatures (types 0x10-0x13), the direct-key signature
   (type 0x1f), and the subkey binding signature (type 0x18). For
   certification self-signatures, each user ID may have a self-
   signature, and thus different subpackets in those self-signatures.
   For subkey binding signatures, each subkey in fact has a self-
   signature. Subpackets that appear in a certification self-signature
   apply to the username, and subpackets that appear in the subkey
   self-signature apply to the subkey. Lastly, subpackets on the direct
   key signature apply to the entire key.

A self-signature is a binding signature made by the key the signature refers to. There are three types of self-signatures, the certification signatures (types 0x10-0x13), the direct-key signature (type 0x1f), and the subkey binding signature (type 0x18). For certification self-signatures, each user ID may have a self- signature, and thus different subpackets in those self-signatures. For subkey binding signatures, each subkey in fact has a self- signature. Subpackets that appear in a certification self-signature apply to the username, and subpackets that appear in the subkey self-signature apply to the subkey. Lastly, subpackets on the direct key signature apply to the entire key.

   Implementing software should interpret a self-signature's preference
   subpackets as narrowly as possible. For example, suppose a key has
   two usernames, Alice and Bob. Suppose that Alice prefers the
   symmetric algorithm CAST5, and Bob prefers IDEA or Triple-DES. If the
   software locates this key via Alice's name, then the preferred
   algorithm is CAST5, if software locates the key via Bob's name, then
   the preferred algorithm is IDEA. If the key is located by key id,
   then algorithm of the default user id of the key provides the default
   symmetric algorithm.

Implementing software should interpret a self-signature's preference subpackets as narrowly as possible. For example, suppose a key has two usernames, Alice and Bob. Suppose that Alice prefers the symmetric algorithm CAST5, and Bob prefers IDEA or Triple-DES. If the software locates this key via Alice's name, then the preferred algorithm is CAST5, if software locates the key via Bob's name, then the preferred algorithm is IDEA. If the key is located by key id, then algorithm of the default user id of the key provides the default symmetric algorithm.

   A subpacket may be found either in the hashed or unhashed subpacket
   sections of a signature. If a subpacket is not hashed, then the
   information in it cannot be considered definitive because it is not
   part of the signature proper.

A subpacket may be found either in the hashed or unhashed subpacket sections of a signature. If a subpacket is not hashed, then the information in it cannot be considered definitive because it is not part of the signature proper.

Callas, et. al.             Standards Track                    [Page 24]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 24] RFC 2440 OpenPGP Message Format November 1998

5.2.3.3. Signature creation time

5.2.3.3. Signature creation time

   (4 octet time field)

(4 octet time field)

   The time the signature was made.

The time the signature was made.

   MUST be present in the hashed area.

MUST be present in the hashed area.

5.2.3.4. Issuer

5.2.3.4. Issuer

   (8 octet key ID)

(8 octet key ID)

   The OpenPGP key ID of the key issuing the signature.

The OpenPGP key ID of the key issuing the signature.

5.2.3.5. Key expiration time

5.2.3.5. Key expiration time

   (4 octet time field)

(4 octet time field)

   The validity period of the key.  This is the number of seconds after
   the key creation time that the key expires.  If this is not present
   or has a value of zero, the key never expires. This is found only on
   a self-signature.

The validity period of the key. This is the number of seconds after the key creation time that the key expires. If this is not present or has a value of zero, the key never expires. This is found only on a self-signature.

5.2.3.6. Preferred symmetric algorithms

5.2.3.6. Preferred symmetric algorithms

   (sequence of one-octet values)

(sequence of one-octet values)

   Symmetric algorithm numbers that indicate which algorithms the key
   holder prefers to use.  The subpacket body is an ordered list of
   octets with the most preferred listed first. It is assumed that only
   algorithms listed are supported by the recipient's software.
   Algorithm numbers in section 9. This is only found on a self-
   signature.

Symmetric algorithm numbers that indicate which algorithms the key holder prefers to use. The subpacket body is an ordered list of octets with the most preferred listed first. It is assumed that only algorithms listed are supported by the recipient's software. Algorithm numbers in section 9. This is only found on a self- signature.

5.2.3.7. Preferred hash algorithms

5.2.3.7. Preferred hash algorithms

   (array of one-octet values)

(array of one-octet values)

   Message digest algorithm numbers that indicate which algorithms the
   key holder prefers to receive. Like the preferred symmetric
   algorithms, the list is ordered. Algorithm numbers are in section 6.
   This is only found on a self-signature.

Message digest algorithm numbers that indicate which algorithms the key holder prefers to receive. Like the preferred symmetric algorithms, the list is ordered. Algorithm numbers are in section 6. This is only found on a self-signature.

Callas, et. al.             Standards Track                    [Page 25]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 25] RFC 2440 OpenPGP Message Format November 1998

5.2.3.8. Preferred compression algorithms

5.2.3.8. Preferred compression algorithms

   (array of one-octet values)

(array of one-octet values)

   Compression algorithm numbers that indicate which algorithms the key
   holder prefers to use. Like the preferred symmetric algorithms, the
   list is ordered. Algorithm numbers are in section 6. If this
   subpacket is not included, ZIP is preferred. A zero denotes that
   uncompressed data is preferred; the key holder's software might have
   no compression software in that implementation. This is only found on
   a self-signature.

Compression algorithm numbers that indicate which algorithms the key holder prefers to use. Like the preferred symmetric algorithms, the list is ordered. Algorithm numbers are in section 6. If this subpacket is not included, ZIP is preferred. A zero denotes that uncompressed data is preferred; the key holder's software might have no compression software in that implementation. This is only found on a self-signature.

5.2.3.9. Signature expiration time

5.2.3.9. Signature expiration time

   (4 octet time field)

(4 octet time field)

   The validity period of the signature.  This is the number of seconds
   after the signature creation time that the signature expires. If this
   is not present or has a value of zero, it never expires.

The validity period of the signature. This is the number of seconds after the signature creation time that the signature expires. If this is not present or has a value of zero, it never expires.

5.2.3.10. Exportable Certification

5.2.3.10. Exportable Certification

   (1 octet of exportability, 0 for not, 1 for exportable)

(1 octet of exportability, 0 for not, 1 for exportable)

   This subpacket denotes whether a certification signature is
   "exportable", to be used by other users than the signature's issuer.
   The packet body contains a boolean flag indicating whether the
   signature is exportable. If this packet is not present, the
   certification is exportable; it is equivalent to a flag containing a
   1.

This subpacket denotes whether a certification signature is "exportable", to be used by other users than the signature's issuer. The packet body contains a boolean flag indicating whether the signature is exportable. If this packet is not present, the certification is exportable; it is equivalent to a flag containing a 1.

   Non-exportable, or "local", certifications are signatures made by a
   user to mark a key as valid within that user's implementation only.
   Thus, when an implementation prepares a user's copy of a key for
   transport to another user (this is the process of "exporting" the
   key), any local certification signatures are deleted from the key.

Non-exportable, or "local", certifications are signatures made by a user to mark a key as valid within that user's implementation only. Thus, when an implementation prepares a user's copy of a key for transport to another user (this is the process of "exporting" the key), any local certification signatures are deleted from the key.

   The receiver of a transported key "imports" it, and likewise trims
   any local certifications. In normal operation, there won't be any,
   assuming the import is performed on an exported key. However, there
   are instances where this can reasonably happen. For example, if an
   implementation allows keys to be imported from a key database in
   addition to an exported key, then this situation can arise.

The receiver of a transported key "imports" it, and likewise trims any local certifications. In normal operation, there won't be any, assuming the import is performed on an exported key. However, there are instances where this can reasonably happen. For example, if an implementation allows keys to be imported from a key database in addition to an exported key, then this situation can arise.

   Some implementations do not represent the interest of a single user
   (for example, a key server). Such implementations always trim local
   certifications from any key they handle.

Some implementations do not represent the interest of a single user (for example, a key server). Such implementations always trim local certifications from any key they handle.

Callas, et. al.             Standards Track                    [Page 26]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 26] RFC 2440 OpenPGP Message Format November 1998

5.2.3.11. Revocable

5.2.3.11. Revocable

   (1 octet of revocability, 0 for not, 1 for revocable)

(1 octet of revocability, 0 for not, 1 for revocable)

   Signature's revocability status.  Packet body contains a boolean flag
   indicating whether the signature is revocable.  Signatures that are
   not revocable have any later revocation signatures ignored.  They
   represent a commitment by the signer that he cannot revoke his
   signature for the life of his key.  If this packet is not present,
   the signature is revocable.

Signature's revocability status. Packet body contains a boolean flag indicating whether the signature is revocable. Signatures that are not revocable have any later revocation signatures ignored. They represent a commitment by the signer that he cannot revoke his signature for the life of his key. If this packet is not present, the signature is revocable.

5.2.3.12. Trust signature

5.2.3.12. Trust signature

   (1 octet "level" (depth), 1 octet of trust amount)

(1 octet "level" (depth), 1 octet of trust amount)

   Signer asserts that the key is not only valid, but also trustworthy,
   at the specified level.  Level 0 has the same meaning as an ordinary
   validity signature.  Level 1 means that the signed key is asserted to
   be a valid trusted introducer, with the 2nd octet of the body
   specifying the degree of trust. Level 2 means that the signed key is
   asserted to be trusted to issue level 1 trust signatures, i.e. that
   it is a "meta introducer". Generally, a level n trust signature
   asserts that a key is trusted to issue level n-1 trust signatures.
   The trust amount is in a range from 0-255, interpreted such that
   values less than 120 indicate partial trust and values of 120 or
   greater indicate complete trust.  Implementations SHOULD emit values
   of 60 for partial trust and 120 for complete trust.

Signer asserts that the key is not only valid, but also trustworthy, at the specified level. Level 0 has the same meaning as an ordinary validity signature. Level 1 means that the signed key is asserted to be a valid trusted introducer, with the 2nd octet of the body specifying the degree of trust. Level 2 means that the signed key is asserted to be trusted to issue level 1 trust signatures, i.e. that it is a "meta introducer". Generally, a level n trust signature asserts that a key is trusted to issue level n-1 trust signatures. The trust amount is in a range from 0-255, interpreted such that values less than 120 indicate partial trust and values of 120 or greater indicate complete trust. Implementations SHOULD emit values of 60 for partial trust and 120 for complete trust.

5.2.3.13. Regular expression

5.2.3.13. Regular expression

   (null-terminated regular expression)

(null-terminated regular expression)

   Used in conjunction with trust signature packets (of level > 0) to
   limit the scope of trust that is extended.  Only signatures by the
   target key on user IDs that match the regular expression in the body
   of this packet have trust extended by the trust signature subpacket.
   The regular expression uses the same syntax as the Henry Spencer's
   "almost public domain" regular expression package. A description of
   the syntax is found in a section below.

Used in conjunction with trust signature packets (of level > 0) to limit the scope of trust that is extended. Only signatures by the target key on user IDs that match the regular expression in the body of this packet have trust extended by the trust signature subpacket. The regular expression uses the same syntax as the Henry Spencer's "almost public domain" regular expression package. A description of the syntax is found in a section below.

5.2.3.14. Revocation key

5.2.3.14. Revocation key

   (1 octet of class, 1 octet of algid, 20 octets of fingerprint)

(1 octet of class, 1 octet of algid, 20 octets of fingerprint)

   Authorizes the specified key to issue revocation signatures for this
   key.  Class octet must have bit 0x80 set. If the bit 0x40 is set,
   then this means that the revocation information is sensitive.  Other
   bits are for future expansion to other kinds of authorizations. This

Authorizes the specified key to issue revocation signatures for this key. Class octet must have bit 0x80 set. If the bit 0x40 is set, then this means that the revocation information is sensitive. Other bits are for future expansion to other kinds of authorizations. This

Callas, et. al.             Standards Track                    [Page 27]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 27] RFC 2440 OpenPGP Message Format November 1998

   is found on a self-signature.

is found on a self-signature.

   If the "sensitive" flag is set, the keyholder feels this subpacket
   contains private trust information that describes a real-world
   sensitive relationship. If this flag is set, implementations SHOULD
   NOT export this signature to other users except in cases where the
   data needs to be available: when the signature is being sent to the
   designated revoker, or when it is accompanied by a revocation
   signature from that revoker.  Note that it may be appropriate to
   isolate this subpacket within a separate signature so that it is not
   combined with other subpackets that need to be exported.

If the "sensitive" flag is set, the keyholder feels this subpacket contains private trust information that describes a real-world sensitive relationship. If this flag is set, implementations SHOULD NOT export this signature to other users except in cases where the data needs to be available: when the signature is being sent to the designated revoker, or when it is accompanied by a revocation signature from that revoker. Note that it may be appropriate to isolate this subpacket within a separate signature so that it is not combined with other subpackets that need to be exported.

5.2.3.15. Notation Data

5.2.3.15. Notation Data

       (4 octets of flags, 2 octets of name length (M),
                           2 octets of value length (N),
                           M octets of name data,
                           N octets of value data)

(4 octets of flags, 2 octets of name length (M), 2 octets of value length (N), M octets of name data, N octets of value data)

   This subpacket describes a "notation" on the signature that the
   issuer wishes to make. The notation has a name and a value, each of
   which are strings of octets. There may be more than one notation in a
   signature. Notations can be used for any extension the issuer of the
   signature cares to make. The "flags" field holds four octets of
   flags.

This subpacket describes a "notation" on the signature that the issuer wishes to make. The notation has a name and a value, each of which are strings of octets. There may be more than one notation in a signature. Notations can be used for any extension the issuer of the signature cares to make. The "flags" field holds four octets of flags.

   All undefined flags MUST be zero. Defined flags are:

All undefined flags MUST be zero. Defined flags are:

       First octet: 0x80 = human-readable. This note is text, a note
                           from one person to another, and has no
                           meaning to software.
       Other octets: none.

First octet: 0x80 = human-readable. This note is text, a note from one person to another, and has no meaning to software. Other octets: none.

5.2.3.16. Key server preferences

5.2.3.16. Key server preferences

   (N octets of flags)

(N octets of flags)

   This is a list of flags that indicate preferences that the key holder
   has about how the key is handled on a key server. All undefined flags
   MUST be zero.

This is a list of flags that indicate preferences that the key holder has about how the key is handled on a key server. All undefined flags MUST be zero.

   First octet: 0x80 = No-modify
       the key holder requests that this key only be modified or updated
       by the key holder or an administrator of the key server.

First octet: 0x80 = No-modify the key holder requests that this key only be modified or updated by the key holder or an administrator of the key server.

   This is found only on a self-signature.

This is found only on a self-signature.

Callas, et. al.             Standards Track                    [Page 28]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 28] RFC 2440 OpenPGP Message Format November 1998

5.2.3.17. Preferred key server

5.2.3.17. Preferred key server

   (String)

(String)

   This is a URL of a key server that the key holder prefers be used for
   updates. Note that keys with multiple user ids can have a preferred
   key server for each user id. Note also that since this is a URL, the
   key server can actually be a copy of the key retrieved by ftp, http,
   finger, etc.

This is a URL of a key server that the key holder prefers be used for updates. Note that keys with multiple user ids can have a preferred key server for each user id. Note also that since this is a URL, the key server can actually be a copy of the key retrieved by ftp, http, finger, etc.

5.2.3.18. Primary user id

5.2.3.18. Primary user id

   (1 octet, boolean)

(1 octet, boolean)

   This is a flag in a user id's self signature that states whether this
   user id is the main user id for this key. It is reasonable for an
   implementation to resolve ambiguities in preferences, etc. by
   referring to the primary user id. If this flag is absent, its value
   is zero. If more than one user id in a key is marked as primary, the
   implementation may resolve the ambiguity in any way it sees fit.

This is a flag in a user id's self signature that states whether this user id is the main user id for this key. It is reasonable for an implementation to resolve ambiguities in preferences, etc. by referring to the primary user id. If this flag is absent, its value is zero. If more than one user id in a key is marked as primary, the implementation may resolve the ambiguity in any way it sees fit.

5.2.3.19. Policy URL

5.2.3.19. Policy URL

   (String)

(String)

   This subpacket contains a URL of a document that describes the policy
   that the signature was issued under.

This subpacket contains a URL of a document that describes the policy that the signature was issued under.

5.2.3.20. Key Flags

5.2.3.20. Key Flags

   (Octet string)

(Octet string)

   This subpacket contains a list of binary flags that hold information
   about a key. It is a string of octets, and an implementation MUST NOT
   assume a fixed size. This is so it can grow over time. If a list is
   shorter than an implementation expects, the unstated flags are
   considered to be zero. The defined flags are:

This subpacket contains a list of binary flags that hold information about a key. It is a string of octets, and an implementation MUST NOT assume a fixed size. This is so it can grow over time. If a list is shorter than an implementation expects, the unstated flags are considered to be zero. The defined flags are:

       First octet:

First octet:

       0x01 - This key may be used to certify other keys.

0x01 - This key may be used to certify other keys.

       0x02 - This key may be used to sign data.

0x02 - This key may be used to sign data.

       0x04 - This key may be used to encrypt communications.

0x04 - This key may be used to encrypt communications.

       0x08 - This key may be used to encrypt storage.

0x08 - This key may be used to encrypt storage.

Callas, et. al.             Standards Track                    [Page 29]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 29] RFC 2440 OpenPGP Message Format November 1998

       0x10 - The private component of this key may have been split by a
       secret-sharing mechanism.

0x10 - The private component of this key may have been split by a secret-sharing mechanism.

       0x80 - The private component of this key may be in the possession
       of more than one person.

0x80 - The private component of this key may be in the possession of more than one person.

   Usage notes:

Usage notes:

   The flags in this packet may appear in self-signatures or in
   certification signatures. They mean different things depending on who
   is making the statement -- for example, a certification signature
   that has the "sign data" flag is stating that the certification is
   for that use. On the other hand, the "communications encryption" flag
   in a self-signature is stating a preference that a given key be used
   for communications. Note however, that it is a thorny issue to
   determine what is "communications" and what is "storage." This
   decision is left wholly up to the implementation; the authors of this
   document do not claim any special wisdom on the issue, and realize
   that accepted opinion may change.

The flags in this packet may appear in self-signatures or in certification signatures. They mean different things depending on who is making the statement -- for example, a certification signature that has the "sign data" flag is stating that the certification is for that use. On the other hand, the "communications encryption" flag in a self-signature is stating a preference that a given key be used for communications. Note however, that it is a thorny issue to determine what is "communications" and what is "storage." This decision is left wholly up to the implementation; the authors of this document do not claim any special wisdom on the issue, and realize that accepted opinion may change.

   The "split key" (0x10) and "group key" (0x80) flags are placed on a
   self-signature only; they are meaningless on a certification
   signature. They SHOULD be placed only on a direct-key signature (type
   0x1f) or a subkey signature (type 0x18), one that refers to the key
   the flag applies to.

The "split key" (0x10) and "group key" (0x80) flags are placed on a self-signature only; they are meaningless on a certification signature. They SHOULD be placed only on a direct-key signature (type 0x1f) or a subkey signature (type 0x18), one that refers to the key the flag applies to.

5.2.3.21. Signer's User ID

5.2.3.21. Signer's User ID

   This subpacket allows a keyholder to state which user id is
   responsible for the signing. Many keyholders use a single key for
   different purposes, such as business communications as well as
   personal communications. This subpacket allows such a keyholder to
   state which of their roles is making a signature.

This subpacket allows a keyholder to state which user id is responsible for the signing. Many keyholders use a single key for different purposes, such as business communications as well as personal communications. This subpacket allows such a keyholder to state which of their roles is making a signature.

5.2.3.22. Reason for Revocation

5.2.3.22. Reason for Revocation

   (1 octet of revocation code, N octets of reason string)

(1 octet of revocation code, N octets of reason string)

   This subpacket is used only in key revocation and certification
   revocation signatures. It describes the reason why the key or
   certificate was revoked.

This subpacket is used only in key revocation and certification revocation signatures. It describes the reason why the key or certificate was revoked.

   The first octet contains a machine-readable code that denotes the
   reason for the revocation:

The first octet contains a machine-readable code that denotes the reason for the revocation:

Callas, et. al.             Standards Track                    [Page 30]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 30] RFC 2440 OpenPGP Message Format November 1998

       0x00 - No reason specified (key revocations or cert revocations)
       0x01 - Key is superceded (key revocations)
       0x02 - Key material has been compromised (key revocations)
       0x03 - Key is no longer used (key revocations)
       0x20 - User id information is no longer valid (cert revocations)

0x00 - No reason specified (key revocations or cert revocations) 0x01 - Key is superceded (key revocations) 0x02 - Key material has been compromised (key revocations) 0x03 - Key is no longer used (key revocations) 0x20 - User id information is no longer valid (cert revocations)

   Following the revocation code is a string of octets which gives
   information about the reason for revocation in human-readable form
   (UTF-8). The string may be null, that is, of zero length. The length
   of the subpacket is the length of the reason string plus one.

Following the revocation code is a string of octets which gives information about the reason for revocation in human-readable form (UTF-8). The string may be null, that is, of zero length. The length of the subpacket is the length of the reason string plus one.

5.2.4. Computing Signatures

5.2.4. Computing Signatures

   All signatures are formed by producing a hash over the signature
   data, and then using the resulting hash in the signature algorithm.

All signatures are formed by producing a hash over the signature data, and then using the resulting hash in the signature algorithm.

   The signature data is simple to compute for document signatures
   (types 0x00 and 0x01), for which the document itself is the data.
   For standalone signatures, this is a null string.

The signature data is simple to compute for document signatures (types 0x00 and 0x01), for which the document itself is the data. For standalone signatures, this is a null string.

   When a signature is made over a key, the hash data starts with the
   octet 0x99, followed by a two-octet length of the key, and then body
   of the key packet. (Note that this is an old-style packet header for
   a key packet with two-octet length.) A subkey signature (type 0x18)
   then hashes the subkey, using the same format as the main key. Key
   revocation signatures (types 0x20 and 0x28) hash only the key being
   revoked.

When a signature is made over a key, the hash data starts with the octet 0x99, followed by a two-octet length of the key, and then body of the key packet. (Note that this is an old-style packet header for a key packet with two-octet length.) A subkey signature (type 0x18) then hashes the subkey, using the same format as the main key. Key revocation signatures (types 0x20 and 0x28) hash only the key being revoked.

   A certification signature (type 0x10 through 0x13) hashes the user id
   being bound to the key into the hash context after the above data. A
   V3 certification hashes the contents of the name packet, without any
   header. A V4 certification hashes the constant 0xb4 (which is an
   old-style packet header with the length-of-length set to zero), a
   four-octet number giving the length of the username, and then the
   username data.

A certification signature (type 0x10 through 0x13) hashes the user id being bound to the key into the hash context after the above data. A V3 certification hashes the contents of the name packet, without any header. A V4 certification hashes the constant 0xb4 (which is an old-style packet header with the length-of-length set to zero), a four-octet number giving the length of the username, and then the username data.

   Once the data body is hashed, then a trailer is hashed. A V3
   signature hashes five octets of the packet body, starting from the
   signature type field. This data is the signature type, followed by
   the four-octet signature time. A V4 signature hashes the packet body
   starting from its first field, the version number, through the end of
   the hashed subpacket data. Thus, the fields hashed are the signature
   version, the signature type, the public key algorithm, the hash
   algorithm, the hashed subpacket length, and the hashed subpacket
   body.

Once the data body is hashed, then a trailer is hashed. A V3 signature hashes five octets of the packet body, starting from the signature type field. This data is the signature type, followed by the four-octet signature time. A V4 signature hashes the packet body starting from its first field, the version number, through the end of the hashed subpacket data. Thus, the fields hashed are the signature version, the signature type, the public key algorithm, the hash algorithm, the hashed subpacket length, and the hashed subpacket body.

Callas, et. al.             Standards Track                    [Page 31]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 31] RFC 2440 OpenPGP Message Format November 1998

   V4 signatures also hash in a final trailer of six octets: the version
   of the signature packet, i.e. 0x04; 0xFF; a four-octet, big-endian
   number that is the length of the hashed data from the signature
   packet (note that this number does not include these final six
   octets.

V4 signatures also hash in a final trailer of six octets: the version of the signature packet, i.e. 0x04; 0xFF; a four-octet, big-endian number that is the length of the hashed data from the signature packet (note that this number does not include these final six octets.

   After all this has been hashed, the resulting hash field is used in
   the signature algorithm, and placed at the end of the signature
   packet.

After all this has been hashed, the resulting hash field is used in the signature algorithm, and placed at the end of the signature packet.

5.2.4.1. Subpacket Hints

5.2.4.1. Subpacket Hints

   An implementation SHOULD put the two mandatory subpackets, creation
   time and issuer, as the first subpackets in the subpacket list,
   simply to make it easier for the implementer to find them.

An implementation SHOULD put the two mandatory subpackets, creation time and issuer, as the first subpackets in the subpacket list, simply to make it easier for the implementer to find them.

   It is certainly possible for a signature to contain conflicting
   information in subpackets. For example, a signature may contain
   multiple copies of a preference or multiple expiration times. In most
   cases, an implementation SHOULD use the last subpacket in the
   signature, but MAY use any conflict resolution scheme that makes more
   sense. Please note that we are intentionally leaving conflict
   resolution to the implementer; most conflicts are simply syntax
   errors, and the wishy-washy language here allows a receiver to be
   generous in what they accept, while putting pressure on a creator to
   be stingy in what they generate.

It is certainly possible for a signature to contain conflicting information in subpackets. For example, a signature may contain multiple copies of a preference or multiple expiration times. In most cases, an implementation SHOULD use the last subpacket in the signature, but MAY use any conflict resolution scheme that makes more sense. Please note that we are intentionally leaving conflict resolution to the implementer; most conflicts are simply syntax errors, and the wishy-washy language here allows a receiver to be generous in what they accept, while putting pressure on a creator to be stingy in what they generate.

   Some apparent conflicts may actually make sense -- for example,
   suppose a keyholder has an V3 key and a V4 key that share the same
   RSA key material. Either of these keys can verify a signature created
   by the other, and it may be reasonable for a signature to contain an
   issuer subpacket for each key, as a way of explicitly tying those
   keys to the signature.

Some apparent conflicts may actually make sense -- for example, suppose a keyholder has an V3 key and a V4 key that share the same RSA key material. Either of these keys can verify a signature created by the other, and it may be reasonable for a signature to contain an issuer subpacket for each key, as a way of explicitly tying those keys to the signature.

5.3. Symmetric-Key Encrypted Session-Key Packets (Tag 3)

5.3. Symmetric-Key Encrypted Session-Key Packets (Tag 3)

   The Symmetric-Key Encrypted Session Key packet holds the symmetric-
   key encryption of a session key used to encrypt a message.  Zero or
   more Encrypted Session Key packets and/or Symmetric-Key Encrypted
   Session Key packets may precede a Symmetrically Encrypted Data Packet
   that holds an encrypted message.  The message is encrypted with a
   session key, and the session key is itself encrypted and stored in
   the Encrypted Session Key packet or the Symmetric-Key Encrypted
   Session Key packet.

The Symmetric-Key Encrypted Session Key packet holds the symmetric- key encryption of a session key used to encrypt a message. Zero or more Encrypted Session Key packets and/or Symmetric-Key Encrypted Session Key packets may precede a Symmetrically Encrypted Data Packet that holds an encrypted message. The message is encrypted with a session key, and the session key is itself encrypted and stored in the Encrypted Session Key packet or the Symmetric-Key Encrypted Session Key packet.

   If the Symmetrically Encrypted Data Packet is preceded by one or more
   Symmetric-Key Encrypted Session Key packets, each specifies a
   passphrase that may be used to decrypt the message.  This allows a

If the Symmetrically Encrypted Data Packet is preceded by one or more Symmetric-Key Encrypted Session Key packets, each specifies a passphrase that may be used to decrypt the message. This allows a

Callas, et. al.             Standards Track                    [Page 32]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 32] RFC 2440 OpenPGP Message Format November 1998

   message to be encrypted to a number of public keys, and also to one
   or more pass phrases. This packet type is new, and is not generated
   by PGP 2.x or PGP 5.0.

message to be encrypted to a number of public keys, and also to one or more pass phrases. This packet type is new, and is not generated by PGP 2.x or PGP 5.0.

   The body of this packet consists of:

The body of this packet consists of:

     - A one-octet version number. The only currently defined version
       is 4.

- A one-octet version number. The only currently defined version is 4.

     - A one-octet number describing the symmetric algorithm used.

- A one-octet number describing the symmetric algorithm used.

     - A string-to-key (S2K) specifier, length as defined above.

- A string-to-key (S2K) specifier, length as defined above.

     - Optionally, the encrypted session key itself, which is decrypted
       with the string-to-key object.

- Optionally, the encrypted session key itself, which is decrypted with the string-to-key object.

   If the encrypted session key is not present (which can be detected on
   the basis of packet length and S2K specifier size), then the S2K
   algorithm applied to the passphrase produces the session key for
   decrypting the file, using the symmetric cipher algorithm from the
   Symmetric-Key Encrypted Session Key packet.

If the encrypted session key is not present (which can be detected on the basis of packet length and S2K specifier size), then the S2K algorithm applied to the passphrase produces the session key for decrypting the file, using the symmetric cipher algorithm from the Symmetric-Key Encrypted Session Key packet.

   If the encrypted session key is present, the result of applying the
   S2K algorithm to the passphrase is used to decrypt just that
   encrypted session key field, using CFB mode with an IV of all zeros.
    The decryption result consists of a one-octet algorithm identifier
   that specifies the symmetric-key encryption algorithm used to encrypt
   the following Symmetrically Encrypted Data Packet, followed by the
   session key octets themselves.

If the encrypted session key is present, the result of applying the S2K algorithm to the passphrase is used to decrypt just that encrypted session key field, using CFB mode with an IV of all zeros. The decryption result consists of a one-octet algorithm identifier that specifies the symmetric-key encryption algorithm used to encrypt the following Symmetrically Encrypted Data Packet, followed by the session key octets themselves.

   Note: because an all-zero IV is used for this decryption, the S2K
   specifier MUST use a salt value, either a Salted S2K or an Iterated-
   Salted S2K.  The salt value will insure that the decryption key is
   not repeated even if the passphrase is reused.

Note: because an all-zero IV is used for this decryption, the S2K specifier MUST use a salt value, either a Salted S2K or an Iterated- Salted S2K. The salt value will insure that the decryption key is not repeated even if the passphrase is reused.

5.4. One-Pass Signature Packets (Tag 4)

5.4. One-Pass Signature Packets (Tag 4)

   The One-Pass Signature packet precedes the signed data and contains
   enough information to allow the receiver to begin calculating any
   hashes needed to verify the signature.  It allows the Signature
   Packet to be placed at the end of the message, so that the signer can
   compute the entire signed message in one pass.

The One-Pass Signature packet precedes the signed data and contains enough information to allow the receiver to begin calculating any hashes needed to verify the signature. It allows the Signature Packet to be placed at the end of the message, so that the signer can compute the entire signed message in one pass.

   A One-Pass Signature does not interoperate with PGP 2.6.x or earlier.

A One-Pass Signature does not interoperate with PGP 2.6.x or earlier.

   The body of this packet consists of:

The body of this packet consists of:

Callas, et. al.             Standards Track                    [Page 33]

RFC 2440                 OpenPGP Message Format            November 1998

Callas, et. al. Standards Track [Page 33] RFC 2440 OpenPGP Message Format November 1998

     - A one-octet version number. The current version is 3.

- A one-octet version number. The current version is 3.

     - A one-octet signature type. Signature types are described in
       section 5.2.1.

- A one-octet signature type. Signature types are described in section 5.2.1.

     - A one-octet number describing the hash algorithm used.

- A one-octet number describing the hash algorithm used.

     - A one-octet number describing the public key algorithm used.

- A one-octet number describing the public key algorithm used.

     - An eight-octet number holding the key ID of the signing key.

- An eight-octet number holding the key ID of the signing key.

     - A one-octet number holding a flag showing whether the signature
       is nested.  A zero value indicates that the next packet is
       another One-Pass Signature packet that describes another
       signature to be applied to the same message data.

- A one-octet number holding a flag showing whether the signature is nested. A zero value indicates that the next packet is another One-Pass Signature packet that describes another signature to be applied to the same message data.

   Note that if a message contains more than one one-pass signature,
   then the signature packets bracket the message; that is, the first
   signature packet after the message corresponds to the last one-pass
   packet and the final signature packet corresponds to the first one-
   pass packet.

Note that if a message contains more than one one-pass signature, then the signature packets bracket the message; that is, the first signature packet after the message corresponds to the last one-pass packet and the final signature packet corresponds to the first one- pass packet.

5.5. Key Material Packet

5.5. Key Material Packet

   A key material packet contains all the information about a public or
   private key.  There are four variants of this packet type, and two
   major versions. Consequently, this section is complex.

キー材料パケットは公衆か秘密鍵のすべての情報を含んでいます。 このパケットタイプの4つの異形、および2つの主要なバージョンがあります。 その結果、このセクションは複雑です。

5.5.1. Key Packet Variants

5.5.1. 主要なパケット異形

5.5.1.1. Public Key Packet (Tag 6)

5.5.1.1. 公開鍵パケット(タグ6)

   A Public Key packet starts a series of packets that forms an OpenPGP
   key (sometimes called an OpenPGP certificate).

Public KeyパケットはOpenPGPキー(時々OpenPGP証明書と呼ばれる)を形成する一連のパケットを始めます。

5.5.1.2. Public Subkey Packet (Tag 14)

5.5.1.2. 公共のサブキーパケット(タグ14)

   A Public Subkey packet (tag 14) has exactly the same format as a
   Public Key packet, but denotes a subkey. One or more subkeys may be
   associated with a top-level key.  By convention, the top-level key
   provides signature services, and the subkeys provide encryption
   services.

Public Subkeyパケット(タグ14)は、まさにPublic Keyパケットと同じ形式を持っていますが、サブキーを指示します。 1個以上のサブキーがトップレベルキーに関連しているかもしれません。 コンベンションで、トップレベルキーは署名サービスを提供します、そして、サブキーは暗号化サービスを提供します。

   Note: in PGP 2.6.x, tag 14 was intended to indicate a comment packet.
   This tag was selected for reuse because no previous version of PGP
   ever emitted comment packets but they did properly ignore them.
   Public Subkey packets are ignored by PGP 2.6.x and do not cause it to
   fail, providing a limited degree of backward compatibility.

以下に注意してください。 PGP 2.6.xでは、タグ14がコメントパケットを示すことを意図しました。 PGPのどんな旧バージョンも今までに、コメントパケットを放ちませんでしたが、彼らが適切にそれらを無視したので、このタグは再利用のために選択されました。 公共のSubkeyパケットは、PGP 2.6.xによって無視されて、失敗されません、限られた度合いの後方の互換性を提供して。

Callas, et. al.             Standards Track                    [Page 34]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[34ページ]。

5.5.1.3. Secret Key Packet (Tag 5)

5.5.1.3. 秘密鍵パケット(タグ5)

   A Secret Key packet contains all the information that is found in a
   Public Key packet, including the public key material, but also
   includes the secret key material after all the public key fields.

Secret Keyパケットは、公開鍵の材料を含むPublic Keyパケットで見つけられるすべての情報を含んでいますが、すべての公開鍵分野の後に秘密鍵の材料をまた含んでいます。

5.5.1.4. Secret Subkey Packet (Tag 7)

5.5.1.4. 秘密のサブキーパケット(タグ7)

   A Secret Subkey packet (tag 7) is the subkey analog of the Secret Key
   packet, and has exactly the same format.

Secret Subkeyパケット(タグ7)は、Secret Keyパケットのサブキーアナログであり、まさに同じ形式を持っています。

5.5.2. Public Key Packet Formats

5.5.2. 公開鍵パケット・フォーマット

   There are two versions of key-material packets. Version 3 packets
   were first generated by PGP 2.6. Version 2 packets are identical in
   format to Version 3 packets, but are generated by PGP 2.5 or before.
   V2 packets are deprecated and they MUST NOT be generated.  PGP 5.0
   introduced version 4 packets, with new fields and semantics.  PGP
   2.6.x will not accept key-material packets with versions greater than
   3.

主要な材料パケットの2つのバージョンがあります。 バージョン3パケットは最初に、PGP2.6によって生成されました。 バージョン2パケットは、形式がバージョン3パケットと同じですが、2.5か以前、PGPによって生成されます。 V2パケットは推奨しないです、そして、それらは生成されてはいけません。 PGP5.0は新しい分野と意味論でバージョン4パケットを導入しました。 バージョンが3よりすばらしい状態でPGP 2.6.xは主要な材料パケットを受け入れないでしょう。

   OpenPGP implementations SHOULD create keys with version 4 format. An
   implementation MAY generate a V3 key to ensure interoperability with
   old software; note, however, that V4 keys correct some security
   deficiencies in V3 keys. These deficiencies are described below. An
   implementation MUST NOT create a V3 key with a public key algorithm
   other than RSA.

OpenPGP実装SHOULDはバージョン4形式でキーを作成します。 実装は古いソフトウェアで相互運用性を確実にするために主要なV3を生成するかもしれません。 しかしながら、V4キーがV3キーのいくつかのセキュリティ欠乏を修正することに注意してください。 これらの欠乏は以下で説明されます。 実装はRSA以外の公開鍵アルゴリズムで主要なV3を作成してはいけません。

   A version 3 public key or public subkey packet contains:

バージョン3公開鍵か公共のサブキーパケットが以下を含んでいます。

     - A one-octet version number (3).

- 1八重奏のバージョン番号(3)。

     - A four-octet number denoting the time that the key was created.

- キーが作成された時間を指示する4八重奏の数。

     - A two-octet number denoting the time in days that this key is
       valid. If this number is zero, then it does not expire.

- 何日もの時にこのキーが有効であることを指示する2八重奏の数。 この数がゼロであるなら、それは期限が切れません。

     - A one-octet number denoting the public key algorithm of this key

- このキーの公開鍵アルゴリズムを指示する1八重奏の数

     - A series of multi-precision integers comprising the key
       material:

- 主要な材料を含む一連のマルチ精度整数:

         - a multiprecision integer (MPI) of RSA public modulus n;

- RSAの公共の係数nの多倍精度整数(MPI)。

         - an MPI of RSA public encryption exponent e.

- RSAの公共の暗号化解説者eのMPI。

Callas, et. al.             Standards Track                    [Page 35]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[35ページ]。

   V3 keys SHOULD only be used for backward compatibility because of
   three weaknesses in them. First, it is relatively easy to construct a
   V3 key that has the same key ID as any other key because the key ID
   is simply the low 64 bits of the public modulus. Secondly, because
   the fingerprint of a V3 key hashes the key material, but not its
   length, which increases the opportunity for fingerprint collisions.
   Third, there are minor weaknesses in the MD5 hash algorithm that make
   developers prefer other algorithms. See below for a fuller discussion
   of key IDs and fingerprints.

V3はSHOULDを合わせます。それらの3つの弱点のために後方の互換性に単に使用されてください。 まず最初に、主要なIDが単に公共の係数の低64ビットであるのでいかなる他のキーとも同じ主要なIDを持っているV3キーを組み立てるのは比較的簡単です。 V3キーの指紋が主要な材料を論じ尽くすので第二に長さだけでない。(その長さは指紋衝突の機会を増強します)。 3番目に、開発者が他のアルゴリズムを好むMD5ハッシュアルゴリズムによる小さい方の弱点があります。主要なIDと指紋の、よりふくよかな議論に関して以下を見てください。

   The version 4 format is similar to the version 3 format except for
   the absence of a validity period.  This has been moved to the
   signature packet.  In addition, fingerprints of version 4 keys are
   calculated differently from version 3 keys, as described in section
   "Enhanced Key Formats."

バージョン4形式は有効期間の不在以外のバージョン3形式と同様です。 これは署名パケットに動かされました。 さらに、バージョン4キーの指紋はバージョン3キーと異なって計算されます、「主要な形式を高める」というセクションで説明されるように。

   A version 4 packet contains:

バージョン4パケットは以下を含んでいます。

     - A one-octet version number (4).

- 1八重奏のバージョン番号(4)。

     - A four-octet number denoting the time that the key was created.

- キーが作成された時間を指示する4八重奏の数。

     - A one-octet number denoting the public key algorithm of this key

- このキーの公開鍵アルゴリズムを指示する1八重奏の数

     - A series of multi-precision integers comprising the key
       material.  This algorithm-specific portion is:

- 主要な材料を含む一連のマルチ精度整数。 このアルゴリズム特定部位は以下の通りです。

       Algorithm Specific Fields for RSA public keys:

RSA公開鍵のためのアルゴリズムSpecificフィールズ:

         - multiprecision integer (MPI) of RSA public modulus n;

- RSAの公共の係数nの多倍精度整数(MPI)。

         - MPI of RSA public encryption exponent e.

- RSAの公共の暗号化解説者eのMPI。

       Algorithm Specific Fields for DSA public keys:

DSA公開鍵のためのアルゴリズムSpecificフィールズ:

         - MPI of DSA prime p;

- DSA第1pのMPI。

         - MPI of DSA group order q (q is a prime divisor of p-1);

- DSA共同注文q(qはp-1の主要な除数です)のMPI。

         - MPI of DSA group generator g;

- DSAグループジェネレータgのMPI。

         - MPI of DSA public key value y (= g**x where x is secret).

- DSA公開鍵価値y(xが秘密であるg**xと等しいです)のMPI。

       Algorithm Specific Fields for Elgamal public keys:

Elgamal公開鍵のためのアルゴリズムSpecificフィールズ:

         - MPI of Elgamal prime p;

- Elgamal第1pのMPI。

         - MPI of Elgamal group generator g;

- ElgamalグループジェネレータgのMPI。

Callas, et. al.             Standards Track                    [Page 36]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[36ページ]。

         - MPI of Elgamal public key value y (= g**x where x is
           secret).

- Elgamal公開鍵価値y(xが秘密であるg**xと等しいです)のMPI。

5.5.3. Secret Key Packet Formats

5.5.3. 秘密鍵パケット・フォーマット

   The Secret Key and Secret Subkey packets contain all the data of the
   Public Key and Public Subkey packets, with additional algorithm-
   specific secret key data appended, in encrypted form.

Secret KeyとSecret SubkeyパケットはPublic KeyとPublic Subkeyパケットに関するすべてのデータを含んでいます、追加アルゴリズム特定の秘密鍵データを追加していて、暗号化されたフォームで。

   The packet contains:

パケットは以下を含んでいます。

     - A Public Key or Public Subkey packet, as described above

- 上で説明されるとしてのPublic KeyかPublic Subkeyパケット

     - One octet indicating string-to-key usage conventions.  0
       indicates that the secret key data is not encrypted.  255
       indicates that a string-to-key specifier is being given.  Any
       other value is a symmetric-key encryption algorithm specifier.

- ストリングから重要への用法コンベンションを示す1つの八重奏。 0 秘密鍵データが暗号化されていないのを示します。 255 ストリングからキーへの特許説明書の作成書が与えられているのを示します。 いかなる他の値も共通鍵暗号アルゴリズム特許説明書の作成書です。

     - [Optional] If string-to-key usage octet was 255, a one-octet
       symmetric encryption algorithm.

- [任意の] ストリングからキーへの用法八重奏が255、1八重奏の左右対称の暗号化アルゴリズムであったなら。

     - [Optional] If string-to-key usage octet was 255, a string-to-key
       specifier.  The length of the string-to-key specifier is implied
       by its type, as described above.

- [任意の] ストリングからキーへの用法八重奏がストリングからキーへの255、特許説明書の作成書であったなら。 ストリングからキーへの特許説明書の作成書の長さは上で説明されるようにタイプによって暗示されます。

     - [Optional] If secret data is encrypted, eight-octet Initial
       Vector (IV).

- [任意]の、しかし、秘密のデータは暗号化されて、8八重奏のInitial Vector(IV)です。

     - Encrypted multi-precision integers comprising the secret key
       data. These algorithm-specific fields are as described below.

- 秘密鍵データを包括する暗号化されたマルチ精度整数。 以下で説明されるとしてこれらのアルゴリズム特有の分野があります。

     - Two-octet checksum of the plaintext of the algorithm-specific
       portion (sum of all octets, mod 65536).

- アルゴリズム特定部位(すべての八重奏の合計、モッズ風の65536)の平文の2八重奏のチェックサム。

       Algorithm Specific Fields for RSA secret keys:

RSA秘密鍵のためのアルゴリズムSpecificフィールズ:

       - multiprecision integer (MPI) of RSA secret exponent d.

- RSAの秘密の解説者dの多倍精度整数(MPI)。

       - MPI of RSA secret prime value p.

- RSAの秘密の主要な価値pのMPI。

       - MPI of RSA secret prime value q (p < q).

- RSAの秘密の主要な価値q(p<q)のMPI。

       - MPI of u, the multiplicative inverse of p, mod q.

- uのMPI、pの乗法的な逆、モッズq。

       Algorithm Specific Fields for DSA secret keys:

DSA秘密鍵のためのアルゴリズムSpecificフィールズ:

       - MPI of DSA secret exponent x.

- DSAの秘密の解説者xのMPI。

Callas, et. al.             Standards Track                    [Page 37]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[37ページ]。

       Algorithm Specific Fields for Elgamal secret keys:

Elgamal秘密鍵のためのアルゴリズムSpecificフィールズ:

       - MPI of Elgamal secret exponent x.

- Elgamalの秘密の解説者xのMPI。

   Secret MPI values can be encrypted using a passphrase.  If a string-
   to-key specifier is given, that describes the algorithm for
   converting the passphrase to a key, else a simple MD5 hash of the
   passphrase is used.  Implementations SHOULD use a string-to-key
   specifier; the simple hash is for backward compatibility. The cipher
   for encrypting the MPIs is specified in the secret key packet.

パスフレーズを使用することで秘密のMPI値を暗号化できます。 キーへのストリング特許説明書の作成書を与えるなら、それはパスフレーズをキーに変換するためのアルゴリズムを説明して、ほかに、パスフレーズの簡単なMD5ハッシュは使用されています。 実装SHOULDはストリングからキーへの特許説明書の作成書を使用します。 簡単なハッシュは後方の互換性のためのものです。 MPIsを暗号化するための暗号は秘密鍵パケットで指定されます。

   Encryption/decryption of the secret data is done in CFB mode using
   the key created from the passphrase and the Initial Vector from the
   packet. A different mode is used with V3 keys (which are only RSA)
   than with other key formats. With V3 keys, the MPI bit count prefix
   (i.e., the first two octets) is not encrypted.  Only the MPI non-
   prefix data is encrypted.  Furthermore, the CFB state is
   resynchronized at the beginning of each new MPI value, so that the
   CFB block boundary is aligned with the start of the MPI data.

パスフレーズとInitial Vectorからパケットから作成されたキーを使用しながら、CFBモードで機密データの暗号化/復号化をします。 他の主要な形式と異なったモードはV3キー(RSAにすぎない)と共に使用されます。 V3キーで、MPIビットカウント接頭語(すなわち、最初の2つの八重奏)は暗号化されていません。 MPIの非接頭語のデータだけが暗号化されています。 その上、CFB状態はそれぞれの新しいMPI価値の始めに再連動します、CFBブロック境界がMPIデータの始まりに並べられるように。

   With V4 keys, a simpler method is used.  All secret MPI values are
   encrypted in CFB mode, including the MPI bitcount prefix.

V4キーで、より簡単なメソッドは使用されています。 すべての秘密のMPI値がMPI bitcount接頭語を含むCFBモードで暗号化されます。

   The 16-bit checksum that follows the algorithm-specific portion is
   the algebraic sum, mod 65536, of the plaintext of all the algorithm-
   specific octets (including MPI prefix and data).  With V3 keys, the
   checksum is stored in the clear.  With V4 keys, the checksum is
   encrypted like the algorithm-specific data.  This value is used to
   check that the passphrase was correct.

アルゴリズム特定部位に続く16ビットのチェックサムは代数和、すべてのアルゴリズムの特定の八重奏の65536のモッズ風の平文(MPI接頭語とデータを含んでいて)です。 V3キーで、チェックサムは明確に保存されます。 V4キーで、チェックサムはアルゴリズム特有のデータのように暗号化されます。 この値は、パスフレーズが正しかったのをチェックするのに使用されます。

5.6. Compressed Data Packet (Tag 8)

5.6. 圧縮されたデータ・パケット(タグ8)

   The Compressed Data packet contains compressed data. Typically, this
   packet is found as the contents of an encrypted packet, or following
   a Signature or One-Pass Signature packet, and contains literal data
   packets.

Compressed Dataパケットは圧縮されたデータを含んでいます。 このパケットは、通常、暗号化されたパケットのコンテンツとして見つけられるか、またはSignatureかOne-パスSignatureパケットに続いていて、文字通りのデータ・パケットを含んでいます。

   The body of this packet consists of:

このパケットのボディーは以下から成ります。

     - One octet that gives the algorithm used to compress the packet.

- アルゴリズムを与える1つの八重奏が以前はよくパケットを圧縮していました。

     - The remainder of the packet is compressed data.

- パケットの残りは圧縮されたデータです。

   A Compressed Data Packet's body contains an block that compresses
   some set of packets. See section "Packet Composition" for details on
   how messages are formed.

Compressed Data Packetのボディーは何らかのセットのパケットを圧縮するブロックを含みます。 メッセージがどう形成されるかに関する詳細のための「パケット構成」というセクションを見てください。

Callas, et. al.             Standards Track                    [Page 38]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[38ページ]。

   ZIP-compressed packets are compressed with raw RFC 1951 DEFLATE
   blocks. Note that PGP V2.6 uses 13 bits of compression. If an
   implementation uses more bits of compression, PGP V2.6 cannot
   decompress it.

ZIPによって圧縮されたパケットは生のRFCと共に1951DEFLATEブロック圧縮されます。 PGP V2.6が圧縮の13ビットを使用することに注意してください。 実装が圧縮の、より多くのビットを使用するなら、PGP V2.6はそれを減圧できません。

   ZLIB-compressed packets are compressed with RFC 1950 ZLIB-style
   blocks.

ZLIBによって圧縮されたパケットはRFCと共に1950ZLIB-スタイルブロック圧縮されます。

5.7. Symmetrically Encrypted Data Packet (Tag 9)

5.7. 対称的に暗号化されたデータ・パケット(タグ9)

   The Symmetrically Encrypted Data packet contains data encrypted with
   a symmetric-key algorithm. When it has been decrypted, it will
   typically contain other packets (often literal data packets or
   compressed data packets).

Symmetrically Encrypted Dataパケットは対称鍵アルゴリズムで暗号化されたデータを含んでいます。 解読されたとき、それは他のパケット(しばしば文字通りのデータ・パケットか圧縮されたデータ・パケット)を通常含むでしょう。

   The body of this packet consists of:

このパケットのボディーは以下から成ります。

     - Encrypted data, the output of the selected symmetric-key cipher
       operating in PGP's variant of Cipher Feedback (CFB) mode.

- 暗号化されたデータ、PGPのCipher Feedback(CFB)モードの異形での選択された対称鍵暗号作動の出力。

   The symmetric cipher used may be specified in an Public-Key or
   Symmetric-Key Encrypted Session Key packet that precedes the
   Symmetrically Encrypted Data Packet.  In that case, the cipher
   algorithm octet is prefixed to the session key before it is
   encrypted.  If no packets of these types precede the encrypted data,
   the IDEA algorithm is used with the session key calculated as the MD5
   hash of the passphrase.

使用される左右対称の暗号はSymmetrically Encrypted Data Packetに先行するPublic主要であるかSymmetric主要なEncrypted Session Keyパケットで指定されるかもしれません。 その場合、それが暗号化されている前に暗号アルゴリズム八重奏はセッションキーへ前に置かれています。 これらのタイプのどんなパケットも暗号化されたデータに先行しないなら、IDEAアルゴリズムはパスフレーズのMD5ハッシュとして計算されるセッションキーと共に使用されます。

   The data is encrypted in CFB mode, with a CFB shift size equal to the
   cipher's block size.  The Initial Vector (IV) is specified as all
   zeros.  Instead of using an IV, OpenPGP prefixes a 10-octet string to
   the data before it is encrypted.  The first eight octets are random,
   and the 9th and 10th octets are copies of the 7th and 8th octets,
   respectively. After encrypting the first 10 octets, the CFB state is
   resynchronized if the cipher block size is 8 octets or less.  The
   last 8 octets of ciphertext are passed through the cipher and the
   block boundary is reset.

データは暗号のブロック・サイズと等しいCFBシフトサイズでCFBモードで暗号化されます。 Initial Vector(IV)はすべてのゼロとして指定されます。 IVを使用することの代わりに、それが暗号化されている前にOpenPGPは10八重奏のストリングをデータへ前に置きます。 最初の8つの八重奏が無作為です、そして、9番目と10番目の八重奏はそれぞれ7番目と8番目の八重奏のコピーです。 最初の10の八重奏を暗号化した後に、CFB状態は暗号ブロック・サイズが8つ以下の八重奏であるなら再連動します。 暗号文のベスト8八重奏は暗号を通り抜けます、そして、ブロック境界はリセットされます。

   The repetition of 16 bits in the 80 bits of random data prefixed to
   the message allows the receiver to immediately check whether the
   session key is incorrect.

メッセージへ前に置かれた80ビットの無作為のデータにおける、16ビットの反復で、受信機は、すぐに、セッションキーが不正確であるかどうかチェックできます。

5.8. Marker Packet (Obsolete Literal Packet) (Tag 10)

5.8. マーカーパケット(時代遅れの文字通りのパケット)(タグ10)

   An experimental version of PGP used this packet as the Literal
   packet, but no released version of PGP generated Literal packets with
   this tag. With PGP 5.x, this packet has been re-assigned and is
   reserved for use as the Marker packet.

Literalパケットが生成しますが、PGPのどんなリリースされたバージョンもこのタグでLiteralにパケットを生成しなかったとき、PGPの実験バージョンはこのパケットを使用しました。 このパケットは、PGP 5.xと共に、再選任されて、使用のためにMarkerパケットとして予約されます。

Callas, et. al.             Standards Track                    [Page 39]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[39ページ]。

   The body of this packet consists of:

このパケットのボディーは以下から成ります。

     - The three octets 0x50, 0x47, 0x50 (which spell "PGP" in UTF-8).

- 3つの八重奏0×50、0×47、0x50(UTF-8のどのスペル"PGP")。

   Such a packet MUST be ignored when received.  It may be placed at the
   beginning of a message that uses features not available in PGP 2.6.x
   in order to cause that version to report that newer software is
   necessary to process the message.

受け取ると、そのようなパケットを無視しなければなりません。 それはそのバージョンが、より新しいソフトウェアがメッセージを処理するのに必要であると報告することを引き起こすのにPGP 2.6.xで利用可能でない特徴を使用するメッセージの始めに置かれるかもしれません。

5.9. Literal Data Packet (Tag 11)

5.9. 文字通りのデータ・パケット(タグ11)

   A Literal Data packet contains the body of a message; data that is
   not to be further interpreted.

Literal Dataパケットはメッセージのボディーを含んでいます。 さらに解釈してはいけないデータ。

   The body of this packet consists of:

このパケットのボディーは以下から成ります。

     - A one-octet field that describes how the data is formatted.

- データがどうフォーマットされるかを説明する1八重奏の分野。

   If it is a 'b' (0x62), then the literal packet contains binary data.
   If it is a 't' (0x74), then it contains text data, and thus may need
   line ends converted to local form, or other text-mode changes.  RFC
   1991 also defined a value of 'l' as a 'local' mode for machine-local
   conversions.  This use is now deprecated.

それが'b'(0×62)であるなら、文字通りのパケットはバイナリ・データを含んでいます。 ''(0×74)でないなら、それは、テキストデータを含んでいて、その結果、地方で変えられる列の最後尾のフォーム、または他のテキストモード変化を必要とするかもしれません。 また、RFC1991はマシン地方の変換のための'地方'のモードと'l'の値を定義しました。 この使用は現在、推奨しないです。

     - File name as a string (one-octet length, followed by file name),
       if the encrypted data should be saved as a file.

- ストリング(ファイル名があとに続いた1八重奏の長さ)として名前をファイルしてください、暗号化されたデータがファイルとして保存されるなら。

   If the special name "_CONSOLE" is used, the message is considered to
   be "for your eyes only".  This advises that the message data is
   unusually sensitive, and the receiving program should process it more
   carefully, perhaps avoiding storing the received data to disk, for
   example.

「」 コンソールという特別な名前_です」、使用されていて、メッセージが「あなたの目専用」のためにあると考えられます。 これは、メッセージデータが異常に機密であり、受信プログラムが、より慎重にそれを処理するはずであると忠告します、恐らく例えば、ディスクとして受信データを保存するのを避けて

     - A four-octet number that indicates the modification date of the
       file, or the creation time of the packet, or a zero that
       indicates the present time.

- ファイルの変更日付、またはパケットの作成時間を示す4八重奏の数、または現在を示すゼロ。

     - The remainder of the packet is literal data.

- パケットの残りは文字通りのデータです。

   Text data is stored with <CR><LF> text endings (i.e. network-normal
   line endings).  These should be converted to native line endings by
   the receiving software.

テキストデータは<CR><LF>テキスト結末(すなわち、ネットワーク正常な系列結末)で保存されます。 これらは受信ソフトウェアによって自然な系列結末に変換されるべきです。

5.10. Trust Packet (Tag 12)

5.10. 信頼パケット(タグ12)

   The Trust packet is used only within keyrings and is not normally
   exported.  Trust packets contain data that record the user's
   specifications of which key holders are trustworthy introducers,

Trustパケットは、keyringsだけの中で使用されて、通常、エクスポートされません。 信頼パケットはユーザのそれの主要な所有者の仕様が信頼できる誘導子であるそんなに記録的なデータを含んでいます。

Callas, et. al.             Standards Track                    [Page 40]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[40ページ]。

   along with other information that implementing software uses for
   trust information.

ソフトウェアを実装すると情報が信頼に使用されるという他の情報と共に。

   Trust packets SHOULD NOT be emitted to output streams that are
   transferred to other users, and they SHOULD be ignored on any input
   other than local keyring files.

パケットSHOULD NOTが他のユーザに移される出力ストリームに放たれていると信じてください、彼ら、SHOULD、ローカルのkeyringファイル以外のあらゆる入力のときに、無視されてください。

5.11. User ID Packet (Tag 13)

5.11. ユーザIDパケット(タグ13)

   A User ID packet consists of data that is intended to represent the
   name and email address of the key holder.  By convention, it includes
   an RFC 822 mail name, but there are no restrictions on its content.
   The packet length in the header specifies the length of the user id.
   If it is text, it is encoded in UTF-8.

User IDパケットは主要な所有者の名前とEメールアドレスを表すことを意図するデータから成ります。 コンベンションで、RFC822メール名を含んでいますが、制限が全く内容にありません。 ヘッダーのパケット長はユーザイドの長さを指定します。 テキストであるなら、それはUTF-8でコード化されます。

6. Radix-64 Conversions

6. 基数-64の変換

   As stated in the introduction, OpenPGP's underlying native
   representation for objects is a stream of arbitrary octets, and some
   systems desire these objects to be immune to damage caused by
   character set translation, data conversions, etc.

序論、OpenPGPがオブジェクトの固有の表現の基礎となる際に述べられているのが、任意の八重奏のストリームであり、いくつかのシステムが、これらのオブジェクトは文字集合翻訳でもたらされた損害に免疫があることを望んでいるので、データ変換しますなど。

   In principle, any printable encoding scheme that met the requirements
   of the unsafe channel would suffice, since it would not change the
   underlying binary bit streams of the native OpenPGP data structures.
   The OpenPGP standard specifies one such printable encoding scheme to
   ensure interoperability.

原則として、危険なチャンネルに関する必要条件を満たしたどんな印刷可能なコード化体系も十分でしょう、固有のOpenPGPデータ構造の基本的な2進のビットストリームを変えないでしょう、したがって。 OpenPGP規格は、相互運用性を確実にするためにそのような体系の印刷可能なコード化1つを指定します。

   OpenPGP's Radix-64 encoding is composed of two parts: a base64
   encoding of the binary data, and a checksum.  The base64 encoding is
   identical to the MIME base64 content-transfer-encoding [RFC2231,
   Section 6.8]. An OpenPGP implementation MAY use ASCII Armor to
   protect the raw binary data.

OpenPGPのRadix-64コード化は2つの部品で構成されます: バイナリ・データ、およびチェックサムをコード化するbase64。 base64コード化はMIMEのbase64の満足している転送コード化[RFC2231、セクション6.8]と同じです。 OpenPGP実装は、生のバイナリ・データを保護するのにASCII Armorを使用するかもしれません。

   The checksum is a 24-bit CRC converted to four characters of radix-64
   encoding by the same MIME base64 transformation, preceded by an
   equals sign (=).  The CRC is computed by using the generator 0x864CFB
   and an initialization of 0xB704CE.  The accumulation is done on the
   data before it is converted to radix-64, rather than on the converted
   data.  A sample implementation of this algorithm is in the next
   section.

チェックサムは等号(=)が先行した同じMIMEでbase64をコード化する基数-64変換の4つのキャラクタに変換された24ビットのCRCです。 CRCは、ジェネレータ0x864CFBと0xB704CEの初期化を使用することによって、計算されます。 データでは、変換されたデータに関してというよりむしろ基数-64にそれを変換する前に蓄積します。 このアルゴリズムのサンプル実装が次のセクションにあります。

   The checksum with its leading equal sign MAY appear on the first line
   after the Base64 encoded data.

Base64がデータを暗号化した後に主な等号があるチェックサムは最初の系列に現れるかもしれません。

   Rationale for CRC-24: The size of 24 bits fits evenly into printable
   base64.  The nonzero initialization can detect more errors than a
   zero initialization.

CRC-24のための原理: 24ビットのサイズは均等に印刷可能なbase64に収まります。 非零初期化はaゼロ初期化より多くの誤りを検出できます。

Callas, et. al.             Standards Track                    [Page 41]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[41ページ]。

6.1. An Implementation of the CRC-24 in "C"

6.1. 「C」のCRC-24の実装

       #define CRC24_INIT 0xb704ceL
       #define CRC24_POLY 0x1864cfbL

#定義、CRC24_INIT 0xb704ceL#はCRC24_POLY 0x1864cfbLを定義します。

       typedef long crc24;
       crc24 crc_octets(unsigned char *octets, size_t len)
       {
           crc24 crc = CRC24_INIT;
           int i;

typedefの長いcrc24。 crc24 crc_八重奏(未署名の炭*八重奏、サイズ_t len)、crc24 crcはCRC24_INITと等しいです; int i

           while (len--) {
               crc ^= (*octets++) << 16;
               for (i = 0; i < 8; i++) {
                   crc <<= 1;
                   if (crc & 0x1000000)
                       crc ^= CRC24_POLY;
               }
           }
           return crc & 0xffffffL;
       }

(len--、)、(iは0と等しいです; i<8; i++) crc<<=1(crcと0×1000000)が^=CRC24_POLYをcrcするなら}というリターンcrcと0xffffffLのためのcrc^=(*八重奏++)<<16 }

6.2. Forming ASCII Armor

6.2. ASCIIよろいかぶとを形成します。

   When OpenPGP encodes data into ASCII Armor, it puts specific headers
   around the data, so OpenPGP can reconstruct the data later. OpenPGP
   informs the user what kind of data is encoded in the ASCII armor
   through the use of the headers.

OpenPGPがASCII Armorにデータを暗号化するとき、データの周りの特定のヘッダーを置くので、OpenPGPは後でデータを再建できます。 OpenPGPは、どういうデータがASCIIよろいかぶとでヘッダーの使用でコード化されるかをユーザに知らせます。

   Concatenating the following data creates ASCII Armor:

以下のデータを連結すると、ASCII Armorは作成されます:

     - An Armor Header Line, appropriate for the type of data

- データのタイプに、適切なArmor Header線

     - Armor Headers

- よろいかぶとヘッダー

     - A blank (zero-length, or containing only whitespace) line

- 空白(ゼロ・レングス、または空白だけを含む)の系列

     - The ASCII-Armored data

- ASCII武具のデータ

     - An Armor Checksum

- よろいかぶとチェックサム

     - The Armor Tail, which depends on the Armor Header Line.

- Armor Tail。(そのArmor TailはArmor Header線に依存します)。

   An Armor Header Line consists of the appropriate header line text
   surrounded by five (5) dashes ('-', 0x2D) on either side of the
   header line text.  The header line text is chosen based upon the type
   of data that is being encoded in Armor, and how it is being encoded.
   Header line texts include the following strings:

Armor Header線は5(5)ダッシュ('--'、0x2D)でヘッダー系列テキストのどちらの側でも囲まれた適切なヘッダー系列テキストから成ります。 ヘッダー系列テキストはArmorでコード化されているデータと、それがどうコード化されるかに関するタイプに基づいた状態で選ばれています。 ヘッダー系列テキストは以下のストリングを含んでいます:

Callas, et. al.             Standards Track                    [Page 42]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[42ページ]。

   BEGIN PGP MESSAGE
       Used for signed, encrypted, or compressed files.

署名しているか、暗号化されたか、圧縮されたファイルのためのBEGIN PGP MESSAGE Used。

   BEGIN PGP PUBLIC KEY BLOCK
       Used for armoring public keys

装甲公開鍵のためのBEGIN PGP PUBLIC KEY BLOCK Used

   BEGIN PGP PRIVATE KEY BLOCK
       Used for armoring private keys

装甲秘密鍵のためのBEGIN PGP PRIVATE KEY BLOCK Used

   BEGIN PGP MESSAGE, PART X/Y
       Used for multi-part messages, where the armor is split amongst Y
       parts, and this is the Xth part out of Y.

BEGIN PGP MESSAGE、複合メッセージのためのPART X/Y Used(よろいかぶとはYの部品の中で分けられて、これはXthである)はYから離れています。

   BEGIN PGP MESSAGE, PART X
       Used for multi-part messages, where this is the Xth part of an
       unspecified number of parts. Requires the MESSAGE-ID Armor Header
       to be used.

BEGIN PGP MESSAGE、複合メッセージのためのPART X Used。そこでは、これが不特定の数の一部分のXth部分です。 MESSAGE-ID Armor Headerが使用されるのが必要です。

   BEGIN PGP SIGNATURE
       Used for detached signatures, OpenPGP/MIME signatures, and
       natures following clearsigned messages. Note that PGP 2.x s BEGIN
       PGP MESSAGE for detached signatures.

離れている署名、OpenPGP/MIME署名、およびclearsignedメッセージに従う自然のためのBEGIN PGP SIGNATURE Used。 離れている署名によってそのPGP 2.x s BEGIN PGP MESSAGEに注意してください。

   The Armor Headers are pairs of strings that can give the user or the
   receiving OpenPGP implementation some information about how to decode
   or use the message.  The Armor Headers are a part of the armor, not a
   part of the message, and hence are not protected by any signatures
   applied to the message.

Armor Headersはメッセージを解読するか、またはどう使用するかの何らかの情報をユーザか受信OpenPGP実装に教えることができる組のストリングです。 Armor Headersはメッセージの一部ではなく、よろいかぶとの一部であり、したがって、メッセージに適用されたどんな署名でも保護されません。

   The format of an Armor Header is that of a key-value pair.  A colon
   (':' 0x38) and a single space (0x20) separate the key and value.
   OpenPGP should consider improperly formatted Armor Headers to be
   corruption of the ASCII Armor.  Unknown keys should be reported to
   the user, but OpenPGP should continue to process the message.

Armor Headerの形式は1キー値組のものです。 コロン(':'0×38)とシングルスペース(0×20)はキーと値を切り離します。 OpenPGPは、不適切にフォーマットされたArmor HeadersがASCII Armorの不正であると考えるはずです。 未知のキーはユーザに報告されるべきですが、OpenPGPは、メッセージを処理し続けているはずです。

   Currently defined Armor Header Keys are:

現在定義されたArmor Headerキーズは以下の通りです。

     - "Version", that states the OpenPGP Version used to encode the
       message.

- それは、OpenPGPバージョンが、メッセージをコード化するのに「バージョン」と使用したと述べます。

     - "Comment", a user-defined comment.

- 「コメント」、ユーザによって定義されたコメント。

     - "MessageID", a 32-character string of printable characters.  The
       string must be the same for all parts of a multi-part message
       that uses the "PART X" Armor Header.  MessageID strings should be

- "MessageID"、印刷可能なキャラクタの32文字列。 「部分X」よろいかぶとヘッダーを使用する複合メッセージのすべての部分に、ストリングは同じであるに違いありません。 MessageIDストリングはそうであるべきです。

Callas, et. al.             Standards Track                    [Page 43]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[43ページ]。

       unique enough that the recipient of the mail can associate all
       the parts of a message with each other. A good checksum or
       cryptographic hash function is sufficient.

メールの受取人がメッセージのすべての部分を互いに関連づけることができるくらいユニークです。 良いチェックサムか暗号のハッシュ関数が十分です。

     - "Hash", a comma-separated list of hash algorithms used in this
       message. This is used only in clear-signed messages.

- ハッシュアルゴリズムのコンマで切り離されたリストは、このメッセージで「ハッシュ」と使用しました。 これははっきりと署名しているメッセージだけで使用されます。

     - "Charset", a description of the character set that the plaintext
       is in. Please note that OpenPGP defines text to be in UTF-8 by
       default. An implementation will get best results by translating
       into and out of UTF-8. However, there are many instances where
       this is easier said than done. Also, there are communities of
       users who have no need for UTF-8 because they are all happy with
       a character set like ISO Latin-5 or a Japanese character set. In
       such instances, an implementation MAY override the UTF-8 default
       by using this header key. An implementation MAY implement this
       key and any translations it cares to; an implementation MAY
       ignore it and assume all text is UTF-8.

- "Charset"、平文がある文字集合の記述。 OpenPGPは、デフォルトでUTF-8にあるようにテキストを定義します。 実装は、UTF-8の中と、そして、UTF-8から翻訳することによって、最も良い結果を得るでしょう。 しかしながら、多くのインスタンスがこれが言うは易く,行うは難しであるところにあります。 また、彼らが皆、ISOラテン語-5や日本の文字集合のような文字集合に満足であるのでUTF-8の必要性を全く持っていないユーザの共同体があります。 そういった場合には、実装は、このヘッダーキーを使用することによって、UTF-8デフォルトをくつがえすかもしれません。 実装はそれが気にかけるこのキーとどんな翻訳も実装するかもしれません。 実装は、それを無視して、すべてのテキストがUTF-8であると仮定するかもしれません。

       The MessageID SHOULD NOT appear unless it is in a multi-part
       message. If it appears at all, it MUST be computed from the
       finished (encrypted, signed, etc.) message in a deterministic
       fashion, rather than contain a purely random value.  This is to
       allow the legitimate recipient to determine that the MessageID
       cannot serve as a covert means of leaking cryptographic key
       information.

それが複合メッセージにない場合、MessageID SHOULDは現れません。 少しでも現れるなら、純粋に無作為の値を含んでいるより決定論的なファッションによる終わっている(暗号化されて、署名しているなど)メッセージからそれをむしろ計算しなければなりません。 これは、決定するおおいが意味するようにMessageIDが役立つことができない漏出の正統の受取人に暗号の主要な情報を許容するためのものです。

   The Armor Tail Line is composed in the same manner as the Armor
   Header Line, except the string "BEGIN" is replaced by the string
   "END."

Armor Header線と同じ方法でArmor Tail線を構成して、ストリングを除いて、ストリング「終わり」までに「始まってください」を取り替えます。

6.3. Encoding Binary in Radix-64

6.3. 基数-64におけるバイナリーをコード化します。

   The encoding process represents 24-bit groups of input bits as output
   strings of 4 encoded characters. Proceeding from left to right, a
   24-bit input group is formed by concatenating three 8-bit input
   groups. These 24 bits are then treated as four concatenated 6-bit
   groups, each of which is translated into a single digit in the
   Radix-64 alphabet. When encoding a bit stream with the Radix-64
   encoding, the bit stream must be presumed to be ordered with the
   most-significant-bit first. That is, the first bit in the stream will
   be the high-order bit in the first 8-bit octet, and the eighth bit
   will be the low-order bit in the first 8-bit octet, and so on.

4の出力ストリングがキャラクタをコード化したので、コード化プロセスは入力ビットの24ビットのグループを代表します。 左から右まで続いて、24ビットの入力グループは、3つの8ビットの入力グループを連結することによって、結成されます。 そして、4が6ビットのグループ(それのそれぞれがRadix-64アルファベットの一桁に翻訳される)を連結したので、これらの24ビットは扱われます。 Radix-64コード化でストリームを少しコード化するとき、ビットストリームは最初に、あえて最も重要なビットで命令されなければなりません。 すなわち、ストリームにおける最初のビットは最初の8ビット・オクテットで高位のビットになるでしょう、そして、8番目のビットは最初の8ビット・オクテット、などに下位のビットになるでしょう。

Callas, et. al.             Standards Track                    [Page 44]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[44ページ]。

         +--first octet--+-second octet--+--third octet--+
         |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
         +-----------+---+-------+-------+---+-----------+
         |5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0|
         +--1.index--+--2.index--+--3.index--+--4.index--+

+--最初の八重奏--+-第2八重奏--+--3番目の八重奏--+|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0| +-----------+---+-------+-------+---+-----------+ |5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0| +--1.index--+--2.index--+--3.index--+--4.index--+

   Each 6-bit group is used as an index into an array of 64 printable
   characters from the table below. The character referenced by the
   index is placed in the output string.

それぞれの6ビットのグループはインデックスとして以下のテーブルから64の印刷可能なキャラクタの配列に使用されます。 インデックスによって参照をつけられるキャラクタは出力ストリングに置かれます。

     Value Encoding  Value Encoding  Value Encoding  Value Encoding
         0 A            17 R            34 i            51 z
         1 B            18 S            35 j            52 0
         2 C            19 T            36 k            53 1
         3 D            20 U            37 l            54 2
         4 E            21 V            38 m            55 3
         5 F            22 W            39 n            56 4
         6 G            23 X            40 o            57 5
         7 H            24 Y            41 p            58 6
         8 I            25 Z            42 q            59 7
         9 J            26 a            43 r            60 8
        10 K            27 b            44 s            61 9
        11 L            28 c            45 t            62 +
        12 M            29 d            46 u            63 /
        13 N            30 e            47 v
        14 O            31 f            48 w         (pad) =
        15 P            32 g            49 x
        16 Q            33 h            50 y

評価..18秒間..C..44秒間..パッド..33時間

   The encoded output stream must be represented in lines of no more
   than 76 characters each.

それぞれ76未満のキャラクタの系列でコード化された出力ストリームを表さなければなりません。

   Special processing is performed if fewer than 24 bits are available
   at the end of the data being encoded. There are three possibilities:

24ビット未満がコード化されるデータの終わりで有効であるなら、特別な処理は実行されます。 3つの可能性があります:

    1. The last data group has 24 bits (3 octets). No special
       processing is needed.

1. 最後のデータグループには、24ビット(3つの八重奏)があります。 どんな特別な処理も必要ではありません。

    2. The last data group has 16 bits (2 octets). The first two 6-bit
       groups are processed as above. The third (incomplete) data group
       has two zero-value bits added to it, and is processed as above.
       A pad character (=) is added to the output.

2. 最後のデータグループには、16ビット(2つの八重奏)があります。 最初の2つの6ビットのグループが同じくらい上に処理されます。 3番目の(不完全)のデータグループは、2無価値のビットをそれに加えさせて、同じくらい上に処理されます。 パッド文字(=)は出力に加えられます。

    3. The last data group has 8 bits (1 octet). The first 6-bit group
       is processed as above. The second (incomplete) data group has
       four zero-value bits added to it, and is processed as above. Two
       pad characters (=) are added to the output.

3. 最後のデータグループには、8ビット(1つの八重奏)があります。 最初の6ビットのグループは同じくらい上に処理されます。 2番目の(不完全)のデータグループは、4無価値のビットをそれに加えさせて、同じくらい上に処理されます。 2つのパッド文字(=)が出力に加えられます。

Callas, et. al.             Standards Track                    [Page 45]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[45ページ]。

6.4. Decoding Radix-64

6.4. 基数-64を解読します。

   Any characters outside of the base64 alphabet are ignored in Radix-64
   data. Decoding software must ignore all line breaks or other
   characters not found in the table above.

base64アルファベットにおける外部のどんなキャラクタもRadix-64データで無視されます。 ソフトウェアを解読すると、上のテーブルで見つけられなかったすべてのラインブレイクか他のキャラクタが無視されなければなりません。

   In Radix-64 data, characters other than those in the table, line
   breaks, and other white space probably indicate a transmission error,
   about which a warning message or even a message rejection might be
   appropriate under some circumstances.

Radix-64データでは、テーブルのそれら以外のキャラクタ、ラインブレイク、および他の余白はたぶん伝送エラーを示します。(警告メッセージかメッセージ拒絶さえそれに関していくつかの状況で適切であるかもしれません)。

   Because it is used only for padding at the end of the data, the
   occurrence of any "=" characters may be taken as evidence that the
   end of the data has been reached (without truncation in transit). No
   such assurance is possible, however, when the number of octets
   transmitted was a multiple of three and no "=" characters are
   present.

それがデータの終わりでそっと歩くのにだけ使用されるので、どんな「=」キャラクタの発生もデータの端に達したという(トランジットにおけるトランケーションなしで)証拠としてみなされるかもしれません。 そのようなどんな保証も可能でない、しかしながら、八重奏の数が3が倍数があって、いいえと伝えたとき、「=」キャラクタは出席しています。

6.5. Examples of Radix-64

6.5. 基数-64に関する例

       Input data:  0x14fb9c03d97e
       Hex:     1   4    f   b    9   c     | 0   3    d   9    7   e
       8-bit:   00010100 11111011 10011100  | 00000011 11011001
       11111110
       6-bit:   000101 001111 101110 011100 | 000000 111101 100111
       111110
       Decimal: 5      15     46     28       0      61     37     62
       Output:  F      P      u      c        A      9      l      +

データを入力してください: 0x14fb9c03d97e十六進法: 1 4、f b9c| 0 3、d eの9 7 8ビット: 00010100 11111011 10011100 | 00000011 11011001 11111110 6ビット: 000101 001111 101110 011100 | 000000 111101 100111 111110小数: 5、15 46 28、0 61 37 62出力: F P u c A9l+

       Input data:  0x14fb9c03d9
       Hex:     1   4    f   b    9   c     | 0   3    d   9
       8-bit:   00010100 11111011 10011100  | 00000011 11011001
                                                       pad with 00
       6-bit:   000101 001111 101110 011100 | 000000 111101 100100
       Decimal: 5      15     46     28       0      61     36
                                                          pad with =
       Output:  F      P      u      c        A      9      k      =

データを入力してください: 0x14fb9c03d9十六進法: 1 4、f b9c| 0 3、d9 8ビット: 00010100 11111011 10011100 | 00000011 11011001は00 6ビットでそっと歩きます: 000101 001111 101110 011100 | 000000 111101 100100小数: 5、15 46 28、0 61 36は=出力でそっと歩きます: F P u c A9k=

       Input data:  0x14fb9c03
       Hex:     1   4    f   b    9   c     | 0   3
       8-bit:   00010100 11111011 10011100  | 00000011
                                              pad with 0000
       6-bit:   000101 001111 101110 011100 | 000000 110000
       Decimal: 5      15     46     28       0      48
                                                   pad with =      =
       Output:  F      P      u      c        A      w      =      =

データを入力してください: 0x14fb9c03十六進法: 1 4、f b9c| 0 3 8ビット: 00010100 11111011 10011100 | 00000011 0000 6ビットで、そっと歩いてください: 000101 001111 101110 011100 | 000000 110000小数: 5 =がある15 46 28 0 48パッドは出力と等しいです: F P u c A wは=と等しいです。

Callas, et. al.             Standards Track                    [Page 46]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[46ページ]。

6.6. Example of an ASCII Armored Message

6.6. ASCIIの武具のメッセージに関する例

  -----BEGIN PGP MESSAGE-----
  Version: OpenPrivacy 0.99

-----PGPメッセージを始めてください。----- バージョン: OpenPrivacy0.99

  yDgBO22WxBHv7O8X7O/jygAEzol56iUKiXmV+XmpCtmpqQUKiQrFqclFqUDBovzS
  vBSFjNSiVHsuAA==
  =njUN
  -----END PGP MESSAGE-----

yDgBO22WxBHv7O8X7O/jygAEzol56iUKiXmV+XmpCtmpqQUKiQrFqclFqUDBovzS vBSFjNSiVHsuAA== =njUN-----終わりのPGPメッセージ-----

   Note that this example is indented by two spaces.

この例が2つの空間によって字下がりにされることに注意してください。

7. Cleartext signature framework

7. Cleartext署名フレームワーク

   It is desirable to sign a textual octet stream without ASCII armoring
   the stream itself, so the signed text is still readable without
   special software. In order to bind a signature to such a cleartext,
   this framework is used.  (Note that RFC 2015 defines another way to
   clear sign messages for environments that support MIME.)

署名しているテキストが特別なソフトウェアなしでまだ読み込み可能であることで、ASCII装甲のない原文の八重奏ストリームがストリーム自体であると署名するのは望ましいです。 そのようなcleartextに署名を縛るために、このフレームワークは使用されています。 (RFC2015がMIMEをサポートする環境へのサインメッセージをクリアする別の方法を定義することに注意してください。)

   The cleartext signed message consists of:

メッセージであると署名されるcleartextは以下から成ります。

     - The cleartext header '-----BEGIN PGP SIGNED MESSAGE-----' on a
       single line,

- 'cleartextヘッダー'-----メッセージであると署名されるPGPを始めてください。-----'シングルでは、立ち並んでください'

     - One or more "Hash" Armor Headers,

- ものか以上がArmor Headersを「論じ尽くします」。

     - Exactly one empty line not included into the message digest,

- まさにメッセージダイジェストに含められなかった、1つの空の系列

     - The dash-escaped cleartext that is included into the message
       digest,

- メッセージダイジェストに含まれている、ダッシュで逃げられたcleartext

     - The ASCII armored signature(s) including the '-----BEGIN PGP
       SIGNATURE-----' Armor Header and Armor Tail Lines.

- 'ASCIIの武具の署名が包含する、'-----PGP署名を始めてください。-----'よろいかぶとヘッダーとよろいかぶとは線に尾を付けます'。

   If the "Hash" armor header is given, the specified message digest
   algorithm is used for the signature. If there are no such headers,
   MD5 is used, an implementation MAY omit them for V2.x compatibility.
   If more than one message digest is used in the signature, the "Hash"
   armor header contains a comma-delimited list of used message digests.

「ハッシュ」よろいかぶとヘッダーを与えるなら、署名に指定されたメッセージダイジェストアルゴリズムを使用します。 どれかそのようなヘッダーがなければ、MD5が使用されている、実装はV2.xの互換性のために彼らを省略するかもしれません。 1つ以上のメッセージダイジェストが署名に使用されるなら、「ハッシュ」よろいかぶとヘッダーは中古のメッセージダイジェストのコンマで区切られたリストを含んでいます。

   Current message digest names are described below with the algorithm
   IDs.

現在のメッセージダイジェスト名は以下でアルゴリズムIDで説明されます。

7.1. Dash-Escaped Text

7.1. ダッシュで逃げられたテキスト

   The cleartext content of the message must also be dash-escaped.

また、メッセージのcleartext内容もダッシュで逃げなければなりません。

Callas, et. al.             Standards Track                    [Page 47]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[47ページ]。

   Dash escaped cleartext is the ordinary cleartext where every line
   starting with a dash '-' (0x2D) is prefixed by the sequence dash '-'
   (0x2D) and space ' ' (0x20). This prevents the parser from
   recognizing armor headers of the cleartext itself. The message digest
   is computed using the cleartext itself, not the dash escaped form.

ダッシュの逃げられたcleartextは系列ダッシュ'--'(0x2D)によってダッシュ'--'(0x2D)から始まるあらゆる系列が前に置かれている普通のcleartextであり、スペースは''(0×20)'です。 これはcleartext自身のよろいかぶとヘッダーを見分けるのからのパーサを防ぎます。 メッセージダイジェストはcleartext自身を使用することで計算されて、いずれのダッシュもフォームから逃げませんでした。

   As with binary signatures on text documents, a cleartext signature is
   calculated on the text using canonical <CR><LF> line endings.  The
   line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
   SIGNATURE-----' line that terminates the signed text is not
   considered part of the signed text.

テキストドキュメントにおける2進の署名のように、cleartext署名は、テキストで正準な<の><LF>系列CR結末を使用することで計算されます。 '系列が以前(すなわち、<CR><LF>)を終わらせる、'-----PGP署名を始めてください。-----'署名しているテキストを終える系列は署名しているテキストの一部であると考えられません'。

   Also, any trailing whitespace (spaces, and tabs, 0x09) at the end of
   any line is ignored when the cleartext signature is calculated.

また、cleartext署名が計算されるとき、どんな行の終わりのどんな引きずっている空白(空間、およびタブ、0×09)も無視されます。

8. Regular Expressions

8. 正規表現

   A regular expression is zero or more branches, separated by '|'. It
   matches anything that matches one of the branches.

'正規表現はゼロであるか切り離されて、以上は分岐します'|'. それはブランチの1つに合っている何にでも合っています。

   A branch is zero or more pieces, concatenated. It matches a match for
   the first, followed by a match for the second, etc.

連結されて、ブランチは、ゼロか、より多くの断片です。 それはマッチが2番目などのために支えた1番目のためのマッチに合っています。

   A piece is an atom possibly followed by '*', '+', or '?'. An atom
   followed by '*' matches a sequence of 0 or more matches of the atom.
   An atom followed by '+' matches a sequence of 1 or more matches of
   the atom. An atom followed by '?' matches a match of the atom, or the
   null string.

断片はことによると'+ ''*'、'?'によっていうことになられた原子です。 '*'があとに続いた原子は原子の0個以上のマッチの系列に合っています。 原子は'+'1以上の系列が合っている原子のマッチで続きました。 '?'によって続かれた原子は原子のマッチ、またはヌルストリングに合っています。

   An atom is a regular expression in parentheses (matching a match for
   the regular expression), a range (see below), '.' (matching any
   single character), '^' (matching the null string at the beginning of
   the input string), '$' (matching the null string at the end of the
   input string), a '\' followed by a single character (matching that
   character), or a single character with no other significance
   (matching that character).

'\'は、単独のキャラクタ(そのキャラクタを合わせる)、または単独のキャラクタで他の意味なしで'原子が括弧(正規表現のためのマッチを合わせる)、範囲(以下を見る)、'. '(どんな単独のキャラクタも合わせます)、'^'(入力ストリングの始めにヌルストリングを合わせる)'の正規表現です、$'(入力ストリングの端にヌルストリングを合わせて)に続きました(そのキャラクタを合わせて)。

   A range is a sequence of characters enclosed in '[]'. It normally
   matches any single character from the sequence. If the sequence
   begins with '^', it matches any single character not from the rest of
   the sequence. If two characters in the sequence are separated by '-',
   this is shorthand for the full list of ASCII characters between them
   (e.g. '[0-9]' matches any decimal digit). To include a literal ']' in
   the sequence, make it the first character (following a possible '^').
   To include a literal '-', make it the first or last character.

範囲は'[]'に同封されたキャラクタの系列です。 通常、それは系列からどんな単独のキャラクタにも合っています。 系列が'^'で始まるなら、それは系列のいずれの残りからもどんな単独のキャラクタにも合っていません。 系列の2つのキャラクタが'--'によって切り離されるなら、これは彼らの間のASCII文字の完全リストのための速記(例えば、'[0-9]'はどんな10進数字にも合っている)です。 'リテラルを含んでいる'] '系列では、それを最初のキャラクタにしてください(可能な'^'に続いて)。 文字通りの'--'を含むには、それを1番目か最後のキャラクタにしてください。

Callas, et. al.             Standards Track                    [Page 48]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[48ページ]。

9. Constants

9. 定数

   This section describes the constants used in OpenPGP.

このセクションはOpenPGPで使用される定数について説明します。

   Note that these tables are not exhaustive lists; an implementation
   MAY implement an algorithm not on these lists.

これらのテーブルが完全なりストでないことに注意してください。 実装はどんなこれらのリストでもアルゴリズムを実装しないかもしれません。

   See the section "Notes on Algorithms" below for more discussion of
   the algorithms.

アルゴリズムの、より多くの議論に関して以下の「アルゴリズムに関する注」というセクションを見てください。

9.1. Public Key Algorithms

9.1. 公開鍵アルゴリズム

       ID           Algorithm
       --           ---------
       1          - RSA (Encrypt or Sign)
       2          - RSA Encrypt-Only
       3          - RSA Sign-Only
       16         - Elgamal (Encrypt-Only), see [ELGAMAL]
       17         - DSA (Digital Signature Standard)
       18         - Reserved for Elliptic Curve
       19         - Reserved for ECDSA
       20         - Elgamal (Encrypt or Sign)

IDアルゴリズム----------- または、1 --RSA、(暗号化、Sign) 2--RSA Encryptだけ3--RSA Signだけ16--、Elgamal、(暗号化、-単に、)、[ELGAMAL]17(DSA(デジタル署名基準)18)がElliptic Curve19(ECDSA20のために、予約されます)のためにElgamalを予約したのを確実にしてください。(暗号化するか、または署名します)

       21         - Reserved for Diffie-Hellman (X9.42,
                    as defined for IETF-S/MIME)
       100 to 110 - Private/Experimental algorithm.

ディフィー-ヘルマンのために、予約されました。21--、(IETF-S/MIME) 100〜110--個人的であるか実験しているアルゴリズムのために定義されるようなX9.42。

   Implementations MUST implement DSA for signatures, and Elgamal for
   encryption. Implementations SHOULD implement RSA keys.
   Implementations MAY implement any other algorithm.

実装は、署名のためにDSAを実装して、暗号化のためにElgamalを実装しなければなりません。 実装SHOULDはRSAにキーを実装します。 実装はいかなる他のアルゴリズムも実装するかもしれません。

9.2. Symmetric Key Algorithms

9.2. 対称鍵アルゴリズム

       ID           Algorithm
       --           ---------
       0          - Plaintext or unencrypted data
       1          - IDEA [IDEA]
       2          - Triple-DES (DES-EDE, as per spec -
                    168 bit key derived from 192)
       3          - CAST5 (128 bit key, as per RFC 2144)
       4          - Blowfish (128 bit key, 16 rounds) [BLOWFISH]
       5          - SAFER-SK128 (13 rounds) [SAFER]
       6          - Reserved for DES/SK
       7          - Reserved for AES with 128-bit key

IDアルゴリズム----------- 0--平文か非暗号化されたデータ1--IDEA[IDEA]2--三重のDES(仕様に従ってDES-EDE--192から引き出された168ビットのキー)3--CAST5(RFC2144に従って主要な128ビット)4--フグ(128はキーに噛み付きました、16ラウンド)[BLOWFISH]5--AESのために128ビットのキーで予約されたSAFER-SK128(13ラウンド)[SAFER]6(DES/SK7のために、予約されます)

Callas, et. al.             Standards Track                    [Page 49]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[49ページ]。

       8          - Reserved for AES with 192-bit key
       9          - Reserved for AES with 256-bit key
       100 to 110 - Private/Experimental algorithm.

8--AESのために、192ビットの主要な9で、予約されました--AESのために、256ビットの主要な100で、110--個人的であるか実験しているアルゴリズムに予約されます。

   Implementations MUST implement Triple-DES. Implementations SHOULD
   implement IDEA and CAST5.Implementations MAY implement any other
   algorithm.

実装はTriple-DESを実装しなければなりません。 実装SHOULDはIDEAを実装します、そして、CAST5.Implementationsはいかなる他のアルゴリズムも実装するかもしれません。

9.3. Compression Algorithms

9.3. 圧縮アルゴリズム

       ID           Algorithm
       --           ---------
       0          - Uncompressed
       1          - ZIP (RFC 1951)
       2          - ZLIB (RFC 1950)
       100 to 110 - Private/Experimental algorithm.

IDアルゴリズム----------- 0--解凍された1--郵便番号(RFC1951)2--ZLIB(RFC1950)の100〜110--個人的であるか実験しているアルゴリズム。

   Implementations MUST implement uncompressed data. Implementations
   SHOULD implement ZIP. Implementations MAY implement ZLIB.

実装は解凍されたデータを実装しなければなりません。 実装SHOULDはZIPを実装します。 実装はZLIBを実装するかもしれません。

9.4. Hash Algorithms

9.4. ハッシュアルゴリズム

       ID           Algorithm                              Text Name
       --           ---------                              ---- ----
       1          - MD5                                    "MD5"
       2          - SHA-1                                  "SHA1"
       3          - RIPE-MD/160                            "RIPEMD160"
       4          - Reserved for double-width SHA (experimental)
       5          - MD2                                    "MD2"
       6          - Reserved for TIGER/192                 "TIGER192"
       7          - Reserved for HAVAL (5 pass, 160-bit)
       "HAVAL-5-160"
       100 to 110 - Private/Experimental algorithm.

IDアルゴリズム原文名----------- ---- ---- 1 --MD5、「MD5"2--、SHA-1、」 SHA1"3--熟しているMD/160"RIPEMD160"4--ダブル幅のSHAの(実験的)の5のために、予約されます--MD2、「MD2"6(タイガー/192"TIGER192"7のために、予約されます)はHAVAL(5は終わります、160ビットである)のために"HAVAL-5-160"100〜110--個人的であるか実験しているアルゴリズムを予約しました」。

   Implementations MUST implement SHA-1. Implementations SHOULD
   implement MD5.

実装はSHA-1を実装しなければなりません。 実装SHOULDはMD5を実装します。

10. Packet Composition

10. パケット構成

   OpenPGP packets are assembled into sequences in order to create
   messages and to transfer keys.  Not all possible packet sequences are
   meaningful and correct.  This describes the rules for how packets
   should be placed into sequences.

OpenPGPパケットは、メッセージを作成して、キーを移すために系列に組み立てられます。 すべての可能なパケット系列が、どんな重要であって、正しいというわけではありません。 これは、パケットがどう系列に置かれるべきであるかために規則について説明します。

10.1. Transferable Public Keys

10.1. 移転可能な公開鍵

   OpenPGP users may transfer public keys. The essential elements of a
   transferable public key are:

OpenPGPユーザは公開鍵を移すかもしれません。 移転可能な公開鍵の必須元素は以下の通りです。

Callas, et. al.             Standards Track                    [Page 50]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[50ページ]。

     - One Public Key packet

- 1つのPublic Keyパケット

     - Zero or more revocation signatures

- ゼロか、より多くの取消し署名

     - One or more User ID packets

- 1つ以上のUser IDパケット

     - After each User ID packet, zero or more signature packets
       (certifications)

- それぞれのUser IDパケット、ゼロまたは、より多くの署名パケットの後に(証明)

     - Zero or more Subkey packets

- ゼロか、より多くのSubkeyパケット

     - After each Subkey packet, one signature packet, optionally a
       revocation.

- 後それぞれのSubkeyパケット、任意にある署名パケット、取消し。

   The Public Key packet occurs first.  Each of the following User ID
   packets provides the identity of the owner of this public key.  If
   there are multiple User ID packets, this corresponds to multiple
   means of identifying the same unique individual user; for example, a
   user may have more than one email address, and construct a User ID
   for each one.

Public Keyパケットは最初に、起こります。 それぞれの以下のUser IDパケットはこの公開鍵の所有者のアイデンティティを提供します。 複数のUser IDパケットがあれば、これは同じユニークな個々のユーザを特定する複数の手段に対応しています。 例えば、ユーザは、1つ以上のEメールアドレスを持って、それぞれのためにUser IDを組み立てるかもしれません。

   Immediately following each User ID packet, there are zero or more
   signature packets. Each signature packet is calculated on the
   immediately preceding User ID packet and the initial Public Key
   packet. The signature serves to certify the corresponding public key
   and user ID.  In effect, the signer is testifying to his or her
   belief that this public key belongs to the user identified by this
   user ID.

すぐにそれぞれのUser IDパケットに続いて、ゼロか、より多くの署名パケットがあります。 それぞれの署名パケットはすぐに前のUser IDパケットと初期のPublic Keyパケットの上で計算されます。 署名は、対応する公開鍵とユーザがIDであることを公認するのに役立ちます。 事実上、署名者はこの公開鍵がこのユーザIDによって特定されたユーザのものであるというその人の信念に証言しています。

   After the User ID packets there may be one or more Subkey packets.
   In general, subkeys are provided in cases where the top-level public
   key is a signature-only key.  However, any V4 key may have subkeys,
   and the subkeys may be encryption-only keys, signature-only keys, or
   general-purpose keys.

User IDパケットの後に、1つ以上のSubkeyパケットがあるかもしれません。 一般に、トップレベル公開鍵が署名だけキーであるケースの中にサブキーを提供します。 サブキーは、しかしながら、どんなV4キーにも、サブキーがあるかもしれなくて、暗号化だけキー、署名だけキー、または汎用キーであるかもしれません。

   Each Subkey packet must be followed by one Signature packet, which
   should be a subkey binding signature issued by the top level key.

1つのSignatureパケットがそれぞれのSubkeyパケットのあとに続かなければなりません。(それは、拘束力がある署名がトップ平らなキーで支給したサブキーであるべきです)。

   Subkey and Key packets may each be followed by a revocation Signature
   packet to indicate that the key is revoked.  Revocation signatures
   are only accepted if they are issued by the key itself, or by a key
   that is authorized to issue revocations via a revocation key
   subpacket in a self-signature by the top level key.

取消しSignatureパケットはそれぞれサブキーとKeyパケットのあとに続いて、キーが取り消されるのを示すかもしれません。 キー自体、または自己署名における取消し主要な「副-パケット」を通してトップ平らなキーで取消しを発行するのが認可されるキーでそれらを発行する場合にだけ、取消し署名を受け入れます。

   Transferable public key packet sequences may be concatenated to allow
   transferring multiple public keys in one operation.

移転可能な公開鍵パケット系列は、一挙に複数の公開鍵を移すのを許容するために連結されるかもしれません。

Callas, et. al.             Standards Track                    [Page 51]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[51ページ]。

10.2. OpenPGP Messages

10.2. OpenPGPメッセージ

   An OpenPGP message is a packet or sequence of packets that
   corresponds to the following grammatical rules (comma represents
   sequential composition, and vertical bar separates alternatives):

OpenPGPメッセージは、以下の文法規則に対応するパケットのパケットか系列(コンマは連続した構成を表します、そして、縦棒は代替手段を切り離す)です:

   OpenPGP Message :- Encrypted Message | Signed Message |
                      Compressed Message | Literal Message.

OpenPGPメッセージ:-暗号化メッセージ| メッセージであると署名されます。| 圧縮されたメッセージ| 文字通りのメッセージ。

   Compressed Message :- Compressed Data Packet.

圧縮されたメッセージ:-はデータ・パケットを圧縮しました。

   Literal Message :- Literal Data Packet.

文字通りのメッセージ:-文字通りのデータ・パケット。

   ESK :- Public Key Encrypted Session Key Packet |
          Symmetric-Key Encrypted Session Key Packet.

ESK:-公開鍵はセッションの主要なパケットを暗号化しました。| 対称鍵はセッションの主要なパケットを暗号化しました。

   ESK Sequence :- ESK | ESK Sequence, ESK.

ESK系列:-ESK| ESK系列、ESK。

   Encrypted Message :- Symmetrically Encrypted Data Packet |
               ESK Sequence, Symmetrically Encrypted Data Packet.

暗号化メッセージ:-は対称的にデータ・パケットを暗号化しました。| ESK系列、対称的に暗号化されたデータ・パケット。

   One-Pass Signed Message :- One-Pass Signature Packet,
               OpenPGP Message, Corresponding Signature Packet.

1パスが、メッセージの:-の1パスの署名パケット、OpenPGPメッセージが対応する署名パケットであると署名しました。

   Signed Message :- Signature Packet, OpenPGP Message |
               One-Pass Signed Message.

メッセージ:-署名パケット、OpenPGPメッセージであると署名されます。| 1パスがメッセージに署名しました。

   In addition, decrypting a Symmetrically Encrypted Data packet and

そしてSymmetrically Encrypted Dataパケットを解読する追加。

   decompressing a Compressed Data packet must yield a valid OpenPGP
   Message.

Compressed Dataパケットを減圧すると、有効なOpenPGP Messageはもたらされなければなりません。

10.3. Detached Signatures

10.3. 離れている署名

   Some OpenPGP applications use so-called "detached signatures." For
   example, a program bundle may contain a file, and with it a second
   file that is a detached signature of the first file. These detached
   signatures are simply a signature packet stored separately from the
   data that they are a signature of.

いくつかのOpenPGPアプリケーションがいわゆる「離れている署名」を使用します。 例えば、プログラムバンドルはファイル、およびそれによる最初のファイルの離れている署名である2番目のファイルを含むかもしれません。 これらの離れている署名が単に別々にデータから保存された署名パケットである、署名

11. Enhanced Key Formats

11. 高められた主要な形式

11.1. Key Structures

11.1. 主要な構造

   The format of an OpenPGP V3 key is as follows.  Entries in square
   brackets are optional and ellipses indicate repetition.

OpenPGP V3キーの形式は以下の通りです。 角括弧におけるエントリーは任意です、そして、楕円は反復を示します。

Callas, et. al.             Standards Track                    [Page 52]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[52ページ]。

           RSA Public Key
              [Revocation Self Signature]
               User ID [Signature ...]
              [User ID [Signature ...] ...]

RSA公開鍵[取消し自己署名]ユーザID[署名…] [ユーザID[署名…]]

   Each signature certifies the RSA public key and the preceding user
   ID. The RSA public key can have many user IDs and each user ID can
   have many signatures.

各署名は、RSA公開鍵と前のユーザがIDであることを公認します。 RSA公開鍵は多くのユーザIDを持つことができます、そして、それぞれのユーザIDは多くの署名を持つことができます。

   The format of an OpenPGP V4 key that uses two public keys is similar
   except that the other keys are added to the end as 'subkeys' of the
   primary key.

他のキーが主キーの'サブキー'として終わりに加えられるのを除いて、2つの公開鍵を使用するOpenPGP V4キーの形式は同様です。

           Primary-Key
              [Revocation Self Signature]
              [Direct Key Self Signature...]
               User ID [Signature ...]
              [User ID [Signature ...] ...]
              [[Subkey [Binding-Signature-Revocation]
                      Primary-Key-Binding-Signature] ...]

主キー[取消し自己署名][ダイレクト主要な自己署名…] ユーザID[署名…] [ユーザID[署名…]] [[サブキー[拘束力がある署名取消し]のプライマリ主要な拘束力がある署名]]

   A subkey always has a single signature after it that is issued using
   the primary key to tie the two keys together.  This binding signature
   may be in either V3 or V4 format, but V4 is preferred, of course.

サブキーには、それの後の2個のキーを結びつけるのに主キーを使用することで発行される単記署名がいつもあります。 V3かV4形式のどちらかにはこの拘束力がある署名があるかもしれませんが、V4が好まれる、もちろん。

   In the above diagram, if the binding signature of a subkey has been
   revoked, the revoked binding signature may be removed, leaving only
   one signature.

上のダイヤグラムで、サブキーの拘束力がある署名を取り消したなら、取り消された拘束力がある署名を取り除くかもしれません、1つの署名だけを残して。

   In a key that has a main key and subkeys, the primary key MUST be a
   key capable of signing. The subkeys may be keys of any other type.
   There may be other constructions of V4 keys, too. For example, there
   may be a single-key RSA key in V4 format, a DSA primary key with an
   RSA encryption key, or RSA primary key with an Elgamal subkey, etc.

メインキーとサブキーを持っているキーでは、主キーは署名ができるキーであるに違いありません。 サブキーはいかなる他のタイプのキーであるかもしれません。 V4キーについても他の構造があるかもしれません。 例えば、V4形式で主要な単一に主要なRSA、RSA暗号化キーがあるDSA主キー、またはElgamalサブキーなどがあるRSA主キーがあるかもしれません。

   It is also possible to have a signature-only subkey. This permits a
   primary key that collects certifications (key signatures) but is used
   only used for certifying subkeys that are used for encryption and
   signatures.

また、署名だけサブキーを持っているのも可能です。 これは暗号化と署名に使用されるサブキーを公認するのに証明(調号)を集めますが、使用されていただけである状態で使用される主キーを可能にします。

11.2. Key IDs and Fingerprints

11.2. 主要なIDと指紋

   For a V3 key, the eight-octet key ID consists of the low 64 bits of
   the public modulus of the RSA key.

V3キーに関しては、8八重奏の主要なIDはRSAキーの公共の係数の低64ビットから成ります。

   The fingerprint of a V3 key is formed by hashing the body (but not
   the two-octet length) of the MPIs that form the key material (public
   modulus n, followed by exponent e) with MD5.

V3キーの指紋は、MD5と共に主要な材料(解説者eによって従われた公共の係数n)を形成するMPIsのボディー(しかし、2八重奏の長さでない)を論じ尽くすことによって、形成されます。

Callas, et. al.             Standards Track                    [Page 53]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[53ページ]。

   A V4 fingerprint is the 160-bit SHA-1 hash of the one-octet Packet
   Tag, followed by the two-octet packet length, followed by the entire
   Public Key packet starting with the version field.  The key ID is the
   low order 64 bits of the fingerprint.  Here are the fields of the
   hash material, with the example of a DSA key:

V4指紋は2八重奏のパケット長があとに続いたPacket Tagがバージョン野原から始まる全体のPublic Keyパケットを続けた1八重奏の160ビットのSHA-1ハッシュです。 主要なIDは指紋の下位64ビットです。 ここに、ハッシュの材料の分野がDSAキーに関する例と共にあります:

  a.1) 0x99 (1 octet)

a.1) 0×99(1つの八重奏)

  a.2) high order length octet of (b)-(f) (1 octet)

a.2) (b)--(f)の高位長さの八重奏 (1つの八重奏)

  a.3) low order length octet of (b)-(f) (1 octet)

a.3) (b)--(f)の下位の長さの八重奏 (1つの八重奏)

    b) version number = 4 (1 octet);

4(1つの八重奏)のb)バージョン番号=。

    c) time stamp of key creation (4 octets);

主要な作成(4つの八重奏)のc)タイムスタンプ。

    d) algorithm (1 octet): 17 = DSA (example);

d)アルゴリズム(1つの八重奏): 17はDSA(例)と等しいです。

    e) Algorithm specific fields.

e) アルゴリズムの特定の分野。

   Algorithm Specific Fields for DSA keys (example):

DSAキー(例)のためのアルゴリズムSpecificフィールズ:

  e.1) MPI of DSA prime p;

e.1) DSA第1pのMPI。

  e.2) MPI of DSA group order q (q is a prime divisor of p-1);

e.2) DSA共同注文q(qはp-1の主要な除数です)のMPI。

  e.3) MPI of DSA group generator g;

e.3) DSAグループジェネレータgのMPI。

  e.4) MPI of DSA public key value y (= g**x where x is secret).

e.4) DSA公開鍵価値y(xが秘密であるg**xと等しいです)のMPI。

   Note that it is possible for there to be collisions of key IDs -- two
   different keys with the same key ID. Note that there is a much
   smaller, but still non-zero probability that two different keys have
   the same fingerprint.

そこに、主要なIDの衝突であることが可能であることに注意してください--同じ主要なIDがある2個の異なったキー。 2個の異なったキーには同じ指紋があるというはるかに小さい、しかし、まだ非ゼロの確率があることに注意してください。

   Also note that if V3 and V4 format keys share the same RSA key
   material, they will have different key ids as well as different
   fingerprints.

また、V3とV4形式キーが同じRSAの主要な材料を共有すると、それらには異なった指紋と同様に異なった主要なイドがあることに注意してください。

12. Notes on Algorithms

12. アルゴリズムに関する注

12.1. Symmetric Algorithm Preferences

12.1. 左右対称のアルゴリズム好み

   The symmetric algorithm preference is an ordered list of algorithms
   that the keyholder accepts. Since it is found on a self-signature, it
   is possible that a keyholder may have different preferences. For
   example, Alice may have TripleDES only specified for "alice@work.com"
   but CAST5, Blowfish, and TripleDES specified for "alice@home.org".

左右対称のアルゴリズム好みはkeyholderが受け入れるアルゴリズムの規則正しいリストです。 それが自己署名に見つけられるので、keyholderには異なった好みがあるのは、可能です。 例えば、アリスは" alice@work.com "にTripleDESを指定させるだけであるかもしれませんが、CAST5、フグ、およびTripleDESは" alice@home.org "に指定しました。

Callas, et. al.             Standards Track                    [Page 54]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[54ページ]。

   Note that it is also possible for preferences to be in a subkey's
   binding signature.

また、好みがサブキーの拘束力がある署名中であるのも、可能であることに注意してください。

   Since TripleDES is the MUST-implement algorithm, if it is not
   explicitly in the list, it is tacitly at the end. However, it is good
   form to place it there explicitly. Note also that if an
   implementation does not implement the preference, then it is
   implicitly a TripleDES-only implementation.

リストでは、明らかでなく、それは暗にそうです。以来TripleDESがそうである、-、道具、アルゴリズム、それがそう、終わりにそうしなければなりません。 しかしながら、それは明らかにそれをそこに置くちゃんとした行儀作法です。 また、実装が好みを実装しないならそれがそれとなくそうであることに注意してください。TripleDESだけ実装。

   An implementation MUST not use a symmetric algorithm that is not in
   the recipient's preference list. When encrypting to more than one
   recipient, the implementation finds a suitable algorithm by taking
   the intersection of the preferences of the recipients. Note that the
   MUST-implement algorithm, TripleDES, ensures that the intersection is
   not null. The implementation may use any mechanism to pick an
   algorithm in the intersection.

実装は受取人の好みのリストにない左右対称のアルゴリズムを使用してはいけません。 1人以上の受取人に暗号化するとき、実装は、受取人の好みの交差点を取ることによって、適当なアルゴリズムを見つけます。 それに注意してください、-、道具、アルゴリズム(TripleDES)は交差点が確実にヌルにならないようにしなければなりません。 実装は、交差点でアルゴリズムを選ぶのにどんなメカニズムも使用するかもしれません。

   If an implementation can decrypt a message that a keyholder doesn't
   have in their preferences, the implementation SHOULD decrypt the
   message anyway, but MUST warn the keyholder than protocol has been
   violated. (For example, suppose that Alice, above, has software that
   implements all algorithms in this specification. Nonetheless, she
   prefers subsets for work or home. If she is sent a message encrypted
   with IDEA, which is not in her preferences, the software warns her
   that someone sent her an IDEA-encrypted message, but it would ideally
   decrypt it anyway.)

実装がメッセージを解読することができるなら、keyholderが彼らの好み、実装でSHOULDを持っていないのが、プロトコルに違反してあるよりとにかくメッセージを解読しますが、keyholderに警告しなければなりません。 (例えば、アリスがこの仕様に上にすべてのアルゴリズムを実装するソフトウェアを持っていると仮定してください。 それにもかかわらず、彼女は仕事かホームとして部分集合を好みます。 彼女の好み中でないIDEAと共に暗号化されたメッセージを彼女に送るなら、ソフトウェアは、だれかがIDEA-暗号化メッセージを彼女に送ったと彼女に警告しますが、それは理想的にとにかくそれを解読するでしょう。)

   An implementation that is striving for backward compatibility MAY
   consider a V3 key with a V3 self-signature to be an implicit
   preference for IDEA, and no ability to do TripleDES. This is
   technically non-compliant, but an implementation MAY violate the
   above rule in this case only and use IDEA to encrypt the message,
   provided that the message creator is warned. Ideally, though, the
   implementation would follow the rule by actually generating two
   messages, because it is possible that the OpenPGP user's
   implementation does not have IDEA, and thus could not read the
   message. Consequently, an implementation MAY, but SHOULD NOT use IDEA
   in an algorithm conflict with a V3 key.

後方の互換性を求めて努力している実装は、IDEAにおける暗黙の優先にもかかわらず、V3自己署名によって主要なV3がTripleDESをする能力でないと考えるかもしれません。 これが技術的に不従順ですが、実装は、この場合、上の規則だけに違反して、メッセージを暗号化するのにIDEAを使用するかもしれません、メッセージクリエイターが注意されれば。 理想的に、もっとも、実際に2つのメッセージを生成することによって、実装は規則に従うでしょう、OpenPGPユーザの実装がIDEAを持たないで、その結果、メッセージを読むことができなかったのが、可能であるので。 その結果、実装は使用するかもしれませんが、SHOULD NOTはV3キーとのアルゴリズム闘争にIDEAを使用します。

12.2. Other Algorithm Preferences

12.2. 他のアルゴリズム好み

   Other algorithm preferences work similarly to the symmetric algorithm
   preference, in that they specify which algorithms the keyholder
   accepts. There are two interesting cases that other comments need to
   be made about, though, the compression preferences and the hash
   preferences.

keyholderがどのアルゴリズムを受け入れるかを指定するので、他のアルゴリズム好みは同様に左右対称のアルゴリズム好みに取り組みます。 他のコメントがもっとも、ほとんど作られているために必要とする2つのおもしろいケース、圧縮好み、およびハッシュ好みがあります。

Callas, et. al.             Standards Track                    [Page 55]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[55ページ]。

12.2.1. Compression Preferences

12.2.1. 圧縮好み

   Compression has been an integral part of PGP since its first days.
   OpenPGP and all previous versions of PGP have offered compression.
   And in this specification, the default is for messages to be
   compressed, although an implementation is not required to do so.
   Consequently, the compression preference gives a way for a keyholder
   to request that messages not be compressed, presumably because they
   are using a minimal implementation that does not include compression.
   Additionally, this gives a keyholder a way to state that it can
   support alternate algorithms.

圧縮は初日以来のPGPの不可欠の部分です。 OpenPGPとPGPのすべての旧バージョンが圧縮を提供しました。 そして、この仕様には、デフォルトが圧縮されるべきメッセージのためにあります、実装はそうするのに必要ではありませんが。 その結果、圧縮好みはkeyholderが、メッセージが圧縮されないよう要求する方法を与えます、おそらく圧縮を含んでいない最小限の器具を使用しているので。 さらに、これは代替のアルゴリズムをサポートすることができると述べる方法をkeyholderに与えます。

   Like the algorithm preferences, an implementation MUST NOT use an
   algorithm that is not in the preference vector. If the preferences
   are not present, then they are assumed to be [ZIP(1),
   UNCOMPRESSED(0)].

アルゴリズム好みのように、実装は好みのベクトルにはないアルゴリズムを使用してはいけません。 好みが存在していないなら、それらは想定されます。[郵便番号(1)、UNCOMPRESSED(0)]。

12.2.2. Hash Algorithm Preferences

12.2.2. ハッシュアルゴリズム好み

   Typically, the choice of a hash algorithm is something the signer
   does, rather than the verifier, because a signer does not typically
   know who is going to be verifying the signature. This preference,
   though, allows a protocol based upon digital signatures ease in
   negotiation.

ハッシュアルゴリズムの選択は通常、署名者が検証よりむしろすることです、署名者が、だれが署名について確かめるかを通常知らないので。 もっとも、この好みは交渉におけるデジタル署名の容易さに基づくプロトコルを許容します。

   Thus, if Alice is authenticating herself to Bob with a signature, it
   makes sense for her to use a hash algorithm that Bob's software uses.
   This preference allows Bob to state in his key which algorithms Alice
   may use.

したがって、アリスが署名のボブに自分を認証しているなら、彼女のために、ボブのソフトウェアが使用するハッシュアルゴリズムを使用するのは理解できます。 この好みで、ボブは、彼のキーにアリスがどのアルゴリズムを使用するかもしれないかを述べることができます。

12.3. Plaintext

12.3. 平文

   Algorithm 0, "plaintext", may only be used to denote secret keys that
   are stored in the clear. Implementations must not use plaintext in
   Symmetrically Encrypted Data Packets; they must use Literal Data
   Packets to encode unencrypted or literal data.

「平文」というアルゴリズム0は、明確に保存される秘密鍵を指示するのに使用されるだけであるかもしれません。 実装はSymmetrically Encrypted Data Packetsで平文を使用してはいけません。 彼らは、非暗号化されたか文字通りのデータをコード化するのにLiteral Data Packetsを使用しなければなりません。

12.4. RSA

12.4. RSA

   There are algorithm types for RSA-signature-only, and RSA-encrypt-
   only keys. These types are deprecated. The "key flags" subpacket in a
   signature is a much better way to express the same idea, and
   generalizes it to all algorithms. An implementation SHOULD NOT create
   such a key, but MAY interpret it.

アルゴリズムがあります。キーだけをRSA署名だけのためにタイプして、RSA暗号化します。 これらのタイプは推奨しないです。 署名における「主要な旗」「副-パケット」は、同じ考えを表すのにおいてはるかにふさわしい方法であり、すべてのアルゴリズムにそれを一般化します。実装SHOULD NOTはそのようなキーを作成しますが、それを解釈するかもしれません。

   An implementation SHOULD NOT implement RSA keys of size less than 768
   bits.

SHOULD NOTが768ビット未満のサイズのRSAキーであると実装する実装。

Callas, et. al.             Standards Track                    [Page 56]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[56ページ]。

   It is permissible for an implementation to support RSA merely for
   backward compatibility; for example, such an implementation would
   support V3 keys with IDEA symmetric cryptography. Note that this is
   an exception to the other MUST-implement rules. An implementation
   that supports RSA in V4 keys MUST implement the MUST-implement
   features.

実装が単に後方の互換性のためにRSAをサポートするのは、許されています。 例えば、そのような実装はIDEAの左右対称の暗号でV3にキーを支えるでしょう。 これがもう片方への例外であることに注意してください、-、道具、規則でなければならない。 キーが実装しなければならないV4でRSAをサポートする実装、-、道具、特徴でなければならない。

12.5. Elgamal

12.5. Elgamal

   If an Elgamal key is to be used for both signing and encryption,
   extra care must be taken in creating the key.

署名と暗号化の両方にElgamalキーを使用するつもりであるなら、キーを作成しながら、付加的な注意を中に入れなければなりません。

   An ElGamal key consists of a generator g, a prime modulus p, a secret
   exponent x, and a public value y = g^x mod p.

ElGamalキーはジェネレータg(g^x主要な係数p、秘密の解説者x、および公共の値y=モッズp)から成ります。

   The generator and prime must be chosen so that solving the discrete
   log problem is intractable.  The group g should generate the
   multiplicative group mod p-1 or a large subgroup of it, and the order
   of g should have at least one large prime factor.  A good choice is
   to use a "strong" Sophie-Germain prime in choosing p, so that both p
   and (p-1)/2 are primes. In fact, this choice is so good that
   implementors SHOULD do it, as it avoids a small subgroup attack.

ジェネレータと第1を選ばなければならないので、離散的なログ問題を解決するのは手に負えません。 グループgは乗法群のモッズ風のp-1かそれの大きいサブグループを発生させるべきです、そして、gの注文には、少なくとも1つの大きい主要因があるべきです。 良い選択はpを選ぶのにおいて主要な「強い」ソフィー-ジェルマンを使用することです、pと(p-1)/2の両方が盛りであるように。 この選択が非常に良いので、小さいサブグループ攻撃を避けるとき、事実上、作成者SHOULDはそれをします。

   In addition, a result of Bleichenbacher [BLEICHENBACHER] shows that
   if the generator g has only small prime factors, and if g divides the
   order of the group it generates, then signatures can be forged.  In
   particular, choosing g=2 is a bad choice if the group order may be
   even. On the other hand, a generator of 2 is a fine choice for an
   encryption-only key, as this will make the encryption faster.

さらに、Bleichenbacher[BLEICHENBACHER]の結果は、ジェネレータgで小さい主要因しかなくて、gがそれが作るグループの注文を分割するなら署名を鍛造できるのを示します。 共同注文が同等であるかもしれないなら、g=2を選ぶのは、特に、下手な選択です。 他方では、2のジェネレータは暗号化だけキーのためのよい選択です、暗号化がこれで、より速くなるとき。

   While verifying Elgamal signatures, note that it is important to test
   that r and s are less than p.  If this test is not done then
   signatures can be trivially forged by using large r values of
   approximately twice the length of p.  This attack is also discussed
   in the Bleichenbacher paper.

Elgamal署名について確かめている間、rとsがp以下であることがテストするために重要であることに注意してください。 このテストが完了していないなら、pの長さのおよそ2倍の大きいr値を使用することによって、署名を些細なことに鍛造できます。 また、Bleichenbacher紙でこの攻撃について議論します。

   Details on safe use of Elgamal signatures may be found in [MENEZES],
   which discusses all the weaknesses described above.

Elgamal署名の安全な使用に関する詳細は[メネゼス]で見つけられるかもしれません。(それは、上で説明されたすべての弱点について議論します)。

   If an implementation allows Elgamal signatures, then it MUST use the
   algorithm identifier 20 for an Elgamal public key that can sign.

実現がElgamalに署名を許容するなら、それはそれがサインできるElgamal公開鍵にアルゴリズム識別子20を使用しなければなりません。

   An implementation SHOULD NOT implement Elgamal keys of size less than
   768 bits. For long-term security, Elgamal keys should be 1024 bits or
   longer.

768ビット未満のサイズの実現SHOULD NOT道具Elgamalキー。 長期のセキュリティのために、Elgamalキーは1024ビットであるべきです。

Callas, et. al.             Standards Track                    [Page 57]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[57ページ]。

12.6. DSA

12.6. DSA

   An implementation SHOULD NOT implement DSA keys of size less than 768
   bits. Note that present DSA is limited to a maximum of 1024 bit keys,
   which are recommended for long-term use.

768ビット未満のサイズの実現SHOULD NOT道具DSAキー。 現在のDSAが最大1024年のビットのキーに制限されることに注意してください。(キーは長期の使用のために推薦されます)。

12.7. Reserved Algorithm Numbers

12.7. 予約されたアルゴリズム番号

   A number of algorithm IDs have been reserved for algorithms that
   would be useful to use in an OpenPGP implementation, yet there are
   issues that prevent an implementor from actually implementing the
   algorithm. These are marked in the Public Algorithms section as
   "(reserved for)".

多くのアルゴリズムIDがOpenPGP実現に使用するために役に立つアルゴリズムのために予約されましたが、作成者が実際にアルゴリズムを実行できない問題があります。 これらは「(予約される)」としてPublic Algorithms部でマークされます。

   The reserved public key algorithms, Elliptic Curve (18), ECDSA (19),
   and X9.42 (21) do not have the necessary parameters, parameter order,
   or semantics defined.

予約された公開鍵アルゴリズム、Elliptic Curve(18)、ECDSA(19)、およびX9.42(21)には、必要なパラメタ、パラメタオーダー、または定義された意味論がありません。

   The reserved symmetric key algorithm, DES/SK (6), does not have
   semantics defined.

予約された対称鍵アルゴリズム(DES/SK(6))には、定義された意味論がありません。

   The reserved hash algorithms, TIGER192 (6), and HAVAL-5-160 (7), do
   not have OIDs. The reserved algorithm number 4, reserved for a
   double-width variant of SHA1, is not presently defined.

予約された細切れ肉料理アルゴリズム(TIGER192(6)、およびHAVAL-5-160(7))には、OIDsがありません。 SHA1のダブル幅異形のために予約された予約されたアルゴリズムNo.4は現在、定義されません。

   We have reserver three algorithm IDs for the US NIST's Advanced
   Encryption Standard. This algorithm will work with (at least) 128,
   192, and 256-bit keys. We expect that this algorithm will be selected
   from the candidate algorithms in the year 2000.

私たちには、US NISTのエー・イー・エスのための「再-サーバ」threeアルゴリズムIDがあります。 このアルゴリズムは(少なくとも)の128、192、および256ビットのキーで利くでしょう。 私たちは、このアルゴリズムが2000年の間候補アルゴリズムから選択されると予想します。

12.8. OpenPGP CFB mode

12.8. OpenPGP CFBモード

   OpenPGP does symmetric encryption using a variant of Cipher Feedback
   Mode (CFB mode). This section describes the procedure it uses in
   detail. This mode is what is used for Symmetrically Encrypted Data
   Packets; the mechanism used for encrypting secret key material is
   similar, but described in those sections above.

OpenPGPは、Cipher Feedback Mode(CFBモード)の異形を使用することで左右対称の暗号化をします。 このセクションはそれが詳細に用いる手順について説明します。 このモードはSymmetrically Encrypted Data Packetsに使用されることです。 秘密鍵の材料をコード化するのに使用されるメカニズムは、同様ですが、上のそれらのセクションで説明されています。

   OpenPGP CFB mode uses an initialization vector (IV) of all zeros, and
   prefixes the plaintext with ten octets of random data, such that
   octets 9 and 10 match octets 7 and 8.  It does a CFB "resync" after
   encrypting those ten octets.

OpenPGP CFBモードは、すべてのゼロの初期化ベクトル(IV)を使用して、無作為のデータの10の八重奏がある平文を前に置きます、八重奏9と10が八重奏7と8に合うように。 それらの10の八重奏をコード化した後に、それはCFB"「再-同時性」"をします。

   Note that for an algorithm that has a larger block size than 64 bits,
   the equivalent function will be done with that entire block.  For
   example, a 16-octet block algorithm would operate on 16 octets, and
   then produce two octets of check, and then work on 16-octet blocks.

64ビットより大きいブロック・サイズを持っているアルゴリズムにおいてその全体のブロックで同等な機能をすることに注意してください。 例えば、次に、16八重奏のブロックアルゴリズムは、16八重奏のブロックに16の八重奏を作動させて、チェックの2つの八重奏を起こして、次に、仕事を起こすでしょう。

Callas, et. al.             Standards Track                    [Page 58]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[58ページ]。

   Step by step, here is the procedure:

一歩一歩、ここに、手順があります:

   1.  The feedback register (FR) is set to the IV, which is all zeros.

1. フィードバック・レジスタ(FR)はIVに設定されます。(それは、すべてゼロです)。

   2.  FR is encrypted to produce FRE (FR Encrypted).  This is the
       encryption of an all-zero value.

2. FRは、FRE(FR Encrypted)を生産するためにコード化されます。 これはオールゼロ価値の暗号化です。

   3.  FRE is xored with the first 8 octets of random data prefixed to
       the plaintext to produce C1-C8, the first 8 octets of ciphertext.

3. 無作為のデータの最初の8つの八重奏が平文へ前に置かれている状態で、FREは、C1-C8(暗号文の最初の8つの八重奏)を生産するためにxoredされます。

   4.  FR is loaded with C1-C8.

4. FRをC1-C8に積みます。

   5.  FR is encrypted to produce FRE, the encryption of the first 8
       octets of ciphertext.

5. FRは、FRE、暗号文の最初の8つの八重奏の暗号化を起こすためにコード化されます。

   6.  The left two octets of FRE get xored with the next two octets of
       data that were prefixed to the plaintext.  This produces C9-C10,
       the next two octets of ciphertext.

6. FREの左の2つの八重奏が平文へ前に置かれたデータの次の2つの八重奏でxoredされます。 これはC9-C10、暗号文の次の2つの八重奏を起こします。

   7.  (The resync step) FR is loaded with C3-C10.

7. (「再-同時性」ステップ) FRをC3-C10に積みます。

   8.  FR is encrypted to produce FRE.

8. FRは、FREを生産するためにコード化されます。

   9.  FRE is xored with the first 8 octets of the given plaintext, now
       that we have finished encrypting the 10 octets of prefixed data.
       This produces C11-C18, the next 8 octets of ciphertext.

9. FREは与えられた平文の最初の8つの八重奏でxoredされます、私たちが、前に置かれたデータの10の八重奏をコード化し終えたので。 これはC11-C18、暗号文の次の8つの八重奏を起こします。

   10.  FR is loaded with C11-C18

10. FRをC11-C18に積みます。

   11.  FR is encrypted to produce FRE.

11. FRは、FREを生産するためにコード化されます。

   12.  FRE is xored with the next 8 octets of plaintext, to produce the
       next 8 octets of ciphertext.  These are loaded into FR and the
       process is repeated until the plaintext is used up.

12. FREは平文の次の8つの八重奏でxoredされて、暗号文の次の8つの八重奏を起こします。 これらはFRにロードされます、そして、平文が使いきられるまで、過程は繰り返されます。

13. Security Considerations

13. セキュリティ問題

   As with any technology involving cryptography, you should check the
   current literature to determine if any algorithms used here have been
   found to be vulnerable to attack.

どんな技術の意味ありげな暗号ならも、あなたは、何かここで使用されたアルゴリズムが攻撃するのにおいて傷つきやすいのがわかったかどうか決定するために現在の文学をチェックするべきです。

   This specification uses Public Key Cryptography technologies.
   Possession of the private key portion of a public-private key pair is
   assumed to be controlled by the proper party or parties.

この仕様はPublic Key Cryptography技術を使用します。 1公共の秘密鍵組の秘密鍵一部の所有物は適切なパーティーかパーティーによって制御されると思われます。

   Certain operations in this specification involve the use of random
   numbers.  An appropriate entropy source should be used to generate
   these numbers.  See RFC 1750.

この仕様に基づく、ある操作は乱数の使用にかかわります。 適切なエントロピーソースは、これらの数を発生させるのに使用されるべきです。 RFC1750を見てください。

Callas, et. al.             Standards Track                    [Page 59]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[59ページ]。

   The MD5 hash algorithm has been found to have weaknesses (pseudo-
   collisions in the compress function) that make some people deprecate
   its use.  They consider the SHA-1 algorithm better.

MD5細切れ肉料理アルゴリズムは何人かの人々が使用を非難する弱点(湿布機能における疑似衝突)を持っているのがわかりました。 彼らは、SHA-1アルゴリズムが、より良いと考えます。

   Many security protocol designers think that it is a bad idea to use a
   single key for both privacy (encryption) and integrity (signatures).
   In fact, this was one of the motivating forces behind the V4 key
   format with separate signature and encryption keys. If you as an
   implementor promote dual-use keys, you should at least be aware of
   this controversy.

多くのセキュリティプロトコルデザイナーが、プライバシー(暗号化)と保全(署名)の両方に単一のキーを使用するのが、悪い考えであると考えます。 事実上、これは別々の署名と暗号化キーがあるV4の主要な形式の後ろの原動力の1つでした。 作成者としてのあなたが二元的な使用キーを促進するなら、あなたはこの論争を少なくとも意識しているべきです。

   The DSA algorithm will work with any 160-bit hash, but it is
   sensitive to the quality of the hash algorithm, if the hash algorithm
   is broken, it can leak the secret key. The Digital Signature Standard
   (DSS) specifies that DSA be used with SHA-1.  RIPEMD-160 is
   considered by many cryptographers to be as strong. An implementation
   should take care which hash algorithms are used with DSA, as a weak
   hash can not only allow a signature to be forged, but could leak the
   secret key. These same considerations about the quality of the hash
   algorithm apply to Elgamal signatures.

細切れ肉料理アルゴリズムが壊れているなら細切れ肉料理アルゴリズムの品質に敏感である、DSAアルゴリズムはどんな160ビットの細切れ肉料理でも利くでしょうが、それは秘密鍵を漏らすことができます。 デジタル署名基準(DSS)は、DSAがSHA-1と共に使用されると指定します。 RIPEMD-160が同じくらい強いと多くの暗号使用者によって考えられます。 実現は、どれがアルゴリズムを論じ尽くすかが、薄い細切れ肉料理が、署名が鍛造されるのを許容できるだけではなくてDSAと共に使用されますが、秘密鍵を漏らすかもしれないことに注意するべきです。 細切れ肉料理アルゴリズムの品質に関するこれらの同じ問題はElgamal署名に適用されます。

   If you are building an authentication system, the recipient may
   specify a preferred signing algorithm. However, the signer would be
   foolish to use a weak algorithm simply because the recipient requests
   it.

あなたが認証システムを構築しているなら、受取人は都合のよい調印アルゴリズムを指定するかもしれません。 しかしながら、署名者は、単に受取人がそれを要求するので弱いアルゴリズムを使用するために愚かでしょう。

   Some of the encryption algorithms mentioned in this document have
   been analyzed less than others.  For example, although CAST5 is
   presently considered strong, it has been analyzed less than Triple-
   DES. Other algorithms may have other controversies surrounding them.

本書では言及された暗号化アルゴリズムのいくつかが他のものほど分析されていません。 例えば、CAST5が現在強いと考えられますが、それはTriple- DESほど分析されていません。 他のアルゴリズムには、それらを囲む他の論争があるかもしれません。

   Some technologies mentioned here may be subject to government control
   in some countries.

ここに言及されたいくつかの技術がいくつかの国での公共的支配を受けることがあるかもしれません。

14. Implementation Nits

14. 実現夜

   This section is a collection of comments to help an implementer,
   particularly with an eye to backward compatibility. Previous
   implementations of PGP are not OpenPGP-compliant. Often the
   differences are small, but small differences are frequently more
   vexing than large differences. Thus, this list of potential problems
   and gotchas for a developer who is trying to be backward-compatible.

このセクションは特に目のimplementerを後方の互換性に助けるコメントの収集です。 PGPの前の実現はOpenPGP対応しません。 しばしば、違いは小さいのですが、小さい違いは頻繁に大きな違いより多くの困らせることです。 その結果、互換性があるのを後方の試みている開発者のための潜在的な問題とgotchasのこのリスト。

     * PGP 5.x does not accept V4 signatures for anything other than
       key material.

* PGP 5.xは主要な材料以外の何のためのもV4署名も受け入れません。

     * PGP 5.x does not recognize the "five-octet" lengths in new-format
       headers or in signature subpacket lengths.

* PGP 5.xは新しい形式ヘッダーか署名「副-パケット」の長さにおける「5八重奏」の長さを認識しません。

Callas, et. al.             Standards Track                    [Page 60]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[60ページ]。

     * PGP 5.0 rejects an encrypted session key if the keylength differs
       from the S2K symmetric algorithm. This is a bug in its validation
       function.

* keylengthがS2Kの左右対称のアルゴリズムと異なっているなら、PGP5.0はコード化されたセッションキーを拒絶します。 これは合法化機能でバグです。

     * PGP 5.0 does not handle multiple one-pass signature headers and
       trailers. Signing one will compress the one-pass signed literal
       and prefix a V3 signature instead of doing a nested one-pass
       signature.

* PGP5.0は複数の1パスの署名ヘッダーとトレーラを扱いません。 調印1は、文字通りでサインされた1パスを圧縮して、入れ子にされた1パスの署名をすることの代わりにV3署名を前に置くでしょう。

     * When exporting a private key, PGP 2.x generates the header "BEGIN
       PGP SECRET KEY BLOCK" instead of "BEGIN PGP PRIVATE KEY BLOCK".
       All previous versions ignore the implied data type, and look
       directly at the packet data type.

* 秘密鍵を輸出するとき、PGP 2.xはヘッダー「PGP秘密鍵ブロックを始めてください」の代わりに「PGP秘密のキー・ブロックを始めてください」を発生させます。 すべての旧バージョンが、暗示しているデータ型を無視して、直接パケットデータ型を見ます。

     * In a clear-signed signature, PGP 5.0 will figure out the correct
       hash algorithm if there is no "Hash:" header, but it will reject
       a mismatch between the header and the actual algorithm used. The
       "standard" (i.e. Zimmermann/Finney/et al.) version of PGP 2.x
       rejects the "Hash:" header and assumes MD5. There are a number of
       enhanced variants of PGP 2.6.x that have been modified for SHA-1
       signatures.

* はっきりとサインされた署名では、PGP5.0は、そこであるなら正しい細切れ肉料理アルゴリズムがいいえが「以下を論じ尽くす」ということであることを理解するでしょう。 ヘッダー、それだけがヘッダーと使用される実際のアルゴリズムの間のミスマッチを拒絶するでしょう。 PGP 2.x廃棄物の「標準(すなわち、Zimmermann/フィニー/他)」のバージョン、「細切れ肉料理:」 そして、ヘッダー、MD5であると仮定します。 SHA-1署名のために変更されたPGP 2.6.xの多くの高められた異形があります。

     * PGP 5.0 can read an RSA key in V4 format, but can only recognize
       it with a V3 keyid, and can properly use only a V3 format RSA
       key.

* PGP5.0はV4形式で主要なRSAを読むことができます、V3 keyidと共にそれを認識できるだけであって、適切にV3形式RSAキーだけを使用できるのを除いて。

     * Neither PGP 5.x nor PGP 6.0 recognize Elgamal Encrypt and Sign
       keys. They only handle Elgamal Encrypt-only keys.

* PGP 5.xもPGP6.0もElgamal EncryptとSignキーを認識しません。 彼らはElgamal Encryptだけキーを扱うだけです。

     * There are many ways possible for two keys to have the same key
       material, but different fingerprints (and thus key ids). Perhaps
       the most interesting is an RSA key that has been "upgraded" to V4
       format, but since a V4 fingerprint is constructed by hashing the
       key creation time along with other things, two V4 keys created at
       different times, yet with the same key material will have
       different fingerprints.

* 2個のキーには同じ主要な物質的な、しかし、異なった指紋(そして、その結果、主要なイド)があるのにおいて可能な多くの道があります。 恐らく最もおもしろいのが、V4形式に「アップグレードした」RSAキーですが、V4指紋が他のものに伴う主要な創造時間を論じ尽くすことによって組み立てられるので、V4キーがいろいろな時間にまだ同じ主要な材料で作成した2は異なった指紋を持つでしょう。

     * If an implementation is using zlib to interoperate with PGP 2.x,
       then the "windowBits" parameter should be set to -13.

* 実現がPGP 2.xと共に共同利用するのにzlibを使用しているなら、「windowBits」パラメタは-13に設定されるべきです。

Callas, et. al.             Standards Track                    [Page 61]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[61ページ]。

15. Authors and Working Group Chair

15. 作者とワーキンググループ議長

   The working group can be contacted via the current chair:

現在のいすを通してワーキンググループに連絡できます:

   John W. Noerenberg, II
   Qualcomm, Inc
   6455 Lusk Blvd
   San Diego, CA 92131 USA

ジョンW.Noerenberg、IIクアルコム、Inc6455ラスク・Blvdサンディエゴ、カリフォルニア92131米国

   Phone: +1 619-658-3510
   EMail: jwn2@qualcomm.com

以下に電話をしてください。 +1 619-658-3510 メールしてください: jwn2@qualcomm.com

   The principal authors of this memo are:

このメモの共著の中心となる著者は以下の通りです。

   Jon Callas
   Network Associates, Inc.
   3965 Freedom Circle
   Santa Clara, CA 95054, USA

ジョンカラネットワークは円のサンタクララ、Inc.3965Freedomカリフォルニア 95054、米国を関連づけます。

   Phone: +1 408-346-5860
   EMail: jon@pgp.com, jcallas@nai.com

以下に電話をしてください。 +1 408-346-5860 メールしてください: jon@pgp.com 、jcallas@nai.com

   Lutz Donnerhacke
   IKS GmbH
   Wildenbruchstr. 15
   07745 Jena, Germany

ルッツDonnerhacke IKS GmbH Wildenbruchstr。 15 07745イエナ(ドイツ)

   Phone: +49-3641-675642
   EMail: lutz@iks-jena.de

以下に電話をしてください。 +49-3641-675642はメールされます: lutz@iks-jena.de

   Hal Finney
   Network Associates, Inc.
   3965 Freedom Circle
   Santa Clara, CA 95054, USA

ハルフィニーネットワークは円のサンタクララ、Inc.3965Freedomカリフォルニア 95054、米国を関連づけます。

   EMail: hal@pgp.com

メール: hal@pgp.com

   Rodney Thayer
   EIS Corporation
   Clearwater, FL 33767, USA

ロドニー・セイヤー・EIS社のクリアウォーター、フロリダ 33767、米国

   EMail: rodney@unitran.com

メール: rodney@unitran.com

Callas, et. al.             Standards Track                    [Page 62]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[62ページ]。

   This memo also draws on much previous work from a number of other
   authors who include: Derek Atkins, Charles Breed, Dave Del Torto,
   Marc Dyksterhouse, Gail Haspert, Gene Hoffman, Paul Hoffman, Raph
   Levien, Colin Plumb, Will Price, William Stallings, Mark Weaver, and
   Philip R. Zimmermann.

また、このメモはである:多くの他の作者から前の多くの仕事を利用します。 デリック・アトキンス、チャールズBreed、デーヴデルTorto、マークDyksterhouse、ゲイルHaspert、Geneホフマン、ポール・ホフマン、Raphレヴィエン、垂直なコリンウィルPrice、ウィリアムStallingsはウィーバー、およびフィリップR.Zimmermannをマークします。

16. References

16. 参照

   [BLEICHENBACHER] Bleichenbacher, Daniel, "Generating ElGamal
                    signatures without knowing the secret key,"
                    Eurocrypt 96.  Note that the version in the
                    proceedings has an error.  A revised version is
                    available at the time of writing from
                    <ftp://ftp.inf.ethz.ch/pub/publications/papers/ti/isc
                    /ElGamal.ps>

[BLEICHENBACHER] Bleichenbacher、ダニエル、「秘密鍵を知らないで、ElGamal署名を発生させます」、Eurocrypt96。 議事におけるバージョンには誤りがあることに注意してください。 改訂版は<ftp://ftp.inf.ethz.ch/パブ/刊行物/書類/ti/isc/ElGamal.ps>から書く時点で、利用可能です。

   [BLOWFISH]       Schneier, B. "Description of a New Variable-Length
                    Key, 64-Bit Block Cipher (Blowfish)" Fast Software
                    Encryption, Cambridge Security Workshop Proceedings
                    (December 1993), Springer-Verlag, 1994, pp191-204

[BLOWFISH]シュナイアー、B.「新しい可変長のキー、64ビットのブロック暗号(フグ)の記述」Fast Software Encryption、ケンブリッジSecurity Workshop Proceedings(1993年12月)Springer-Verlag、1994、pp191-204

                    <http://www.counterpane.com/bfsverlag.html>

<http://www.counterpane.com/bfsverlag.html>。

   [DONNERHACKE]    Donnerhacke, L., et. al, "PGP263in - an improved
                    international version of PGP", ftp://ftp.iks-
                    jena.de/mitarb/lutz/crypt/software/pgp/

et[DONNERHACKE]Donnerhacke、L.、アル、「PGP263in--、PGPの改良された国際的なバージョン、」、 ftp://ftp.iks- jena.de/mitarb/lutz/crypt/software/pgp/

   [ELGAMAL]        T. ElGamal, "A Public-Key Cryptosystem and a
                    Signature Scheme Based on Discrete Logarithms," IEEE
                    Transactions on Information Theory, v. IT-31, n. 4,
                    1985, pp. 469-472.

[ELGAMAL]T.ElGamal、「公開カギ暗号系と署名は離散対数に基づいて計画する」情報Theory、vのIEEE Transactions。 IT-31、n。 4 1985、ページ 469-472.

   [IDEA]           Lai, X, "On the design and security of block
                    ciphers", ETH Series in Information Processing, J.L.
                    Massey (editor), Vol. 1, Hartung-Gorre Verlag
                    Knostanz, Technische Hochschule (Zurich), 1992

[IDEA]レイ、情報Processingの「ブロック暗号のデザインとセキュリティ」のX ETH Series、J.L.マッシー(エディタ)、Vol.1、ハルトゥング-Gorre Verlag Knostanz、Technische Hochschule(チューリッヒ)1992

   [ISO-10646]      ISO/IEC 10646-1:1993. International Standard --
                    Information technology -- Universal Multiple-Octet
                    Coded Character Set (UCS) -- Part 1: Architecture
                    and Basic Multilingual Plane.  UTF-8 is described in
                    Annex R, adopted but not yet published.  UTF-16 is
                    described in Annex Q, adopted but not yet published.

[ISO-10646]ISO/IEC10646-1:1993。 国際規格--情報技術--普遍的なMultiple-八重奏Coded文字コード(UCS)--第1部: 構造と基本多言語水準。 UTF-8はAnnex Rで説明されますが、採用されますが、まだ発行されていません。 UTF-16はAnnex Qで説明されますが、採用されますが、まだ発行されていません。

   [MENEZES]        Alfred Menezes, Paul van Oorschot, and Scott
                    Vanstone, "Handbook of Applied Cryptography," CRC
                    Press, 1996.

[メネゼス]アルフレッド・メネゼス、ポールバンOorschotとスコットVanstone、「適用された暗号のハンドブック」CRC Press、1996。

Callas, et. al.             Standards Track                    [Page 63]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[63ページ]。

   [RFC822]         Crocker, D., "Standard for the format of ARPA
                    Internet text messages", STD 11, RFC 822, August
                    1982.

[RFC822] クロッカー、D.、「ARPAインターネット・テキスト・メッセージの形式の規格」、STD11、RFC822、1982年8月。

   [RFC1423]        Balenson, D., "Privacy Enhancement for Internet
                    Electronic Mail: Part III: Algorithms, Modes, and
                    Identifiers", RFC 1423, October 1993.

[RFC1423]Balenson、D.、「インターネット電子メールのためのプライバシー増進:」 パートIII: 「アルゴリズム、モード、および識別子」、RFC1423、10月1993日

   [RFC1641]        Goldsmith, D. and M. Davis, "Using Unicode with
                    MIME", RFC 1641, July 1994.

[RFC1641] ゴールドスミスとD.とM.デイヴィス、「MIMEがあるユニコードを使用します」、RFC1641、1994年7月。

   [RFC1750]        Eastlake, D., Crocker, S. and J. Schiller,
                    "Randomness Recommendations for Security", RFC 1750,
                    December 1994.

[RFC1750] イーストレークとD.とクロッカーとS.とJ.シラー、「セキュリティのための偶発性推薦」、RFC1750、1994年12月。

   [RFC1951]        Deutsch, P., "DEFLATE Compressed Data Format
                    Specification version 1.3.", RFC 1951, May 1996.

ドイツ語、[RFC1951]P.、「DEFLATE Compressed Data Format Specificationバージョン1.3」 1996年5月のRFC1951。

   [RFC1983]        Malkin, G., "Internet Users' Glossary", FYI 18, RFC
                    1983, August 1996.

[RFC1983] マルキン、G.、「インターネットユーザの用語集」、FYI18、RFC1983、1996年8月。

   [RFC1991]        Atkins, D., Stallings, W. and P. Zimmermann, "PGP
                    Message Exchange Formats", RFC 1991, August 1996.

[RFC1991] アトキンスとD.とストーリングズとW.とP.Zimmermann、「PGP交換処理形式」、RFC1991、1996年8月。

   [RFC2015]        Elkins, M., "MIME Security with Pretty Good Privacy
                    (PGP)", RFC 2015, October 1996.

[RFC2015]エルキンズ、M.、「プリティ・グッド・プライバシ(PGP)があるMIMEセキュリティ」、RFC2015、1996年10月。

   [RFC2231]        Borenstein, N. and N. Freed, "Multipurpose Internet
                    Mail Extensions (MIME) Part One: Format of Internet
                    Message Bodies.", RFC 2231, November 1996.

解放された[RFC2231]Borenstein、N.、およびN.、「マルチパーパスインターネットメールエクステンション(MIME)は1つを分けます」。 「インターネットメッセージ本体の形式」、RFC2231、11月1996日

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

[RFC2119] ブラドナー、S.、「Indicate Requirement LevelへのRFCsにおける使用のためのキーワード」、BCP14、RFC2119、1997年3月。

   [RFC2144]        Adams, C., "The CAST-128 Encryption Algorithm", RFC
                    2144, May 1997.

[RFC2144]アダムス(C.、「キャスト-128暗号化アルゴリズム」、RFC2144)は1997がそうするかもしれません。

   [RFC2279]        Yergeau., F., "UTF-8, a transformation format of
                    Unicode and ISO 10646", RFC 2279, January 1998.

[RFC2279]Yergeau、1998年1月のF.、「UTF-8、ユニコードとISO10646の変化形式」RFC2279。

   [RFC2313]        Kaliski, B., "PKCS #1: RSA Encryption Standard
                    version 1.5", RFC 2313, March 1998.

[RFC2313]Kaliski、B.、「PKCS#1:」 RSA Encryption Standard、バージョン1.5インチ、RFC2313、3月1998日

   [SAFER]          Massey, J.L. "SAFER K-64: One Year Later", B.
                    Preneel, editor, Fast Software Encryption, Second
                    International Workshop (LNCS 1008) pp212-241,
                    Springer-Verlag 1995

[より安全]のマッシー、J.L.、「より安全なK-64:」 「1つのYear Later」、B.Preneel、エディタ、Fast Software Encryption、Secondの国際Workshop(LNCS1008)pp212-241、Springer-Verlag1995

Callas, et. al.             Standards Track                    [Page 64]

RFC 2440                 OpenPGP Message Format            November 1998

etカラス、アル。 規格はOpenPGPメッセージ・フォーマット1998年11月にRFC2440を追跡します[64ページ]。

17.  Full Copyright Statement

17. 完全な著作権宣言文

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

Copyright(C)インターネット協会(1998)。 All rights reserved。

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

それに関するこのドキュメントと翻訳は、コピーして、それが批評するか、またはそうでなければわかる他のもの、および派生している作品に提供するか、または準備されているかもしれなくて、コピーされて、発行されて、全体か一部広げられた実現を助けるかもしれません、どんな種類の制限なしでも、上の版権情報とこのパラグラフがそのようなすべてのコピーと派生している作品の上に含まれていれば。 しかしながら、このドキュメント自体は何らかの方法で変更されないかもしれません、インターネット協会か他のインターネット組織の版権情報か参照を取り除くのなどように、それを英語以外の言語に翻訳するのが著作権のための手順がインターネットStandardsの過程で定義したどのケースに従わなければならないか、必要に応じてさもなければ、インターネット標準を開発する目的に必要であるのを除いて。

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

上に承諾された限られた許容は、永久であり、インターネット協会、後継者または案配によって取り消されないでしょう。

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS 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.

このドキュメントとそして、「そのままで」という基礎とインターネットの振興発展を目的とする組織に、インターネット・エンジニアリング・タスク・フォースが速達の、または、暗示しているすべての保証を放棄するかどうかというここにことであり、他を含んでいて、含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。

Callas, et. al.             Standards Track                    [Page 65]

etカラス、アル。 標準化過程[65ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

CalendarList

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る