(57)【特許請求の範囲】
【請求項１】
帰還結合されたシフトレジスタ装置（Ｒ、Ｓ）の出力データ（Ｐ）から出力端子（Ａ）におけるビットデータの擬似乱数列を発生するための方法において、出力データ（Ｐ）のビットに対して制御されたマスクが行われ、このマスクの制御は、もっぱら非線形論理関数（ｈ）を介してシフトレジスタ装置（Ｓ、Ｒ）のあらかじめ定められたシフトレジスタセル（ｂ、ｃ、ｄ、ｅ）のスイッチング状態により影響されて行われることを特徴とする擬似乱数列発生方法。
【請求項２】
出力側にスイッチング装置（Ｔ）を有する帰還結合されたシフトレジスタ装置（Ｓ、Ｒ）が多数の相前後してスイッチングされるシフトレジスタセル（ａ…ｚ）を含んでおり、予め定められたシフトレジスタセル（ｂ、ｃ、ｄ、ｅ）が出力側で、非線形論理関数（ｈ）を実現する回路（Ｆ）と接続されており、この回路（Ｆ）が出力側でスイッチング装置（Ｔ）とその制御のために接続されている回路装置において、シフトレジスタ装置（Ｓ、Ｒ）の前記予め定められたシフトレジスタセル（ｂ、ｃ、ｄ、ｅ）が非線形論理関数（ｈ）の入力と接続されていることを特徴とする請求項１記載の方法を実施するための回路装置。
【請求項３】
非線形論理関数（ｈ）を実現する回路が論理アンドおよび論理オアゲートを有することを特徴とする請求項２記載の回路装置。
【請求項４】
スイッチング装置（Ｔ）が論理ゲートであることを特徴とする請求項２または３記載の回路装置。
【請求項５】
スイッチング装置（Ｔ）に出力側にバッファ装置がビットデータの擬似乱数列の連続的出力のために設けられていることを特徴とする請求項２ないし４の１つに記載の回路装置。
【請求項６】
データキャリア装置、特に集積回路を有するチップカードにおける真正認識のための請求項１による方法または請求項２ないし５の１つによる回路装置の使用方法。
【請求項７】
データの暗号化および／または暗号解読のための請求項１による方法または請求項２ないし５の１つによる回路装置の使用方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、帰還結合されたシフトレジスタ装置の使用のもとにビットデータの擬似乱数列を発生するための方法および回路装置に関する。
【０００２】
【従来の技術】
擬似乱数列または擬似ランダムな２値列はしばしばアナログおよびディジタルシステムの検査のために使用される。さらに擬似乱数列はデータの暗号化の際に重要な役割をする。
【０００３】
このようなビットデータの擬似乱数列を発生するさまざまな回路装置が知られている。文献「半導体回路技術（Ｈａｌｂｌｅｉｔｅｒ  ‐Ｓｃｈａｌｔｕｎｇｓｔｅｃｈｎｉｈ）」第５版、ティーツェ（Ｔｉｅｔｚｅ）／シェンク（Ｓｃｈｅｎｋ）共著、第５０９〜５１２頁には、このような擬似乱数列を発生するための回路装置が記載されている。擬似乱数列を発生するためには通常、特定の仕方で帰還結合されているシフトレジスタが使用される。その際に帰還結合は排他的オア回路から構成される。ｎ段を有するシフトレジスタが発生し得る最大の非周期的ビット列はＮ＝２ｎ  −１ビットの長さである。従って、たとえば４段のシフトレジスタにより１５ビットの最大周期長さを有する乱数列が発生され得る。そのために適した回路は前記文献の第２０．２３図に示されている。
【０００４】
それに対してデータの暗号化の際には、帰還結合されたシフトレジスタ装置は暗号情報、すなわち秘密データ語を与えられる。このデータ語により、帰還結合されたシフトレジスタ装置の出力端における擬似乱数列のどのポジションで擬似乱数列のデータストリームが開始されるかが決定される。
【０００５】
たとえばチップカードのような携帯可能なデータキャリア装置およびこれと共同動作するデータ入力／出力装置のなかにそれぞれ等しく帰還結合されたシフトレジスタが位置しており、また等しいキーが両側で知られているならば、データキャリア装置からデータ入力／出力装置へ暗号化されて送られたデータが再び暗号解読され、または両側の間で交換されるデータストリームが等しい仕方で暗号化され、また暗号化されたデータが比較され得る。それによって、なかんずく、チップカードの真正証明が可能であり、また偽造または誤使用に対する確実な保護が保証される。
【０００６】
このようなデータキャリア装置を保護するための従来の方法およびコンセプトは、偽造および誤使用を排除するための厳密な真正検査の代わりに、模造による実現が非常に困難な特有の特徴の検査を行う。さらに、上記の秘密キーによりデータキャリア装置のなかに発生されるコードをデータ内容の真正証明のために追加することにより記憶されたデータの有効性を検査することも知られている。
【０００７】
この公知の方法における問題点は、コントロール信号の盗聴またはデータキャリア装置、たとえばチップカードの入力／出力端における取り出しが可能であり、それによって偽造目的でのコントロール情報の再生が可能であることである。
【０００８】
マイクロプロセッサアーキテクチュアを有する電子回路では、この欠点は、チャレンジとそれに対するレスポンスとの合致を確認するチャレンジ‐レスポンス原理またはゼロ‐知識‐プロトコルによる暗号による真偽判別または同定過程の採用により排除される。
【０００９】
このチャレンジ‐レスポンス原理ではたとえばチップカードおよびその読出しのためのデータ入力／出力装置において、先ずデータ入力／出力装置がデータ“チャレンジ”を発生し、それをチップカードに送る。そこでこのチップカードはいわゆる“レスポンス”を計算する。この“レスポンス”は真正証明のためのアルゴリズムにより計算され、また目的にかなって別のデータ、秘密のカードキーおよびたとえば内部カウンタ状態のような別の量に関係している。チップカードからデータ入力／出力装置に送られる“レスポンス”はデータ入力／出力装置のなかでそこに存在するデータと比較される。そこに存在するこれらのデータは等しいアルゴリズム、等しい秘密のカードキー、チャレンジおよび追加情報により計算される。レスポンスがこの計算と合致すれば、チップカードは有効であると認識される。他の場合にはチップカードとデータ入力／出力装置との間のデータ接続の断絶が行われる。
【００１０】
冒頭に記載した帰還結合されたシフトレジスタ装置はこの公知のシステムにおいて、秘密を保持すべきカードキーをより長い擬似乱数列、いわゆるキーストリーム列に変換するために使用される。キーストリーム列の任意の部分を設定する際に、カードキーを不法な仕方で計算しようとするアタッカーにキーストリーム列のそれ以外の部分を予報することは不可能でなければならない。このことは、キーに戻し計算することが同じく不可能でなければならないことを意味する。従来公知の帰還結合されたシフトレジスタ装置はそのために既に、シフトレジスタ装置が十分に長いかぎり、たとえば５０の相前後してスイッチングされるシフトレジスタセルを有するかぎり、良好な保護を保証する。しかし、これらの公知の方法を可能なかぎりわずかな費用で一層良好に確実にする努力がなされている。本発明もその努力の１つである。
【００１１】
【発明が解決しようとする課題】
本発明の課題は、帰還結合されたシフトレジスタ装置の使用のもとにビットデータの擬似乱数列を発生するための方法ならびにこの方法を実施するための回路装置であって、従来公知の方法および回路装置にくらべて、より高い確実性を有する方法および回路装置を提供することにある。さらに、この方法およびこの回路装置の適当な使用法が示されるべきである。
【００１２】
この課題は、帰還結合されたシフトレジスタ装置の出力データから出力端子におけるビットデータの擬似乱数列を発生するための方法において、出力データのビットに対して制御されたマスクが行われ、このマスクの制御は、もっぱら非線形論理関数（ｈ）を介してシフトレジスタ装置（Ｓ、Ｒ）のあらかじめ定められたシフトレジスタセル（ｂ、ｃ、ｄ、ｅ）のスイッチング状態により影響されて行われることにより解決される。
【００１３】
本発明による方法の１つの実施態様では、シフトレジスタ装置の個々のシフトレジスタセルの出力信号が非線形論理関数に入力変数として供給され、また非線形論理関数の論理出力信号がビットデータの出力を制御するように構成されている。
【００１４】
本発明の課題は、本方法を実施するための回路装置に関しては、出力側にスイッチング装置を有する帰還結合されたシフトレジスタ装置が多数の相前後してスイッチングされるシフトレジスタセルを含んでおり、予め定められたシフトレジスタセルが出力側で、非線形論理関数を実現する回路と接続されており、この回路が出力側でスイッチング装置とその制御のために接続されている回路装置において、シフトレジスタ装置の前記予め定められたシフトレジスタセルが非線形論理関数の入力と接続されていることにより解決される。
【００１５】
本発明による回路装置の１つの有利な実施態様では、非線形論理関数を実現する回路が論理アンドおよび論理オアゲートを有するように構成されている。さらに、スイッチング装置自体は論理ゲート、たとえば第１の入力端子でシフトレジスタ装置の出力端と、また第２の入力端子で非線形論理関数を実現する回路の出力端子と接続されているアンドゲートであってよい。この場合、アンドゲートの出力端から擬似乱数列が取り出され得る。従って、スイッチング装置が投入されているか遮断されているかに応じて、帰還結合されたシフトレジスタ装置から発生されたビットデータが本発明による回路装置の出力端に到達したり到達しなかったりする。スイッチング装置が遮断されている間は、データは本発明による回路装置の出力端子に到達しない。このようなデータ間隙を回避するため、本発明による回路装置の出力側に、連続的なクロックにより読出される中間メモリが接続されるように構成され得る。
【００１６】
本発明によれば、データの暗号化またはその解読のための方法および回路装置はデータキャリア装置、特に集積回路装置を有するチップカードにその真正認識のために使用される。
【００１７】
【実施例】
以下、図面に示されている実施例により本発明を一層詳細に説明する。
【００１８】
本発明による回路装置には、多数の相前後してスイッチングされるシフトレジスタセルａ…ｚを有する帰還結合されたシフトレジスタ装置Ｓが設けられている。入力側のシフトレジスタセルは符号ａを、また出力側のシフトレジスタセルは符号ｚを付されている。これらの相前後してスイッチングされるシフトレジスタセルは排他的オアゲート１ないし７を含んでいる帰還結合回路Ｒを介して帰還結合されている。そのために図１に示されている実施例では７つの排他的オアゲート１ないし７が帰還結合回路Ｒのなかに設けられている。これらの排他的オアゲート１ないし７はそれぞれ２つの入力端子および１つの出力端子を有し、その際に第１の排他的オアゲート１は最後のシフトレジスタセルｚの出力信号およびシフトレジスタセルｌの出力信号を与えられている。排他的オアゲート１の出力端子は第２の排他的オアゲート２の入力端子と接続されており、その他方の入力端子は符号ｍを付されているシフトレジスタセルの出力端に接続されている。図面に示されている実施例では、その他の排他的オアゲート３、４、５、６および７は、排他的オアゲート３に排他的オアゲート２の出力信号およびシフトレジスタセルｎの出力信号が供給され、排他的オアゲート４に排他的オアゲート３の出力信号およびシフトレジスタセルｏの出力信号が供給され、排他的オアゲート４の出力信号およびシフトレジスタセルｓの出力信号が排他的オアゲート５に供給され、排他的オアゲート５の出力信号およびシフトレジスタセルｐの出力信号が排他的オアゲート６に供給され、またその出力信号およびシフトレジスタセルｒの出力信号が排他的オアゲート７に供給されるように接続されている。符号８を付されている排他的オアゲートは一方では排他的オアゲート７の出力信号を、また他方ではなかんずく秘密保持すべきキーを表す入力信号Ｅを受ける。出力側でこの排他的オアゲート８はシフトレジスタ装置の第１のシフトレジスタセルａの入力端と接続されている。
【００１９】
この入力信号Ｅはたとえば秘密情報、チャレンジとしての乱数および場合によっては追加情報（たとえばデータメモリ内容）から得られる。本発明による回路装置は図面に示されている排他的オアゲート８に限られない。それどころかこの排他的オアゲート８は任意の演算論理により置換されていてよい。
【００２０】
本発明によれば、帰還結合されたシフトレジスタ装置の出力端に、制御信号ａＡに関係して最後のシフトレジスタセルｚに生ずるビットデータの擬似乱数列Ｐを出力端子Ａに通過接続したり通過接続しなかったりするスイッチング装置Ｔが接続されている。制御信号ａＡは、本発明によれば、非線形論理関数ｈを実現する回路Ｆにより発生される。この回路Ｆは、シフトレジスタ装置Ｓの１つまたはそれ以上のスイッチング状態に関係して、スイッチング装置Ｔがその入力端に与えられている擬似乱数列Ｐを出力端子Ａに接続するか否かを決定する。そのために回路Ｆは入力側で予め定められたシフトレジスタセルの出力端と接続されている。この実施例では、４つのシフトレジスタセル、すなわちシフトレジスタセルｂ、ｃ、ｄおよびｅの出力端が接続線ａ１、ａ２、ａ３およびａ４を介して回路Ｆと接続されていると仮定されている。非線形論理関数ｈはたとえば下記の形式のアンドおよびオアゲートの組み合わせから成っている：
ｈ＝Ｘｅ  ・Ｘｄ  ＋Ｘｅ  ・Ｘｃ  ＋Ｘｅ  ・Ｘｂ  ＋Ｘｄ  ・Ｘｃ  ＋Ｘｄ  ・Ｘｂ
【００２１】
非線形論理関数を呈する回路Ｆからシフトレジスタ装置Ｓへの取り出し点は隣接するブロックとして選ばれないことが好ましい。これらの取り出し点をランダムにまた重ならずに選ぶことが推奨される。同様なことが排他的オアゲート１ないし７への帰還結合取り出し点にも当てはまる。
【００２２】
この本発明による回路装置の動作の仕方は下記のとおりである。シフトレジスタ状態の定められた予設定の後に、前記のように秘密情報、乱数および場合によっては追加情報から成っていてよい入力信号Ｅが帰還結合されたシフトレジスタ装置Ｓに入力される。この入力は演算論理、ここでは排他的オアゲート８を介して最後の排他的オアゲート７の出力端における帰還結合情報と論理演算される。本発明による回路装置の出力端子Ａにおける真正認識のためのデータワードの出力は回路Ｆの非線形論理関数ｈにより制御される。これは最後のシフトレジスタセルｚの出力端において流れている擬似乱数列Ｐからマスクされて取り出されたものである。検査するポジションは次いで情報Ｅ、すなわち秘密情報、乱数および場合によっては存在する追加情報の知識に基づいて等しい経過をたどり得る。等しい際には真正であることが確認されている。
【００２３】
シフトレジスタ装置Ｓの定められた予設定はたとえば帰還結合の中断により入力信号Ｅ、特に秘密情報の入力を介して行われ得る。予設定の後の入力の順序は任意に行われ得る。出力の阻止は本発明によれば、目的にかなった仕方で、特に秘密数の入力に対する確実性のために十分な非相関が保証されるように選ばれている。入力信号Ｅの入力の前および／または入力の間に多くのクロックサイクルが挿入され得る。さらに、より長いクロックサイクル相が、本来出力端子Ａに生じている擬似乱数列の前に接続され得る。
【００２４】
シフトレジスタからの出力を、非線形の出力関数に相応して、連続したクロックにより読出される中間レジスタのなかに書込むことは目的にかなっていることが判明している。それによって、さもなければ本発明による回路装置において不可避的に生ずるデータ間隙が生起することなしに、連続的なデータ列が本発明による回路装置の出力端において取り出し可能であるという利点が得られる。さらに真正検査は検査すべき回路の状態の各変化の後に繰り返され得る。その他に真正検査は２つの回路の間で相互に相応の擬似乱数列の交換により行われ得る。
【００２５】
こうして本発明による回路装置および本発明による方法によれば、帰還結合されたシフトレジスタ装置および非線形の論理演算関数ｈを使って、シフトレジスタ装置Ｓの最後のシフトレジスタセルｚの出力端における擬似乱数列Ｐから非線形の論理演算関数ｈを使って別の数列が選択により導き出されるデータ列を発生することも可能である。こうして発生される列に対して帰還結合関数および非線形の論理演算関数の選択を介して、本発明によれば、実際的な推量による出力端子Ａにおける信号の予報可能性が不可能になることが保証されていなければならない。
【図面の簡単な説明】
【図１】本発明の原理説明図。
【符号の説明】
ｈ    非線形論理関数
１〜８    排他的オアゲート
Ａ    出力端子
ａ〜ｚ    シフトレジスタセル
ａ１〜ａ４    接続線
ａＡ    制御信号
Ｅ    入力端子
Ｆ    非線形論理関数回路
ｈ    非線形論理関数
Ｐ    擬似乱数列
Ｒ    帰還結合装置
Ｓ    シフトレジスタ装置
Ｔ    スイッチング装置
【図１】
0003586475.tif 000002