(57)【特許請求の範囲】
【請求項１】
暗号化並びに復号化機能をもつＩＣカードと、前記ＩＣカードの暗号化並びに復号化機能を利用する計算機とからなる暗号化並びに復号化システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記暗号化並びに復号化システムに使用され、この暗号化並びに復号化システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための基底変換機能を有する前記計算機であって、
ＩＣカード向けの暗号化又は復号化コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較手段に送出させるための基底要求をＩＣカードに送出し、前記暗号化又は復号化コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換手段に入力する制御手段と、
予め暗号化／復号化システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較手段からの制御により、前記メモリ領域内の第１基底データを当該基底比較手段に転送可能なシステム基底格納手段と、
前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較手段と、
前記基底比較手段による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較手段から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納手段に書込む変換データ算出手段と、
前記変換データ算出手段により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換手段に転送し、前記第２基底変換データＴを基底逆変換手段に転送する前記変換データ格納手段と、
前記制御手段から暗号化又は復号化コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納手段から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記暗号化又は復号化コマンドとの組をＩＣカードに送出する基底変換手段と、
前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納手段から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換手段と
を備えたことを特徴とする基底変換機能を有する計算機。
【請求項２】
ディジタル署名生成並びに署名検証機能をもつＩＣカードと、前記ＩＣカードのディジタル署名生成並びに署名検証機能を利用する計算機とからなるディジタル署名生成並びに署名検証システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記ディジタル署名生成並びに署名検証システムに使用され、このディジタル署名生成並びに署名検証システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための基底変換機能を有する前記計算機であって、
ＩＣカード向けのディジタル署名生成又は署名検証コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較手段に送出させるための基底要求をＩＣカードに送出し、前記ディジタル署名生成又は署名検証コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換手段に入力する制御手段と、
予めディジタル署名生成並びに署名検証システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較手段からの制御により、前記メモリ領域内の第１基底データを当該基底比較手段に転送可能なシステム基底格納手段と、
前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較手段と、
前記基底比較手段による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較手段から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納手段に書込む変換データ算出手段と、
前記変換データ算出手段により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換手段に転送し、前記第２基底変換データＴを基底逆変換手段に転送する前記変換データ格納手段と、
前記制御手段からディジタル署名生成又は署名検証コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納手段から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記ディジタル署名生成又は署名検証コマンドとの組をＩＣカードに送出する前記基底変換手段と、
前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納手段から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換手段と
を備えたことを特徴とする基底変換機能を有する計算機。
【請求項３】
暗号化並びに復号化機能をもつＩＣカードと、前記ＩＣカードの暗号化並びに復号化機能を利用する計算機とからなる暗号化並びに復号化システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記暗号化並びに復号化システムに使用され、この暗号化並びに復号化システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための、前記計算機が実行する基底変換方法であって、
ＩＣカード向けの暗号化又は復号化コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較工程に送出させるための基底要求をＩＣカードに送出し、前記暗号化又は復号化コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換工程に入力する制御工程と、
予め暗号化／復号化システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有する前記計算機が、前記基底比較工程からの制御により、前記メモリ領域内の第１基底データを当該基底比較工程に転送可能なシステム基底格納工程と、
前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記ＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較工程と、
前記基底比較工程による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較工程から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納工程に書込む変換データ算出工程と、
前記変換データ算出工程により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換工程に転送し、前記第２基底変換データＴを基底逆変換工程に転送する前記変換データ格納工程と、
前記制御工程から暗号化又は復号化コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納工程から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記暗号化又は復号化コマンドとの組をＩＣカードに送出する前記基底変換工程と、
前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納工程から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換工程と
を含んでいることを特徴とする基底変換方法。
【請求項４】
ディジタル署名生成並びに署名検証機能をもつＩＣカードと、前記ＩＣカードのディジタル署名生成並びに署名検証機能を利用する計算機とからなるディジタル署名生成並びに署名検証システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記ディジタル署名生成並びに署名検証システムに使用され、このディジタル署名生成並びに署名検証システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための、前記計算機が実行する基底変換方法であって、
ＩＣカード向けのディジタル署名生成又は署名検証コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較工程に送出させるための基底要求をＩＣカードに送出し、前記ディジタル署名生成又は署名検証コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換工程に入力する制御工程と、
予めディジタル署名生成並びに署名検証システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有する前記計算機が、前記基底比較工程からの制御により、前記メモリ領域内の第１基底データを当該基底比較工程に転送可能なシステム基底格納工程と、
前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較工程と、
前記基底比較工程による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較工程から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納工程に書込む変換データ算出工程と、
前記変換データ算出工程により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換工程に転送し、前記第２基底変換データＴを基底逆変換工程に転送する前記変換データ格納工程と、
前記制御工程からディジタル署名生成又は署名検証コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納工程から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記ディジタル署名生成又は署名検証コマンドとの組をＩＣカードに送出する前記基底変換工程と、
前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納工程から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換工程と
を含んでいることを特徴とする基底変換方法。
【請求項５】
暗号化並びに復号化機能をもつＩＣカードと、前記ＩＣカードの暗号化並びに復号化機能を利用する計算機とからなる暗号化並びに復号化システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記暗号化並びに復号化システムに使用され、この暗号化並びに復号化システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための前記計算機に用いられるコンピュータ読取り可能な記憶媒体であって、
前記計算機のコンピュータに、
ＩＣカード向けの暗号化又は復号化コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較機能に送出させるための基底要求をＩＣカードに送出し、前記暗号化又は復号化コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換機能に入力する制御機能と、
予め暗号化／復号化システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較機能からの制御により、前記メモリ領域内の第１基底データを当該基底比較機能に転送可能なシステム基底格納機能と、
前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較機能と、
前記基底比較機能による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較機能から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納機能に書込む変換データ算出機能と、
前記変換データ算出機能により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換機能に転送し、前記第２基底変換データＴを基底逆変換機能に転送する前記変換データ格納機能と、
前記制御機能から暗号化又は復号化コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納機能から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記暗号化又は復号化コマンドとの組をＩＣカードに送出する前記基底変換機能と、
前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納機能から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換機能と
を実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
【請求項６】
ディジタル署名生成並びに署名検証機能をもつＩＣカードと、前記ＩＣカードのディジタル署名生成並びに署名検証機能を利用する計算機とからなるディジタル署名生成並びに署名検証システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記ディジタル署名生成並びに署名検証システムに使用され、このディジタル署名生成並びに署名検証システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための前記計算機に用いられるコンピュータ読取り可能な記憶媒体であって、
前記計算機のコンピュータに、
ＩＣカード向けのディジタル署名生成又は署名検証コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較機能に送出させるための基底要求をＩＣカードに送出し、前記ディジタル署名生成又は署名検証コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換機能に入力する制御機能と、
予めディジタル署名生成並びに署名検証システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較機能からの制御により、前記メモリ領域内の第１基底データを当該基底比較機能に転送可能なシステム基底格納機能と、
前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較機能と、
前記基底比較機能による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較機能から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納機能に書込む変換データ算出機能と、
前記変換データ算出機能により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換機能に転送し、前記第２基底変換データＴを基底逆変換機能に転送する前記変換データ格納機能と、
前記制御機能からディジタル署名生成又は署名検証コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納機能から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記ディジタル署名生成又は署名検証コマンドとの組をＩＣカードに送出する前記基底変換機能と、
前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納機能から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換機能と
を実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２の拡大体上の楕円曲線暗号方式を用いた基底変換機能を有する計算機、方法及び記憶媒体に関する。
【０００２】
【従来の技術】
近年、標数２の有限体ＧＦ（２ｍ），ｍ＞１上で定義された楕円曲線を用いた楕円曲線暗号方式の搭載された暗号化／復号化装置やディジタル署名生成／検証装置（以下、暗号化／復号化装置等ともいう）が広く知られている。この種の楕円曲線暗号方式には、楕円ＤＳＡ方式、楕円ＥｌＧａｍａｌ方式又は楕円ＲＳＡ方式等がある。
【０００３】
いずれの楕円曲線暗号方式としても、ＧＦ（２ｍ）上の楕円曲線が、ＧＦ（２ｍ）の元ａ，ｂを用いてｙ２＋ｘｙ＝ｘ３＋ａｘ２＋ｂで表現される。また、この楕円曲線上の点（ｘ，ｙ）のなす集合は、加算を定義可能であり、この加算に関する加法群を構成する。
【０００４】
楕円曲線暗号方式は、この加法群における離散対数問題の困難さを根拠にしている。従って、暗号化／復号化装置等では、楕円曲線上の点の加算を繰返すことにより、暗号化／復号化並びにディジタル署名生成／署名検証を実行する。なお、点の加算は、例えばＧＦ（２ｍ）における元の四則演算の繰返しにより、実行可能である（J. H. Silverman "The Arithmetic of Elliptic Curves", GTM106, Springer-Verlag, 1986）。
【０００５】
ここで、２の拡大体ＧＦ（２ｍ）は、素体ＧＦ（２）上のｍ次元ベクトル空間であるので、ＧＦ（２ｍ）の元は、ＧＦ（２）上の基底を用いて表される。例えば基底を｛α１，α２，…，αｍ｝としたとき、ＧＦ（２ｍ）の元は、ＧＦ（２）の元ａ１，ａ２，…，ａｍを用いて、ａ１α１＋ａ２α２＋…＋ａｍαｍと一意的に表される。この元を（ａ１，ａ２，…，ａｍ）とすると、ＧＦ（２ｍ）は、ＧＦ（２ｍ）＝｛（ａ１，ａ２，…，ａｍ）｜ａ１，ａ２，…，ａｍはＧＦ（２）の元｝と表される。
【０００６】
上述した基底は、いかなるものでもＧＦ（２ｍ）を同型に表現する。このため、暗号化／復号化装置等では、任意の基底が使用可能となっている。但し一般的には、ＧＦ（２ｍ）の四則演算を容易に実行可能な観点から、多項式基底又は正規基底が用いられている。
【０００７】
【発明が解決しようとする課題】
しかしながら以上のような暗号化／復号化装置等では、任意の基底が使用可能なので、暗号化／復号化装置等を含めてシステムを構築した際に、同一システム内で異なる基底が用いられる場合がある。この場合、全ての基底はそれぞれ互換性が要求される。通常、この種の互換性は、全ての基底の下での演算処理を用意することにより実現される。しかしながら、全ての基底の下での演算処理を用意することは、事実上、不可能である。
【０００８】
例えば、暗号化／復号化装置等を含むシステムとしては、例えば暗号化／復号化機能等をもつＩＣカードと、ＩＣカードの暗号化／復号化機能を利用する計算機とからなるシステムが知られている。しかしながら、ＩＣカードは、メモリ容量、動作周波数及びチップサイズ等といったリソースの値が小さいので、全ての基底の下の演算機能を搭載させることは事実上不可能と考えられる。また、仮に可能であったとしても、ＩＣカードのリソースが大幅に圧迫されてしまう。
【０００９】
本発明は上記実情を考慮してなされたもので、全ての基底の下の演算処理を用意するといった手法を取らずに、同型写像を用いた基底変換により、異なる基底間の互換性を実現し得る基底変換機能を有する計算機、方法及び記憶媒体を提供することを目的とする。
【００１０】
また、本発明の他の目的は、異なる基底間の互換性を、ＩＣカードのリソースを圧迫せずに実現し得る基底変換機能を有する計算機、方法及び記憶媒体を提供することにある。
【００１１】
【課題を解決するための手段】
請求項１に対応する発明は、暗号化並びに復号化機能をもつＩＣカードと、前記ＩＣカードの暗号化並びに復号化機能を利用する計算機とからなる暗号化並びに復号化システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記暗号化並びに復号化システムに使用され、この暗号化並びに復号化システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための基底変換機能を有する前記計算機であって、ＩＣカード向けの暗号化又は復号化コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較手段に送出させるための基底要求をＩＣカードに送出し、前記暗号化又は復号化コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換手段に入力する制御手段と、予め暗号化／復号化システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較手段からの制御により、前記メモリ領域内の第１基底データを当該基底比較手段に転送可能なシステム基底格納手段と、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較手段と、前記基底比較手段による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較手段から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納手段に書込む変換データ算出手段と、前記変換データ算出手段により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換手段に転送し、前記第２基底変換データＴを基底逆変換手段に転送する前記変換データ格納手段と、前記制御手段から暗号化又は復号化コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納手段から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（���１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記暗号化又は復号化コマンドとの組をＩＣカードに送出する基底変換手段と、前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納手段から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換手段とを備えた基底変換機能を有する計算機である。  
【００１２】
また、請求項２に対応する発明は、ディジタル署名生成並びに署名検証機能をもつＩＣカードと、前記ＩＣカードのディジタル署名生成並びに署名検証機能を利用する計算機とからなるディジタル署名生成並びに署名検証システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記ディジタル署名生成並びに署名検証システムに使用され、このディジタル署名生成並びに署名検証システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための基底変換機能を有する前記計算機であって、ＩＣカード向けのディジタル署名生成又は署名検証コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較手段に送出させるための基底要求をＩＣカードに送出し、前記ディジタル署名生成又は署名検証コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換手段に入力する制御手段と、予めディジタル署名生成並びに署名検証システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較手段からの制御により、前記メモリ領域内の第１基底データを当該基底比較手段に転送可能なシステム基底格納手段と、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較手段と、前記基底比較手段による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較手段から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納手段に書込む変換データ算出手段と、前記変換データ算出手段により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換手段に転送し、前記第２基底変換データＴを基底逆変換手段に転送する前記変換データ格納手段と、前記制御手段からディジタル署名生成又は署名検証コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受���た際に、前記変換データ格納手段から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記ディジタル署名生成又は署名検証コマンドとの組をＩＣカードに送出する前記基底変換手段と、前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納手段から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換手段とを備えた基底変換機能を有する計算機である。  
【００１３】
さらに、請求項３に対応する発明は、暗号化並びに復号化機能をもつＩＣカードと、前記ＩＣカードの暗号化並びに復号化機能を利用する計算機とからなる暗号化並びに復号化システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記暗号化並びに復号化システムに使用され、この暗号化並びに復号化システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための、前記計算機が実行する基底変換方法であって、ＩＣカード向けの暗号化又は復号化コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較工程に送出させるための基底要求をＩＣカードに送出し、前記暗号化又は復号化コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換工程に入力する制御工程と、予め暗号化／復号化システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有する前記計算機が、前記基底比較工程からの制御により、前記メモリ領域内の第１基底データを当該基底比較工程に転送可能なシステム基底格納工程と、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記ＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較工程と、前記基底比較工程による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較工程から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納工程に書込む変換データ算出工程と、前記変換データ算出工程により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換工程に転送し、前記第２基底変換データＴを基底逆変換工程に転送する前記変換データ格納工程と、前記制御工程から暗号化又は復号化コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納工程から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表���データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記暗号化又は復号化コマンドとの組をＩＣカードに送出する前記基底変換工程と、前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納工程から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換工程とを含んでいる基底変換方法である。  
【００１４】
また、請求項４に対応する発明は、ディジタル署名生成並びに署名検証機能をもつＩＣカードと、前記ＩＣカードのディジタル署名生成並びに署名検証機能を利用する計算機とからなるディジタル署名生成並びに署名検証システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記ディジタル署名生成並びに署名検証システムに使用され、このディジタル署名生成並びに署名検証システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための、前記計算機が実行する基底変換方法であって、ＩＣカード向けのディジタル署名生成又は署名検証コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較工程に送出させるための基底要求をＩＣカードに送出し、前記ディジタル署名生成又は署名検証コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換工程に入力する制御工程と、予めディジタル署名生成並びに署名検証システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有する前記計算機が、前記基底比較工程からの制御により、前記メモリ領域内の第１基底データを当該基底比較工程に転送可能なシステム基底格納工程と、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較工程と、前記基底比較工程による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較工程から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納工程に書込む変換データ算出工程と、前記変換データ算出工程により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換工程に転送し、前記第２基底変換データＴを基底逆変換工程に転送する前記変換データ格納工程と、前記制御工程からディジタル署名生成又は署名検証コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…���Ｐｍ）との組を受けた際に、前記変換データ格納工程から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記ディジタル署名生成又は署名検証コマンドとの組をＩＣカードに送出する前記基底変換工程と、前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納工程から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換工程とを含んでいる基底変換方法である。  
【００１５】
さらに、請求項５に対応する発明は、暗号化並びに復号化機能をもつＩＣカードと、前記ＩＣカードの暗号化並びに復号化機能を利用する計算機とからなる暗号化並びに復号化システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記暗号化並びに復号化システムに使用され、この暗号化並びに復号化システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための前記計算機に用いられるコンピュータ読取り可能な記憶媒体であって、前記計算機のコンピュータに、ＩＣカード向けの暗号化又は復号化コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較機能に送出させるための基底要求をＩＣカードに送出し、前記暗号化又は復号化コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換機能に入力する制御機能と、予め暗号化／復号化システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較機能からの制御により、前記メモリ領域内の第１基底データを当該基底比較機能に転送可能なシステム基底格納機能と、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較機能と、前記基底比較機能による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較機能から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納機能に書込む変換データ算出機能と、前記変換データ算出機能により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換機能に転送し、前記第２基底変換データＴを基底逆変換機能に転送する前記変換データ格納機能と、前記制御機能から暗号化又は復号化コマンドと、第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納機能から第１基底変換データＳが転送されたときには���の第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記暗号化又は復号化コマンドとの組をＩＣカードに送出する前記基底変換機能と、前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納機能から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換機能とを実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体である。  
【００１６】
また、請求項６に対応する発明は、ディジタル署名生成並びに署名検証機能をもつＩＣカードと、前記ＩＣカードのディジタル署名生成並びに署名検証機能を利用する計算機とからなるディジタル署名生成並びに署名検証システムに関し、２の拡大体ＧＦ（２m）上の楕円曲線暗号方式を用いた前記ディジタル署名生成並びに署名検証システムに使用され、このディジタル署名生成並びに署名検証システム全体で用いる第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、保持するＩＣカードで用いる第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とが互いに異なるとき、前記第１及び第２の基底の間に互換性をもたせるための前記計算機に用いられるコンピュータ読取り可能な記憶媒体であって、前記計算機のコンピュータに、ＩＣカード向けのディジタル署名生成又は署名検証コマンドと、前記第１の基底で表現された第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）との組を受けると、前記第２の基底を基底比較機能に送出させるための基底要求をＩＣカードに送出し、前記ディジタル署名生成又は署名検証コマンドと、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を基底変換機能に入力する制御機能と、予めディジタル署名生成並びに署名検証システムで使用される第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元Ｂ１，Ｂ２，…，Ｂｍとを含む第１基底データが格納されたメモリ領域を有し、前記基底比較機能からの制御により、前記メモリ領域内の第１基底データを当該基底比較機能に転送可能なシステム基底格納機能と、前記第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）＝（Ｐ１Ｂ１＋Ｐ２Ｂ２＋…＋ＰｍＢｍ）を前記ＩＣカードに送出するとき、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝と、前記基底要求を受けたＩＣカードから送出された第２の基底｛ｂ１，ｂ２，…，ｂｍ｝とを比較する前記基底比較機能と、前記基底比較機能による比較の結果、前記第１及び第２の基底が互いに不一致のときに前記基底比較機能から入力された両基底に基づいて、前記第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を第２の基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための第１基底変換データＳ＝（Ｓi,j）、（但し、ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ、ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ、…、ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ、ここで、各係数Ｓi,j はＧＦ（２）の元。Ｓi,j をｉ行ｊ列の成分とする行列がＳ）及び前記第２の基底｛ｂ１，ｂ２，…，ｂｍ｝を第１の基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための第２基底変換データＴ＝（Ｔi,j）、（但し、Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ、Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ、…、Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ、ここで、各係数Ｔi,j はＧＦ（２）の元。Ｔi,j をｉ行ｊ列の成分とする行列がＴ）をそれぞれ算出して変換データ格納機能に書込む変換データ算出機能と、前記変換データ算出機能により書き込まれる両基底変換データＳ，Ｔを保持し、前記両基底変換データＳ，Ｔが書き込まれたとき、前記第１基底変換データＳを前記基底変換機能に転送し、前記第２基底変換データＴを基底逆変換機能に転送する前記変換データ格納機能と、前記制御機能からディジタル署名生成又は署名検証コマンドと、���１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）との組を受けた際に、前記変換データ格納機能から第１基底変換データＳが転送されたときにはこの第１基底変換データＳに基づいて、当該第１基底表現データ（Ｐ１，Ｐ２，…，Ｐｍ）を第２基底の表現に変換し（（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ＝（ｐ１，ｐ２，…，ｐｍ））、得られた第２基底表現データ（ｐ１，ｐ２，…，ｐｍ）と前記ディジタル署名生成又は署名検証コマンドとの組をＩＣカードに送出する前記基底変換機能と、前記ＩＣカードから処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）＝（ｃ１ｂ１＋ｃ２ｂ２＋…＋ｃｍｂｍ）を受けた際に、前記変換データ格納機能から第２基底変換データＴが転送されたときにはこの第２基底変換データＴに基づいて、当該処理済の第２基底表現データ（ｃ１，ｃ２，…，ｃｍ）を第１基底の表現に変換し（（ｃ１，ｃ２，…，ｃｍ）Ｔ＝（Ｃ１，Ｃ２，…，Ｃｍ））、得られた処理済の第１基底表現データ（Ｃ１，Ｃ２，…，Ｃｍ）＝（Ｃ１Ｂ１＋Ｃ２Ｂ２＋…＋ＣｍＢｍ）を出力する前記基底逆変換機能とを実現させるためのプログラムを記憶したコンピュータ読取り可能な記憶媒体である。  
【００１７】
（作用）
従って、請求項１，３，５に対応する発明は以上のような手段を講じたことにより、基底比較手段が、第１の基底で表現された第１基底表現データをＩＣカードに送出するとき、第１の基底と第２の基底とを比較し、基底変換手段が、基底比較手段による比較の結果、第１及び第２の基底が互いに不一致のとき、第１基底表現データを第２の基底で表現された第２基底表現データに変換するので、全ての基底の下の演算処理を用意するといった手法を取らずに、同型写像を用いた基底変換により、異なる基底間の互換性を実現させることができる。
【００１８】
また、基底変換手段が基底変換機能を有する計算機側に配置されることにより、異なる基底間の互換性を、ＩＣカードのリソースを圧迫せずに実現させることができる。
【００１９】
また、請求項２，４，６に対応する発明は、基底変換機能を有する計算機が、暗号化並びに復号化システムに代えて、２の拡大体上の楕円曲線暗号方式を用いたディジタル署名生成並びに署名検証システムに使用されるので、請求項１，３，５に対応する作用と同様の作用をディジタル署名生成並びに署名検証システムにおいても奏することができる。
【００２０】
【発明の実施の形態】
以下、本発明の各実施形態について図面を参照しながら説明する。なお、以下の各実施形態において、２の拡大体ＧＦ（２ｍ）を素体ＧＦ（２）上のｍ次拡大体として扱っているが、ｎをｍの約数としたときに、ＧＦ（２ｎ）上の（ｍ／ｎ）次拡大体としてもよい。この場合は、以下の各実施形態において、基底の元の個数をｍ個から（ｍ／ｎ）個に読み替えることで、同様な効果を得ることができる。
【００２１】
（第１の実施形態）
図１は本発明の第１の実施形態に係る基底変換機能を有する計算機の適用された暗号化／復号化システムの構成を示すブロック図である。この暗号化／復号化システムは、２の拡大体ＧＦ（２ｍ）上の楕円曲線暗号方式を基底｛Ｂ１，Ｂ２，…，Ｂｍ｝の下で用いており、この基底Ｂを使用可能で且つ基底変換機能を有する計算機１０と、ある１つの基底｛ｂ１，ｂ２，…，ｂｍ｝の下での演算が実装され、この計算機１０に着脱自在なＩＣカード２０とから構成されている。なお、暗号化／復号化システム全体は、ＩＣカードに使用される楕円曲線と同じ楕円曲線を用いているが、システムで使用される基底（第１の基底）とＩＣカードで使用される基底（第２の基底）とが同じとは限らないと仮定する。
【００２２】
ここで、計算機１０は、システム内の端末又はセンターのいずれとしてもよく、制御部１１、システム基底格納部１２、比較部１３、変換データ算出部１４、変換データ格納部１５、基底変換部１６及び基底逆変換部１７を備えている。これら各部１１〜１７の機能は、例えば計算機１０としての端末又はセンターのコンピュータに実行させることが可能なプログラムとして、記憶媒体に格納して頒布可能となっている。この場合、計算機１０は、その記憶媒体内のプログラムをインストールすることにより、各部１１〜１７の機能を実現可能となる。なお、計算機１０は、説明の便宜上、各部１１〜１７のように機能ブロック化して示したが、これに限らず、少なくとも両基底の比較結果が不一致のときには、データを利用する側の基底表現に予めデータを変換するものであれば、処理の流れ（例、所望の基底に関しては予め変換データＳ，Ｔを保持して変換データの算出処理を省略する）や分担（比較部１３をＩＣカード２０に配置する）等を変形しても、本発明の範囲に包含される。
【００２３】
制御部１１は、ＩＣカード向けの暗号化（又は復号化）コマンドと基底Ｂで表現されたＢ表現データとの組を受けると、基底要求をＩＣカード向けに送出する機能と、暗号化（又は復号化）コマンドとＢ表現データとの組を基底変換部１６に入力する機能とをもっている。
【００２４】
システム基底格納部１２は、予め暗号化／復号化システムで使用される基底｛Ｂ１，Ｂ２，…，Ｂｍ｝とその元とを含む基底データＢが格納されたメモリ領域であり、比較部１３からの制御により、基底データＢを比較部１３に転送可能としている。
【００２５】
比較部１３は、ＩＣカードから送出されたＩＣカードの基底データｂと、システム基底格納部１２から転送されたシステムの基底データＢとを比較し、両者が一致するときには基底変換部１６及び基底逆変換部１７の両変換機能を停止させる機能と、両者が不一致のとき、両基底データｂ，Ｂを変換データ算出部１４に入力する機能とをもっている。
【００２６】
変換データ算出部１４は、比較部１３から入力された両基底データｂ，Ｂに基づいて、システムの基底｛Ｂ１，Ｂ２，…，Ｂｍ｝をＩＣカードの基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための基底変換データＳを算出して変換データ格納部１５に書込む機能と、ＩＣカードの基底｛ｂ１，ｂ２，…，ｂｍ｝をシステムの基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための基底変換データＴを算出して変換データ格納部１５に書込む機能とをもっている。
【００２７】
ここで、基底変換データＳは、例えば基底｛ｂ１，ｂ２，…，ｂｍ｝を基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換する同型写像の算出により得られており、具体的には以下の計算をした結果（１）式で得られる、素体ＧＦ（２）の元を成分にもつｍ行ｍ列の可逆行列Ｓとなっている。
まず、基底ｂ１，ｂ２，…，ｂｍを、基底｛Ｂ１，Ｂ２，…，Ｂｍ｝を用いて表す。
【００２８】
ｂ１＝Ｓ11Ｂ１＋Ｓ12Ｂ２＋…＋Ｓ1mＢｍ
ｂ２＝Ｓ21Ｂ１＋Ｓ22Ｂ２＋…＋Ｓ2mＢｍ
…
ｂｍ＝Ｓm1Ｂ１＋Ｓm2Ｂ２＋…＋ＳmmＢｍ
ここで、各係数Ｓi,j はＧＦ（２）の元である。
【００２９】
このように表したとき、Ｓi,j をｉ行ｊ列の成分とする行列がＳである。
【００３０】
Ｓ＝（Ｓi,j ）      …（１）
同様に、基底変換データＴは、以下の計算をした結果（２）式で得られる、素体ＧＦ（２）の元を成分にもつｍ行ｍ列の可逆行列Ｔとなっている。
まず、基底Ｂ１，Ｂ２，…，Ｂｍを、基底｛ｂ１，ｂ２，…，ｂｍ｝を用いて表す。
【００３１】
Ｂ１＝Ｔ11ｂ１＋Ｔ12ｂ２＋…＋Ｔ1mｂｍ
Ｂ２＝Ｔ21ｂ１＋Ｔ22ｂ２＋…＋Ｔ2mｂｍ
…
Ｂｍ＝Ｔm1ｂ１＋Ｔm2ｂ２＋…＋Ｔmmｂｍ
ここで、各係数Ｔi,j はＧＦ（２）の元である。
【００３２】
このように表したとき、Ｔi,j をｉ行ｊ列の成分とする行列がＴである。
【００３３】
Ｔ＝（Ｔi,j ）      …（２）
なお、両基底変換データＳ，Ｔは、次の（３）（４）式に示す関係がある。
Ｓ＝Ｔ-1      …（３）
Ｔ＝Ｓ-1      …（４）
変換データ格納部１５は、変換データ算出部１４により書込まれる基底変換データＳ，Ｔを保持する機能と、両基底変換データＳ，Ｔが書込まれたとき、一方の基底変換データＳを基底変換部１６に転送し、他方の基底変換データＴを基底逆変換部１７に転送する機能をもっている。
【００３４】
基底変換部１６は、制御部から暗号化（又は復号化）コマンドとＢ表現データとの組を受けた際に、比較部１３の制御により変換機能を停止させて当該暗号化（又は復号化）コマンドとＢ表現データとの組をＩＣカード向けに送出する機能と、変換データ格納部１５から基底変換データＳが転送されたときにはこの基底変換データＳに基づいて、当該暗号化（又は復号化）コマンドとＢ表現データとの組のうちのＢ表現データを基底ｂの表現に変換し、得られたｂ表現データと暗号化（又は復号化）コマンドとの組をＩＣカード向けに送出する機能とをもっている。
【００３５】
基底逆変換部１７は、ＩＣカードから処理済のｂ表現データを受けた際に、比較部１３の制御により変換機能を停止させて当該処理済のｂ表現データを出力する機能と、変換データ格納部１５から基底変換データＴが転送されたときにはこの基底変換データＴに基づいて、当該処理済のｂ表現データを基底Ｂの表現に変換し、得られた処理済のＢ表現データを出力する機能とをもっている。
【００３６】
一方、ＩＣカード２０は、２の拡大体上の楕円曲線暗号方式を基底ｂの下で用いており、カード基底格納部２１と、暗号化／復号化処理部２２とを備えている。
カード基底格納部２１は、予めＩＣカード２０で使用される基底｛ｂ１，ｂ２，…，ｂｍ｝とその元を含む基底データｂが格納されたメモリ領域であり、計算機１０の制御部１１から基底要求を受けたとき、この基底データｂを計算機１０の比較部１３に送出する機能をもっている。
【００３７】
暗号化／復号化処理部２２は、計算機１０の基底変換部１６から暗号化（又は復号化）コマンドと、ｂ表現データとを受けたとき、この暗号化（又は復号化）コマンドに基づいて、ｂ表現データを暗号化（又は復号化）処理し、得られた処理済のｂ表現データを計算機１０の基底逆変換部１７に送出する機能をもっている。
【００３８】
次に、以上のように構成された暗号化／復号化システムにおける基底変換方法について図２の概略図を参照しながら説明する。
いま、計算機１０においては、図示しないソフトウェア部の処理等により、ＩＣカード向けの暗号化（又は復号化）コマンドと基底Ｂで表現されたＢ表現データとの組が生成されたとする。
【００３９】
計算機１０内の制御部１１は、この暗号化（又は復号化）コマンドとＢ表現データとの組を受けると、基底要求をＩＣカード向けに送出すると共に、暗号化（又は復号化）コマンドとＢ表現データとの組を基底変換部１６に入力する。
【００４０】
ＩＣカード２０においては、カード基底格納部２１がこの基底要求を受けると、基底データｂを計算機１０の比較部１３に送出する。
【００４１】
計算機１０の比較部１３は、このＩＣカードの基底データｂと、システム基底格納部１２内のシステムの基底データＢとを比較する。なお、両基底データｂ，Ｂが一致するときには基底変換部１６及び基底逆変換部１７の両変換機能を停止させることにより、このままＩＣカードでの処理が通常通りに実行されるので、以下では両基底データｂ，Ｂが異なるものとする。
【００４２】
すなわち、比較部１３は、両基底データｂ，Ｂを不一致と判定し、両基底データｂ，Ｂを変換データ算出部１４に入力する。
【００４３】
変換データ算出部１４は、入力された両基底データｂ，Ｂに基づいて、システムの基底｛Ｂ１，Ｂ２，…，Ｂｍ｝をＩＣカードの基底｛ｂ１，ｂ２，…，ｂｍ｝に変換するための基底変換データＳを算出して変換データ格納部１５に書込むと共に、ＩＣカードの基底｛ｂ１，ｂ２，…，ｂｍ｝をシステムの基底｛Ｂ１，Ｂ２，…，Ｂｍ｝に変換するための基底変換データＴを算出して変換データ格納部１５に書込む。
【００４４】
変換データ格納部１５は、書込まれた基底変換データＳ，Ｔを保持すると共に、一方の基底変換データＳを基底変換部１６に転送し、他方の基底変換データＴを基底逆変換部１７に転送する。
【００４５】
基底変換部１６は、制御部から暗号化（又は復号化）コマンドとＢ表現データとの組を受けた際に、この基底変換データＳに基づいて、当該暗号化（又は復号化）コマンドとＢ表現データとの組のうちのＢ表現データのみを基底ｂの表現に変換する。
【００４６】
この変換は、例えばＢ表現データが（Ｐ１，Ｐ２，…，Ｐｍ）であり、基底ｂによる表現データが（ｐ１，ｐ２，…，ｐｍ）のとき、次の（５）式に示すように実行される。
（ｐ１，ｐ２，…，ｐｍ）＝（Ｐ１，Ｐ２，…，Ｐｍ）Ｓ      …（５）
また、基底変換部１６は、得られたｂ表現データ（ｐ１，ｐ２，…，ｐｍ）と暗号化（又は復号化）コマンドとの組をＩＣカード向けに送出する。
【００４７】
ＩＣカード２０においては、暗号化／復号化処理部２２が、計算機１０から暗号化（又は復号化）コマンドと、ｂ表現データとを受けると、この暗号化（又は復号化）コマンドに基づいて、ｂ表現データを暗号化（又は復号化）処理し、得られた処理済のｂ表現データを計算機１０の基底逆変換部１７に送出する。
【００４８】
計算機１０においては、基底逆変換部１７が、ＩＣカードから処理済のｂ表現データを受けた際に、別途、変換データ格納部１５から転送された基底変換データＴに基づいて、当該処理済のｂ表現データを基底Ｂの表現に変換する。
【００４９】
この変換は、例えば処理済のｂ表現データが（ｃ１，ｃ２，…，ｃｍ）であり、基底Ｂによる表現データが（Ｃ１，Ｃ２，…，Ｃｍ）のとき、次の（６）式に示すように実行される。
（Ｃ１，Ｃ２，…，Ｃｍ）＝（ｃ１，ｃ２，…，ｃｍ）Ｔ      …（６）
続いて、基底逆変換部１７は、得られた処理済のＢ表現データ（Ｃ１，Ｃ２，…，Ｃｍ）を出力する。
上述したように本実施形態によれば、ある基底の下で演算を実装したＩＣカード２０を暗号化又は復号化に使用する際に、比較部１３が、暗号化並びに復号化システム全体で用いる基底を示す基底データＢとＩＣカード２０で用いる基底を示す基底データｂとを比較し、基底変換部１６が、比較部１３による比較の結果、両基底データＢ，ｂが互いに不一致のとき、ＩＣカード２０内の基底で表現されたｂ表現データを暗号化並びに復号化システム全体で使用する基底で表現されたＢ表現データに変換するので、全ての基底の下の演算処理を用意するといった手法を取らずに、同型写像を用いた基底変換により、異なる基底間の互換性を実現させることができる。
【００５０】
また、特に、大きい演算負荷がかかる変換データ算出部１４及び基底変換部１６が計算機１０側に配置されることにより、異なる基底間の互換性を、ＩＣカード２０のリソースを圧迫せずに実現させることができる。
【００５１】
（第２の実施形態）
図３は本発明の第２の実施形態に係る基底変換機能を有する計算機の適用されたディジタル署名生成／検証システムの構成を示すブロック図であり、前述した図面と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。
【００５２】
すなわち、本実施形態は、第１の実施形態の変形例であり、適用対象を２の拡大体ＧＦ（２ｍ）上の楕円曲線暗号方式による暗号化／復号化システムに代えて、２の拡大体ＧＦ（２ｍ）上の楕円曲線暗号方式によるディジタル署名生成／検証システムにしたものである。
【００５３】
これに伴い、暗号化（又は復号化）コマンドに代えて、ディジタル署名生成（又は署名検証）コマンドが使用される。
【００５４】
また、計算機１０ａ内の基底表現データの内容は、ディジタル署名生成コマンドのときには署名対象データとなり、署名検証コマンドのときには検証対象データとなる。さらに、暗号化／復号化処理部２２に代えて、ディジタル署名生成／検証部２３が使用される。
【００５５】
このディジタル署名生成／検証部２３は、計算機１０ａの基底変換部１６からディジタル署名生成（又はディジタル署名検証）コマンドと、ｂ表現データとを受けたとき、このディジタル署名生成（又はディジタル署名検証）コマンドに基づいて、ｂ表現データを署名生成（又は署名検証）処理し、得られた処理済のｂ表現データ（又は署名検証結果ＯＫ／ＮＧ）を計算機１０の基底逆変換部１７に送出する機能をもっている。
【００５６】
なお、計算機１０ａの基底逆変換部１７ａは、前述した基底変換機能に加え、ディジタル署名検証コマンドの際には、ＩＣカード２０ａから受けた署名検証結果（ＯＫ又はＮＧ）を基底変換せずに出力する機能をもつものとなっている。
以上のような構成としても、図４及び図５に示すように、第１の実施形態と同様の作用効果をディジタル署名生成処理並びに署名検証処理においても得ることができる。
【００５７】
（他の実施形態）
なお、上記各実施形態では、暗号化／復号化システムと、ディジタル署名生成／検証システムとを別々のシステムとした場合を説明したが、これに限らず、第１及び第２の実施形態を同時に備えたシステムに変形しても、本発明を同様に実施して同様の効果を得ることができる。
【００５８】
また、上記各実施形態では、始めから計算機１０，１０ａがＩＣカード２０，２０ａに基底データｂを要求する場合について説明したが、これに限らず、始めは計算機１０，１０ａがコマンドとＢ表現データとをＩＣカード２０，２０ａに送出し、ＩＣカード２０，２０ａがこのＢ表現データを用いた演算が不可能であった場合に自己の基底データｂを送出して計算機１０，１０ａに基底変換を行わせる構成に変形しても、本発明と同様の作用効果を得ることができ、さらに、ＩＣカード２０，２０ａと計算機１０，１０ａとが同じ基底の場合、制御部１１の基底要求と比較部１３の比較処理とを省略できるので、全体の処理速度を向上させることができる。
【００５９】
さらに、上記各実施形態では、計算機１０，１０ａ内にシステム全体の基底を示す基底表現データＢが格納された場合を説明したが、これに限らず、比較部１３が比較する際に、ネットワーク上の図示しないサーバ等からシステム全体の基底を示す基底表現データＢを入手する構成としても、本発明を同様に実施して同様の効果を得ることができる。
【００６０】
また、上記各実施形態では、計算機１０（又は１０ａ）が基底変換を行う場合について説明したが、これに限らず、各部１１〜１６と、１７及び／又は１７ａとの機能を備えたＩＣカードを設け、このＩＣカードが基底変換を行う構成としても、本発明を同様に実施して同様の効果を得ることができる。
【００６１】
さらに、上記各実施形態では、計算機１０（又は１０ａ）がＩＣカード２０（又は２０ａ）を保持する形態のシステムについて説明したが、これに限らず、この計算機１０を第１の計算機とし、ＩＣカード２０を第２の計算機とし、これら第１及び第２の計算機１０，２０（又は１０ａ，２０ａ）の間をネットワークで接続した形態のシステムに変形しても、本発明を同様に実施して同様の効果を得ることができる。
【００６２】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、記憶媒体に格納して頒布することもできる。なお、この記憶媒体としては、磁気ディスク、フロッピーディスク、ハードディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００６３】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行しても良い。
【００６４】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００６５】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００６６】
また、ここで言うコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００６７】
また、係るコンピュータは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００６８】
その他、本発明はその要旨を逸脱しない範囲で種々変形して実施できる。
【００６９】
【発明の効果】
以上説明したように本発明によれば、全ての基底の下の演算処理を用意するといった手法を取らずに、同型写像を用いた基底変換により、異なる基底間の互換性を実現できる基底変換機能を有する計算機、方法及び記憶媒体を提供できる。また、異なる基底間の互換性を、ＩＣカードのリソースを圧迫せずに実現できる基底変換機能を有する計算機、方法及び記憶媒体を提供できる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係る基底変換機能を有する計算機の適用された暗号化／復号化システムの構成を示すブロック図
【図２】同実施形態における基底変換方法を説明するための概略図
【図３】  本発明の第２の実施形態に係る基底変換機能を有する計算機の適用されたディジタル署名生成／検証システムの構成を示すブロック図
【図４】同実施形態における基底変換方法を説明するための概略図
【図５】同実施形態における基底変換方法を説明するための概略図
【符号の説明】
１０，１０ａ…計算機
１１…制御部
１２…システム基底格納部
１３…比較部
１４…変換データ算出部
１５…変換データ格納部
１６…基底変換部
１７，１７ａ…基底逆変換部
２０，２０ａ…ＩＣカード
２１…カード基底格納部
２２…暗号化／復号化処理部
２３…ディジタル署名生成／検証部
【図１】
0003881485.tif 000002
【図２】
0003881485.tif 000003
【図３】
0003881485.tif 000004
【図４】
0003881485.tif 000005
【図５】
0003881485.tif 000006