(57)【要約】　【課題】　従来のシステムの限界を克服する、差動遷移データバスを介して送信されるデータを暗号化するための方法および装置を提供すること。　【解決手段】　本発明は、遷移符号化を用いた差動バスのためのデータ暗号化を提供する。本発明は、所与のバス転送サイクルについて、入力データを、論理状態としてマッピングし、符号化し、暗号化する。入力データのマッピング、符号化、および暗号化は、バス転送サイクルごとに変化する。マッピング、符号化、および暗号化は、擬似乱数の関数である。論理状態を、バス送信器からバス受信器に差動的に送信し、対応する出力データとしてマッピングし、暗号解読し、復号する。【選択図】　図３
2004102286.tif 000002
【特許請求の範囲】
【請求項１】
マッピング関数と関連付けて使用可能な暗号化論理および暗号解読論理を有するデータバスを差動遷移符号化を用いて動的に暗号化するための方法であって、
　第１のバスサイクルを確立するステップと、
　後の時点で異なるバスサイクルを確立するために前記マッピング関数を動的かつ擬似ランダムに変更するステップと、
　を含む方法。
【請求項２】
前記マッピング関数を動的かつ擬似ランダムに変更するステップは、バスサイクルごとに行われる、請求項１の方法。
【請求項３】
前記バスサイクルを確立するステップは、複数の同期バス転送サイクルを確立する、請求項１の方法。
【請求項４】
前記複数のバス転送サイクルのうち少なくとも２つのバス転送サイクルは異なるマッピング関数を用いる、請求項３の方法。
【請求項５】
差動遷移符号化を有するバスを動的に暗号解読するためのシステムであって、
　擬似乱数の物理的な表現と、
　擬似乱数の物理的な表現の関数として選択される暗号解読論理を提供するための複数のデータマッピング回路と、
　選択された暗号解読論理の関数として暗号化遷移符号化を提供するためのデータバス差動送信器と、
　アサートされたバスサイクルにおいて前記データバス差動送信器から暗号化された遷移符号化を受信するためのデータバス差動受信器と、
　を具備する、システム。
【請求項６】
前記差動送信器および前記差動受信器の双方に、４本または６本のバス線から成るバス線グループが結合されている、請求項５のシステム。
【請求項７】
前記差動バス送信器および前記差動バス受信器は、複数の同期バス転送サイクルを確立するために使用される、請求項５のシステム。
【請求項８】
前記複数のバス転送サイクルのうち少なくとも２つのバス転送サイクルは、各々、バス転送サイクル当たり１つの実質的に異なるマッピング関数を用いる、請求項７のシステム。
【請求項９】
マッピング関数と共に使用可能な暗号化論理および暗号解読論理を有し、遷移符号化を用いてデータバスを動的に暗号化するためのコンピュータプログラムであって、
　バスサイクルを確立するためのコンピュータコードと、
　次のバスサイクルのために前記マッピング関数を動的かつ擬似ランダムに変更するためのコンピュータコードと、
　を具備する、コンピュータプログラム。
【請求項１０】
マッピング関数と関連付けて使用可能な暗号化論理および暗号解読論理を有し、差動遷移符号化を用いてデータバスを動的に暗号化するためのプログラムを実行するプロセッサであって、
　前記コンピュータプログラムは、
　バスサイクルを確立するためのコンピュータコードと、
　次のバスサイクルのために前記マッピング関数を動的かつ擬似ランダムに変更するためのコンピュータコードと、
　を具備する、プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、一般に、バスデータ転送システムに関し、更に具体的には、差動形式の遷移符号化のためのデータ暗号化を採用した方法およびシステムに関する。
【背景技術】
【０００２】
　現在のマイクロチップ内で利用可能な回路の密度および速度が大きく増したことによって、結果として、オンチップ機能の能力および性能が向上している。しかしながら、これらの向上により、従来のデータバス技法の性能等、いくつかの他の問題も生じ始めている。大きく向上したかかるオンチップ機能の能力を有効利用するために必要なオフチップ入出力帯域幅（すなわちマイクロチップへのデータ転送およびマイクロチップからのデータ転送）を大きく広げることは、非常に難しくなってきている。
【０００３】
　このジレンマに対する一つの解決策は、もっと広いバスデータ経路を用いることである。しかしながら、この手法は更に多くのバスデータドライバ回路を必要とするので、チップ設計者には別の問題が生じる。所与のバスサイクルで転送されるデータパターンが、先行するバスサイクルのものからどれだけ異なっているかに応じて、データバスドライバを全て用いる場合から全く用いない場合までのいずれかが、それぞれのデータバス線の電圧レベルを変更するために要求される。各データバス線は大きな負荷容量を有し得るので、（全てのドライバが同時にかつ急速にそれらのバス線の電圧レベルを変えようと試みた場合）合計ドライバ電流要求のピークが著しく大きくなると共に、かかるドライバ電流要求は、（例えばあるサイクルで全てが切り替わり、次のサイクルではどれも切り替わらない場合）バスサイクルごとに大きく変動し得る。かかるドライバ回路に給電するオンチップ電源および接地グリッドのインダクタンスおよび抵抗によって、著しい動的バスデータ依存電圧変化が起こると、かかる多数のドライバ回路に適切な電力分配を行うことはますます難しくなる。また、これらは、多くの場合、ノイズとしてチップ上の他の回路に結合する。
【０００４】
　この問題に対する一つの取り組み方は、スルーレート、すなわち関連するデータバス線負荷上の電圧をどれだけ速く変化させるかを制限するように設計されたドライバ回路を用いることである。別の手法は、ドライバ回路動作を「互い違いにする」ことで、それらの全てが全く同じ瞬間に関連するデータバス線を変更する試みをすることがないようにする。これらの方法は双方とも有効であるが、バスサイクル時間が長くなり、データ転送速度が遅くなるという不利な点がある。
【０００５】
　別の手法は、各データバスビット線について２本のワイヤを用いる差動送信を用いることである。定電流を、あるドライバ回路経路または別のものに分流して、差動信号を生成する。通常、この結果として、ドライバにおけるオンチップの接地および供給グリッド過渡電流が低減し、受信器チップにおいてノイズ耐性が向上する。なぜなら、差動受信器にとって意味があるのは、２つのデータバスビット線電圧レベルの差のみだからである。これは、バス線上で更に小さい電圧信号レベル振幅を用いることを可能とし、これによって、所与の容量性バス負荷に対するオンチップドライバ電流の要求が小さくなる。また、データバス線内の結合ノイズも、電磁放射により放出されるので低減する。この技法は、一般にＬＶＤＳ（低電圧差動信号レベル）と呼ばれ、シングルエンド式のバスとは区別される。シングルエンドのバスでは、１本のワイヤを用いて各データビットを送信し、通常、用いる電圧レベルは論理回路と同一である。
【０００６】
　一般に、後者の技法は、この場合、チップ内のバス接続のために用いられ、更に、必要な速度およびデータバス線の距離／負荷容量に応じて、チップ間の伝送のためにシングルエンドまたはＬＶＤＳ方法のいずれかで用いられる。
【０００７】
　米国特許第６３０４９３３号は、「遷移符号化」と呼ばれる、シングルエンド技法のいっそうの改良を教示している。この特許では、４本のバス線のうち１本を活動状態または非活動状態にすることによってデータを伝送し、４本のバス線のうち１本の各遷移が、一意の２ビットの２進値を表す。この結果、従来のシングルエンド手法に比べて、ドライバ電流要求の変動が小さくなる。なぜなら、従来のシングルエンドデータバスの一部として用いられた場合に同じ４本のワイヤ上で同時ワイヤ遷移は０から４のいずれかであるのに比べて、２本の連続した単一ワイヤの遷移が常に４ビットの情報を送信する必要があるからである。更に、遷移は自己クロッキングであり、従って、特にオンチップ環境においては、いくぶん高速とすることができる。
【０００８】
　しかしながら、ＬＶＤＳ技法を用いても、適切なデータ転送速度を得るために必要とされる、ますます広くなるバスデータ経路に必要なドライバ回路の数が、オンチップ同時切り替えの大きな問題を引き起こす。バスシステムの設計においては、各バスサイクルが先行するサイクルのデータパターンの逆のデータパターンを転送する可能性を見込んでおかなければならない。このため、各サイクルでデータ線の全てが遷移するか、あるいはデータ線が全く遷移しない可能性があり、これらの一部は隣接するものとは逆に差動的に駆動されることがあり得るので、有効信号線間負荷容量を増大させる。
【０００９】
　かかる遷移から生じるバス線切り替え数の変動は、多くの場合、線間のクロスカップリング、接地電源電圧の変動、ノイズスパイク、電磁放射等の理由で、符号化データを受信する際に不都合な状況を引き起こす。
【００１０】
　しかしながら、差動送信を用いてデータバス上で情報を送信する場合、セキュリティの問題がある。例えば、ホスト−クライアントシステムのあるものは、「従量料金制」のビジネスモデルを採用しており、この場合、クライアントハードウエアは、犠牲を払って、または損になってでも販売され、所得および利益の源は、ホストからクライアントにオンデマンドでダウンロードされたアプリケーション、娯楽、およびその他のコンテンツに対して請求される収入である。
【００１１】
　ホストサーバは、制御された物理環境に設置可能であるので、適度に安全にすることができる。しかしながら、ホストサーバからクライアントに送信される貴重な送出コンテンツについて、２種類の露呈がある。従って、貴重なデータへのアクセスを制限可能であることが望ましい。
【００１２】
　１つのセキュリティの問題は、合法に供給されるコンテンツストリームを無許可の第三者が傍受することである。これは、かかるコンテンツが公開のブロードバンドインターネット接続を介して配信される場合は、特に問題となる。
【００１３】
　第２のセキュリティの問題は、非常に多くの登録されたクライアントシステムの中には、純粋に見えるが、他での不正使用のためにコンテンツをコピーするという特別な目的でコンテンツをダウンロードして支払いをする可能性があるものがあるということである。また、かかるユーザは、特にかかる著作権侵害の金銭的な見返りが大きい場合、かかる行為を防ぐことを意図したあらゆるコンテンツ暗号化、暗号解読、または保護処置をあざむくため、クライアントハードウエアを故意に変更する態勢にある場合もある。
【００１４】
　これに応じて、クライアントシステムの中には、暗号化／暗号解読ソフトウエアを用いて、クライアントシステムおよび無許可の第三者の双方によって行われ得る著作権侵害を阻止するものがある。ソフトウエアのセキュリティ機能が損なわれると、ソフトウエアをアップグレードまたはフィックスすることができ、更に、より複雑な暗号化／暗号解読アルリズムを実行することができる。
【特許文献１】米国特許第６３０４９３３号
【発明の開示】
【発明が解決しようとする課題】
【００１５】
　しかしながら、従来の暗号化／暗号解読ソフトエウアにおいて提供される保護は、監視することができる差動遷移バス等のバスによってプロセッサに取り付けられたメモリ内で行われている場合、回避することができる。このバスを通って送信される信号についてバスを監視すると、暗号化データおよび暗号化されていないデータの双方を読むことができる。従って、暗号化されていないデータにアクセスすることができるので、データは安全でない。
【００１６】
　従って、従来のシステムの限界を克服する、差動遷移データバスを介して送信されるデータを暗号化するための方法および装置が必要とされている。
【課題を解決するための手段】
【００１７】
　本発明は、差動バスと共に用いる暗号化方法およびシステムを提供する。この方法は、遷移符号化ならびにマッピングのための暗号器および暗号解読器を有するバスを動的に暗号化するステップを含む。この方法は、バスサイクルを確立するステップと、後のバスサイクルのため、マッピング関数を動的かつ擬似ランダムに変更するステップとを含む。
【発明を実施するための最良の形態】
【００１８】
　以下の考察では、多くの特定の詳細事項を述べて、本発明の完全な理解に供する。しかしながら、かかる特定の詳細事項が無くとも本発明を実施可能であることは、当業者には認められよう。他の例では、不必要な詳細で本発明を不明瞭にしないため、概略図またはブロック図の形態で周知の要素を示している。更に、たいていの場合、ネットワーク通信、電磁シグナリング技法等に関する詳細は、本発明の完全な理解を得るためにかかる詳細が必要であると考えられない限り、更に、関連技術分野において通常の技能を持つ者の理解の範囲内であると考えられる限り、省略した。
【００１９】
　更に、特に示さない限り、本明細書中で説明する全ての機能は、ハードウエアもしくはソフトウエア、またはマイクロプロセッサ実行ファームウエア、またはその組み合わせのいずれかで実行可能であることを注記しておく。一実施形態では、かかる機能を実行するように符号化された専用の集積論理回路を用いる。他の実施形態では、特に示さない限り、コンピュータプログラムコード、ソフトウエア、またはかかる機能を実行するように符号化された集積回路等のコードに従って、コンピュータまたは電子データプロセッサ等のプロセッサによって、機能を実行する。
【００２０】
　図１を参照すると、参照番号１００は、データバス暗号化を用いる差動バスシステムを全体的に示す。システム１００は、データバス送信器１１０に“データ入力”を受信するように構成されている。データバス送信器１１０は、暗号化論理１２０、差動遷移送信論理１２５、および差動遷移送信ドライバ回路１２７を備える。
【００２１】
　通常、データバス送信器１１０の暗号化論理１２０は、“データ入力”における２以上のビットの２進値パケットを、対応する暗号化論理状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”に動的にマッピングするための回路を用いる。起こり得るデータ入力の値（すなわち“００”、“０１”、“１０”、および“１１”）の、その対応する暗号化論理状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”へのマッピングは、通常、バス転送サイクルごとに異なる。
【００２２】
　例えば、第１のバス転送サイクルにおいて、“データ入力”の値“０１”は、暗号化論理状態“Ａ”としてマッピングされる。しかしながら、第２のバス転送サイクルにおいて、“データ入力”の値“０１”は、暗号化論理状態“Ｄ”としてマッピングされる等となる。全てにおいて、４本のバス線から成る単一のグループでは、４本のバス線を用いた１つのバス線グループについて、合計で２４の別個のマッピング構成配列がある。
【００２３】
　通常、暗号化論理１２０のマッピング回路は、擬似乱数発生器の出力を動的に用いて、所与のバス転送サイクルについて、２ビットの値“００”、“０１”、“１０”、または“１１”に動的に与えられる所与の論理状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”値の具体的なマッピングを決定する。当業者には理解されようが、擬似乱数発生器は、演算または論理プロセスによって１つの数または数列を発生する。発生した数は、真にランダムではないが、数列は十分に長く非反復性であり、実用上の目的のためのランダム性に匹敵する。
【００２４】
　システム１００において、暗号化論理１２０は、擬似乱数を用いて、“データ入力”の２ビット２進値パケットを特定のマッピング構成に対してマッピングする。換言すると、擬似乱数は、所与のバス転送サイクルについて、“データ入力”の２４の組み合わせのうちどれが個別の論理状態レベルに相関付けられるかを決定する。
【００２５】
　例えば、第１のバス転送サイクルにおいて、“データ入力”の値“００”を状態“Ｃ”にマッピングし、“データ入力”の値“０１”を状態“Ａ”にマッピングし、“データ入力”の値“１０”を状態“Ｄ”にマッピングし、“データ入力”の値“１１”を状態“Ｂ”にマッピングする。次のバス転送サイクルでは、“データ入力”の値“００”を状態“Ｂ”にマッピングし、“データ入力”の値“０１”を状態“Ｄ”にマッピングし、“データ入力”の値“１０”を状態“Ｃ”にマッピングし、“データ入力”の値“１１”を状態“Ａ”にマッピングする等である。これらの特定の“データ入力”２進パケット値の特定の論理状態へのマッピングは、暗号化論理１２０が発生した擬似乱数の関数である。
【００２６】
　送信論理１２５において、結果として得られた論理状態は、以前のバス線グループ状態に対応した差動遷移コードに変換される。次いで、この差動遷移コードは、ドライバ１２７によって、アサートおよび逆アサートされるバス線に必要な遷移として実施される。ドライバ１２７は、バス線グループ１６３およびバス線グループ１６５に結合されており、これらのグループのバス線の電圧を差動的に駆動する。バス線グループ１６３、１６５の双方は、データバス受信器１８０に結合されている。
【００２７】
　通常、バス線は、１つ以上のグループに分割される。すなわち、第１のバス線グループ１６３であり、別の実施形態では第２のバス線グループ１６５もある。バス線グループの各々は、データバス送信器１１０によって、２つの定義された集合に機能的に分割される。第１の集合は、アサートされたバス線（すなわち“ハイ”電圧のバス線）から成り、第２の集合は、逆アサートされたバス線（すなわち“ロー”電圧のバス線）から成る。各集合は、等しい数のアサートされた要素および逆アサートされた要素を有するものとして定義される。すなわち、“１”（アサートされた集合のメンバー）および“０”（逆アサートされた集合のメンバー）の数が等しい。システム１００が採用する符号化ルールは、バス線グループ１６３、１６５内で、常にバス線の半分がアサートされ、残り半分が逆アサートされるというものである。様々なバス線に起こり得る遷移は、各集合に１つずつであり、特定の論理状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”の送信に相関付けられる。
【００２８】
　図１のシステム１００は、バス転送サイクルを実行する。通常、バス転送サイクルは、差動バスシステム１００が、以前に逆アサートされたバス線集合の１つのメンバーを遷移させてオンにアサートする（すなわち電圧を高くする）ことを含む。バス転送サイクルは、更に、システム１００が、以前にアサートされたバス線集合の１つのメンバーを逆アサートする（すなわち、電圧を低くする）ことを含む。このように、論理状態“Ａ”、“Ｂ”、“Ｃ”、および“Ｄ”を、データバス受信器１８０に送信する。別の実施形態では、１つのバス線グループは、６本のバス線から成る。更に別の実施形態では、システム１００は、複数のグループを備える。
【００２９】
　データバス受信器１８０は、差動遷移受信回路１９０、差動遷移受信論理１９５、および暗号解読論理１９７を備える。通常、受信回路１９０は、１つのグループのバス線を受ける。受信回路１９０は、１つのグループの様々なバス線を互いに比較して、バス線電圧の高低を判定する、すなわち、どのバス線が他のバス線よりも高い電圧を有するかを判定する。この情報は、次いで受信論理１９５に送出される。すると、受信論理１９５は、バス線グループ集合１６３がどのように先行するバス転送サイクルから遷移したかを調べる。あるバス線状態から別の状態への変化があると、ドライバ１２７によって最初に送られた論理出力状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”が生じる。論理状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”は、次いで、暗号解読論理１９７に送出される。
【００３０】
　暗号解読論理１９７は、所与のバス転送サイクルについて、２進データを論理状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”にマッピングするために暗号化論理１２０が用いた擬似乱数に対応する擬似乱数シーケンスを、入力として有するか、または推論する。従って、暗号解読論理１９７は、いずれかの所与のバス線グループ遷移についての２４の異なるマッピング回路構成から、適切なマッピング回路を選択する。次いで、暗号解読論理１９７のマッピング回路構成内の選択されたマッピング回路によって、選択論理状態が暗号解読される。次いで、適切な２ビット２進値パケットすなわち“００”、“０１”、“１０”、または“１１”を、“データ出力”として出力する。
【００３１】
　本発明の別の態様では、システム１００は、実質的に並列な複数のバス線グループ１６３、１６５を用いる。すなわち、複数の別個の暗号化データパケットを、実質的に並列に、データバス送信器１１０からデータバス受信器１８０まで差動的に送信する。複数のバス線グループ１６３、１６５のうち少なくとも２つのメンバーが、同様の“データ入力”値を、異なる論理状態値として符号化する。
【００３２】
　例えば、第１のバス転送サイクルにおいて、バス線グループ１６３は、符号化された“データ入力”データパケット“００”を論理状態“Ｃ”として差動的に送信するが、バス線グループ１６５は、符号化された“データ入力”データパケット“００”を論理状態“Ｂ”として差動的に送信する。第２のバス転送サイクルにおいて、バス線グループ１６３は、符号化された“データ入力”データパケット“１０”を論理状態“Ｂ”として差動的に送信するが、バス線グループ１６５は、符号化された“データ入力”データパケット“１１”を論理状態“Ｂ”として差動的に送信する等である。
【００３３】
　概して、暗号化論理１２０および暗号解読論理１９７によって、無許可の第三者が、差動遷移データバス等のデータバス上で送信されるデータの内容を明らかにすることが更に難しくなる。このように、無許可の第三者がバス線のアサートおよび逆アサートのシーケンスを全て知っていても、傍受したバストラヒックから実際のデータ内容と思われるものを推論することは、ますます難しくなる。符号器マッピングが、限られた数のバスサイクルについて、このシーケンスのうちランダムまたは擬似ランダムに選択された比較的短い部分のみを用いる場合、これは更に難しくなる。
【００３４】
　ここで図２に移ると、暗号解読論理１９７の更に詳細な図が示されている。暗号解読論理１９７のみを詳細に図示し記載するが、暗号化論理１２０にも同様の論考が当てはまる。暗号解読論理１９７は、擬似乱数発生器２１０およびマッピング回路２２０を備える。発生器２１０は、タップおよび初期シーケンス信号２１５に結合されている。発生器２１０は、マップ回路選択信号２４０を介して、マッピング回路２２０に機能的に結合されている。一実施形態では、発生器２１０は、フィードバック信号２３０を介して、マッピング回路２２０からの出力を受信する。
【００３５】
　暗号解読論理１９７は、受信論理１９５から状態論理を受信する。暗号解読論理１９７は、信号線２１５を介して、線形フィードバックシフトレジスタ等の擬似乱数発生器２１０と共に用いるための“タップ”値も受信する。当業者には、擬似乱数の発生のために線形フィードバックシフトレジスタを用いることは理解されよう。別の実施形態では、タップ値は、発生器２１０内にすでに組み込まれている。
【００３６】
　また、発生器２１０は、「初期フィル」または「初期ベクトル」としても知られるキー値を受信するか、またはそのハードウエアもしくはソフトウエア内にキー値をプログラムしている。このキー値は、タップ値と共に用いられると、マッピング回路２２０によって用いられる擬似乱数を生成する。通常、擬似乱数は、バス転送サイクルごとに算出され、マッピング回路２２０に入力される。
【００３７】
　マッピング回路２２０は、擬似乱数を用いて、受信論理１９５によって入力された暗号化された状態論理を暗号解読するために、どの特定のマッピング関数を用いるべきか、従ってどのマッピング回路を用いるべきかを決定する。暗号化論理１２０および暗号解読論理１９７は、バス転送サイクルごとに、同一の擬似乱数を算出するか、または論理的に関連する擬似乱数を算出する。従って、暗号化論理１２０および暗号解読論理１９７の双方を用いて、２進数の同一のパケットを暗号化および暗号解読し、“データ入力”から抽出して“データ出力”に配することができる。
【００３８】
　例えば、第１のバス転送サイクルにおいて、暗号化論理１２０が“データ入力”データパケット“０１”を論理状態“Ｃ”として暗号化すると、論理状態“Ｃ”を暗号解読論理１９７によって暗号解読する場合、これは“データ出力”データパケット“０１”として暗号解読される。第２のバス転送サイクルにおいて、暗号化論理１２０が“データ入力”データパケット“１０”を論理状態“Ａ”として暗号化すると、論理状態“Ａ”を暗号解読論理１９７によって暗号解読する場合、これは“データ出力”データパケット“１０”として暗号解読される等となる。
【００３９】
　本発明の別の態様では、暗号解読された“データ出力”データパケットは、フィードバック信号２３０を介して発生器２１０にも入力される。“データ出力”２進値は、初期ベクトル、タップ値、またはその双方を変更するために用いることができる。従って、“データ入力”データパケット値も、暗号化論理１２０によって、初期ベクトル、タップ値、またはその双方を変更するために用いられる。暗号解読論理１９７によって推論された“データ出力”暗号解読データパケットの値（すなわち“００”、“０１”等）は、暗号化論理１２０にも知られるので、暗号解読論理１９７および暗号化論理１２０の双方は、それらの初期ベクトルまたはタップ値を同じように変更する。従って、所与のバス転送サイクルについて暗号化論理１２０がデータを暗号化するために発生した擬似乱数は、そのバス転送サイクルについて暗号解読論理１９７が暗号解読を行って論理状態から“データ出力”２進データにマッピングするために発生した擬似乱数に対応する。発生した擬似乱数は、データ自体の関数を含み、これによって暗号を解読する難しさが増す。
【００４０】
　本発明の別の態様では、タップまたは初期ベクトルの値自体を、暗号化論理１２０および暗号解読論理１９７の双方に知られた方法で変更する。これによって、暗号化および暗号解読自体を確定的に変更することができ、システム１００のセキュリティが向上する。
【００４１】
　ここで図３に移ると、２進データパケットを“データ入力”として暗号化し、その２進データパケットを“データ出力”として暗号解読するための方法３００が開示されている。方法３００の別の態様では、複数の符号化され暗号化された状態論理レベルに対応する表示の並列の送信および受信が、通常、実質的に同時に行われるが、これ以上詳しくは論じない。しかしながら、暗号化された論理状態レベルの並列送信が本発明の範囲内であることは、当業者には理解されよう。
【００４２】
　ステップ３０５において、バス転送サイクルを確立する。換言すると、システム１００がバス転送サイクルを開始する。ステップ３１０では、方法３００は、“データ入力”から２進データパケットを受信する。また、ステップ３１０は、バス転送サイクルを確立する。方法３００では、これらのパケットは、“００”、“０１”、“１０”、“１１”の形態である。しかしながら、６ワイヤ線グループでは、２進データパケット“０００”、“００１”、“０１０”、“０１１”等を受信する。
【００４３】
　ステップ３２０では、暗号化論理１２０内で擬似乱数を発生する。擬似乱数は、線形フィードバックシフトレジスタによって発生するが、他の擬似乱数発生器も本発明の範囲内である。擬似乱数および受信した２進データパケットの関数として、論理状態すなわち状態“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”を暗号化する。暗号化した論理状態は、第１のバス線グループ１６３に関連付けられる。
【００４４】
　ステップ３３０では、送信論理１２５は、アサートおよび逆アサートするバス線を決定する。アサートおよび逆アサートされるバス線は、それらの対応する暗号化論理状態レベルを示す。これらの状態レベルは、あるバス転送サイクルから次のサイクルにかけて変化するか、または変化しない。しかしながら、暗号化論理状態が２つの連続するバス転送サイクル間で変化しない場合であっても、暗号化状態を送信するたびに、異なるバス線がアサートおよび逆アサートされる。
【００４５】
　ステップ３４０では、暗号化された論理状態レベル遷移を、差動的に符号化し、データバス送信器１１０からデータバス受信器１８０に送信する。
【００４６】
　ステップ３５０では、データバス送信器１１０からの、符号化され暗号化された論理状態レベル遷移を、データバス受信器１８０の受信回路１９０によって差動的に受信する。ステップ３５０では、次いで、受信回路１９０によって、バス線グループ１６３の個々のワイヤの電圧を互いに比較する。次いで、受信論理１９５は、あるバス転送サイクルから次のサイクルにかけて、電圧状態がどのように変化したかを判定する。次いで、以前のバスサイクルから次のバスサイクルへのバス線電圧レベル遷移を、データバス送信器１１０によって送信された暗号化状態論理レベル“Ａ”、“Ｂ”、“Ｃ”、および“Ｄ”として解釈して再び生成する。
【００４７】
　ステップ３６０では、暗号解読論理１９７は、ステップ３２０において発生した擬似乱数と相関する擬似乱数を発生する。ステップ３６０で発生する擬似乱数によって、暗号解読論理１９７は、ステップ３７０で、暗号化状態論理レベル“Ａ”、“Ｂ”、“Ｃ”、または“Ｄ”を、暗号解読した２ビットの２進文字“００”、“０１”等としてマッピングすることができる。ステップ３８０では、暗号解読された論理状態情報すなわち“００”、“０１”等を“データ出力”として送信する。ステップ３８５では、方法３００は、停止するか否かを決定するため、暗号化し差動的に送信するデータが更に存在するか否かを判定する。暗号化し差動的に送信するデータがもう存在しない場合、ステップ３９０で終了する。暗号化し差動的に送信するデータがまだ存在する場合、方法３００はステップ３１０を再び実行する。
【００４８】
　本発明は、多くの形態を取ることが可能であることは理解されよう。従って、本発明の精神および範囲から逸脱することなく、前述のものにいくつかの変更を行い得る。このように、好適な実施形態のいくつかを参照して本発明について説明してきたが、開示した実施形態は性質上、限定ではなく例示であり、前述の開示において、広範囲の変更、修正、変形、および置換が考えられ、いくつかの例では、本発明のいくつかの機構を、他の機構の対応する使用なしに用いることも可能であることを注記しておく。かかる変更および修正は、実施形態の前述の説明の検討に基づいて当業者には明らかであり望ましいものと見なすことができる。従って、添付の特許請求の範囲は、本発明の範囲内で広義に解釈されるべきである。
【図面の簡単な説明】
【００４９】
【図１】暗号化差動形態の遷移符号化を用いるように構成されたバスシステムを概略的に示す。
【図２】多重マッピング回路を用いて遷移差動符号化が送信した論理状態レベルを暗号解読する受信器のシステムレベルの図を概略的に示す。
【図３】差動遷移符号化と共に暗号化および暗号解読を用いるための方法フロー図を概略的に示す。
【符号の説明】
【００５０】
１１０　データバス送信器
１２０　暗号化論理
１２５　差動遷移送信論理
１２７　差動遷移ドライバ回路
１６３　バス線（第１のグループ）
１６５　バス線（第２のグループ）
１７０　制御線
１８０　データバス受信器
１９０　差動遷移受信回路
１９５　差動遷移受信論理
１９７　暗号解読論理
２１０　擬似乱数発生器（線形フィードバックシフトレジスタ）
２２０　マッピング回路
【図１】
2004102286.tif 000003
【図２】
2004102286.tif 000004
【図３】
2004102286.tif 000005