JP2016001248A - 署名生成装置、署名検証装置、検証システム、およびプログラム - Google Patents

署名生成装置、署名検証装置、検証システム、およびプログラム Download PDF

Info

Publication number
JP2016001248A
JP2016001248A JP2014121062A JP2014121062A JP2016001248A JP 2016001248 A JP2016001248 A JP 2016001248A JP 2014121062 A JP2014121062 A JP 2014121062A JP 2014121062 A JP2014121062 A JP 2014121062A JP 2016001248 A JP2016001248 A JP 2016001248A
Authority
JP
Japan
Prior art keywords
signature
vector
dimensional vector
row
unit
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
Application number
JP2014121062A
Other languages
English (en)
Other versions
JP6139469B2 (ja
Inventor
阿部 正幸
Masayuki Abe
正幸 阿部
陵 西巻
Ryo Nishimaki
陵 西巻
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
Priority to JP2014121062A priority Critical patent/JP6139469B2/ja
Publication of JP2016001248A publication Critical patent/JP2016001248A/ja
Application granted granted Critical
Publication of JP6139469B2 publication Critical patent/JP6139469B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】格子上の問題に基づくタグ付き使い捨て署名方式を実現する。
【解決手段】署名生成時には、選択されたn次元のベクトルz、選択されたm次元のベクトルσ、およびメッセージに対応するk次元のベクトルMを用い、A+Bσを含む情報に対応するk次元のベクトルzを得、z=A+Bσを満たすm次元のベクトルσを得、ベクトルσおよびσを含む署名を出力する。署名検証時には、ベクトルM,σ,σ,zを用い、A+Bσを含む情報に対応するk次元のベクトルzを得、z=A+Bσを満たすことを必要条件とする検証条件を満たすかを判定する。
【選択図】図1

Description

本発明は、署名技術に関し、特に、タグ付き使い捨て署名技術に関する。
タグ付き使い捨て署名(TOS: Tagged One-Time Signature)方式は、使い捨て署名(OTS: One-Time Signature)方式の一種であり、秘密鍵と「タグ」と呼ばれる使い捨て公開鍵とに基づいてメッセージに対する署名を生成し、この秘密鍵に対応する公開鍵とタグとメッセージを用いて署名検証を行う(例えば、非特許文献1等参照)。TOS方式では、通常のOTS方式(例えば、非特許文献2等参照)とは異なり、署名生成のための使い捨て秘密鍵を保存しておく必要がない点で利便性が高い。
Masayuki Abe, Melissa Chase, Bernardo David, Markulf Kohlweiss, Ryo Nishimaki, Miyako Ohkubo, "Constant-Size Structure-Preserving Signatures: Generic Constructions and Simple Assumptions," ASI-ACRYPT 2012, 4-24. Payman Mohassel, "One-Time Signatures and Chameleon Hash Functions," Selected Areas in Cryptography 2010, 302-319.
しかしながら、非特許文献1に記載されたTOS方式は、ペアリング群上の計算量的仮定に基づく安全性(計算量的安全性)を持つ方式であり、量子計算機が実現した場合その安全性は失われる。
本発明の目的は、量子計算機が実現したとしてもその安全性を保持できると考えられる格子上の問題に基づくタグ付き使い捨て署名方式を提供することである。
署名生成時には、選択されたn次元のベクトルz、選択されたm次元のベクトルσ、およびメッセージに対応するk次元のベクトルMを用い、A+Bσを含む情報に対応するk次元のベクトルzを得、z=A+Bσを満たすm次元のベクトルσを得、ベクトルσおよびσを含む署名を出力する。ただし、n,k,m,n,k,mは1以上の整数、Aはn行k列の行例、Bはn行m列の行例、Aはn行k列の行例、およびBはn行m列の行例である。
署名検証時には、ベクトルM,σ,σ,zを用い、A+Bσを含む情報に対応するk次元のベクトルzを得、z=A+Bσを満たすことを必要条件とする検証条件を満たすかを判定する。
本発明では、格子上の問題に基づくタグ付き使い捨て署名方式を実現できる。
図1は実施形態の署名システムの機能構成を例示するためのブロック図である。 図2は、実施形態の鍵生成装置の機能構成を例示するためのブロック図である。 図3Aは、実施形態の署名生成装置の機能構成を例示するためのブロック図である。図3Bは、実施形態の署名検証装置の機能構成を例示するためのブロック図である。 図4Aは、実施形態の鍵生成方法を例示するためのフロー図である。図4Bは、実施形態の署名生成方法を例示するためのフロー図である。図4Cは、実施形態の署名検証方法を例示するためのフロー図である。 図5Aから図5Cは、実施形態のデータ構成を例示するための図である。 図6Aから図6Cは、実施形態のデータ構成を例示するための図である。 図7Aから図7Cは、実施形態のデータ構成を例示するための図である。
以下、本発明の実施形態を説明する。
[定義]
実施形態で使用する用語を定義する。
<SIS(Small Integer Solution)問題>
SIS問題とは、解法が困難とされている格子上の問題の一種であり、暗号プリミティブの安全性の根拠として用いられる(例えば、参考文献1参照)。SIS問題とは、要約すれば、素体Z上(ただし、qは素数)のn行m列(ただし、nおよびmは1以上の整数、例えば2以上の整数)の行列Bに対して、Br=0となる小さなm次元のベクトルrを求める問題である。小さなベクトルとは、ノルムがある達成可能な小さな正値s以下であることを意味する。例えば、その要素がほとんど0または1で構成されているベクトルは小さいベクトルといえる。例えば、SIS問題とは、一様ランダムなZの元からなるn行m列の行列B∈Z n×m(ただし、mはnの多項式で得られる)に対し、以下の式(1)および(2)を満たす整数集合Zの元からなるm次元のベクトルr∈Λ(B)を求める問題である。
Λ(B)={r∈Z:Br=0∈Z }⊆Z (1)
|r|≦s (2)
ただし、|r|はrのユークリッドノルムを表す。
[参考文献1]David Cash, Dennis Hofheinz, Eike Kiltz, Chris Perkest ,“Bonsai, Trees, or How to Delegate a Lattice Basis,” Advances in Cryptology - EUROCRYPT 2010, Lecture Notes in Computer Science Volume 6110, 2010, 523-552.
<アルゴリズムGenBasisおよびSampleD>
参考文献1,2によれば、以下のようなアルゴリズムGenBasisおよびSampleDが存在する。
[参考文献2]C. Gentry, C. Peikert, and V. Vaikuntanathan, “Trapdoors for hard lattices and new cryptographic constructions,” In STOC, pages 197-206. 2008.
アルゴリズムGenBasisは、n,m,qを入力とし、基底ベクトルS∈Zと行列B∈Z n×mとの組(S,B)を生成して出力する((S,B)←GenBasis(n,m,q))。ただし、基底ベクトルSは、行列Bについての部分集合(部分ベクトル空間)Λ(B)を張る何れかの基底であり、トラップドア(落とし戸)として機能する。
アルゴリズムSampleDは、S,B,y,sを入力とし、以下の式(3)および(4)を満たす整数集合Zの元からなるm次元のベクトルx∈Λ (B)を離散ガウス分布(Discrete Gaussian Distribution)D(Λ (B),s)に従って選択して出力する(x←SampleD(S,B,y,s))。
Λ (B)={x∈Z:Bx=y} (3)
|x|≦s (4)
ただし、y∈Z はZの元を要素とするランダムなn次元のベクトルである。離散ガウス分布D(Λ (B),s)とは、各ベクトルx∈Λ (B)に対する確率がガウス分布ρ(x)=exp(−π|x|/s)に比例し、その他のベクトルに対する確率が0となる確率分布を意味する。なお|x|はxのノルムを表す。トラップドアとして機能する基底ベクトルSがない場合、このようなベクトルxを求めることは困難である。
<SIS問題の困難性に基づくカメレオンハッシュ関数>
参考文献1では、上記のSIS問題の困難性に基づいてカメレオンハッシュを構成した。以下、これについて説明する。
安全性のパラメータをk,n,m,sとする。ただし、kは1以上の整数(例えば、2以上の整数)である。まず、(S,B)←GenBasis(n,m,q)を計算し、n行k列のZ上の行列A∈Z n×kをランダムに選ぶ。(A,B)をハッシュ鍵として公開し、Sをトラップドアとして秘密に保持する。メッセージはkビットのビット列であり、その各ビットをZ上の値0,1に割り当てて、k個のZ要素からなる行ベクトルで表現する(M∈Z )。D(Z,s)をsで制限されるZ上のガウス分布とする。D(Z,s)は、各ベクトルr∈Zに対する確率が分布ρ(r)=exp(−π|r|/s)に比例するガウス分布を意味する。メッセージMをハッシュするには、Z上のm行ベクトルr∈Zを分布D(Z,s)に従って選び、Hash(m,r)=AM+Br∈Zを計算し、その出力であるn次元のベクトルHash(m,r)∈Zをハッシュ値hとする。任意のハッシュ値hと任意のメッセージM’∈Z に対して、h=AM’+Br’となるベクトルr’∈Zは、トラップドアである基底ベクトルSを用いてr’=SampleD(S,B,h−AM’,s)のように計算できる。一方、Sを知らない場合、そのようなr’を求めることはSIS問題を解くことに帰着されるため、困難である。
[第1実施形態]
次に第1実施形態を説明する。
<構成>
図1に例示するように、本形態の署名システム1は、鍵生成装置11、署名生成装置12、および署名検証装置13を有しており、これらはインターネット等のネットワークを通じて通信可能に構成されている。図2に例示するように、本形態の鍵生成装置11は、基底生成部111、行列生成部112、鍵構成部113、出力部114、および制御部119を有する。図3Aに例示するように、本形態の署名生成装置12は、入力部121、記憶部122、選択部123、演算部124,126、タグ選択部125、出力部127、および制御部129を有する。図3Bに例示するように、本形態の署名検証装置13は、入力部131、記憶部132、演算部134、判定部136、および制御部139を有する。鍵生成装置11、署名生成装置12、および署名検証装置13は、それぞれ制御部119,129、および139の制御のもとで各処理を実行する。鍵生成装置11、署名生成装置12、および署名検証装置13は、それぞれ、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。
<鍵生成処理>
鍵生成処理を説明する。なお、事前に安全性のパラメータn,k,m,n,k,m,s,qが設定されているとする。ただし、n,k,m,n,k,mは1以上の整数であり、例えば、これらは2以上の整数である。sは正値であり、qは素数である。また、Z n1の元をk個の{0,1}∈Zからなるk次元のベクトルにマッピングするZ n1→{0,1}k0なる関数Tが設定されているとする。ただし、上付き添え字の「n1」および「k0」は、それぞれ「n」および「k」を表す。関数Tはターゲット衝突困難性を持つ関数である。関数Tの構成に限定はないが、例えば、ターゲット衝突困難なハッシュ関数をTとして用いることができる。
鍵生成装置11(図2)は、鍵生成関数TOS.key(n,k,m,n,k,m,s)を実行して、公開鍵pkと秘密鍵skとの鍵ペア(sk,pk)を生成する。まず、図4Aに例示するように、鍵生成装置11の基底生成部111が、n,m,qを入力として(S,B)←GenBasis(n,m,q)を計算する。B∈Z n0×m0はn行m列の行例である。ただし、上付き添え字の「n0」および「m0」は「n」および「m」をそれぞれ表す。S∈Zm0は行例Bに対応する秘密情報であるトラップドアである。前述のように、トラップドアSはB=0を満たすm次元のベクトルrが属する部分集合(部分ベクトル空間)を張るm次元の基底ベクトルの何れかである。(S,B)は鍵構成部113に送られる(ステップS111)。
行列生成部112は、n行k列の行例A∈Z n0×k0、n行k列の行例A∈Z n1×k1、およびn行m列の行例B∈Z n1×m1を、それぞれランダムに選択する。A,A,Bは鍵構成部113に送られる(ステップS112)。
鍵構成部113は、S,B,A,A,Bを入力とし、公開鍵pk=(A,B,A,B,T,s)および秘密鍵sk=(S)を構成して出力する。公開鍵pkと秘密鍵skとの鍵ペア(sk,pk)は、出力部114に送られる(ステップS113)。
出力部114は、公開鍵pkを署名生成装置12(図3A)および署名検証装置13(図3B)に送信する。公開鍵pkは、署名生成装置12の入力部121および署名検証装置13の入力部131に入力され、記憶部122および記憶部132に格納される。秘密鍵skは署名生成装置12に安全に送られ、署名生成装置12の入力部121に入力され、記憶部122に安全に格納される。秘密鍵skは秘密情報である(ステップS114)。
<署名生成処理>
署名生成処理を説明する。図4Bに例示するように、まず、メッセージmsgに対応するk次元のベクトルM∈Z k1が、署名生成装置12(図3A)の入力部121に入力される。ベクトルMはk個の要素{0,1}∈Z k1からなる行ベクトルである。ベクトルMは記憶部122に格納される(ステップS121)。
タグ選択部125は公開鍵pkを入力とし、タグ生成関数TOS.Tag(pk)を実行してn次元のベクトルz∈Z n0をランダムに選択し、これをタグzとして出力する。タグzは署名生成処理のたびに新たに選択される。ただし、タグ選択部125は、署名生成処理のたびにランダムに生成したベクトルをタグzとしてもよいし、事前にランダムに複数個生成しておいたn次元のベクトルから署名生成処理のたびにタグzを選択してもよい。選択されたタグzは演算部126および出力部127に送られる(ステップS125)。
選択部123および演算部124,126は、署名生成関数TOS.Sign(sk,M,z)を実行して署名σを生成する。選択部123は、ガウス分布D(Zm1,s)(前述のD(Z,s)においてm=mとした分布)に従ってm次元のベクトルσ∈Z m1を選択して出力する。すなわち、ベクトルσの要素はガウス分布に従って選択される。ベクトルσは署名生成処理のたびに新たに選択される。ただし、選択部123は、署名生成処理のたびにガウス分布D(Zm1,s)に従ってベクトルσを生成してもよいし、事前にガウス分布D(Zm1,s)に従って複数個生成しておいたがm次元のベクトルから署名生成処理のたびにベクトルσを選択してもよい。選択されたベクトルσは演算部124および出力部127に送られる(ステップS123)。
演算部124は、記憶部122から読み出した公開鍵pk、および選択部123から送られたベクトルσを入力とし、n次元のベクトルh=A+Bσ∈Z n1(図5A)を含む情報に対応するk次元のベクトルzを得る。本形態では、演算部124は、n次元のベクトルhを関数Tに入力してk次元のベクトルz=T(h)を得て出力する(図5B)。ベクトルzは演算部126に送られる(ステップS124)。
演算部126は、記憶部122から読み出した公開鍵skおよび秘密鍵sk、タグ選択部125から送られたタグz、ならびに演算部124から送られたベクトルzを入力とし、z=A+Bσ(図6A)を満たすm次元のベクトルσ∈Z m0を得る。本形態の演算部126は、秘密鍵skからトラップドアである基底ベクトルSを抽出し、公開鍵pkからA,Bを抽出し、z−A(図6B)を得て、m次元のベクトルσ=SampleD(S,B,z−A,s)∈Z m0(図6C)得て出力する。なお、タグzを使い捨て公開鍵とみた場合、ベクトルσはタグzに対応する使い捨て秘密鍵である。本形態では、アルゴリズムSampleDによって使い捨て秘密鍵に相当するベクトルσを生成できるため、ベクトルσを保持しておく必要がない。すなわち、タグ付き使い捨て署名を実現できる。また、基底ベクトル(トラップドア)Sを知らない者がベクトルσを求めることはSIS問題を解くことに帰着し、困難である。ベクトルσは出力部127に送られる(ステップS126)。
出力部127は、タグz、ベクトルσおよびσを含む署名σ=(σ,σ)、および記憶部122から読み出したベクトルMを出力する(ステップS127)。
<署名検証処理>
署名検証処理を説明する。署名検証装置13は、署名検証関数TOS.Vrf(pk,z,M,σ)を実行する。図4Cに例示するように、タグz、署名σ=(σ,σ)、およびベクトルMが、署名検証装置13の入力部131に入力され、記憶部132に格納される。なお、入力部131に入力されるタグz、署名σ=(σ,σ)、およびベクトルMは、上述のように正しく生成されたものとは限らない(ステップS131)。
判定部136は、記憶部132から署名σ=(σ,σ)および公開鍵pkを読み出し、σおよびσがガウス分布D(Zm1,s)に従ったものであるかを判定する。この判定は、例えば、|r|≦sを満たすかを判定し、|r|≦sを満たせば、σおよびσがガウス分布D(Zm1,s)に従ったものと判定することにする。σおよびσがガウス分布D(Zm1,s)に従ったものではないと判定された場合には、判定部136は検証失敗を表す「0」を出力し(ステップS1360)、処理を終了する。一方、σおよびσがガウス分布D(Zm1,s)に従ったものであると判定された場合、ステップS134に進む。
ステップS134では、演算部134が、記憶部132から、公開鍵pk、タグz、署名σ=(σ,σ)、およびベクトルMを読み出し、これらを用い、h=A+Bσ(図5A)を含む情報に対応するk次元のベクトルz∈Z k0を得る。本形態では、演算部134は、n次元のベクトルhを関数Tに入力してk次元のベクトルz=T(h)を得て出力する(図5B)。ベクトルzは判定部136に送られる(ステップS134)。
判定部136は、ベクトルz、および記憶部132から読み出した公開鍵pkおよびベクトルσを入力とし、z=A+Bσを満たすことを必要条件とする検証条件を判定する。この判定は、(1)zとA+Bσとが一致するか否かによって行われてもよいし、(2)zの関数値とA+Bσの関数値とが一致するか否かによって行われてもよいし、(3)zの関数値とA+Bσの関数値とが所定の関係を満たすか否かによっても行われてもよい。あるいは、(1)〜(3)の何れかの条件を満たし、さらに別の条件を満たすか否かを判定してもよい。すなわち、z=A+Bσを満たすことを必要条件とする検証条件を判定するのであれば、どのような判定が行われてもよい。ここで検証条件を満たさないと判断した場合、判定部136は検証失敗を表す「0」を出力し(ステップS1360)、処理を終了する。一方、検証条件を満たすと判断した場合、判定部136は検証成功を表す「1」を出力し(ステップS1361)、処理を終了する。
<本形態の特徴>
一般的なカメレオンハッシュ関数では、メッセージがあるハッシュ値になるような乱数を求めるためには、そのハッシュ値を生成したときに用いた乱数(および元のメッセージ)が必要となる。そのため、ハッシュ値をタグ(使い捨て公開鍵)として署名システムを構成する場合、その生成に利用した乱数(使い捨て秘密鍵)を保存する必要が生じてしまう。これに対し、本形態ではSIS問題の困難性に基づくカメレオンハッシュ関数を用いて署名システムを構成したため、そのような乱数(ベクトルσ)を保存する必要はなく、秘密のトラップドアとハッシュ値のみから乱数(ベクトルσ)を求めることができる。この特性を利用して、ハッシュ値に対応するベクトルをタグzとし、トラップドアSを長期の秘密鍵skとすることで、タグ付き使い捨て署名を構成できた。また、格子上の問題の一種であるSIS問題に基づいて安全性が担保されるため、量子計算機が実現したとしてもその安全性を保持できる。
[第1実施形態の変形例]
第1実施形態のステップS124およびS134では、n次元のベクトルhを関数Tに入力してk次元のベクトルz=T(h)を得た(図5B)。しかしながら、衝突が生じないようにn次元のベクトルhをk次元のベクトルzにマッピングできるのであれば、他の関数を用いてもよい。例えば、Z n1→{0,1}k0なる関数Tに代えてZ n1+n2→{0,1}k0なる関数T’(例えば、ターゲット衝突困難なハッシュ関数)を用いることにし、n次元のベクトルhとn次元のベクトルwとの連結h|wに対してk次元のベクトルz=T’(h|w)を得てもよい(図5C)。wの例は公開鍵pk等の公開情報である。演算部124と演算部134とで同じwが用いられる。
[第2実施形態]
次に第2実施形態を説明する。本形態は第1実施形態の変形例であり、関数Tを用いない構成である。以下では第1実施形態との相違点を中心に説明し、第1実施形態と同じ部分については第1実施形態と同じ参照番号を用い、説明を省略する。
<構成>
図1に例示するように、本形態の署名システム2は、鍵生成装置21、署名生成装置22、および署名検証装置23を有している。図2に例示するように、本形態の鍵生成装置21は、基底生成部111、行列生成部212、鍵構成部213、出力部114、および制御部119を有する。図3Aに例示するように、本形態の署名生成装置22は、入力部121、記憶部122、選択部123、演算部224,126、タグ選択部125、出力部127、および制御部129を有する。図3Bに例示するように、本形態の署名検証装置23は、入力部131、記憶部132、演算部234、判定部136、および制御部139を有する。
<鍵生成処理>
本形態の鍵生成処理が第1実施形態の鍵生成処理と相違するのは、n=kであり、関数Tが設定されない点である。図4Aに例示するように、まず、基底生成部111がステップS111を実行し、行列生成部212がn=kとしたステップS112の処理を実行し(ステップS212)、鍵構成部213がS,B,A,A,Bを入力とし、公開鍵pk=(A,B,A,B,s)および秘密鍵sk=(S)を構成して出力する(ステップS213)。その後、出力部114がステップS114の処理を行い、公開鍵pkは、署名生成装置22の入力部121および署名検証装置23の入力部131に入力され、記憶部122および記憶部132に格納される。秘密鍵skは署名生成装置22に安全に送られ、署名生成装置22の入力部121に入力され、記憶部122に安全に格納される。
<署名生成処理>
本形態の署名生成処理は、第1実施形態の署名生成処理のステップS124をステップS224に置換したものである。ステップS224のみを説明する。ステップS224では、演算部224は、記憶部122から読み出した公開鍵pk、および選択部123から送られたベクトルσを入力とし、n=k次元のベクトルh=A+Bσ∈Z k0(図7A)を含む情報に対応するk次元のベクトルzを得る。本形態の演算部224は、k次元のベクトルhをそのままzとして出力する(図7B)。ベクトルzは演算部126に送られる(ステップS224)。その他は、第1実施形態と同じである。
<署名検証処理>
本形態の署名検証処理は、第1実施形態の署名検証処理のステップS134をステップS234に置換したものである。ステップS234のみを説明する。ステップS234では、演算部234が、記憶部132から、公開鍵pk、タグz、署名σ=(σ,σ)、およびベクトルMを読み出し、これらを用い、h=A+Bσ(図7A)を含む情報に対応するk次元のベクトルz∈Z k0を得る。本形態では、演算部234は、k次元のベクトルhをそのままベクトルzとして出力する(図7B)。ベクトルzは判定部136に送られる(ステップS234)。その他は、第1実施形態と同じである。
[第2実施形態の変形例]
第2実施形態のステップS224およびS234では、n=k次元のベクトルhをそのままベクトルzとした(図7B)。しかしながら、n<kとし、n次元のベクトルhとk−n次元のベクトルwとの連結h|wをそのままk次元のベクトルzとしてもよい(図7C)。wの例は公開鍵pk等の公開情報である。演算部224と演算部234とで同じwが用いられる。
[その他の変形例]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、素体Zに代えて素体Zを基礎体とした拡大体を用いてもよいし、qに素数以外の正整数を用いることで素体Zに代えて環Zを用いてもよい。また、上記の実施形態では、署名生成装置から署名検証装置に対し、署名とタグとメッセージに対応する情報とが同時に送られたが、これらが別々に送られてもよい。例えば、署名が送られる前にタグやメッセージが公開されてもよい。また、署名σ=(σ,σ)を構成するσおよびσがガウス分布D(Zm1,s)に従ったものであることが明らかな場合等には、ステップS1362の処理が省略されてもよい。また、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1,2 署名システム
11,21 鍵生成装置
12,22 署名生成装置
13,23 署名検証装置

Claims (8)

  1. ,k,m,n,k,mが1以上の整数、Aがn行k列の行例、Bがn行m列の行例、Aがn行k列の行例、Bがn行m列の行例、選択されたn次元のベクトルがz、選択されたm次元のベクトルがσ、Mがメッセージに対応するk次元のベクトルであり、
    +Bσを含む情報に対応するk次元のベクトルzを得る第1演算部と、
    =A+Bσを満たすm次元のベクトルσを得る第2演算部と、
    前記ベクトルσおよびσを含む署名を出力する出力部と、
    を有する署名生成装置。
  2. 請求項1の署名生成装置であって、
    前記第2演算部は、前記行例Bに対応する秘密情報であるトラップドアSを用いて前記ベクトルσを得る、署名生成装置。
  3. 請求項2の署名生成装置であって、
    前記トラップドアSは、B=0を満たすm次元のベクトルrが属する部分ベクトル空間を張るm次元の基底ベクトルの何れかである、署名生成装置。
  4. 請求項1から3の何れかの署名生成装置であって、
    前記A+Bσを含む情報がk次元のベクトルである、署名生成装置。
  5. ,k,m,n,k,mが1以上の整数、Aがn行k列の行例、Bがn行m列の行例、Aがn行k列の行例、Bがn行m列の行列であり、
    メッセージに対応するk次元のベクトルM、および、署名であるm次元のベクトルσを用い、A+Bσを含む情報に対応するk次元のベクトルzを得る演算部と、
    少なくとも、前記ベクトルz、入力されたn次元のベクトルz、および署名であるm次元のベクトルσを用い、z=A+Bσを満たすことを必要条件とする検証条件を満たすかを判定する判定部と、
    を有する署名検証装置。
  6. 請求項5の署名検証装置であって、
    前記判定部は、前記ベクトルσおよびσがガウス分布に従ったものであるかを判定し、
    前記検証条件は、さらに前記ベクトルσおよびσがガウス分布に従ったものであると判定されたことを含む、署名検証装置。
  7. ,k,m,n,k,mが1以上の整数、Aがn行k列の行例、Bがn行m列の行例、Aがn行k列の行例、およびBがn行m列の行例であり、
    選択されたn次元のベクトルz、選択されたm次元のベクトルσ、およびメッセージに対応するk次元のベクトルMを用い、A+Bσを含む情報に対応するk次元のベクトルzを得、z=A+Bσを満たすm次元のベクトルσを得、前記ベクトルσおよびσを含む署名を出力する署名生成装置と、
    前記ベクトルM,σ,σ,zを用い、A+Bσを含む情報に対応するk次元のベクトルzを得、z=A+Bσを満たすことを必要条件とする検証条件を満たすかを判定する署名検証装置と、
    を有する署名システム。
  8. 請求項1から4の何れかの署名生成装置、または、請求項5もしくは6の署名検証装置、としてコンピュータを機能させるためのプログラム。
JP2014121062A 2014-06-12 2014-06-12 署名生成装置、署名検証装置、検証システム、およびプログラム Active JP6139469B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014121062A JP6139469B2 (ja) 2014-06-12 2014-06-12 署名生成装置、署名検証装置、検証システム、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014121062A JP6139469B2 (ja) 2014-06-12 2014-06-12 署名生成装置、署名検証装置、検証システム、およびプログラム

Publications (2)

Publication Number Publication Date
JP2016001248A true JP2016001248A (ja) 2016-01-07
JP6139469B2 JP6139469B2 (ja) 2017-05-31

Family

ID=55076869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014121062A Active JP6139469B2 (ja) 2014-06-12 2014-06-12 署名生成装置、署名検証装置、検証システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP6139469B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180060588A (ko) * 2016-11-29 2018-06-07 서울대학교산학협력단 데이터 보안이 강화된 전자 서명 장치 및 방법
WO2020065928A1 (ja) * 2018-09-28 2020-04-02 三菱電機株式会社 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ABE, M. ET AL.: "Constant-Size Structure-Preserving Signatures: Generic Constructions and Simple Assumptions", LECURE NOTES IN COMPUTER SCIENCE, vol. Vol.7658, JPN6017003458, 2012, pages 4 - 24, XP047328915, DOI: doi:10.1007/978-3-642-34961-4_3 *
CASH, D. ET AL.: "Bonsai Trees, or How to Delegate a Lattice Basis", LECURE NOTES IN COMPUTER SCIENCE, vol. Vol.6110, JPN6017003460, 2010, pages 523 - 552, XP047268685, DOI: doi:10.1007/978-3-642-13190-5_27 *
MOHASSEL, P.: "One-Time Signarutes and Chameleon Hash Functions", LECURE NOTES IN COMPUTER SCIENCE, vol. Vol.6544, JPN6017003463, 2011, pages 302 - 319 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180060588A (ko) * 2016-11-29 2018-06-07 서울대학교산학협력단 데이터 보안이 강화된 전자 서명 장치 및 방법
KR101873881B1 (ko) 2016-11-29 2018-07-03 서울대학교산학협력단 데이터 보안이 강화된 전자 서명 장치 및 방법
WO2020065928A1 (ja) * 2018-09-28 2020-04-02 三菱電機株式会社 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム
CN112740618A (zh) * 2018-09-28 2021-04-30 三菱电机株式会社 签名装置、验证装置、签名系统、签名方法、签名程序、验证方法以及验证程序

Also Published As

Publication number Publication date
JP6139469B2 (ja) 2017-05-31

Similar Documents

Publication Publication Date Title
JP6067932B2 (ja) 鍵共有デバイス及び方法
JP5957095B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
US8964988B2 (en) Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, secret sharing method, program and recording medium
JP2015225343A (ja) リレーショナル暗号化
BRPI1006182B1 (pt) método para comunicações seguras entre um primeiro nó e um segundo nó em uma rede, dispositivo de gerenciamento provido de material de geração de chave raiz e rede
JP2016526851A (ja) 暗号鍵を共有するためのシステム
WO2017030111A1 (ja) 計算システム、計算装置、その方法、およびプログラム
KR101382626B1 (ko) Id 기반의 강한 지정된 검증자 서명 시스템 및 방법
JP2022516381A (ja) より効率的なポスト量子署名
CN113726517A (zh) 一种信息共享方法及装置
Ramasamy et al. Image encryption and cluster based framework for secured image transmission in wireless sensor networks
JP6139469B2 (ja) 署名生成装置、署名検証装置、検証システム、およびプログラム
KR20190143196A (ko) 양자 난수열 기반의 암호 장치
Wang et al. An ID-based online/offline signature scheme without random oracles for wireless sensor networks
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
Dhopavkar et al. IETD: a novel image encryption technique using Tinkerbell map and Duffing map for IoT applications
JP5730804B2 (ja) 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム
JP2014157354A (ja) 線形準同型な構造保存署名を生成および検証する暗号学的装置および方法
JP6075785B2 (ja) 暗号通信システム、暗号通信方法、プログラム
JP5651609B2 (ja) 検索可能暗号システム、検索装置、計算装置、及びプログラム
JP5931795B2 (ja) 鍵交換システム、鍵生成装置、通信装置、鍵交換方法及びプログラム
JP5980178B2 (ja) プログラム変換装置、プログラム変換方法及びプログラム
JP6251163B2 (ja) 暗号化署名システム、暗号化署名装置、調停装置、暗号化検証装置、暗号化署名演算装置、暗号化署名方法、プログラム
JP6087849B2 (ja) 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム
Yang et al. A Fuzzy Identity‐Based Signature Scheme from Lattices in the Standard Model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170427

R150 Certificate of patent or registration of utility model

Ref document number: 6139469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150