(57)【特許請求の範囲】
【請求項１】
（Ａ）第１ＣＭＥＡ鍵をメモリに記憶するステップと、
（Ｂ）暗号化プロセッサにおいて、平文メッセージに対して、第１入力変換を実行して、第１入力変換されたメッセージを生成するステップであって、該第１入力変換が自己反転的である、ステップと、
（Ｃ）前記メモリから前記第１ＣＭＥＡ鍵を入手するステップと、
（Ｄ）前記暗号化プロセッサにおいて、前記第１入力変換されたメッセージに対して、入手した前記第１ＣＭＥＡ鍵を用いて、１回目のＣＭＥＡプロセスを実行して、第１中間暗号文メッセージを生成するステップと、
（Ｅ）前記暗号化プロセッサにおいて、前記第１中間暗号文メッセージに対して、第１出力変換を実行して、第１出力変換されたメッセージを生成するステップであって、該第１出力変換が、前記第１入力変換と異なり、前記第１入力変換の逆と異なり、非自己反転的である、ステップと、
（Ｆ）前記第１出力変換されたメッセージから暗号化されたメッセージを生成する生成ステップと、
（Ｇ）前記暗号化されたメッセージをトランシーバへルーティングするステップと、
（Ｈ）前記トランシーバから前記暗号化されたメッセージを送信するステップと
を有することを特徴とする通信デバイスにより処理される呼におけるメッセージの暗号化方法。
【請求項２】
（Ｉ）第２ＣＭＥＡ鍵をメモリに記憶するステップをさらに有し、
前記（Ｆ）の生成ステップが、
（Ｆ１）前記暗号化プロセッサにおいて、前記第１出力変換されたに対して、第２入力変換を実行し、第２入力変換されたメッセージを生成するステップと、
（Ｆ２）前記メモリから前記第２ＣＭＥＡ鍵を入手するステップと、
（Ｆ３）前記暗号化プロセッサにおいて、前記第２入力変換されたメッセージに対して、入手した前記第２ＣＭＥＡ鍵を用いて、２回目のＣＭＥＡプロセスを実行して、第２中間暗号文メッセージを生成するステップと、
（Ｆ４）前記暗号化プロセッサにおいて、前記第２中間暗号文メッセージに対して、第２の出力変換を実行し、第２出力変換されたメッセージを生成するステップと
を有することを特徴とする請求項１に記載の方法。
【請求項３】
（Ｊ）第１秘密オフセット、第２秘密オフセット、第３秘密オフセットおよび第４秘密オフセットをメモリに記憶するステップをさらに有し、
前記（Ｄ）のステップが、前記第１秘密オフセットおよび第２秘密オフセットを前記メモリから入手し、前記第１入力変換されたメッセージをｔｂｏｘ関数に適用し、前記ｔｂｏｘ関数への各入力は、入手した前記第１秘密オフセットおよび第２秘密オフセットにより置換され、
前記（Ｆ３）のステップが、前記第３秘密オフセットおよび第４秘密オフセットを前記メモリから入手し、前記第２入力変換されたメッセージをｔｂｏｘ関数に適用し、前記ｔｂｏｘ関数への各入力は、入手した前記第３秘密オフセットおよび第４秘密オフセットにより置換されることを特徴とする請求項２に記載の方法。
【請求項４】
（Ａ）トランシーバで暗号文メッセージを受信するステップと、
（Ｂ）第１ＣＭＥＡ鍵をメモリに記憶するステップと、
（Ｃ）復号化プロセッサにおいて、前記暗号文メッセージに対して、第１逆出力変換を実行し、第１逆出力変換されたメッセージを生成するステップと、
（Ｄ）前記メモリから前記第１ＣＭＥＡ鍵を入手するステップと、
（Ｅ）前記復号化プロセッサにおいて、前記第１逆出力変換されたメッセージに対して、入手した前記第１ＣＭＥＡ鍵を用いて、１回目のＣＭＥＡプロセスを実行し、第１中間復号化された暗号文メッセージを生成するステップと、
（Ｆ）前記復号化プロセッサにおいて、前記第１中間復号化された暗号文メッセージに対して、第１逆入力変換を実行し、第１逆入力変換されたメッセージを生成するステップと、
（Ｇ）前記第１逆入力変換されたメッセージから平文メッセージを生成する生成ステップと
を有し
該第１逆入力変換が自己反転的であり、前記第１逆出力変換は、前記第１逆入力変換と異なり、前記第１逆入力変換の逆と異なり、非自己反転的であることを特徴とする通信デバイスにより処理される呼におけるメッセージの暗号化方法。
【請求項５】
（Ｈ）第２ＣＭＥＡ鍵をメモリに記憶するステップをさらに有し、
前記（Ｇ）の生成ステップが、
（Ｇ１）前記復号化プロセッサにおいて、前記第１逆入力変換されたメッセージに対して、第２逆出力変換を実行し、第２逆出力変換されたメッセージを生成するステップと、
（Ｇ２）前記メモリから前記第２ＣＭＥＡ鍵を入手するステップと、
（Ｇ３）前記復号化プロセッサにおいて、前記第２逆出力変換されたメッセージに対して、入手した前記第２ＣＭＥＡ鍵を用いて、２回目のＣＭＥＡプロセスを実行し、第２中間復号化された暗号文メッセージを生成するステップと、
（Ｇ４）前記復号化プロセッサにおいて、前記第２中間復号化された暗号文メッセージに対して、第２逆入力変換を実行し、平文メッセージを生成するステップと
を有することを特徴とする請求項４に記載の方法。
【請求項６】
（Ｉ）第１秘密オフセット、第２秘密オフセット、第３秘密オフセットおよび第４秘密オフセットをメモリに記憶するステップをさらに有し、
前記（Ｅ）のステップが、前記第１秘密オフセットおよび第２秘密オフセットを前記メモリから入手し、前記第１逆出力変換されたメッセージをｔｂｏｘ関数に適用し、前記ｔｂｏｘ関数への各入力は、入手した前記第１秘密オフセットおよび第２秘密オフセットにより置換され、
前記（Ｇ３）のステップが、前記第３秘密オフセットおよび第４秘密オフセットを前記メモリから入手し、前記第２出力変換されたメッセージをｔｂｏｘ関数に適用し、前記ｔｂｏｘ関数への各入力は、入手した前記第３秘密オフセットおよび第４秘密オフセットにより置換されることを特徴とする請求項５に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、無線（ワイヤレス）電話暗号法に関し、特に、無線電話システムにおける高速でセキュリティの高い暗号化のための改善されたセキュリティ暗号方式に関する。
【０００２】
【従来の技術】
無線電話は、例えば、ステータス情報の伝送、動作モードの再設定、呼着信処理、ならびに、加入者の電子シリアル番号および電話番号のようなシステムおよびユーザのデータや、ユーザによって送信される会話およびその他のデータの伝送を含む、いくつかの目的のためにメッセージングを使用する。中央サービス局が電話線によって各加入者に接続され、権限のない者（攻撃者）による盗聴や傍受からのかなりの程度の保護を保証する通常の有線電話とは異なり、無線電話サービス局（すなわち基地局）は、加入者の物理的位置に関わらず、メッセージを無線信号で送受信しなければならない。
【０００３】
基地局はどこにいる加入者ともメッセージを送受信することができなければならないため、メッセージングプロセスは、加入者機器との間で送受信される信号に完全に依存する。信号は、無線伝送されるため、適当な機器を有する盗聴者あるいは侵入者によって傍受される可能性がある。
【０００４】
信号が無線電話機によって平文で送信される場合、盗聴者が信号を傍受してそれを用いて加入者になりすますこと、あるいは、ユーザによって送信された秘密データを傍受することの危険が存在する。このような秘密データには、会話の内容も含まれることがある。秘密データはまた、例えば、無線電話機に接続されたモデムを通じて送信されるコンピュータデータのような、ユーザによって送信される非音声データを含むこともあり、また、一般にキー押下によって送信される銀行口座やその他の秘密のユーザ情報を含むこともある。会話を聞き、あるいは、非音声データを傍受する盗聴者は、ユーザから秘密情報を取得する可能性がある。暗号化されていない電話信号（すなわち平文信号）のメッセージ内容は、適当に調整した受信機によって比較的容易に傍受される。
【０００５】
あるいは、傍受者は、より高い送信電力を用いることによって、確立されている接続に侵入し、基地局へ信号を送信し、会話の当事者になりすますことも可能である。
【０００６】
無線信号によって伝送されているメッセージに暗号方式を適用することがない場合、電話資源の無権限使用、メッセージの盗聴、および会話中の発呼者または被呼者になりすますことが可能である。このような無権限の傍受や盗聴は実際に重大な問題であることが分かっており、極めて好ましくない。
【０００７】
【発明が解決しようとする課題】
無線電話アプリケーションへの暗号方式の応用は、上記のセキュリティ問題への解決法を提供するが、標準的な暗号方法を無線電話に適用することは、それらの方法が大きい計算量を要するという性質により、大きい困難に遭遇している。特に、これらの方法は、小さい無線ハンドセットを供給するという要求によって課される制約と、ハンドセットの小さいサイズによって課される処理電力に対する制約を受ける。一般的な無線ハンドセットにある処理電力は、ＤＥＳ(Data Encryption Standard)のような周知の暗号アルゴリズムの処理要求を扱うには不十分である。一般的な無線電話システムにおいてこのような周知の暗号アルゴリズムを実装することは、信号を処理（すなわち、暗号化および復号）するのに要する時間を増大させ、それにより、加入者にとって受け入れられない遅延を引き起こす可能性がある。
【０００８】
無線電話のための暗号方式の１つが、米国特許第５，１５９，６３４号（発明者：Reeds）に記載されている。この米国特許には、ＣＭＥＡ(Cellular Message Encryption Algorithm)として知られる暗号アルゴリズムに組み込まれた暗号方式が記載されている。無線電話環境で利用可能な資源の範囲で無線電話のためにこの暗号方式およびその他の既存の暗号方式を大幅に改善することが所望されている。
【０００９】
【課題を解決するための手段】
本発明は、この課題およびその他の課題を有効に解決する。本発明による１つの方法では、第１および第２のＣＭＥＡ鍵が生成される。平文が導入され、第１入力変換を受けて第１入力変換されたメッセージが生成される。第１入力変換されたメッセージは、第１ＣＭＥＡ鍵を用いてＣＭＥＡプロセスの１回目によって処理され、第１中間暗号文が生成される。この第１中間暗号文は、第１出力変換を受けて第１出力変換されたメッセージが生成される。第１出力変換されたメッセージは第２入力変換を受けて第２入力変換されたメッセージが生成される。第２入力変換されたメッセージは、第２ＣＭＥＡ鍵を用いてＣＭＥＡプロセスの２回目によって処理され、第２中間暗号文が生成される。第２中間暗号文は、第２出力変換を受けて第２出力変換されたメッセージが生成される。本発明のもう１つの特徴によれば、ＣＭＥＡプロセスの１回目および２回目は、入力が秘密オフセットによって置換されたｔｂｏｘ関数を使用する。本発明のもう１つの特徴によれば、平文は、入力および出力変換を受けずに、第１および第２ＣＭＥＡ鍵を用いてＣＭＥＡプロセスの１回目および２回目によって処理されることも可能である。暗号化されたテキストは、本発明によれば、暗号文を導入し、平文を暗号化するために適用されたステップを逆順で逆に作用させることによって、適切に復号される。
【００１０】
本発明による装置は、テキストを生成し、それをＩ／Ｏインタフェースに供給する。Ｉ／Ｏインタフェースは、そのテキストを生成されたテキストとして識別し、そのテキストおよびその識別を暗号化／復号プロセッサに供給する。続いて暗号化／復号プロセッサは、そのテキストを暗号化して、送信するためにトランシーバに供給する。本発明の装置がトランシーバを通じて通信を受信すると、その通信は入力暗号文として識別され、その暗号文およびその識別は暗号化／復号プロセッサに供給される。暗号化／復号プロセッサは、その暗号文を復号して、宛先へ転送するためにＩ／Ｏプロセッサに供給する。好ましい実施例では、この装置は、現在一般的に無線電話機で用いられているものと同様の標準的なマイクロプロセッサおよびメモリを利用した無線電話機に統合される。
【００１１】
【発明の実施の形態】
図１は、通話中に送信される可能性のあるいくつかの重要なユーザデータの暗号化のためにＣＭＥＡ鍵を用いる従来の方法１００を説明する流れ図である。ＣＭＥＡ鍵の作成および説明は当業者に周知である。ＣＭＥＡ鍵は、２５６バイトの秘密配列ｔｂｏｘ（ｚ）を作成するために用いられる。あるいは、ｔｂｏｘは、関数呼出しとして実装されることも可能である。この実装によりＲＡＭの使用量は減少するが、処理時間は約１桁増大する。
【００１２】
ステップ１０２で、未処理のテキストが導入される。ステップ１０４で、ｔｂｏｘを関数呼出しとしてではなく静的テーブルとして実装するシステムでは、静的ｔｂｏｘテーブルが導出される。ｔｂｏｘテーブルは次のように導出される。０≦ｚ＜２５６の範囲の各ｚに対して、tbox(z) = C(((C(((C(((C((z XOR k0)+k1)+z)XOR k2)+k3)+z)XOR k4)+k5)+z)XOR k6)+k7)+zである。ただし「＋」は２５６を法とする加算を表し、「ＸＯＲ」はビットごとのＸＯＲ演算子であり、「ｚ」は関数の引数であり、ｋ０，...，ｋ７はＣＭＥＡ鍵の８個のオクテットであり、Ｃ（）はＣＡＶＥ８ビットテーブルルックアップの結果である。
【００１３】
ＣＭＥＡは、連続する３つのステージからなり、各ステージは、データバッファ内の各バイト列を変更する。ステップ１０６、１０８および１１０で、ＣＭＥＡプロセスの第１、第２および第３のステージが、以下で説明するようにそれぞれ実行される。長さｄバイトのデータバッファ（各バイトをｂ（ｉ）で表す。ｉは０≦ｉ＜ｄの範囲の整数である。）は３ステージで暗号化される。
【００１４】
ＣＭＥＡの第１ステージ（Ｉ）は以下の通りである。
１．変数ｚを０に初期化する。
２．０≦ｉ＜ｄの範囲の連続する整数値ｉに対して、
ａ．ｑ＝ｚ（ｉの下位バイト）、によって変数ｑを形成する。ただし、はビットごとの排他的論理和演算子である。
ｂ．ｋ＝ＴＢＯＸ（ｑ）、によって変数ｋを形成する。
ｃ．ｂ（ｉ）＝ｂ（ｉ）＋ｋ  ｍｏｄ  ２５６、によりｂ（ｉ）を更新する。
ｄ．ｚ＝ｂ（ｉ）＋ｚ  ｍｏｄ  ２５６、によりｚを更新する。
【００１５】
ＣＭＥＡの第２ステージ（ＩＩ）は次の通りである。
１．０≦ｉ＜（ｄ−１）／２の範囲のｉのすべての値に対して、ｂ（ｉ）＝ｂ（ｉ）（ｂ（ｄ−１−ｉ）ＯＲ  １）。ただし、ＯＲはビットごとの論理和演算子である。
【００１６】
ＣＭＥＡの最後すなわち第３のステージ（ＩＩＩ）は、第１ステージの逆である復号である。
１．変数ｚを０に初期化する。
２．０≦ｉ＜ｄの範囲の連続する整数値ｉに対して、
ａ．ｑ＝ｚ（ｉの下位バイト）、によって変数ｑを形成する。
ｂ．ｋ＝ＴＢＯＸ（ｑ）、によって変数ｋを形成する。
ｃ．ｚ＝ｂ（ｉ）＋ｚ  ｍｏｄ  ２５６。
ｄ．ｂ（ｉ）＝ｂ（ｉ）−ｋ  ｍｏｄ  ２５６、によりｂ（ｉ）を更新する。
【００１７】
ステップ１１２で、最後の処理結果が出力される。
【００１８】
ＣＭＥＡプロセスは自己反転的である。すなわち、同じ順序で適用される同じステップが、平文を暗号化するためおよび暗号文を復号するための両方に使用される。従って、暗号化または復号のいずれが実行されているかを判定する必要がない。残念ながら、ＣＭＥＡプロセスは、呼に対して用いられるＣＭＥＡ鍵の回復を可能にする攻撃を受ける。
【００１９】
顧客情報に対する追加セキュリティを提供するために、本発明による暗号化方式は、好ましくは、２回のＣＭＥＡプロセスを、相異なる鍵を各回に用いて実行する。第１入力変換および第１出力変換がＣＭＥＡプロセスの１回目の前後に実行され、第２入力変換および第２出力変換がＣＭＥＡプロセスの２回目の前後に実行される。本発明による代替暗号方式は、好ましくは、１回以上のＣＭＥＡプロセスにおいてｔｂｏｘ入力の少なくとも１回の置換を追加することによって、ｔｂｏｘ関数の使用を改善する。ｔｂｏｘ関数の改善された使用については、本願と国際出願日が同一の特許出願（国際出願番号ＰＣＴ／ＵＳ９８／０７４０４）に記載されている。本発明のもう１つの特徴では、ＣＭＥＡプロセスの各回の前後に入力および出力変換をせずに、ＣＭＥＡプロセスの１回目および２回目を実行することも可能である。
【００２０】
図２は、本発明の特徴による暗号化プロセス２００によって実行されるステップを示す流れ図である。図２の暗号化プロセスは、図１に関して説明したＣＭＥＡプロセスを２回含み、各回で相異なるＣＭＥＡ鍵を用いる。ステップ２０２で、平文が暗号化プロセスに導入される。ステップ２０４で、平文は、ＣＭＥＡプロセスを用いた１回目の実行で、第１ＣＭＥＡ鍵を用いて暗号化される。ステップ２０６で、１回目が完了し、中間暗号文が生成される。ステップ２０８で、中間暗号文は、第２ＣＭＥＡ鍵を用いて、ＣＭＥＡプロセスの２回目の適用を受ける。ステップ２１０で、最終暗号文が生成される。
【００２１】
図３は、本発明のもう１つの特徴による暗号化プロセス３００を説明する図である。ステップ３０２で、平文が暗号化プロセスに導入される。ステップ３０４で、平文メッセージは第１入力変換を受け、第１入力変換されたメッセージが生成される。ステップ３０６で、第１入力変換されたメッセージは第１ＣＭＥＡ鍵を用いてＣＭＥＡプロセスの１回目の適用を受け、第１中間暗号文が生成される。好ましくは、ＣＭＥＡプロセスの１回目は、ｔｂｏｘ関数の各入力が置換を受けた、ｔｂｏｘ関数の改善された使用法を用いる。ｔｂｏｘ関数の改善された使用法は上記の特許出願（国際出願番号ＰＣＴ／ＵＳ９８／０７４０４）に記載されている。ステップ３０８で、１回目のＣＭＥＡプロセスの出力は第１出力変換を受け、第１出力変換されたメッセージが生成される。ステップ３１０で、第１中間暗号文は第２入力変換を受け、第２入力変換されたメッセージが生成される。ステップ３１２で、変換された中間暗号文は、第２ＣＭＥＡ鍵を用いてＣＭＥＡプロセスの２回目の適用を受け、第２中間暗号文が生成される。ＣＭＥＡプロセスの２回目は、好ましくは、上記特許出願に記載されたｔｂｏｘ関数の改善された使用法を用いる。ステップ３１４で、第２中間暗号文は第２出力変換を受け、第２出力変換されたメッセージが生成される。ステップ３１６で、第２出力変換されたメッセージが最終暗号文として出力される。
【００２２】
図４は、図３に関して説明した暗号化プロセス３００で使用するのに適した入力変換４００を詳細に説明する図である。逆入力変換４００は自己反転的である。ｊ＋１個の入力データオクテットｊ＋１，ｊ，...，２，１のそれぞれと、変換オクテットとのＸＯＲをとる。変換オクテットは、いくつかの当業者に周知の技術のうちのいずれによって作成することも可能な秘密値である。好ましくは、２つの変換オクテットが交互に用いられ入力データオクテットに適用される。変換オクテットＩ2が入力データオクテットｊ＋１に適用され、変換オクテットＩ1が入力データオクテットｊに適用され、変換オクテットＩ2が入力データオクテットｊ−１に適用され、などとなる。変換の適用により、新たな入力データオクテットのセットｊ＋１′，ｊ′，...，２′，１′が生成され、これは、図３に関して上記で説明したように用いられる。
【００２３】
図５は、図３に関して説明した暗号化プロセス３００で使用するのに適した順／逆出力変換５００を説明する図である。順出力変換の場合、ｊ＋１個の出力データオクテットｊ＋１，ｊ，...，２，１はそれぞれ、変換オクテットと加算される。変換オクテットは、いくつかの当業者に周知の技術のうちのいずれによって作成することも可能な秘密値である。逆出力変換の場合、加算は減算で置き換えられる。好ましくは、２つの変換オクテットが交互に用いられ出力データオクテットに適用される。変換オクテットＯ2が出力データオクテットｊ＋１に適用され、変換オクテットＯ1が出力データオクテットｊに適用され、変換オクテットＯ2が出力データオクテットｊ−１に適用され、などとなる。変換の適用により、新たな出力データオクテットのセットｊ＋１′，ｊ′，...，２′，１′が生成され、これは、図３に関して上記で説明したように用いられる。
【００２４】
本発明の暗号方式は、２つの鍵の適用を要求するため、自己反転的ではない。すなわち、同じ順序で適用される同じ作用は、平文の暗号化でも暗号文の復号でもない。さらに、図５に関して説明した出力変換は自己反転的ではない。従って、以下で説明するように、別個の復号プロセスが必要である。
【００２５】
図６は、本発明の特徴による復号プロセス６００の図である。本質的には、図３の逆順であることを除いて、図３に示されたステップと同様である。第１および第２の逆入力および出力変換が、図３の入力および出力変換の代わりに用いられる。第１逆入力変換は単に、図３に関して上記で説明した第２入力変換であり、第２逆入力変換は、図３に関して上記で説明した第１入力変換である。
【００２６】
ステップ６０２で、暗号文メッセージが復号プロセスに導入される。ステップ６０４で、暗号文メッセージは第１逆出力変換を受け、第１逆出力変換されたメッセージが生成される。第１逆出力変換は、図３に関して説明し、図５に関してさらに詳細に説明した第２出力変換の逆である。特に、出力変換における加算ステップは、逆出力変換における減算によって相殺される。ステップ６０６で、第１逆出力変換されたメッセージはＣＭＥＡプロセスの１回目の適用を受け、第１中間復号された暗号文メッセージが生成される。好ましくは、ＣＭＥＡプロセスの１回目は、上記の特許出願（国際出願番号ＰＣＴ／ＵＳ９８／０７４０４）によるｔｂｏｘ関数の改善された使用法を用いる。この１回目で用いられる鍵方式は第２ＣＭＥＡ鍵および第２ｔｂｏｘ入力置換である。ステップ６０８で、第１中間暗号文は第１逆入力変換を受け、第１逆入力変換されたメッセージが生成される。この第１逆入力変換は、図３に関して説明した第２入力変換と同一である。次に、ステップ６１０で、第１逆入力変換されたメッセージは第２逆出力変換を受け、第２逆出力変換されたメッセージが生成される。この第２逆出力変換は、図３に関して説明した第１出力変換の逆である。ステップ６１２で、第２逆出力変換されたメッセージは、ＣＭＥＡプロセスの２回目の適用を受け、第２中間復号された暗号文メッセージが生成される。好ましくは、ＣＭＥＡプロセスの２回目は、ｔｂｏｘ関数の改善された使用法を用いる。この回の修正ＣＭＥＡプロセスで用いられる鍵方式は第１ＣＭＥＡ鍵および第１ｔｂｏｘ入力置換である。ステップ６１６で、第２中間復号された暗号文メッセージは第２逆入力変換を受け、第２逆入力変換されたメッセージが生成される。この第２逆入力変換は、図４に関して説明した第１入力変換と同一である。ステップ６１８で、２回目が完了し、第２逆入力変換されたメッセージが最終的な平文として出力される。
【００２７】
図２に関して説明した暗号化も同様に逆転させることが可能である。上記で図２に関して説明した本発明の特徴により暗号化されたメッセージを復号するためには、逆入力および出力変換を実行せずに、図６で説明した復号を実行する。
【００２８】
図６に関して説明した復号は、図３に関して説明した暗号化を単に作用させることによっては実行することができないため、本発明による暗号化および復号方式を用いた装置は、メッセージが暗号化されることを必要としている場合、および、復号されることを必要としている場合を認識することが必要である。
【００２９】
図７は、メッセージが暗号化または復号を必要とするかどうかを認識するための設備、および、適当な暗号化または復号を実行する設備を備えた、本発明によるメッセージ伝送および暗号化／復号を実行するための無線電話機７００を示す図である。電話機７００は、トランシーバ７０２、入出力（Ｉ／Ｏ）インタフェース７０４、暗号化／復号プロセッサ７０６、および鍵ジェネレータ７０８を有する。鍵ジェネレータ７０８は、鍵生成のために記憶されている秘密データを受け取り使用する。記憶されている秘密データは、好ましくは、ＥＥＰＲＯＭやフラッシュメモリのような不揮発性メモリ７１０に記憶される。鍵ジェネレータ７０８は、生成された鍵をメモリ７１２に格納する。暗号化／復号プロセッサはまた、鍵ジェネレータ７０８から受け取った鍵、ｔｂｏｘ関数を静的テーブルとして実装したい場合に生成され用いられる静的ｔｂｏｘテーブル、ならびに、暗号化および復号中に生成され記憶されるその他の値を記憶するためのメモリ７１４を有する。電話機７００はまた、メッセージジェネレータ７１６を有する。メッセージジェネレータ７１６は、暗号化／復号プロセッサ７０６によって暗号化されトランシーバ７０２によって送信されるメッセージを生成する。
【００３０】
内部で生成されたメッセージが電話機７００によって暗号化され送信される場合、メッセージは、メッセージジェネレータ７１６からＩ／Ｏインタフェース７０４へ送られる。Ｉ／Ｏインタフェース７０４は、そのメッセージを、暗号化されるべき内部生成メッセージとして識別し、その識別とともに、暗号化／復号プロセッサ７０６へ送る。暗号化／復号プロセッサ７０６は、鍵ジェネレータ７０８から１つ以上の鍵を受け取り、それを用いてメッセージを暗号化する。好ましくは、暗号化／復号プロセッサ７０６は、鍵ジェネレータ７０８から２個の鍵を受け取り、それを用いて、図３に関して上記で説明したような入力および出力変換を用いて２回のＣＭＥＡ暗号化を実行する。
【００３１】
暗号化／復号プロセッサ７０６は、平文メッセージに第１入力変換を適用して第１入力変換されたメッセージを生成する。次に、第１入力変換されたメッセージは、第１ＣＭＥＡ鍵を用いてＣＭＥＡプロセスの１回目の適用を受け、第１中間暗号文メッセージが生成される。ＣＭＥＡプロセスの１回目は、各ｔｂｏｘ関数入力が置換を受けたｔｂｏｘ関数の改善された使用法を適切に用いることが可能である。第１中間暗号文メッセージは第１出力変換を受け、第１出力変換されたメッセージが生成される。次に、第１出力変換されたメッセージは第２入力変換を受け、第２入力変換されたメッセージが生成される。第２入力変換されたメッセージは続いて、第２ＣＭＥＡ鍵を用いて修正ＣＭＥＡプロセスの２回目の適用を受け、第２中間暗号文メッセージが生成される。この２回目もまた、ｔｂｏｘ関数の改善された使用法を適切に用いる。その後、２回目のＣＭＥＡプロセスの出力は第２出力変換を受け、第２出力変換されたメッセージが生成される。最後に、２回目は完了し、第２出力変換されたメッセージが最終的な暗号文として出力される。暗号化が完了すると、最終暗号文はメモリ７１４に格納されることが可能であり、また、送信のためにＩ／Ｏインタフェース７０４へ、および、トランシーバ７０２へ転送される。
【００３２】
暗号化されたメッセージが電話機７００によって受信されると、トランシーバ７０２はそれをＩ／Ｏインタフェース７０４に送る。Ｉ／Ｏインタフェースはそのメッセージを暗号化されたメッセージとして識別し、その識別を、メッセージととともに、暗号化／復号プロセッサ７０６へ送る。暗号化／復号プロセッサ７０６は、鍵ジェネレータ７０８から１つ以上の鍵を受け取り、好ましくは図６に関して上記で説明したような２回のＣＭＥＡ復号プロセスを用いて、メッセージを復号する。
【００３３】
暗号化／復号プロセッサ７０６がＩ／Ｏインタフェース７０４から暗号文メッセージを受け取ると、暗号文メッセージは、第１逆出力変換を受け、第１逆出力変換されたメッセージが生成される。第１逆出力変換は、図３に関して説明し、図５に関してさらに詳細に説明した第２出力変換の逆である。特に、出力変換における加算ステップは、逆出力変換における減算によって相殺される。次に、ＣＭＥＡプロセスの１回目が、好ましくはｔｂｏｘ関数の改善された使用法を用いて実行され、第１中間復号された暗号文メッセージが生成される。この１回目で用いられる鍵方式は第２ＣＭＥＡ鍵および第２ｔｂｏｘ入力置換である。次に、第１中間復号された暗号文メッセージは第１逆入力変換を受け、第１逆入力変換されたメッセージが生成される。この第１逆入力変換は、図３に関して説明した第２入力変換と同一である。次に、第１逆入力変換されたメッセージは第２逆出力変換を受け、第２逆出力変換されたメッセージが生成される。この第２逆出力変換は、図３に関して説明した第１出力変換の逆である。次に、ＣＭＥＡプロセスの２回目が、好ましくはｔｂｏｘ関数の改善された使用法を用いて実行され、第２中間復号された暗号文メッセージが生成される。この回の修正ＣＭＥＡプロセスで用いられる鍵方式は第１ＣＭＥＡ鍵および第１ｔｂｏｘ入力置換である。次に、第２中間復号された暗号文メッセージは第２逆入力変換を受け、第２逆入力変換されたメッセージが生成される。この第２逆入力変換は、図３に関して説明した第１入力変換と同一である。第２逆入力変換されたメッセージは、平文としてＩ／Ｏインタフェース７０４へ送られる。Ｉ／Ｏインタフェース７０４はそれを最終的な使用のために転送する。
【００３４】
ＣＭＥＡプロセスの上記の強化は、大幅にセキュリティを向上させるが、処理あるいはシステムの資源をあまり増大させないため、無線電話システムのような環境での使用に適している。このようなシステムでは、移動機のような装置は、処理電力が制限されることが多い。
【００３５】
本発明について、現在好ましい環境に関して説明したが、当業者には認識されるように、上記の説明および請求の範囲に従って、さまざまな実装が使用可能である。
【図面の簡単な説明】
【図１】従来技術のＣＭＥＡ鍵生成プロセスと、ＣＭＥＡ実装を説明する流れ図である。
【図２】本発明による複数回ＣＭＥＡを使用する強化されたＣＭＥＡ暗号化法を説明する流れ図である。
【図３】本発明に従って複数回ＣＭＥＡを使用する強化されたＣＭＥＡ暗号化法を説明する流れ図である。各回の前に入力変換が先行し、各回の後に出力変換が続く。
【図４】本発明の暗号化法で用いるのに適した入力変換の詳細説明図である。
【図５】本発明の暗号化法で用いるのに適した出力変換の詳細説明図である。
【図６】強化ＣＭＥＡプロセスによって暗号化された暗号文を本発明に従って復号する方法を説明する流れ図である。
【図７】本発明による強化ＣＭＥＡ暗号化を用いた電話機を説明する流れ図である。
【図１】
0003902144.tif 000002
【図２】
0003902144.tif 000003
【図３】
0003902144.tif 000004
【図４】
0003902144.tif 000005
【図５】
0003902144.tif 000006
【図６】
0003902144.tif 000007
【図７】
0003902144.tif 000008