"認証機関により公開鍵を認証する方法であって、前記方法は、請求者から認証リクエストと公開鍵とを受け取るステップであって、前記認証リクエストは、自己署名された署名を用いて前記請求者によって署名されたメッセージである、ステップと、前記自己署名された署名に基づいて前記公開鍵を検証するステップと、前記自己署名された署名の検証の成功により前記公開鍵の認証を発行するステップとを含む、方法。前記認証リクエストに含まれる前記自己署名された署名を検証するステップをさらに含み、前記認証の発行は、前記自己署名された署名の検証の成功を要する、請求項1に記載の方法。前記公開鍵に所定のテストの組を行うことにより前記公開鍵の有効性を確認するステップをさらに含み、前記認証の発行は、前記公開鍵の有効性確認の成功を要する、請求項1に記載の方法。前記認証リクエストを受け取るステップの前に、メッセージデータを前記請求者に提供し前記請求者からの前記認証リクエストを生成するステップをさらに含み、前記メッセージデータは、ランダム性を含む、請求項1に記載の方法。前記メッセージデータは、安全なチャネルを介して前記請求者に提供される、請求項4に記載の方法。前記メッセージデータを提供するステップは、前記請求者からリクエストメッセージを受け取るステップと、前記認証機関の公開鍵を用いて前記リクエストメッセージに署名するステップと、前記署名されたリクエストメッセージから前記メッセージデータを形成するステップとをさらに含む、請求項4に記載の方法。自己署名された署名を用いて署名されたメッセージは、公開鍵である、請求項1に記載の方法。自己署名された署名を用いて署名されたメッセージは、前記自己署名された署名である、請求項1に記載の方法。本発明の発明者は、検証可能な鍵生成を実行する方法を開発した。この方法を用いると、第1の当事者は、その第1の当事者は鍵を盗んだのではなく実際に生成したということの他者による検証を可能にする態様で、その鍵のペア1対の鍵を生成することができる。更に、信頼のおける機関がその検証可能な鍵生成プロセスに参加して、鍵のペアに追加的なランダム性を提供することができる。本発明の発明者は、検証可能な鍵生成は上述した鍵の盗難や不十分なランダム性の可能性を排除することに役立つことを見出した。本発明のある特徴においては、公開鍵の検証可能な鍵生成方法が提供される。この方法によると、自己署名された署名が最初に生成され、次に、秘密鍵と公開鍵とのペアの生成への入力として用いられる。この署名の検証により、これらの鍵が当該署名を用いた鍵生成プロセスから生成されたものであることが証明される。公開鍵検証、所有の証明及び検証可能な鍵生成の典型的な使用は、公開鍵の認証の間である。認証においては、主体すなわちユーザ又は請求者が、発行者すなわち認証機関CAからの認証を請求する。主体は、おそらくは、十分なランダム性を得るに際してCAの助けを用い、鍵のペアを生成する。主体は、また、公開鍵を検証し、公開鍵の生成を検証するのに有用な追加的な情報を生成しうる。次に、主体は、公開鍵又は署名メッセージに署名して、認証リクエストと称されるものを形成し、これを他の情報と共にCAに送る。CAは、主体のIDを確認して、認証リクエストにおける署名を検証し、公開鍵を有効であると認め、鍵のペアの生成を検証する。CAは、いったん満足すると、認証を発行する。検証可能な鍵生成のある実施例は、既存のデジタル署名技術の基づいて構築されている。自己署名された署名は、署名されたメッセージとして定義され、このメッセージ自体は署名のコピーを含む。本発明は、自己署名された署名と鍵ペアとを同時に生成する方法を含み、従って、自己署名された署名の検証により、鍵ペアが盗まれたのではなくて生成されたことが保証される。信頼された機関がメッセージにいくらかのランダム性を含ませる場合には、十分なランダム性が保証される。鍵ペアの所有者のセキュリティを強化するためには、ソルトsaltと長い計算とを用いて鍵ペア所有者による当該鍵ペアへのランダム性の寄与の網羅的なサーチを回避することにより、署名の検証を修正することができる。例えば、本発明は、以下を提供する。項目1秘密鍵と公開鍵との対を生成する方法であって、署名を生成するステップと、データメッセージと上記署名とから自己署名された署名メッセージを形成するステップと、秘密鍵と公開鍵との上記対を上記自己署名された署名メッセージから計算するステップと、を含み、上記公開鍵は上記署名と上記自己署名された署名メッセージとから検証可能であることを特徴とする方法。項目2項目1記載の方法において、上記データメッセージを認証機関から受け取るステップを更に含み、上記データメッセージはランダム性を含むことを特徴とする方法。項目3項目2記載の方法において、リクエストメッセージを上記認証機関に送るステップと、上記データメッセージを上記認証機関から安全なチャネルを介して受け取るステップと、を更に含み、上記データメッセージは、上記認証機関により上記リクエストメッセージから生成され、上記認証機関の秘密鍵を用いて署名されることを特徴とする方法。項目4項目1記載の方法において、上記署名と上記鍵の対とはDSA署名アルゴリズムに基づいて生成されることを特徴とする方法。項目5項目1記載の方法において、上記署名と上記鍵の対とはECDSA署名アルゴリズムに基づいて生成されることを特徴とする方法。項目6項目1記載の方法において、上記署名は整数を含み、上記署名を生成するステップは、短期公開鍵を生成するステップと、ソルト値を提供するステップと、上記ソルト値と上記短期公開鍵との連結の所定の数の反復に対するハッシュ値を計算するステップと、上記ハッシュ値の整数値を上記整数に割り当てるステップと、を含むことを特徴とする方法。項目7項目1記載の方法において、上記署名は整数を含み、上記署名を生成するステップは、ランダムに選択された整数である短期公開鍵を選択するステップと、上記短期公開鍵と楕円曲線点との積である署名短期公開鍵を上記短期公開鍵から計算するステップと、上記署名短期公開鍵に対応する整数値を上記整数に割り当てるステップと、を含むことを特徴とする方法。項目8項目1記載の方法において、上記署名は整数を含み、上記自己署名された署名メッセージを形成するステップは、上記データメッセージと上記署名とを上記自己署名された署名メッセージに連結するステップを含み、公開鍵と秘密鍵との上記対を計算するステップは、上記自己署名された署名メッセージの整数ハッシュ値からメッセージダイジェストを計算するステップと、上記署名と上記メッセージダイジェストとから上記秘密鍵を計算するステップと、上記秘密鍵から上記公開鍵を計算するステップと、を含むことを特徴とする方法。項目9自己署名された署名と、秘密鍵dと公開鍵Qとの対とを同時に生成する方法であって、素数nよりも小さな非負整数である短期秘密鍵kを選択するステップと、上記短期秘密鍵kから、上記短期秘密鍵と楕円曲線点Gとの積である署名短期公開鍵を計算するステップと、上記署名短期公開鍵に対応する整数値を第1の署名整数rに割り当てるステップと、上記素数nよりも小さな非負整数であり上記第1の署名整数と共に署名を形成するる第2の署名整数sを選択するステップと、データメッセージと上記署名とから自己署名された署名メッセージを形成するステップと、数式d=sk-e/rmodnを用いて上記秘密鍵dを計算するステップと、数式Q=dGを用いて上記公開鍵を計算するステップと、を含むことを特徴とする方法。項目10項目9記載の方法において、上記整数値を割り当てるステップは、ソルト値を提供するステップと、上記ソルト値と上記署名短期公開鍵との連結の所定の数の反復に対するハッシュ値を計算するステップと、上記ハッシュ値の整数値を上記第1の署名整数rに割り当てるステップと、を含むことを特徴とする方法。項目11コンピュータ上で実行可能であり項目9に記載された方法を実装するプログラムを記憶するコンピュータ読取可能な媒体。項目12メッセージから、秘密鍵と、上記メッセージと短期公開鍵と秘密鍵との3要素とを生成する方法であって、整数である短期秘密鍵を選択するステップと、上記短期秘密鍵から、上記短期秘密鍵と楕円曲線点との積である上記短期公開鍵を計算するステップと、上記メッセージと上記短期公開鍵との整数ハッシュ値からメッセージダイジェストを計算するステップと、上記短期秘密鍵と上記メッセージダイジェストとから上記秘密鍵を計算するステップと、上記秘密鍵と上記短期公開鍵とから上記公開鍵を計算するステップと、を含むことを特徴とする方法。項目13コンピュータ上で実行可能であり秘密鍵と公開鍵との対と自己署名された署名とを同時に生成する方法を実装するプログラムを記憶するコンピュータ読取可能な媒体であって、上記プログラムは、上記コンピュータに、署名を生成させ、データメッセージと上記署名とから自己署名された署名メッセージを形成させ、秘密鍵と公開鍵との上記対を上記自己署名された署名メッセージから計算させ、上記公開鍵は上記署名と上記自己署名された署名メッセージとから検証可能であることを特徴とするコンピュータ読取可能な媒体。項目14コンピュータ上で実行可能であり、メッセージから上記メッセージと短期公開鍵と公開鍵との3要素と秘密鍵とを生成する方法を実装するプログラムを記憶するコンピュータ読取可能な媒体であって、上記プログラムは、上記コンピュータに、ランダムに選択された整数である短期秘密鍵を選択させ、上記短期秘密鍵から、上記短期秘密鍵と楕円曲線点との積である上記短期公開鍵を計算させ、上記メッセージと上記短期公開鍵との整数ハッシュ値からメッセージダイジェストを計算させ、上記短期秘密鍵と上記メッセージダイジェストとから上記秘密鍵を計算させ、上記秘密鍵と上記短期公開鍵とから上記公開鍵を計算させる、ことを特徴とするコンピュータ読取可能な媒体。項目15認証機関により公開鍵を認証する方法であって、請求者から公開鍵と自己署名された署名を用いて上記請求者によって署名されたメッセージである認証リクエストとを受け取るステップと、上記自己署名された署名に基づいて上記公開鍵を検証するステップと、上記自己署名された署名の検証の成功により上記公開鍵の認証を発行するステップと、を含むことを特徴とする方法。項目16項目15記載の方法において、上記認証リクエストに含まれる上記自己署名された署名を検証するステップを更に含み、上記認証の発行は、上記自己署名された署名の検証の成功を要することを特徴とする方法。項目17項目15記載の方法において、上記公開鍵に所定のテストの組を行うことにより上記公開鍵の有効性を確認するステップを更に含み、上記認証の発行は上記公開鍵の有効性確認の成功を要することを特徴とする方法。項目18項目15記載の方法において、上記認証リクエストを受け取るステップの前に、メッセージデータを上記請求者に提供し上記請求者からの上記認証リクエストを生成するステップを更に含み、上記メッセージデータはランダム性を含むことを特徴とする方法。項目19項目18記載の方法において、上記メッセージデータは安全なチャネルを介して上記請求者に提供されることを特徴とする方法。項目20項目18記載の方法において、上記メッセージデータを提供するステップは、上記請求者からリクエストメッセージを受け取るステップと、上記認証機関の公開鍵を用いて上記リクエストメッセージに署名するステップと、上記署名されたリクエストメッセージから上記メッセージデータを形成するステップと、を更に含むことを特徴とする方法。項目21項目15記載の方法において、自己署名された署名を用いて署名されたメッセージは公開鍵であることを特徴とする方法。項目22項目15記載の方法において、自己署名された署名を用いて署名されたメッセージは上記自己署名された署名であることを特徴とする方法。本発明の好適実施例の以上の及びそれ以外の特徴は、添付の図面を参照してなされる以下の詳細な説明から明らかである。図1を参照すると、通信システムが、全体として参照番号10によって示されている。この通信システムは、1対の通信者12、14と、認証機関16とを含む。それぞれの通信者12、14は、それぞれ、暗号演算を実行する暗号ユニット18、20を有する。通信者12は、秘密鍵22と、対応する公開鍵24とを有する。認証機関16は、詳細は後述するが、公開鍵24を認証する認証certificate26を発行する。認証26は、後述するように、通信者14に公開鍵24と暗号的保証とを提供するために、通信者14との間で共有される。図1の通信者は、多くの暗号的なプロトコルを実行して、様々な暗号上の目的、特に、秘密鍵22と公開鍵24と認証26との生成を、達成することができる。まず、自己署名された署名及び検証可能な鍵生成について述べる。通信者は、DSA及びECDSAなどの様々なデジタル署名アルゴリズムに基づいて、自己署名された署名を生成する以下の方法を実行することができる。便宜上、この方法を、ECDSAを用いて説明する。図2を参照すると、通信者12によって実行される自己署名された署名を生成する方法の全体が、参照番号50によって示されている。ECDSAの手順に従い、最初に、Zp上で定義された楕円曲線の上にあり位数ordernの点Gが選択される。ここで、nは、大きな素数である。ステップ52では、通信者12は、区間0,n-1の中にある整数kをランダムに選択する。次に、通信者12は、ステップ54で、楕円曲線の点R=kGを計算する。ここで、Rは署名短期公開鍵と称され、kは短期秘密鍵と称される。署名データr,sは、2つの整数r及びsを含む。楕円曲線の点Rに対応する整数値は、ステップ56で、整数rに割り当てられる。理解できるように、ECDSAによって特定される方法を含み、楕円曲線の点Rを整数に変換するのには、多くの方法を用いることができる。ステップ58では、通信者は、好ましくはランダムに、区間0,n-1の中の整数sを選択する。次に、ステップ60では、プレメッセージデータm0を取得する。このプレメッセージデータm0は任意のメッセージデータでよい。これは、署名されるメッセージとなりうる。これは、検証可能な鍵の所有者に関する情報を含みうる。また、認証機関によって証明され結果的な鍵ペアに与えられるランダム性など、外部のソースから受け取られる情報を含みうる。そして、通信者は、ステップ62において、例えば連結するなど、プレメッセージデータm0と署名データr,sとを組み合わせて、自己署名された署名メッセージmを作成する。ステップ64において、通信者は、メッセージダイジェストe=Hashmを計算する。ただしここで、関数Hashは、整数の結果を与える暗号的なハッシュ関数である。ステップ66では、通信者は、数式d=sk-e/rmodnを用いて、メッセージダイジェストeから秘密鍵を計算する。ステップ68では、公開鍵が、数式Q=dGを用いて、秘密鍵の値から計算される。注意すべきは、公開鍵は、秘密鍵dに関する上述の数式を用いて、Q=1/rmodnsR-eGとして表現できるということである。以上をまとめると、上述の方法は、以下のステップを含む。1.例えば0,n-1からランダムに、何らかの整数kを選択する。2.楕円曲線の点であるR=kGを計算する。これは、署名短期公開鍵である3.Rを整数rに変換する。4.例えば0,n-1からランダムに、何らかの整数sを選択する。5.何らかのプレメッセージデータm0を取得する。これは、ランダム性など外部ソースからの情報を含みうる。6.例えば連結するなど、プレメッセージデータm0と署名データr,sとを組み合わせて、メッセージmを作成する。7.メッセージダイジェストe=Hashmを整数形式で計算する。8.秘密鍵d=sk-e/rmodnを計算する。9.公開鍵Q=dGを計算する。あるいは、Q=1/rmodnsR-eGとも表現できる。ECDSA検証アルゴリズムをトリプレット3つ組、すなわちトリプルm,r,s,Qに適用される場合には、検証アルゴリズムの結果、このトリプルが有効な署名となる。署名されたメッセージmは署名r,sを含むから、この署名は、自己署名された署名である。別の当事者の既存の公開鍵Qが与えられている場合には、新たな自己署名された署名を見つけることは、署名を偽造することと同等であり、これは、実行不可能であると考えられる。更に、前もって存在している秘密鍵dを用いる場合でも、敵対者がその秘密鍵を盗むであろうことを想定すると、新たな自己署名された署名を見つけることは、実行不可能である。というのは、自己署名された署名を生成すれば、その結果、新たな秘密鍵が生じ、この新たな秘密鍵が古い秘密鍵ではないことはほとんど確実であるからである。従って、自己署名された署名は、検証可能な鍵生成を構成する。ECDSA検証アルゴリズムによると、署名の検証により、上述の鍵生成プロセスが用いられたことが証明され、秘密鍵が単に盗まれたものであるとか別のソースからの再使用であるという可能性が排除される。次に、検証可能なランダム性を用いた鍵生成について説明する。自己署名された署名を用いた検証可能な鍵生成では、メッセージm0が鍵ペアの値に影響を与え、このメッセージの一部に寄与することにより、認証機関などの信頼される機関は、所望のセキュリティレベルに十分なレベルまで鍵ペアのランダム性を補うことができる。これは、鍵ペアの所有者がランダム性を生成する能力に関して制限がある場合に、特に有用である。信頼された機関はデータtを生成し、これを、鍵ペアの生成器がm0に含む。値tは、所望のセキュリティレベルに従って、十分なランダム性を含む。値tは、安全に鍵ペアの生成器まで運ばれる必要があるが、その理由は、鍵ペアのセキュリティはある程度までtに依存するからである。tを安全に運ぶことは、tを機密性confidentiality及び真正性authenticityをもって運ぶことである。真正性をもってtを運ぶ1つの方法は、tにデジタル署名を含ませることである。鍵ペア生成器は、署名を検証して、その署名が信頼できる機関からのものであることを保証する。tが敵対者からのものである場合には、セキュリティは著しく脆弱化する。一般に、デジタル署名も同様に必要なランダム性を提供するのであるが、その理由は、デジタル署名が信頼される機関の秘密鍵に依存するからである。ECDSAなどの確率的な署名アルゴリズムが用いられる場合には、更なるランダム性が存在することができる。従って、tが完全にデジタル署名で構成されることも十分でありうる。tのために署名されたメッセージは、機関と鍵生成器とからのメッセージの組合せでありうる。機密性を伴うtの輸送は、様々な手段によって達成することができる。安全なチャネルが確立することができる場合には、暗号化を用いることができる。鍵ペアの生成器は、一次的なセッション鍵を生成し、信頼される機関まで、この機関の公開鍵を用いて、このセッション鍵を安全に送ることができる。一次的な公開鍵が検証可能に生成される鍵から独立であることが重要である。典型的には、信頼される機関は、CAであり、何らかの非暗号的方法を用いて鍵ペアの生成器の真正を確認する。図3を参照すると、プレメッセージm0を提供する方法の全体が参照番号70によって示されている。ステップ72では、通信者は、まず、認証機関に鍵生成に関する情報を請求する。このリクエストに応答して、認証機関は、ステップ74で、メッセージを生成する。上述したように、このメッセージは、認証機関だけによって生成されたものでもありうるし、通信者と認証機関とからのメッセージの組合せでもありうる。組合せが用いられる場合には、ステップ72において作られるリクエストは、認証機関のメッセージに含まれる通信者からのメッセージを含む。次に、ステップ76において、認証機関は、それ自身の鍵を用いてメッセージに署名し、CA署名を取得する。CA署名は、ステップ78で、安全なチャネルを介して通信者に送られる。安全なチャネルは、上述したように、暗号化によって達成することができる。そして、通信者は、プレメッセージデータm0として、この署名を用いる。通信者は、ステップ60において、この署名を用いて、図2の方法により、鍵ペアと自己署名された署名とを生成する。次に、鍵ペア生成器の弱い秘密の保護について説明する。鍵ペア生成器が検証可能な鍵生成のために自己署名された署名を用い、図2の方法によって生成された秘密値kのランダム性が不十分である場合には、以下のようなセキュリティ上の問題が結果として生じる。このセキュリティ問題は、以下で図4を参照して詳細を説明するように、自己署名された署名において用いられたECDSAアルゴリズムを若干修正することにより緩和することができる。このセキュリティ問題とは、敵対者が信頼される機関であるか鍵生成を検証することを希望するそれ以外の者である場合にそうなのであるが、敵対者がkを推測することができ、r、s及びmのコピーを有しているのならば、この敵対者は鍵ペア生成器が用いるのと同じ数式を用いて秘密鍵を回復することができるということである。kの網羅的な推測を可能な限り困難にするために、図2の方法を、図4に示されるように修正する。図4の方法におけるステップは、図2におけるステップに類似している。ステップ92では、通信者12は、区間0,n-1の中にある整数kをランダムに選択する。次に、通信者12は、ステップ94で、署名短期公開鍵と称される楕円曲線の点R=kGを計算する。ステップ96では、通信者は、r=HashA∥R∥A∥R∥∥A∥Rを計算する。ただし、ここで、反復の回数は、希望するだけまだ便宜によっていくらでも多くすることができる。∥は、ビットストリングの連結を意味する。反復回数が多くなればなるほど、計算に要する時間が長くなる。kのそれぞれの推測には、rの1階の計算を要する。従って、長い計算は、kを推測しようとしている敵対者により多くの作業を強制することになる。よって、反復の回数は、通信者とCAとが認容できる最大のものであるであることが好ましい。値Aはソルト値であり、鍵ペア生成器に対して一意的である。ソルトは、kからrの関数が鍵ペア生成器にとって一意的であることを保証し、それにより、敵対者が、異なる鍵ペア生成器のために再利用可能な計算された値の辞書を構築することを防止する。ステップ98では、通信者は、区間0,n-1の中からランダムに整数sを選択する。次に、ステップ100では、プレメッセージデータm0を取得する。このプレメッセージデータm0は、結果的な鍵ペアに与えられるランダム性を含みうる。そして、通信者は、ステップ102において、プレメッセージデータm0と署名データr,sとを連結して、メッセージmを作成する。ステップ104において、通信者は、メッセージダイジェストe=Hashmを計算する。ここで、関数Hashは、整数の結果を与える暗号的なハッシュ関数である。通信者は、ステップ106で秘密鍵d=sk-e/rmodnを計算し、ステップ108で公開鍵Q=dGを計算する。注意すべきは、公開鍵は、秘密鍵dに関する上述の数式を用いて、Q=1/rmodnsR-eGとして表現できるということである。他の通信者や認証機関は、修正された自己署名された署名を検証できる。第1に、検証者は、楕円曲線の点R‘=1/smodneGrQを計算するが、これは、ECDSAの検証プロセスの一部である。これには、メッセージmのコピーと公開鍵Qとが必要である。検証者は、鍵ペア生成器がrを計算するのに用いたソルトAと反復回数とを必要とする。検証者は、次に、r’=HashA∥R‘∥A∥R’∥∥A∥R‘を計算する。r’=rである場合には、検証者は署名を受け入れ、そうでない場合には、検証者は署名を拒絶する。敵対者がkを網羅的に推測することを阻止するには、他の長い計算が必要になる可能性がある。敵対者は、秘密鍵に対する数式であるd=sk-e/rmodnと公開鍵Qの知識とを用いて、秘密kに対するすなわち秘密鍵dに対する推測を確認することができる。kを推測するアプローチを遅くさせるためには、メッセージmをm=r∥s∥t∥r∥s∥t∥∥r∥s∥tという形式で選択することができる。その場合、e=Hashmの計算には長い時間を要し、kのそれぞれの推測に対して別個に行わなければならない。メッセージmの形式は、用いられるデジタル署名アルゴリズムへの更なる修正を必要としない。これら2つの方法を組み合わせることで、鍵ペア所有者の私的事項を、tを生成する信頼される機関や、信頼される機関とは独立にQの生成を検証することを望みm、r、s及びQを取得する任意の他の当事者から、保護することに役立つ。次に、自己署名された署名を用いない代替的方法について説明する。図5に示されている別の実施例では、通信者は、あるメッセージmとシードすなわち短期公開鍵Rと公開鍵Qとで構成されるハッシュ指数トリプルm,R,Qを生成する方法を実行する。これは、ECDSA署名を用いる方法への代替的方法である。便宜のため、この方法を、楕円曲線EC公開鍵の用語を用いて説明する。この方法は、全体として参照番号110によって示されている。通信者は、まず、ステップ112で、区間0,n-1の中の整数kを選択する。次に、通信者は、ステップ114で、シード公開鍵として用いられる楕円曲線R=kGを計算する。ステップ116では、整数の形式でメッセージダイジェストf=SHA-1m,Rが計算される。次に、ステップ118において秘密鍵d=kfが計算され、ステップ120において公開鍵Q=fRが計算される。ハッシュ指数トリプルm,R,Qを受け取ると、受け手は、参照番号130で図6に示されている方法を用いてこのトリプルを検証することができる。検証者は、まず、ステップ132で、整数形式でメッセージダイジェストf=SHA-1m,Rを計算する。次に、検証者は、ステップ134でT=fRを計算し、ステップ136でQ=Tであることを確認する。Q=Tであるときには、ハッシュ検証トリプルは、検証者に受け入れられる。ソフトウェアでなければ、無効として拒絶される。ハッシュ指数トリプルは自己署名された署名と類似の性質を有しており、同様の態様で機能しうることがわかっている。次に、検証可能な鍵生成を用いた通信について説明する。図1のシステムにおける典型的な通信セッションでは、このシステムのユーザすなわち通信者12は、まず、認証機関14との通信を開始して認証26を得る。この場合に、通信者12は、認証の主体subjectと称される。図7を参照すると、認証機関は、ステップ152において、主体に入力を提供してランダム性を与える。認証機関によって提供された入力は、例えば、認証機関の署名である。主体は、ステップ154で鍵ペアを生成し、ステップ156で認証リクエストを形成する。認証リクエストは、主体の自己署名された署名を用いて署名される。認証リクエストは、例えば、主体の署名された公開鍵であるか、又は、単純に、主体の自己署名された署名である。主体は、認証リクエストと公開鍵とを、認証のために認証機関へ送る。主体は、主体の名前などの他の情報を、認証リクエスト及び公開鍵と共に送ることもありうる。認証リクエストと公開鍵とを更に、それ以外の情報も受け取ると、認証機関は、典型的には、ステップ158において、主体のIDを確認する。CAは、次に、ステップ160で、認証リクエストの中の署名を検証することがある。CAは、ステップ162において公開鍵の有効性を確認するが、これには、公開鍵が有効であることを保証するいくつかのテストが含まれる。CAは、次に、ステップ164において、鍵ペアの生成を検証する。この検証の詳細は既に上述したとおりである。公開鍵が実行されるテストに合格すると、CAは、ステップ166において、認証を発行する。認証には、情報に関するCAのデジタル署名が含まれ、これには、主体のIDと公開鍵とが含まれる。認証を発行するCAが公開鍵の有効性確認と鍵生成の認証とを行う場合には、認証は、当該認証とその公開鍵との他のユーザに、当該公開鍵は有効であり、盗まれたものではなく、十分なランダム性を有していることを保証するのに役立つ。認証の他のユーザが認証を発行するCAを完全には信頼しない場合には、そのユーザは、公開鍵の有効性確認と鍵生成検証とを直接に実行することを可能にする情報を見ることを求めることができる。以上では、本発明の様々な特定の実施例について詳細に説明した。この技術分野の当業者であれば、本発明の範囲から逸脱せずに、多くの修正、適用及び改変をこれらの実施例に対して行うことが可能であることを理解するはずである。上述した最良の形態の変更やそれへの追加は本発明の本質、精神又は範囲から逸脱することなく行うことができるので、本発明は、以上で述べた詳細に限定されることなく、冒頭の特許請求の範囲によってのみ範囲が画定される。"