(57)【特許請求の範囲】
【請求項１】
シフトレジスタ装置（１、２、５）の少なくとも１つのスイッチング状態により、ビットデータの出力が行われるか否かが決定される帰還結合されたシフトレジスタ装置（１、２、５）を使用してビットデータの擬似乱数列を発生するための方法において、シフトレジスタ装置（１、２、５）の少なくとも１つのセルにおいて予め定められたスイッチング状態が所定回数検出された後にビットデータの出力が実行されることを特徴とする擬似乱数列の発生方法。
【請求項２】
シフトレジスタ装置（１）の出力信号が非線形論理関数に入力変数として供給され、非線形論理関数の論理出力信号がクロック信号としてカウンタ装置（１０）に供給され、カウンタ装置（１０）の予め定められたカウンタ状態の到達の際に論理信号が発生され、この論理信号によりビットデータがシフトレジスタ装置（１）から出力されることを特徴とする請求項１記載の方法。
【請求項３】
ビットデータがカウンタ装置（１０）から発生された論理信号により制御されて中間メモリ（８）に受け入れられ、定められた時点で中間メモリ（８）に記憶された少なくとも１つのビットデータが出力されることを特徴とする請求項２記載の方法。
【請求項４】
別のカウンタ装置（１２）がシフトレジスタクロックにより制御され、前記別のカウンタ装置（１２）の定められたカウンタ状態の到達の際に論理信号が発生され、この論理信号により中間メモリ（８）からの出力が制御されることを特徴とする請求項３記載の方法。
【請求項５】
請求項１ないし４の１つによる方法を実施するための回路装置において、帰還結合されたシフトレジスタ装置（１、２、５）が多数の直列接続されたシフトレジスタセルを含んでおり、予め定められたシフトレジスタセルが出力側で非線形論理関数を実現する回路（９）と接続されており、第１のカウンタ装置（１０）のクロック入力端がこの回路（９）の出力端（１４）と接続されており、中間メモリ（８）が入力側でシフトレジスタセルの少なくとも１つと接続されており、中間メモリ（８）のクロック制御入力端が第１のカウンタ装置（１０）のカウンタ状態を復号する論理装置により制御され、スイッチング装置（１１）が中間メモリ（８）の少なくとも１つの出力端と接続されており、スイッチング装置（１１）が第２のカウンタ装置（１２）のスイッチング状態を復号する論理装置により制御されることを特徴とする擬似乱数列の発生回路装置。
【請求項６】
シフトレジスタ（１）および第２のカウンタ装置（１２）のクロック信号制御が結合されていることを特徴とする請求項５記載の回路装置。
【請求項７】
第１および第２のカウンタ装置（１０、１２）と接続されている論理装置がそれぞれ第１または第２のカウンタ装置（１０または１２）のオーバーフローを復号することを特徴とする請求項５または６記載の回路装置。
【請求項８】
スイッチング装置（１１）が論理ゲートであることを特徴とする請求項５ないし７の１つに記載の回路装置。
【請求項９】
第２のカウンタ装置（１２）のワード幅が第１のカウンタ装置（１０）のワード幅の少なくとも２倍であることを特徴とする請求項５ないし８の１つに記載の回路装置。
【請求項１０】
真正認識のためのデータキャリア装置、特に集積回路装置を有するチップカードに使用することを特徴とする請求項１ないし４の１つによる方法または請求項５ないし９の１つによる回路装置の使用方法。
【請求項１１】
データの暗号化および（または）解読のために使用することを特徴とする請求項１ないし４の１つによる方法または請求項５ないし９の１つによる回路装置の使用方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、少なくとも１つのスイッチング状態により、ビットデータの出力が行われるか否かが決定される帰還結合されたシフトレジスタ装置を使用し、ビットデータの擬似乱数列を発生するための方法および回路装置に関する。
【０００２】
【従来の技術】
擬似乱数列または擬似ランダム２値列は多方面にアナログおよびディジタルシステムの検査のために使用される。さらに擬似乱数列はデータの暗号化の際に有意義な役割をする。
【０００３】
このようなビットデータの擬似乱数列を発生する多数の回路装置が知られている。ティーツェ（Ｔｉｅｔｚｅ）  、シェンク（Ｓｅｈｅｎｋ）著“半導体回路技術”第５版、第５０９〜５１２頁に、このような擬似乱数列を発生するための回路装置が記載されている。擬似乱数列を発生するためには通常、特定の仕方で帰還結合されているシフトレジスタが使用される。その際に帰還結合は排他的オア回路から構成される。ｎ段を有するシフトレジスタが発生し得る最大の非周期的ビット列はＮ＝２ｎ  −１ビット長さである。こうして４段のシフトレジスタにより例えば１５ビットの最大の周期長さを有する擬似乱数列を発生させることができる。そのために適した回路は前記文献の図２０．２３に示されている。
【０００４】
それに対してデータの暗号化の際には、帰還結合されたシフトレジスタ装置はキー情報、すなわち秘密データワードを与えられる。このデータワードにより、帰還結合されたシフトレジスタ装置の出力端における擬似乱数列のどの位置で擬似乱数列のデータストリームが開始するかが決定される。
【０００５】
例えばチップカードのような携帯可能なデータキャリア装置およびこれと共同動作するデータ入力／出力装置の中にそれぞれ等しい帰還結合されたシフトレジスタが位置しており、また等しいキーが両側に知られているならば、データキャリア装置からデータ入力／出力装置へ暗号化されて送られたデータは再び解読され、または両側の間で交換されたデータストリームが等しく暗号化され、暗号化されたデータが比較され得る。それによってなかんずくチップカードの真正検知が可能であり、また偽造または不正使用に対する確実な保護が保証されている。
【０００６】
このようなデータキャリア装置の保護のための従来の方法およびコンセプトは、偽造または不正使用の排除のための厳密な真正検査の代わりに、模造又はエミュレーションによっては非常に困難にしか実現できない特有の特徴の検査を使用する。さらに、上記の秘密キーによりデータキャリア装置のなかで発生された、データ内容の真正検知のためのコードの追加を介して、記憶されたデータの有効性を検査することも知られている。
【０００７】
この公知の方法における問題点は、コントロール信号が盗聴され、またはデータキャリア装置、例えばチップカードの入力／出力端において取り出され、それによって偽造目的でのコントロール情報の再使用が可能であることである。
【０００８】
マイクロプロセッサアーキテクチュアを有する電子回路では、この欠点が挑発的な質問及びそれに適応する回答の原理（チャレンジおよびレスポンス原理）または零‐知識‐プロトコルによる暗号の証明または同定過程の採用により排除される。
【０００９】
このチャレンジおよびレスポンス原理は例えばチップカードおよびデータ入力／出力装置においてこのチップカードを読むために、先ずデータ入力／出力装置がデータ“チャレンジ”を発生し、これをチップカードに送ることを予定している。そこでこの“チャレンジ”はいわゆる“レスポンス”を計算する役割をする。この“レスポンス”は真正検知のためのアルゴリズムにより計算され、また目的にかなった仕方で別のデータ、秘密のカードキーおよび例えば内部のカウンタ状態のような別の量に関係する。チップカードからデータ入力／出力装置に送られた“レスポンス”はデータ入力／出力装置においてそこに存在するデータと比較される。これらのそこに存在するデータは等しいアルゴリズム、等しい秘密のカードキー、チャレンジおよび追加情報により計算される。レスポンスがこの計算と合致すると、チップカードは有効なものとして認識されている。他の場合にはチップカードとデータ入力／出力装置との間のデータ接続の中断が行われる。冒頭に記載した帰還結合されたシフトレジスタ装置はこれらの公知のシステムにおいて、秘密を保持すべきカードキーをより長い擬似乱数列、いわゆるキー電流列、に変換するために使用される。キー電流列の任意の部分を予め与える際に、カードキーを不正に計算したいアクセス者にキー電流列の他の部分を予報することは不可能でなければならない。このことは、キーを逆算することが同じく不可能でなければならないことを含意する。これまでに知られている帰還結合されたシフトレジスタ装置はそのために、シフトレジスタ装置が十分に長く、例えば５０の相前後して接続されているシフトレジスタセルを有するかぎり、既に良好な保護を保証する。
【００１０】
ドイツ連邦共和国特許出願公開第４３０１２７９号明細書から既に、帰還結合されたシフトレジスタ装置を使用してビットデータの擬似乱数列を発生するための方法および回路装置であって、少なくとも１つのスイッチング状態により、ビットデータの出力が行われるか否かが決定される方法および回路装置は知られている。しかし、これらの公知の方法を可能なかぎりわずかな費用でなお一層確実にするべく努力されている。本発明はこのような努力の一つである。
【００１１】
【発明が解決しようとする課題】
本発明の課題は、前記の形式の擬似乱数列を発生するための方法およびこの方法を実施するための回路装置であって、これまでに公知の方法および公知の回路装置にくらべて、より高い確実性を有し、また簡単に実現し得る方法および回路装置を提供することである。さらに、この方法および回路装置の適切な使用方法を提供することである。
【００１２】
【課題を解決するための手段】
上述の課題を解決するため、本発明の方法においては、シフトレジスタ装置の少なくとも１つのセルにおいて予め定められたスイッチング状態が所定回数検出された後にビットデータの出力が実行される。
【００１３】
本発明の別の方法においては、シフトレジスタ装置の出力信号が非線形論理関数に入力変数として供給され、非線形論理関数の論理出力信号がクロック信号としてカウンタ装置に供給され、カウンタ装置の予め定められたカウンタ状態の到達の際に論理信号が発生され、この論理信号によりビットデータがシフトレジスタ装置から出力される。
【００１４】
さらに、カウンタ装置から出力されたビットデータは中間メモリの中に受け入れられ、そこから記憶された値が定められた時点で呼び出されるようにしてもよい。これは再び、予め定められたカウンタ状態の到達の際に出力を制御する別のカウンタ装置により行うことができる。
【００１５】
本発明の回路装置においては、帰還結合されたシフトレジスタ装置が多数の直列接続されたシフトレジスタセルを含んでおり、予め定められたシフトレジスタセルが出力側で非線形論理関数を実現する回路と接続されており、第１のカウンタ装置のクロック入力端がこの回路の出力端と接続されており、中間メモリが入力側でシフトレジスタセルの少なくとも１つと接続されており、中間メモリのクロック制御入力端が第１のカウンタ装置のカウンタ状態を復号する論理装置により制御され、スイッチング装置が中間メモリの少なくとも１つの出力端と接続されており、またスイッチング装置が第２のカウンタ装置のスイッチング状態を復号する論理装置により制御される。
【００１６】
本発明の別の回路装置においては、シフトレジスタおよび第２のカウンタ装置が等しいクロックレートで制御される。そのつど予め定められたカウンタ状態を復号するための論理装置は、そのつどのカウンタ装置のオーバーフローが復号されるように構成され得る。さらに、スイッチング装置は論理ゲートであってよい。好ましくは、第２のカウンタ装置のワード幅は第１のカウンタ装置のワード幅の少なくとも２倍であるように選ばれる。
【００１７】
本発明によれば、その方法および回路装置はデータの暗号化または解読のために、かつ（または）データキャリア装置、特に集積回路装置を有するチップカードでその真正認識のために有利に使用される。
【００１８】
【実施例】
以下、本発明を図面に示す実施例について詳細に説明する。
【００１９】
本発明による回路装置は帰還結合されたシフトレジスタ装置１を備えている。シフトレジスタ装置１は多数（ｎ）の直列接続されたシフトレジスタセルを含んでいる。ｎのシフトレジスタセルから選ばれたｍのシフトレジスタセルは帰還結合装置２を介してシフトレジスタ装置１のデータ入力端３に帰還結合されている。帰還結合装置２は論理関数を実行する。それは好ましくはそれぞれ２つの入力端子および１つの出力端子を有するｍ−１の排他的オア回路を含んでいる。第１の排他的オア回路はｍの帰還結合されたシフトレジスタセルの２つと接続されている。別の排他的オア回路は入力側で１つの他の排他的オア回路の出力端子および帰還結合されたシフトレジスタセルの１つと接続されている。このように直列接続された排他的オア回路の最後のものは帰還結合装置２の出力端４を形成する。別の論理回路要素５、好ましくは排他的オア回路により入力信号Ｅが入結合される。この入力信号Ｅは例えば秘密情報、チャレンジとしての乱数および場合によっては追加情報（例えばデータメモリ内容）から得ることができる。
【００２０】
本発明によればシフトレジスタ装置と出力側で中間メモリ装置８が接続されている。中間メモリ装置８はシフトレジスタ装置１のワード幅よりも小さくまたはそれと等しくてよいワード幅７を有する。中間メモリ装置８のクロック入力端１３は、カウンタ装置１０から予め定められたカウンタ状態の復号のもとに得られるパルスにより制御される。このパルスがカウンタ装置１０のオーバーフローの際に発生されることは目的にかなっている。カウンタ装置１０は非線形論理関数を実現する回路９によりクロック信号側で制御される。回路９においてｐのシフトレジスタセルの論理値が処理される。回路９の非線形論理関数がアンドおよびオア回路のような論理回路から構成されていることは目的にかなっている。中間メモリ装置８に出力側でスイッチング装置１１が接続されている。スイッチング装置１１は別の入力端１５で、別のカウンタ装置１２の予め定められたカウンタ状態を復号する装置により制御される。好ましくはスイッチング装置１１の制御入力端１５はカウンタ１２のオーバーフロー指示と接続されている。カウンタ１２およびシフトレジスタ１は等しいクロック信号ＣＬＫにより制御される。好ましくはカウンタ装置１２はカウンタ装置１０の少なくとも２倍のワード幅を有する。カウンタ装置１０のワード幅が例えば３２ビットの場合にはカウンタ１２は６４または１２８ビットのワード幅を有することが目的にかなっている。
【００２１】
本発明による回路装置は下記のように動作する。シフトレジスタ状態の定められた設定の後に、前記のように秘密情報、乱数又は場合によっては追加情報から成っていてよい入力信号Ｅが帰還結合されたシフトレジスタ装置１に入力される。この入力は論理演算回路５（ここでは排他的オア回路）を介して帰還情報と帰還結合装置２の出力端４において論理演算される。非線形関数を発生するための回路９はデータに関係するカウントパルスをその出力端１４に発生し、それによりカウンタ装置１０がアップカウントされる。予め定められたカウンタ状態、好ましくはカウンタ１０のオーバーフローの到達の際にクロックパルスが発生され、それによりシフトレジスタ１の状態が少なくとも部分的に中間メモリ８に受け入れられる。こうしてカウンタ装置１０のカウントレートはシフトレジスタ１のカウントレートよりも低い。カウンタ１０の別のオーバーフローのつど、中間メモリ８に含まれているデータがシフトレジスタ装置１の新しい状態により重ね書きされる。カウンタ１０は次いでリセットされ、また新たにカウント範囲を通過する。
【００２２】
カウンタ１２はデータに無関係にシフトレジスタ１のクロックレートによりランする。カウンタ１２が予め定められたカウンタ状態、好ましくはオーバーフローに到達すると、パルスが発生され、それによりスイッチング装置１１がレリーズされる。中間メモリ装置８に記憶されたビットデータは次いで論理的出力信号Ｒとしてスイッチング装置１１の出力端１６に伝達される。スイッチング装置１１として、中間メモリ装置８のビットを出力端１６にカウンタ１２のオーバーフローのつど出力する論理要素を使用することは目的にかなっていることが判明している。こうしてｒビットの出力信号Ｒの全ワード幅に対してｒの計算ランの数が生ずる。このすべての処理継続時間はカウンタ１２のカウント範囲により決定される。
【図面の簡単な説明】
【図１】本発明による回路装置の実施例のブロック接続図。
【符号の説明】
１、２、５    シフトレジスタ装置
８    中間メモリ
９    論理回路
１０、１２    カウンタ装置
Ｅ    入力信号
Ｒ    出力信号
【図１】
0003586478.tif 000002