JP6067856B2 - 計算装置、計算方法、およびプログラム - Google Patents

計算装置、計算方法、およびプログラム Download PDF

Info

Publication number
JP6067856B2
JP6067856B2 JP2015527238A JP2015527238A JP6067856B2 JP 6067856 B2 JP6067856 B2 JP 6067856B2 JP 2015527238 A JP2015527238 A JP 2015527238A JP 2015527238 A JP2015527238 A JP 2015527238A JP 6067856 B2 JP6067856 B2 JP 6067856B2
Authority
JP
Japan
Prior art keywords
calculation
unit
calculation unit
group
output
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.)
Active
Application number
JP2015527238A
Other languages
English (en)
Other versions
JPWO2015008605A1 (ja
Inventor
鉄太郎 小林
鉄太郎 小林
山本 剛
剛 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of JP6067856B2 publication Critical patent/JP6067856B2/ja
Publication of JPWO2015008605A1 publication Critical patent/JPWO2015008605A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Operations Research (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、暗号技術に関し、特に自己訂正技術に関する。
暗号技術の一つに自己訂正(Self-Correcting)技術がある(例えば、特許文献1,2等参照)。自己訂正技術とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて常に正しい計算を行う(正しい計算結果を出力する計算機を用いた場合に正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合に、正しい計算結果を得るか、または計算できない旨の結果を得る)技術である。例えば、自己訂正技術を用いたクラウド鍵管理型の復号技術では、復号鍵を保持する復号能力提供装置が復号鍵を復号装置に与えることなく、復号装置が暗号文を復号するための情報のみを復号装置に与える。復号装置は、この情報を用いて常に正しい復号演算を行うことができる。
国際公開WO/2011/086992号公報 国際公開WO/2012/057134号公報
しかしながら、特許文献1,2に記載された自己訂正技術は、互いに素である2つの自然数a,bを用い、a’a+b’b=1の関係を満たす整数a’,b’についてub’a’を得るものであり、a,bが互いに素でない場合や、a’,b’がa’a+b’b=1の関係を満たさない場合には利用できなかった。
本発明は、このような点に鑑みてなされたものであり、設定の自由度が高い自己訂正技術を提供することを課題とする。
本発明では、f(x)を計算可能であり、その計算結果をuとし、f(x)を計算可能であり、その計算結果をvとし、計算結果u及びvがua=vを満たす場合に、d=a’a+b’bについての(ub’a’1/dを出力する。
本発明では、d=a’a+b’bについての(ub’a’1/dを得るため、a,bが互いに素でない場合や、a’,b’がa’a+b’b=1の関係を満たさない場合にも利用可能であり、設定の自由度が高い。
図1は、第1実施形態の自己訂正技術を実行する計算装置の構成を例示したブロック図である。 図2は、第1実施形態の自己訂正方法を例示するためのフロー図である。 図3は、第2実施形態の自己訂正技術を実行する計算システムの構成を例示したブロック図である。 図4は、図3の計算装置の構成を例示したブロック図である。 図5は、図3の能力提供装置の構成を例示したブロック図である。 図6は、第2実施形態の計算装置の処理を例示するためのフロー図である。 図7は、第2実施形態の能力提供装置の処理を例示するためのフロー図である。
以下、図面を参照して本発明の実施形態を説明する。
[第一実施形態]
<構成>
図1に例示するように、第一実施形態の計算装置1は、整数選択部112、第一べき乗計算部113、第一リスト記憶部114、判定部115、第二べき乗計算部116、第二リスト記憶部117、制御部118、最終計算部119、第一乱数化可能標本器121、及び第二乱数化可能標本器122を有する。第一実施形態においては、第一乱数化可能標本器121及び第二乱数化可能標本器122が、それぞれ「第一計算部」及び「第二計算部」に対応する。G,Hを群(例えば、巡回群などの有限可換群)、関数f:H→Gを群Hの元xを群Gへ写す関数、群G,Hの生成元をそれぞれμ,μ、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとする。計算装置1は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
<処理>
図2に例示するように、整数選択部112は、整数a,b,a’,b’をランダムに選択する(ステップS101)。整数a,b,a’,b’はどのような範囲から選択されてもよい。a,bは互いに素であってもよいし、互いに素でなくてもよい。例えば、a,bは正の整数である。しかしながら、a,bの少なくとも一方が0であってもよいし、負の整数であってもよい。整数a,bについての情報は、第一べき乗計算部113、第二べき乗計算部116、第一乱数化可能標本器121、及び第二乱数化可能標本器122に送られる。整数a,b,a’,b’についての情報は、最終計算部119に送られる。
制御部118は、t=1とする(ステップS102)。
第一乱数化可能標本器121は、f(x)を計算可能であり、x及びbを用いて計算を行い、その計算結果をuとする(ステップS103)。計算結果uの具体例は後述する。計算結果uは、第一べき乗計算部113に送られる。この出願において、計算可能とは、無視することができない確率以上の確率で正しく計算することができることを意味する。無視することができない確率とは、セキュリティパラメータk(ただし、kは正の自然数)についての広義単調関数である多項式を多項式F(k)として、1/F(k)以上の確率である。広義単調関数の例は、広義単調増加関数(非減少関数)である。ここで、f(x)を計算するとは、f(x)と定義される式の値を計算することである。式f(x)の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。また、この出願では、群で定義された演算を乗法的に表現する。
第一べき乗計算部113は、u’=uを計算する(ステップS104)。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部114に記憶される。
判定部115は、第一リスト記憶部114に記憶された組(u,u’)及び第二リスト記憶部117に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS105)。もし、第二リスト記憶部117に組(v,v’)が記憶されていない場合には、このステップS105の処理を行わずに、次のステップS106の処理を行う。u’=v’となるものがあった場合には、ステップS112に進む。u’=v’となるものがなかった場合には、ステップS106に進む。
第二乱数化可能標本器122は、f(x)を計算可能であり、x及びaを用いて計算を行い、その計算結果をvとする(ステップS106)。計算結果vの具体例は後述する。計算結果vは、第二べき乗計算部116に送られる。第二べき乗計算部116は、v’=vを計算する(ステップS107)。計算結果vとその計算結果に基づいて計算されたv’との組(v,v’)は、第二リスト記憶部117に記憶される。
判定部115は、第一リスト記憶部114に記憶された組(u,u’)及び第二リスト記憶部117に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS108)。u’=v’となるものがあった場合には、ステップS112に進む。u’=v’となるものがなかった場合には、ステップS110に進む。
制御部118は、t=Tであるか判定する(ステップS110)。Tは予め定められた正の自然数である。t=Tであれば、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS111)、処理を終える。計算をすることができなかった旨の情報(この例では記号「⊥」)は、正しく計算を行う信頼性がTで定められる基準を下回るということを意味する。言い換えれば、T回の繰り返しで正しい演算を行うことができなかったということを意味する。t=Tでない場合には、制御部118は、tを1だけインクリメント、すなわちt=t+1として(ステップS109)、ステップS103に戻る。
最終計算部119は、u’=v’であると判定された場合には、d=a’a+b’bを計算し(ステップS112)、そのu’及びv’に対応するu及びv、並びにa’,b’及びdを用い、(ub’a’1/dを計算して出力する(ステップS113)。すなわち、最終計算部119は、d=a’a+b’bを得てdについての(ub’a’1/dを出力する。出力された(ub’a’1/dは(ub’a’1/d=f(x)を満たす。以下にその理由を説明する。
≪(ub’a’1/d=f(x)を満たす理由≫
特許文献1,2で開示されているように、u’=v’が成立するのは、すなわちu=vが成立するのは、第一乱数化可能標本器121がu=f(x)を正しく計算しており、第二乱数化可能標本器122がv=f(x)を正しく計算しており、さらにx及びxが群Gの単位元eである可能性が非常に高い。第一乱数化可能標本器121がu=f(x)を正しく計算しており、第二乱数化可能標本器122がv=f(x)を正しく計算しており、x及びxが群Gの単位元eであるとき、ub’a’=(f(x)b’(f(x)a’=(f(x)b’(f(x)a’=f(x)bb’ b’f(x)aa’ a’=f(x)(a’a+b’b)となる。ここでd=a’a+b’bとするとub’a’=f(x)となるため、(ub’a’1/d=f(x)を満たす。
≪u,vの具体例≫
u,vの例は、特許文献1,2に開示されたu,vである。例えば、u=zν−r1及びv=zν−r2である。ただし、群Hが巡回群、巡回群Hの生成元がμ、r1,r2が0以上のランダムな自然数、ν=f(μ)、τ=μ r1、τ=μ r2であり、或る確率より大きな確率でz=f(τ)であり、或る確率より大きな確率でz=f(τ)である。すなわち、z=f(τ)である場合もあれば、z≠f(τ)である場合もあり、z=f(τ)である場合もあれば、z≠f(τ)である場合もある。すなわち、z,zは、それぞれ、意図的又は意図的ではない誤差を含んだ計算結果f(τ),f(τ)となる。「或る確率」は100%未満であり0%以上の確率である。「或る確率」の例は無視することができない確率である。
或いは、u=z−r4μ −r5及びv=z−r6μ −r7であってもよい。ただし、群Hが群Gの直積群G×G、群Gが巡回群、巡回群Gの生成元がμ、x=(c,c),(V,W)が群Hの元、f(V,W)=Yであり、r4〜r7が0以上の自然数の乱数であり、τ=(c r4,c r4μ r5)であり、τ=(c r6,c r6μ r7)であり、或る確率より大きな確率でz=f(τ)であり、或る確率より大きな確率でz=f(τ)である。
[第一実施形態の変形例]
整数a,bの一方が1などの定数であってもよく、整数a’,b’の少なくとも一方が定数であってもよい。整数a,b,a’,b’の一部を定数とし、一部の処理部やステップが省略されてもよい。例えば、bが定数1である場合には、ステップS101での整数bの選択が不要となり、v’=vとなり、第二べき乗計算部116およびステップS107が不要となる。或いは、dを1以外の定数または乱数とし、ステップS101でd=a’a+b’bを満たす整数a,b,a’,b’が選択され、ステップS112の処理が省略されてもよい。或いは、ステップS101で、整数選択部112が整数a,b,a’,b’の選択とd=a’a+b’bの計算とを行ってもよい。或いは、ステップS102よりも後、ステップS113よりも前の何れかの時点で、整数選択部112がd=a’a+b’bを計算してもよい。これらの場合、ステップS112の処理が省略され、最終計算部119は整数選択部112からdを得る。また、最終計算部119が、d≠0のときに(ub’a’1/dを出力することとしてもよい。d=0の場合にエラー終了することにしてもよいし、d=0の場合にステップS101で整数a,b,a’,b’の少なくとも一部が再選択され、処理がやり直されてもよい。また、演算にa’,b’が必要となる前であれば、どの時点でa’,b’が選択されてもよい。
[第二実施形態]
第二実施形態は、第一実施形態をクラウド型の鍵管理システムに適用した形態である。以下では第一実施形態との相違点を中心に説明し、第一実施形態と共通する事項については説明を省略する。
<構成>
図3に例示するように、第二実施形態の代理計算システム2は、例えば、復号鍵を保持していない計算装置21と復号鍵を保持する能力提供装置22とを有し、計算装置21が能力提供装置22に暗号文の復号能力の提供を依頼し、能力提供装置22から提供された復号能力を用いて暗号文を復号する。計算装置21と能力提供装置22とは情報のやり取りが可能なように構成される。例えば、計算装置21と能力提供装置22とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
図4に例示するように、第二実施形態の計算装置21は、例えば、整数選択部2102と入力情報提供部2104と第一計算部2105と第一べき乗計算部2106と第一リスト記憶部2107と第二計算部2108と第二べき乗計算部2109と第二リスト記憶部2110と判定部2111と最終出力部2112と制御部2113とを有する。計算装置21の例は、カードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれた前述のようなコンピュータなどである。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。
図5に例示するように、第二実施形態の能力提供装置22は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部2204と制御部2205とを有する。能力提供装置22の例は、ICカードやICチップなどの耐タンパ性モジュールや、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれた前述のようなコンピュータなどである。
<処理>
次に本形態の処理を説明する。処理の前提として、G,Hを群(例えば、巡回群などの有限可換群)、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμg,μh、X1,X2を群Gに値を持つ確率変数、確率変数X1の実現値をx1、確率変数X2の実現値をx2とする。計算装置21の各処理は制御部2113の制御のもとで実行され、能力提供装置22の各処理は制御部2205の制御のもとで実行される。
図6に例示するように、まず、計算装置21(図4)の整数選択部2102が、整数a,b,a’,b’をランダムに選択する(ステップS2101)。整数a,bの少なくとも一部の情報は、入力情報提供部2104、第一べき乗計算部2106、および第二べき乗計算部2109に送られる。整数a,b,a’,b’の情報は最終出力部2112に送られる。
制御部2113は、t=1とする(ステップS2102)。
入力情報提供部2104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する(ステップS2103)。好ましくは、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xとの関係をかく乱させた情報である。例えば、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xに対応するが、第一入力情報τ1及び第二入力情報τ2のみから暗号文xを得ることが困難である。「暗号文xを得ることが困難」とは、例えば、多項式時間内に暗号文xを得ることができないことを意味する。これにより、計算装置21は、暗号文xを能力提供装置22に対して隠蔽できる。好ましくは、本形態の第一入力情報τ1は整数選択部2102で選択された整数bにさらに対応し、第二入力情報τ2は整数選択部2102で選択された整数aにさらに対応する。これにより、能力提供装置22から提供された復号能力を計算装置21が高い精度で評価することが可能となる。τ1,τ2の具体例は、第一実施形態で例示した通りである。
図7に例示するように、第一入力情報τ1は能力提供装置22(図5)の第一出力情報計算部2201に入力され、第二入力情報τ2は第二出力情報計算部2202に入力される(ステップS2200)。
第一出力情報計算部2201は、第一入力情報τ1と鍵記憶部2204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とする(ステップS2201)。第二出力情報計算部2202は、第二入力情報τ2と鍵記憶部204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする(ステップS2202)。すなわち、第一出力情報計算部2201や第二出力情報計算部2202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部2201での計算結果がf(τ1)の場合もあればf(τ1)でない場合もあり、第二出力情報計算部2202での計算結果がf(τ2)の場合もあればf(τ2)でない場合もある。
第一出力情報計算部2201は第一出力情報z1を出力し、第二出力情報計算部2202は第二出力情報z2を出力する(ステップS2203)。
図6に戻り、第一出力情報z1は計算装置21(図4)の第一計算部2105に入力され、第二出力情報z2は第二計算部2108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置22から計算装置21に与えられた復号能力に相当する(ステップS2104)。
第一計算部2105は、第一出力情報z1から計算結果u=f(x)b1を生成する。z1=f(τ1)である場合もあれば、f(τ1)でない場合もあり、第一計算部2105は、計算結果u=f(x)b1を生成可能である。z1からuを生成する方法の具体例は、第1実施形態で示した通りである。例えば、τ=μ r1である場合にはu=zν−r1であり、τ=(c r4,c r4μ r5)である場合にはu=z−r4μ −r5である。計算結果uは第一べき乗計算部2106に送られる(ステップS2105)。
第一べき乗計算部2106はu’=uaを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部2107に記憶される(ステップS2106)。
判定部2111は、第一リスト記憶部2107に記憶された組(u,u’)及び第二リスト記憶部2110に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS2107)。もし、第二リスト記憶部2110に組(v,v’)が記憶されていない場合には、このステップS2107の処理を行わずに、次のステップS2108の処理を行う。u’=v’となるものがあった場合には、ステップS2114に進む。u’=v’となるものがなかった場合には、ステップS2108に進む。
ステップS2108では、第二計算部2108が、第二出力情報z2から計算結果v=f(x)a2を生成する。z2=f(τ2)である場合もあれば、f(τ2)でない場合もあり、第計算部210は、計算結果v=f(x)a2を生成可能である。zからvを生成する方法の具体例は、第1実施形態で示した通りである。例えば、τ=μ r2の場合にはv=zν−r2であり、τ=(c r6,c r6μ r7)の場合にはv=z−r6μ −r7である。計算結果vは第二べき乗計算部2109に送られる(ステップS2108)。
第二べき乗計算部2109はv’=vを計算する。計算結果vとその計算結果に基づいて計算されたv’との組(v,v’)は、第二リスト記憶部2110に記憶される(ステップS2109)。
判定部2111は、第一リスト記憶部2107に記憶された組(u,u’)及び第二リスト記憶部2110に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS2110)。u’=v’となるものがあった場合には、ステップS2114に進む。u’=v’となるものがなかった場合には、ステップS2111に進む。
ステップS2111では、制御部2113がt=Tmaxであるか判定する(ステップS2111)。Tmaxは予め定められた自然数である。t=Tmaxであれば、制御部2113は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS2113)、処理を終える。t=Tmaxでない場合には、制御部2113は、tを1だけインクリメント、すなわちt=t+1として(ステップS2112)、ステップS2103に戻る。
ステップS2114では、最終出力部2112が、d=a’a+b’bを計算し(ステップS2114)、そのu’及びv’に対応するu及びv、並びにa’,b’及びdを用い、(ub’a’1/dを計算して出力する(ステップS2115)。すなわち、最終出力部2112は、d=a’a+b’bを得てdについての(ub’a’1/dを出力する。出力された(ub’a’1/dは高い確率で暗号文xの復号結果f(x)となる。また、上述した処理を複数回繰り返し、ステップS2115で得られた値のうち最も頻度の高い値を復号結果としてもよい。
[第二実施形態の変形例]
整数a,bの一方が1などの定数であってもよく、整数a’,b’の少なくとも一方が定数であってもよい。整数a,b,a’,b’の一部を定数とし、一部の処理部やステップが省略されてもよい。例えば、bが定数1である場合には、ステップS2101での整数bの選択が不要となり、v’=vとなり、第二べき乗計算部2109およびステップS2109が不要となる。或いは、dを1以外の定数または乱数とし、ステップS2101でd=a’a+b’bを満たす整数a,b,a’,b’が選択され、ステップS2114の処理が省略されてもよい。或いは、ステップS2101で、整数選択部212が整数a,b,a’,b’の選択とd=a’a+b’bの計算とを行ってもよい。或いは、ステップS2102よりも後、ステップS2115よりも前の何れかの時点で、整数選択部2102がd=a’a+b’bを計算してもよい。これらの場合、ステップS2114の処理が省略され、最終出力部2112は整数選択部2102からdを得る。また、最終出力部2112が、d≠0のときに(ub’a’1/dを出力することとしてもよい。d=0の場合にエラー終了することにしてもよいし、d=0の場合にステップS2101で整数a,b,a’,b’の少なくとも一部が再選択され、処理がやり直されてもよい。また、演算にa’,b’が必要となる前であれば、どの時点でa’,b’が選択されてもよい。
[その他の変形例]
本発明は上述の実施の形態に限定されるものではない。例えば、特許文献2、特開2012−237881、特開2012−220834、特開2012−220814、および特開2012−151756等の各実施形態の自己訂正技術を本発明の自己訂正技術に置換した形態であってもよい。
例えば、第二実施形態において、計算システムがさらに復号制御装置を有してもよい。この復号制御装置は、計算装置の復号処理を制御する復号制御命令を能力提供装置に出力し、能力提供装置は、復号制御命令に従って第一出力情報z1及び第二出力情報z2の両方が出力されるか否かを制御してもよい。さらに計算システムが複数個の能力提供装置を有し、復号制御命令を何れかの能力提供装置に出力し、各能力提供装置は、復号制御命令に従って第一出力情報z1及び第二出力情報z2の両方が出力されるか否かを制御してもよい。
第二実施形態において、計算システムがさらに復号制御装置を有し、Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が群Hιの元である暗号文λιを特定の復号鍵sιで復号して群Gιの元を得るための復号関数、Xι,1,Xι,2が群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι),a’(ι),b’(ι)が整数であり、群Gが群G1、群Hが群H1、暗号文xが暗号文λ1、復号関数f(x)が復号関数f1(λ1)、確率変数X1が確率変数X1,1、確率変数X2が確率変数X1,2、実現値x1が実現値x1,1、実現値x2が実現値x1,2、整数aが整数a(1)、整数bが整数b(1)、整数a’が整数a’(1)、整数b’が整数b’(1)であってもよい。この場合、計算装置は、暗号文λιに対応する、群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を出力し、能力提供装置は、第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1として出力し、第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2として出力する。計算装置は、第一出力情報zι,1から演算結果uι=fι(λιb(ι)ι,1を生成し、第二出力情報zι,2から演算結果vι=fι(λιa(ι)ι,2を生成し、演算結果uι及びvιがuι a(ι)=vι b(ι)を満たす場合に、例えばa’(ι)a(ι)+b’(ι)b(ι)=d(ι)を得て、d(ι)についての(uι b’(ι)ι a’(ι)1/d(ι)を出力する。復号制御装置は、計算装置の復号処理を制御する復号制御命令を能力提供装置に出力し、能力提供装置は、復号制御命令に従って、第一出力情報計算部及び第二出力情報計算部から、第一出力情報zι,1及び第二出力情報zι,2の両方が出力されるか否かを制御する。
また、この場合に、復号制御命令が何れかの復号関数fιに対応し、能力提供装置が復号制御命令に対応する復号関数fιに対応する第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御してもよい。また、計算装置が、さらに最終出力部から出力された各ι=1,・・・,ωについての(uι b’(ι)ι a’(ι)1/d(ι)を用い、各ι=1,・・・,ωについての暗号文λιを復号鍵sιで復号して得られる復号値がすべて得られた場合にのみ復元可能な復元値を生成してもよい。
また、第二実施形態において、計算システムが複数個の計算装置を有し、複数の計算装置が1個の能力提供装置を利用して復号結果を得てもよい。
また第二実施形態では、f(x)が群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数であった。しかしながら、第二実施形態において、群Hの元xを入力として群Gの元を得るその他の関数をf(x)としてもよい。例えば、f(x)が暗号化関数であってもよい。
その他、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。あるいは、計算装置が複数の装置によって構成されてもよいし、能力提供装置が複数の装置によって構成されてもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1,21 計算装置
2 代理計算システム

Claims (4)

  1. G,Hが群であり、fが群Hの元xを群Gへ写す関数であり、X,Xが群Gに値を持つ確率変数であり、確率変数Xの実現値がxであり、確率変数Xの実現値がxであり、a,b,a’,b’が整数であり、
    f(x)を計算可能であり、その計算結果をuとする第一計算部と、
    f(x)を計算可能であり、その計算結果をvとする第二計算部と、
    前記計算結果u及びvがua=vを満たす場合に、d=a’a+b’bについての(ub’a’1/dを出力する最終計算部と、
    を有し、
    d≠1である、計算装置。
  2. 請求項1の計算装置であって、
    前記最終計算部は、d=a’a+b’bを得て(ub’a’1/dを出力する、計算装置。
  3. G,Hが群であり、fが群Hの元xを群Gへ写す関数であり、X,Xが群Gに値を持つ確率変数であり、確率変数Xの実現値がxであり、確率変数Xの実現値がxであり、a,b,a’,b’が整数であり、
    第一計算部で、f(x)を計算可能であり、その計算結果をuとするステップと、
    第二計算部で、f(x)を計算可能であり、その計算結果をvとするステップと、
    前記計算結果u及びvがua=vを満たす場合に、最終計算部でd=a’a+b’bについての(ub’a’1/dを出力するステップと、
    を有し、
    d≠1である、計算方法。
  4. 請求項1または2の計算装置としてコンピュータを機能させるためのプログラム。
JP2015527238A 2013-07-18 2014-06-30 計算装置、計算方法、およびプログラム Active JP6067856B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013149155 2013-07-18
JP2013149155 2013-07-18
PCT/JP2014/067310 WO2015008605A1 (ja) 2013-07-18 2014-06-30 計算装置、計算方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP6067856B2 true JP6067856B2 (ja) 2017-01-25
JPWO2015008605A1 JPWO2015008605A1 (ja) 2017-03-02

Family

ID=52346076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015527238A Active JP6067856B2 (ja) 2013-07-18 2014-06-30 計算装置、計算方法、およびプログラム

Country Status (5)

Country Link
US (1) US9842086B2 (ja)
EP (1) EP3010178B1 (ja)
JP (1) JP6067856B2 (ja)
CN (1) CN105393491B (ja)
WO (1) WO2015008605A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6977882B2 (ja) * 2018-05-25 2021-12-08 日本電信電話株式会社 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
CN112805769B (zh) * 2018-10-04 2023-11-07 日本电信电话株式会社 秘密s型函数计算系统、装置、方法及记录介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100057831A1 (en) * 2008-08-28 2010-03-04 Eric Williamson Systems and methods for promotion of calculations to cloud-based computation resources
WO2012121152A1 (ja) * 2011-03-04 2012-09-13 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
JP2012220834A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム
JP2012220814A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 復号制御システム、復号能力提供装置、復号制御方法、復号能力提供方法、及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2807246B1 (fr) * 2000-03-28 2002-12-27 Gemplus Card Int Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede
JP5379869B2 (ja) 2010-01-12 2013-12-25 日本電信電話株式会社 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
EP2634760A4 (en) 2010-10-26 2017-01-11 Nippon Telegraph And Telephone Corporation Substitution calculation system, calculation apparatus, capability providing apparatus, substitution calculation method, capability providing method, program, and recording medium
JP5506704B2 (ja) 2011-01-20 2014-05-28 日本電信電話株式会社 復号システム、鍵装置、復号方法、及びプログラム
JP5596616B2 (ja) 2011-05-12 2014-09-24 日本電信電話株式会社 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム
JP6006809B2 (ja) * 2013-01-16 2016-10-12 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
US20140211345A1 (en) 2013-01-30 2014-07-31 Eaton Corporation Annunciating or power vending circuit breaker for an electric load

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100057831A1 (en) * 2008-08-28 2010-03-04 Eric Williamson Systems and methods for promotion of calculations to cloud-based computation resources
WO2012121152A1 (ja) * 2011-03-04 2012-09-13 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
JP2012220834A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム
JP2012220814A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 復号制御システム、復号能力提供装置、復号制御方法、復号能力提供方法、及びプログラム

Also Published As

Publication number Publication date
WO2015008605A1 (ja) 2015-01-22
EP3010178B1 (en) 2018-05-09
EP3010178A1 (en) 2016-04-20
CN105393491B (zh) 2019-04-19
US20160170937A1 (en) 2016-06-16
CN105393491A (zh) 2016-03-09
US9842086B2 (en) 2017-12-12
JPWO2015008605A1 (ja) 2017-03-02
EP3010178A4 (en) 2017-02-22

Similar Documents

Publication Publication Date Title
US10333710B2 (en) Method and system for determining desired size of private randomness using Tsallis entropy
EP2787682B1 (en) Key negotiation method and apparatus according to sm2 key exchange protocol
US9172530B2 (en) Apparatus and method for generating secret key for ID-based encryption system and recording medium having program recorded thereon for causing computer to execute the method
CN109388955A (zh) 用于实施加密运算的方法和设备及存储介质
Mauerer et al. A modular framework for randomness extraction based on Trevisan's construction
US20180034636A1 (en) Method and system for creating public randomness
AU2021200062B2 (en) Systems and computer-implemented methods for generating pseudo random numbers
JP2019095635A (ja) 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
CN112865973A (zh) 基于格的加密密钥和数字签名的生成方法
JP6067856B2 (ja) 計算装置、計算方法、およびプログラム
JP6006809B2 (ja) 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
JP2014137474A (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
CN110515591B (zh) 基于区块链的随机数生成方法及装置
CN111931204A (zh) 用于分布式系统的加密去重存储方法、终端设备
JP6273224B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法
CN111949738A (zh) 基于区块链的数据存储去重方法、终端设备和存储介质
EP3675088B1 (en) Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
CN112906059A (zh) 代理签名和验证方法、装置、系统及存储介质
CN114026586A (zh) 用于授予对加密资产的访问权的零知识或有支付协议
CN117118637B (zh) 数据处理方法、装置、设备及计算机可读存储介质
JP6980154B2 (ja) データ利用者鍵生成装置、鍵生成方法及び鍵生成プログラム
CN117251884A (zh) 一种数据验证方法及装置
CN114448623A (zh) 代理签名及验证方法、代理秘钥生成方法、装置和系统
Farahmand Efficient and Secure Implementation of Secret-Key and Post-Quantum Public-Key Cryptography with Applications in Internet of Things, Cloud Computing, and Hardware Security

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161125

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: 20161220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161221

R150 Certificate of patent or registration of utility model

Ref document number: 6067856

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150