(57)【特許請求の範囲】
【請求項１】
ａ）第１の素因数ｐ，第２の素因数ｑ，指数ｄ，及び基ｘによる法対合Ｅ：Ｅ＝ｘｄ（ｍｏｄ ｐ・ｑ）を含む計算過程を実行する対合装置を少なくとも１つ有する暗号装置が実施する暗号方法であって：
ｂ)前記暗号装置が、前記法対合を実行するため、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件の下に、２つの自然数ｒ及びｓを選び、以下の計算過程：
ｘ１＝ｘ（ｍｏｄ  ｐ・ｒ）
ｘ２＝ｘ（ｍｏｄ  ｑ・ｓ）
ｄ＿１＝ｄ（ｍｏｄ  φ（ｑ・ｒ））
ｄ＿２＝ｄ（ｍｏｄ  φ（ｑ・ｓ））
ｚ１＝ｘ１ｄ＿１（ｍｏｄ  ｐ・ｒ）
ｚ２＝ｘ２ｄ＿２（ｍｏｄ  ｑ・ｓ）
を実行する；ここでφ(  )はオイラー関数であり、kgＶ(ｒ,ｓ)はｒとｓの最小公倍数である；
ｃ)次に、前記暗号装置が、数ｚを、中国余剰定理にしたがい、ｚ１及びｚ２から：
ｚ＝ｚ１（ｍｏｄ  ｐ・ｒ）；ｚ＝ｚ２（ｍｏｄ  ｑ・ｓ）
を用いて計算する；
ｄ)次に、前記暗号装置が、前記対合の結果Ｅをｐ・ｑを法とするｚの簡約により計算する；
ｅ)  次に、前記暗号装置が、前記先に計算されたｚ，したがって前記結果Ｅを、チェック過程において計算エラーについてチェックする；
ことを含み：
ｆ)前記チェック過程において以下の計算操作：
ｆ１）前記暗号装置が、拡張ユークリッド互除法を用いて：
ｅ・ｄ＝１（ｍｏｄ  φ（ｋｇＶ（ｒ，ｓ）））
であることを特徴とする最小の可能な自然数ｅを計算する；
ｆ２)次に、前記暗号装置が、
Ｃ＝ｚｅ（ｍｏｄｋｇＶ（ｒ，ｓ））
によりＣの値を計算する；
ｆ３)次に、前記暗号装置が、ｘの値とkgＶ(ｒ,ｓ)を法とするＣの値とを比較して、ｘ≠Ｃ(ｍｏｄ kgＶ(ｒ,ｓ))であれば、前記法対合Ｅを誤りとして廃棄する；
ことを特徴とする暗号方法。
【請求項２】
ａ)第１の素因数ｐ，第２の素因数ｑ，指数ｄ，及び基ｘによる法対合Ｅ：Ｅ＝ｘｄ（ｍｏｄ ｐ・ｑ）を含む計算過程を実行する対合装置を少なくとも１つ有する暗号装置が実施する暗号方法であって：
ｂ)前記暗号装置が、前記法対合を実行するため、２つの自然数ｒ及びｓ，並びに、それぞれが区間[１,...,ｒ−１]及び[１,...,ｓ−１]内にあって、ｒ及びｓに対して素である２つの数ｂ１及びｂ２を選び、ｂ１及びｂ２は条件：
ｂ１＝ｂ２（ｍｏｄ  ｇｇＴ（ｒ，ｓ））
を満足する；ここでｇgＴ(ｒ,ｓ)はｒとｓの最大公約数を表す；
ｃ)前記暗号装置が、前記２つの数ｂ１及びｂ２を用いて、中国剰余定理にしたがい、以下の条件
ｘ１＝ｘ（ｍｏｄ  ｐ），ｘ１＝ｂ１（ｍｏｄ  ｒ）
ｘ２＝ｘ（ｍｏｄ  ｑ），ｘ２＝ｂ２（ｍｏｄ  ｓ）
を満足する値ｘ１及びｘ２を計算し、次に、以下の計算過程：
ｄ＿１＝ｄ（ｍｏｄ  φ（ｐ））
ｄ＿２＝ｄ（ｍｏｄ  φ（ｑ））
ｚ１＝ｘ１ｄ＿１（ｍｏｄ  ｐ・ｒ）
ｚ２＝ｘ２ｄ＿２（ｍｏｄ  ｑ・ｓ）
を実行する；ここでφ(  )はオイラー関数を表す；
ｄ)次に前記暗号装置が、数ｚを、中国剰余定理にしたがい、ｚ１及びｚ２から：
ｚ＝ｚ１（ｍｏｄ  ｐ・ｒ）；ｚ＝ｚ２（ｍｏｄ  ｑ・ｓ）；
を用いて計算する；
ｅ)次に、前記暗号装置が、前記対合の結果Ｅをｐ・ｑを法とするｚの簡約により計算する；
ｆ)前記暗号装置が、前記先に計算されたｚを(したがって、前記結果Ｅも自動的に)、チェック過程において計算エラーについてチェックする；
ことを含み：
ｇ)前記チェック過程が以下の計算操作：
ｇ１)前記暗号装置が、下式：
Ｃ１＝ｂ１ｄ＿１（ｍｏｄ  ｒ）
Ｃ２＝ｂ２ｄ＿２（ｍｏｄ  ｓ）
により数Ｃ１及びＣ２を計算する；ここでｄ_１及びｄ_２は、法対合を実行する前に、それぞれφ(ｒ)及びφ(ｓ)を法として簡約される；
ｇ２)前記暗号装置が、ｚ１の値とｒを法とするＣ１の値の比較及びｚ２の値とｓを法とするＣ２の値の比較を行い、Ｃ１≠ｚ１(ｍｏｄ ｒ)またはＣ２≠ｚ２(ｍｏｄ ｓ)が成立すれば、前記法対合の結果Ｅを誤りとして廃棄する；
を含む；
ことを特徴とする暗号方法。
【請求項３】
前記数ｒ及びｓが奇数であることを特徴とする請求項２記載の暗号方法。
【請求項４】
前記数ｒ及びｓが、ｋを１６≦ｋ≦３２とする区間[０,２ｋ−１]の範囲内で選ばれることを特徴とする請求項１から３いずれか１項記載の暗号方法。
【請求項５】
前記数ｒ及びｓの内の少なくとも１つが、積ｐ・ｒまたは積ｑ・ｓの２進数表示が可能な限り多くの頭の１を含むように選ばれることを特徴とする請求項１記載の暗号方法。
【請求項６】
前記数ｒ及びｓのいずれもが、積ｐ・ｒ及び積ｑ・ｓの２進数表示が可能な限り多くの頭の１を含むように選ばれることを特徴とする請求項１又は５記載の暗号方法。
【請求項７】
請求項５及び６記載の暗号方法において：
ａ)第１の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件による制限を受けることなく、前記数ｒ及びｓのそれぞれに対して対応する最適な数ｒ最適及びｓ最適の内の少なくとも１つが初めに選ばれる；及び
ｂ)第２の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、隣り合う値ｒ＝ｒ最適−ｉ及びｓ＝ｓ最適−ｉ，ｉ＝０,１,...,ｋ，が選ばれる；
ことを特徴とする暗号方法。
【請求項８】
請求項５及び６記載の暗号方法において：
ａ)第１の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件による制限を受けることなく、それぞれが前記数ｒ及びｓのそれぞれに対応する最適な数ｒ最適及びｓ最適が選ばれる；及び
ｂ)第２の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、値ｒ＝２ｌ・ｒ最適及びｓ＝２ｌ・ｓ最適，ｌ＝０,１,...,ｊ，が選ばれる；
ことを特徴とする暗号方法。
【請求項９】
請求項５及び６記載の暗号方法において：
ａ)第１の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件による制限を受けることなく、数ｒ最適及びｓ最適の内の少なくとも１つが初めに選ばれる；
ｂ)第２の部分過程において、ｉ＝０,１,...,ｋに対してそのような値が存在すれば、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、隣り合う値ｒ＝ｒ最適−ｉ及びｓ＝ｓ最適−ｉ，ｉ＝０,１,...,ｋ，が選ばれる；及び
ｃ)前記第２の部分過程で選ばれる値がなかった場合には、第３の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、値ｒ＝２ｌ・ｒ最適及びｓ＝２ｌ・ｓ最適，ｌ＝０,１,...,ｊ，が選ばれる；
ことを特徴とする暗号方法。
【請求項１０】
前記暗号方法がＲＳＡ法を含むことを特徴とする請求項１から９いずれか１項記載の暗号方法。
【請求項１１】
前記暗号方法がラビン署名機構を含むことを特徴とする請求項１から１０いずれか１項記載の暗号方法。
【請求項１２】
前記暗号方法がフィアット−シャミール等化機構を含むことを特徴とする請求項１から１１いずれか１項記載の暗号方法。
【請求項１３】
暗号装置において：
ａ)  第１の素因数ｐ，第２の素因数ｑ，指数ｄ，及び基ｘによる法対合Ｅ：Ｅ＝ｘｄ（ｍｏｄ ｐ・ｑ）を含む計算過程を実行する対合装置を少なくとも１つ有する暗号装置であって、前記暗号装置において：
ｂ)前記法対合を実行するため、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件の下に、２つの自然数ｒ及びｓが選ばれ、以下の計算過程：
ｘ１＝ｘ（ｍｏｄ  ｐ・ｒ）
ｘ２＝ｘ（ｍｏｄ  ｑ・ｓ）
ｄ＿１＝ｄ（ｍｏｄ  φ（ｑ・ｒ））
ｄ＿２＝ｄ（ｍｏｄ  φ（ｑ・ｓ））
ｚ１＝ｘ１ｄ＿１（ｍｏｄ  ｐ・ｒ）
ｚ２＝ｘ２ｄ＿２（ｍｏｄ  ｑ・ｓ）
が実行される；ここでφ( )はオイラー関数であり、kgＶ(ｒ,ｓ)はｒとｓの最小公倍数である；
ｃ)次に数ｚが、中国余剰定理にしたがい、ｚ１及びｚ２から：
ｚ＝ｚ１（ｍｏｄ  ｐ・ｒ）；ｚ＝ｚ２（ｍｏｄ  ｑ・ｓ）
を用いて計算される；
ｄ)次に、前記対合の結果Ｅがｐ・ｑを法とするｚの簡約により計算される；
ｅ)次に、前記先に計算されたｚが(したがって前記結果Ｅも自動的に)、チェック過程において計算エラーについてチェックされる；
及び
ｆ)前記チェック過程が以下の計算操作：
ｆ１)拡張ユークリッド互除法を用いて：
ｅ・ｄ＝１（ｍｏｄ  φ（ｋｇＶ（ｒ，ｓ）））
であることを特徴とする最小の可能な自然数ｅを計算する；
ｆ２)次に：
Ｃ＝ｚｅ（ｍｏｄｋｇＶ（ｒ，ｓ））
によりＣの値を計算する；
ｆ３)次に、ｘの値とkgＶ(ｒ,ｓ)を法とするＣの値とを比較して、ｘ≠Ｃ(ｍｏｄ kgＶ(ｒ,ｓ))であれば、前記法対合Ｅが誤りとして廃棄される；
を含む；
ことを特徴とする暗号装置。
【請求項１４】
暗号装置において：
ａ)第１の素因数ｐ，第２の素因数ｑ，指数ｄ，及び基ｘによる法対合Ｅ：Ｅ＝ｘｄ（ｍｏｄ ｐ・ｑ）を含む計算過程を実行する対合装置を少なくとも１つ有する暗号装置であって、前記暗号装置において：
ｂ)前記法対合を実行するため、２つの自然数ｒ及びｓ，並びに、それぞれが区間[１,...,ｒ−１]及び[１,...,ｓ−１]内にあって、ｒ及びｓに対して素である２つの数ｂ１及びｂ２が選ばれ、ｂ１及びｂ２は条件：
ｂ１＝ｂ２（ｍｏｄ  ｇｇＴ（ｒ，ｓ））
を満足する；ここでｇgＴ(ｒ,ｓ)はｒとｓの最大公約数を表す；
ｃ)前記２つの数ｂ１及びｂ２を用いて、中国剰余定理にしたがい、以下の条件：
ｘ１＝ｘ（ｍｏｄ  ｐ），ｘ１＝ｂ１（ｍｏｄ  ｒ）
ｘ２＝ｘ（ｍｏｄ  ｑ），ｘ２＝ｂ２（ｍｏｄ  ｓ）
を満足する値ｘ１及びｘ２が計算され、次に、以下の計算過程：
ｄ＿１＝ｄ（ｍｏｄ  φ（ｐ））
ｄ＿２＝ｄ（ｍｏｄ  φ（ｑ））
ｚ１＝ｘ１ｄ＿１（ｍｏｄ  ｐ・ｒ）
ｚ２＝ｘ２ｄ＿２（ｍｏｄ  ｑ・ｓ）
が実行される；ここでφ( )はオイラー関数を表す；
ｄ)次に数ｚが、中国剰余定理にしたがい、ｚ１及びｚ２から：
ｚ＝ｚ１（ｍｏｄ  ｐ・ｒ）；ｚ＝ｚ２（ｍｏｄ  ｑ・ｓ）；
を用いて計算される；
ｅ)次に、前記対合の結果Ｅがｐ・ｑを法とするｚの簡約により計算される；
ｆ)前記先に計算されたｚが(したがって、前記結果Ｅも自動的に)、チェック過程において計算エラーについてチェックされる；
を含み：
ｇ)前記チェック過程が以下の計算操作：
ｇ１)下式：
Ｃ１＝ｂ１ｄ＿１（ｍｏｄ  ｒ）
Ｃ２＝ｂ２ｄ＿２（ｍｏｄ  ｓ）
により数Ｃ１及びＣ２を計算する；ここでｄ_１及びｄ_２は、それぞれφ(ｒ)及びφ(ｓ)を法とする法対合を実行する前に簡約される；
ｇ２)ｚ１の値とｒを法とするＣ１の値の比較及びｚ２の値とｓを法とするＣ２の値の比較のいずれをも行い、Ｃ１≠ｚ１(ｍｏｄ ｒ)またはＣ２≠ｚ２(ｍｏｄ ｓ)が成立すれば、前記法対合の結果Ｅは誤りとして廃棄される；
を含む；
ことを特徴とする暗号装置。
【請求項１５】
前記数ｒ及びｓが奇数であることを特徴とする請求項１４記載の暗号装置。
【請求項１６】
前記数ｒ及びｓがｋを１６≦ｋ≦３２とする区間[０,２ｋ−１]の範囲内で選ばれることを特徴とする請求項１３から１５いずれか１項記載の暗号装置。
【請求項１７】
前記数ｒ及びｓの内の少なくとも１つが、積ｐ・ｒまたは積ｑ・ｓの２進数表示が可能な限り多くの頭の１を含むように選ばれることを特徴とする請求項１３記載の暗号装置。
【請求項１８】
前記数ｒ及びｓのいずれもが、積ｐ・ｒ及び積ｑ・ｓの２進数表示が可能な限り多くの頭の１を含むように選ばれることを特徴とする請求項１３又は１７記載の暗号装置。
【請求項１９】
請求項１７及び１８記載の暗号装置において：
ａ)第１の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件による制限を受けることなく、前記数ｒ及びｓのそれぞれに対して対応する最適な数ｒ最適及びｓ最適の内の少なくとも１つが初めに選ばれる；及び
ｂ)第２の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、隣り合う値ｒ＝ｒ最適−ｉ及びｓ＝ｓ最適−ｉ，ｉ＝０,１,...,ｋ，が選ばれる；
ことを特徴とする暗号装置。
【請求項２０】
請求項１７及び１８記載の暗号装置において：
ａ)第１の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件による制限を受けることなく、それぞれが前記数ｒ及びｓのそれぞれに対応する最適な数ｒ最適及びｓ最適が選ばれる；及び
ｂ)第２の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、値ｒ＝２ｌ・ｒ最適及びｓ＝２ｌ・ｓ最適，ｌ＝０,１,...,ｊ，が選ばれる；
ことを特徴とする暗号装置。
【請求項２１】
請求項１７及び１８記載の暗号装置において：
ａ)第１の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるという条件による制限を受けることなく、数ｒ最適及びｓ最適の内の少なくとも１つが初めに選ばれる；
ｂ)第２の部分過程において、ｉ＝０,１,...,ｋに対してそのような値が存在すれば、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、隣り合う値ｒ＝ｒ最適−ｉ及びｓ＝ｓ最適−ｉ，ｉ＝０,１,...,ｋ，が選ばれる；及び
ｃ)前記第２の部分過程で選ばれる値がなかった場合には、第３の部分過程において、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、値ｒ＝２ｌ・ｒ最適及びｓ＝２ｌ・ｓ最適，ｌ＝０,１,...,ｊ，が選ばれる；
ことを特徴とする暗号装置。
【請求項２２】
前記暗号装置がＲＳＡ法を含むことを特徴とする請求項１３から２１いずれか１項記載の暗号装置。
【請求項２３】
前記暗号装置がラビン署名機構を含むことを特徴とする請求項１３から２２いずれか１項記載の暗号装置。
【請求項２４】
前記暗号装置がフィアット−シャミール等化機構を含むことを特徴とする請求項１３から２３いずれか１項記載の暗号装置。
【発明の詳細な説明】
【０００１】
記号化及び署名の機構の形態の暗号法は、特に、高まりつつある電子商取引の重要性によりますます普及してきている。暗号法は通常、例えばプログラマブル汎用マイクロコントローラまたはその他の、例えばＡＳＩＣ(特定用途向けＩＣ)の形態の、専用電子回路を備えることができる電子装置を用いて実施される。特に注目される暗号装置の形態はスマートカードであり、これはスマートカードが、技術的に適切に設計されていれば、不正アクセスに対して秘密キーデータを保護できることによる。暗号法の実行速度を高めるためにも、おこり得る全ての種類の攻撃に対して暗号法を保護するためにも、絶え間ない努力がなされている。本発明は、特にスマートカードとともに使用するに適するが、それだけには決して限定されない。むしろ、本発明は全ての種類の暗号化装置とともに実施することができる。
【０００２】
数多くの既知の暗号法では、式(１)：
【数１】
0004977300.tif 000002
にしたがう法対合を実施する必要がある。ここでｐ及びｑは素数である。法対合過程を含む特に重要な暗号法は、例えば、アルフレッド・ジェイ・メネゼス(Alfred J. Menezes)，ポール・シー・ファン・オースコット(Paul C. van Ooschot)及びスコット・エイ・バンストーン(Scott C. Vanstone)著，「応用暗号技術ハンドブック(Handbook of Applied Cryptography)」，米国フロリダ州ボカラトン(Boca Raton)：ＣＲＣプレス(CRC Press)，１９９７年，ｐ．２８５〜２９１により知られる、ＲＳＡ法である。しかし、法対合の使用はＲＳＡ法に限られておらず、例えば、メネゼス等著の上記ハンドブック，ｐ．４３８〜４４２により知られるラビン(Rabin)署名、及びメネゼス等著の上記ハンドブック，ｐ．４０８〜４１０により知られるフィアット−シャミール(Fiat-Shamir)等化機構がある。
【０００３】
法対合を含む暗号法のセキュリティは、式(１)の数Ｎの素因数ｐ及びｑへの因数分解の困難さに当然依存する。この問題は大きな値のＮに対してのみ十分複雑であり、よって一方では、Ｎは可能な限り大きく選ばれるべきである。他方では、式(１)にしたがう法対合を用いて値を計算するための計算時間はＮの大きさとともに単調に増加し、よって必要な計算時間を大きな値のＮにもかかわらず許容できる値に制限できることが実際的な適用可能性の観点から望ましいであろう。
【０００４】
例えば、等しい時間でより大きな値のＮの計算を可能にする、いわゆる“中国剰余定理”を適用することにより、計算速度が４倍になることが知られている。式(１)を評価する代わりに、式(２)：
【数２】
0004977300.tif 000003
にしたがう変換が実行される。ここでＥ１及びＥ２はそれぞれ、式(３)：
【数３】
0004977300.tif 000004
及び式(４)：
【数４】
0004977300.tif 000005
で与えられる。
【０００５】
中国剰余定理の適用の結果の１つは、法対合がもはやＮを法としてなされないこと、すなわち、法がその数自体の素因数分解は秘密にされ、第１の部分過程の法ｐ及び第２の部分過程の法ｑとして連続的に存在するに過ぎないことである。すなわち、素因数分解Ｎ＝ｐ・ｑの知識が秘密に保たれるべきことがこの計算規則では前提とされ、全計算過程の、本質的に第１の素因数を含む第１の計算過程(３)及び本質的に第２の素因数を含む第２の計算過程(４)への分割が導かれる。式(１)の指数ｄが法φ(ｐ・ｑ)で定められなければならず、式(２)の指数が法φ(ｐ)またはφ(ｑ)で定められるだけでなければならないことが、利点である。ここでφはオイラー関数を表す。
【０００６】
注目すべきことには、具体的な実装暗号法が式(２)〜(４)にしたがう中国剰余定理を利用していれば、別に撹乱されてはいない計算シーケンスへの適当な技巧的侵入により撹乱された法対合の誤りのある結果からＮの素因数分解に関する情報を復元し得ることによる、法対合を用いるそのような暗号法への攻撃機構が最近知られるようになった。“ベルコア(Bellcore)攻撃”と知られるこの攻撃は、例えばダン・ボネー(Dan Boneh)，リチャード・エイ・デミロ(Richard A. DeMillo)及びリチャード・ジェイ・リプトン(Richard J. Lipton)著，「誤りに対する暗号プロトコルチェックの重要性について(On the importance of checking cryptographic protocols for faults)」，暗号学の進歩(Advances in Cryptology)−ユーロクリプト(EUROCRYPT)，９７，コンピュータサイエンス(Computer Science)１２３３講義録，独国ベルリン：スプリンガー(Springer)，１９９７，に説明されている。中国剰余定理にしたがう法対合の実行において、ある、それほど大きくはない、確率で計算エラーが生じるように、クロック速度、動作電圧または照射を大きくするような物理的侵入により、記号化装置が操作される。式(２)の２つの項の内の１つだけに計算エラーが生じれば、２つの素因数ｐ及びｑを、エラーのある対合結果から復元することができる。
【０００７】
中国剰余定理を用いて実施される法対合の上記の脆弱性から引き出される結論は、計算操作の結果を、この結果がさらに処理される前に、特にこの結果が何らかの形態、例えば書名の形態で出力される前に、正誤についてまずチェックを行うことである。
【０００８】
“ベルコア攻撃”に対する自明な対抗手段は、計算操作を少なくとも１回繰り返すことにより上記の正誤チェックを実施することである。ランダムな計算エラーの場合には、初めの計算操作の結果がチェックのための計算操作の結果と異なると想定することができる。この手法の本質的な欠点は、１回のチェック計算により計算時間が既に２倍になっていることである。
【０００９】
国際公開第Ａ１-９８/５２３１９号パンフレットは、特に、中国剰余定理にしたがう法対合を実行する計算操作を“ベルコア攻撃”に対して防護するための方法を開示している。秘密の整数ｊが、例えばｋを１６≦ｋ≦３２とする区間[０,２ｋ−１]の範囲内で選ばれる。次いで式(５)：
【数５】
0004977300.tif 000006
式(６)：
【数６】
0004977300.tif 000007
式(７)：
【数７】
0004977300.tif 000008
式(８)：
【数８】
0004977300.tif 000009
式(９)：
【数９】
0004977300.tif 000010
及び式(１０)：
【数１０】
0004977300.tif 000011
が計算される。次いで、式(１１)：
【数１１】
0004977300.tif 000012
が成立するか否かがチェックされる。式(１１)が成立することが証明されれば、式(１２)：
【数１２】
0004977300.tif 000013
及び式(１３)：
【数１３】
0004977300.tif 000014
が既知の方法で計算され、次いで、これらから式(１４)：
【数１４】
0004977300.tif 000015
に対する値を、中国剰余定理を用いて決定することができる。
【００１０】
この既知の方法は、必要な追加の計算時間が実質的に短いという、単純なチェック計算操作に優る利点を有する。
【００１１】
この方法では、素数ｐ及びｑのいずれもにも同じ因子ｄが乗じられなければならない。国際公開第Ａ１-９８/５２３１９号パンフレットは、素数ｐ及びｑに相異なる因子ｒ及びｓを乗じることができる、第２の方法を開示している。しかし、他に２つの対合がチェック計算に対して必要である。
【００１２】
本発明の課題は、計算操作すなわち計算時間を節約し、同時にセキュリティを維持するかまたは高める、暗号法及び装置を提供することにある。
【００１３】
上記課題は、特許請求項１または２に述べられる特徴をもつ暗号法及び特許請求項１３または１４に述べられる特徴をもつ暗号装置により、本発明にしたがって解決される。
【００１４】
従属請求項３〜１２及び１５〜１４は有用な発展形を示す。
【００１５】
以下に述べるように、法対合における法が２進数で多くの頭の１を有すれば、ある利点をここで相異なる因子ｒ及びｓが示すから、ある演算及び論理ユニットには有利である。さらに、法対合に対して最適化されている演算及び論理ユニットが存在するが、対合のための中央処理装置から最適化された演算及び論理ユニットへのデータ転送だけがかなりのオーバーヘッドを生じさせる。本発明は、相異なる因子ｒおよびｓによる上述の方法に比較して、対合を１つ不要にする。
【００１６】
本発明にしたがえば、ｄがφ(kgＶ(ｒ,ｓ))に対して素であるように、例えばｋを１６≦ｋ≦３２とする区間[０,２ｋ−１]の範囲内で、２つの整数ｒ及びｓが選ばれる。ここでkgＶ(ｒ,ｓ)はｒ及びｓの最小公倍数であり、φ( )はオイラー関数である。次いで、式(１５)：
【数１５】
0004977300.tif 000016
式(１６)：
【数１６】
0004977300.tif 000017
式(１７)：
【数１７】
0004977300.tif 000018
式(１８)：
【数１８】
0004977300.tif 000019
式(１９)：
【数１９】
0004977300.tif 000020
及び、式(２０)：
【数２０】
0004977300.tif 000021
が計算される。ここでｚ１＝ｘｄ(ｍｏｄ ｐ・ｒ)及びｚ２＝ｘｄ(ｍｏｄ ｑ・ｒ)が成立する。中国剰余定理にしたがい、数ｚをｚ１及びｚ２から式(２１)：
【数２１】
0004977300.tif 000022
により容易に計算することができる。数ｒ及びｓは本発明にしたがいｄがφ(kgＶ(ｒ,ｓ))に対して素であるように選ばれなければならない。上記状況の下で、式(２２)：
【数２２】
0004977300.tif 000023
にしたがう自然数ｅを容易に見いだすために、拡張ユークリッド互除法を用いることができる。ｚ及びｅを用いて、式(２３)：
【数２３】
0004977300.tif 000024
によりＣが計算される。オイラー定理にしたがえば、式(２４)：
【数２４】
0004977300.tif 000025
が成立する。２つの値Ｃ及びｘ(ｍｏｄ kgＶ(ｒ,ｓ))を比較することにより、高い確率でエラーを確かめることができる。Ｃ≠ｘ(ｍｏｄ kgＶ(ｒ,ｓ))であることが確かめられれば、法対合の結果は誤りであると見なされ、放棄されるべきである。
【００１７】
ＲＳＡ法においては(ラビン署名機構でも同様に)、法対合はデジタル署名を生成するため、または記号化のために実施されることになっており、法ｐ・ｑ及び指数ｄは秘密キーにしか依存しない。したがって、数ｄ,ｅ，ｒ及びｓを秘密キーの組込に際して１回計算し、再使用のため格納することができる。
【００１８】
本発明の変形態様においては、２つの整数ｒ及びｓが同様に、例えばｋを１６≦ｋ≦３２とする区間[０,２ｋ−１]の範囲内で選ばれる。２進演算及び論理ユニットに関しては、数ｒ及びｓがともに奇数であることが推奨される。さらに、区間[１,...,ｒ−１]及び[１,...,ｓ−１]内にあり、それぞれｒ及びｓに対して素である、ｘに依存しない、２つの固定数ｂ１及びｂ２が選ばれる。ｒ及びｓが互いに素でなければ、ｂ１及びｂ２はさらに、条件ｂ１＝ｂ２(ｍｏｄ ggＴ(ｒ,s))を満足しなければならない。ここでggＴ(ｒ,s)はｒ及びｓの最大公約数を表す。
【００１９】
中国剰余定理にしたがい、まず数ｘ１が式(２５)：
【数２５】
0004977300.tif 000026
を用いて計算される。同様に、数ｘ２が式(２６)：
【数２６】
0004977300.tif 000027
を用いて計算される。次いで、式(２７)：
【数２７】
0004977300.tif 000028
式(２８)：
【数２８】
0004977300.tif 000029
式(２９)：
【数２９】
0004977300.tif 000030
式(３０)：
【数３０】
0004977300.tif 000031
式(３１)：
【数３１】
0004977300.tif 000032
及び、式(３２)：
【数３２】
0004977300.tif 000033
が計算される。計算時間を節約するため、式(３１)及び(３２)の指数ｄ_１及びd_２を、それぞれφ(ｒ)及びφ(ｓ)を法とする対合を実行する前に、簡約することができる。式(２７)及び(２９)から式(３３)：
【数３３】
0004977300.tif 000034
が得られ、式(２８)及び(３０)から式(３４)：
【数３４】
0004977300.tif 000035
が得られる。
【００２０】
中国剰余定理にしたがい、数ｚをｚ１及びｚ２から式(３５)：
【数３５】
0004977300.tif 000036
を用いて容易に計算することができる。
【００２１】
ｒとｓが互いに素ではない場合でも、ｚ１＝Ｃ１＝ｂ１ｄ_１＝ｂ２ｄ_２＝Ｃ２＝ｚ２(ｍｏｄ ggＴ(ｒ,ｓ))であるから、そのような数ｚが存在する。ｐ及びｑは互いに素であるから、式(３３)，(３４)及び(３５)から式(３６)：
【数３６】
0004977300.tif 000037
が得られ、よって求める数ｚを上で計算された値から容易に決定することができる。
【００２２】
式(２５)，(２９)及び(３１)から式(３７)：
【数３７】
0004977300.tif 000038
が得られる。
【００２３】
式(２６)，(３０)及び(３２)から式(３８)：
【数３８】
0004977300.tif 000039
が得られる。
【００２４】
条件(３７)及び(３８)をチェックすることにより、エラーを高い確率で確かめることができる。条件(３７)及び(３８)の内の１つが侵されていれば、法対合の結果はエラーがあると見なされ、放棄されるべきである。
【００２５】
国際公開第Ａ１-９８/５２３１９号パンフレットの請求項８の方法とは対照的に、ここで提示される方法の変形態様においては、数ｂ１及びｂ２が基ｘに依存しない。ＲＳＡ法またはラビン署名機構を適用する場合、秘密キーは一般に暗号装置、例えばスマートカードに一度組み込まれ、次いで何度も使用される。これらの方法に適用される法対合においては、指数ｄ及び法ｐ・ｑが秘密キーの固定要素である。したがって、行われなければならないＣ１及びＣ２の計算は暗号装置へのキーの組込に際して一度だけであり、その後Ｃ１及びＣ２を装置に格納できる。これらの値の格納は２つの法対合を不要にし、国際公開第Ａ１-９８/５２３１９号パンフレットに提示される方法に優る。
【００２６】
法演算を速めるための補助ハードウエアをもつ暗号装置、例えばスマートカードは、通常の実施形態において高速加算及び／または乗算ユニットを有するが、法簡約に必要な多桁の数字による除算は、例えばドナルド・クヌース(Donald Knuth)著，「コンピュータプログラミング技法(The Art of Computer Programming)」，第２巻：準数値的アルゴリズム(Seminumerical Algorithms)，第２版，アディソン−ウェスリー(Addison-Wesley)，１９８１年，により知られるような、通常の標準的方法により実施されなければならない。除法演算を単純化するためのいくつかの既知の方法の内の１つは、積ｐ・ｒの２進数表現が可能な限り多くの１を含むように、対合の前に法ｐに数ｒを乗じることである；例えばメネゼス等著の上記ハンドブック，ｐ．５９８〜５９９を参照されたい。可能な限り多くの頭の１をもつ数による除算は、普通の数によるよりもかなり簡単である。
【００２７】
乗数ｒは、本発明にしたがい、ｄがφ(ｒ)と互いに素であるように選ばれる。本発明の上述の変形態様では、上記の互いに素であることは必要ではない。それぞれの法ｐに対して、特定の除算実施技法に依存する最適な乗数ｒ最適が存在する。選ばれたｒの値が最適値より若干小さい場合には、積ｐ・ｒは除算を簡単に行うことができるに十分な数の頭の１をまだもっている。高い確率で、数ｄは、φ(ｒ最適−ｉ)の値の内の少なくとも１つと互いに素である。ここで，ｉ＝１,...,ｋであり、ｋは除算実施技法に依存する小さな数である。
【００２８】
これが当てはまらない場合には、ｒを２ｌ・ｒで置き換える。ここで２ｌは除算実施技法に依存する適当な２の羃乗である。
【００２９】
したがって、同じ置換を第２の素因数ｑにも適用できる。(ｐに対する)乗数ｒ及び(ｑに対する)乗数ｓは互いに独立に選ぶことができるから、乗数ｓに対しても、対応する選択が同様に可能である。