JP2016001248A - 署名生成装置、署名検証装置、検証システム、およびプログラム - Google Patents
署名生成装置、署名検証装置、検証システム、およびプログラム Download PDFInfo
- 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
Links
Images
Abstract
【解決手段】署名生成時には、選択されたn0次元のベクトルz0、選択されたm1次元のベクトルσ1、およびメッセージに対応するk1次元のベクトルM1を用い、A1M1+B1σ1を含む情報に対応するk0次元のベクトルz1を得、z0=A0z1+B0σ0を満たすm0次元のベクトルσ0を得、ベクトルσ0およびσ1を含む署名を出力する。署名検証時には、ベクトルM1,σ0,σ1,z0を用い、A1M1+B1σ1を含む情報に対応するk0次元のベクトルz1を得、z0=A0z1+B0σ0を満たすことを必要条件とする検証条件を満たすかを判定する。
【選択図】図1
Description
[定義]
実施形態で使用する用語を定義する。
<SIS(Small Integer Solution)問題>
SIS問題とは、解法が困難とされている格子上の問題の一種であり、暗号プリミティブの安全性の根拠として用いられる(例えば、参考文献1参照)。SIS問題とは、要約すれば、素体Zq上(ただし、qは素数)のn行m列(ただし、nおよびmは1以上の整数、例えば2以上の整数)の行列Bに対して、Br=0となる小さなm次元のベクトルrを求める問題である。小さなベクトルとは、ノルムがある達成可能な小さな正値s以下であることを意味する。例えば、その要素がほとんど0または1で構成されているベクトルは小さいベクトルといえる。例えば、SIS問題とは、一様ランダムなZqの元からなるn行m列の行列B∈Zq n×m(ただし、mはnの多項式で得られる)に対し、以下の式(1)および(2)を満たす整数集合Zの元からなるm次元のベクトルr∈Λ⊥(B)を求める問題である。
Λ⊥(B)={r∈Zm:Br=0∈Zq n}⊆Zm (1)
|r|2≦s (2)
ただし、|r|2は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.
参考文献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.
Λy ⊥(B)={x∈Zm:Bx=y} (3)
|x|2≦s (4)
ただし、y∈Zq nはZqの元を要素とするランダムなn次元のベクトルである。離散ガウス分布D(Λy ⊥(B),s)とは、各ベクトルx∈Λy ⊥(B)に対する確率がガウス分布ρs(x)=exp(−π|x|2/s2)に比例し、その他のベクトルに対する確率が0となる確率分布を意味する。なお|x|2はxのノルムを表す。トラップドアとして機能する基底ベクトルSがない場合、このようなベクトルxを求めることは困難である。
参考文献1では、上記のSIS問題の困難性に基づいてカメレオンハッシュを構成した。以下、これについて説明する。
安全性のパラメータをk,n,m,sとする。ただし、kは1以上の整数(例えば、2以上の整数)である。まず、(S,B)←GenBasis(n,m,q)を計算し、n行k列のZq上の行列A∈Zq n×kをランダムに選ぶ。(A,B)をハッシュ鍵として公開し、Sをトラップドアとして秘密に保持する。メッセージはkビットのビット列であり、その各ビットをZq上の値0,1に割り当てて、k個のZq要素からなる行ベクトルで表現する(M∈Zq k)。D(Zm,s)をsで制限されるZm上のガウス分布とする。D(Zm,s)は、各ベクトルr∈Zmに対する確率が分布ρs(r)=exp(−π|r|2/s2)に比例するガウス分布を意味する。メッセージMをハッシュするには、Zp上のm行ベクトルr∈Zmを分布D(Zm,s)に従って選び、Hash(m,r)=AM+Br∈Znを計算し、その出力であるn次元のベクトルHash(m,r)∈Znをハッシュ値hとする。任意のハッシュ値hと任意のメッセージM’∈Zq kに対して、h=AM’+Br’となるベクトルr’∈Znは、トラップドアである基底ベクトルSを用いてr’=SampleD(S,B,h−AM’,s)のように計算できる。一方、Sを知らない場合、そのようなr’を求めることはSIS問題を解くことに帰着されるため、困難である。
次に第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)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。
鍵生成処理を説明する。なお、事前に安全性のパラメータn0,k0,m0,n1,k1,m1,s,qが設定されているとする。ただし、n0,k0,m0,n1,k1,m1は1以上の整数であり、例えば、これらは2以上の整数である。sは正値であり、qは素数である。また、Zq n1の元をk0個の{0,1}∈Zqからなるk0次元のベクトルにマッピングするZq n1→{0,1}k0なる関数Tが設定されているとする。ただし、上付き添え字の「n1」および「k0」は、それぞれ「n1」および「k0」を表す。関数Tはターゲット衝突困難性を持つ関数である。関数Tの構成に限定はないが、例えば、ターゲット衝突困難なハッシュ関数をTとして用いることができる。
署名生成処理を説明する。図4Bに例示するように、まず、メッセージmsgに対応するk1次元のベクトルM1∈Zq k1が、署名生成装置12(図3A)の入力部121に入力される。ベクトルM1はk1個の要素{0,1}∈Zq k1からなる行ベクトルである。ベクトルM1は記憶部122に格納される(ステップS121)。
署名検証処理を説明する。署名検証装置13は、署名検証関数TOS.Vrf(pk,z0,M1,σ)を実行する。図4Cに例示するように、タグz0、署名σ=(σ0,σ1)、およびベクトルM1が、署名検証装置13の入力部131に入力され、記憶部132に格納される。なお、入力部131に入力されるタグz0、署名σ=(σ0,σ1)、およびベクトルM1は、上述のように正しく生成されたものとは限らない(ステップS131)。
一般的なカメレオンハッシュ関数では、メッセージがあるハッシュ値になるような乱数を求めるためには、そのハッシュ値を生成したときに用いた乱数(および元のメッセージ)が必要となる。そのため、ハッシュ値をタグ(使い捨て公開鍵)として署名システムを構成する場合、その生成に利用した乱数(使い捨て秘密鍵)を保存する必要が生じてしまう。これに対し、本形態ではSIS問題の困難性に基づくカメレオンハッシュ関数を用いて署名システムを構成したため、そのような乱数(ベクトルσ0)を保存する必要はなく、秘密のトラップドアとハッシュ値のみから乱数(ベクトルσ0)を求めることができる。この特性を利用して、ハッシュ値に対応するベクトルをタグz0とし、トラップドアS0を長期の秘密鍵skとすることで、タグ付き使い捨て署名を構成できた。また、格子上の問題の一種であるSIS問題に基づいて安全性が担保されるため、量子計算機が実現したとしてもその安全性を保持できる。
第1実施形態のステップS124およびS134では、n1次元のベクトルh1を関数Tに入力してk0次元のベクトルz1=T(h1)を得た(図5B)。しかしながら、衝突が生じないようにn1次元のベクトルh1をk0次元のベクトルz1にマッピングできるのであれば、他の関数を用いてもよい。例えば、Zq n1→{0,1}k0なる関数Tに代えてZq n1+n2→{0,1}k0なる関数T’(例えば、ターゲット衝突困難なハッシュ関数)を用いることにし、n1次元のベクトルh1とn2次元のベクトルw1との連結h1|w1に対してk0次元のベクトルz1=T’(h1|w1)を得てもよい(図5C)。w1の例は公開鍵pk等の公開情報である。演算部124と演算部134とで同じw1が用いられる。
次に第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実施形態の鍵生成処理と相違するのは、n1=k0であり、関数Tが設定されない点である。図4Aに例示するように、まず、基底生成部111がステップS111を実行し、行列生成部212がn1=k0としたステップS112の処理を実行し(ステップS212)、鍵構成部213がS0,B0,A0,A1,B1を入力とし、公開鍵pk=(A0,B0,A1,B1,s)および秘密鍵sk=(S0)を構成して出力する(ステップS213)。その後、出力部114がステップS114の処理を行い、公開鍵pkは、署名生成装置22の入力部121および署名検証装置23の入力部131に入力され、記憶部122および記憶部132に格納される。秘密鍵skは署名生成装置22に安全に送られ、署名生成装置22の入力部121に入力され、記憶部122に安全に格納される。
本形態の署名生成処理は、第1実施形態の署名生成処理のステップS124をステップS224に置換したものである。ステップS224のみを説明する。ステップS224では、演算部224は、記憶部122から読み出した公開鍵pk、および選択部123から送られたベクトルσ1を入力とし、n1=k0次元のベクトルh1=A1M1+B1σ1∈Zq k0(図7A)を含む情報に対応するk0次元のベクトルz1を得る。本形態の演算部224は、k0次元のベクトルh1をそのままz1として出力する(図7B)。ベクトルz1は演算部126に送られる(ステップS224)。その他は、第1実施形態と同じである。
本形態の署名検証処理は、第1実施形態の署名検証処理のステップS134をステップS234に置換したものである。ステップS234のみを説明する。ステップS234では、演算部234が、記憶部132から、公開鍵pk、タグz0、署名σ=(σ0,σ1)、およびベクトルM1を読み出し、これらを用い、h1=A1M1+B1σ1(図7A)を含む情報に対応するk0次元のベクトルz1∈Zq k0を得る。本形態では、演算部234は、k0次元のベクトルh1をそのままベクトルz1として出力する(図7B)。ベクトルz1は判定部136に送られる(ステップS234)。その他は、第1実施形態と同じである。
第2実施形態のステップS224およびS234では、n1=k0次元のベクトルh1をそのままベクトルz1とした(図7B)。しかしながら、n1<k0とし、n1次元のベクトルh1とk0−n1次元のベクトルw1との連結h1|w1をそのままk0次元のベクトルz1としてもよい(図7C)。w1の例は公開鍵pk等の公開情報である。演算部224と演算部234とで同じw1が用いられる。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、素体Zqに代えて素体Zqを基礎体とした拡大体を用いてもよいし、qに素数以外の正整数を用いることで素体Zqに代えて環Zqを用いてもよい。また、上記の実施形態では、署名生成装置から署名検証装置に対し、署名とタグとメッセージに対応する情報とが同時に送られたが、これらが別々に送られてもよい。例えば、署名が送られる前にタグやメッセージが公開されてもよい。また、署名σ=(σ0,σ1)を構成するσ0およびσ1がガウス分布D(Zm1,s)に従ったものであることが明らかな場合等には、ステップS1362の処理が省略されてもよい。また、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。
11,21 鍵生成装置
12,22 署名生成装置
13,23 署名検証装置
Claims (8)
- n0,k0,m0,n1,k1,m1が1以上の整数、A0がn0行k0列の行例、B0がn0行m0列の行例、A1がn1行k1列の行例、B1がn1行m1列の行例、選択されたn0次元のベクトルがz0、選択されたm1次元のベクトルがσ1、M1がメッセージに対応するk1次元のベクトルであり、
A1M1+B1σ1を含む情報に対応するk0次元のベクトルz1を得る第1演算部と、
z0=A0z1+B0σ0を満たすm0次元のベクトルσ0を得る第2演算部と、
前記ベクトルσ0およびσ1を含む署名を出力する出力部と、
を有する署名生成装置。 - 請求項1の署名生成装置であって、
前記第2演算部は、前記行例B0に対応する秘密情報であるトラップドアS0を用いて前記ベクトルσ0を得る、署名生成装置。 - 請求項2の署名生成装置であって、
前記トラップドアS0は、B0r0=0を満たすm0次元のベクトルr0が属する部分ベクトル空間を張るm0次元の基底ベクトルの何れかである、署名生成装置。 - 請求項1から3の何れかの署名生成装置であって、
前記A1M1+B1σ1を含む情報がk0次元のベクトルである、署名生成装置。 - n0,k0,m0,n1,k1,m1が1以上の整数、A0がn0行k0列の行例、B0がn0行m0列の行例、A1がn1行k1列の行例、B1がn1行m1列の行列であり、
メッセージに対応するk1次元のベクトルM1、および、署名であるm1次元のベクトルσ1を用い、A1M1+B1σ1を含む情報に対応するk0次元のベクトルz1を得る演算部と、
少なくとも、前記ベクトルz1、入力されたn0次元のベクトルz0、および署名であるm0次元のベクトルσ0を用い、z0=A0z1+B0σ0を満たすことを必要条件とする検証条件を満たすかを判定する判定部と、
を有する署名検証装置。 - 請求項5の署名検証装置であって、
前記判定部は、前記ベクトルσ0およびσ1がガウス分布に従ったものであるかを判定し、
前記検証条件は、さらに前記ベクトルσ0およびσ1がガウス分布に従ったものであると判定されたことを含む、署名検証装置。 - n0,k0,m0,n1,k1,m1が1以上の整数、A0がn0行k0列の行例、B0がn0行m0列の行例、A1がn1行k1列の行例、およびB1がn1行m1列の行例であり、
選択されたn0次元のベクトルz0、選択されたm1次元のベクトルσ1、およびメッセージに対応するk1次元のベクトルM1を用い、A1M1+B1σ1を含む情報に対応するk0次元のベクトルz1を得、z0=A0z1+B0σ0を満たすm0次元のベクトルσ0を得、前記ベクトルσ0およびσ1を含む署名を出力する署名生成装置と、
前記ベクトルM1,σ0,σ1,z0を用い、A1M1+B1σ1を含む情報に対応するk0次元のベクトルz1を得、z0=A0z1+B0σ0を満たすことを必要条件とする検証条件を満たすかを判定する署名検証装置と、
を有する署名システム。 - 請求項1から4の何れかの署名生成装置、または、請求項5もしくは6の署名検証装置、としてコンピュータを機能させるためのプログラム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180060588A (ko) * | 2016-11-29 | 2018-06-07 | 서울대학교산학협력단 | 데이터 보안이 강화된 전자 서명 장치 및 방법 |
WO2020065928A1 (ja) * | 2018-09-28 | 2020-04-02 | 三菱電機株式会社 | 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム |
-
2014
- 2014-06-12 JP JP2014121062A patent/JP6139469B2/ja active Active
Non-Patent Citations (3)
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)
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 |