トップページ >  PGP >  GnuPGのコマンド >  鍵セットの作成
初版2009/09/01: 最終更新日2009/09/01
4-3.  鍵セットの作成
目次
鍵セットとは
--gen-key
鍵セットとは
鍵セットとは、PGPの機能の根となる公開鍵と秘密鍵のことです。
二つの鍵は必ずセットで作成されます。

それぞれの用途は別ページ「公開鍵と秘密鍵」をご参照ください。

--gen-key
--gen-keyは、公開鍵と秘密鍵のセットを作成するためのコマンドです。
一見手間がかかりそうに見えますが、手順通りに進めていけば、ものの一分程度で作成を終えることができます。

コマンドを入力すると、まず以下の選択肢が現れます。

ご希望の鍵の種類を選択してください:
   (1) DSAとElgamal (既定)
   (2) DSA (署名のみ)
   (5) RSA (署名のみ)
選択は?

ここでの鍵の種類とは、鍵で扱う暗号化技術の種類のことを指します。
セキュリティ上、もしくは整頓上等の理由で署名のみの鍵を作りたい場合にその他を選ぶことになります。

署名におけるDSAとRSAの差は、特に大きくはありません。
DSAは、権利の都合上RSAが使えなかった時代に代用品として考案された一種の暗号化形式なのですが、代用品だからといって精度が低いわけではありません。鍵のデータサイズが同じであれば、同程度のセキュリティ性能を誇ります。

選択後、以下のように続きます。

DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)

鍵のデータサイズを決めます。
データサイズが大きくなるほど構造が複雑になり、セキュリティ性が向上します。あまりデータサイズを大きくすると動作が遅くなる可能性もありますが、昨今のパソコンの能力の前では最大値でもあまり問題ないようです。

入力後、以下のように続きます。

要求された鍵長は4096ビット
鍵の有効期限を指定してください。
        0 = 鍵は無期限
     <n>  = 鍵は n 日間で満了
     <n>w = 鍵は n 週間で満了
     <n>m = 鍵は n か月間で満了
     <n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)

鍵には有効期限を設定することが可能です。

セキュリティ上心配であったり、期間限定のイベントをおこなうというのでなければ、通常は無期限で問題ありません。
あまり短い期間を設定し、次々に鍵を換えていくと、特に公開鍵の利用者側に迷惑がかかりやすいです。期間を設定する場合は、あくまでほどよい期間を設定したほうがよいでしょう。

選択後、以下のように続きます。

Key does not expire at all
これで正しいですか? (y/N)

一度確認があって、次に進みます。

あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

本名:

本名、コメント、電子メール・アドレスを順に入力してユーザーIDを作ります。「本名」と書かれていますが、ハンドルネームや偽名であってもまったく問題はありません。
上記の例では、ダブル・クォートに囲まれたHeinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>がユーザーIDとなります。

入力後、以下のように続きます。

次のユーザーIDを選択しました:
    “[名前] ([コメント]) <メールアドレス>”

名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)?



例:
次のユーザーIDを選択しました:
    “Example Jiro (I'm not Jiro) <example_jiro@example.com>”

名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)?

必要があれば、先ほど入力した項目名に添えられた文字を選択し、修正をおこなうことができます。
今までの作業内容を破棄するにはQを選択します。
作成を続けるにはO(オー)を選択します。

選択後、以下のように続きます。

秘密鍵を保護するためにパスフレーズがいります。

パスフレーズを入力:

秘密鍵を使用するには、パスフレーズというものが必要になります。
パスフレーズは秘密鍵を用いるときに必要になるものです。秘密鍵と同等に重要なセキュリティ情報ですので、誰にも知られないよう厳重に保管してください。

ここでの文字入力はまったく画面に表示されませんので、注意してください。
打ち間違いしてしまった場合には、BackSpaceキーを押すことで入力しなおすことができます。

パスフレーズを二回入力すると、次に進みます。

今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
.++++++++++.+++++++++++++++++++++++++++

鍵の作成が開始されました。
しばらく時間がかかりますので、説明にある通り、パソコンで別の作業でもやっておくとよいでしょう。GnuPGが起動中のウィンドウを後ろにやっても、まったく問題はありません。

最後に、作成した鍵の情報が表示されます。

例:
gpg: 鍵8FC9329Bを絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。

gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
gpg: 深さ: 0  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 0f, 1u
pub   1024D/25B39DDA 2009-08-01
               指紋 = D3DE 9CFA A212 7768 BEDE  FF15 317A CBAE 25B3 9DDA
uid                Example Jiro (I'm not Taro) <example_jiro@example.com>
sub   4096g/B28EE22E 2009-08-01

鍵IDやユーザーIDのほか、電子指紋などの情報も現れますので、必要ならメモを取っておくとよいでしょう。(後から確認することも可能です)

自分で作成した鍵なので、作成完了とともに、信用度は極めて高く設定されます。