JP7322763B2 - 鍵生成装置、鍵生成方法及びプログラム - Google Patents

鍵生成装置、鍵生成方法及びプログラム Download PDF

Info

Publication number
JP7322763B2
JP7322763B2 JP2020043846A JP2020043846A JP7322763B2 JP 7322763 B2 JP7322763 B2 JP 7322763B2 JP 2020043846 A JP2020043846 A JP 2020043846A JP 2020043846 A JP2020043846 A JP 2020043846A JP 7322763 B2 JP7322763 B2 JP 7322763B2
Authority
JP
Japan
Prior art keywords
signature
matrix
key generation
key
public key
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
JP2020043846A
Other languages
English (en)
Other versions
JP2021145278A (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
Priority to JP2020043846A priority Critical patent/JP7322763B2/ja
Publication of JP2021145278A publication Critical patent/JP2021145278A/ja
Application granted granted Critical
Publication of JP7322763B2 publication Critical patent/JP7322763B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Description

本発明は、鍵生成装置、鍵生成方法及びプログラムに関する。
UOV(Unbalanced Oil and Vinegar)署名は1999年に提案されて以降、未だ解読されていないことから、耐量子署名として期待されている。UOV署名は多変数多項式を公開鍵とするため、公開鍵長及び署名長が大きくなる傾向がある。このため、通信負荷の削減等の観点から公開鍵長及び署名長の削減が重要な課題となっている。この課題に対して、UOV署名の公開鍵長及び署名長を圧縮する技術が非特許文献1に記載されている。
Alan Szepieniec and Bart Preneel, Block-Anti-Circulant Unbalanced Oil and Vinegar, published in IACR Cryptology ePrint Archive 2019.
しかしながら、上記の非特許文献1ではビットに変換したときにメモリに無駄が生じる場合があった。
本発明の一実施形態は、上記の点に鑑みてなされたもので、UOV署名の公開鍵長及び署名長の効率的な圧縮を可能にすることを目的とする。
上記目的を達成するため、一実施形態に係る鍵生成装置は、UOV署名の署名及び検証にそれぞれ用いられる秘密鍵及び公開鍵を生成する鍵生成装置であって、vinegar変数をx,・・・,x、oil変数をxv+1,・・・,x、v+o=nとして、対角成分が1の上三角行列、かつ、ブロック巡回行列であるn×n行列Tを生成する第1の生成手段と、標数が偶数の体の元を係数とするx,・・・,x,xv+1,・・・,xの多項式を表し、かつ、右下のo×o行列部分が零行列であるブロック巡回行列Fを生成する第2の生成手段と、{Fk=1,・・・,o,Tを前記秘密鍵、{P=F・T}k=1,・・・,oを前記公開鍵とする鍵生成手段と、を有することを特徴とする。
UOV署名の公開鍵長及び署名長を効率的に圧縮することができる。
本実施形態に係るデジタル署名システムの全体構成の一例を示す図である。 本実施形態に係る署名・検証処理の一例を示すシーケンス図である。 本実施形態に係る署名装置及び検証装置のハードウェア構成の一例を示す図である。
以下、本発明の一実施形態について説明する。本実施形態では、UOV署名の公開鍵長及び署名長を効率的に圧縮することが可能なデジタル署名システム1について説明する。UOV署名とは多変数多項式問題に基づく署名であり、その公開鍵と秘密鍵の中心写像はoil変数とvinegar変数という2種類の変数を持つ二次多項式で表される。特に、UOV署名ではoil変数の二次式を持たないため、二次多項式を行列表示した際に零行列が部分的に含まれる。すなわち、x,・・・,xをvinegar変数、xv+1,・・・,xをoil変数、v+o=nとした場合、二次多項式の表現行列にはo×oの零行列が部分的に含まれる。なお、一般にv≫oである。
<用語の定義>
まず、本明細書で使用するいくつかの用語を定義する。
・巡回行列:1行目の行ベクトルを基準に、2行目以降の各行ベクトルが1つ前の行ベクトルの要素を右方向に循環させた形となっている行列である。例えば、3×3の巡回行列は、
Figure 0007322763000001
と表される。
・反巡回行列:1行目の行ベクトルを基準に、2行目以降の各行ベクトルが1つ前の行ベクトルの要素を左方向に循環させた形となっている行列である。例えば、3×3の反巡回行列は、
Figure 0007322763000002
と表される。
・ブロック巡回行列:各行列ブロックが巡回行列となっているブロック行列である。
・ブロック反巡回行列:各行列ブロックが反巡回行列となっているブロック行列である。
[i:j,k:l]:(i,k)を始点、(j,l)を終点とした行列Aの一部である。つまり、行列Aの(i,k)要素を左上の要素、行列Aの(j,l)要素を右下の要素とする(j-i+1)×(l-k+1)の行列ブロックである。
<Petzoldtの公開鍵長圧縮法>
次に、Petzoldtの公開鍵長圧縮法について説明する。
Figure 0007322763000003
とする。ここで、x=(x,・・・,x,xv+1,・・・,x)である。また、pij (k)及びfij (k)は二次の項の係数、p (k)及びf (k)は一次の項の係数、p (k)及びf (k)は定数項である。
公開鍵は、秘密鍵用多項式とアフィン写像T=(tij)を用いて、P=F・Tで導出される。ここで、或る正の整数をmとして、Fはkに関してFを縦に並べたベクトルであり、Pはkに関してPを縦に並べたベクトルである。
このとき、
Figure 0007322763000004
と表記されるため、p'を公開鍵用多項式の表現行列、f'を秘密鍵用多項式の表現行列、
Figure 0007322763000005
とした場合、p'=A'・f'と表現可能である。
UOV署名ではf'がoil変数に関しての一次多項式になっているため、右下のo×o行列部分が零行列となる構造を持っている。このため、p'に含まれる係数のうち、ランダムに選ぶことが可能な部分は、
Figure 0007322763000006
個である。したがって、この部分を短いシードから生成することで、公開鍵長(及び署名長)の圧縮が可能となる。
<非特許文献1に記載されている公開鍵及び署名長の圧縮法の概要>
v=V×l,o=O×l,N=O+Vとする。また、各行列ブロックの行及び列の長さをl(つまり、各行列ブロックは要素数lのl×l行列)、Tをブロック巡回行列、Fを右下のo×o行列部分が零行列であるブロック反巡回行列とする(すなわち、Fk[0:o,0:o]=0)。
このとき、公開鍵用多項式P=F・Tはブロック反巡回行列(つまり、N×N個の行列ブロックで構成されるn×nのブロック反巡回行列)となっており、公開鍵が
Figure 0007322763000007
に圧縮されている形になる。これは、各行列ブロックはl×lの反巡回行列であるため、これらの各行列ブロックから巡回する行を1つずつ抽出すればよいためである。なお、n=Nlとなっている。
したがって、この巡回する行を更に短いシードから生成することで、公開鍵長(及び署名長)を圧縮している。なお、この圧縮法の詳細については、非特許文献1を参照されたい。
<本実施形態に係る公開鍵長及び署名長の圧縮法>
上述したように、非特許文献1に記載されている公開鍵及び署名長の圧縮法では、対称行列である秘密鍵、公開鍵に反巡回行列を使用している。また、対称行列の要素の空間の標数が偶数の体であると表現行列が相殺して0になってしまうため、非特許文献1に記載されている公開鍵及び署名長の圧縮法では、標数が奇数の体を用いている。
そこで、本実施形態に係る公開鍵長及び署名長の圧縮法では、非特許文献1に記載されている圧縮法を改良して、秘密鍵用多項式F及び公開鍵用多項式Pをブロック巡回行列とすると共に、これらの多項式の係数の空間として標数が偶数の体を用いることで、公開鍵長(及び署名長)の更なる圧縮を実現する。
具体的には、v=V×l,o=O×l,n=v+o,N=O+Vとする。署名生成者は、対角成分が1の上三角行列かつブロック巡回行列であるn×n行列Tを生成する。次に、秘密鍵の中心写像となる多項式F(ただし、各係数は、標数が偶数の体の元)を右下のo×o行列部分が零行列であるブロック巡回行列とする(すなわち、Fk[0:o,0:o]=0)。また、P=F・Tとする。なお、PはN×N個の行列ブロックで構成されるn×nのブロック巡回行列となる(したがって、n=Nlである。)。
このとき、秘密鍵を{Fk=1,・・・,o,T、公開鍵を{Pk=1,・・・,oとする。
<デジタル署名システム1の全体構成>
次に、本実施形態に係るデジタル署名システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係るデジタル署名システム1の全体構成の一例を示す図である。
図1に示すように、本実施形態に係るデジタル署名システム1には、署名装置10と、検証装置20とが含まれる。署名装置10と検証装置20は、例えば、インターネット等の任意の通信ネットワーク30を介して通信可能に接続される。
署名装置10は、UOV署名の公開鍵及び秘密鍵を生成した上で、この秘密鍵を用いてメッセージに対する署名を生成する。このとき、署名装置10は、本実施形態に係る公開鍵長及び署名長の圧縮法によって圧縮された公開鍵を生成する。ここで、署名装置10は、鍵生成部101と、署名生成部102と、通信部103とを有する。なお、秘密鍵及び公開鍵はそれぞれ署名鍵及び検証鍵と称されてもよい。
鍵生成部101は、UOV署名の公開鍵及び秘密鍵を生成する。署名生成部102は、秘密鍵を用いて、メッセージに対する署名を生成する。通信部103は、検証装置20との間で各種情報の送受信(例えば、署名及びメッセージの送信等)を行う。
検証装置20は、署名装置10で生成された公開鍵により署名を検証する。ここで、検証装置20は、検証部201と、通信部202とを有する。検証部201は、公開鍵を用いて、署名を検証する。通信部202は、署名装置10との間で各種情報の送受信(例えば、署名及びメッセージの受信等)を行う。
なお、図1に示すデジタル署名システム1の構成は一例であって、他の構成であってもよい。例えば、デジタル署名システム1には、複数の署名装置10が含まれていてもよいし、複数の検証装置20が含まれていてもよい。
<署名・検証処理>
次に、本実施形態に係る署名・検証処理について、図2を参照しながら説明する。図2は、本実施形態に係る署名・検証処理の一例を示すシーケンス図である。
まず、署名装置10の鍵生成部101は、上述したように秘密鍵{Fk=1,・・・,o,Tと公開鍵{Pk=1,・・・,oとを生成する(ステップS101)。すなわち、鍵生成部101は、v=V×l,o=O×l,n=v+o,N=O+Vとして、対角成分が1の上三角行列かつブロック巡回行列であるn×n行列Tを生成すると共に、秘密鍵の中心写像となる多項式F(ただし、各係数は、標数が偶数の体の元)を右下のo×o行列部分が零行列であるブロック巡回行列とする。そして、鍵生成部101は、P=F・Tとすることで、秘密鍵{Fk=1,・・・,o,Tと公開鍵{Pk=1,・・・,oとを生成する。なお、公開鍵{Pk=1,・・・,oは公開される。
次に、署名装置10の署名生成部102は、上記のステップS101で生成された秘密鍵{Fk=1,・・・,o,Tを用いて、メッセージmに対する署名σを生成する(ステップS102)。なお、署名σの生成方法は、既知のUOV署名と同様である。
次に、署名装置10の通信部103は、上記のステップS102で生成された署名σとメッセージmとを検証装置20に送信する(ステップS103)。
検証装置20の検証部201は、通信部202により署名σ及びメッセージmを受信すると、公開鍵{Pk=1,・・・,oを用いて、署名σを検証する(ステップS104)。なお、署名σの検証方法は、既知のUOV署名と同様である。
以上により、本実施形態に係るデジタル署名システム1では、非特許文献1に記載されている圧縮法を改良して、秘密鍵用多項式F及び公開鍵用多項式Pをブロック巡回行列とすると共に、これらの多項式の係数の空間として標数が偶数の体を用いて、秘密鍵及び公開鍵を生成する。これにより、公開鍵長及び署名長の更なる圧縮を実現することが可能となる。これは、標数2の体を元とした空間で計算が可能になると、ビット変換したときに計算に必要なメモリを節約することができるためである。
例えば、位数11の体であれば元の表現に4ビット必要(11<2であるため)であるためメモリに無駄が生じてしまうが、位数8の体であれば3ビットちょうどで元を表現することができるためメモリを効率的に使用することができる。すなわち、必要なセキュリティレベルを満たすパラメータを抑えることが可能になる。このため、本実施形態に係るデジタル署名システム1は、例えば、無線放送等の負荷が大きい多人数通信に適用することが特に効果的である。
<署名装置10及び検証装置20のハードウェア構成>
最後に、本実施形態に係る署名装置10及び検証装置20のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係る署名装置10及び検証装置20のハードウェア構成の一例を示す図である。なお、署名装置10及び検証装置20は同様のハードウェア構成により実現可能であるため、以降では、主に、署名装置10のハードウェア構成について説明する。
図3に示すように、本実施形態に係る署名装置10は一般的なコンピュータ又はコンピュータシステムであり、入力装置301と、表示装置302と、外部I/F303と、通信I/F304と、プロセッサ305と、メモリ装置306とを有する。これらの各ハードウェアは、それぞれがバス307を介して通信可能に接続されている。
入力装置301は、例えば、キーボードやマウス、タッチパネル等である。表示装置302は、例えば、ディスプレイ等である。なお、署名装置10は、入力装置301及び表示装置302のうちの少なくとも一方を有していなくてもよい。同様に、検証装置20は、入力装置301及び表示装置302のうちの少なくとも一方を有していなくてもよい。
外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。署名装置10は、外部I/F303を介して、記録媒体303aの読み取りや書き込み等を行うことができる。なお、記録媒体303aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
通信I/F304は、署名装置10を通信ネットワーク30に接続するためのインタフェースである。
プロセッサ305は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。署名装置10が有する各機能部(鍵生成部101、署名生成部102及び通信部103)は、例えば、メモリ装置306に格納されている1以上のプログラムがプロセッサ305に実行させる処理により実現される。同様に、検証装置20が有する各機能部(検証部201及び通信部202)は、例えば、メモリ装置306に格納されている1以上のプログラムがプロセッサ305に実行させる処理により実現される。
メモリ装置306は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
本実施形態に係る署名装置10及び検証装置20は、図3に示すハードウェア構成を有することにより、上述した署名・検証処理を実現することができる。図3に示すハードウェア構成は一例であって、署名装置10及び検証装置20は、他のハードウェア構成を有していてもよい。例えば、署名装置10又は/及び検証装置20は、複数のプロセッサ305を有していてもよいし、複数のメモリ装置306を有していてもよい。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
1 デジタル署名システム
10 署名装置
20 検証装置
30 通信ネットワーク
101 鍵生成部
102 署名生成部
103 通信部
201 検証部
202 通信部
301 入力装置
302 表示装置
303 外部I/F
303a 記録媒体
304 通信I/F
305 プロセッサ
306 メモリ装置
307 バス

Claims (4)

  1. UOV署名の署名及び検証にそれぞれ用いられる秘密鍵及び公開鍵を生成する鍵生成装置であって、
    vinegar変数をx,・・・,x、oil変数をxv+1,・・・,x、v+o=nとして、対角成分が1の上三角行列、かつ、ブロック巡回行列であるn×n行列Tを生成する第1の生成手段と、
    標数が偶数の体の元を係数とするx,・・・,x,xv+1,・・・,xの多項式を表し、かつ、右下のo×o行列部分が零行列であるブロック巡回行列Fを生成する第2の生成手段と、
    {Fk=1,・・・,o,Tを前記秘密鍵、{P=F・T}k=1,・・・,oを前記公開鍵とする鍵生成手段と、
    を有することを特徴とする鍵生成装置。
  2. 前記鍵生成手段は、
    ブロック巡回行列を構成する各行列ブロックの行及び列の長さをl、v=V×l,o=O×l,n=v+o,N=O+Vとして、各k=1,・・・,oに対して、l×lの巡回行列がN×N個で構成されるn×nのブロック巡回行列P=F・Tを前記公開鍵として生成する、ことを特徴とする請求項1に記載の鍵生成装置。
  3. UOV署名の署名及び検証にそれぞれ用いられる秘密鍵及び公開鍵を生成する鍵生成装置が実行する鍵生成方法であって、
    vinegar変数をx,・・・,x、oil変数をxv+1,・・・,x、v+o=nとして、対角成分が1の上三角行列、かつ、ブロック巡回行列であるn×n行列Tを生成する第1の生成手順と、
    標数が偶数の体の元を係数とするx,・・・,x,xv+1,・・・,xの多項式を表し、かつ、右下のo×o行列部分が零行列であるブロック巡回行列Fを生成する第2の生成手順と、
    {Fk=1,・・・,o,Tを前記秘密鍵、{P=F・T}k=1,・・・,oを前記公開鍵とする鍵生成手順と、
    が含まれることを特徴とする鍵生成方法。
  4. コンピュータを、請求項1又は2に記載の鍵生成装置における各手段として機能させるためのプログラム。
JP2020043846A 2020-03-13 2020-03-13 鍵生成装置、鍵生成方法及びプログラム Active JP7322763B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020043846A JP7322763B2 (ja) 2020-03-13 2020-03-13 鍵生成装置、鍵生成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020043846A JP7322763B2 (ja) 2020-03-13 2020-03-13 鍵生成装置、鍵生成方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2021145278A JP2021145278A (ja) 2021-09-24
JP7322763B2 true JP7322763B2 (ja) 2023-08-08

Family

ID=77767286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020043846A Active JP7322763B2 (ja) 2020-03-13 2020-03-13 鍵生成装置、鍵生成方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7322763B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002543478A (ja) 1999-04-29 2002-12-17 ブル・セー・ペー・8 公開鍵を署名する方法とシステム
WO2011033642A1 (ja) 2009-09-17 2011-03-24 株式会社 東芝 署名生成装置及び署名検証装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002543478A (ja) 1999-04-29 2002-12-17 ブル・セー・ペー・8 公開鍵を署名する方法とシステム
WO2011033642A1 (ja) 2009-09-17 2011-03-24 株式会社 東芝 署名生成装置及び署名検証装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DING, J. and SCHMIDT, D.,Rainbow, a New Multivariable Polynomial Signature Scheme,Lecture Notes in Computer Science,Springer,2005年,Vol. 3531,pp.164-175
SZEPIENIEC, A. and PRENEEL, B.,Block-Anti-Circulant Unbalanced Oil and Vinegar,Cryptology ePrint Archive,Paper 2019/046 ver:20190620:105734,[online],2019年06月20日,pp.1-15,<URL:https://eprint.iacr.org/2019/046>

Also Published As

Publication number Publication date
JP2021145278A (ja) 2021-09-24

Similar Documents

Publication Publication Date Title
RU2691874C2 (ru) Способ защиты информации в облачных вычислениях с использованием гомоморфного шифрования
JP4334582B2 (ja) 秘密分散装置、方法及びプログラム
JP4304215B2 (ja) 秘密分散装置、方法及びプログラム
JP7031682B2 (ja) 秘密計算装置、システム、方法、プログラム
CN108923907B (zh) 一种基于模容错学习问题的同态内积方法
CN103270546B (zh) 签名生成装置、签名生成方法以及记录介质
JP6844897B2 (ja) ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム
JP6273226B2 (ja) 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
JP6767933B2 (ja) パラメータ変換方法、パラメータ変換装置、パラメータ変換プログラム、ペアリング演算方法、ペアリング演算装置、及びペアリング演算プログラム
JP7322763B2 (ja) 鍵生成装置、鍵生成方法及びプログラム
WO2019039383A1 (ja) シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体
US7685211B2 (en) Deterministic file content generation of seed-based files
CN111758127B (zh) 秘密计算装置及其方法、秘密计算认证系统以及记录介质
JPWO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
WO2020188906A1 (ja) 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム
US11909867B2 (en) Key exchange system, method and program for generating a shared key for secure communication
JP6321216B2 (ja) 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム
CN114282922A (zh) 一种基于冷钱包的区块链交易处理方法及装置
KR102019558B1 (ko) 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법
JP5573041B2 (ja) 情報処理装置、コード生成方法、コード検証方法およびプログラム
CN111931202A (zh) 用于分布式系统的加密存储方法、终端设备和存储介质
WO2024018596A1 (ja) テーブル作成装置、テーブル作成方法及びプログラム
Lian et al. Bootstrapping of FHE over the integers with large message space
CN114389815B (zh) 用于选举区块链网络中节点的方法及其相关产品
WO2024028961A1 (ja) 暗号システム、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230710

R150 Certificate of patent or registration of utility model

Ref document number: 7322763

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150