(57)【要約】  本発明は、データの完全性、信憑性の保証、データ内容の機密保持のために、ランダム鍵を用いてデータを暗号化及び復号化する、全ての種類のデータの暗号化及び復号化方法に関する。暗号化の場所では、少なくとも転置データ、鍵制御データ及び乱数が生成される。ランダム鍵は、少なくとも１つの別個のランダム参照データと乱数とから決定される。平文データは、転置データとランダム鍵に応じてビット転置されるとともに、暗号化とパケット転置の中の１つ以上が実行される。転置データ、鍵データ及びランダムデータは、相対的なデータの形で暗号データに付加される。復号化の場所では、復号化に必要な全てのデータが、付加されたデータから決定されて、暗号データが復号化される。
2011512562.tif 000002
【特許請求の範囲】
【請求項１】
アクセス及び通信に関するデータのランダム暗号化及び復号化方法において、
少なくとも１つの暗号化ユニットが、暗号化するデータに対してブロック単位で少なくとも１回の転置を行い、その場合、その転置データの少なくとも１部が、ランダムプロセス内の暗号化の場所でローカルに生成されることと、
暗号化ユニットが、全てのユニット内に有るグローバルなランダム参照データの少なくとも１部と、暗号化ユニットによってローカルに生成された少なくとも１つの乱数とから作成された少なくとも１つのランダム鍵を用いて、暗号化するデータをブロック単位で暗号化することと、
暗号化ユニットが、ローカルに生成された転置データとローカルに生成された１つ又は複数の乱数とを相対的なデータの形で暗号化したデータに付加することと、
少なくとも１つの復号化ユニットが、復号化の場所で復号化する前に、相対的なデータから転置データと１つ又は複数の乱数とを取り出し、その場合、全てのランダム鍵が、復号化の場所に有るグローバルなランダム参照データと相対的なデータから取り出された乱数とから算出されることと、
復号化ユニットが、全てのランダム鍵を用いて、少なくとも１回の逆転置と転置の中の１つ以上によって、復号化データをブロック単位で復号化することと、
を特徴とする方法。
【請求項２】
当該のローカルに付加されたデータが、その付加前にインタレースされ、その場合、データのインタレース情報が、グローバルなランダム参照データの１部であることと、
当該のグローバルなランダム参照データが、一定の時間期間の間だけ有効であることと、
当該のグローバルなランダム参照データから、空間データを算出することと、
当該の相対的なデータが、この空間データとランダム参照データに応じて決定され、その場合、ランダム参照データの１部が、グローバルなランダム参照データの１部であり、それ以外の部分が、ローカルに生成された乱数であることと、
前記の全てのユニットに有るグローバルなランダム参照データの１部が、認証を付与され、認証を確認されたユニットだけに割り当てられた別個のランダム参照データであることと、
暗号化ユニットが、グローバルなランダム参照データ内に別個のランダムデータを読み込む位置を復号化ユニットに通知することと、
前記の読み込む位置の通知が、相対的なデータの形で行われることと、
の中の少なくとも１つ以上を特徴とする請求項１に記載の方法。
【請求項３】
暗号化するデータが、所定の長さのブロックとしてビット単位で転置されて暗号化され、その場合、第１のブロックのランダム鍵が、グローバルな乱数の１部とローカルに生成された乱数とから作成され、後続のブロックの全ての別の鍵が、先行するブロックの暗号データから作成されることと、
一定数の暗号化ブロックが、より大きなブロックとして結合されて、それらのブロックに対して、それぞれパケット単位での転置が行われることと、
復号化の工程が、暗号化と逆の順番で実行され、その場合、転置の代わりに逆転置が実行され、逆転置の代わりに、転置が実行されることと、
を特徴とする請求項１に記載の方法。
【請求項４】
第１のブロックのランダム鍵を除く全てのブロックのランダム鍵が、先行するブロックの暗号化されたデータの逆転置によって作成されるか、或いは
第１のブロックに続く全てのブロックのランダム鍵として、先行するブロックの暗号されたデータが使用されることと、
そのようなランダム鍵を用いて暗号化されたデータに対して、ブロック単位で逆転置を行うことと、
を特徴とする請求項３に記載の方法。
【請求項５】
暗号化するデータが、所定の長さのブロックとしてビット単位で転置されることと、
転置されたデータが、少なくとも１つの可変長のランダム鍵を用いて暗号化されることと、
暗号化したデータが、所定の長さのブロックとして逆転置されること、
復号化が、暗号化と同じ順番で、かつ同じ操作によって実行されることと、
を特徴とする請求項１に記載の方法。
【請求項６】
暗号化するデータが、所定の長さのブロックとしてビット単位で転置されることと、
転置されたデータが、２つ以上のランダム鍵を用いて暗号化され、その場合、少なくとも１つの鍵反復回数に応じて、１つのランダム鍵を繰り返し使用した後、次のランダム鍵を使用することと、
暗号化したデータが、所定の長さのブロックに逆転置されることと、
全ての鍵反復回数が、ランダムプロセスで決定されて、少なくとも１つの相対的なデータの形で暗号化したデータに付加されること、
復号化が、暗号化と同じ順番で、かつ同じ操作によって実行されることと、
を特徴とする請求項１に記載の方法。
【請求項７】
当該のランダムな暗号化が、ビット単位で実行する排他的論理和演算であることと、
２つ以上の転置データが作成されることと、
１つの転置データが、複数のサブ転置データから成り、各サブ転置データが、複数の転置バイトから構成され、
各サブ転置データが、転置されたブロック内の所定のビット数の新しい位置に関する情報を与え、
前記の転置されたブロック内のビット位置が、転置データ内の転置バイトの位置によって決定され、前記の転置されなかったブロック内のビット位置が、転置バイトの値によって決定されるか、或いは前記の転置されなかったブロック内のビット位置が、転置データ内の転置バイトの位置によって決定され、前記の転置されたブロック内のビット位置が、転置バイトの値によって決定されることと、
の中の少なくとも１つ以上を特徴とする請求項１に記載の方法。
【請求項８】
当該のパケット転置データが、ビット転置データの転置によって作成され、その場合、転置された転置データ内の転置バイトの値及び位置が、転置されたブロックと転置されなかったブロック内のビットパケットの位置を反映することを特徴とする請求項３に記載の方法。
【請求項９】
転置バイトの値が、所定の長さの一連の数から数をランダムに抽出することによって決定され、その場合、有効な抽出と無効な抽出とを区別することと、
有効な抽出では、転置バイトに関して抽出した数値が、転置データ内の転置バイトの位置のインデックスと等しくなく、その抽出した値が、転置データ内の転置バイトの位置のインデックスの場所に格納されることと、
無効な抽出では、抽出した値が、転置データ内の転置バイトの位置のインデックスと等しく、その抽出した値が、一連の数に戻されることと、
を特徴とする請求項７又は８に記載の方法。
【請求項１０】
各ランダム鍵が、別個のランダム参照データと乱数とのビット単位での排他的論理和によって作成され、その場合、別個のランダム参照データが、全てのユニット内に有るグローバルなランダム参照データの１部であることと、
乱数が所定の長さを有することと、
別個のランダム参照データの長さが、データ暗号化で使用される、或いは使用された全ての鍵の長さの合計に等しいか、それよりも短いか、或いはそれよりも長く、その場合、長さがより長い場合、ランダム参照データの余剰の長さが使用されず、長さがより短い場合、別個のランダム参照データと少なくとも１つの乱数とから、データの暗号化に使用される全ての鍵の長さの合計に等しい長さの鍵データが決定されることと、
鍵データが、別個のランダム参照データの少なくとも１部又は別個のランダム参照データと、少なくとも１つの乱数の少なくとも１部との間の排他的論理和によって作成されることと、
データの暗号化に使用される鍵が、それぞれ鍵データから抽出されることと、
別個のランダム参照データと乱数の長さが、等しいか、或いは等しくなく、
長さが等しくない場合、排他的論理和演算において、短い方の数を反復して使用し、
乱数の長さが短い場合、乱数と少なくとも１つの別の乱数とから、別個のランダム参照データの長さに相当するランダムデータを作成することと、
ランダムデータが、乱数と別の乱数の少なくとも１つの部分又は複数の部分とのビット単位での排他的論理和によって算出されることと、
別個のランダム参照データと乱数又はランダムデータとが、所定の空間の位置ベクトルと看做されて、座標毎にビット単位で排他的論理和演算され、その場合、位置ベクトルの座標の拡大率が、所定の空間の空間拡大率によって決定され、
排他的論理和の計算において、ベクトル座標の拡大率が小さい場合、座標値が反復して使用されるか、或いはベクトル座標の拡大率が大きい場合、空間の空間座標と重なるベクトル座標の部分だけが使用されることと、
を特徴とする請求項１、２又は６に記載の方法。
【請求項１１】
鍵データ又はランダム鍵の作成に使用される乱数とランダム参照データの中の１つ以上が、複数の部分ランダムデータから作成され、それらの部分ランダムデータが、順番に並べられて各乱数又は各ランダム参照データを構成することと、
２つの連続した部分ランダムデータのハミング距離が、少なくとも１であることと、
部分ランダムデータの長さが、暗号化するデータの長さと等しいこととと、
を特徴とする請求項１から１０までのいずれか１つに記載の方法。
【請求項１２】
データの暗号化及び復号化が、認証の付与及び認証の確認と共に実行されることと、
復号化の実行に必要な認証の付与及び認証の確認が、人、ユニット識別データ、アドレスデータ及び装置データの中の少なくとも１つによって実施されて、相対的なデータの形で暗号化したデータに付加されることと、
を特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの完全性、信憑性の保証、データ内容の機密保持のために、ランダム鍵を用いてデータを暗号化及び復号化する、全ての種類のデータの暗号化及び復号化方法に関する。
【背景技術】
【０００２】
対称及び非対称暗号化及び復号化方法が知られている。対称暗号化方法は、秘密鍵方法とも呼ばれ、暗号化の場所及び復号化の場所で既知の鍵に基づき動作する。対称方法としては、ＤＥＳ、トリプルＤＥＳ及びＡＥＳの暗号化方法が挙げられる。ＤＥＳ方法では、６４ビット長の平文ブロック毎に、鍵と無関係な入力転置を行っている。次に、転置した６４ビットの平文ブロック毎に、左側と右側の３２ビットブロックに分ける。左側の３２ビットブロックに１つの関数を適用して、その結果を右側の３２ビットブロックと排他的論理和演算する。その演算結果を新しい３２ビットブロックとする。元の左側の３２ビットブロックを右側の３２ビットブロックとする。そのような１６回のサイクルの後に、２つの３２ビットブロックを組み合わせて、逆転置を実施する。ＤＥＳ方法で用いられる関数は、サイクル毎に、最初に転置され、４８ビットに拡張される左側の３２ビットブロックに対して適用される。次に、４８ビット長の部分鍵との排他的論理和演算が行われる。４８ビットブロックは、それぞれ６ビット毎の８ブロックに分けられ、それらのブロックは、８つの転置ボックスによって、８つの４ビット出力値に変換される。これらの８つの出力値が、ＤＥＳ関数の３２ビット長の出力値となる。
【０００３】
ＤＥＳ方法では、転置及びシフト演算によって、５６ビットの鍵から１６回のサイクルに必要な部分鍵を生成している。トリプルＤＥＳは、ＤＥＳアルゴリズムを複数回適用することをベースとしている。ラインダール氏のＡＥＳ方法は、ＤＥＳと同様にブロック暗号である。ほぼ全てのブロック暗号と同様に、ラインダール氏のＡＥＳデータも、複数回の同じサイクルによって暗号化され、サイクル毎に異なる部分鍵が使用されている。
【０００４】
非対称暗号化は、公開鍵暗号化とも呼ばれ、暗号化用の公開鍵と第１の関数、並びに復号化用の秘密鍵と第２の関数をベースとしている。両方の関数は、所定の相互関係を有する。
【０００５】
上記の既知の方法は、鍵を配布する問題を有する。各Ｐ２Ｐ通信は、鍵を事前に交換する必要がある。
【０００６】
特許文献１により、相対的な形式で鍵を伝送することによって、鍵を交換する問題を解決したデータ暗号化方法及び装置が周知である。データ暗号化モジュールでは、ランダム鍵を用いて平文データを暗号化している。データインタレースモジュールでは、データ内で付加情報をインタレースしている。次に、暗号化され、インタレースされたデータが、ビット・バイト転置モジュール及びパケット転置モジュールによって混合される。ランダム鍵及びその他の情報が、暗号化の場所から復号化の場所に相対的な形式で伝送される。ランダム鍵及び転置データは、送信器の乱数生成器で生成される。真の乱数の生成に関して、この解決策は不利である。この解決策の別の欠点は、ビット・バイト転置及びパケット転置時における大きな負担である。
【０００７】
本発明による方法は、対称的な方法に属する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】ドイツ特許公開第１０１０４３０７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、新しい暗号化毎に、暗号化直前の場所で新しく生成したランダム鍵を用いて平文データを暗号化して、暗号化の場所とは無関係なアクセス許可を受けた人だけが、暗号データを復号化することが可能であり、複数の無関係な乱数発生器のランダムデータから鍵データを生成する方法を提供することである。
【課題を解決するための手段】
【００１０】
本課題は、本発明による請求項に記載された特徴によって解決される。以下において、図１〜４に基づく実施例により、本発明を詳しく説明する。
【図面の簡単な説明】
【００１１】
【図１】本発明による方法を実現するためのユニット１．０の実施例
【図２】本発明による方法の実施例の第１の変化形態
【図３】本発明による方法の実施例の第２の変化形態
【図４】本発明による方法の実施例の第３の変化形態
【発明を実施するための形態】
【００１２】
図１は、本発明による方法を実現するためのユニット１．０の実施例を図示している。ユニット１．０は、通信実行モジュール１．１、暗号化・復号化モジュール１．２、イーサネットインタフェース１．３，１．４，１．５，１．６、並びにそれらのスイッチ１．７，１．８を備える。埋め込みＰＣ１であるモジュール１．１は、少なくとも１つのシリアルインタフェース１．９、イーサネットインタフェース１．１０，１．１１及びポート１．１４，１．１５を備える。埋め込みＰＣ２であるモジュール１．２は、少なくとも、ポート１．１４，１．１５、バイオセンサー１．１６及びシリアルインタフェース１．１７を備える。モジュール１．２は、ポート１．１２を介してスイッチ１．７を切り替えると共に、ポート１．１３を介してスイッチ１．８を切り替える。ユニット１．０は、イーサネットインタフェース１．３を介してインターネットと接続される。イーサネットインタフェース１．４は、冗長的なネットワークを実現するために配備されている。イーサネットインタフェース１．５は、図示されていない家庭用ＰＣと接続される。ユニット１．０は、イーサネットインタフェース１．６を介してセキュアなイントラネットと接続される。ユニット１．０のモジュール１．１と１．２は、それぞれの別個のポート１．１４と１．１５を介して相互接続されている。モジュール１．１は、別個のポート１．１４及び／又は別個のポート１．１５を介して暗号データ及び／又は非暗号データをモジュール１．２に提供する。モジュール１．２は、別個のポート１．１５及び／又は別個のポート１．１４を介して復号データ及び／又は暗号データをモジュール１．１に提供する。モジュール１．２には、少なくとも１つのランダム参照データが、ランダムな所定の時間期間の間変更不可能で機密保持された形で保存されている。認証の付与及び認証の確認のために、モジュール１．２は、図示されていないカード装置と接続されている。人が、例えば、その個人に与えられた図示されていない身分証明カードと関連する、その人の指紋によって認証を付与される。モジュール１．２は、その個人に与えられた身分証明カードを認証して確認する。
【００１３】
図２は、本発明による方法の実施例の第１の変化形態を図示している。転置データ２．１、別個のランダム参照データ２．２、乱数２．３、別の転置データ２．４、ＰＩ転置モジュール２．５、パケット転置データ２．６、パケット逆転置データ２．７、逆転置データ２．８、ランダム鍵データ２．９、排他的論理和演算部２．１０，２．１４、スイッチＳ１，Ｓ２Ｂ，Ｓ２Ｐ，Ｓ３、メモリブロック２．１２，２．１５，２．１７，２．１９、転置・逆転置モジュール２．１３，２．１６，２．１８、平文データ２．１１、並びに暗号データ２．２０が図示されている。暗号化及び復号化は、図示されている通り、２つの段階２．２１と２．２２で実行される。この場合、段階２．２１はビットに基づく演算を特徴とし、ステップ２．２２はパケットに基づく演算を特徴とする。
【００１４】
別個のランダム参照データ２．２は、暗号化・復号化モジュール１．２によって、一定の時間期間の間有効な、図示されていないランダム参照データから読み取られたものである。別個のランダム参照データの格納位置に関する情報、転置データ２．１、乱数２．３及び転置データ２．４は、モジュール１．２の図示されていない乱数発生器を用いて、モジュール１．２内の暗号化の場所で生成される。転置データ２．１は、８つの１６バイト長のサブ転置データで構成される。１２８バイトの各バイトは、転置された、或いは転置されていない１２８ビット長のブロック（Ｂビットブロック）内のビットの位置を反映している。転置データ２．１内のバイトの位置は、転置されていない、或いは転置された１２８ビット長のブロック内のビットの位置を反映している。転置バイトＰＢｊの値の生成は、有利には、０から１２７までの一連の数からランダムに数を抽出することによって行われる。各抽出は、有効な抽出又は無効な抽出となる。正確には、抽出された数値が転置データＰＩ＝｛ＰＢ０，．．．，ＰＢ１２７｝内の転置バイトＰＢｊの位置のインデックスｊと等しくない場合、その数の抽出は有効となる。抽出が有効な場合、抽出された数値は、転置データＰＩ内の転置バイトの位置のインデックスの場所に格納される。抽出が無効な場合、抽出された数値は、転置バイトＰＢｊの位置のインデックスｊと等しい。その場合、抽出された数値は、次の抽出前に一連の数に戻される。
【００１５】
転置データ２．４は、２４ビットのワード長を有する。各３ビットが、パケット転置データ２．６内のサブ転置データの位置を示す。３ビットの値が、パケット転置データ２．６内のサブ転置データの位置又は転置データ２．１内のサブ転置データの位置を示す。２４ビット長の転置データ２．４内の３ビットの位置は、転置データ２．４内のサブ転置データの位置又はパケット転置データ２．６内のサブ転置データの位置を示す。３ビットは、前段落で説明した数の生成と同様にして生成される。
【００１６】
従って、パケット転置データ２．６は、１２８バイトから構成される。パケット転置データ２．６の１２８バイトの各バイトは、転置された、或いは転置されていないＮバイトブロック内のＭビットパケットの位置を反映している。パケット転置データ２．６内のバイトの位置は、転置されていない、或いは転置されたＮバイトブロック内のＭビットパケットの位置を反映している。
【００１７】
この選んだ実施例では、Ｂ＝１２８、Ｍ＝６４、及びＮ＝１０２４である。
【００１８】
１２８ビット長のランダム鍵２．９は、排他的論理和演算部２．１０によって、別個の１２８ビット長のランダム参照データ２．２と１２８ビット長の乱数２．３とから決定される。
【００１９】
平文データ２．１１は、１２８ビットのブロック２．１２に分割される。１２８ビットのブロック２．１２は、それぞれ転置・逆転置モジュール２．１３によって、転置データ２．１を用いてビット単位で転置される。ビット転置を行った後、平文データのビット転置された第１のブロックが、１２８ビット長のランダム鍵２．９と排他的論理和演算される。ビット転置された第１のブロックの暗号化を行った後、スイッチＳ１は、切替データＵＳ２によって位置２に切り替えられ、その結果、後続のビット転置されたブロックでは、それぞれ先行するブロックの暗号化され、ビット転置された平文データが、ランダム鍵として使用される。
【００２０】
暗号化されビット転置された平文データブロックは、逆転置・転置モジュール２．１６において、ビット単位で逆転置されて、１０２４バイトのブロック２．１７として結合される。１０２４バイトのブロック２．１７のそれぞれ６４ビットのパケットは、Ｍビットパケット逆転置モジュール２．１８で、パケット転置データ２．６に応じてパケット単位で転置される。次に、全ての転置された１０２４バイトのブロック２．１９から、暗号データ２．２０が得られる。暗号データ２．２０の復号化は、暗号化と逆の順番で実行される。転置の代わりに、逆転置が行われ、逆転置の代わりに、転置が行われる。その場合、スイッチＳ２Ｂ，Ｓ２Ｐは位置２に有り、スイッチＳ３は位置１に有る。その切り替えは、データＵＳ１を用いて実行される。
【００２１】
図３は、本発明による方法の実施例の第２の変化形態を図示している。この実施例の変化形態は、第１の実施例の変化形態と比べて、ビット単位で転置された第２の平文データブロックからのランダム鍵が、先行する暗号化されビット単位で転置された平文データブロックではなく、先行する逆転置され暗号化されたビット単位で転置された平文データブロックである点だけが異なる。
【００２２】
図４は、本発明による方法の実施例の第３の変化形態を図示している。別個のランダム参照データ４．１、乱数４．２、鍵制御データ４．３、転置データ４．４、逆転置データ４．５、１つのランダム鍵データ又は複数のランダム鍵データ４．６、排他的論理和演算部４．７，４．１３、平文データ４．８、メモリブロック４．９，４．１１，４．１４、ビット転置モジュール４．１０、スイッチ４．１２、逆転置モジュール４．１５、並びに暗号データ４．１６が図示されている。
【００２３】
鍵制御データ４．３は、使用する鍵の長さ、鍵の反復回数、暗号化種別及びグローバルなランダム参照データにおける別個のランダム参照データの読取位置の中の１つ以上に関する情報を与える。
【００２４】
鍵の反復回数は、平文データに対して鍵を反復して適用する回数を示す。転置データ４．４は、本発明による方法の実施例の第１及び第２の変化形態の転置データ２．１と内容が同じである。転置データ４．４から、逆転置データ４．５を決定する。別個のランダム参照データ４．１は、暗号化・復号化モジュール１．２によって、図示されていない一定の時間間隔の間有効なランダム参照データから読み取られる。別個のランダム参照データの読取位置、乱数４．２、鍵制御データ４．３及び転置データ４．４に関する情報は、モジュール１．２内の暗号化の場所において、モジュール１．２の図示されていない乱数発生器によって生成される。データ暗号化に使用されるランダム鍵４．６は、それぞれ別個のランダム参照データと１２８ビット長の少なくとも１つの乱数４．２との排他的論理和演算によって生成される。別個のランダム参照データの長さは、乱数の長さと等しくするか、或いは等しくないようにすることができる。別個のランダム参照データと乱数の長さが等しくない場合、排他的論理和演算では、短い方の数値が反復して使用される。データ暗号化に使用される全ての鍵の長さの合計が、別個のランダム参照データの長さよりも長い場合、別個のランダム参照データと少なくとも１つの乱数とから、１つの鍵データが生成され、その鍵データの長さは、１回のデータ暗号化に使用される全ての鍵の長さの合計と等しい。次に、１回のデータ暗号化に使用される鍵は、それぞれ鍵制御データ４．３に応じて鍵データから抽出される。
【００２５】
データの暗号化では、平文データはビットのブロックに分けられる。各ビットブロックに対して、ビット転置が行われる。ビット転置された平文データは、新しい可変ビットブロックとして結合され、１つの可変ビットブロック４．１１の長さは、鍵の長さと等しい。可変ビットブロックのビット転置された平文データは、スイッチ４．１２によって選択されたランダム鍵と排他的論理和演算される。その結果は、ビットブロック４．１４に一時的に記憶され、逆転置されて、暗号データ４．１６として出力される。復号化は、暗号化と同様に実行される。
【図１】
2011512562.tif 000003
【図２】
2011512562.tif 000004
【図３】
2011512562.tif 000005
【図４】
2011512562.tif 000006
【国際調査報告】
2011512562.tif 000007
2011512562.tif 000008
2011512562.tif 000009
2011512562.tif 000010
2011512562.tif 000011
2011512562.tif 000012
2011512562.tif 000013
2011512562.tif 000014
2011512562.tif 000015
2011512562.tif 000016
2011512562.tif 000017
2011512562.tif 000018