JP4565632B2 - 秘密計算方法及びシステム、並びにプログラム - Google Patents
秘密計算方法及びシステム、並びにプログラム Download PDFInfo
- Publication number
- JP4565632B2 JP4565632B2 JP2005016161A JP2005016161A JP4565632B2 JP 4565632 B2 JP4565632 B2 JP 4565632B2 JP 2005016161 A JP2005016161 A JP 2005016161A JP 2005016161 A JP2005016161 A JP 2005016161A JP 4565632 B2 JP4565632 B2 JP 4565632B2
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- verification
- calculation method
- secret calculation
- control device
- 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.)
- Expired - Fee Related
Links
Images
Description
この途中の計算に誤り、ないし虚偽の出力があった場合、その状況を検出してその場で誤りを排除可能である性質は、実用上の効率の観点から重要である。この性質を頑強性と呼ぶことにする。しかしながら、ST04の技術においては、計算の過程の一部で正しくない入出力が行われたとき、計算全体をやり正す必要がある問題がある。すなわち、ST04の技術に基づく秘密計算方式は頑強とはいえない。
Gをある有限群とし、PをGの元とする。Gの位数をpとする。そして秘密鍵x∈{1,…,p}に対してQ=xPとし、(G,p,P,Q)を公開鍵とする。
このとき、平文aを暗号化する暗号関数Eを次のように定義する。
E(a,r)=(A,B)=(P(r+a),Qr)
ここでrは1以上p以下の乱数である。
aとして0または1のいずれかをとり、平文aを暗号化した暗号文を、所定の方式により、それぞれ−1あるいは1の平文[a]に対応する暗号文に変換する。
先ず、暗号文変換装置が制御装置より(G,p,P,Q),E(a,r)(=(A,B)),E(b,s)(=(X,Y))を入力として以下の処理を行う。
1.ランダムビットeおよび1以上p以下の乱数t,uを生成する。
2.以下に従って(A′,B′),(X′,Y′)を求め、それを複数の復号装置に送信する。
次に複数の復号装置が(A″,B″)を入力として分散復号を行い、当該処理結果を制御装置に送信することで、制御装置は(A″,B″)の復号結果[c]∈{−1,1}を得る(このときc=a*eが成り立つ)。一方、(X″,Y″)は平文[b*e]に対する暗号文となる。
1.1以上p以下の乱数wを生成する。
2.以下に従って(C,D)を求める。
(C,D)=(X″[c],Y″[c])
このとき(C,D)は平文[a*b]に対する暗号文となる。最初にE(a,r)からB([a],r)を計算した手続きを逆にこたどることにより、E(a*b,r′)を得ることができる。
第1の実施の形態におけるシステム構成は、図1に示すように、同一のネットワーク100で結ばれた、10の暗号文生成装置1,…,N(Nは適当な自然数)、制御装置20、暗号文変換装置30(1),30(2)、復号装置40(1),40(2)、および検証装置50からなる。ここで復号装置を複数に設定しているのは、復号装置が単一であれば、当該復号装置は入力の数値の暗号文も復号できる権限を持つことになるが、復号装置を複数に設定すれば、分散復号技術を用いて、それら復号装置が結託しない限りは入力の数値を知ることが困難とできるためである。なお、本実施の形態では、簡単に復号装置の数は2としたが、一般に2以上いくつでもよい。暗号文変換装置についても同様であり、その数を増加すればするほど、不正結託による耐性を高めることができるが、ここでは簡単のために2とする。
制御装置20は、有限体および楕円曲線を生成するためのパラメータを与えることで有限体および楕円曲線をそれぞれ一つずつ決定し(S101)、更に当該有限体上で定義された当該楕円曲線の有理点からなる群Gを決定する(S102)。また、Gの元を一つ選び、これをPとする(S103)。次に、Pの位数pを計算する(S104)。そして、(G,p,P)の組を復号装置40(i)(i=1,2)に送信する。
平文a∈{0,1}を暗号化する暗号関数Eは、先に述べたように
E(a,r)=(A,B)=(P(r+a),Qr)
と定義される。ここでrは1以上p以下の乱数である。
1.ランダムビットe1および1以上p以下の乱数t1,u1を生成する(S201)。
2.以下の[数2]に従って暗号文(A′,B′),(X′,Y′)を求め(S202)、当該暗号文(A′,B′),(X′,Y′)を暗号文変換装置30(2)および検証装置50に送信する。
[命題1]
「(A′,B′)=(APt1,BQt1)かつ(X′,Y′)=(XPu1,YQu1)」
または
「(A′,B′)=(A−1Pt1,B−1Qt1)かつ(X′,Y′)=(X−1Pu1,Y−1Qu1)」
であることを証明することが必要十分である。
[命題1′]
「(A′,B′)=(APt1,BQt1)かつ(A′,B′)=(A−1Pt1,B−1Qt1)」
かつ
「(A′,B′)=(APt1,BQt1)または(X′,Y′)=(X−1Pu1,Y−1Qu1)」
かつ
「(X′,Y′)=(XPu1,YQu1)または(A′,B′)=(A−1Pt1,B−1Qt1)」
かつ
「(X′,Y′)=(XPu1,YQu1)または(X′,Y′)=(X−1Pu1,Y−1Qu1)」
[証明1]
「(A′,B′)=(APt1,BQt1)または
(A′,B′)=(A−1Pt1,B−1Qt1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,Q0),(P1,Q1))
←((G,p,P,Q),(A′/A,B′/B),(AA′,BB′/Q))と代入すればよい。
[証明2]
「(A′,B′)=(APt1,BQt1)または
(X′,Y′)=(X−1Pu1,Y−1Qu1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,Q0),(P1,Q1))
←((G,p,P,Q),(A′/A,B′/B),(XX′,YY′))と代入すればよい。
[証明3]
「(X′,Y′)=(XPu1,YQu1)または
(A′,B′)=(A−1Pt1,B−1Qt1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,Q0),(P1,Q1))
←((G,p,P,Q),(X′/X,Y′/Y),(AA′,BB′))と代入すればよい。
[証明4]
「(X′,Y′)=(XPu1,YQu1)または
(X′,Y′)=(X−1Pu1,Y−1Qu1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,Q0),(P1,Q1))
←((G,p,P,Q),(X′/X,Y′/Y),(XX′,YY′))と代入すればよい。
検証装置50が暗号文変換装置30(1)の当該証明事項を受理したなら、暗号文変換装置30(2)は(A′,B′),(X′,Y′)を入力とし、以下の処理を行う。
1.ランダムビットe2および1以上p以下の乱数u2,t2を生成する(S205)。
2.以下の[数4]に従って暗号文を求め(S206)、復号装置40(1),(2)にf(A″,B″)を送信し、検証装置50には(A″,B″),(X″,Y″)送信する。また、(X″,Y″)を制御装置20に送信する。
ここで、当該ゼロ知識証明は、先の[数2]に対する場合と同様であるので省略する。すなわち、先のu1,t1をu2,t2と置き替えるだけでよい。
(C,D)=(X″[c],Y″[c])
第2の実施の形態におけるシステム構成は、第1の実施の形態と同様であり、図1に示すように同一のネットワーク100で結ばれた、暗号文生成装置10(1),…,(N)、制御装置20、暗号文変換装置30(1),(2)、復号装置40(1),(2)、および検証装置50からなる。また、シーケンスも基本的に同様である(図2、図3)。
[プロトコル3]は、
1.Pを底としたP0の離散対数とQを底としたQ0の離散対数が等しい、かつ、Pを底としたQ0′の離散対数とQを底としたQ0′の離散対数が等しい、
または、
2.Pを底としたP1の離散対数とQを底としたQ1の離散対数が等しい、かつ、Pを底としたP1′の離散対数とQを底としたQ1′の離散対数が等しい、
ことをゼロ知識証明技術を用いて証明するプロトコルである。
((G,p,P,Q),(P0,Q0),(P1,Q1),(P0′,Q0′),(P1′,Q1′),(e,t,t′))←((G,p,P,Q),(A′/A,B′/B),(AA′,BB′),(X′/X,Y′/Y),(XX′,YY′),(e1,t1,u1))
と代入すればよい。
入力:(p,(U0,V0)=(P,xiP),(U1,V1)=(A″,xiA″))
証明者の秘密情報:xi
1.証明者は以下に従ってs,zを計算し、それを検証者に送信する。
(a)1以上p以下の乱数rを生成する。
(b)R0=rU0,R1=rU1を計算する。
(c)s=H(U0‖V0‖U1‖V1‖R0‖R1)を計算する。ここでHは汎用一方向性ハッシュ関数とし、“‖”はデータの連結を意味する。
(d)z=r−sxiを計算する。
2.検証者はR0′=zU0+sV0,R1′=zU1+sV1を計算後、s=H(U0‖V0‖U1‖V1‖R0′‖R1′)が成り立つかどうか検証し、成り立つときのみ当該証明事項を受理する。
20 制御装置
30 暗号文変換装置
40 復号装置
50 検証装置
100 ネットワーク
Claims (6)
- ある有限体上で定義された楕円曲線の有理点からなる群をGとし、PをGの元とし、Pの位数をpとし、秘密鍵x∈{1,…,p}に対してQ=xPとし、(G,p,P,Q)を公開鍵とし、
平文a∈{0,1}を暗号化する暗号関数Eが
E(a,r)=(A,B)=(P(r+a),Qr)
と定義され(rは1以上p以下の乱数)、
平文a∈{0,1}を平文[a]∈{−1,1}に対応する暗号文に変換し、暗号文E([a],r),E([b],s)から[a*b]∈{−1,1}(*は排他的論理和を意味するとする。以下、同様)の暗号文を計算する秘密計算方法において、
ネットワークで結ばれた、制御装置、複数の暗号文変換装置、複数の復号装置および検証装置を備え、
第1の暗号文変換装置が制御装置から、E(a,r)(=(A,B))とE(b,s)(=(X,Y))を入力として、ランダムビットe1および1以上p以下の乱数t1,u1を生成し、暗号文(A′,B′),(X′,Y′)を
第2の暗号文変換装置は、暗号文(A′,B′),(X′,Y′)を入力として、ランダムビットe2および1以上p以下の乱数t2,u2を生成し、暗号文(A″,B″),(X″,Y″)を、
複数の復号装置は、(A″,B″)を入力として分散復号を行って、当該処理結果を制御装置に送信し、
制御装置は複数の復号装置の処理結果から復号結果[c]∈{−1,1}を得て、1以上p以下の乱数wを生成し、暗号文(C,D)を
(C,D)=(X″[c],Y″[c])
により計算して、該(C,D)を平文[a*b]に対する暗号文と認識し、
検証装置は、各暗号文変換装置によるゼロ知識証明を検証して、逐次、暗号文変換装置や制御装置に対して検証成功あるいは不成功を送信し、
暗号文変換装置や制御装置は、検証不成功を受信すると、直前の状態に戻して計算を続行せしめることを特徴とする秘密計算方法。 - 請求項1乃至3のいずれか1項に記載の秘密計算方法において、複数組の(Ai,Bi),(Xi,Yi)(i=1,2,…,n)を順次入力して、複数組の[ai*bi]の暗号文をパイプライン形式に順次計算することを特徴とする秘密計算方法。
- ネットワークで結ばれた、一つあるいは複数の暗号文生成装置、制御装置、複数の暗号文変換装置、複数の復号装置および検証装置を具備し、請求項1乃至4のいずれか1項に記載の秘密計算方法を実施することを特徴とする秘密計算システム。
- 請求項1乃至4に記載の秘密計算方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005016161A JP4565632B2 (ja) | 2005-01-24 | 2005-01-24 | 秘密計算方法及びシステム、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005016161A JP4565632B2 (ja) | 2005-01-24 | 2005-01-24 | 秘密計算方法及びシステム、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006203829A JP2006203829A (ja) | 2006-08-03 |
JP4565632B2 true JP4565632B2 (ja) | 2010-10-20 |
Family
ID=36961395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005016161A Expired - Fee Related JP4565632B2 (ja) | 2005-01-24 | 2005-01-24 | 秘密計算方法及びシステム、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4565632B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4565628B2 (ja) * | 2004-11-26 | 2010-10-20 | 日本電信電話株式会社 | 秘密計算方法及びシステム、並びにプログラム |
CN112632636A (zh) * | 2020-12-23 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 一种密文数据比较结果的证明与验证方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006154033A (ja) * | 2004-11-26 | 2006-06-15 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
JP2006201468A (ja) * | 2005-01-20 | 2006-08-03 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
JP2006229929A (ja) * | 2005-01-24 | 2006-08-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
JP2006227563A (ja) * | 2005-01-24 | 2006-08-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
JP2007510947A (ja) * | 2003-11-03 | 2007-04-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多数当事者の効率的な乗算のための方法及び装置 |
-
2005
- 2005-01-24 JP JP2005016161A patent/JP4565632B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007510947A (ja) * | 2003-11-03 | 2007-04-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多数当事者の効率的な乗算のための方法及び装置 |
JP2006154033A (ja) * | 2004-11-26 | 2006-06-15 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
JP2006201468A (ja) * | 2005-01-20 | 2006-08-03 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
JP2006229929A (ja) * | 2005-01-24 | 2006-08-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
JP2006227563A (ja) * | 2005-01-24 | 2006-08-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2006203829A (ja) | 2006-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9509492B2 (en) | Authentication device, output device, verification device and input device | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及系统 | |
Roy et al. | A survey on digital signatures and its applications | |
US9698984B2 (en) | Re-encrypted data verification program, re-encryption apparatus and re-encryption system | |
US20150288527A1 (en) | Verifiable Implicit Certificates | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
JP4835831B2 (ja) | 多数の入力から関数を計算する方法および装置 | |
WO2007105749A1 (ja) | グループ署名システムおよび情報処理方法 | |
KR20210063378A (ko) | 공통 비밀을 공유하는 컴퓨터 구현 시스템 및 방법 | |
JP2007114494A (ja) | 秘匿計算方法及び装置 | |
JP4565631B2 (ja) | 秘密計算方法及びシステム、並びにプログラム | |
JP5171787B2 (ja) | サインクリプションシステムおよびサインクリプション生成方法 | |
JP4650933B2 (ja) | 秘密計算方法及びシステム | |
JP4087719B2 (ja) | 署名暗号方法、その装置およびそのプログラム | |
JP4565632B2 (ja) | 秘密計算方法及びシステム、並びにプログラム | |
JP4565628B2 (ja) | 秘密計算方法及びシステム、並びにプログラム | |
KR101523053B1 (ko) | 래티스 기반 증명가능암호 서명 시스템 및 방법 | |
KR20240045231A (ko) | 디지털 서명 셰어의 생성 | |
CN117917041A (zh) | 生成共享加密密钥 | |
Andreevich et al. | On Using Mersenne Primes in Designing Cryptoschemes | |
JP4748663B2 (ja) | 秘密計算方法及びシステム、並びにプログラム | |
Modares et al. | Make a Secure Connection Using Elliptic Curve Digital Signature | |
CN111885056A (zh) | 基于区块链的零知识证明方法、装置及电子设备 | |
JP5103407B2 (ja) | 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム | |
Doegar et al. | On-demand digital signature schemes using Multivariate Polynomial systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100526 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100706 |
|
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: 20100728 |
|
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: 20100802 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4565632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |