(57)【要約】暗号値をテキスト形式で表示する方法が記載される。テキスト表示は、語彙から選択された単語によって形成され、該語彙は、擬似単語の集合を含み得る。テキスト表示は、見たところでは文法的に正しい形式の段落にさらに変換され得る。一実施形態において、暗号値を人のユーザに伝達する方法であって、該方法は、語彙を選択することと、該暗号値をビット列として表示することと、該ビット列を所定の可逆関係に従って該語彙から選択された単語を用いるテキストに変換することと、該テキストを該人のユーザに伝達することとを包含する、方法。
2010533878.tif 000002
【特許請求の範囲】
【請求項１】
暗号値を人のユーザに伝達する方法であって、該方法は、
語彙を選択することと、
該暗号値をビット列として表示することと、
該ビット列を所定の可逆関係に従って該語彙から選択された単語を用いるテキストに変換することと、
該テキストを該人のユーザに伝達することと
を包含する、方法。
【請求項２】
前記暗号値を前記ビット列として表示するステップは、
（ａ）秘密の値を選択するステップと、
（ｂ）暗号操作を該秘密の値について実行して、該暗号値を生成するステップと、
（ｃ）該暗号値に対応する試験用ビット列が所定の基準を満たしているか否かを決定するステップと、
（ｄ）該試験用ビット列が該所定の基準を満たすまで、該ステップ（ａ）〜ステップ（ｃ）のシーケンスを繰り返すステップと、
（ｅ）該試験用ビット列を該ビット列に割り当てるステップと
を包含する、
請求項１に記載の方法。
【請求項３】
前記語彙は、複数の擬似単語を含んでいる、請求項１に記載の方法。
【請求項４】
受信者の公開鍵をＩＤベース暗号（「ＩＢＥ」）システムのユーザに伝達する方法であって、該方法は、
語彙を選択することと、
該公開鍵をビット列として表示することと、
該ビット列を該語彙から選択された単語を利用する逆演算符号化アルゴリズムに従うテキストに符号化することと、
該テキストを該受信者のＩＤとして該受信者に伝達することと
を包含する、方法。
【請求項５】
前記公開鍵は、次数ｎの楕円曲線上で規定され、かつジェネレータｇによって規定された秘密鍵／公開鍵の対に属し、該公開鍵を表示するステップは、
（ａ）該公開鍵および対応する秘密鍵を初期化することであって、該秘密鍵は、［１，ｎ）から無作為に選択される、ことと、
（ｂ）該公開鍵が圧縮基準を満たしているか否かを決定することと、
（ｃ）該圧縮基準が満たされない場合には、該秘密鍵を１だけインクリメントし、該公開鍵をｇだけインクリメントし、該圧縮基準が満足されるまで、ステップ（ｂ）〜ステップ（ｃ）を繰り返すことと
を包含する、
請求項４に記載の方法。
【請求項６】
暗号値をユーザに伝達する方法であって、該方法は、
語彙を選択することと、
該暗号値をビット列として表示することと、
該ビット列を該語彙から選択された単語から形成される文法的に正しいテキストに変換することと、
該文法的に正しいテキストを該ユーザに伝達することと
を包含する、方法。
【請求項７】
前記ビット列を変換するステップは、
（ａ）該ビット列を少なくとも第一の区画、第二の区画および第三の区画に分割するステップと、
（ｂ）該第一の区画の値に基づいて文タイプを選択するステップと、
（ｃ）該第二の区画の値に基づいて動詞の型を選択するステップと、
（ｄ）該第三の区画の第一の部分の値に基づいて文法的に正しい文を構築する単語を選択するステップと、
（ｅ）該選択された文タイプ、該選択された動詞の型、および該選択された単語から該文法的に正しい文を構築するステップと
を包含する、
請求項６に記載の方法。
【請求項８】
前記ビット列を変換するステップは、
第二の部分を取得するために、前記第一の部分を前記第三の区画から減算するステップと、
該第二の部分が正の長さを有すると決定されると、該第二の部分を追加の文法的に正しいテキストに変換するために、前記ステップ（ａ）〜前記ステップ（ｅ）を繰り返し、該追加の文法的に正しいテキストを該ステップ（ａ）〜該ステップ（ｅ）で形成された該文法的に正しいテキストに付加するステップと
をさらに包含し、
該繰り返されるステップ（ａ）〜ステップ（ｅ）において、該第二の部分は、該ビット列の代わりに用いられる、
請求項７に記載の方法。
【請求項９】
ユーザによってメッセージに署名する方法であって、
該メッセージのハッシュ値を計算するステップと、
請求項１〜請求項８のうちのいずれか一項に記載の変換方法を用いて該ハッシュ値をテキストに変換するステップと、
オーディオ記録を受信するステップであって、該オーディオ記録は、該テキストを朗読する該ユーザによって生成された音声信号を捕捉する、ステップと
を包含し、
該オーディオ記録は、該ユーザによって署名された該メッセージの署名として用いられる、
方法。
【請求項１０】
前記ハッシュ値は、セキュアなハッシュ関数を用いて計算される、請求項９に記載の方法。
【請求項１１】
暗号化されたメッセージを伝送する方法であって、
請求項１〜請求項８のうちのいずれか一項に記載の変換方法を用いて該暗号化されたメッセージをテキスト形式のカバーテキストに変換するステップと、
埋め込みテキストを選択するステップと、
ステガノグラフィックメッセージを生成するために、該カバーテキストを該埋め込みテキストに埋め込むステップと、
該カバーテキストを含んでいる該ステガノグラフィックメッセージを伝送するステップと
を包含する、方法。
【請求項１２】
秘密のテキストを本来のテキスト内に隠蔽する方法であって、
選択のリストを生成するために、該本来のテキストの修正可能な部分を識別するステップであって、該修正可能な部分は、該選択のリストに基づいた、該本来のテキストへの文法および語彙の変更を含み、該変更は、該本来のテキストの意味を保存する、ステップと、
該選択のリストをビット列に変換するステップと、
暗号値を該ビット列に割り当てるステップと、
請求項１〜請求項８のうちのいずれか一項に記載の変換方法を用いて該暗号値をテキストに変換するステップと、
透かし入りの本来のテキストを取得するために、該テキストからの単語を用いて該修正可能な部分を修正するステップと
を包含する、方法。
【請求項１３】
前記秘密のテキストは、前記本来のテキストを一意に識別する文字ストリングである、請求項１２に記載の方法。
【請求項１４】
前記文字ストリングは、シリアル番号である、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、概して暗号技術の分野に関し、特に、本発明は、暗号値をテキスト形式で表示することに関する。
【背景技術】
【０００２】
（発明の背景）
公開鍵暗号技術は、数学的に関係のある公開鍵と秘密鍵とを利用する。該関係は、公開鍵が秘密鍵から容易に計算され得るが、公開鍵からの秘密鍵の計算は、実行不可能であると考えられる。秘密鍵は、従って、非公開に維持される。鍵は、様々な周知のプロトコルで用いられることにより、メッセージを隠蔽するかまたはメッセージに署名する。
【０００３】
暗号値としての公開鍵またはその表示は、概してユーザによって容易に管理できない。一般的には、暗号アルゴリズムは、ランダムな値か、または特定の空間内のランダムな文字と区別がつかない値を含んでいる。人は概して、英文字および数字のランダムな集合と似ている文字の長いストリングを管理することに苦労する。適正なセキュリティを提供するために、そのような空間のサイズは、しばしば現行技術のコンピュータによる網羅的サーチが実行不可能になるように決められる。２８０の空間が、今日届く範囲を超えていると考えられる。そのような空間で暗号値を表示することは、概して少なくとも８０ビットまたは１０バイトを必要とする。１０バイトの値は、２０個の１６進数字に対応する。楕円曲線公開鍵およびハッシュ値などの一部の暗号値は、概して等しいセキュリティレベルを有するために、これの倍の長さでなければならない。最小のセキュリティレベルは、４０個の１６進数字の表示に関係する。計算パワーまたは計算技術が進歩するにつれて、より長い表示が望ましいかまたは必要になる。ＤＳＡおよびＲＳＡの鍵などの他の暗号値は、同じセキュリティレベルを維持するために、よりいっそう長い表示を有し、２５６個の１６進数字を有している。
【０００４】
そのようなサイズのランダムな値は、ただ２０個の１６進数字の長さでさえも、ユーザがエラーなしで管理することはまったく困難である。特に、ユーザは、
１．そのようなランダム値を助力なしで思い出すこと
２．たとえ前に見た場合でもそのようなランダム値を認識すること
３．そのような値を音声によって他のユーザに伝達すること
４．そのような値を印刷またはディスプレイを介して転記すること
が難しいかもしれない。
【０００５】
これらの困難のために、暗号プロトコルへのユーザインタフェースは、暗号値へのアクセスをユーザに対してめったに与えない。このことは、そのようなアクセスが無益であろうと一般に信じられているためであり得る。時折、暗号値は、ユーザに選択的にアクセス可能にされる。ユーザが出会いそうな最も一般的な暗号値は、公開鍵である。多くのプロトコルは、証明証において公開鍵の表示をユーザに選択的にディスプレイする。
【０００６】
例えば、ウェブブラウザのＳＳＬまたはＴＬＳクライアントが、信頼できる証明機関（「ＣＡ」）によって署名されていないサーバ証明証を受信するときには、ＳＳＬまたはＴＳＬクライアントは、一般的に警告をユーザにディスプレイする。警告メッセージは一般に、証明証が信頼され得ないことをユーザに通知し、証明証の所有者および発行者と称するものの名前をディスプレイする。しばしば、該証明証を信頼しないか、該証明証を１回信頼するか、または該証明証をいつも信頼するかに関しての選択肢がユーザに与えられる。一部のクライアントはまた、１６進形式またはＢａｓｅ６４形式で公開鍵をユーザにディスプレイする。ユーザは概して、ディスプレイされた公開鍵を利用し得ない。なぜならば、ユーザが確証となるものを全く有しないからである。ユーザが公開鍵を検証する一部の認証された情報源を有する場合でさえも、１６進表示またはＢａｓｅ６４表示は、検証を有害なものにし得る。
【０００７】
これらの警告メッセージは、ユーザに危険をもたらす。ユーザが、よく訪れるセキュアであるが証明証のないサイトを再び訪れようとして、ウェブアドレスの綴りを偶然に誤ったと仮定する。攻撃者は、誤ったアドレスでウェブサイトを作り出し得る。攻撃者は、正しいウェブサイトと同一に見えるウェブページを作り出し得る。攻撃者はまた、ウェブサイトに対してサーバ証明証を作り出し得る。攻撃者は、信頼できるＣＡによって証明されたサーバ証明証を得ることができないことがあり得る。なぜならば、信頼できるＣＡが、サーバ証明証を発行する前にそのような攻撃に対して相当の注意をはらい得るからである。しかしながら、攻撃者は、それ自体に証明証を発行し得る。
【０００８】
ブラウザクライアントは、そのような証明証に出会うときには、証明証が信頼できるＣＡによって証明されていないことを認識し、それに応じてユーザに警告するであろう。それにもかかわらず、一部のユーザは、警告メッセージを無視し、サイトに接続し得る。他のユーザは、警告にかかわらずウェブサイトを拒絶し得る。ユーザの第三のクラス（おそらく大多数）は、警告メッセージで提示された証明証の名前を一見し、（１つのセッションに対して）証明証を１回受け入れることに決定し得る。
【０００９】
ユーザのこの第三のクラスは、名前を検査するであろう。証明証が攻撃者によって発行されたので、攻撃者は、有効な名前（正しいサイトに対する名前）を選び得る。ブラウザがＵＲＬに対する名前と一致する場合には、攻撃者は、一致したＵＲＬを用い得る。しかしながら、偽のＵＲＬが真のＵＲＬに非常に近いので、ユーザが違いに気づかないことがあり得る。（一部のブラウザは、警告メッセージ内に正しく一致したＵＲＬを再ディスプレイしないことがあり得る。なぜならば、正しく一致したＵＲＬがブラウザのアドレス行においてすでにディスプレイされているからである）。
【００１０】
従って、ユーザのこの第三のクラスが、少なくとも１つのセッションに対して証明証を受け入れる可能性がある。このことは、多くの合法的ウェブサイトが、信頼できるＣＡからサーバ証明証を購入する余裕がないという事実によって、さらに可能性があるが、それでも暗号化を望んでおり、従って、その代わりとして彼ら自体の証明証をただ発行するだけである。多くのユーザは、そのようなサイトに慣れており、証明証を受け入れる可能性がより大きい。
【００１１】
攻撃者の証明証を受け入れる負の結果は、真のウェブサイトと通信しているとユーザが考え得ることである。ユーザは、偽の情報を偽のウェブサイトから取得し得る。ユーザはまた、偽のウェブサイトに情報を入力し得る。特に、ユーザはパスワードを入力し得る。攻撃者は、パスワードを取得し、それを用いて、真のウェブサイトでユーザを詐称し得る。真のウェブサイトがオンラインバンキングサイトである場合には、攻撃者は、資金をユーザの銀行預金口座から引き出すことができるかもしれない。
【００１２】
従って、テキスト表示において暗号値を受信者に伝達することが望ましく、テキスト表示は、よりランダムでない形式を有する傾向のものである。解決策は、経験を積んだ（ｓａｌｔｅｄ）従来のパスワードのハッシュであるワンタイムパスワードの状況において提案されてきた。１つのシステムにおいて、６４ビットのストリームは、セグメントの１つが１１ビットにパディングされる１１ビットの６つのセグメントに分割される。各セグメントは次に、２０４８単語の辞書からとられた単語として表現（ｒｅｎｄｅｒ）される。選ばれた単語は、それらを、よりタイプしやすくする目的で、４つの英文字またはより少ない英文字を有しており、それによって、キー操作の数が限定される。その目的は、１６進データまたはＢａｓｅ６４データに対してよりも低くエラー率を保持することである。なぜならば、選ばれた単語が有効な英語の単語だからである。
【００１３】
しかしながら、英単語のリストを用いることにおいて、多くのセキュリティ不足が存在している。スピーチのオーディオ記録は、単語リストを形成するために、再接合され得る。従って、スピーチが認証のために用いられる場合には、代替の表示が有利であり得る。原文のレベルにおいて、単語リストは、多くの効率のよさを提示しないことがあり得るか、または電子メールアドレスなどの既存のテキスト形式に十分によく適合しないことがあり得る。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上記された欠点のうちの少なくとも１つを緩和するか、または除去することが本発明の目的である。
【課題を解決するための手段】
【００１５】
（発明の概要）
本発明の一局面において、暗号値を受信者に伝達する一般的方法が提供される。該方法は、語彙を選択するステップと、該暗号値をビット列として表示するステップと、該ビット列をテキストに変換するステップとを含む。該テキストは、可逆関係に従って該語彙から選択された単語から形成される。
【００１６】
本発明の別の局面において、暗号値を人のユーザに伝達する方法が提供される。該方法は、語彙を選択するステップと、該暗号値をビット列として表示するステップと、所定の可逆関係に従って該語彙から選択された単語を用いて該ビット列をテキストに変換するステップと、該テキストを該人のユーザに伝達するステップとを含む。
【００１７】
本発明の別の局面において、上記方法は、語彙を選択するステップと、上記暗号値をビット列として表示するステップと、該ビット列を該語彙から選択された単語から形成される文法的に正しいテキストに変換するステップと、該文法的に正しいテキストを上記ユーザに伝達するステップとを含む。
【００１８】
本発明のなお別の局面において、ユーザによってメッセージに署名する方法が提供される。該方法は、該メッセージのハッシュ値を計算するステップと、本明細書中に記載された変換方法を用いて該ハッシュ値をテキストに変換するステップと、オーディオ記録を受信するステップであって、該オーディオ記録は、該テキストを朗読する該ユーザによって生成された音声信号を捕捉する、ステップとを含み、該オーディオ記録は、該ユーザによって署名された該メッセージの署名として用いられる。
【００１９】
本発明の別の局面において、暗号化されたメッセージを伝送する方法が提供される。該方法は、本明細書中に記載された変換方法を用いて該暗号化されたメッセージをテキスト形式でカバーテキスト（ｃｏｖｅｒｔｅｘｔ）に変換するステップと、埋め込みテキストを選択するステップと、ステガノグラフィック（ｓｔｅｇａｎｏｇｒａｐｈｉｃ）メッセージを生成するために、該埋め込みテキストに該カバーテキストを埋め込むステップと、該カバーテキストを含んでいる該ステガノグラフィックメッセージを伝送するステップとを含む。
【００２０】
本発明のなお別の局面において、本来のテキスト（ｐｒｏｐｅｒ  ｔｅｘｔ）内に秘密のテキストを隠蔽する方法が提供される。該方法は、選択のリストを生成するために、該本来のテキストの修正可能な部分を識別するステップであって、該修正可能な部分は、該選択のリストに基づいた、該本来のテキストへの文法および語彙の変更を含み、該変更は、該本来のテキストの意味に影響しない、ステップと、該選択のリストをビット列に変換するステップと、暗号値を該ビット列に割り当てるステップと、本明細書中に記載された変換方法を用いて該暗号値をテキストに変換するステップと、透かし入りの本来のテキストを取得するために、該テキストからの単語を用いて該修正可能な部分を修正するステップとを含む。
【００２１】
一実施形態において、公開鍵または公開鍵の証明証などの暗号値は、最初に圧縮され、次に人に読み取り可能なテキストに符号化される。別の実施形態において、公開鍵などの暗号値は、文法的に正しいようであるが必ずしも何らの意味も伝えない段落に変換される。
【００２２】
他の局面において、本発明は、上記された局面の様々な組み合わせおよびサブセットを提供する。
【図面の簡単な説明】
【００２３】
本発明の一実施形態または複数の実施形態が、限定の目的ではなく説明の目的のために、ここで添付の図面を参照しながら例としてさらに詳細に説明される。
【図１】図１は、公開鍵のテキスト表示を生成するプロセスで使用する擬似単語を生成するステップを概略的に例示している。
【図２】図２は、テキストを符号化するステップを概略的に例示している。
【図３】図３は、公開鍵として用いられ得るテキストにビット列を復号化する、図２に示されたプロセスの逆のプロセスのステップを概略的に例示している。
【図４】図４は、公開鍵などのビットストリームを文法的に正しいテキストに変換するステップを例示している。
【図５】図５は、図３および図４に例示されたような方法を用いてテキスト形式にさらに変換され得る公開鍵を圧縮する方法のステップを例示している。
【図６】図６は、テキスト形式にさらに変換され得る公開鍵の証明証を圧縮する方法のステップを例示している。
【発明を実施するための形態】
【００２４】
（実施形態の詳細な説明）
以下の説明およびそこに記載された実施形態は、本発明の原理の特定の実施形態の例または複数の例を示す目的で提供される。これらの例は、限定する目的のためではなく、それらの例の原理および本発明を説明する目的のために提供される。以下の説明において、同様な部分が、本明細書および図面にわたって同じそれぞれの参照番号によって示される。
【００２５】
よりよく管理できる公開鍵などの暗号値を生成する１つのアプローチは、実在の単語または文により似ている形式か、または少なくともランダムな文字の集合であるように見えない形式で暗号値を表示することである。下記された方法は、公開鍵などの暗号値をランダムな文字の集合であるように見えない形式に変換するユーザインタフェースを提供する。ユーザインタフェースは、証明機関によって用いられ得ることにより、例えば、公開鍵の証明証を擬似単語の集合に変換するか、または無意味であるように見え、おそらく擬似単語だけから成り得るが、それにもかかわらず見たところ文法的に正しい擬似文にさえも変換する。インタフェースはまた、対応する秘密鍵を誰にも露出することなく公開鍵をユーザに対してよりよく管理できる形式で変換するために用いられ得る。公開鍵の変換に頻繁に言及されるが、インタフェースは、公開鍵を変換することに限定されないことが理解されるであろう。それどころか、インタフェースと、その内に組み入れられた方法とは、特に、公開鍵、秘密鍵、署名または暗号文か否かにかかわらず、任意の暗号値に適用され得る。
【００２６】
有利なことに、読みやすい表示で公開鍵をユーザにディスプレイするユーザインタフェースは、ユーザが、
・公開鍵を印刷ソース、筆記ソース、または口語ソースから取得し、タイプすることと、
・遠隔地から精神的な記憶（ｍｅｎｔａｌ  ｓｔｏｒａｇｅ）を有するように、公開鍵をメモリから呼び戻し得ることと
を可能にする。
【００２７】
そのように取得された読みやすい公開鍵は、適正にフォーマットされる場合には、電子メールまたはウェブサイトに対するアドレスとして用いられ得る。この態様において、ウェブサイトアドレスまたは人の電子メールアドレスは、ウェブサイトまたは人によって用いられる公開鍵と一致する。例えば、ウェブサイトは、そのアドレスを入手可能に広告し、それによって、同時にその公開鍵をユーザに提供し得る。
【００２８】
読み取り可能な形式で公開鍵を表示することは、代替のＩＤベース暗号（「ＩＢＥ」）システムの基礎を形成し得る。そのようなＩＢＥシステムにおいて、各ユーザは、当人の秘密鍵／公開鍵の対の選択および生成に責任がある。ユーザの秘密鍵は、どのようなものにもさらされない。ユーザの公開鍵は、その通常の形式（ランダムな文字の集合であるように見えることがある形式）で表示されない。それどころか、公開鍵は変換され、そして読みやすい表示で表現される。この形式における公開鍵は、ユーザのＩＤの一部分となり得るか、またはユーザのＩＤとして用いられ得る。
【００２９】
公開鍵全体を表現するときには、公開鍵のコンパクトさが望ましい。なぜならば、読みやすく表現されたにしても、ユーザは概して、少ないデータ量だけを管理することができる傾向があるからである。従って、楕円曲線暗号技術は、その小さな公開鍵サイズによって、特に、「Ｍｅｔｈｏｄ  ｏｆ  Ｃｏｍｐｒｅｓｓｉｎｇ  ａ  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｖａｌｕｅ」と題され、同一人に譲渡された同時係属中の出願に記載されるようなポイント（ｐｏｉｎｔ）圧縮によって、この技術に対してより適切であると考えられる。
【００３０】
本明細書中に記載された方法は、記録および再接合により大きな抵抗を示すように次の特徴、
１．単語の任意のリストの代わりに、連続的な文法的に正しい文が用いられる。この特徴の利点は、単語が接続されており、互いに接合することがより困難であるということであること
２．比較的短い普通の単語の短い辞書を用いる代わりに、よりまれな単語のより大きな辞書が用いられる。ユーザは、これらの単語を用いる可能性がより少なく、従ってそれらを言うことが、記録される可能性がより少ないこと
３．有効な英単語を用いる代わりに、擬似単語が構築され、該擬似単語は、日常的なスピーチで用いられるのではないが、ユーザにとって管理できるようにする有効な英単語への十分な類似性を有する特性を有していることと
を組み込む。
【００３１】
テキスト解凍方法は、公開鍵などの暗号値を読みやすくする１つの方法である。このアプローチの要件は、解凍されるテキストが、いつも成功裡に圧縮されるべきであるということである。なぜならば、公開鍵が正確に一致しなければならないからである。換言すると、テキスト圧縮は、テキスト解凍が行ったことを正確に元に戻さなければならず、すなわち、圧縮は可逆でなければならない。
【００３２】
一般的には、方法は、人が公開鍵に出現してほしいと望む多様な大量のサンプルテキストをとることによって起動し、次にこのテキストに対してテキスト圧縮アルゴリズムを開発する。次に、テキスト解凍アルゴリズムを公開鍵に適用して、公開鍵のテキストを取得する。テキスト圧縮は、テキスト文字列に対応する数値を見出すための逆のプロセスである。以下において、方法は、サンプルテキストとして擬似単語の集合を生成するプロセスを最初に記載し、次に圧縮アルゴリズムと、対応する解凍アルゴリズムとを記載することによって説明される。
【００３３】
一実装において、サンプルテキストとして擬似単語の大きな集合を築くことによって起動する。有効な単語の大きな集合、例えば、８０，０００語以上の有効な英単語のデータベースが、開始点として選択され得る。擬似単語を築くために、少なくとも５つの英文字のランダムな単語が選ばれて、擬似単語の第一の４つの英文字を作る。擬似単語の第五の英文字を決定するために、データベースから別の単語が選ばれ、第二、第三および第四の英文字が擬似単語の現在の英文字のそれらと一致させる。第二の単語の第五の英文字が、擬似単語の第五の英文字を決定する。第二の単語が単に４つの英文字を有する場合には、擬似単語は第二の単語の第四の英文字で完成する。単語の終わりは、仮想英文字とみなされている。擬似単語が完成しない場合には、第六の英文字は、第三、第四および第五の英文字とオーバーラップするランダムな第三の単語によって決定される。これは、擬似単語が終了するまで続く。上記の原理に従って表１の擬似単語が生成される。
【００３４】
【表１】
2010533878.tif 000003
このように、擬似単語のすべての４英文字のセグメントは、データベース内の単語の対応する４英文字のセグメントと一致する。これは、最初のデータベース内にないことがあり得るが、擬似単語を有効な単語として非常にもっともらしいように表示する。実際には、擬似単語が有効な単語の１つとして終わる場合には、所望に応じて、擬似単語は拒絶され得る。擬似単語のもっともらしさは、ユーザがより管理しやすくする。選択的に、擬似単語は、重み付け確率によって生成され得る。普通の確率の組がデータベース内の単語に割り当てられた場合には、生成された擬似単語は、より自然であるように見える傾向がある。
【００３５】
このプロセス１００は、図１でさらに説明される。最初に、ステップ１１０で、単語の集合が選択される。上記されたように、単語の集合は、有効な英単語のデータベースであり得る。理解されるように、単語の他のデータベースまたは文字のグループがまた用いられ得る。初めの候補単語は、ステップ１２０で擬似単語の初めのセグメントが選択された集合から選択される。次に、次の単語と一致するためのスライディング（ｓｌｉｄｉｎｇ）ウィンドウが、ステップ１３０で選択される。スライディングウィンドウは、３つの連続的な文字、４つの連続的な文字、単一の文字、１つおきの文字、または他のグループであり得る。初めのセグメントは、初めの候補単語とスライディングウィンドウとから決定される。この例において、スライディングウィンドウは、３つの連続的な文字から成り、初めの候補単語の第二の文字から開始する。初めのセグメントは、第一の候補単語の第一の４つの英文字から成る。
【００３６】
次に、ステップ１４０で、第二の単語が集合から選択され、そしてステップ１５０で初めの候補単語と比較される。これらの２つの単語は、それらが共通のセグメントを有すること（すなわち、スライディングウィンドウ内の２つの単語のそれぞれの英文字が一致するか否か）を決定するために比較される。それらが一致しない場合には、プロセスは、一致する単語が見出されるまで、ステップ１４０に戻って、次の単語を選択する。ステップ１６０で、一致する単語が検査されて、それがスライディングウィンドウを超える少なくとも１つの英文字を有しているか否かを決定する。有している場合には、共通のセグメントの外の一致する単語から選択された、スライディングウィンドウに続く最初の英文字などの英文字が、擬似単語の終わりに追加され、該擬似単語は、この時点で初めのセグメントから成る。スライディングウィンドウは次に、ステップ１７０で１つの英文字ずつ右に移動されて、まさに追加された新しい英文字を含む。プロセスは次いでステップ１３０に戻って、スライディングウィンドウ内の擬似単語の英文字が選択された単語の英文字と一致するような単語が見出されるまで、集合から次の単語を選択する。一致する単語がスライディングウィンドウを超える英文字を全く有しない場合か、または擬似単語が事前選択された単語の長さに達する場合には、プロセスは終了する。そのように形成された擬似単語が、ステップ１８０における出力である。選択的に、生成された擬似単語が、ステップ１８０で集合内の単語と比較され得ることにより、擬似単語が既存の単語との正確な一致であるか否かを決定する。正確な一致である場合には、生成された単語は拒絶され、プロセスはステップ１２０に戻って、「有効な」単語のうちの１つではない単語を形成する。
【００３７】
そのように生成された擬似単語の数は、オーバーラップするセグメントの長さに依存して、最初のデータベース内の有効な単語の数を超えてかなり拡大し得る。結果として、そのように形成された擬似単語は、有効な単語よりも多くの情報を伝達するために用いられ得る。
【００３８】
擬似単語の大きな集合を生成すると、次に、圧縮／解凍のアルゴリズムを開発する必要がある。各擬似単語は、ビット列に対応するように作られ得る。マッピングは１対１でなければならず、それにより、任意の擬似単語がビット列から回復され、そしてその逆もまた同様に回復され得る。演算符号化（ａｒｉｔｈｍｅｔｉｃ  ｅｎｃｏｄｉｎｇ）が、そのような１対１のマッピングを決定するために用いられ得る。演算符号化は、可能性として最もコンパクトな圧縮を形成する能力のあることが知られている。従って、それは、圧縮されたテキストが非常に小さな構造を持つという特性を有し、任意のランダムなビット列を実質的に解凍可能であることを意味している。特に、それは、公開鍵のようなテキスト解凍のランダムデータに対してかなり影響を受けやすい。この技術を用いて、人は第一の４つの英文字を用いて、例えば、半広の単位間隔［０，１）のサブ間隔（ｓｕｂｉｎｔｅｒｖａｌ）内に第一の区分を決定する。これは、単語をサブ間隔に割り当てるステップである。サブ間隔の中のどのサブ間隔に、単語が割り当てられるべきかが、決定論的関係を用いて決定され、その例は以下で詳細に記載される。サブ間隔自体は次いで、より小さなサブ間隔へとさらに分割される。次の４つの英文字が、サブ間隔のサブ間隔内への次の区分を決定する。各４英文字のセグメントは、それをより小さなサブ間隔へと移動する。このコーディングは適応的である。なぜならば、第二から第五までの英文字から成る４英文字のセグメントの確率分布が、第一から第四までの英文字に依存するからである。もちろん、４英文字のセグメントがこの例で用いられるが、他のグループ、例えば、英文字の対または３英文字のセグメントがまた用いられ得る。さらに、演算符号化が例として用いられるが、ハフマン符号化などの他の圧縮／解凍アルゴリズムがまた用いられ得る。
【００３９】
このプロセスの例が図２でさらに例示され、以下においてかなり詳細に記載される。最初のステップは、サンプル集合内の連続する４英文字のグループの頻度を作表することである。サンプル集合は、図１に示された手順に従って生成されるようなプールされたテキストかまたは擬似単語の集合であり得る。一旦頻度が作表されると、頻度が確率に、すなわち、半広の単位間隔［０，１）内の数字に変換される。４英文字のグループに基づいたこの頻度または確率の作表が例示の便宜のためであることは理解されるであろう。他のグループがまた用いられ得る。例えば、頻度は、単一の英文字、３つの英文字のグループ、単語、または他のパターンに基づき得る。また、テキスト圧縮は、適応的な演算コーディングを用い得、そこでは、頻度が変化し、圧縮されるテキストに適応しさえする。
【００４０】
次に、単位間隔２００または半広の範囲［０，１）は、０を含むが１を含んでおらず、頻度に比例する確率のそれぞれに対応する長さのサブ間隔２０２に分割される。これらのサブ間隔は、オーバーラップしない。各サブ間隔は、それが下限の値を含むが、上限の値を含まないという点において半広である。サブ間隔の集合全体が、完全に単位間隔［０，１）を満たす。４英文字の各グループは、一意のサブ間隔を範囲［０，１）で割り当てられる。各サブ間隔が４英文字のグループに一意にマッピングされる限り、どのサブ間隔が４英文字の特定のグループに割り当てられるかは重要ではない。
【００４１】
擬似単語などのテキスト文字列をビット列に割り当てるために、最初にテキストを４英文字の連続するグループに分割する。最後のテキストは、必要に応じて４英文字までパディングされる。最初のビット列に符号化されたテキストを成功裡に解凍するためには、同一のパディング規則が、圧縮プロセスと解凍プロセスとの両方に対して用いられなければならない。第一のグループが、第一のサブ間隔２０４を決定し、第一のサブ間隔２０４は、範囲ａ〜ｂまたは［ａ，ｂ）を有し、その範囲は、ａを含むがｂを含まない。従って、テキストは、サブ間隔２０４内の数または範囲［ａ，ｂ）に対応する。
【００４２】
次に、サブ間隔２０４は、頻度または確率の同一の割り当てに基づいて単位間隔［０，１）にさらに再分割される。すなわち、マッピング２０６において、間隔［ａ，ｂ）が、再分割される単位間隔［０，１）にマッピングされる。次の４英文字が、次のサブ間隔２０８、すなわち範囲［ｃ，ｄ）を決定する。換言すると、テキストの数は、
ａ＋（ｂ−ａ）＊ｃ
を超えるが、
ａ＋（ｂ−ａ）＊ｄ
未満の数に対応することがこの時点で決定され得る。テキストがより多くの残りの文字を有する場合には、次の４英文字が検査され、それは、さらなるマッピング２１０を介して数を、範囲［ａ＋（ｂ−ａ）＊ｃ，ａ＋（ｂ−ａ）＊ｄ）内のより微細なサブ間隔２１２［ｅ，ｆ）に移動させる。このプロセスは、テキスト内のすべての文字を使い果たして最終的な範囲が見出されるまで、必要に応じてさらなるマッピング２１４、２１６を介して繰り返される。従って、４英文字の各グループは、数をより小さなサブ間隔に限定する。本質的に、これは不均衡な語根の拡張である。一旦最終的な範囲またはサブ間隔が決定されると、テキストは、この範囲の数に対応するように設定され得る。数を最初のテキストに変換するときに、対応する規則が用いられる限り、任意の規則が、この範囲で数を選択するために用いられ得る。１つの可能性は、範囲の開始点を最終的な数として選択することである。
【００４３】
好ましくは、以下で記載されるように、数は、２進の拡張に基づいて選択され得る。サブ間隔が小さくなるにつれて、最終的な範囲は、０と１との間の数に近づくことが認識されるであろう。このサブ間隔内の任意の数の２進の拡張は、形式０．ｂ１ｂ２ｂ３．．．であり、ここで、各ビットｂｉは、ｂｉ∈｛０，１｝である。実際に、サブ間隔がかなり小さいので、あるｎに対する最初のｎビットの値は、サブ間隔内のすべての数字に対して同じになるであろう。すなわち、サブ間隔内のすべての数字は、形式０．ｂ１ｂ２ｂ３．．．ｂｎ＋Δで表現され得、ここで、Δ＜１／２ｎである。これらのビット、ｂ１ｂ２ｂ３．．．ｂｎが、テキストの圧縮された値を形成する。
【００４４】
テキストの解凍は、単に上記のプロセスを逆にする。それは、ビット列を間隔０〜１内の数に変換し、次いで対応するサブ間隔を決定し、これらのサブ間隔を本来のテキストに変換する。
【００４５】
図３は、ビット列を解凍し、それをテキストに変換するプロセス３００のステップを詳細に例示している。プロセスを初期化するために、すべての可能な連続する４英文字のグループの頻度が作表され（ステップ３１０）、上記のように、４英文字の各グループが、単位間隔［０，１）内のサブ間隔２１２［ｅ，ｆ）を割り当てられる（ステップ３２０）。次に、ビット列ｂ１ｂ２ｂ３．．．ｂｎが、数ｘ＝０．ｂ１ｂ２ｂ３．．．ｂｎとして表現される（ステップ３３０）。
【００４６】
ビット列ｂ１ｂ２ｂ３．．．ｂｎから第一の４文字を見出すために、数ｘが位置するサブ間隔または範囲［ａ，ｂ）が、文字のグループとサブ間隔との間のマッピングから最初に決定される（ステップ３４０）。これは、第一の４文字を決定する。次の４文字を見出すために、決定された４文字の寄与が数から除去される（ステップ３５０）。そうするためには、範囲の下限の値が数から減算され、差分が範囲によって除算され、
ｘ１＝（ｘ−ａ）／（ｂ−ａ）
となる。寄与の除去は、場合に応じてビット列ｂ１ｂ２ｂ３．．．ｂｎかまたはビット列の残りのビットからの最上位ビットの除去と等しい。プロセスは、数ｘ１が位置する次のサブ間隔または範囲［ｃ，ｄ）を見出すために、ステップ３４０から繰り返される。プロセスが繰り返すときに、ビット列ｂ１ｂ２ｂ３．．．ｂｎからのビットがもう残っていない時点が存在する。この状態は、プロセスを終了させるために、ステップ３６０で試験される。最後のグループが任意のパディング文字を含んでいる場合には、パディング文字が除去される。４文字のこれらのグループは、それらが決定された順序で配列されており、解凍されたテキストを形成する。解凍されたテキストは、最終ステップ、ステップ３７０で出力される。この方法でビット列から解凍されたテキストは、公開鍵、公開鍵の証明証または暗号文などの暗号値のよりよく管理できる表示として用いられ得る。
【００４７】
選択的に、ユーザによってなされた一部の小さなエラーが訂正され得るように、何らかのフォールトトレランスを含むことは有利である。（これは選択的である。なぜならば、通常、電子メールおよびウェブアドレスが何らの有意なフォールトトレランスを含まないからである）。フォールトトレランス、エラー検出またはエラー訂正のコードを含むことが、テキスト解凍の前に公開鍵に適用され得る。テキスト解凍の際に、公開鍵のテキストは、スペル訂正などの特定の冗長性を含み得る。従って、ユーザが公開鍵のテキストを入力するときに、公開鍵のテキストは最初にスペルが訂正され得、次いで圧縮され、次にエラーが訂正される。そのような対策は、わずかなコストを招くが、システムをより使用可能にする結果につながる。
【００４８】
暗号値を読みやすく表現することへの別のアプローチ（いわゆる「文法段落方法（Ｇｒａｍｍａｔｉｃａｌ  Ｐａｒａｇｒａｐｈ  Ｍｅｔｈｏｄ）」）は、文法的に正しいテキストを作ることである。一般的に言えば、文法的に正しい文は、一般的な圧縮技術によって、また適応的な演算コーディングによってさえも容易に検出されない特定の冗長性を有している。さらに、従来のサンプルテキストに基づくテキスト圧縮アルゴリズムは、最適であるよりも効率的でないことがあり得る。このことは、サンプルテキストが意味的に正しく、従って特別な冗長性を有しているためである。意味的に理解されない文は、おそらくユーザインタフェースとして暗号値に使用可能である。意味のない文がそれほど冗長性を有していないので、意味のない文は、より小さな表示を提供し得る。
【００４９】
【表２】
2010533878.tif 000004
表２は、数字を段落に変換する例示的な実装の結果を示している。数字は、ビットストリームとして扱われる。ビットストリーム内の初めのビットが、初めの文を決定する。初めの文は、ストリームのいくつかのビットを消費し、それは、演算コーディングを介して低減される。演算コーディングにおいて、ビットストリームは、無限とみなされるので、終了条件が各文に対して試験される。ストリームがまだ終了されない場合には、別の文が生成される。ストリームが文の中間で終了する場合には、残りのビットは、最後の文が終了するまで、０に設定されるか、または復号化にも用いられる他のビットパターンによってパディングされる。
【００５０】
図４は、文法的に正しいが、必ずしもどのような意味も伝えないテキストにビットストリームを変換する適応プロセス４００のステップ例を詳細に示している。便宜上、第一のステップ、ステップ４１０は、構築される文について特定の選択を行うために、初めのビットを用いることである。すなわち初めのビットは、構築される文を文レベルで決定するために用いられる。例えば、第一のビットは、文が陳述文、疑問文または命令文のいずれになるかを決定するために用いられ得る。さらに、これらの第一のビットはまた、文が重文または単文のいずれになるかを決定するために用いられ得る。ビットの実際の数と、これらのビットの値がどのように文のタイプに割り当てられるかとは、設計選択である。認識されるように、文レベルでの文についての他の選択がまた、この時点に行われ得、それは、より多くの初めのビットを消費するであろう。
【００５１】
次に、ステップ４２０で、次のビットが、文の動詞についてのいくつかの選択を決定するために消費される。例えば、それらのビットは、特に、本動詞が他動詞または自動詞のいずれになるか、動詞の時制が何であるか、そして文が肯定または否定のいずれであるかを決定するために用いられ得る。一旦これらの選択が行われると、実際の動詞が、ステップ４３０で動詞の語彙から選択される。好ましくは、これらの候補の動詞は、インデックスを付けられ、ビットの次のグループに対応するインデックスの動詞が選択される。動詞とビットのグループとの間の他の対応が用いられ得る。あるいは、動詞はまた、ストリームの何らのビットも消費しない決定論的アルゴリズムで選択され得る。動詞選択の他の微細化が行われ得る。例えば、単語を選ぶ前に、規則動詞または不規則動詞を用いるか否かを決めることが実装され得る。なぜならば、このことは、実装を少しより容易にするからである。
【００５２】
同一の対応（例えば、ビットのグループと動詞の時制との間の対応）が逆のプロセスに用いられる限り、上記の選択がどのように行われるかは重要でないことが認識されるであろう。さらに、これらの選択が行われる順序もまた重要ではない。例えば、文の態または動詞の時制が最初に選択されるか否かにかかわらず、生成された文または構築プロセスにも影響しない傾向がある。それでも、特定の順序が好適であり得る。例えば、最初に文のタイプを選択すること（すなわち、文が陳述文、疑問または命令文のいずれになるかを最初に決定すること）は、特定の他の選択を行うことが不要になり得る。例えば、文が命令文である場合には、動詞の特定の時制が用いられないことがあり得るか、またはより可能性が小さくなり得る。
【００５３】
次にステップ４４０で、文の主語が決定される。いくつかのビットは、主語が単数または複数のいずれであるかを決定するために消費される。主語の人称がまた決定される。主語が一人称でも二人称でもない場合には、さらなるビットが、名詞を選択するために消費される。同様に、文の目的語が、ステップ４５０で決定されるが、ビットストリームからより多くのビットを消費する。
【００５４】
文がステップ４６０で構築される。この構築ステップは、上記のステップで決定されたすべての構成要素を合わせて単に集めるよりも多い。文は文法的に構築される。例えば、疑問文が構築される場合には、適切な助動詞が最初に決定され、文の最初に配置される。認識されるように、文法的に正しい文は、一般的な圧縮技術によって、また適応的な演算コーディングによってさえも容易に検出されない特定の冗長性を有している。意味的に理解されない文は、おそらくユーザインタフェースとして暗号値に使用可能である。さらに、単語が連続的な文法的に正しい文で接続されるので、単語を互いに接合することは概してさらに困難であり、従って、暗号値のそのようなテキスト表示をセキュリティ攻撃に対してより大きな抵抗力があるようにする。
【００５５】
文が構築された後に、ビットストリーム内に余分の残りのビットがまだ存在する場合には（ステップ４７０）、プロセスは、次の文を構築するために、ステップ４１０に戻る。すべてのビットが消費された場合には、構築された文が最後の文になり、構築されたすべての文が、出力に送信される（ステップ４８０）。最後の文の構築の間に、ビットストリーム内の残りのビットが十分でない場合には、最後の文が構築され得るまで、ビットストリームはパディングされる。もちろん、テキスト表示がビット列に戻るように変換されるときには、同一のパディングされたビットが、復号化プロセスの間に除去される。
【００５６】
コーディングが適応的であることは認識されるであろう。従って、ストリームの末尾への変更は、コーディングの末端を変更するだけである。表３は、このことを例示している。表２および表３の数字は、ボールド体で示される、後に続く部分においてだけ異なっている。最初の３つの文は、前に表２に示された最初の３つの文と同一である。両方の例において、第四の文は、否定文で、かつ一人称である。第二の数字内の後に続く１０進のゼロが、後に続くゼロのビットをもたらす。これらの後に続くビットが、残りの文に影響を及ぼし、本動詞「ｔｏ  ｂｅ」を有する第四の文、第六の文および第七の文にも関与する。
【００５７】
【表３】
2010533878.tif 000005
認識されるように、文の構築プロセスは、より多くの様々な文を含むように修正され得、その結果として、段落がより「現実的」に見えることがあり得る。例えば、生成された段落が、受動態、前置詞、複合語、従属節、または比較を用い得る。これらの追加機能を付加することによって、より多くのビットが、文についての選択を提供するために必要とされ、出力テキストが、よりいっそう短くなる傾向がある。
【００５８】
この符号化方法は、暗号値（例えば、公開鍵、鍵証明証またはデジタル署名）を圧縮する一般的な方法と非常にうまく組み合わされる傾向がある。以下の例は、暗号値を圧縮する方法を例示する。
【００５９】
図５は、公開鍵を圧縮する方法を例示している。圧縮プロセス５００は、暗号値（この例では公開鍵）に対する圧縮基準を選択することによって、ステップ５１０から始まる。基準は、例えば、単語または擬似単語の所定の集合から選択されることをすべての公開鍵に要求することによる規則ベースであり得る。基準はまた、例えば、選択された暗号値が４０個の後に続くゼロを必要とすることによるパターンベースであり得る。基準はまた、後に続く文字の所与の数または暗号テキストの全体に対して、例えば、電子メールアドレスまたはウェブサイトアドレスに対応するように、特定のストリングまたはテキストを選択することであり得る。基準はまた、暗号値をよりよく管理できるようになし得る任意の他のユーザ選択要件に基づき得る。もちろん、基準はまた、別のプロセスで事前決定されるか、またはシステムに従った要求などのサードパーティによって決定され得る。基準の目的は、暗号値の特定のビットが、伝送および記憶の間に省略され、次いで、さらなる暗号操作（例えば、解読）が、その暗号値において実行される前に再構築され得ることである。例示のために、基準は、圧縮された公開鍵が４０個の後に続くゼロを有しなければならないことを必要とする。
【００６０】
公開鍵システムにおいて、公開鍵は、その対応する秘密鍵と数学的に関係がある。例えば、楕円曲線公開鍵は、その対応する秘密鍵の一定の倍数であり、乗数は、次数ｎの選択された楕円曲線のジェネレータ（ｇｅｎｅｒａｔｏｒ）ｇである。図５に示されたプロセス５００は、網羅的なサーチの間に違った形で必要とされる乗算操作を避けるために、秘密鍵と公開鍵との間の倍数的に増加する関係を利用する。プロセス５００の残りのステップは、次のように、
１．秘密鍵／公開鍵の対（ｄ０，Ｑ０）を初期化、すなわち、最初に任意の秘密鍵ｄ０∈［１，ｎ−１］を生成し、そしてインデックスｉを０に設定し（ステップ５２０）、次いで、対応する公開鍵Ｑ０＝ｄ０ｇを計算する（ステップ５３０）
２．ループ内で、公開鍵Ｑｉが圧縮基準を満たしているか否か、すなわち、公開鍵Ｑｉが４０ビットの０で終わるか否かを最初に評価する（ステップ５４０）
３．Ｑｉが圧縮された形式でない場合には、
（ａ）秘密鍵をインクリメントする。ｄｉ＋１＝ｄｉ＋１（ステップ５５０）
（ｂ）公開鍵をインクリメントする。Ｑｉ＋１＝Ｑｉ＋ｇ（ステップ５６０）
（ｃ）ｉを１によってインクリメントする
（ｄ）ループの始め（すなわち、ステップ５４０）に戻る
４．圧縮された鍵Ｑが見出されるときには、秘密鍵／公開鍵の対（ｄ，Ｑ）を出力する（ステップ５７０）
となる。
【００６１】
このプロセスは、約２４０回繰り返す。一旦圧縮された鍵が取得されると、圧縮された鍵は、それのテキスト表示を取得するために、図３と関連して記載された方法を用いて「符号化」され得る。
【００６２】
上記のように、暗号値は、公開鍵に限定されない。以下の例は、公開鍵の証明証内のＣＡデジタル署名の圧縮を例示する。公開鍵システムにおいて、公開鍵の証明証は、少なくとも２つの部分、データ部分および署名部分から成るデータ構造である。データ部分は、証明される少なくとも公開鍵と、公開鍵の所有者のＩＤ（ｉｄｅｎｔｉｔｙ）を表す情報の一部分とを含む平文データを含んでいる。署名部分は、データ部分に関するデジタル署名から成る。デジタル署名は、証明機関のデジタル署名であり、それによって、鍵所有者のＩＤを保証された鍵と結び付ける。
【００６３】
証明機関は、選択されたその公開鍵Ｑおよび秘密鍵ｄをすでに有しており、概して、公開されたその公開鍵をすでに有している。従って、対象エンティティの公開鍵の証明証が、２つの異なる方法で圧縮され得る。それは、（ａ）対象エンティティの適切な公開鍵が、上記のように圧縮されるように適切に選択され、（ｂ）ＣＡの署名が圧縮される。両方の圧縮方法が、１つの証明証に適用され得る。図６は、実施形態の例において、公開鍵の証明証が、どのように圧縮され得るかを概略的に例示している。この例において、圧縮基準は、４０個の後に続くゼロを有する証明証を見出すことである。
【００６４】
ＣＡは、データ部分を初期化することによって、プロセス６００を初期化する。初期化６１０の間に、ＣＡは、対象の初めの短命な秘密鍵ｋ０を選択し、対応する初めの短命な公開鍵Ｒ０を計算する。ＣＡはまた、ＩＤ情報Ｉを選択して、証明証に含める。ステップ６２０で、ＣＡは、その確定された静的な秘密鍵ｄと、その短命な秘密鍵ｋ０とを用いて初めのデータ部分に署名することにより、初めの署名Ｓを取得する。ＥＣＤＳＡ署名に対して、署名Ｓは、（ｒ，ｓ）として計算され、ｒは、Ｒ０のｘ座標から導き出され、ｓは、（Ｈ（ｍ）＋ｄｒ）／ｋ０  ｍｏｄ  ｎとして計算される。ここで、Ｈは、ハッシュ関数であり、ｎは、ＥＣＤＳＡに対して用いられている楕円曲線群の次数である。計算された署名Ｓは、ステップ６３０で評価されて、署名Ｓが４０個の後に続くゼロを有しているか否か、すなわち、署名が圧縮基準を満たしているか否かを決定する。
【００６５】
概して、任意の初めの短命な公開鍵は、圧縮された証明証には至らない。ＣＡは次いで、ステップ６４０で新しい鍵の対を発見する。有利にも、ＣＡは、短命な秘密鍵をインクリメントし、対応するインクリメントを追加することによって、対応する短命な公開鍵を、
ｋｉ＋１＝ｋｉ＋１
Ｒｉ＋１＝Ｒｉ＋ｇ
として計算し得る。次に、プロセスはステップ６２０に戻り、新しい公開鍵に対応するデジタル署名が計算される。新しい署名は、ステップ６３０で評価されて、新しい署名が基準を満たしているか否かを決定する。基準を満たしている場合には、ＣＡは、プロセスを終了させ、ステップ６５０で対象エンティティに鍵の対と圧縮された公開鍵の証明証とを提供する。署名が基準を満たしていない場合には、ステップ６２０、ステップ６３０、およびステップ６４０が、圧縮された証明証が見出されるまで、繰り返される。そのように取得された公開鍵の証明証は、その署名部分が圧縮されることにおいて圧縮される。
【００６６】
圧縮された証明証は、例えば、図３で例示されたプロセスを用いて、よりユーザフレンドリなテキスト表示にさらに変換され得る。同様に、テキスト表示への変換はまた、図５および図６に示された圧縮プロセスの一部分として実行され得る。概して、暗号値（例えば、公開鍵または鍵証明証）をさらに圧縮するほど、暗号値は、ユーザフレンドリなインタフェースによって表現されると、さらに管理できるようになる。
【００６７】
テキスト表示アルゴリズムのさらなる適用が上記されたように、本発明者らは、以下のことを考慮する。文書（または、一見したところランダムな文字を含み得る任意のテキストを含む任意のメッセージ）に言語で署名するために、ユーザは、文書のハッシュ値をハッシュ関数あるいはＳＨＡ−１またはＳＨＡ−２５６などのセキュアなハッシュ関数を用いて計算する。そのようなハッシングは、通常ＥＣＤＳＡおよびＲＳＡなどの公開鍵署名に対しても行われる。なぜならば、メッセージが公開鍵よりしばしば長いからである。結果としてもたらされるハッシュは、ビット列であり、かつ暗号値である。選択的に、ユーザが、ＥＣＣなどの公開鍵インフラの一部である秘密鍵を有する場合には、ユーザは、ユーザの秘密鍵（および暗号デバイスまたはトークン）を用いて公開鍵署名を生成し得る。いずれの場合にも、ユーザは、暗号値が、署名されるメッセージの単にハッシュまたは公開鍵署名であるか否かにかかわらず、暗号値を有している。本明細書中に記載された方法は、暗号値をテキストに変換するために用いられ得る。ユーザはここで、ユーザがテキストを朗読するオーディオ記録またはビデオ記録を作成する。この記録は、メッセージの言語署名である。最もよいセキュリティのために、テキストは、普通でない単語、またはどのような他の状況でもユーザが発しそうにない擬似単語さえも利用する連続的な文法の言語を含むべきである。このことは、攻撃者がユーザの他の記録をとり、言語署名として表すようにそれらを互いに接合することを妨げる。
【００６８】
テキスト表示のまた別の適用としては、ユーザが暗号化されたメッセージ、例えば、電子メールを、暗号化が利用されているという注意を電子メールのオブザーバに対して引き付けることなく送信することを望むことが想定される。この試みに対する一般的用語は、ステガノグラフィー（ｓｔｅｇａｎｏｇｒａｐｈｙ）である。関連する問題は透かしであり、そこでは、ユーザが所有権を証明するために、１つのメッセージを別のものに埋め込む。既存のステガノグラフィーと透かしを入れる技術は、概して画像データおよび音声データに適用され、そこには、感知できない修正、および検知さえもできない修正の余地がある。本発明は、テキストに適用され得る。ステガノグラフィーの場合において、メッセージの暗号文が、暗号化を用いて生成され、次いで、本発明が、暗号文のそのテキスト表示を生成するために適用される。そのテキスト表示は、カバーテキストと呼ばれる。透かしの場合には、以下で記載されるように、もっと洗練されたテキスト表示方法が必要である。
【００６９】
透かしにおいて、それが適用されるときに、人は、秘密のテキスト（透かし）をより大きなテキスト（本来のテキスト）内に隠蔽することを望む。本発明は、本来のテキストを文法的かつ意味的に分析することによって、このことを提供し得る。文法への特定の変更および（同義語による置換えなどの）語彙への特定の変更でさえも、テキストの意味を変更しない。従って、プロセスは、修正が小さな文法的変更または小さな語彙の変更であるか否かにかかわらず、意味を変更することなく修正され得る本来のテキストの部分を識別することである。例えば、本来のテキスト内の単語は、いくつかの同義語を有し得る。単語を置換するために同義語の１つを選択することは、１つのそのような小さな語彙の変更であり得る。そのような小さな変更のリストは、文法的または語彙的にかかわらず、編集され得る。そのような小さな変更のリストは、ビット列に変換され得、逆もまた同様である。例えば、本来のテキスト内の１つの特定の単語が、４つの同義語のリストの中にあった場合には、４つの単語（例えば、１、２、３または４）のこのリスト内の単語のインデックスが、００、０１、１０または１１として、一対のビットにそれぞれ変換され得る。ここでまた、演算符号化が、これらの小さな文法および語彙の選択が典型的なテキストで行われる方法に基づいて、普通の重み付き確率によって用いられ得、それによって、結果としてもたらされるランダムなビット列の符号化が完全に普通に現われ、普通の本来のテキストがランダムなビット列を符号化する。従って、結果としてもたらされるビット列は、透かしを含む任意の暗号値を割り当てられ得る。
【００７０】
透かしは、実際には、ある大きなメッセージのハッシュか、またはある他のメッセージの暗号化であり得る。埋め込まれた暗号値は、それが埋め込まれた本来のテキストと何らの関係も有する必要がない。しかしながら、埋め込まれた暗号値は、本来のテキストと関連し得る。一実施形態において、埋め込まれた暗号値は、本来のテキストの識別子と関連する。このことは、例えば、シリアル番号を本来のテキストに埋め込むために用いられて、本来のテキスト（すなわち、平文データ）を合法的に購入された平文データのコピーとして識別し得る。従って、このことは、許可を受けて配布された平文データのすべての認可コピーと、無許可で再配布された平文データの無認可コピーとを追跡し、識別する方法を提供する。
【００７１】
本発明の様々な実施形態が、これまでに詳細に記載されてきた。当業者は、多くの修正、適合および変形が、本発明の範囲を逸脱することなく実施形態に対して行われ得ることを認識するであろう。上記された最良の形態に対する変更および／または追加が、本発明の本質、精神または範囲を逸脱することなく行われ得るので、本発明は、それらの詳細に限定されないが、添付の特許請求の範囲にのみ制限される。
【図１】
2010533878.tif 000006
【図２】
2010533878.tif 000007
【図３】
2010533878.tif 000008
【図４】
2010533878.tif 000009
【図５】
2010533878.tif 000010
【図６】
2010533878.tif 000011
【国際調査報告】
2010533878.tif 000012
2010533878.tif 000013