JP6266186B2 - 暗号システム、準同型署名方法及び準同型署名プログラム - Google Patents

暗号システム、準同型署名方法及び準同型署名プログラム Download PDF

Info

Publication number
JP6266186B2
JP6266186B2 JP2017544141A JP2017544141A JP6266186B2 JP 6266186 B2 JP6266186 B2 JP 6266186B2 JP 2017544141 A JP2017544141 A JP 2017544141A JP 2017544141 A JP2017544141 A JP 2017544141A JP 6266186 B2 JP6266186 B2 JP 6266186B2
Authority
JP
Japan
Prior art keywords
signature
key
homomorphic
verification
message
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
Application number
JP2017544141A
Other languages
English (en)
Other versions
JPWO2017061017A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2017061017A1 publication Critical patent/JPWO2017061017A1/ja
Application granted granted Critical
Publication of JP6266186B2 publication Critical patent/JP6266186B2/ja
Expired - Fee Related 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、暗号システム、準同型署名方法及び準同型署名プログラムに関する。
電子署名は、署名者が秘密鍵を用いてメッセージの署名を作成し、検証者が検証鍵を用いて署名とメッセージの組を検証することによって、メッセージに対する改ざんが行われていないことを保証する技術である。メッセージに対する全ての改ざんを検知するために、通常の電子署名では、メッセージに対して署名が生成されると、少しでもメッセージに改変が加えられた場合正しいメッセージであると検証されることは無い。よって署名を作成したメッセージにはいかなる編集も行うことができない。
一方、準同型署名とは、署名が作成されたメッセージに対して、一定の範囲で改変することが可能な、すなわち改変されたメッセージに対する署名を元のメッセージの署名から生成可能な方式のことを指す。メッセージに対して可能な改変の種類によってさまざまな準同型署名方式が提案されている。例えば、メッセージをベクトルとみなした場合に、複数のベクトルの署名から、それらのベクトルの線型和へと改変することが可能な方式について特許文献1および非特許文献1において記されている。また非特許文献2においては、メッセージを集合とみなした場合に、その部分集合へと改変することが可能な方式や、メッセージを文字列とみなした場合に、その部分文字列へと改変することが可能な方式について記されている。
特開2014−158265号公報
B.LIBERT , M.JOYE, M.YUNG 「Linearly homomorphic structure−preserving signatures and their applications」 Advances in Cryptology−CRYPTO 2013、LNCS 8043、289−307ページ、2013年 N. ATTRAPADUNG, B. LIBERT, T.PETERS 「Computing on Authenticated Data : New Privacy Definitions and Constructions」Advances in Cryptology−ASIACRYPT 2012、LNCS 7658、367−385ページ、2012年
準同型署名においては、メッセージに対する可能な改変の種類が多くなることが、多彩な応用を生み出すうえで必要となる。従来の準同型署名のいずれにおいても、改変の種類として文字列の文字位置の交換を実現する方式は存在しない。これは、既存の方式において用いられている数学的な構造と改変方法では、文字列の文字位置交換を署名としての安全性を保ったまま実現する事が困難であったためである。すなわち、従来の準同型署名では、改変の種類として文字列の文字位置の交換を実現することはできないという課題があった。
この発明は、これまでの方式とは異なる数学的構造を用いることによって、署名としての安全性を保ったまま文字列の文字位置の交換を安全に実現することが可能な準同型署名方式の実現を目的とする。
この発明に係る暗号システムは、
署名鍵を用いて、N個(Nは2以上の整数)の文字を含むメッセージについて第1署名を生成する署名生成装置と、
前記第1署名と前記署名鍵とは異なる準同型鍵とを用いて、前記メッセージにおいて位置が異なる2つの文字が入れ替わった改変メッセージの第2署名を生成する準同型演算装置とを備える。
この発明に係る暗号システムによれば、署名と準同型鍵とを用いて、メッセージにおいて位置が異なる2つの文字が入れ替わった改変メッセージの第2署名を生成することができるので、署名としての安全性を保ったまま文字の文字位置の交換を実現する準同型署名方式を提供することができるという効果を奏する。
実施の形態1に係る暗号システム100のシステム構成図。 実施の形態1に係る鍵生成装置101の構成を示す図。 実施の形態1に係る署名生成装置102の構成を示す図。 実施の形態1に係る準同型演算装置103の構成を示す図。 実施の形態1に係る署名検証装置104の構成を示す図。 実施の形態1に係る暗号システム100の準同型署名処理S100及び準同型署名方法500の流れを示すフロー図。 実施の形態1に係る鍵生成処理S101の処理の流れを示すフロー図。 実施の形態1に係る鍵生成アルゴリズムの実行処理である鍵生成アルゴリズム実行処理(ステップS112)のフロー図。 実施の形態1に係る鍵生成アルゴリズムの実行処理である鍵生成アルゴリズム実行処理(ステップS112)のフロー図。 実施の形態1に係る署名生成処理S102の処理の流れを示すフロー図。 実施の形態1に係る署名生成アルゴリズムの実行処理である署名生成アルゴリズム実行処理(ステップS122)のフロー図。 実施の形態1に係る準同型演算処理S103の処理の流れを示すフロー図。 実施の形態1に係る準同型演算アルゴリズムの実行処理である準同型演算アルゴリズム実行処理(ステップS132)のフロー図。 実施の形態1に係る署名検証処理S104の処理の流れを示すフロー図。 実施の形態1に係る署名検証アルゴリズムの実行処理である署名検証アルゴリズム実行処理(ステップS142)のフロー図。 実施の形態1の変形例に係る鍵生成装置101の構成を示す図。 実施の形態1の変形例に係る署名生成装置102の構成を示す図。 実施の形態1の変形例に係る準同型演算装置103の構成を示す図。 実施の形態1の変形例に係る署名検証装置104の構成を示す図。
まず、実施の形態の説明における記法について、以下に説明する。
(1)y←Aは、Aがランダムな変数または分布であるとき、Aの分布に従いAからyを一様ランダムに選択したこと、すなわちyがA上の一様乱数であることを表す。
(2)y:=zは、yがzにより定義された集合であること、またはzが変数yに代入されたことを表す。
(3)Fは、位数qの有限体を示す。
(4)下記の数1は、有限体Fにおけるベクトル表示を表す。
Figure 0006266186
(5)Xは、行列Xの転置行列を表す。
(6)B:=(b,・・・,b),B:=(b ,・・・,b )は、ベクトルb,・・・,bおよびb ,・・・,b からなる基底B、Bをあらわす。
(7)下記の数2は、基底BおよびB上の元の係数ベクトルによる表記を表す。
Figure 0006266186
(8)下記の数3は、有限体F上のN次元ベクトル空間Vを示す。
Figure 0006266186
(9)下記の数4は、空間Vの標準基底A:=(a,・・・,a)のaを表す。
Figure 0006266186
(10)下記の数5は、空間Vにおけるペアリングの定義を示す。
Figure 0006266186
次に、実施の形態の説明における数学的概念について、以下に説明する。
まず、対称双線型ペアリング群について説明する。
対称双線型ペアリング群(q,G,G,g、e)は、素数qと、素数qを位数qとした加法巡回群Gと、位数qの乗法巡回群Gと、g≠0∈Gと、多項式時間で計算可能な非退化双線型ペアリングe:G×G→Gとの組である。非退化双線型ペアリングは、e(sg、tg)=e(g,g)stであり、e(g,g)≠1である。
次に、双対ペアリングベクトル空間について説明する。
双対ペアリングベクトル空間(q,V,G,A,e)は対称双線型ペアリング群(q,G,G,g,e)の直積によって構成することができる。双対ペアリングベクトル空間(q,V,G,A,e)は、素数q、数3に示すF上のN次元ベクトル空間V、位数qの乗法巡回群G、空間Vの標準基底A:=(a,・・・,a)、ペアリングeの組である。aは、数4に示すとおりである。
空間Vにおけるペアリングは、数5によって定義される。これは、非退化双線型である。つまり、e(sx,ty)=e(x,y)stであり、全てのy∈Vに対してe(x,y)=1の場合、x=0である。また、全てのiとjに対して、e(a,a)=e(g,g)δi,jである。ここでi=jであれば、δi,jであり、i≠jであれば、δi,j=0である。また、e(g,g)≠1∈Gである。
なお、本実施の形態では、上述した対称双線型ペアリング群により、双対ペアリングベクトル空間を構成した場合について説明する。なお、非対称双線型ペアリング群により双対ペアリングベクトル空間を構成することも可能である。以下の説明を非対称双線型ペアリング群により双対ペアリングベクトル空間を構成した場合に応用することができる。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る暗号システム100のシステム構成図である。
図1に示すように、暗号システム100は、鍵生成装置101、署名生成装置102、準同型演算装置103、署名検証装置104を備える。
まず、図1を用いて、暗号システム100の各装置の機能の概要について説明する。
鍵生成装置101は、鍵生成パラメータ(1,N)を取得し、鍵生成アルゴリズムを実行し、検証鍵vkと署名鍵skと準同型鍵hkとを生成する。
ここで、暗号システム100における方式の安全性を保つために、署名鍵skは署名の生成の実行を許可されたユーザあるいは装置にのみに渡される。また、準同型鍵hkは準同型演算の実行を許可されたユーザあるいは装置にのみに渡される。署名鍵skと準同型鍵hkとは、上記以外の許可されていないユーザあるいは装置に対しては秘匿される秘密鍵である。検証鍵vkは公開鍵である。
署名生成装置102は、鍵生成装置101から署名鍵skを取得し、入力装置からメッセージmを取得する。署名生成装置102は、取得した署名鍵sk及びメッセージmとに基づいて、署名生成アルゴリズムを実行して、第1署名σを出力する。
準同型演算装置103は、鍵生成装置101から準同型鍵hkを取得し、署名生成装置102から第1署名σを取得し、入力装置からパラメータjを取得する。準同型演算装置103は、取得した準同型鍵hkと、第1署名σと、パラメータjとに基づいて、準同型演算アルゴリズムを実行して第2署名σ’を出力する。第2署名σ’は、準同型演算アルゴリズムを実行した後の署名であり、演算後署名ともいう。
署名検証装置104は、鍵生成装置101から検証鍵vkを取得すると共に検証署名vσを取得し、署名検証アルゴリズムを実行して検証署名vσの検証結果rを出力する。ここで、検証署名vσは、第1署名σあるいは第2署名σ’である。
<鍵生成装置101の構成>
図2は、本実施の形態に係る鍵生成装置101の構成を示す図である。
鍵生成装置101は、鍵生成パラメータ受信部301と、鍵生成部302と、鍵送信部303とを有する。
鍵生成装置101は、コンピュータである。鍵生成装置101における鍵生成パラメータ受信部301と、鍵生成部302と、鍵送信部303との機能を、鍵生成装置101の「部」の機能ともいう。鍵生成装置101の「部」の機能は、ソフトウェアで実現される。鍵生成装置101は、プロセッサ901a、記憶装置902a、入力装置903a、出力装置904aといったハードウェアを備える。
<署名生成装置102の構成>
図3は、本実施の形態に係る署名生成装置102の構成を示す図である。
署名生成装置102は、署名鍵受信部304と、メッセージ受信部305と、署名生成部306と、署名送信部307とを有する。
署名生成装置102は、コンピュータである。署名生成装置102における署名鍵受信部304と、メッセージ受信部305と、署名生成部306と、署名送信部307との機能を、署名生成装置102の「部」の機能ともいう。署名生成装置102の「部」の機能は、ソフトウェアで実現される。署名生成装置102は、プロセッサ901b、記憶装置902b、入力装置903b、出力装置904bといったハードウェアを備える。
<準同型演算装置103の構成>
図4は、本実施の形態に係る準同型演算装置103の構成を示す図である。
準同型演算装置103は、準同型鍵受信部308と、パラメータ受信部309と、署名受信部310と、準同型演算部311と、第2署名送信部312とを有する。
準同型演算装置103は、コンピュータである。準同型演算装置103における準同型鍵受信部308と、パラメータ受信部309と、署名受信部310と、準同型演算部311と、第2署名送信部312との機能を、準同型演算装置103の「部」の機能ともいう。準同型演算装置103の「部」の機能は、ソフトウェアで実現される。準同型演算装置103は、プロセッサ901c、記憶装置902c、入力装置903c、出力装置904cといったハードウェアを備える。
<署名検証装置104の構成>
図5は、本実施の形態に係る署名検証装置104の構成を示す図である。
署名検証装置104は、検証鍵受信部313と、署名受信部314と、署名検証部315と、検証結果送信部316とを有する。
署名検証装置104は、コンピュータである。署名検証装置104における検証鍵受信部313と、署名受信部314と、署名検証部315と、検証結果送信部316との機能を、署名検証装置104の「部」の機能ともいう。署名検証装置104の「部」の機能は、ソフトウェアで実現される。署名検証装置104は、プロセッサ901d、記憶装置902d、入力装置903d、出力装置904dといったハードウェアを備える。
ここで、図2から図5を用いて、暗号システム100が備える各装置のハードウェアについて説明する。以下の説明では、プロセッサ901a,901b,901c,901dを総称してプロセッサ901として説明する。記憶装置902、入力装置903、出力装置904についても同様とする。また、鍵生成装置101と署名生成装置102と準同型演算装置103と署名検証装置104との各装置を、暗号システム100の各装置ともいう。
暗号システム100の各装置は、プロセッサ901、記憶装置902、入力装置903、出力装置904といったハードウェアを備える。プロセッサ901は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ901は、プロセッシングを行うIC(Integrated・Circuit)である。プロセッサ901は、具体的には、CPU(Central・Processing・Unit)である。
記憶装置902は、補助記憶装置及びメモリを含む。補助記憶装置は、具体的には、ROM(Read・Only・Memory)、フラッシュメモリ、又は、HDD(Hard・Disk・Drive)である。メモリは、具体的には、RAM(Random・Access・Memory)である。
入力装置903の具体例としては、マウス、キーボード、又は、タッチパネルがある。
出力装置904の具体例としては、ディスプレイがある。ディスプレイは、具体的には、LCD(Liquid・Crystal・Display)である。
暗号システム100の各装置は、通信装置を備えていてもよい。通信装置は、データを受信するレシーバ及びデータを送信するトランスミッタを含む。通信装置は、具体的には、通信チップ又はNIC(Network・Interface・Card)である。入力装置903及び出力装置904として、通信装置を用いてもよい。
補助記憶装置には、「部」の機能を実現するプログラムが記憶されている。このプログラムは、メモリにロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。補助記憶装置には、OS(Operating・System)も記憶されている。OSの少なくとも一部がメモリにロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
暗号システム100の各装置は、1つのプロセッサ901のみを備えていてもよいし、複数のプロセッサ901を備えていてもよい。複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
「部」の処理の結果を示す情報、データ、信号値、及び、変数値は、補助記憶装置、メモリ、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital・Versatile・Disc)等の可搬記録媒体に記憶されてもよい。
なお、準同型署名プログラム510は、暗号システム100の各装置の「部」として説明している機能を実現するプログラムである。また、準同型署名プログラムプロダクトと称されるものは、「部」として説明している機能を実現するプログラムが記録された記憶媒体及び記憶装置であり、見た目の形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。
***動作の説明***
<暗号システム100の準同型署名処理S100及び準同型署名方法500>
図6は、本実施の形態に係る暗号システム100の準同型署名処理S100及び準同型署名方法500の流れを示すフロー図である。
鍵生成処理S101において、鍵生成装置101は、入力装置903aにより鍵生成パラメータ(1,N)を取得し、検証鍵vkと署名鍵skと準同型鍵hkとを生成する。
署名生成処理S102において、署名生成装置102は、入力装置903bにより署名鍵skとN個の文字を含むメッセージmとを取得し、メッセージmの第1署名σを生成する。
準同型演算処理S103において、準同型演算装置103は、入力装置903cによりパラメータjと第1署名σと署名鍵skとは異なる準同型鍵hkとを取得する。準同型演算装置103は、パラメータjと第1署名σと準同型鍵hkと用いて、メッセージmのj番目の文字とj+1番目の文字とが入れ替わった改変メッセージの第2署名σ’を生成する。
署名検証処理S104において、署名検証装置104は、入力装置903dにより検証鍵vkと第1署名σあるいは第2署名σ’である検証署名vσとを取得し、検証署名vσを検証し、検証結果rを出力する。
<鍵生成装置101の動作>
図7は、本実施の形態に係る鍵生成処理S101の処理の流れを示すフロー図である。
ステップS111において、鍵生成パラメータ受信部301は、キーボードあるいは通信装置などの入力装置903aを用いて鍵生成パラメータ(1,N)を受信する。kは、生成される鍵の強度を示すセキュリティパラメータである。鍵生成パラメータ受信部301は、受信した鍵生成パラメータ(1,N)を記憶装置902aに書き込む。ステップS111は鍵生成パラメータ受信処理である。
ステップS112において、鍵生成部302は、記憶装置902aに書き込まれた鍵生成パラメータ(1,N)に基づいて、鍵生成アルゴリズムを実行する。鍵生成部302は、鍵生成アルゴリズムを実行し、検証鍵vkと署名鍵skと準同型鍵hkとを生成する。鍵生成部302は、生成した検証鍵vkと署名鍵skと準同型鍵hkとを記憶装置902aに書き込む。ステップS112は鍵生成アルゴリズム実行処理である。
ステップS113において、鍵送信部303は、通信装置などの出力装置904aを用いて、検証鍵vkを公開し、署名鍵skを署名生成装置102に送信し、準同型鍵hkを準同型演算装置103に送信する。鍵生成装置101は、署名鍵skを署名生成装置102に安全な通信路を用いて送信し、準同型鍵hkを準同型演算装置103に安全な通信路を用いて送信する。ステップS113は鍵送信処理ともいう。
図8及び図9は、本実施の形態に係る鍵生成アルゴリズムの実行処理である鍵生成アルゴリズム実行処理(ステップS112)のフロー図である。
ここで、鍵生成パラメータ受信部301が受信した鍵生成パラメータ(1、N)は、生成される鍵の強度を示すセキュリティパラメータkと、署名を生成するメッセージの文字列長を表す自然数Nとからなる。
ステップS401において、鍵生成部302は、セキュリティパラメータkに基づき、対称双線型ペアリング群のパラメータPとして、位数qと、位数qの加法巡回群G及び乗法巡回群Gと、加法巡回群Gの生成元gと、ペアリングeとを決定する。ここで、位数q、群G、群Gと生成元gは、ペアリングに適したBN曲線などの楕円曲線を生成する既存のアルゴリズムよって生成される。ペアリングeは、optimal ateペアリングなどの既存のペアリング演算アルゴリズムを選択することで決定される。
ステップS402において、鍵生成部302は、対称双線型ペアリング群のパラメータPに基づき、双対ペアリングベクトル空間のパラメータPを決定する。パラメータPは、位数q、5次元ベクトル空間V、7次元ベクトル空間V、位数qの乗法巡回群G、Vの標準基底A、Vの標準基底A、ペアリングeの組である。鍵生成部302は、パラメータPを対称双線型ペアリング群の直積とその上のペアリングとして決定する。
ステップS403において、鍵生成部302は、乱数ψを生成する。
ステップS404において、鍵生成部302は、行列式が0でないF上のランダム行列であるXとXを生成する。Xの大きさは、5×5、Xの大きさは7×7である。
ステップS405において、鍵生成部302は、(γ i,j):=ψ・(X −1と(γ i,j):=ψ・(X −1とを生成する。
ステップS406において、鍵生成部302は、標準基底Aから基底Bを生成し、標準基底Aから基底Bを生成する。
ステップS407において、鍵生成部302は、(γ i,j)に基づき標準基底Aから基底B を生成し、(γ i,j)に基づき標準基底Aから基底B を生成する。
ステップS404からステップS407において、Xと基底Bと基底B を求める式においてはiは1から5の整数であり、Xと基底Bと基底B を求める式においてはiは1から7の整数である。
ステップS408において、鍵生成部302は、g:=e(g,g)ψを生成する。
ステップS409において、鍵生成部302は、行列式が0でないF上のランダム行列をN−1個の変換行列W,・・・,WN−1として生成する。生成される変換行列W,・・・,WN−1の大きさは7×7である。ステップS409において、Wのiは1からN−1の整数である。
ステップS410において、鍵生成部302は、基底Bと基底B と変換行列W,・・・,WN−1とに基づき、基底B,B,・・・,Bと基底B ,B ,・・・,B を生成する。
以上のように、鍵生成部302は、双対ペアリングベクトル空間の基底B,・・・,Bと基底B ,・・・,B とを生成する。基底B,・・・,Bでは、B以降の基底がN−1個の変換行列W,・・・,WN−1を用いて生成される。また、基底B ,・・・,B では、B 以降の基底がN−1個の変換行列W,・・・,WN−1を用いて生成される。
ステップS410において、iは1からN−1の整数であり、jは1から7の整数である。
ステップS411において、鍵生成部302は、基底B,・・・,Bから部分基底B ,・・・,B を設定する。
ステップS412において、鍵生成部302は、基底B ,・・・,B から部分基底B ^*,・・・,B ^*を設定する。
ステップS411及びステップS412において、iは1からNの整数である。
ステップS413において、鍵生成部302は、双対ペアリングベクトル空間の基底B,・・・,Bの部分集合を含む検証鍵vkを生成する。具体的には、鍵生成部302は、対称双線型ペアリング群のパラメータP、双対ペアリングベクトル空間のパラメータP、基底B,・・・,Bの各基底の部分集合B、基底B ,・・・,B の各基底の部分集合B^*を含む検証鍵vkを生成する。
また、鍵生成部302は、基底B ,・・・,B の各基底の部分集合を含む署名鍵skを生成する。具体的には、鍵生成部302は、b 0*と検証鍵vkとを含む署名鍵skを生成する。
また、鍵生成部302は、変換行列W,・・・,WN−1と基底B ,・・・,B の各基底の部分集合とを含む準同型鍵hk={hk,・・・,hkN−1}を設定する。具体的には、鍵生成部302は、変換行列W,・・・,WN−1と検証鍵vkとを含む準同型鍵hk={hk,・・・,hkN−1}を生成する。
以上のように、鍵生成部302は、セキュリティパラメータkと署名を生成するメッセージの文字列長を表す自然数Nの組からなる鍵生成パラメータを入力とする。鍵生成部302は、対称双線型ペアリング群のパラメータを生成し、双対ペアリングベクトル空間のパラメータを生成し、ランダム行列の組を生成し、ランダム行列の組から双対ペアリングベクトル空間の基底の組を生成する。そして、鍵生成部302は、ランダム行列の組と双対ペアリング空間の基底の組の部分集合と双線型ペアリング群のパラメータと双対ペアリングベクトル空間のパラメータからなる検証鍵vkと、双対ペアリング空間の基底の要素と検証鍵vkからなる署名鍵skと、ランダム行列の組と検証鍵vkからなる準同型鍵hkを構成する。
<署名生成装置102の動作>
図10は、本実施の形態に係る署名生成処理S102の処理の流れを示すフロー図である。
ステップS121において、署名鍵受信部304は、通信装置などの入力装置903bを用いて署名鍵skを受信する。メッセージ受信部305は、キーボードあるいは通信装置などの入力装置903bを用いてメッセージmを受信する。署名鍵skとメッセージmとは、記憶装置902bに書き込まれる。ステップS121は署名鍵受信処理及びメッセージ受信処理である。
ステップS122において、署名生成部306は、記憶装置902bに書き込まれた署名鍵skとメッセージmとに基づいて、署名生成アルゴリズムを実行し第1署名σを生成する。署名生成部306は、生成した第1署名σを記憶装置902bに書き込む。ステップS122は署名生成アルゴリズム実行処理である。
ステップS123において、署名送信部307は、記憶装置902bに書き込まれた第1署名σを通信装置などの出力装置904bを用いて、準同型演算装置103あるいは署名検証装置104に送信する。署名検証装置104に送信する場合は、署名送信部307は、第1署名σを検証の対象となる検証署名vσとして署名検証装置104に送信する。ステップS123は署名送信処理である。
図11は、本実施の形態に係る署名生成アルゴリズムの実行処理である署名生成アルゴリズム実行処理(ステップS122)のフロー図である。
ここで、署名生成部306は、署名鍵受信部304が受信した署名鍵skと、メッセージ受信部305が受信したメッセージmとを署名生成アルゴリズム実行処理に入力する。メッセージmは、F上の長さNのベクトルからなる。
ステップS414において、署名生成部306は、乱数δ,・・・,δと、乱数ηと、乱数η1,1,・・・,η1,Nと、乱数η2,1,・・・,η2,Nと、乱数θ,・・・,θとを生成する。
ステップS415において、署名生成部306は、双対ペアリングベクトル空間上の元σ,・・・,σを、ステップS414において生成した乱数と基底B ・・・,B とを用いて生成する。署名生成部306は、署名鍵skに含まれる基底B ,・・・,B の各基底の部分集合とメッセージm(m,・・・,m)とを用いて、双対ペアリングベクトル空間の元であってメッセージmに含まれる各文字mを含む元の組σ,σ,・・・,σを生成する。
ステップS416において、署名生成部306は、生成した元の組σ,σ,・・・,σを含む第1署名σを生成する。ここでは、署名生成部306は、メッセージm,・・・,mと生成した元の組σ,σ,・・・,σとを含む第1署名σを生成して出力する。
<準同型演算装置103の動作>
図12は、本実施の形態に係る準同型演算処理S103の処理の流れを示すフロー図である。
準同型演算装置103の準同型演算処理S103は、第1署名σと署名鍵skとは異なる準同型鍵hkとを用いて、メッセージmにおいて位置が異なる2つの文字が入れ替わった改変メッセージの第2署名σ’を生成する。
ステップS131において、準同型鍵受信部308は、通信装置などの入力装置903cを用いて準同型鍵hkを受信する。パラメータ受信部309は、キーボードあるいは通信装置などの入力装置903cを用いてパラメータjを受信する。署名受信部310は、通信装置などの入力装置903cを用いて、第1署名σを受信する。準同型鍵受信部308が受信した準同型鍵hkとパラメータ受信部309が受信したパラメータjと署名受信部310が受信した第1署名σとは、記憶装置902cに書き込まれる。ステップS131は準同型鍵受信処理、パラメータ受信処理及び署名受信処理である。
ステップS132において、準同型演算部311は、記憶装置902cに書き込まれた準同型鍵hkとパラメータjと第1署名σとに基づいて、準同型演算アルゴリズムを実行する。準同型演算部311は、準同型演算アルゴリズムを実行し、第2署名σ’を生成する。準同型演算部311は、生成した第2署名σ’を記憶装置902cに書き込む。ステップS132は準同型演算アルゴリズム実行処理である。
ステップS133において、第2署名送信部312は、記憶装置902cに書き込まれた第2署名σ’を通信装置などの出力装置904cを用いて、署名検証装置104に送信する。このとき、第2署名送信部312は、第2署名σ’を検証の対象となる検証署名vσとして署名検証装置104に送信する。あるいは、さらにメッセージmの文字位置を入れ替える場合には、第2署名送信部312は、第2署名送信部312を含む準同型演算装置103に第2署名σ’を再度送信する。ステップS133は第2署名送信処理である。
図13は、本実施の形態に係る準同型演算アルゴリズムの実行処理である準同型演算アルゴリズム実行処理(ステップS132)のフロー図である。
ここで、準同型演算部311は、準同型鍵受信部308が受信した準同型鍵hkとパラメータ受信部309が受信したパラメータjと署名受信部310が受信した第1署名σを準同型演算アルゴリズム実行処理に入力する。パラメータjは1以上かつN−1以下の整数である。パラメータjは、メッセージm(m,・・・,m)において、J番目のmとJ+1番目のmj+1とを入れ替えることを意味する。すなわち、パラメータjは、一つ右の文字と文字位置を交換する文字の位置を表す整数である。
ステップS417において、準同型演算部311は、第1署名σの要素σとσj+1、及び準同型鍵hkに含まれるWを用いて、σ とσj+1 とを生成する。準同型演算部311は、準同型鍵hkに含まれる変換行列W,・・・,WN−1のうちパラメータjの値であるj番目の変換行列Wを用いて第1署名σに含まれる元の組σ,・・・,σにおいてj番目のσとj+1番目のσj+1とを入れ替える。このように準同型演算部311がσ とσj+1 とを生成することにより、メッセージmのj番目の文字に対して付けられた第1署名σの要素と、メッセージmのj+1番目の文字に対して付けられた第1署名σの要素とを入れ替えることで文字の位置の入れ替えを実現している。ここで、第1署名σにおいてσとσj+1とが入れ替わったものを入替署名cσともいう。
ステップS418において、準同型演算部311は、乱数δ’,・・・,δ’と、乱数η’と、乱数η’1,1,・・・,η’1,Nと、乱数η’2,1,・・・,η’2,Nと、乱数θ’,・・・,θ’とを生成する。
ステップS419において、準同型演算部311は、準同型鍵hkに含まれる基底B ,・・・,B の各基底の部分集合を用いて、双対ペアリングベクトル空間から元τ,・・・,τを生成する。準同型演算部311は、基底B ,・・・,B の各基底の部分集合とメッセージm(m,・・・,m)とを用いて、メッセージmに含まれる各文字mから各元τ,・・・,τを生成する。
ステップS420において、準同型演算部311は、入替署名cσ(σ,・・・,σj−1,σ ,σj+1 ,σj+2,・・・,σ)と、双対ペアリングベクトル空間の元τ(τ,・・・,τ)との積を用いて、双対ペアリングベクトル空間の元σ’,・・・σ’を生成する。準同型演算部311は、入替署名cσ(σ,・・・,σj−1,σ ,σj+1 ,σj+2,・・・,σ)と、j番目の元とj+1番目の元とを入れ替えた元(τ,・・・,τj−1,τj+1,τ,τj+2,・・・,τ)との積を用いて、元σ’,・・・σ’を生成する。
ステップS421において、準同型演算部311は、生成した元σ’,・・・σ’を含む第2署名σ’を生成する。ここでは、準同型演算部311は、j番目の文字とj+1番目の文字とを入れ替えた改変メッセージm,・・・,mj−1,mj+1,m,mj+2,・・・,mと、生成した元σ’,・・・σ’とを含む第2署名σ’を生成して出力する。すなわち、準同型演算部311は、入替署名cσと元τとを用いて第2署名σ’を生成する。
<署名検証装置104の動作>
図14は、本実施の形態に係る署名検証処理S104の処理の流れを示すフロー図である。
署名検証処理S104では、署名検証装置104は、第2署名σ’を検証署名vσとして取得し、検証鍵vkを用いて、検証署名vσを検証する。あるいは、署名検証装置104は、第1署名σを検証署名vσとして取得し、検証鍵vkを用いて、検証署名vσを検証する。
ステップS141において、検証鍵受信部313は、通信装置などの入力装置903dを用いて、検証鍵vkを受信する。署名受信部314は、通信装置などの入力装置903dを用いて検証署名vσを受信する。検証鍵vkと検証署名vσとは、記憶装置902dに書き込まれる。検証署名vσは、第1署名σあるいは第2署名σ’であるが、どちらの署名であっても同様の署名検証処理S104で検証することができる。ここでは、検証署名vσが第1署名σであるものとして説明する。ステップS141は検証鍵受信処理及び署名受信処理である。
ステップS142において、署名検証部315は、記憶装置902dに書き込まれた検証鍵vkと検証署名vσとに基づいて、署名検証アルゴリズムを実行し検証結果rとして0または1を出力する。0または1の検証結果rは、記憶装置902dに書き込まれる。ステップS142は、署名検証アルゴリズム実行処理である。
ステップS143において、検証結果送信部316は、記憶装置902dに書き込まれた検証結果rを通信装置あるいは表示装置などの出力装置904dを用いて出力する。ステップS143は、検証結果送信処理である。
図15は、本実施の形態に係る署名検証アルゴリズムの実行処理である署名検証アルゴリズム実行処理(ステップS142)のフロー図である。
ここで、署名検証部315は、検証鍵受信部313が受信した検証鍵vkと署名受信部314が受信した検証署名vσを署名検証アルゴリズムに入力する。
ステップS422において、署名検証部315は、乱数λと、乱数ωと、乱数φ,・・・,φとを生成する。
ステップS423において、署名検証部315は、検証鍵vkに含まれる基底B,・・・,Bを用いて双対ペアリングベクトル空間の元c,・・・,cを生成する。ステップS423において、iは1からNの整数である。
ステップS424において、署名検証部315は、検証署名vσの要素σ,・・・,σと元c,・・・,cからζを生成する。署名検証部315は、元c,・・・,cと検証署名vσとのペアリング演算を実行し、ペアリング演算の演算結果ζを生成する。
ステップS425において、署名検証部315は、乱数λと生成元gからζ’を生成する。
ステップS426において、署名検証部315は、ペアリング演算の演算結果ζと、乱数λと元gから生成されたζ’とに基づいて、検証署名vσを検証する。署名検証部315は、ζとζ’を比較し、等しい場合は検証結果rとして1を出力し、それ以外の場合は検証結果rとして0を出力する。
以上で、本実施の形態に係る暗号システム100の準同型署名処理S100及び準同型署名方法500についての説明を終わる。
***本実施の形態の効果の説明***
以上のように、本実施の形態に係る暗号システムによれば、これまでの方式とは異なる数学的構造を用いることによって文字列の文字位置の交換を安全に実現することができる。
また、本実施の形態に係る暗号システムによれば、改変を施すものと改変可能な範囲を専用の準同型鍵によって制御することができる。
***他の構成***
本実施の形態では、暗号システム100の各装置の機能がソフトウェアで実現されるが、変形例として、暗号システム100の各装置の機能がハードウェアで実現されてもよい。
この本実施の形態の変形例について、図16から図19を用いて説明する。
図16は、本実施の形態の変形例に係る鍵生成装置101の構成を示す図である。
図17は、本実施の形態の変形例に係る署名生成装置102の構成を示す図である。
図18は、本実施の形態の変形例に係る準同型演算装置103の構成を示す図である。
図19は、本実施の形態の変形例に係る署名検証装置104の構成を示す図である。
図16に示すように、鍵生成装置101は、処理回路909a、入力装置903a、出力装置904aといったハードウェアを備える。
図17に示すように、署名生成装置102は、処理回路909b、入力装置903b、出力装置904bといったハードウェアを備える。
図18に示すように、準同型演算装置103は、処理回路909c、入力装置903c、出力装置904cといったハードウェアを備える。
図19に示すように、署名検証装置104は、処理回路909d、入力装置903d、出力装置904dといったハードウェアを備える。
以下の説明では、処理回路909a,909b,909c,909dを総称して処理回路909として説明する。入力装置903、出力装置904についても同様とする。
処理回路909は、前述した「部」の機能を実現する専用の電子回路である。処理回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、又は、FPGA(Field−Programmable・Gate・Array)である。
「部」の機能は、1つの処理回路909で実現されてもよいし、複数の処理回路909に分散して実現されてもよい。
別の変形例として、暗号システム100の各装置の機能がソフトウェアとハードウェアとの組み合わせで実現されてもよい。即ち、暗号システム100の各装置の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
プロセッサ901、記憶装置902、及び、処理回路909を、総称して「プロセッシングサーキットリ」という。つまり、暗号システム100の各装置の構成が図2から図5及び図16から図19のいずれに示した構成であっても、「部」の機能は、プロセッシングサーキットリにより実現される。
「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。
また、本実施の形態では、暗号システム100は、鍵生成装置101、署名生成装置102、準同型演算装置103、署名検証装置104を備え、各装置が1つのコンピュータである場合について説明した。しかし、例えば、鍵生成装置101と署名生成装置102とが1つのコンピュータであってもよい。また、署名生成装置102と準同型演算装置103とが1つのコンピュータであってもよい。また、全ての装置が1つのコンピュータで実現されていても構わない。
また、本実施の形態では、第1署名σ及び第2署名σ’は、メッセージを含む形態であったが、メッセージに対して第1署名σあるいは第2署名σ’を添付する構成でもよい。
以上、本発明の実施の形態について説明したが、この実施の形態を部分的に実施しても構わない。具体的には、この実施の形態の説明において「部」として説明するもののうち、いずれか1つのみを採用してもよいし、いくつかの任意の組み合わせを採用してもよい。なお、本発明は、この実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
100 暗号システム、101 鍵生成装置、102 署名生成装置、103 準同型演算装置、104 署名検証装置、301 鍵生成パラメータ受信部、302 鍵生成部、303 鍵送信部、304 署名鍵受信部、305 メッセージ受信部、306 署名生成部、307 署名送信部、308 準同型鍵受信部、309 パラメータ受信部、310 署名受信部、311 準同型演算部、312 第2署名送信部、313 検証鍵受信部、314 署名受信部、315 署名検証部、316 検証結果送信部、500 準同型署名方法、510 準同型署名プログラム、901,901a,901b,901c,901d プロセッサ、902,902a,902b,902c,902d 記憶装置、903,903a,903b,903c,903d 入力装置、904,904a,904b,904c,904d 出力装置、909,909a,909b,909c,909d 処理回路、S100 準同型署名処理、S101 鍵生成処理、S102 署名生成処理、S103 準同型演算処理、S104 署名検証処理、sk 署名鍵、hk 準同型鍵、vk 検証鍵、σ 第1署名、σ’ 第2署名、cσ 入替署名、r 検証結果、m メッセージ、vσ 検証署名。

Claims (7)

  1. 双対ペアリングベクトル空間の基底B ,・・・,B (Nは2以上の整数)であって基底B ,・・・,B のうちB 以降の基底がN−1個の変換行列W ,・・・,W N−1 を用いて生成された基底B ,・・・,B を用いて、前記基底B ,・・・,B の各基底の部分集合を含む署名鍵を生成する鍵生成装置と、
    前記署名鍵を用いて、N個の文字を含むメッセージについて第1署名を生成する署名生成装置であって、前記署名鍵に含まれる前記基底B ,・・・,B の各基底の部分集合と前記メッセージとを用いて、双対ペアリングベクトル空間の元であって前記メッセージに含まれる各文字を含む元の組σ ,・・・,σ を生成し、生成した前記元の組σ ,・・・,σ を含む前記第1署名を生成する署名生成装置と、
    前記第1署名と前記署名鍵とは異なる準同型鍵とを用いて、前記メッセージにおいて位置が異なる2つの文字が入れ替わった改変メッセージの第2署名を生成する準同型演算装置であって、パラメータを取得し、前記パラメータと前記第1署名と前記準同型鍵とを用いて、前記メッセージの前記パラメータの値であるj番目(jは1以上N−1以下の整数)の文字とj+1番目の文字とが入れ替わった前記改変メッセージの前記第2署名を生成する準同型演算装置
    を備え
    前記鍵生成装置は、
    前記変換行列W ,・・・,W N−1 と前記基底B ,・・・,B の各基底の部分集合とを含む前記準同型鍵を生成し、
    前記準同型演算装置は、
    前記準同型鍵に含まれる前記変換行列W ,・・・,W N−1 のうち前記パラメータの値であるj番目の変換行列W を用いて前記第1署名に含まれる前記元の組σ ,・・・,σ において前記パラメータの値であるj番目のσ とj+1番目のσ j+1 とを入れ替え、σ とσ j+1 とが入れ替わった入替署名を生成し、前記入替署名を用いて前記第2署名を生成する暗号システム。
  2. 前記準同型演算装置は、
    前記準同型鍵に含まれる前記基底B ,・・・,B の各基底の部分集合を用いて、双対ペアリングベクトル空間から元τ,・・・,τを生成し、前記入替署名と前記元τ,・・・,τとの積を用いて、前記第2署名を生成する請求項1に記載の暗号システム。
  3. 前記鍵生成装置は、さらに、
    双対ペアリングベクトル空間の基底B,・・・,Bの部分集合を含む検証鍵を生成し、
    前記暗号システムは、さらに、
    前記第2署名を検証署名として取得し、前記検証鍵を用いて、前記検証署名を検証する署名検証装置を備える請求項1または2に記載の暗号システム。
  4. 前記署名検証装置は、
    前記第1署名を前記検証署名として取得し、前記検証鍵を用いて、前記検証署名を検証する請求項に記載の暗号システム。
  5. 前記署名検証装置は、
    前記検証鍵に含まれる前記基底B,・・・,Bを用いて双対ペアリングベクトル空間の元c,・・・,cを生成し、前記元c,・・・,cと前記検証署名とのペアリング演算を実行し、ペアリング演算の演算結果に基づいて前記検証署名を検証する請求項またはに記載の暗号システム。
  6. 鍵生成装置が、双対ペアリングベクトル空間の基底B ,・・・,B (Nは2以上の整数)であって基底B ,・・・,B のうちB 以降の基底がN−1個の変換行列W ,・・・,W N−1 を用いて生成された基底B ,・・・,B を用いて、前記基底B ,・・・,B の各基底の部分集合を含む署名鍵を生成し、
    署名生成装置が、前記署名鍵に含まれる前記基底B ,・・・,B の各基底の部分集合と、個の文字を含むメッセージとを用いて、双対ペアリングベクトル空間の元であって前記メッセージに含まれる各文字を含む元の組σ ,・・・,σ を生成し、生成した前記元の組σ ,・・・,σ を含む第1署名であって前記メッセージについて第1署名を生成し、
    準同型演算装置が、パラメータを取得し、前記パラメータと前記第1署名と前記署名鍵とは異なる準同型鍵とを用いて、前記メッセージの前記パラメータの値であるj番目(jは1以上N−1以下の整数)の文字とj+1番目の文字が入れ替わった改変メッセージの第2署名を生成し、
    前記鍵生成装置が、前記変換行列W ,・・・,W N−1 と前記基底B ,・・・,B の各基底の部分集合とを含む前記準同型鍵を生成し、
    前記準同型演算装置が、前記準同型鍵に含まれる前記変換行列W ,・・・,W N−1 のうち前記パラメータの値であるj番目の変換行列W を用いて前記第1署名に含まれる前記元の組σ ,・・・,σ において前記パラメータの値であるj番目のσ とj+1番目のσ j+1 とを入れ替え、σ とσ j+1 とが入れ替わった入替署名を生成し、前記入替署名を用いて前記第2署名を生成する準同型署名方法。
  7. 鍵生成装置が、双対ペアリングベクトル空間の基底B ,・・・,B (Nは2以上の整数)であって基底B ,・・・,B のうちB 以降の基底がN−1個の変換行列W,・・・,WN−1を用いて生成された基底B ,・・・,B を用いて、前記基底B ,・・・,B の各基底の部分集合を含む署名鍵を生成する鍵生成処理と、
    署名生成装置が、前記署名鍵に含まれる前記基底B ,・・・,B の各基底の部分集合と、N個の文字を含むメッセージとを用いて、双対ペアリングベクトル空間の元であって前記メッセージに含まれる各文字を含む元の組σ,・・・,σを生成し、生成した前記元の組σ,・・・,σを含む第1署名であって前記メッセージについての第1署名を生成する署名生成処理と、
    準同型演算装置が、パラメータを取得し、前記パラメータと前記第1署名と前記署名鍵とは異なる準同型鍵とを用いて、前記メッセージの前記パラメータの値であるj番目(jは1以上N−1以下の整数)の文字とj+1番目の文字とが入れ替わった改変メッセージの第2署名を生成する準同型演算処理と
    をコンピュータに実行させる準同型署名プログラムであって、
    前記鍵生成処理は、前記鍵生成装置が、前記変換行列W,・・・,WN−1と前記基底B ,・・・,B の各基底の部分集合とを含む前記準同型鍵を生成し、
    前記準同型演算処理は、前記準同型演算装置が、前記準同型鍵に含まれる前記変換行列W,・・・,WN−1のうち前記パラメータの値であるj番目の変換行列Wを用いて前記第1署名に含まれる前記元の組σ,・・・,σにおいて前記パラメータの値であるj番目のσとj+1番目のσj+1とを入れ替え、σとσj+1とが入れ替わった入替署名を生成し、前記入替署名を用いて前記第2署名を生成する準同型署名プログラム。
JP2017544141A 2015-10-08 2015-10-08 暗号システム、準同型署名方法及び準同型署名プログラム Expired - Fee Related JP6266186B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/078678 WO2017061017A1 (ja) 2015-10-08 2015-10-08 暗号システム、準同型署名方法及び準同型署名プログラム

Publications (2)

Publication Number Publication Date
JPWO2017061017A1 JPWO2017061017A1 (ja) 2017-11-24
JP6266186B2 true JP6266186B2 (ja) 2018-01-24

Family

ID=58488259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017544141A Expired - Fee Related JP6266186B2 (ja) 2015-10-08 2015-10-08 暗号システム、準同型署名方法及び準同型署名プログラム

Country Status (5)

Country Link
US (1) US20180343109A1 (ja)
EP (1) EP3343830B1 (ja)
JP (1) JP6266186B2 (ja)
CN (1) CN108141362A (ja)
WO (1) WO2017061017A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
WO2018136811A1 (en) 2017-01-20 2018-07-26 Enveil, Inc. Secure web browsing via homomorphic encryption
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
US10728018B2 (en) 2017-01-20 2020-07-28 Enveil, Inc. Secure probabilistic analytics using homomorphic encryption
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US10880275B2 (en) 2017-01-20 2020-12-29 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption
CN109040059B (zh) * 2018-01-05 2020-09-04 艾科立方(香港)公司 受保护的tcp通信方法、通信装置及存储介质
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
JP7276423B2 (ja) 2019-02-25 2023-05-18 日本電気株式会社 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置
CN110740033B (zh) * 2019-08-19 2022-07-19 杭州云象网络技术有限公司 一种基于秘密共享技术的区块链多方数据共享方法
US11539517B2 (en) * 2019-09-09 2022-12-27 Cisco Technology, Inc. Private association of customer information across subscribers
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods
CN114257366B (zh) * 2021-12-20 2024-04-12 成都卫士通信息产业股份有限公司 信息同态处理方法、装置、设备及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465299A (en) * 1992-12-03 1995-11-07 Hitachi, Ltd. Electronic document processing system and method of forming digital signature
JP3260524B2 (ja) * 1992-12-03 2002-02-25 株式会社日立製作所 ディジタル署名の生成方法
US7961876B2 (en) * 2005-01-11 2011-06-14 Jintai Ding Method to produce new multivariate public key cryptosystems
US7743253B2 (en) * 2005-11-04 2010-06-22 Microsoft Corporation Digital signature for network coding
EP2234322B1 (en) * 2008-01-18 2019-10-02 Mitsubishi Electric Corporation Cryptographic parameter setting device, cryptographic system, program, and cryptographic parameter setting method
CN101714910B (zh) * 2009-11-20 2012-10-24 西安电子科技大学 基于概率检测的抗污染网络编码方法
IL206139A0 (en) * 2010-06-02 2010-12-30 Yaron Sella Efficient multivariate signature generation
US8667288B2 (en) * 2012-05-29 2014-03-04 Robert Bosch Gmbh System and method for message verification in broadcast and multicast networks
EP2768179A1 (en) * 2013-02-15 2014-08-20 Thomson Licensing Cryptographic devices and methods for generating and verifying linearly homomorphic structure-preserving signatures
CN104796475B (zh) * 2015-04-24 2018-10-26 苏州大学 一种基于同态加密的社会化推荐方法

Also Published As

Publication number Publication date
EP3343830A4 (en) 2018-09-12
CN108141362A (zh) 2018-06-08
EP3343830A1 (en) 2018-07-04
JPWO2017061017A1 (ja) 2017-11-24
WO2017061017A1 (ja) 2017-04-13
EP3343830B1 (en) 2019-07-17
US20180343109A1 (en) 2018-11-29

Similar Documents

Publication Publication Date Title
JP6266186B2 (ja) 暗号システム、準同型署名方法及び準同型署名プログラム
WO2019144612A1 (zh) 基于区块链的零知识多账本兑换转账方法、装置及存储介质
JP6244728B2 (ja) 情報処理方法及びプログラム
CN111539535B (zh) 基于隐私保护的联合特征分箱方法及装置
TW202034251A (zh) 對用於區塊鏈系統的簽章驗證進行測試的方法及裝置
JP5593458B2 (ja) 文字列がオートマトンに受理されるか否かを認証するシステム
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
JP2015212756A (ja) 情報処理方法及びプログラム
US11902432B2 (en) System and method to optimize generation of coprime numbers in cryptographic applications
CN112149156B (zh) 用于公开记录的属性和数据条目的***和选择器及其方法
Ahmad et al. A secure network communication protocol based on text to barcode encryption algorithm
Chatel et al. Verifiable encodings for secure homomorphic analytics
WO2018043049A1 (ja) 暗号システム、暗号方法及び暗号プログラム
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
WO2020240654A1 (ja) 匿名署名システム、署名生成装置、匿名署名生成装置、検証装置、匿名署名方法及びプログラム
Bijwe et al. Implementing grover oracle for lightweight block ciphers under depth constraints
Hwang et al. Balancing security and privacy in genomic range queries
JP7233265B2 (ja) 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム
US20190163933A1 (en) Secure computation system, secure computation device, secure computation method, and program
CN113792282B (zh) 身份数据验证方法、装置、计算机设备和存储介质
EP3364397B1 (en) Secret authentication code adding device, secret authentification code adding method, and program
JP4528114B2 (ja) 鍵生成装置、暗号化装置、検査装置、復号化装置並びに鍵生成プログラム、暗号化プログラム、検査プログラム、復号化プログラム
US20230132163A1 (en) Memory processing apparatus, memory verification apparatus, memory updating apparatus, memory protection system, method, and computer readable medium
JP7371757B2 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法およびプログラム
CN114341846A (zh) 用于选择性公开属性的来源验证

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170829

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170829

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171108

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

R150 Certificate of patent or registration of utility model

Ref document number: 6266186

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees