(57)【特許請求の範囲】
【請求項１】
暗号鍵を構成する文字又は文字列を選択する文字選択手段と、
この文字選択手段により選択された文字又は文字列から上記暗号鍵を生成し、その暗号鍵を基に暗号文を平文に復号化し、正しい上記暗号鍵か否かを照合する暗号解読手段とを備え、
上記暗号鍵を構成する文字又は文字列を格納した文字選択表を用いて、上記暗号鍵を生成し、
文字コード及びその文字コードから連続して選択する文字コードの数の組みを１つのエントリとして、暗号鍵を構成する文字又は文字列を格納する文字選択表に格納し、
連続して選択しない文字コードの数が少ない場合にはそれらの文字コードも選択し、
その選択しない文字コードの数、その前の連続して選択する文字コードの数及びその後の連続して選択する文字コードの数を１つにまとめ、それらを総和した数を連続して選択する文字コードの数として、暗号鍵を構成する文字又は文字列を格納する文字選択表に、格納することを特徴とする暗号鍵生成装置。
【請求項２】
暗号鍵を構成する文字又は文字列を選択する文字選択手段と、
この文字選択手段により選択された文字又は文字列から上記暗号鍵を生成し、その暗号鍵を基に暗号文を平文に復号化し、正しい上記暗号鍵か否かを照合する暗号解読手段とを備え、
上記暗号鍵を構成する文字又は文字列を格納した文字選択表を用いて、上記暗号鍵を生成し、
文字コード及びその文字コードから連続して選択する文字コードの数と、その次の文字コードから連続して選択しない文字コードの数の組を１つのエントリとして、暗号鍵を構成する文字又は文字列を格納する上記文字選択表に、交互に格納し、
連続して選択しない文字コードの数が少ない場合にはそれらの文字コードも選択し、
その選択しない文字コードの数、その前の連続して選択する文字コードの数及びその後の連続して選択する文字コードの数を１つにまとめ、それらを総和した数を連続して選択する文字コードの数として、暗号鍵を構成する文字又は文字列を格納する上記文字選択表に、格納することを特徴とする暗号鍵生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、Ｕｎｉｃｏｄｅのような多くの言語で使用される文字が混在する文字コードで構成される暗号鍵を探索する際に、探索候補となる暗号鍵を構成する文字コードを効率よく選択することができる秘密鍵暗号強度評価装置およびこの秘密鍵暗号強度評価装置による暗号鍵の生成方式に関するものである。
【０００２】
【従来の技術】
秘密鍵暗号において、その暗号の強度の評価は、暗号鍵を適当に生成し、その暗号鍵を用いて暗号文を平文に復号し、正しい平文に復号化されたかを照合し、正しくなければ他の暗号鍵を生成し処理を繰り返すという流れで行われる。従って、秘密鍵暗号強度評価の処理は、正しい暗号鍵を探索することである。
【０００３】
そして、この暗号鍵を探索する際には、暗号鍵を構成する各桁の文字について全ての文字コードの組み合わせを調べる方法（全数探索法）があるが、全ての文字コードに対する組み合わせでは、その数が膨大となる。そのため、組み合わせを構成する文字コードを英数字や記号に限定して、その限定された文字コードの全ての組み合わせにより暗号鍵の候補を生成して調べる方法がある。ＡＳＣＩＩのような文字コード体系では、英字、数字の文字コードは連続して割り当てられている場合が多いので、文字コードの限定は、コードＸＸ番からＹＹ番といった範囲指定で行うことが可能である。
【０００４】
また、探索する暗号鍵を選択（限定）する方法として、パスワード等によく使用する語彙を集めた辞書をあらかじめ用意しておき、その辞書に登録されている語彙を用いたり、その語彙の文字順序を変えたり、複数の語彙を組み合わせたりして、それらを暗号鍵として調べる方法がある。
【０００５】
近年、コンピュータ等で使用される文字は、従来の英数記号だけでなく、漢字や特殊記号等も容易に入力できるようになり、それらの文字が従来の英数記号のように使用されるようになってきた。そのため、暗号鍵を構成する各文字に関しても、それらの多様な文字が使用されるようになり、暗号鍵の文字コードもＡＳＣＩＩのような８ビットではなく、世界各国の文字体系に対応できる統一文字コードであるＵｎｉｃｏｄｅのような１６ビットコードが使用されるようになった。従って、暗号鍵に漢字が使用されることも多くなってきた。
【０００６】
そのため、暗号鍵の探索において、暗号鍵を構成する文字コードを従来のように英数記号に限定することは探索の失敗を招く可能性が高くなり、漢字に対応する文字コードも暗号鍵を構成する文字コードの対象としなければならなくなった。
【０００７】
また、近年、暗号化及び復号化の処理をハードウェア等で実現することにより高速化されており、例えば、ＤＥＳの場合、段数分のクロック（通常、８クロックから１６クロック程度）で暗号化及び復号化することができる。また、ハードウェアによる暗号回路を複数搭載し、複数の暗号鍵候補に対する処理を並列に行うことにより、高速に暗号強度評価を行う方式も提案されてきている。
【０００８】
世界各国の文字体系に対応できる統一文字コードであるＵｎｉｃｏｄｅでは、漢字に対応するコードの領域は、日本、中国本土、台湾、韓国の各国の漢字を形状が似通った順に文字コードを割り付けているため、日本に関係する漢字の文字コード（例えばＪＩＳ規格の文字コード）が、連続して割り付けられていない。そのため、暗号鍵候補を生成する際に、暗号鍵を構成する文字コードを限定するのに、従来の英数字記号の限定のように、単純な文字コードの範囲指定では行えないという問題点があった。
【０００９】
従って、何らかの方法で暗号鍵を構成する文字コードの情報を暗号回路に指定する必要があるが、前述したように、暗号回路のハードウェア化及び並列化による暗号処理の高速化により、１つの暗号鍵に対する暗号化／復号化処理よりも暗号鍵を生成するための情報転送の方が時間がかかり、いくら暗号処理を高速化しても、情報転送が障害となり、暗号強度評価が高速に行えないという問題点があった。
【００１０】
すなわち、１つの暗号鍵の生成に必要な文字コードの情報は１６ビットすなわち２バイトであり、１バイトの転送に１クロックしか必要としないとしても、暗号回路が８つ搭載されていた並列システムでは、１つの暗号鍵を生成するための情報を全ての暗号回路に転送するためには、２×８＝１６クロック必要となる。従って、８段のＤＥＳ暗号では８クロックで暗号化／復号化処理が可能なので、情報転送に障害がおこるという問題点がある。また、それ以上の段数の暗号においても、暗号回路が多く搭載されると、同様に情報転送に障害がおこる。
【００１１】
そして、この情報転送の障害を解消するためには、情報に対するデータ量の削減、すなわちデータ圧縮を行う必要がある。漢字コードや複数の異なる言語の混在するＵｎｉｃｏｄｅで構成される情報を圧縮する技術は、特開平９−２１８８６７号公報及び特開平６−１８７３７１号公報において開示されている。
【００１２】
特開平９−２１８８６７号公報は、異なる言語の混在する文字列において、言語毎に文字列を分離し、言語毎の統計的性質を用いて効率的に圧縮する技術である。しかし、本願で圧縮する情報は、Ｕｎｉｃｏｄｅのような多くの言語が混在する文字コードを用いているが、日本語という単一の言語の情報を対象としているので、特開平９−２１８８６７号公報で開示されている方式では効果がなかった。
【００１３】
また、特開平６−１８７３７１号公報は、地名データを出現頻度の情報を基に効率的に圧縮する技術である。しかし、本願で圧縮する情報の各文字は、１度しか出現することはないので、出現頻度はすべて１であり、特開平６−１８７３７１号公報で開示されている方式では効果がなかった。
【００１４】
【発明が解決しようとする課題】
従来の秘密鍵暗号強度評価装置およびこの秘密鍵暗号強度評価装置による暗号鍵の生成方式は以上のように構成されているので、Ｕｎｉｃｏｄｅのような多くの言語で使用される文字が混在する文字コードで構成される暗号鍵を探索する際に、探索候補となる暗号鍵を構成する文字コードを効率よく選択することができない等の課題があった。
【００１５】
この発明は上記のような課題を解決するためになされたもので、Ｕｎｉｃｏｄｅのような多くの言語で使用される文字が混在する文字コードで構成される暗号鍵を探索する際に、探索候補となる暗号鍵を構成する文字コードを効率よく選択することができる秘密鍵暗号強度評価装置およびこの秘密鍵暗号強度評価装置による暗号鍵の生成方式を得ることを目的とする。
【００１６】
【課題を解決するための手段】
この発明に係る秘密鍵暗号強度評価装置は、暗号鍵を構成する文字又は文字列を選択する文字選択手段と、この文字選択手段により選択された文字又は文字列から上記暗号鍵を生成し、その暗号鍵を基に暗号文を平文に復号化し、正しい上記暗号鍵か否かを照合する暗号解読手段とを備え、上記暗号鍵を構成する文字又は文字列を格納した文字選択表を用いて、上記暗号鍵を生成し、文字コード及びその文字コードから連続して選択する文字コードの数の組みを１つのエントリとして、暗号鍵を構成する文字又は文字列を格納する文字選択表に格納し、連続して選択しない文字コードの数が少ない場合にはそれらの文字コードも選択し、その選択しない文字コードの数、その前の連続して選択する文字コードの数及びその後の連続して選択する文字コードの数を１つにまとめ、それらを総和した数を連続して選択する文字コードの数として、暗号鍵を構成する文字又は文字列を格納する文字選択表に、格納するようにしたものである。
【００１７】
この発明に係る秘密鍵暗号強度評価装置は、暗号鍵を構成する文字又は文字列を選択する文字選択手段と、この文字選択手段により選択された文字又は文字列から上記暗号鍵を生成し、その暗号鍵を基に暗号文を平文に復号化し、正しい上記暗号鍵か否かを照合する暗号解読手段とを備え、上記暗号鍵を構成する文字又は文字列を格納した文字選択表を用いて、上記暗号鍵を生成し、文字コード及びその文字コードから連続して選択する文字コードの数と、その次の文字コードから連続して選択しない文字コードの数の組を１つのエントリとして、暗号鍵を構成する文字又は文字列を格納する上記文字選択表に、交互に格納し、連続して選択しない文字コードの数が少ない場合にはそれらの文字コードも選択し、その選択しない文字コードの数、その前の連続して選択する文字コードの数及びその後の連続して選択する文字コードの数を１つにまとめ、それらを総和した数を連続して選択する文字コードの数として、暗号鍵を構成する文字又は文字列を格納する上記文字選択表に、格納するようにしたものである。
【００２６】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による秘密鍵暗号強度評価装置において８つの並列に動作する暗号解読手段から構成される秘密鍵暗号強度評価装置のデータの流れを示す構成図であり、図において、１は秘密鍵暗号強度評価における暗号鍵を探索する際の探索候補となる暗号鍵の各桁の文字を選択するための文字選択手段、１−１は暗号鍵を生成する際に暗号鍵を構成する各暗号桁の文字が格納された文字選択表、１−２は暗号解読手段２〜９からの要求により暗号鍵を構成する文字情報を送る際に、文字選択表１−１のどのエントリの情報を返すか等の管理を行う選択表管理手段である。２〜９はあらかじめ用意された暗号文及び既知平文を用いて文字選択手段１から暗号鍵の文字情報を受け取り暗号鍵を生成し暗号解読を行う暗号解読手段である。
【００２７】
図２はこの発明の実施の形態１による秘密鍵暗号強度評価装置において暗号鍵が１２８ビットの場合の暗号解読手段の構成を示す構成図であり、図において、２−１は文字選択手段１から送られてくる文字情報を基に暗号鍵２−１−１０を生成する暗号鍵生成手段、２−２はこの暗号鍵生成手段２−１から暗号鍵２−１−１０を受け取り、あらかじめ入手している暗号文を復号化する暗号／復号手段、２−３は暗号／復号手段２−２により復号化された平文を用いて、暗号鍵生成手段２−１により生成された暗号鍵２−１−１０が正しい暗号鍵かどうかを照合する照合手段である。
【００２８】
また、２−１−１は暗号鍵２−１−１０を生成する際に次にどの桁の文字を更新するのか等を管理する鍵生成管理手段、２−１−２〜２−１−９は暗号鍵２−１−１０の各桁毎にどの文字まで生成したか等を管理する暗号桁管理手段、２−１−１０は生成される暗号鍵である。
【００２９】
次に動作について説明する。
図３はこの発明の実施の形態１による秘密鍵暗号強度評価装置の秘密鍵暗号強度評価処理を示すフローチャートである。
まず、暗号鍵生成手段２−１により暗号鍵２−１−１０が生成され（ステップＳＴ１）、あらかじめ用意している暗号文を暗号／復号手段２−２により復号化し平文を求め（ステップＳＴ２）、その平文を基に照合手段２−３により生成された暗号鍵２−１−１０が正しいかどうかを照合する（ステップＳＴ３）。この照合処理は、暗号文に対応する平文（既知平文）が利用可能な場合はその既知平文と復号化された平文が等しいかどうかで照合でき、暗号文に対応する平文を利用できない場合は復号化された平文が意味のある文になっているかどうかで照合できる。図は、既知平文を利用できる場合を示している。
【００３０】
ステップＳＴ３の照合の結果、生成された暗号鍵２−１−１０が正しいと判断されれば、暗号強度評価処理は終了する（ステップＳＴ４）。一方、生成された暗号鍵２−１−１０が正しくないと判断されれば、暗号鍵生成手段２−１により次の暗号鍵２−１−１０が生成され（ステップＳＴ５）、暗号／復号手段２−２により復号化された後（ステップＳＴ６）、再び、ステップＳＴ３に戻って、照合手段２−３によりその暗号鍵２−１−１０が正しいかどうかが照合される。この処理を各暗号解読手段２〜９で独立して並列に行い、正しい暗号鍵が検出されるまで繰り返す。
【００３１】
次に暗号鍵生成の動作について説明する。
まず、暗号鍵生成手段２−１は、最初の暗号鍵を生成するために、文字選択手段１に対して初期暗号鍵用の文字情報の要求を送る。文字選択手段１は、この要求により、暗号鍵の全ての桁の初期文字として文字選択表１−１の先頭に登録されている文字の情報を暗号解読手段２へ返す。ただし、暗号解読手段２〜９で同一の暗号鍵を生成しないようにするために、文字選択手段１は、例えば暗号鍵の最上位桁の初期文字については、要求元の暗号解読手段により異なる文字情報を送るようにし、最上位桁の文字情報として現在文字選択表１−１のどのエントリまで暗号解読手段に送ったかを選択表管理手段１−２により管理する。なお、暗号解読手段２へ送る文字情報とは、文字そのものの情報とそれが文字選択表１−１のどのエントリに格納されているかという情報である。
【００３２】
図４はこの発明の実施の形態１による秘密鍵暗号強度評価装置の文字選択表を示す表図である。この図４は文字選択表１−１の１例であり、Ｕｎｉｃｏｄｅの漢字部分の文字コード＃４Ｅ００〜＃９ＦＡ５の中でＪＩＳ第１水準及び第２水準に相当する文字を選択するためのものである。１−１−１が１６進表記の文字コード、１−１−２がそれに対応する文字表現である。なお、実際の文字選択表１−１には、この内１６進文字コードだけが格納される。
【００３３】
図５はこの発明の実施の形態１による秘密鍵暗号強度評価装置の暗号鍵を示す説明図である。この図５は、図４の文字選択表１−１を保持する文字選択手段１から送られてくる文字情報を基にして生成される暗号鍵の例である。１０−１は文字選択手段１に初期暗号鍵用の文字情報の要求を送った結果返された暗号鍵の全ての桁の文字情報を基に生成された初期暗号鍵であり、全ての桁を文字選択表１−１の最初の文字で構成している。そして、この初期暗号鍵１０−１を暗号／復号手段２−２へ送り、復号処理及び照合処理を行う。
【００３４】
暗号桁管理手段２−１−２〜２−１−９は、現在生成されている暗号鍵の各桁の文字が、文字選択表１−１のどのエントリに相当するのかを管理する。初期暗号鍵１０−１を生成した段階では、暗号桁管理手段２−１−２〜２−１−９は全て文字選択表１−１の最初のエントリという情報を保持している。また、鍵生成管理手段２−１−１は、次の暗号鍵を生成する際にどの桁を更新するのかを判断する。初期暗号鍵１０−１を生成した段階で、次の暗号鍵を生成する際には、暗号鍵生成手段２−１は、文字選択手段１に次の暗号鍵を生成するための文字情報の送付要求を行う。
【００３５】
その際、暗号鍵の第１桁の文字を更新するので、暗号桁管理手段２−１−２から現在の文字のエントリ情報を取り出し、それを文字選択手段１に送付する。文字選択手段１は文字選択表１−１より先頭の次のエントリの文字すなわち“丁”を文字情報として返す。この結果生成される暗号鍵が、１０−２である。この処理を繰り返すことにより、文字選択表１−１の最後のエントリまで選択され、暗号鍵は１０−３のようになる。
【００３６】
次に、暗号鍵１０−３を生成した段階で次の暗号鍵を生成する際には、暗号桁管理手段２−１−２から最後のエントリという情報が文字選択手段１に送付されるので、文字選択手段１は「選択すべき文字がこれ以上ない」という信号を返す。鍵生成管理手段２−１−１はこれを受け取ると、第２桁の文字を更新するために暗号桁管理手段２−１−３から現在第２桁で選択されている文字のエントリ情報を取り出し、その次の文字要求を文字選択手段１に送付し、文字選択手段１は“丁”を文字情報として返す。また、鍵生成管理手段２−１−１は、第１桁の文字を選択するために、文字選択手段１に先頭エントリの文字要求を送付し、文字選択手段１は“一”を返す。その結果生成された暗号鍵が、１０−４である。そして、全ての桁を文字選択表１−１の最後の文字から選択したら、全ての暗号鍵を生成したことになる。
【００３７】
以上のように、この実施の形態１によれば、暗号鍵の各桁の文字を文字選択表１−１から文字コードを選択して構成しているので、Ｕｎｉｃｏｄｅのように各国の文字が混在し、例えば日本に関係する文字コードが連続して割り付けられていない文字コード体系においても、各桁の文字が日本に関係する文字コードから構成される暗号鍵を生成することができる等の効果が得られる。
なお、本実施形態では、暗号解読手段を複数設けた例を示したが、暗号解読手段が１つしかない場合でも、同様の効果を得ることができる。
【００３８】
実施の形態２．
図６はこの発明の実施の形態２による秘密鍵暗号強度評価装置の文字選択表を示す表図である。
上記の実施の形態１では、文字選択表１−１の各エントリに１つの文字を格納したものである。しかし、この実施の形態２では文字選択表１−１の１つのエントリに複数の文字情報を格納するようにしたものである。実施の形態２では、図４と同様にＵｎｉｃｏｄｅの漢字部分の文字コード＃４Ｅ００〜＃９ＦＡ５の中でＪＩＳ第１水準及び第２水準に相当する文字を選択するためのものである。
【００３９】
１−１−３が１６進表記の文字コード、１−１−４が選択すべき文字が文字コード１−１−３から連続している個数を表している。従って、図６の文字選択表の先頭エントリは、文字コード＃４Ｅ００と＃４Ｅ０１を表し、第２エントリは＃４Ｅ０３を第３エントリは＃４Ｅ０７〜＃４Ｅ０Ｂを表している。
【００４０】
次に動作について説明する。
図６の文字選択表１−１を用いた場合、文字選択手段１から暗号鍵生成手段２−１に返される文字情報は、１つの文字の情報ではなく複数の文字の情報となり、文字コードとその文字コードからの連続数となる。この情報は暗号鍵の各桁毎に暗号桁管理手段２−１−２〜２−１−９で保持され、次の暗号鍵を生成する度に、保持している文字コードに連続数を加えた値が現在の文字コードに１を加えた値より大きい場合は現在の文字コードに１を加えた値を次の文字とし、保持している文字コードに連続数を加えた値が現在の文字コードに１を加えた値と等しい場合は文字選択手段１に次の文字の情報を要求する。
【００４１】
なお、文字情報の転送時間より１つの暗号鍵に対する復号化処理が相対的に速い場合とは、暗号解読手段が１つしかない場合では、その暗号解読手段での１つの暗号鍵に対する復号化処理が１回の文字情報の転送時間より速い場合を言い、これまでの実施形態で示したように複数の暗号解読手段から構成される例では、全ての暗号解読手段に文字情報を転送する間に１つの暗号解読手段において１つの暗号鍵に対する復号化処理が終了するような場合を言う。
【００４２】
以上のように、この実施の形態２によれば、文字選択表１−１の１つのエントリに複数の文字の情報を格納し、１度に複数の文字の情報を転送しているので、文字情報の転送時間より１つの暗号鍵に対する復号化処理が相対的に速い場合でも、１回の情報転送に対して複数の暗号鍵が生成され暗号解読処理が行われ、情報転送が障害とはならなくなる等の効果が得られる。
【００４３】
実施の形態３．
図７はこの発明の実施の形態３による秘密鍵暗号強度評価装置の文字選択表を示す表図である。
上記実施の形態２では、文字選択表１−１の各エントリに文字コードとそれに続く個数を格納することにより複数文字の情報を格納するようにしたものである。しかし、この実施の形態３では、更に多くの文字情報を文字選択表１−１の各エントリに格納するものである。例えば、Ｕｎｉｃｏｄｅで日本に関連する漢字を選択する場合を例にとると、選択する文字コードが連続している個数は多くても１２個で、平均すると１．６個である。
【００４４】
一方、実施の形態３では、図７に示すように、文字選択表１−１の１エントリを３２ビット×２の６４ビット（図では２つの行）とした場合の文字選択表１−１の例であり、図４及び図６と同様にＵｎｉｃｏｄｅの漢字部分の文字コード＃４Ｅ００〜＃９ＦＡ５の中でＪＩＳ第１水準及び第２水準に相当する文字を選択するためのものである。１−１−５が１６進表記の文字コード、１−１−６が１−１−５の文字コードから連続して選択する文字の個数を表し、１−１−７がその次に選択する文字までの選択しない文字コードの個数を表し、１−１−８がその次の文字から連続して選択する文字の個数というように、選択する文字の個数、選択しない文字の個数が交互に格納されている。
【００４５】
なお、各要素は５ビットであり、１−１−９は１ビットの空領域である。従って、図７の文字選択表１−１の先頭エントリは、文字コード＃４Ｅ００，＃４Ｅ０１，＃４Ｅ０３，＃４Ｅ０７〜＃４Ｅ０Ｂ，＃４Ｅ０Ｄ，＃４Ｅ０Ｅ，＃４Ｅ１０，＃４Ｅ１１の１２文字を表している。
【００４６】
次に動作について説明する。
図７の文字選択表１−１を用いた場合、文字選択手段１から暗号鍵生成手段２−１に返される文字情報は、文字コードと選択する文字数、選択しない文字数の組み合わせとなる。この情報は暗号鍵の各桁毎に暗号桁管理手段２−１−２〜２−１−９で保持され、次の暗号鍵を生成する度に、保持している文字コードに選択する文字数及び選択しない文字数を順次加える。そして、選択する文字数を加えた時点で現在の文字コードに１を加えた値より大きくなった場合は、現在の文字コードに１を加えた値を次の文字とする。
【００４７】
一方、選択しない文字数を加えた時点で現在の文字コードに１を加えた値より大きくなった場合は、その選択しない文字数を加えた値を次の文字とする。そして、保持している情報全てを加えても現在の文字コードより大きくならない場合は、文字選択手段１に次の文字の情報を要求する。
【００４８】
以上のように、この実施の形態３によれば、文字選択表１−１の１つのエントリに非常に多くの文字の情報を格納し、１度に非常に多くの文字の情報を転送しているので、文字情報の転送時間より１つの暗号鍵に対する復号化処理がかなり速い場合でも、１回の情報転送に対して多くの暗号鍵が生成され暗号解読処理が行われるので、情報転送に障害がおこらなくなる等の効果が得られる。
【００４９】
例えば、図６の文字選択表と比較すると、各エントリに図６の文字選択表の５エントリ分の情報が格納されており、１エントリが３２ビットと２倍の大きさなので、１エントリ当たり平均２．５倍の情報量が格納されていることになる。
【００５０】
実施の形態４．
図８はこの発明の実施の形態４による秘密鍵暗号強度評価装置の文字選択表を示す表図である。図８は、図６の選択表において、選択しない文字数が１つしか連続していない場合にその文字もその前の選択する文字の個数に含め、更にその後に続く選択する文字の個数も含めて１つのエントリにした文字選択表１−１の例である。本来選択しなくてもよい文字に対する暗号鍵生成処理も選択すべき文字の場合と全く同じなので、図８の文字選択表１−１を用いた暗号鍵生成の動きは、実施の形態２と同じである。
【００５１】
上記の実施形態３では、文字選択表１−１の各エントリに文字コードとそれに続く選択する文字数、選択しない文字数の組を複数格納することにより、多くの複数文字の情報を格納するようにしたものである。しかし、この実施の形態４では更に多くの情報を各エントリに格納するものである。
【００５２】
次に動作について説明する。
秘密鍵暗号強度評価において、暗号鍵を構成する文字コードに対象外の文字が多少含まれていても、その文字から構成される暗号鍵が求める解とはならない（又は、解となる可能性が非常に低い）というだけで、誤った結果をもたらすことはない。従って、本来選択すべきでない文字を多少「選択する」として扱っても問題とはならず、図６及び図７の文字選択表１−１において、選択しない文字が連続する個数が少ない場合は、それらの文字もその前の選択する文字の個数に含め、更にその後に続く選択する文字の個数も含めることにより、文字選択表１−１の各エントリに多くの情報を格納することができる。
【００５３】
図９はこの発明の実施の形態４による秘密鍵暗号強度評価装置のその他の文字選択表を示す表図である。この図９は、図７の選択表に対して、同様に選択しない文字数が１つしか連続していない場合にその文字もその前の選択する文字の個数に含め、更にその後に続く選択する文字の個数も含めて１つの連続して選択する個数とした文字選択表１−１の例である。
【００５４】
以上のように、この実施の形態４によれば選択しない文字数が少ししか連続していない場合にその文字もその前の選択する文字の個数に含め、更にその後に続く選択する文字の個数も含めることにより、１つのエントリに非常に多くの文字の情報を格納し、１度に非常に多くの文字の情報を転送しているので、文字情報の転送時間より１つの暗号鍵に対する復号化処理がかなり速い場合でも、１回の情報転送に対して多くの暗号鍵が生成され暗号解読処理が行われ、情報転送に障害がおこらなくなる等の効果が得られる。
【００５５】
例えば、図８の選択表と図６の選択表とを比較すると、図６の選択表の１エントリ当たりの文字数が平均１．６個であったのに対して、図８の選択表では２．９個に増えている。
【００５６】
実施の形態５．
図１０はこの発明の実施の形態５による秘密鍵暗号強度評価装置の文字選択表を示す構成図である。上記の実施の形態１〜実施の形態４は、文字選択表１−１にＵｎｉｃｏｄｅにおける日本に関係する漢字を選択するための情報を格納したものである。しかし、この実施の形態５ではパスワード等によく使用される文字を格納するものである。
【００５７】
次に動作について説明する。
図１０はこのような場合の文字選択表１−１の１例であり、１−１−１１が１６進表記の文字コード、１−１−１２がそれに対応する文字表現であり、１−１−１３がその文字の頻度情報である。なお、実際の文字選択表１−１１−１には、この内１６進文字コード１−１−１１の部分だけが格納される。この選択表には、あらかじめパスワード等で使用される文字の使用頻度情報を基に、その頻度順に例えば３，０００エントリという個定数の文字が格納されており、暗号鍵の生成の際に先頭から取り出され、実施形態１で示した動作により暗号鍵が生成される。
【００５８】
以上のように、この実施の形態５によれば、文字選択表１−１にパスワード等でよく使用される文字をその頻度順に格納し、それを先頭から取り出して暗号鍵を生成するようにしたので、暗号鍵の探索が確率的に速く成功しやすくなり、更に文字選択表１−１のエントリ数を固定としたので、選択表のサイズを一定以下に抑えることができる等の効果が得られる。
【００５９】
実施の形態６．
図１１はこの発明の実施の形態６による秘密鍵暗号強度評価装置の暗号鍵を示す構成図である。上記の実施の形態１〜実施の形態５では、暗号鍵生成手段２−１（暗号解読手段）において暗号鍵の各桁毎に独立して文字選択手段１に文字情報の要求を行うものであった。しかし、この実施の形態６では複数の桁で同時に文字情報の要求を行うものである。
【００６０】
実施の形態２〜実施の形態４では、文字選択表１−１の各エントリに複数文字の情報が格納されている次の暗号鍵を生成する際に、暗号桁管理手段２−１−２〜２−１−９で保持している文字コード情報が終了した場合に、各桁毎に文字情報の管理を行うので、直ちに文字選択手段１に次の文字の情報を要求していた。しかし、本実施の形態６では、図６の文字選択表１−１を用いて、暗号桁管理手段２−１−２，２−１−３の下位２桁で連携して文字情報の管理を行う。
【００６１】
次に動作について説明する。
初期状態として、暗号桁管理手段２−１−２及び２−１−３には、文字選択表１−１の先頭エントリの情報である、文字コード＃４Ｅ００（文字“一”）と連続数の“２”が格納されており、図１１の暗号鍵１１−１が生成される。次に暗号桁管理手段２−１−２は、保持している文字コードに連続数を加えた＃４Ｅ００＋２＝＃４Ｅ０２と現在の文字コードに１を加えた＃４Ｅ００＋１＝＃４Ｅ０１を比較し、後者の方が小さいので、現在の文字コードに１を加えた＃４Ｅ０１を次の文字コードとし、図１１の１１−２を次の暗号鍵として生成する。同様に＃４Ｅ００＋２＝＃４Ｅ０２と現在の文字コードに１を加えた＃４Ｅ０１＋１＝＃４Ｅ０２を比較し等しいので、これで第１桁の文字が終了したことになる。
【００６２】
ここで、直ちに、文字選択手段１に次の文字情報を要求するのではなく、暗号桁管理手段２−１−３により第２桁の文字の更新を行う。すなわち、第１桁を暗号桁管理手段２−１−２で保持している文字コード＃４Ｅ００に戻し、第２桁に関して、保持している文字コードに連続数を加えた＃４Ｅ００＋２＝＃４Ｅ０２と現在の文字コードに１を加えた＃４Ｅ００＋１＝＃４Ｅ０１を比較し、後者の方が小さいので、現在の文字コードに１を加えた＃４Ｅ０１を次の文字コードとし、図１１の暗号鍵１１−３を次の暗号鍵として生成する。そして、同様に第１桁を更新することにより、図１１の暗号鍵１１−４を次の暗号鍵として生成する。
【００６３】
そして、これにより第２桁の文字も終了したので、第２桁を暗号桁管理手段２−１−３で保持している文字コード＃４Ｅ００に戻し、暗号桁管理手段２−１−２により文字選択手段１に次の文字情報を要求し、次の文字情報を得て、図１１の暗号鍵１１−５が生成される。
【００６４】
以上のように、この実施の形態６によれば、複数の暗号桁管理手段で連携して文字情報の管理を行うようにしたので、文字選択手段１からの１回の文字情報転送により、幾つかの複数桁に格納されている文字情報の全ての組み合わせの暗号鍵が生成されるので、文字情報の転送時間より復号化処理が十分速い場合でも、情報転送が障害とはならない等の効果が得られる。
【００６５】
実施の形態７．
図１２はこの発明の実施の形態７による秘密鍵暗号強度評価装置の文字選択手段を示す構成図、図１３はこの発明の実施の形態７による秘密鍵暗号強度評価装置の語彙選択表を示す表図である。上記の実施の形態１〜実施の形態６では、全ての暗号桁を文字選択表１−１から得られる文字により構成したものであったが、この実施の形態７では、パスワード等でよく使用される語彙を格納した語彙選択表を用意し、暗号桁の上位の幾つかの桁はその語彙表から得られる文字列を利用するものである。図１２の１１は、文字選択表１−１及び語彙選択表１−３を保持する文字選択手段である。図１３は語彙選択表１−３の１例であり、パスワード等でよく使用される語彙３文字分をその頻度順に格納している。
【００６６】
次に動作について説明する。
暗号鍵の上位３桁の文字は語彙選択表１−３から選択するので、暗号桁管理手段２−１−７がその上位３桁分の管理を代表して行う。そして、暗号桁管理手段２−１−７（暗号解読手段）が文字選択手段１１に文字情報の要求を行う際に、語彙選択表１−３から選択する旨を通知することにより、語彙選択表１−３の先頭エントリ“暗号鍵”が得られる。なお、上位３桁を除くその他の桁に関しては、これまでの実施形態と同様の動作である。そして、暗号桁管理手段２−１−７は６桁目の文字を更新する際に、文字選択手段１１に次の語彙情報の要求を行い、“ｐａｓｓｗｄ”が得られる。
【００６７】
以上のように、この実施の形態７によれば、暗号鍵の上位桁をパスワード等でよく使用する語彙を用いて生成するようにしたので、暗号鍵の探索が確率的に速く成功しやすくすることができる等の効果が得られる。
【００６８】
【発明の効果】
以上のように、この発明によれば、暗号鍵を構成する文字又は文字列を選択する文字選択手段と、この文字選択手段により選択された文字又は文字列から上記暗号鍵を生成し、その暗号鍵を基に暗号文を平文に復号化し、正しい上記暗号鍵か否かを照合する暗号解読手段とを備え、上記暗号鍵を構成する文字又は文字列を格納した文字選択表を用いて、上記暗号鍵を生成し、文字コード及びその文字コードから連続して選択する文字コードの数の組みを１つのエントリとして、暗号鍵を構成する文字又は文字列を格納する文字選択表に格納し、連続して選択しない文字コードの数が少ない場合にはそれらの文字コードも選択し、その選択しない文字コードの数、その前の連続して選択する文字コードの数及びその後の連続して選択する文字コードの数を１つにまとめ、それらを総和した数を連続して選択する文字コードの数として、暗号鍵を構成する文字又は文字列を格納する文字選択表に、格納するようにしたので、Ｕｎｉｃｏｄｅのように各国の文字が混在し、例えば日本に関係する文字コードが連続して割り付けられていない文字コード体系においても、各桁の文字が日本に関係する文字コードから構成される暗号鍵を生成することができる効果があり、文字情報の転送時間より１つの暗号鍵に対する復号化処理が相対的に速い場合でも、１回の情報転送に対して複数の暗号鍵が生成され暗号解読処理が行われ、情報転送に障害がおこらないようにすることができる効果があり、文字情報の転送時間より１つの暗号鍵に対する復号化処理がかなり速い場合でも、１回の情報転送に対して多くの暗号鍵が生成され暗号解読処理が行われ、情報転送に障害がおこらないようにすることができる効果がある。
【００６９】
この発明によれば、暗号鍵を構成する文字又は文字列を選択する文字選択手段と、この文字選択手段により選択された文字又は文字列から上記暗号鍵を生成し、その暗号鍵を基に暗号文を平文に復号化し、正しい上記暗号鍵か否かを照合する暗号解読手段とを備え、上記暗号鍵を構成する文字又は文字列を格納した文字選択表を用いて、上記暗号鍵を生成し、文字コード及びその文字コードから連続して選択する文字コードの数と、その次の文字コードから連続して選択しない文字コードの数の組を１つのエントリとして、暗号鍵を構成する文字又は文字列を格納する上記文字選択表に、交互に格納し、連続して選択しない文字コードの数が少ない場合にはそれらの文字コードも選択し、その選択しない文字コードの数、その前の連続して選択する文字コードの数及びその後の連続して選択する文字コードの数を１つにまとめ、それらを総和した数を連続して選択する文字コードの数として、暗号鍵を構成する文字又は文字列を格納する上記文字選択表に、格納するようにしたので、Ｕｎｉｃｏｄｅのように各国の文字が混在し、例えば日本に関係する文字コードが連続して割り付けられていない文字コード体系においても、各桁の文字が日本に関係する文字コードから構成される暗号鍵を生成することができる効果があり、文字情報の転送時間より１つの暗号鍵に対する復号化処理がかなり速い場合でも、１回の情報転送に対して多くの暗号鍵が生成され暗号解読処理が行われ、情報転送に障害がおこらないようにすることができる効果があり、文字情報の転送時間より１つの暗号鍵に対する復号化処理がかなり速い場合でも、１回の情報転送に対して多くの暗号鍵が生成され暗号解読処理が行われ、情報転送に障害がおこらないようにすることができる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による秘密鍵暗号強度評価装置において８つの並列に動作する暗号解読手段から構成される秘密鍵暗号強度評価装置のデータの流れを示す構成図である。
【図２】  この発明の実施の形態１による秘密鍵暗号強度評価装置において暗号鍵が１２８ビットの場合の暗号解読手段の構成を示す構成図である。
【図３】  この発明の実施の形態１による秘密鍵暗号強度評価装置の秘密鍵暗号強度評価処理を示すフローチャートである。
【図４】  この発明の実施の形態１による秘密鍵暗号強度評価装置の文字選択表を示す表図である。
【図５】  この発明の実施の形態１による秘密鍵暗号強度評価装置の暗号鍵を示す説明図である。
【図６】  この発明の実施の形態２による秘密鍵暗号強度評価装置の文字選択表を示す表図である。
【図７】  この発明の実施の形態３による秘密鍵暗号強度評価装置の文字選択表を示す表図である。
【図８】  この発明の実施の形態４による秘密鍵暗号強度評価装置の文字選択表を示す表図である。
【図９】  この発明の実施の形態４による秘密鍵暗号強度評価装置のその他の文字選択表を示す表図である。
【図１０】  この発明の実施の形態５による秘密鍵暗号強度評価装置の文字選択表を示す構成図である。
【図１１】  この発明の実施の形態６による秘密鍵暗号強度評価装置の暗号鍵を示す構成図である。
【図１２】  この発明の実施の形態７による秘密鍵暗号強度評価装置の文字選択手段を示す構成図である。
【図１３】  この発明の実施の形態７による秘密鍵暗号強度評価装置の語彙選択表を示す表図である。
【符号の説明】
１  文字選択手段、１−１  文字選択表、１−１−１  文字コード、１−３  語彙選択表、２〜９  暗号解読手段、２−１  暗号鍵生成手段（暗号解読手段）、２−１−７  暗号桁管理手段（暗号解読手段）、２−１−１０  暗号鍵。
【図１】
0004008138.tif 000002
【図２】
0004008138.tif 000003
【図３】
0004008138.tif 000004
【図４】
0004008138.tif 000005
【図５】
0004008138.tif 000006
【図６】
0004008138.tif 000007
【図７】
0004008138.tif 000008
【図８】
0004008138.tif 000009
【図９】
0004008138.tif 000010
【図１０】
0004008138.tif 000011
【図１１】
0004008138.tif 000012
【図１２】
0004008138.tif 000013
【図１３】
0004008138.tif 000014