Synch with No Gnus (201012062236).
[elisp/gnus-doc-ja.git] / pgg-ja.texi
index ec00560..a840875 100644 (file)
@@ -1,34 +1,50 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename pgg-ja
+@settitle PGG @value{VERSION}
+@iftex
+@firstparagraphindent insert
+@end iftex
 
 @set VERSION 0.1
 
-
 @copying
-This file describes the PGG.
+\e$B$3$N%U%!%$%k$OMM!9$J\e(B PGP \e$B$N<BAu$X$N\e(B Emacs \e$B%$%s%?!<%U%'!<%9$G$"$k\e(B PGG
+@value{VERSION} \e$B$r@bL@$7$^$9!#\e(B
 
-Copyright (C) 2003 Free Software Foundation, Inc.
-Copyright (C) 2001 Daiki Ueno.
+Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
+Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
+and with the Back-Cover Texts as in (a) below.  A copy of the license
+is included in the section entitled ``GNU Free Documentation License''.
+
+\e$B$3$NJ8=q$r!"%U%j!<%=%U%H%&%'%":bCDH/9T$N\e(B GNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q\e(B
+\e$BBh\e(B 1.3 \e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9\e(B
+\e$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,$O;XDj$7$^$;$s!#!H\e(BA GNU Manual\e$B!I$OI=I=;f\e(B
+\e$B%F%-%9%H!"0J2<$N\e(B (a) \e$B$ON"I=;f%F%-%9%H$G$9!#$3$NMxMQ5vBz7@Ls=q$NJ#<L$O\e(B
+\e$B!V\e(BGNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F$$$^$9!#\e(B
+
+(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
+modify this GNU manual.  Buying copies from the FSF supports it in
+developing GNU and promoting software freedom.''
+
+(a) FSF \e$B$NN"I=;f%F%-%9%H\e(B:\e$B!V$"$J$?$K$O$3$N\e(B GNU Manual \e$B$rJ#@=$7$?$jJQ99$9\e(B
+\e$B$k<+M3$,$"$j$^$9!#\e(BFSF \e$B$+$i$NJ#<L$N9XF~$O\e(B GNU \e$B$N3+H/$H%=%U%H%&%'%"$N<+M3\e(B
+\e$B$NB%?J$r;Y1g$7$^$9!#!W\e(B
 @end quotation
 @end copying
 
 @dircategory Emacs
 @direntry
-* PGG: (pgg-ja).                Emacs interface to various PGP implementations.
+* PGG-ja: (pgg-ja).             Emacs interface to various PGP
+                                  implementations (Japanese).
 @end direntry
 
-@settitle PGG @value{VERSION}
-
-
 @titlepage
 @title PGG
 
@@ -38,66 +54,84 @@ Free Documentation License''.
 @vskip 0pt plus 1filll
 @insertcopying
 @end titlepage
-@page
+
+@contents
 
 @node Top
 @top PGG
-This manual describes PGG.  PGG is an interface library between Emacs
-and various tools for secure communication.  PGG also provides a simple
-user interface to encrypt, decrypt, sign, and verify MIME messages.
+
+PGG \e$B$O!"0BA4$JDL?.$N$?$a$NMM!9$J%D!<%k$H\e(B Emacs \e$B$NCg$r<h$j;}$D%i%$%V%i%j!<\e(B
+\e$B$G$9!#$^$?!"\e(BPGG \e$B$O\e(B MIME \e$B%a%C%;!<%8$N0E9f2=$H2rFI!"$=$l$K=pL>$H8!>Z$N$?$a\e(B
+\e$B$NC1=c$J%f!<%6!<%$%s%?%U%'!<%9$bDs6!$7$^$9!#\e(B
+
+@ifnottex
+@insertcopying
+@end ifnottex
 
 @menu
-* Overview::                    What PGG is.
-* Prerequisites::               Complicated stuff you may have to do.
-* How to use::                  Getting started quickly.
+* Overview::                    PGG \e$B$H$O\e(B
+* Prerequisites::               \e$B$"$i$+$8$a$7$F$*$/$Y$-J#;($J;vJA\e(B
+* How to use::                  \e$B$H$C$H$H;H$$;O$a$h$&\e(B
 * Architecture::                
 * Parsing OpenPGP packets::     
+* GNU Free Documentation License:: \e$B$3$NJ8=q$NMxMQ5vBz7@Ls=q\e(B
 * Function Index::              
 * Variable Index::              
 @end menu
 
 @node Overview
-@chapter Overview
+@chapter \e$B35MW\e(B
 
-PGG is an interface library between Emacs and various tools for secure
-communication.  Even though Mailcrypt has similar feature, it does not
-deal with detached PGP messages, normally used in PGP/MIME
-infrastructure.  This was the main reason why I wrote the new library.
+PGG \e$B$O!"0BA4$JDL?.$N$?$a$NMM!9$J%D!<%k$H\e(B Emacs \e$B$NCg$r<h$j;}$D%i%$%V%i%j!<\e(B
+\e$B$G$9!#F1MM$N5!G=$O\e(B Mailcrypt \e$B$b;}$C$F$$$^$9$,!"\e(BMailcrypt \e$B$O\e(B PGP/MIME \e$B$N\e(B
+\e$B%$%s%U%i$GDL>oMQ$$$i$l$kJ,N%$5$l$?\e(B PGP \e$B%a%C%;!<%8$r<h$j07$&$3$H$,$G$-$^\e(B
+\e$B$;$s!#$3$l$,!";d\e(B (\e$B:n<T\e(B) \e$B$,?7$7$$%i%$%V%i%j!<$r=q$$$?<g$JM}M3$G$9!#\e(B
 
-PGP/MIME is an application of MIME Object Security Services (RFC1848).
-The standard is documented in RFC2015.
+PGP/MIME \e$B$O\e(B MIME Object Security Services (RFC1848) \e$B$N<BAu$G$9!#$=$NI8=`\e(B
+\e$B$O\e(B RFC2015 \e$B$G5-=R$5$l$F$$$^$9!#\e(B
 
 @node Prerequisites
-@chapter Prerequisites
+@chapter \e$BI,MW>r7o\e(B
+
+PGG \e$B$r;H$&$?$a$K$O!">/$J$/$H$b0l$D$N%W%i%$%P%7!<J]8n%7%9%F%`$N<BAu$,I,MW\e(B
+\e$B$G$9!#$3$N%^%K%e%"%k$O!"$=$N$h$&$J%W%m%0%i%`$r$9$G$K<hF@!"%$%s%9%H!<%k$7\e(B
+\e$B$F$$$F!"4pK\E*$J;H$$J}$rCN$C$F$$$k$3$H$rA[Dj$7$F$$$^$9!#\e(B
+
+\e$B%G%#%U%)%k%H$G$O\e(B PGG \e$B$O\e(B GnuPG \e$B$r;H$$$^$9!#$=$N$h$&$J%7%9%F%`$K47$l$F$$$J\e(B
+\e$B$$$N$G$"$l$P!"\e(B@uref{http://www.gnupg.org/documentation/} \e$B$K$"$k\e(B GNU
+Privacy Handbook (GPH) \e$B$KL\$rDL$9$3$H$r4+$a$^$9!#\e(B
 
-PGG requires at least one implementation of privacy guard system.
-This document assumes that you have already obtained and installed them
-and that you are familiar with its basic functions.
+GnuPG \e$B$r;H$&>l9g$K$O\e(B @code{gpg-agent} \e$B$NMxMQ$r?d>)$7$^$9!#$=$l$O%P!<%8%g\e(B
+\e$B%s\e(B 2.0 \e$B0J9_$N\e(B GnuPG \e$B$H$H$b$KG[I[$5$l$F$$$^$9!#$3$l$O!"$I$s$J%W%m%H%3%k$r\e(B
+\e$B;H$&$+$H$OL54X78$KHkL)80$r4IM}$9$k%G!<%b%s$G!"%Q%9%U%l!<%:$rF~NO$7$F%-%c%C\e(B
+\e$B%7%e$9$k$?$a$N:G$b0BA4$J<jCJ$rDs6!$7$^$9\e(B (@pxref{Caching passphrase})\e$B!#\e(B
+\e$B$=$l$,2TF/$7$F$$$k>l9g!"\e(BPGG \e$B$O%G%#%U%)%k%H$G\e(B @code{gpg-agent} \e$B$r;H$*$&$H\e(B
+\e$B$7$^$9!#\e(B@xref{Invoking GPG-AGENT,,,gnupg,Using the GNU Privacy Guard}.
 
-By default, PGG uses GnuPG, but Pretty Good Privacy version 2 or version
-5 are also supported.  If you are new to such a system, I recommend that
-you should look over the GNU Privacy Handbook (GPH) which is available
-at @uref{http://www.gnupg.org/gph/}.
+PGG \e$B$O\e(B Pretty Good Privacy \e$B%P!<%8%g%s\e(B 2 \e$B$^$?$O%P!<%8%g%s\e(B 5 \e$B$b%5%]!<%H$7\e(B
+\e$B$^$9!#\e(B
 
 @node How to use
-@chapter How to use
+@chapter \e$B;H$$J}\e(B
 
-The toplevel interface of this library is quite simple, and only
-intended to use with public-key cryptographic operation.
+\e$B$3$N%i%$%V%i%j!<$N:G>e0L%$%s%?%U%'!<%9$O$H$F$bC1=c$G!"8x3+80$K$h$k0E9f$N\e(B
+\e$BA`:n$N$_$rA[Dj$7$F$$$^$9!#\e(B
 
-To use PGG, evaluate following expression at the beginning of your
-application program.
+PGG \e$B$r;H$&$?$a$K$O!"%"%W%j%1!<%7%g%s%W%m%0%i%`$NKAF,$G<!$N\e(B S \e$B<0$rI>2A$7\e(B
+\e$B$F$/$@$5$$!#\e(B
 
 @lisp
 (require 'pgg)
 @end lisp
 
-If you want to check existence of pgg.el at runtime, instead you can
-list autoload setting for desired functions as follows.
+\e$B<B9T;~$K\e(B pgg.el \e$B$NB8:_$r3NG'$7$?$$$J$i!">e5-$NJ}K!$G$O$J$/0J2<$N$h$&$K!"\e(B
+\e$BI,MW$J5!G=$N\e(B autoload \e$B$r@_Dj$9$k$3$H$b$G$-$^$9!#\e(B
 
 @lisp
 (autoload 'pgg-encrypt-region "pgg"
   "Encrypt the current region." t)
+(autoload 'pgg-encrypt-symmetric-region "pgg"
+  "Encrypt the current region with symmetric algorithm." t)
 (autoload 'pgg-decrypt-region "pgg"
   "Decrypt the current region." t)
 (autoload 'pgg-sign-region "pgg"
@@ -114,150 +148,227 @@ list autoload setting for desired functions as follows.
 * User Commands::               
 * Selecting an implementation::  
 * Caching passphrase::          
-* Default user identity::      
+* Default user identity::       
 @end menu
 
 @node User Commands
-@section User Commands
-
-At this time you can use some cryptographic commands.  The behavior of
-these commands relies on a fashion of invocation because they are also
-intended to be used as library functions.  In case you don't have the
-signer's public key, for example, the function @code{pgg-verify-region}
-fails immediately, but if the function had been called interactively, it
-would ask you to retrieve the signer's public key from the server.
-
-@deffn Command pgg-encrypt-region start end recipients &optional sign
-Encrypt the current region between @var{start} and @var{end} for
-@var{recipients}.  When the function were called interactively, you
-would be asked about the recipients.
-
-If encryption is successful, it replaces the current region contents (in
-the accessible portion) with the resulting data.
-
-If optional argument @var{sign} is non-@code{nil}, the function is
-request to do a combined sign and encrypt.  This currently only work
-with GnuPG.
+@section \e$B%f!<%6!<%3%^%s%I\e(B
+
+\e$B$3$N;~E@$G!"$$$/$D$+$N0E9f$K4X$9$k%3%^%s%I$r;H$&$3$H$,$G$-$^$9!#$3$l$i$N\e(B
+\e$B%3%^%s%I$N5sF0$O5/F0J}K!$K0MB8$7$^$9!#$3$l$i$N%3%^%s%I$O!"%i%$%V%i%j!<4X\e(B
+\e$B?t$H$7$FMxMQ$5$l$k$3$H$b$"$k$+$i$G$9!#Nc$($P!"$"$J$?$,$"$k=pL><T$N8x3+80\e(B
+\e$B$r;}$C$F$$$J$$$H\e(B @code{pgg-verify-region} \e$B$H$$$&4X?t$OB(:B$K<:GT$7$^$9$,!"\e(B
+\e$B$3$l$,BPOCE*$K8F$S=P$5$l$?>l9g$K$O!"%5!<%P!<$+$i8x3+80$r%@%&%s%m!<%I$9$k\e(B
+\e$B$+$I$&$+$r$"$J$?$K?R$M$^$9!#\e(B
+
+@deffn Command pgg-encrypt-region start end recipients &optional sign passphrase
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r\e(B @var{recipients} \e$B08$KAw$k$b$N$H$7\e(B
+\e$B$F0E9f2=$7$^$9!#BPOCE*$K8F$V$H!"<u?.<T$r?R$M$^$9!#\e(B
+
+\e$B0E9f2=$K@.8y$9$k$H!"8=:_$NNN0h$NFbMF$r0E9f2=$7$?%G!<%?$GCV$-49$($^$9!#\e(B
+
+\e$B%*%W%7%g%s0z?t\e(B @var{sign} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"=pL>$H0E9f2=$rF1;~\e(B
+\e$B$K9T$J$$$^$9!#8=:_$3$N5!G=$O\e(B GnuPG \e$B$GF0:n$9$k$3$H$,3NG'$5$l$F$$$^$9$,!"\e(B
+PGP \e$B$d\e(B PGP5 \e$B$G$OF0:n$7$J$$$+$b$7$l$^$;$s!#\e(B
+
+\e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
+\e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
+\e$B$rF@$^$9!#\e(B
 @end deffn
 
-@deffn Command pgg-decrypt-region start end
-Decrypt the current region between @var{start} and @var{end}.  If
-decryption is successful, it replaces the current region contents (in
-the accessible portion) with the resulting data.
+@deffn Command pgg-encrypt-symmetric-region &optional start end passphrase
+\e$B8=:_$N\e(B @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r!"6&DL800E9f\e(B (symmetric
+cipher) \e$B$G0E9f2=$7$^$9!#8F$S=P$7$?8e$G%Q%9%U%l!<%:$,?R$M$i$l$^$9!#\e(B
+
+\e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
+\e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
+\e$B$rF@$^$9!#\e(B
+
+\e$B6&DL800E9f$K$h$k0E9f2=$O!"8=:_\e(B GnuPG \e$B$@$1$G<BAu$5$l$F$$$^$9!#\e(B
 @end deffn
 
-@deffn Command pgg-sign-region start end &optional cleartext
-Make the signature from text between @var{start} and @var{end}.  If the
-optional third argument @var{cleartext} is non-@code{nil}, or the
-function is called interactively, it does not create a detached
-signature.  In such a case, it replaces the current region contents (in
-the accessible portion) with the resulting data.
+@deffn Command pgg-decrypt-region start end &optional passphrase
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r2rFI$7$^$9!#2rFI$K@.8y$9$k$H!"8=:_\e(B
+\e$B$NNN0h$NFbMF$r2rFI$7$?%G!<%?$GCV$-49$($^$9!#\e(B
+
+\e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
+\e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
+\e$B$rF@$^$9!#\e(B
+@end deffn
+
+@deffn Command pgg-sign-region start end &optional cleartext passphrase
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$N%F%-%9%H$K=pL>$7$^$9!#;0HVL\$N%*%W%7%g%s\e(B
+\e$B0z?t\e(B @var{cleartext} \e$B$,\e(B @code{nil} \e$B$G$O$J$$$+!"$"$k$$$OBPOCE*$K8F$P$l$?\e(B
+\e$B>l9g!"J,N%$5$l$?=pL>$r:n$j$^$;$s!#$=$N$h$&$J>l9g$K$O!"8=:_$NNN0h$NFbMF$r\e(B
+\e$B=pL>$7$?%G!<%?$GCV$-49$($^$9!#\e(B
+
+\e$B%*%W%7%g%s0z?t\e(B @var{passphrase} \e$B$,\e(B @code{nil} \e$B$@$C$?$i!"%Q%9%U%l!<%:$N\e(B
+\e$B%-%c%C%7%e$+$i$+!"$^$?$O%f!<%6!<$KF~NO$7$F$b$i$&$3$H$K$h$C$F%Q%9%U%l!<%:\e(B
+\e$B$rF@$^$9!#\e(B
 @end deffn
 
 @deffn Command pgg-verify-region start end &optional signature fetch
-Verify the current region between @var{start} and @var{end}.  If the
-optional third argument @var{signature} is non-@code{nil}, or the function
-is called interactively, it is treated as the detached signature of the
-current region.
-
-If the optional 4th argument @var{fetch} is non-@code{nil}, or the
-function is called interactively, we attempt to fetch the signer's
-public key from the key server.
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k=pL>$r8!>Z$7$^$9!#;0HVL\$N%*%W\e(B
+\e$B%7%g%s0z?t\e(B @var{signature} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"$=$N0z?t$O8=:_$N\e(B
+\e$BNN0h$NJ,N%$5$l$?=pL>$N%U%!%$%k$H$7$F<h$j07$o$l$^$9!#\e(B
+
+\e$B;MHVL\$N%*%W%7%g%s0z?t\e(B @var{fetch} \e$B$,\e(B @code{nil} \e$B$G$O$J$$$+!"$"$k$$$OBP\e(B
+\e$BOCE*$K8F$P$l$?>l9g!"8x3+80$r%5!<%P!<$+$i<hF@$7$^$9!#\e(B
 @end deffn
 
 @deffn Command pgg-insert-key
-Retrieve the user's public key and insert it as ASCII-armored format.
+\e$B%f!<%6!<$N8x3+80$r<hF@$7$F!"$=$l$r\e(B ASCII \e$BAu9C$N7A<0$GA^F~$7$^$9!#\e(B
 @end deffn
 
 @deffn Command pgg-snarf-keys-region start end
-Collect public keys in the current region between @var{start} and
-@var{end}, and add them into the user's keyring.
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k8x3+80$r=8$a!"%f!<%6!<$N80\e(B
+\e$BB+\e(B (keyring) \e$B$KDI2C$7$^$9!#\e(B
 @end deffn
 
 @node Selecting an implementation
-@section Selecting an implementation
-
-Since PGP has a long history and there are a number of PGP
-implementations available today, the function which each one has differs
-considerably.  For example, if you are using GnuPG, you know you can
-select cipher algorithm from 3DES, CAST5, BLOWFISH, and so on, but on
-the other hand the version 2 of PGP only supports IDEA.
-
-By default, if the variable @code{pgg-scheme} is not set, PGG searches the
-registered scheme for an implementation of the requested service
-associated with the named algorithm.  If there are no match, PGG uses
-@code{pgg-default-scheme}.  In other words, there are two options to
-control which command is used to process the incoming PGP armors.  One
-is for encrypting and signing, the other is for decrypting and
-verifying.
+@section \e$B$I$N<BAu$r;H$&$+\e(B
+
+PGP \e$B$ONr;K$,D9$/!":#$G$OB?$/$N<BAu$rMxMQ$9$k$3$H$,$G$-$k$N$G!"$=$l$>$l$,\e(B
+\e$B;}$C$F$$$k8D!9$N5!G=$,$:$$$V$s0[$J$C$F$$$k$3$H$,$"$j$^$9!#Nc$(\e(B
+\e$B$P\e(B GnuPG \e$B$r;H$C$F$$$k$N$J$i$P!"0E9f%"%k%4%j%:%`$H$7$F\e(B 3DES \e$B$d\e(B CAST5\e$B!"\e(B
+BLOWFISH \e$B$J$I$rA*$V$3$H$,$G$-$^$9$,!"\e(BPGP \e$B$N%P!<%8%g%s\e(B 2 \e$B$O\e(B IDEA \e$B$7$+%5%]!<\e(B
+\e$B%H$7$F$$$^$;$s!#\e(B
+
+\e$B$I$N<BAu$r;H$&$+$O\e(B @code{pgg-scheme} \e$BJQ?t$,@)8f$7$^$9!#\e(B@code{nil} \e$B$@$C$?\e(B
+\e$B$i\e(B (\e$B$=$l$,%G%#%U%)%k%H\e(B)\e$B!"Be$o$j$K\e(B @code{pgg-default-scheme} \e$BJQ?t$NCM$r;H\e(B
+\e$B$$$^$9!#\e(B
 
 @defvar pgg-scheme
-Force specify the scheme of PGP implementation for decrypting and verifying.
-The value can be @code{gpg}, @code{pgp}, and @code{pgp5}.
+\e$B$I$N\e(B PGP \e$B<BAu$rMQ$$$k$+$r6/@)$7$^$9!#@_Dj$G$-$k$N$O\e(B @code{gpg}\e$B!"\e(B
+@code{pgp} \e$B$*$h$S\e(B @code{pgp5} \e$B$N$I$l$+$G$9!#%G%#%U%)%k%H$O\e(B @code{nil} \e$B$G\e(B
+\e$B$9!#\e(B
 @end defvar
 
 @defvar pgg-default-scheme
-Force specify the scheme of PGP implementation for encrypting and signing.
-The value can be @code{gpg}, @code{pgp}, and @code{pgp5}.
+\e$B%G%#%U%)%k%H$N\e(B PGP \e$B<BAu$G$9!#CM$O\e(B @code{gpg}\e$B!"\e(B@code{pgp} \e$B$*$h\e(B
+\e$B$S\e(B @code{pgp5} \e$B$N$I$l$+$G$J$1$l$P$J$j$^$;$s!#%G%#%U%)%k%H\e(B
+\e$B$O\e(B @code{gpg} \e$B$G$9!#\e(B
 @end defvar
 
 @node Caching passphrase
-@section Caching passphrase
+@section \e$B%Q%9%U%l!<%:$r%-%c%C%7%e$9$k\e(B
+
+PGP \e$B<BAu$H$7$F\e(B GnuPG (gpg) \e$B$r;H$&$N$G$"$l$P!"%Q%9%U%l!<%:$NF~NO$H%-%c%C\e(B
+\e$B%7%e\e(B@footnote{@code{gpg-agent} \e$B$O<B:]$K$O%Q%9%U%l!<%:$G$O$J$/$FHkL)80$r\e(B
+\e$B%-%c%C%7%e$7$^$9!#0lJ}%f!<%6!<$N;kE@$+$i$O!"$3$N5;=QE*$J:90[$O8+$($^$;\e(B
+\e$B$s!#\e(B}\e$B$9$k$?$a$K\e(B @code{gpg-agent} \e$B$H$$$&%W%m%0%i%`$r;H$&$3$H$r?d>)$7$^$9!#\e(B
+
+@defvar pgg-gpg-use-agent
+@code{nil} \e$B$G$J$$CM$G$O!"2DG=$J>l9g$O>o$K$$$D$G$b\e(B @code{gpg-agent} \e$B$r;H\e(B
+\e$B$*$&$H$7$^$9!#%G%#%U%#%U%)%k%H$O\e(B @code{t} \e$B$G$9!#\e(B@code{gpg-agent} \e$B$,2TF/\e(B
+\e$B$7$F$$$J$$$+!"$^$?$O\e(B GnuPG \e$B$,8=:_$N\e(B PGP \e$B<BAu$H$7$FA*Br$5$l$F$$$J$$>l9g$O!"\e(B
+PGG \e$B<+?H$,;}$C$F$$$k%Q%9%U%l!<%:$r%-%c%C%7%e$9$k;EAH$_$,;H$o$l$^$9\e(B (\e$B2<5-\e(B
+\e$B;2>H\e(B)\e$B!#\e(B
+@end defvar
 
-PGG uses a simple passphrase caching mechanism, which is enabled by
-default.
+PGG \e$B$G\e(B @code{gpg-agent}\e$B$r;H$&$K$O!"Bh0l$K\e(B @code{gpg-agent} \e$B$,3N<B$K2TF/\e(B
+\e$B$7$F$$$k$h$&$K$7$F$/$@$5$$!#Nc$($P\e(B X Window System \e$B$rAv$i$;$F$$$k$N$G$"\e(B
+\e$B$l$P!"0J2<$N9T$r$"$J$?$N\e(B @file{.xsession} \e$B%U%!%$%k$KCV$/$3$H$K$h$C$F!"$=\e(B
+\e$B$l$r3N<B$K$9$k$3$H$,$G$-$^$9\e(B:
+
+@smallexample
+eval "$(gpg-agent --daemon)"
+@end smallexample
+
+@code{gpg-agent} \e$B$N5/F0$K4X$9$k$5$i$K>\$7$$$3$H$O!"\e(B@xref{Invoking
+GPG-AGENT,,,gnupg,Using the GNU Privacy Guard}.
+
+GnuPG \e$B$N%Q%9%U%l!<%:$rI,MW$H$9$k\e(B PGG \e$B$N5!G=$r<B9T$9$k$H$-$O$$$D$b!"\e(B
+GnuPG \e$B$O\e(B @code{gpg-agent} \e$B$H$d$j<h$j$r9T$J$$!"$=$l$O$"$J$?$K%Q%9%U%l!<%:\e(B
+\e$B$rF~NO$9$k$3$H$rMW5a$7$^$9!#$7$+$7\e(B @code{gpg-agent} \e$B$,$=$N7k2L$r!V%-%c%C\e(B
+\e$B%7%e!W$9$k$N$G!"<!2s0J9_$N<B9T$G$O:F$S%Q%9%U%l!<%:$NF~NO$OMW$j$^$;$s!#\e(B
+(\e$BDL>o$3$N%-%c%C%7%e$O0lDj;~4V7P2a8e$K4|8B@Z$l>C5n$5$l$^$9!#$3$l$rJQ99$9\e(B
+\e$B$k$K$O!"\e(B@code{gpg-agent} \e$B$r5/F0$9$k$H$-$K\e(B @code{--default-cache-ttl} \e$B%*\e(B
+\e$B%W%7%g%s$r;H$C$F$/$@$5$$!#\e(B)
+
+X Window System \e$B$N4D6-$G$O\e(B @code{gpg-agent} \e$B$O%Q%9%U%l!<%:$NF~NO$rMW5a$9\e(B
+\e$B$k$?$a$K%0%i%U%#%C%/$J%&%#%s%I%&$r3+$-$^$9!#$7$+$7J8;zC<Kv$G\e(B Emacs \e$B$r;H$C\e(B
+\e$B$F$$$k>l9g$O!"\e(B@code{gpg-agent} \e$B$OC<Kv$+$i$NF~NO$r<u$1<h$k>e$GLdBj$,$"$j\e(B
+\e$B$^$9!#$=$l$,\e(B Emacs \e$B$KAw$i$l$F$7$^$&$+$i$G$9!#$3$NLdBj$KBP=h$9$k$?$a$N;C\e(B
+\e$BDjE*$JBP:v$N$R$H$D$O!"\e(B@code{gpg-agent} \e$B$r\e(B @code{--keep-tty} \e$B%*%W%7%g%s$H\e(B
+\e$B$H$b$K\e(B Emacs \e$B$H$OJL$NC<Kv$GAv$i$;$k$3$H$G$9!#$3$l$O\e(B @code{gpg-agent} \e$B$K!"\e(B
+\e$B%Q%9%U%l!<%:$NF~NO$K$=$l<+?H$NC<Kv$r;H$&$h$&$K$5$;$^$9!#\e(B
+
+@code{gpg-agent} \e$B$r;H$o$J$$>l9g!"\e(BPGG \e$B$O\e(B Emacs \e$B$r2p$7$F%Q%9%U%l!<%:$NF~NO\e(B
+\e$B$rMW5a$7$^$9!#$3$l$K$O%Q%9%U%l!<%:$r%-%c%C%7%e$9$k;EAH$_$,$"$j!"$=$l$OJQ\e(B
+\e$B?t\e(B @code{pgg-cache-passphrase} \e$B$G@)8f$5$l$^$9\e(B (\e$B2<5-;2>H\e(B)\e$B!#\e(B
+
+@code{gpg-agent} \e$B$G$O$J$/\e(B PGG \e$B$G%Q%9%U%l!<%:$r07$&>l9g$K$O0BA4>e$N%j%9%/\e(B
+\e$B$,$"$j$^$9!#\e(BEmacs \e$B$NMW5a$K=>$C$F%Q%9%U%l!<%:$rF~NO$9$k$H!"$=$l$O0l;~E*\e(B
+\e$B$K\e(B Emacs \e$B$,<B9T$7$F$$$k%a%b%j!<$K\e(B cleartext \e$BJ8;zNs$H$7$F3JG<$5$l$^$9!#$b\e(B
+\e$B$7$=$N%a%b%j!<$,%G%#%9%/$H$N4V$G\e(B swap \e$B$5$l$k$H!"M}O@>e\e(B root \e$B%f!<%6!<$O%Q\e(B
+\e$B%9%U%l!<%:$r\e(B swap \e$B%U%!%$%k$+$iCj=P$9$k$3$H$,$G$-$^$9!#$=$N>e!"$=$N%7%9%F\e(B
+\e$B%`$,GQ4~$5$l$?$jEpFq$K2q$C$?8e$b!"$=$N\e(B cleartext \e$B$N%Q%9%U%l!<%:$,4^$^$l\e(B
+\e$B$F$$$k\e(B swap \e$B%U%!%$%k$O%G%#%9%/$K;D$C$F$$$k$+$b$7$l$J$$$N$G$9!#\e(B
+@code{gpg-agent} \e$B$O%a%b%j!<$r\e(B lock \e$B$9$k$h$&$J:v$r$b$C$F!"$3$NLdBj$r2sHr\e(B
+\e$B$7$F$$$^$9!#$=$l$O\e(B Emacs \e$B$K$O<BAu$5$l$F$$$^$;$s!#\e(B
 
 @defvar pgg-cache-passphrase
-If non-@code{nil}, store passphrases.  The default value of this
-variable is @code{t}.  If you were worry about security issue, however,
-you could stop caching with setting it @code{nil}.
+@code{nil} \e$B$G$J$1$l$P!"%Q%9%U%l!<%:$rJ];}$7$^$9!#=i4|CM$O\e(B @code{t} \e$B$G$9!#\e(B
+\e$B$7$+$7!"$"$J$?$,%;%-%e%j%F%#$K$D$$$F5$3]$+$j$J$i!"$3$NJQ?t\e(B
+\e$B$r\e(B @code{nil} \e$B$K@_Dj$9$k$3$H$K$h$C$F!"%Q%9%U%l!<%:$N%-%c%C%7%e$r$d$a$5$;\e(B
+\e$B$k$3$H$,$G$-$^$9!#\e(B
 @end defvar
 
 @defvar pgg-passphrase-cache-expiry
-Elapsed time for expiration in seconds.
+\e$B%Q%9%U%l!<%:$rJ];}$7$F$*$/;~4V$rIC$G;XDj$7$^$9!#\e(B
+@end defvar
+
+\e$B%Q%9%U%l!<%:$,Hs\e(B-ASCII \e$BJ8;z$r4^$s$G$$$k>l9g$O!"$=$l$r%(%s%3!<%I$9$k$?$a\e(B
+\e$B$N\e(B coding system \e$B$r;XDj$9$kI,MW$,$"$j$^$9!#\e(BGnuPG \e$B$O%Q%9%U%l!<%:$rJ8;zNs\e(B
+\e$B$H$7$F$G$O$J$/!"%P%$%HNs$H$7$F07$&$+$i$G$9!#\e(B
+
+@defvar pgg-passphrase-coding-system
+\e$B%Q%9%U%l!<%:$r%(%s%3!<%I$9$k$?$a$N\e(B coding system \e$B$G$9!#\e(B
 @end defvar
 
 @node Default user identity
-@section Default user identity
+@section \e$B%G%#%U%)%k%H$N%f!<%6!<\e(B ID
 
-The PGP implementation is usually able to select the proper key to use
-for signing and decryption, but if you have more than one key, you may
-need to specify the key id to use.
+\e$BDL>o\e(B PGP \e$B$N<BAu$O!"0E9f2=$*$h$SI|9f2=$K;H$&E,@Z$J80$rA*$V$3$H$,$G$-$^$9\e(B
+\e$B$,!"$"$J$?$,0l$D0J>e$N80$r;}$C$F$$$k>l9g!"MQ$$$k80$N\e(B id \e$B$r;XDj$9$kI,MW$,\e(B
+\e$B$"$j$^$9!#\e(B
 
 @defvar pgg-default-user-id
-User ID of your default identity.  It defaults to the value returned
-by @samp{(user-login-name)}.  You can customize this variable.
+\e$B%G%#%U%)%k%H$N%f!<%6!<\e(B ID \e$B$G$9!#;XDj$7$J$$>l9g\e(B
+\e$B$O\e(B @samp{(user-login-name)} \e$B$NLa$jCM$,%G%#%U%)%k%H$K$J$j$^$9!#$3$NJQ?t$O\e(B
+\e$B%+%9%?%^%$%:2DG=$G$9!#\e(B
 @end defvar
 
 @defvar pgg-gpg-user-id
-User ID of the GnuPG default identity.  It defaults to @samp{nil}.
-This overrides @samp{pgg-default-user-id}.  You can customize this
-variable.
+GnuPG \e$B$G;H$&%G%#%U%)%k%H$N%f!<%6!<\e(B ID \e$B$G$9!#%G%#%U%)%k%H$O\e(B @samp{nil} \e$B$G\e(B
+\e$B$9!#\e(B@code{nil} \e$B$G$O$J$$CM$K$9$k$H!"\e(B@samp{pgg-default-user-id} \e$B$h$jM%@h$7\e(B
+\e$B$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
 @end defvar
 
 @defvar pgg-pgp-user-id
-User ID of the PGP 2.x/6.x default identity.  It defaults to
-@samp{nil}.  This overrides @samp{pgg-default-user-id}.  You can
-customize this variable.
+PGP 2.x/6.x \e$B$G;H$&%G%#%U%)%k%H$N%f!<%6!<\e(B ID \e$B$G$9!#%G%#%U%)%k%H\e(B
+\e$B$O\e(B @samp{nil} \e$B$G$9!#\e(B@code{nil} \e$B$G$O$J$$CM$K$9$k$H!"\e(B
+@samp{pgg-default-user-id} \e$B$h$jM%@h$7$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
 @end defvar
 
 @defvar pgg-pgp5-user-id
-User ID of the PGP 5.x default identity.  It defaults to @samp{nil}.
-This overrides @samp{pgg-default-user-id}.  You can customize this
-variable.
+PGP 5.x \e$B$G;H$&%G%#%U%)%k%H$N%f!<%6\e(B ID \e$B$G$9!#%G%#%U%)%k%H$O\e(B @samp{nil} \e$B$G\e(B
+\e$B$9!#\e(B@code{nil} \e$B$G$O$J$$CM$K$9$k$H!"\e(B@samp{pgg-default-user-id} \e$B$h$jM%@h$7\e(B
+\e$B$F;H$o$l$^$9!#%+%9%?%^%$%:2DG=$G$9!#\e(B
 @end defvar
 
 @node Architecture
-@chapter Architecture
+@chapter \e$B9=@.\e(B
 
-PGG introduces the notion of a "scheme of PGP implementation" (used
-interchangeably with "scheme" in this document).  This term refers to a
-singleton object wrapped with the luna object system.
+PGG \e$B$O!V\e(BPGP \e$B<BAu$N%9%-!<%`\e(B (\e$BOHAH\e(B)\e$B!W$H$$$&9M$($rF3F~$7$^$9!#0J8e!"!V%9%-!<\e(B
+\e$B%`\e(B (scheme)\e$B!W$HI=5-$7$^$9!#$3$NMQ8l$O\e(B luna object system \e$B$G$N\e(B singleton
+object \e$B$KM3Mh$7$^$9!#\e(B
 
-Since PGG was designed for accessing and developing PGP functionality,
-the architecture had to be designed not just for interoperability but
-also for extensiblity.  In this chapter we explore the architecture
-while finding out how to write the PGG back end.
+PGG \e$B$O\e(B PGP \e$B$N5!G=$K%"%/%;%9$9$k$HF1;~$K$=$l$r3+H/$9$k$?$a$K@_7W$5$l$?$N\e(B
+\e$B$G!"$=$N9=@.$O!"Aj8_1?MQ@-$@$1$G$J$/3HD%@-$b9MN8$9$kI,MW$,$"$j$^$7$?!#$3\e(B
+\e$B$N>O$G$O!"\e(BPGG \e$B$N%P%C%/%(%s%I$r$I$N$h$&$K5-=R$9$k$+$rC5$7$J$,$i!"\e(BPGG \e$B$,$I\e(B
+\e$B$N$h$&$K$D$/$i$l$F$$$k$+$rC58!$7$F$_$^$7$g$&!#\e(B
 
 @menu
 * Initializing::                
@@ -266,14 +377,14 @@ while finding out how to write the PGG back end.
 @end menu
 
 @node Initializing
-@section Initializing
+@section \e$B=i4|2=\e(B
 
-A scheme must be initialized before it is used.
-It had better guarantee to keep only one instance of a scheme.
+\e$B%9%-!<%`$O!";H$&A0$K=i4|2=$5$l$J$1$l$P$J$j$^$;$s!#$?$@0l$D$N%9%-!<%`$r;H\e(B
+\e$B$&$3$H$rJ]>Z$9$k$N$,NI$$$G$7$g$&!#\e(B
 
-The following code is snipped out of @file{pgg-gpg.el}.  Once an
-instance of @code{pgg-gpg} scheme is initialized, it's stored to the
-variable @code{pgg-scheme-gpg-instance} and will be reused from now on.
+\e$B0J2<$N%3!<%I$O\e(B @file{pgg-gpg.el} \e$B$+$i$NH4$-=q$-$G$9!#$"\e(B
+\e$B$k\e(B @code{pgg-gpg} \e$B$N%9%-!<%`$,$$$C$?$s=i4|2=$5$l$k$H!"$=$l\e(B
+\e$B$O\e(B @code{pgg-scheme-gpg-instance} \e$BJQ?t$KJ]B8$5$l!"0J8e!":FMxMQ$5$l$^$9!#\e(B
 
 @lisp
 (defvar pgg-scheme-gpg-instance nil)
@@ -281,115 +392,124 @@ variable @code{pgg-scheme-gpg-instance} and will be reused from now on.
 (defun pgg-make-scheme-gpg ()
   (or pgg-scheme-gpg-instance
       (setq pgg-scheme-gpg-instance
-           (luna-make-entity 'pgg-scheme-gpg))))
+            (luna-make-entity 'pgg-scheme-gpg))))
 @end lisp
 
-The name of the function must follow the
-regulation---@code{pgg-make-scheme-} follows the back end name.
+\e$B4X?t$NL>A0$O\e(B @code{pgg-make-scheme-} \e$B$N8e$m$K%P%C%/%(%s%IL>$rIU2C$7$?$b\e(B
+\e$B$N$K$7$J$1$l$P$J$j$^$;$s!#\e(B
 
 @node Back end methods
-@section Back end methods
+@section \e$B%P%C%/%(%s%I$N%a%=%C%I\e(B
 
-In each back end, these methods must be present.  The output of these
-methods is stored in special buffers (@ref{Getting output}), so that
-these methods must tell the status of the execution.
+\e$B3F%P%C%/%(%s%I$K$O!"$3$l$i$N%a%=%C%I$,B8:_$7$J$1$l$P$J$j$^$;$s!#%a%=%C%I\e(B
+\e$B$N<B9T7k2L$N%9%F!<%?%9$rCN$i$;$J$1$l$P$J$i$J$$$N$G!"%a%=%C%I$N=PNO$OFCJL\e(B
+\e$B$J%P%C%U%!!<$KJ]B8$5$l$^$9\e(B (@pxref{Getting output})\e$B!#\e(B
 
 @deffn Method pgg-scheme-lookup-key scheme string &optional type
-Return keys associated with @var{string}.  If the optional third
-argument @var{type} is non-@code{nil}, it searches from the secret
-keyrings.
+@var{string} \e$B$K4XO"IU$1$i$l$?80$rJV$7$^$9!#;0HVL\$N%*%W%7%g%s0z\e(B
+\e$B?t\e(B @var{type} \e$B$,Hs\e(B-@code{nil} \e$B$@$C$?$i!"HkL)$N80B+$+$i8!:w$7$^$9!#\e(B
+@end deffn
+
+@deffn Method pgg-scheme-encrypt-region scheme start end recipients &optional sign passphrase
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r\e(B @var{recipients} \e$B08$KAw$k$b$N$H$7\e(B
+\e$B$F0E9f2=$7$^$9!#%*%W%7%g%s0z?t\e(B @var{sign} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"=p\e(B
+\e$BL>$H0E9f2=$rF1;~$K9T$J$$$^$9!#0E9f2=$K@.8y$9$k$H\e(B @code{t} \e$B$r!"<:GT$9$k\e(B
+\e$B$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
 @end deffn
 
-@deffn Method pgg-scheme-encrypt-region scheme start end recipients &optional sign
-Encrypt the current region between @var{start} and @var{end} for
-@var{recipients}.  If @var{sign} is non-@code{nil}, do a combined sign
-and encrypt.  If encryption is successful, it returns @code{t},
-otherwise @code{nil}.
+@deffn Method pgg-scheme-encrypt-symmetric-region scheme start end &optional passphrase
+\e$B8=:_$N\e(B @var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r!"6&DL800E9f\e(B (symmetric
+cipher) \e$B$H%Q%9%U%l!<%:$G0E9f2=$7$^$9!#0E9f2=$K@.8y$9$k$H\e(B @code{t} \e$B$rJV$7!"\e(B
+\e$B$=$&$G$J$1$l$P\e(B @code{nil} \e$B$rJV$7$^$9!#$3$N5!G=$O8=:_\e(B GnuPG \e$B$@$1$G<BAu$5\e(B
+\e$B$l$F$$$^$9!#\e(B
 @end deffn
 
-@deffn Method pgg-scheme-decrypt-region scheme start end
-Decrypt the current region between @var{start} and @var{end}.  If
-decryption is successful, it returns @code{t}, otherwise @code{nil}.
+@deffn Method pgg-scheme-decrypt-region scheme start end &optional passphrase
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$r2rFI$7$^$9!#2rFI$K@.8y$9$k\e(B
+\e$B$H\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
 @end deffn
 
-@deffn Method pgg-scheme-sign-region scheme start end &optional cleartext
-Make the signature from text between @var{start} and @var{end}.  If the
-optional third argument @var{cleartext} is non-@code{nil}, it does not
-create a detached signature.  If signing is successful, it returns
-@code{t}, otherwise @code{nil}.
+@deffn Method pgg-scheme-sign-region scheme start end &optional cleartext passphrase
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$N%F%-%9%H$K=pL>$7$^$9!#;0HVL\$N%*%W%7%g%s\e(B
+\e$B0z?t\e(B @var{cleartext} \e$B$,\e(B @code{nil} \e$B$G$O$J$$>l9g!"J,N%$5$l$?=pL>$r:n$j$^\e(B
+\e$B$;$s!#=pL>$K@.8y$9$k$H\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
 @end deffn
 
 @deffn Method pgg-scheme-verify-region scheme start end &optional signature
-Verify the current region between @var{start} and @var{end}.  If the
-optional third argument @var{signature} is non-@code{nil}, it is treated
-as the detached signature of the current region.  If the signature is
-successfully verified, it returns @code{t}, otherwise @code{nil}.
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k=pL>$r8!>Z$7$^$9!#;0HVL\$N%*%W\e(B
+\e$B%7%g%s0z?t\e(B @var{signature} \e$B$,\e(B @code{nil} \e$B$G$J$+$C$?$i!"$=$N0z?t$O8=:_$N\e(B
+\e$BNN0h$NJ,N%$5$l$?=pL>$N%U%!%$%k$H$7$F<h$j07$o$l$^$9!#=pL>$,@5$7$/8!>Z$5$l\e(B
+\e$B$?>l9g$O\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
 @end deffn
 
 @deffn Method pgg-scheme-insert-key scheme
-Retrieve the user's public key and insert it as ASCII-armored format.
-On success, it returns @code{t}, otherwise @code{nil}.
+\e$B%f!<%6!<$N8x3+80$r<hF@$7$F!"$=$l$r\e(B ASCII \e$BAu9C$N7A<0$GA^F~$7$^$9!#@.8y$9\e(B
+\e$B$k$H\e(B @code{t} \e$B$r!"<:GT$9$k$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
 @end deffn
 
 @deffn Method pgg-scheme-snarf-keys-region scheme start end
-Collect public keys in the current region between @var{start} and
-@var{end}, and add them into the user's keyring.
-On success, it returns @code{t}, otherwise @code{nil}.
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k8x3+80$r=8$a!"%f!<%6!<$N80\e(B
+\e$BB+\e(B (keyring) \e$B$KDI2C$7$^$9!#@.8y$9$k$H\e(B @code{t} \e$B$r!"<:GT$9$k\e(B
+\e$B$H\e(B @code{nil} \e$B$rJV$7$^$9!#\e(B
 @end deffn
 
 @node Getting output
-@section Getting output
+@section \e$B=PNO$rF@$k\e(B
 
-The output of the back end methods (@ref{Back end methods}) is stored in
-special buffers, so that these methods must tell the status of the
-execution.
+\e$B%P%C%/%(%s%I%a%=%C%I\e(B (@pxref{Back end methods}) \e$B$N=PNO$OFCJL$J%P%C%U%!!<\e(B
+\e$B$K3JG<$5$l$^$9!#$7$?$,$C$F!"$3$l$i$N%a%=%C%I$O<B9T7k2L$rEA$($kI,MW$,$"$j\e(B
+\e$B$^$9!#\e(B
 
 @defvar pgg-errors-buffer
-The standard error output of the execution of the PGP command is stored
-here.
+PGP \e$B%3%^%s%I<B9T;~$NI8=`%(%i!<=PNO$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
 @end defvar
 
 @defvar pgg-output-buffer
-The standard output of the execution of the PGP command is stored here.
+PGP \e$B%3%^%s%I<B9T;~$NI8=`=PNO$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
 @end defvar
 
 @defvar pgg-status-buffer
-The rest of status information of the execution of the PGP command is
-stored here.
+PGP \e$B%3%^%s%I<B9T;~$N$=$NB>$N7k2L$N>pJs$O!"$3$N%P%C%U%!!<$K3JG<$5$l$^$9!#\e(B
 @end defvar
 
 @node Parsing OpenPGP packets
-@chapter Parsing OpenPGP packets
+@chapter OpenPGP \e$B%Q%1%C%H$N2r@O\e(B
 
-The format of OpenPGP messages is maintained in order to publish all
-necessary information needed to develop interoperable applications.
-The standard is documented in RFC 2440.
+OpenPGP \e$B$N%a%C%;!<%8$N%U%)!<%^%C%H$O!"Aj8_1?MQ$G$-$k%"%W%j%1!<%7%g%s3+H/\e(B
+\e$B$KI,MW$J$9$Y$F$N>pJs$r=PNO$9$k$h$&$K0];}$5$l$F$$$^$9!#$=$NI8=`\e(B
+\e$B$O\e(B RFC2440 \e$B$K5-:\$5$l$F$$$^$9!#\e(B
 
-PGG has its own parser for the OpenPGP packets.
+PGG \e$B$O\e(B OpenPGP \e$B%Q%1%C%H$KBP1~$7$?FH<+$N%a%C%;!<%82r@O$r9T$J$$$^$9!#\e(B
 
 @defun pgg-parse-armor string
-List the sequence of packets in @var{string}.
+@var{string} \e$BFb$N%Q%1%C%H$NJB$S$r\e(B @code{list} \e$B$N7A<0$GJV$7$^$9!#\e(B
 @end defun
 
 @defun pgg-parse-armor-region start end
-List the sequence of packets in the current region between @var{start}
-and @var{end}.
+@var{start} \e$B$H\e(B @var{end} \e$B$N4V$NNN0h$K$"$k%Q%1%C%H$NJB$S$r\e(B @code{list} \e$B$N\e(B
+\e$B7A<0$GJV$7$^$9!#\e(B
 @end defun
 
 @defvar pgg-ignore-packet-checksum
-If non-@code{nil}, don't check the checksum of the packets.
+@code{nil} \e$B$G$J$+$C$?$i!"%Q%1%C%H$N%A%'%C%/%5%`$r8!>Z$7$^$;$s!#\e(B
 @end defvar
 
+@node GNU Free Documentation License
+@chapter GNU \e$B%U%j!<J8=qMxMQ5vBz7@Ls=q\e(B
+
+\e$BLuCm\e(B: @uref{http://www.opensource.jp/fdl/fdl.ja.html.euc-jp,
+\e$BHs8x<0$JF|K\8lLu\e(B} \e$B$,$"$j$^$9!#\e(B
+
+@include doclicense.texi
+
 @node Function Index
-@chapter Function Index
+@unnumbered Function Index
 @printindex fn
 
 @node Variable Index
-@chapter Variable Index
+@unnumbered Variable Index
 @printindex vr
 
-@summarycontents
-@contents
 @bye
 
 @c Local Variables: