JP2004020984A - Method for probabilistic simultaneous order inspection of a plurality of elements and program for order inspecting - Google Patents
Method for probabilistic simultaneous order inspection of a plurality of elements and program for order inspecting Download PDFInfo
- Publication number
- JP2004020984A JP2004020984A JP2002176695A JP2002176695A JP2004020984A JP 2004020984 A JP2004020984 A JP 2004020984A JP 2002176695 A JP2002176695 A JP 2002176695A JP 2002176695 A JP2002176695 A JP 2002176695A JP 2004020984 A JP2004020984 A JP 2004020984A
- Authority
- JP
- Japan
- Prior art keywords
- storage means
- order
- group
- values
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は複数のデータの位数が特定の値であることを検査する方法に関し、特に複数のデータを一括して扱うことにより高速に結果を判定する方法に関する。
【0002】
【従来の技術】
多くの公開鍵暗号系のアプリケーションでは、安全性を保証するために、暗号文を構成する数値の位数を検査することがある。ここで言う数値の位数とは、その数値が生成する巡回群の集合としての位数のことであり、数値の位数の検査とは、その数値の位数が想定されている値であるかを検査することである。位数について簡単な例を挙げて説明する。今、乗法群(Z/pZ)*としてp=7である(Z/7Z)*を、数値として3を想定すると、数値3が生成する巡回群の集合は、31 mod 7=3、32 mod 7=2、33 mod 7=6、34 mod 7=4、35 mod 7=5、36 mod 7=1、37 mod 7=3、38 mod 7=2、39 mod 7=6、310 mod 7=4、311 mod 7=5、…、であり、3,2,6,4,5,1の6個の要素からなる。これを、数値3が乗法群(Z/7Z)*上で生成する巡回群の集合としての位数は6であると言う。
【0003】
ところで、近年電子投票等の暗号アプリケーション等、膨大な数の暗号文を一度に扱う機会が増えている。このため、これらのアプリケーションで数値の位数の検査を迅速に完了することが求められている。位数検査が必要となる具体的な例としては、「検証可能な Mix−net 」と呼ばれる暗号プロトコルを用いた電子投票システムがあげられる。ここで投票行為は、公開鍵暗号システムを用いて暗号化した投票文を集計所に送付することにより行われる。集計では、まず送付された投票暗号文を複数の集計者により共同して復号し、次に復号された投票文を集計する。一連の集計操作の終了後、「検証可能な Mix−net 」では、一連の操作が正しく行われたかを証明するデータを、集計者が協力して生成し出力する。このデータのことを以後「証明データ」と呼ぶことにする。ところで、もし集計結果が正しくなかったとしても、暗号投票文の集合と復号した投票文の集合のみからはその事実は簡単には分らない。しかし復号のための鍵を持っているならば、集計結果が正しいかどうかはたちどころに分る。なぜならこの鍵で全ての投票暗号文を復号して二つの集合を比較すれば良いからである。証明データとはこのように集計結果が正当であるかを知ることを可能にするデータであるが、鍵そのものでなく、証明データからは投票暗号文と復号結果の対応は分らない(つまり、投票の匿名性を破らない)データである。「検証可能な Mix−net 」を用いた電子投票では、投票の集計において不正がなされていないことを、投票暗号文と復号された投票文と証明データから特殊なアルゴリズムを用いて判断する。このアルゴリズムの中に、特に「検証可能な Mix−net 」がエルガマル暗号文を利用する場合、暗号文と復号された投票文と証明データを構成する値の位数を調べる操作が含まれることが多い。なぜなら、エルガマル暗号文では位数の異なる暗号文を識別できるため、同じ位数の暗号文だけを選んで使わないと、電子投票システムの安全性が低下するからである。
【0004】
さて、従来の位数検査の方法には、以下のようなものがある。先ず、数値gの位 数がqの約数であることを検査するためには、数値gをこの数値gが定義された群上で、数値gのq+1乗である gq+1を計算する。つまり、定義された群を(Z/pZ) *とすると、gq+1 mod p を計算する。そして、この計算結果がgに等しければ、数値gの位数はqの約数であったと判定する。特に、qが素数の場合は、その位数は1あるいはqである。
【0005】
【発明が解決しようとする課題】
しかし前記従来の技術におけるgq+1の計算には、多大な計算コストがかかる場合が多いため、多数の数値の位数の検査を行うには膨大な時間がかかるという問題がある。特にMix−netにより大規模な電子投票を行う場合などには、位数を検査する必要のある暗号文が膨大なため、多大な時間が必要になり、システムの運用が困難になる場合がある。
【0006】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、多数の数値の位数をより少ない時間で検査する方法を提供することにある。
【0007】
【課題を解決するための手段】
本発明の第1の複数の要素に対する確率的同時位数検査方法は、与えられた群上で複数の被検査値が与えられたとき、これらの値すべての位数がすべて与えられた値の約数であることを確認する方法であって、群を定義する変数と、前記群の要素である複数の被検査値と、位数と、安全変数とが入力される入力処理と、前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものを含む場合には、0と有意に異なる確率でこれを検出する検査処理と、前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものが含まれることが検出されるに至るか、あるいは前記安全変数により指定される回数実行されるに至るまで、前記検査処理を繰り返し実行する繰り返し処理と、前記繰り返し処理において、前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものが含まれることが検出された場合には「不受理」を、検出されない場合には「受理」を出力する出力処理とを含むことを特徴とする。
【0008】
本発明の第2の複数の要素に対する確率的同時位数検査方法は、第1の複数の要素に対する確率的同時位数検査方法において、前記検査処理が、乱数生成器により乱数を生成する乱数生成処理と、前記乱数を用いて、前記複数の被検査値の各値について選択または非選択を決定し、選択された値すべての前記群上での積である検査積を計算する検査積生成処理と、前記検査積の位数が前記与えられた位数の約数でなければ、前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものが含まれると判断する検査積位数判断処理と、を含むことを特徴とする。
【0009】
本発明の第3の複数の要素に対する確率的同時位数検査方法は、複数の被検査値すべての位数が基準となる位数の約数であることをコンピュータにより検査する方法において、以下のステップを含むことを特徴とする。
a)群を定義する変数、前記群の要素である複数の被検査値、基準となる位数および安全変数を入力し、入力した群を定義する変数を第1の記憶手段に、入力した複数の被検査値を第2の記憶手段に、入力した基準となる位数を第3の記憶手段に、入力した安全変数を第4の記憶手段に、それぞれ記憶するステップ
b)乱数を発生し、発生した乱数を第5の記憶手段に記憶するステップ
c)第1の記憶手段から群を定義する変数を、第2の記憶手段から複数の被検査値を、第5の記憶手段から乱数をそれぞれ取得し、乱数の値に基づいて複数の被検査値の中から検査積生成に用いる被検査値を選択し、該選択した被検査値の前記群上での積である検査積を計算して、該計算した検査積を第6の記憶手段に記憶するステップ
d)前記第1の記憶手段から群を定義する変数を、第3の記憶手段から基準となる位数を、第6の記憶手段から検査積をそれぞれ取得して、検査積の位数が基準となる位数の約数であるかどうかを判定し、判定結果を第7の記憶手段に記憶するステップ
e)第7の記憶手段から判定結果を取り出し、検査積の位数が基準となる位数の約数でない旨の判定結果であれば検査不合格の旨を出力して処理を終了し、検査積の位数が基準となる位数の約数である旨の判定結果であれば、第4の記憶手段から安全変数を取り出し、予め定められた値以上か否かを判定し、予め定められた値以上でなければ、検査合格の旨を出力して処理を終了し、予め定められた値以上であれば第4の記憶手段に記憶された安全変数を所定値だけ減じてステップbに処理を戻すステップ
【0010】
本発明の第4の複数の要素に対する確率的同時位数検査方法は、複数の被検査値すべての位数が基準となる位数の約数であることをコンピュータにより検査する方法において、以下のステップを含むことを特徴とする。
a)群を定義する変数、前記群の要素である複数の被検査値、基準となる位数および安全変数を入力するステップ
b)入力した群を定義する変数を第1の記憶手段に、入力した複数の被検査値を第2の記憶手段に、入力した基準となる位数を第3の記憶手段に、入力した安全変数を第4の記憶手段に、それぞれ記憶するステップ
c)乱数を発生するステップ
d)発生した乱数を第5の記憶手段に記憶するステップ
e)第1の記憶手段から群を定義する変数を、第2の記憶手段から複数の被検査値を、第5の記憶手段から乱数をそれぞれ取得し、乱数の値に基づいて複数の被検査値の中から検査積生成に用いる被検査値を選択し、該選択した被検査値の前記群上での積である検査積を計算するステップ
f)計算した検査積を第6の記憶手段に記憶するステップ
g)前記第1の記憶手段から群を定義する変数を、第3の記憶手段から基準となる位数を、第6の記憶手段から検査積をそれぞれ取得して、検査積の位数が基準となる位数の約数であるかどうかを判定するステップ
h)判定結果を第7の記憶手段に記憶するステップ
i)第7の記憶手段から判定結果を取り出し、検査積の位数が基準となる位数の約数でない旨の判定結果であれば、検査不合格の旨を出力して処理を終了し、それ以外は処理を継続するステップ
j)第4の記憶手段から安全変数を取り出し、予め定められた値以上か否かを判定し、予め定められた値以上でなければ、検査合格の旨を出力して処理を終了し、それ以外は処理を継続するステップ
k)第4の記憶手段に記憶された安全変数を所定値だけ減じ、ステップcに処理を戻すステップ
【0011】
【作用】
本発明にあっては、被検査値の中にその位数が与えられた位数の約数でないものがある場合には、安全変数を十分大きくとれば十分に1に近い確率で、そのようであることを確認できる。また、前記安全変数が位数のbit数よりも十分に小さく、かつ、位数を検査する検査値の数が位数のbit数よりも十分に大きい場合には、従来の方式による位数の検査よりも効率良く位数を検査することができる。例えば、位数のbit数が160以上の数であれば、安全変数は40ほどで十分な精度の検査が可能であり、この場合、被検査数値列が45個以上の要素からなる場合には、計算コストが従来技術に比べて低減される。
【0012】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0013】
図1を参照すると、本発明を適用したコンピュータの一例は、入力装置100、出力装置200、プログラム記憶装置300、メモリ400、及びそれらに接続された中央処理装置500で構成される。入力装置100は、キーボード等の手動入力装置、入力データを記憶するファイル装置、通信回線を通じて送られてくるデータを受信する通信装置などで構成される。出力装置200は、表示装置、プリンタ、出力データを記憶するファイル装置、通信回線を通じて出力データを送信する通信装置などで構成される。プログラム記憶装置300は、当該コンピュータの基本プログラムや位数検査プログラムなどのソフトウェアを記憶するための磁気ディスク等で構成される。メモリ400は、位数検査処理の過程で必要となる各種のデータを記憶するための記憶部で、RAM等で構成される。本実施の形態の場合、メモリ400には、ファイルやテーブル等で構成される第1乃至第7の記憶手段401〜407が設けられている。中央処理装置500は、プログラム記憶装置300に記憶されたプログラムを実行することにより、本コンピュータの全体を制御する。特に、プログラム記憶装置300に記憶された位数検査プログラムを実行することにより、本発明にかかる位数検査方法を実行する。
【0014】
次に図2を参照して、位数検査プログラムによる処理の流れを説明する。
【0015】
[前提]
pを整数、φ(p)を、p未満の正整数のうちpと互いに素な正整数の総数、qを、q|φ(p)なる整数、つまりφ(p)が割り切れる整数とする。この意味を簡単な例を挙げて説明すると、p=15の場合、p未満の正整数のうちpと互いに素な正整数は、1,2,4,7,8,11,13,14の合計8個であるから、φ(p)=8であり、8が割り切れる整数であるqは1,2,4,8である。なお、この複数の値のqのうち、特定の値のqを基準となる位数として位数検査が行われる。
【0016】
[入力処理S101]
中央処理装置500は、入力装置100から、乗法群(Z/pZ)*を定義する変数p、この群の要素であるn個の被検査値g1,g2,…,gn、基準となる位数qおよび安全変数sを入力し、第1の記憶手段401、第2の記憶手段402、第3の記憶手段403および第4の記憶手段404に記憶する。例えば本発明を従来技術の項で説明した「検証可能な Mix−net 」と呼ばれる暗号プロトコルを用いた電子投票システムに適用する場合、変数pは公開鍵暗号が用いる群を定義する変数に相当し、複数の被検査値は暗号化されて投票された票、復号が終了した票、集計処理が正常に行われたことを証明するデータを構成する要素に相当し、基準となる位数qは当該電子投票システムで用いることが定められた位数に相当する。また、安全変数sは検査に要求される精度に応じて事前に定められる。
【0017】
[乱数生成処理S102]
中央処理装置500は、乱数発生手段を用いて、被検査値の個数nと等しいnビットの乱数rを生成し、第5の記憶手段405に記憶する。ここで、乱数rの各ビットの値は1または0である。
【0018】
[検査積生成処理S103]
中央処理装置500は、第1、第2、第5の記憶手段401、402、405から、群を定義する変数p、n個の被検査値g1,g2,…,gn、nビットの乱数rをそれぞれ取得し、n個の被検査値g1,g2,…,gnと乱数の各ビットとを1対1に対応付けた場合に、乱数rの対応するビットの値が予め定められた値(例えば1)である被検査値だけを選び出し、それらの被検査値の前記群上での積である検査積Qを計算し、第6の記憶手段406に記憶する。検査積Qの計算を簡単な例で説明すると、群を(Z/7Z)*、選ばれた2つの被検査値g1,g2を3,4とすると、それらの被検査値の前記群上での積である検査積Qは、3*4 mod 7 =5 と計算する。
【0019】
[検査積位数判定処理S104]
中央処理装置500は、第1、第3、第6の記憶手段401、403、406から、群を定義する変数p、基準となる位数q、検査積Qをそれぞれ取得して、検査積Qの位数が基準となる位数qの約数であるかどうかを、以下の式が成立するかどうかを計算することによって判定し、その判定結果を第7の記憶手段407に記憶する。
Qq+1 mod p =Q
上記の式が成立するときは、当該検査積Qの計算の元となった全ての被検査値の位数が位数qの約数であるため、判定結果を「受理」とし、安全変数判断処理S107へ分岐する。反対に、上記の式が成立しないときは、当該検査積Qの計算の元となった被検査値の中に少なくとも位数が位数qの約数でない被検査値が含まれているため、判定結果を「不受理」とし、不受理出力処理S105へ分岐する。
【0020】
[不受理出力処理S105]
中央処理装置500は、「不受理」の判定結果を第7の記憶手段407から取り出し、出力装置200から出力する。そして、当該被検査値に対する位数検査処理を終了する(S106)。
【0021】
[安全変数判断処理S107]
中央処理装置500は、第4の記憶手段404から安全変数sを取り出し、予め定められた値(本例では1)より大きいかどうかを判定し、1より大きければ繰り返し処理S109へ分岐し、1より大きくなければ、受理出力処理S108へ分岐する。
【0022】
[受理出力処理S108]
中央処理装置500は、「受理」の判定結果を第7の記憶手段407から取り出し、出力装置200から出力する。そして、当該被検査値に対する位数検査処理を終了する(S106)。
【0023】
[繰り返し処理S109]
中央処理装置500は、第4の記憶手段404に記憶されている安全変数sを所定値(本例では1)だけ減じ、乱数生成処理S102に分岐する。これにより、上述した処理が繰り返される。この繰り返しは、処理S103で生成された検査積Qの位数が位数qの約数でないと判定されるか、処理S107で安全変数sの値が1より大きくないと判定されるまで続けられる。
【0024】
次に、本実施例の効果を説明する。
【0025】
全ての被検査数値列gi;(i=1、2、…、n)に関して、gi q+1 mod p =giが成り立つならば、本実施例では必ず「受理」を出力する。これは明らかである。一つでもgi q+1 mod p ≠giなるgiが存在する場合、各検査積Qがgiを含む確率は1/2である。なぜなら、検査積を構成するその他の要素を同じとして、検査積Qがgiを含む場合と含まない場合の両方の場合に、共にQq+1 mod p =Qが成り立つことは有り得ない。よって、一つでもgi q+1 mod p ≠giなるgiが存在する場合、無作為に選ばれた乱数rに関して、Qq+1 mod p =Qが成り立つ確立は、1/2以下であるからである。
【0026】
本実施例において「受理」を出力した場合は、s個の乱数に関して生成された検査積Q全てが、Qq+1 mod p =Qを満たしたと言うことであるので、一つでもgi q+1 mod p≠giなるgiが存在する確率は1/2s以下である。従って、安全変数sを十分に大きくとれば、gi q+1 mod p ≠giなるgiの存在を見逃す確率は無視できるほど小さくなる。
【0027】
従来の方法でn個のgiに関して、gi q+1 mod p=giを確認するには、冪乗剰余算をn回行わなければならなかった。そして、一回の冪乗剰余算にはおよそqのビット数の3/2倍の乗算剰余が必要である。qのビット数を|q|とすると、全体で(3/2)|q|n回の乗算剰余が必要である。
【0028】
一方本実施例では、検査積Qを生成するにはn/2回の乗算剰余が必要で、Qq+1 を計算するには(3/2)|q|回の乗算剰余が必要なので、全体として、{(1/2)n + (3/2)|q|}s回の乗算剰余が必要になる。
【0029】
従って、nが|q|より十分大きい場合、すなわち多くの位数検査を行う必要がある場合で、かつs<3|q|であれば本実施例は従来の方法よりも効率が良い。現実的に、前述した電子投票システム等の場合、位数のbit数|q|は160以上の数が選ばれる場合が多く、安全変数sは40ほどで十分な場合が多い。このような条件では、被検査数値列が45個以上の要素からなる場合では、本実施例の方が効果的である。
【0030】
【発明の効果】
以上説明したように本発明によれば、多数の数値の位数をより少ない時間で検査することが可能である。その理由は、複数のデータを一括して扱い且つ確率的に検査しているからである。
【図面の簡単な説明】
【図1】本発明を適用したコンピュータの一例を示すブロック図である。
【図2】位数検査プログラムによる処理の流れを示すフローチャートである。
【符号の説明】
100…入力装置
200…出力装置
300…プログラム記憶装置
400…メモリ
401〜407…第1〜第7の記憶手段
500…中央処理装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method of checking that the order of a plurality of data has a specific value, and particularly to a method of determining a result at a high speed by treating a plurality of data collectively.
[0002]
[Prior art]
In many applications of the public key cryptosystem, the order of numerical values constituting a ciphertext may be checked in order to guarantee security. Here, the order of the numerical value is the order as a set of cyclic groups generated by the numerical value, and the inspection of the order of the numerical value is the value at which the order of the numerical value is assumed. Is to test. The order will be described with a simple example. Now, assuming (Z / 7Z) * with p = 7 as the multiplicative group (Z / pZ) * and 3 as the numerical value, the set of cyclic groups generated by the numerical value 3 is 3 1 mod 7 = 3,3 2 mod 7 = 2,3 3 mod 7 = 6,3 4 mod 7 = 4,3 5 mod 7 = 5,3 6 mod 7 = 1,3 7 mod 7 = 3,3 8 mod 7 = 2,3 9 mod 7 = 6, 3 10 mod 7 = 4, 3 11 mod 7 = 5,..., and is composed of 6, 2, 3, 4, 5, and 1 elements. It is said that the order as a set of cyclic groups generated by the numerical value 3 on the multiplicative group (Z / 7Z) * is 6.
[0003]
By the way, in recent years, an opportunity to handle a huge number of ciphertexts at a time, such as a cryptographic application such as electronic voting, has increased. For this reason, it is required that these applications complete the inspection of the numerical order quickly. A specific example that requires a rank check is an electronic voting system using a cryptographic protocol called “Verifiable Mix-net”. Here, the voting action is performed by sending a voting sentence encrypted using a public key encryption system to a tallying station. In the tallying, first, the sent voting cipher text is jointly decrypted by a plurality of tallyers, and then the decrypted voting texts are tallyed. After the end of the series of tallying operations, in the “Verifiable Mix-net”, the tallyer cooperates to generate and output data proving that the series of operations has been performed correctly. This data is hereinafter referred to as “certification data”. By the way, even if the tally result is incorrect, the fact is not easily understood from only the set of encrypted voting sentences and the set of decrypted voting sentences. However, if you have the key to decrypt it, it is easy to see if the results are correct. This is because all voting ciphertexts can be decrypted with this key and the two sets can be compared. The proof data is data that makes it possible to know whether the tally result is valid, but the correspondence between the voting cipher text and the decryption result is not known from the proof data, not the key itself (that is, voting data). Data). In the electronic voting using the “verifiable Mix-net”, it is determined from the voting cipher text, the decrypted voting text, and the proof data using a special algorithm that no tampering has been performed in counting the voting. This algorithm may include an operation for examining the order of the values constituting the ciphertext, the decrypted voting sentence, and the proof data, particularly when the “verifiable Mix-net” uses the ElGamal ciphertext. Many. This is because the ElGamal ciphertext can identify ciphertexts having different orders, and if only ciphertexts having the same order are not selected and used, the security of the electronic voting system is reduced.
[0004]
By the way, there are the following methods for the conventional order inspection. First, order of the numerical values g in order to check that it is a divisor of q is a number g on the group this value g is defined to calculate the g q + 1 is a q + 1 square of numerical g. In other words, the defined group is (Z / pZ) Assuming * , g q + 1 mod p is calculated. If this calculation result is equal to g, it is determined that the order of the numerical value g is a divisor of q. In particular, when q is a prime number, its order is 1 or q.
[0005]
[Problems to be solved by the invention]
However, since the calculation of g q + 1 in the above-described conventional technique often requires a large calculation cost, there is a problem that it takes an enormous amount of time to check the order of a large number of numerical values. In particular, when a large-scale electronic voting is performed by using the Mix-net, for example, the number of ciphertexts whose order needs to be checked is enormous, so that a large amount of time is required and the operation of the system may be difficult. .
[0006]
The present invention has been proposed in view of such circumstances, and an object of the present invention is to provide a method for inspecting the order of a large number of numerical values in a shorter time.
[0007]
[Means for Solving the Problems]
The first probabilistic simultaneous order inspection method for a plurality of elements according to the present invention is such that when a plurality of inspected values are given on a given group, all the orders of these values are all the given values. A method for confirming that the number is a divisor, wherein a variable defining a group, a plurality of inspected values that are elements of the group, a rank, and an input process in which a safety variable is input; In the case where at least one of the inspected values includes a value whose order is not a divisor of the given order, an inspection process of detecting this with a probability significantly different from 0; Until it is detected that at least one order is not a divisor of the given order, or until the value is executed the number of times specified by the safety variable, In the repetitive processing for repeatedly executing the inspection processing, If it is detected that at least one order is not a divisor of the given order among a plurality of values to be inspected, “Rejected” is detected. And an output process of outputting
[0008]
According to a second aspect of the present invention, there is provided a stochastic simultaneous order inspection method for a plurality of elements, wherein the inspection processing generates a random number by a random number generator. Processing, using the random numbers, determining whether to select or deselect each of the plurality of values to be inspected, and calculating an inspection product that is a product of all the selected values on the group, If the order of the test product is not a divisor of the given order, at least one of the plurality of inspected values includes one whose order is not a divisor of the given order. And a check stacking number judging process for judging that the number is to be determined.
[0009]
The third method of probabilistic simultaneous order inspection for a plurality of elements according to the present invention is a method for inspecting by computer that all orders of a plurality of inspected values are divisors of a reference order. It is characterized by including a step.
a) A variable defining a group, a plurality of test values which are elements of the group, a standard order and a safety variable are input, and the variables defining the input group are input to a first storage means. B) storing the inspected value in the second storage means, storing the input reference order in the third storage means, and storing the input safety variable in the fourth storage means. Step c) storing the generated random numbers in the fifth storage means. The variables defining the group from the first storage means, the plurality of test values from the second storage means, and the random numbers from the fifth storage means. Obtain and select a test value to be used for test product generation from a plurality of test values based on the value of the random number, and calculate a test product which is a product of the selected test value on the group. And d) storing the calculated check product in a sixth storage means. A variable defining the group from the column, a reference order from the third storage means, and a check product from the sixth storage means are respectively obtained, and the order of the test product is a divisor of the reference order. E) storing the determination result in the seventh storage means; e) retrieving the determination result from the seventh storage means; If the judgment result indicates that the test is not successful, the process is terminated, and if the judgment result indicates that the order of the inspection product is a divisor of the reference order, the safety is stored in the fourth storage means. The variable is taken out, and it is determined whether or not the value is equal to or more than a predetermined value. If the value is not equal to or more than the predetermined value, the result of the inspection is output and the process is terminated. Step 4 of reducing the safety variable stored in the storage means of Step 4 by a predetermined value and returning to Step b. 10]
A fourth method of probabilistic simultaneous order inspection for a plurality of elements according to the present invention is a method for inspecting with a computer that all orders of a plurality of inspected values are divisors of a reference order. It is characterized by including a step.
a) inputting a variable defining a group, a plurality of test values, reference orders and safety variables which are elements of the group; b) inputting a variable defining an input group to a first storage means; C) storing the plurality of tested values in the second storage means, storing the input reference order in the third storage means, and storing the input safety variables in the fourth storage means, respectively. D) storing the generated random numbers in a fifth storage means, e) storing a variable defining a group from the first storage means, a plurality of test values from the second storage means, and a fifth storage means. From the plurality of inspected values based on the value of the random number, select an inspected value to be used for generating an inspected product, and determine an inspected product that is a product of the selected inspected value on the group. F) storing the calculated check product in the sixth storage means. G) obtaining a variable defining a group from the first storage means, a reference order from the third storage means, and a check product from the sixth storage means, respectively. H) determining whether or not is a divisor of the reference order; i) storing the determination result in the seventh storage means; i) extracting the determination result from the seventh storage means; If the judgment result is that the order is not a divisor of the reference order, a message indicating that the test has failed is output and the process is terminated. Otherwise, the process is continued. Step j) The safety variable is stored in the fourth storage means. Take out and determine whether or not the value is equal to or greater than a predetermined value. If the value is not equal to or greater than the predetermined value, output that the inspection is successful and terminate the process. Otherwise, continue the process. The safety variable stored in the storage means is reduced by a predetermined value, and the Step to return the process to the c [0011]
[Action]
In the present invention, if the order is not a divisor of the given order in the inspected values, the probability is sufficiently close to 1 if the safety variable is made sufficiently large. Can be confirmed. Further, when the safety variable is sufficiently smaller than the number of bits of the order and the number of test values for inspecting the order is sufficiently larger than the number of bits of the order, The order can be inspected more efficiently than the inspection. For example, if the number of bits of the order is 160 or more, it is possible to perform a sufficiently accurate inspection with about 40 safety variables. In this case, if the numerical value sequence to be inspected is composed of 45 or more elements, And the computational cost is reduced compared to the prior art.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0013]
Referring to FIG. 1, an example of a computer to which the present invention is applied includes an
[0014]
Next, the flow of processing by the order inspection program will be described with reference to FIG.
[0015]
[Premise]
Let p be an integer, let φ (p) be the total number of positive integers relatively prime to p among positive integers less than p, and let q be an integer q | φ (p), that is, an integer divisible by φ (p). To explain this meaning with a simple example, when p = 15, among the positive integers smaller than p, positive integers relatively prime to p are 1, 2, 4, 7, 8, 11, 13, and 14 Since there are a total of eight, φ (p) = 8, and q, which is an integer divisible by 8, is 1, 2, 4, and 8. The order test is performed using q of a specific value among the qs of the plurality of values as a reference order.
[0016]
[Input processing S101]
The
[0017]
[Random number generation processing S102]
The
[0018]
[Check product generation processing S103]
The
[0019]
[Test Stack Number Determination Process S104]
The
Q q + 1 mod p = Q
When the above equation is satisfied, the order of all the inspected values from which the check product Q is calculated is a divisor of the order q. The process branches to step S107. On the other hand, when the above formula is not satisfied, the test value from which the check product Q is calculated includes a test value whose order is at least a divisor of the order q. The determination result is “not accepted”, and the process branches to unaccepted output processing S105.
[0020]
[Rejected output processing S105]
The
[0021]
[Safety variable determination processing S107]
The
[0022]
[Reception output processing S108]
The
[0023]
[Repeat processing S109]
The
[0024]
Next, effects of the present embodiment will be described.
[0025]
All inspected numerical sequence g i; (i = 1,2, ..., n) with respect to, if g i q + 1 mod p = g i is satisfied, always outputs "acceptance" in the present embodiment. This is obvious. If one in even g i q + 1 mod p ≠ g i becomes g i is present, the probability that the test product Q comprises a g i is 1/2. This is because it is impossible that Q q + 1 mod p = Q is satisfied both when the check product Q includes g i and when it does not include g i , assuming that the other elements constituting the check product are the same. Therefore, if g i q + 1 mod p ≠ g i becomes g i even one is present, with respect to the random number r which is chosen at random, the probability that Q q + 1 mod p = Q is satisfied, 1/2 because of less is there.
[0026]
When “accept” is output in this embodiment, it means that all the check products Q generated for the s random numbers satisfy Q q + 1 mod p = Q, and therefore at least one g i q + 1 mod p ≠ probability that g i becomes g i is present is less than or equal to 1/2 s. Thus, taking a sufficiently large safety variables s, the probability of missing the presence of g i q + 1 mod p ≠ g i becomes g i becomes negligibly small.
[0027]
In order to check g i q + 1 mod p = g i for n g i in the conventional method, modular exponentiation had to be performed n times. One modular exponentiation operation requires a modular multiplication of about 3/2 times the number of bits of q. Assuming that the number of bits of q is | q |, (3/2) | q | n multiplication remainders are required in total.
[0028]
On the other hand, in this embodiment, n / 2 multiplication remainders are required to generate the check product Q, and (3/2) | q | multiplication remainders are required to calculate Q q + 1. , {(1/2) n + (3/2) | q |} s multiplication remainders are required.
[0029]
Therefore, when n is sufficiently larger than | q |, that is, when many order tests need to be performed, and s <3 | q |, the present embodiment is more efficient than the conventional method. In reality, in the case of the electronic voting system described above, the number of order bits | q | is often 160 or more, and the safety variable s of about 40 is often sufficient. Under such conditions, the present embodiment is more effective when the numerical value sequence to be inspected includes 45 or more elements.
[0030]
【The invention's effect】
As described above, according to the present invention, it is possible to inspect the order of a large number of numerical values in a shorter time. The reason is that a plurality of data are treated collectively and inspected stochastically.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of a computer to which the present invention has been applied.
FIG. 2 is a flowchart illustrating a flow of a process performed by an order inspection program.
[Explanation of symbols]
100
Claims (6)
群を定義する変数と、前記群の要素である複数の被検査値と、位数と、安全変数とが入力される、入力処理と、
前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものを含む場合には、0と有意に異なる確率でこれを検出する、検査処理と、
前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものが含まれることが検出されるに至るか、あるいは前記安全変数により指定される回数実行されるに至るまで、前記検査処理を繰り返し実行する繰り返し処理と、
前記繰り返し処理において、前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものが含まれることが検出された場合には「不受理」を、検出されない場合には「受理」を出力する出力処理と、
を含むことを特徴とする、複数の要素に対する確率的同時位数検査方法。A method of verifying that when a plurality of test values are given on a given group, the order of all of these values is all a divisor of the given value,
Variables defining a group, a plurality of test values that are elements of the group, an order, and a safety variable are input, input processing,
In the case where at least one order is not a divisor of the given order in the plurality of inspected values, an inspection process of detecting this with a probability significantly different from 0,
It is detected that at least one of the plurality of values to be inspected includes a value which is not a divisor of the given order, or the number of times specified by the safety variable is executed. Up to, a repetitive process of repeatedly executing the inspection process,
In the iterative process, if it is detected that at least one of the plurality of values to be inspected includes an order that is not a divisor of the given order, a “rejection” is not detected. Output processing to output "acceptance" in the case,
A stochastic simultaneous order inspection method for a plurality of elements, comprising:
乱数生成器により乱数を生成する乱数生成処理と、
前記乱数を用いて、前記複数の被検査値の各値について選択または非選択を決定し、選択された値すべての前記群上での積である検査積を計算する、検査積生成処理と、
前記検査積の位数が前記与えられた位数の約数でなければ、前記複数の被検査値の中に一つでも位数が前記与えられた位数の約数でないものが含まれると判断する、検査積位数判断処理と、
を含むことを特徴とする請求項1記載の複数の要素に対する確率的同時位数検査方法。The inspection processing is
Random number generation processing for generating random numbers by a random number generator;
Using the random number, determine the selection or non-selection for each of the plurality of values to be inspected, calculate the inspection product which is the product of all the selected values on the group, inspection product generation processing,
If the order of the test product is not a divisor of the given order, and if any of the plurality of inspected values includes one whose order is not a divisor of the given order, Inspection stack number judgment processing to judge,
2. The method of claim 1, further comprising the step of:
a)群を定義する変数、前記群の要素である複数の被検査値、基準となる位数および安全変数を入力し、入力した群を定義する変数を第1の記憶手段に、入力した複数の被検査値を第2の記憶手段に、入力した基準となる位数を第3の記憶手段に、入力した安全変数を第4の記憶手段に、それぞれ記憶するステップ、
b)乱数を発生し、発生した乱数を第5の記憶手段に記憶するステップ、
c)第1の記憶手段から群を定義する変数を、第2の記憶手段から複数の被検査値を、第5の記憶手段から乱数をそれぞれ取得し、乱数の値に基づいて複数の被検査値の中から検査積生成に用いる被検査値を選択し、該選択した被検査値の前記群上での積である検査積を計算して、該計算した検査積を第6の記憶手段に記憶するステップ、
d)前記第1の記憶手段から群を定義する変数を、第3の記憶手段から基準となる位数を、第6の記憶手段から検査積をそれぞれ取得して、検査積の位数が基準となる位数の約数であるかどうかを判定し、判定結果を第7の記憶手段に記憶するステップ、
e)第7の記憶手段から判定結果を取り出し、検査積の位数が基準となる位数の約数でない旨の判定結果であれば検査不合格の旨を出力して処理を終了し、検査積の位数が基準となる位数の約数である旨の判定結果であれば、第4の記憶手段から安全変数を取り出し、予め定められた値以上か否かを判定し、予め定められた値以上でなければ、検査合格の旨を出力して処理を終了し、予め定められた値以上であれば第4の記憶手段に記憶された安全変数を所定値だけ減じてステップbに処理を戻すステップ、
を含むことを特徴とする、複数の要素に対する確率的同時位数検査方法。In a method of checking by computer that all orders of a plurality of inspected values are divisors of a reference order,
a) A variable defining a group, a plurality of test values which are elements of the group, a standard order and a safety variable are input, and the variables defining the input group are input to a first storage means. Storing the inspected value in the second storage means, the input reference order in the third storage means, and the input safety variable in the fourth storage means.
b) generating a random number and storing the generated random number in a fifth storage unit;
c) A variable defining a group is obtained from the first storage means, a plurality of test values are obtained from the second storage means, and a random number is obtained from the fifth storage means, respectively. A test value to be used for test product generation is selected from the values, a test product which is a product of the selected test value on the group is calculated, and the calculated test product is stored in the sixth storage means. Memorizing step,
d) A variable defining a group is obtained from the first storage means, a reference order is obtained from the third storage means, and a check product is obtained from the sixth storage means. Determining whether the order is a divisor of the order, and storing the determination result in a seventh storage means;
e) The judgment result is taken out from the seventh storage means, and if the judgment result indicates that the order of the inspection product is not a divisor of the reference order, the result of the inspection is rejected and the processing is terminated. If the result of the determination is that the product order is a divisor of the reference order, the safety variable is retrieved from the fourth storage means, and it is determined whether or not the safety variable is equal to or greater than a predetermined value. If the value is not equal to or more than the predetermined value, the inspection is passed and the process is terminated, and if the value is equal to or greater than the predetermined value, the safety variable stored in the fourth storage means is reduced by a predetermined value and the process proceeds to step b. The step of returning,
A stochastic simultaneous order inspection method for a plurality of elements, comprising:
a)群を定義する変数、前記群の要素である複数の被検査値、基準となる位数および安全変数を入力するステップ、
b)入力した群を定義する変数を第1の記憶手段に、入力した複数の被検査値を第2の記憶手段に、入力した基準となる位数を第3の記憶手段に、入力した安全変数を第4の記憶手段に、それぞれ記憶するステップ、
c)乱数を発生するステップ、
d)発生した乱数を第5の記憶手段に記憶するステップ、
e)第1の記憶手段から群を定義する変数を、第2の記憶手段から複数の被検査値を、第5の記憶手段から乱数をそれぞれ取得し、乱数の値に基づいて複数の被検査値の中から検査積生成に用いる被検査値を選択し、該選択した被検査値の前記群上での積である検査積を計算するステップ、
f)計算した検査積を第6の記憶手段に記憶するステップ、
g)前記第1の記憶手段から群を定義する変数を、第3の記憶手段から基準となる位数を、第6の記憶手段から検査積をそれぞれ取得して、検査積の位数が基準となる位数の約数であるかどうかを判定するステップ、
h)判定結果を第7の記憶手段に記憶するステップ、
i)第7の記憶手段から判定結果を取り出し、検査積の位数が基準となる位数の約数でない旨の判定結果であれば、検査不合格の旨を出力して処理を終了し、それ以外は処理を継続するステップ、
j)第4の記憶手段から安全変数を取り出し、予め定められた値以上か否かを判定し、予め定められた値以上でなければ、検査合格の旨を出力して処理を終了し、それ以外は処理を継続するステップ、
k)第4の記憶手段に記憶された安全変数を所定値だけ減じ、ステップcに処理を戻すステップ、
を含むことを特徴とする、複数の要素に対する確率的同時位数検査方法。In a method of checking by computer that all orders of a plurality of inspected values are divisors of a reference order,
a) inputting a variable defining a group, a plurality of test values which are elements of the group, a reference order and a safety variable;
b) The variables defining the input group are stored in the first storage means, the plurality of test values which are input are stored in the second storage means, and the input reference order is stored in the third storage means. Storing each of the variables in the fourth storage means;
c) generating a random number;
d) storing the generated random number in fifth storage means;
e) A variable defining a group is obtained from the first storage means, a plurality of test values are obtained from the second storage means, and a random number is obtained from the fifth storage means. Selecting a test value to be used for test product generation from the values, and calculating a test product that is a product of the selected test value on the group;
f) storing the calculated check product in a sixth storage means;
g) A variable defining a group is obtained from the first storage means, a reference order is obtained from the third storage means, and a check product is obtained from the sixth storage means. Determining whether the order is a divisor of
h) storing the determination result in a seventh storage means;
i) Retrieving the determination result from the seventh storage means, and if the determination result indicates that the order of the test product is not a divisor of the reference order, outputs a test failure and ends the processing; Otherwise, continue processing,
j) The safety variable is taken out from the fourth storage means, and it is determined whether or not the safety variable is equal to or more than a predetermined value. Steps to continue processing except for
k) reducing the safety variable stored in the fourth storage means by a predetermined value and returning to step c;
A stochastic simultaneous order inspection method for a plurality of elements, comprising:
a)群を定義する変数、前記群の要素である複数の被検査値、基準となる位数および安全変数を入力し、入力した群を定義する変数を第1の記憶手段に、入力した複数の被検査値を第2の記憶手段に、入力した基準となる位数を第3の記憶手段に、入力した安全変数を第4の記憶手段に、それぞれ記憶するステップ、
b)乱数を発生し、発生した乱数を第5の記憶手段に記憶するステップ、
c)第1の記憶手段から群を定義する変数を、第2の記憶手段から複数の被検査値を、第5の記憶手段から乱数をそれぞれ取得し、乱数の値に基づいて複数の被検査値の中から検査積生成に用いる被検査値を選択し、該選択した被検査値の前記群上での積である検査積を計算して、該計算した検査積を第6の記憶手段に記憶するステップ、
d)前記第1の記憶手段から群を定義する変数を、第3の記憶手段から基準となる位数を、第6の記憶手段から検査積をそれぞれ取得して、検査積の位数が基準となる位数の約数であるかどうかを判定し、判定結果を第7の記憶手段に記憶するステップ、
e)第7の記憶手段から判定結果を取り出し、検査積の位数が基準となる位数の約数でない旨の判定結果であれば検査不合格の旨を出力して処理を終了し、検査積の位数が基準となる位数の約数である旨の判定結果であれば、第4の記憶手段から安全変数を取り出し、予め定められた値以上か否かを判定し、予め定められた値以上でなければ、検査合格の旨を出力して処理を終了し、予め定められた値以上であれば第4の記憶手段に記憶された安全変数を所定値だけ減じてステップbに処理を戻すステップ、
を実行させる位数検査プログラム。A program for inspecting that the order of all of a plurality of inspected values is a divisor of a reference order.
a) A variable defining a group, a plurality of test values which are elements of the group, a standard order and a safety variable are input, and the variables defining the input group are input to a first storage means. Storing the inspected value in the second storage means, the input reference order in the third storage means, and the input safety variable in the fourth storage means.
b) generating a random number and storing the generated random number in a fifth storage unit;
c) A variable defining a group is obtained from the first storage means, a plurality of test values are obtained from the second storage means, and a random number is obtained from the fifth storage means, respectively. A test value to be used for test product generation is selected from the values, a test product which is a product of the selected test value on the group is calculated, and the calculated test product is stored in the sixth storage means. Memorizing step,
d) A variable defining a group is obtained from the first storage means, a reference order is obtained from the third storage means, and a check product is obtained from the sixth storage means. Determining whether the order is a divisor of the order, and storing the determination result in a seventh storage means;
e) The judgment result is taken out from the seventh storage means, and if the judgment result indicates that the order of the inspection product is not a divisor of the reference order, the result of the inspection is rejected and the processing is terminated. If the result of the determination is that the product order is a divisor of the reference order, the safety variable is retrieved from the fourth storage means, and it is determined whether or not the safety variable is equal to or greater than a predetermined value. If the value is not equal to or more than the predetermined value, the inspection is passed and the process is terminated, and if the value is equal to or greater than the predetermined value, the safety variable stored in the fourth storage means is reduced by a predetermined value and the process proceeds to step b. The step of returning,
Order check program to run.
a)群を定義する変数、前記群の要素である複数の被検査値、基準となる位数および安全変数を入力するステップ、
b)入力した群を定義する変数を第1の記憶手段に、入力した複数の被検査値を第2の記憶手段に、入力した基準となる位数を第3の記憶手段に、入力した安全変数を第4の記憶手段に、それぞれ記憶するステップ、
c)乱数を発生するステップ、
d)発生した乱数を第5の記憶手段に記憶するステップ、
e)第1の記憶手段から群を定義する変数を、第2の記憶手段から複数の被検査値を、第5の記憶手段から乱数をそれぞれ取得し、乱数の値に基づいて複数の被検査値の中から検査積生成に用いる被検査値を選択し、該選択した被検査値の前記群上での積である検査積を計算するステップ、
f)計算した検査積を第6の記憶手段に記憶するステップ、
g)前記第1の記憶手段から群を定義する変数を、第3の記憶手段から基準となる位数を、第6の記憶手段から検査積をそれぞれ取得して、検査積の位数が基準となる位数の約数であるかどうかを判定するステップ、
h)判定結果を第7の記憶手段に記憶するステップ、
i)第7の記憶手段から判定結果を取り出し、検査積の位数が基準となる位数の約数でない旨の判定結果であれば、検査不合格の旨を出力して処理を終了し、それ以外は処理を継続するステップ、
j)第4の記憶手段から安全変数を取り出し、予め定められた値以上か否かを判定し、予め定められた値以上でなければ、検査合格の旨を出力して処理を終了し、それ以外は処理を継続するステップ、
k)第4の記憶手段に記憶された安全変数を所定値だけ減じ、ステップcに処理を戻すステップ、
を実行させる位数検査プログラム。A program for inspecting that the order of all of a plurality of inspected values is a divisor of a reference order.
a) inputting a variable defining a group, a plurality of test values which are elements of the group, a reference order and a safety variable;
b) The variables defining the input group are stored in the first storage means, the plurality of test values which are input are stored in the second storage means, and the input reference order is stored in the third storage means. Storing each of the variables in the fourth storage means;
c) generating a random number;
d) storing the generated random number in fifth storage means;
e) A variable defining a group is obtained from the first storage means, a plurality of test values are obtained from the second storage means, and a random number is obtained from the fifth storage means. Selecting a test value to be used for test product generation from the values, and calculating a test product that is a product of the selected test value on the group;
f) storing the calculated check product in a sixth storage means;
g) A variable defining a group is obtained from the first storage means, a reference order is obtained from the third storage means, and a check product is obtained from the sixth storage means. Determining whether the order is a divisor of
h) storing the determination result in a seventh storage means;
i) Retrieving the determination result from the seventh storage means, and if the determination result indicates that the order of the test product is not a divisor of the reference order, outputs a test failure and ends the processing; Otherwise, continue processing,
j) The safety variable is taken out from the fourth storage means, and it is determined whether or not the safety variable is equal to or more than a predetermined value. Steps to continue processing except for
k) reducing the safety variable stored in the fourth storage means by a predetermined value and returning to step c;
Order check program to run.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002176695A JP4122856B2 (en) | 2002-06-18 | 2002-06-18 | Probabilistic simultaneous order inspection method and order inspection program for multiple elements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002176695A JP4122856B2 (en) | 2002-06-18 | 2002-06-18 | Probabilistic simultaneous order inspection method and order inspection program for multiple elements |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004020984A true JP2004020984A (en) | 2004-01-22 |
JP4122856B2 JP4122856B2 (en) | 2008-07-23 |
Family
ID=31174929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002176695A Expired - Lifetime JP4122856B2 (en) | 2002-06-18 | 2002-06-18 | Probabilistic simultaneous order inspection method and order inspection program for multiple elements |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4122856B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171898B2 (en) | 2004-02-19 | 2007-02-06 | Speedline Technologies, Inc. | Method and apparatus for performing operations within a stencil printer |
US9370924B1 (en) | 2015-03-25 | 2016-06-21 | Illinois Tool Works Inc. | Dual action stencil wiper assembly for stencil printer |
US9370925B1 (en) | 2015-03-25 | 2016-06-21 | Illinois Tool Works Inc. | Stencil printer having stencil shuttle assembly |
US9370923B1 (en) | 2015-04-07 | 2016-06-21 | Illinois Tool Works Inc. | Lift tool assembly for stencil printer |
US10703089B2 (en) | 2015-04-07 | 2020-07-07 | Illinois Tool Works Inc. | Edge lock assembly for a stencil printer |
-
2002
- 2002-06-18 JP JP2002176695A patent/JP4122856B2/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171898B2 (en) | 2004-02-19 | 2007-02-06 | Speedline Technologies, Inc. | Method and apparatus for performing operations within a stencil printer |
US9370924B1 (en) | 2015-03-25 | 2016-06-21 | Illinois Tool Works Inc. | Dual action stencil wiper assembly for stencil printer |
US9370925B1 (en) | 2015-03-25 | 2016-06-21 | Illinois Tool Works Inc. | Stencil printer having stencil shuttle assembly |
US9370923B1 (en) | 2015-04-07 | 2016-06-21 | Illinois Tool Works Inc. | Lift tool assembly for stencil printer |
US9868278B2 (en) | 2015-04-07 | 2018-01-16 | Illinois Tool Works Inc. | Lift tool assembly for stencil printer |
US10703089B2 (en) | 2015-04-07 | 2020-07-07 | Illinois Tool Works Inc. | Edge lock assembly for a stencil printer |
Also Published As
Publication number | Publication date |
---|---|
JP4122856B2 (en) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vazirani et al. | Certifiable quantum dice: or, true random number generation secure against quantum adversaries | |
Tauman Kalai et al. | Delegation for bounded space | |
KR20170139067A (en) | Generation of cryptographic function parameters from compact source code | |
US20220360426A1 (en) | Methods for protecting computer hardware from cyber threats | |
Buchmann et al. | Creating cryptographic challenges using multi-party computation: The LWE challenge | |
KR20100113130A (en) | Countermeasure method and devices for asymmetric cryptography | |
US20180034636A1 (en) | Method and system for creating public randomness | |
CN110493201A (en) | A kind of processing method of data, device and system | |
Marquardt et al. | Pseudorandom number generators based on random covers for finite groups | |
JP5526284B2 (en) | Proxy calculation system, method, request apparatus, and program | |
CN113055189B (en) | SM2 digital signature verification failure reason judgment method, device, equipment and medium | |
CN105912834A (en) | An apparatus and method for checking the entropy of a sequence of random numbers | |
JP2004020984A (en) | Method for probabilistic simultaneous order inspection of a plurality of elements and program for order inspecting | |
CN105991289A (en) | Side channel energy analysis method and device of SM3 cipher algorithm | |
CN112532374A (en) | Method for detecting SILC authentication encryption algorithm to resist differential fault attack | |
CN110995438A (en) | Non-interactive zero-knowledge proof method, system and storage medium | |
Raddum et al. | MRHS solver based on linear algebra and exhaustive search | |
Palekha et al. | Cross-platforming web-application of electronic on-line voting system on the elections of any level | |
Gopalakrishnan | A study of Correlation-immune, resilient and related cryptographic functions | |
Bojanova et al. | Randomness classes in bugs framework (bf): True-random number bugs (trn) and pseudo-random number bugs (prn) | |
Chapman | Using Graphic Based Systems to Improve Cryptographic Algorithms | |
Seck et al. | A Side-Channel Attack Against Classic McEliece When Loading the Goppa Polynomial | |
Smart et al. | Investigations of fully homomorphic encryption (ifhe) | |
Metzgar | RSA cryptosystem: an analysis and python simulator | |
Rosén | Experimental Evaluation of Kleptographic Backdoors in LWE-based KEMs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080312 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080408 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080421 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4122856 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140516 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |