JP6818949B2 - 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム - Google Patents
署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム Download PDFInfo
- Publication number
- JP6818949B2 JP6818949B2 JP2020540506A JP2020540506A JP6818949B2 JP 6818949 B2 JP6818949 B2 JP 6818949B2 JP 2020540506 A JP2020540506 A JP 2020540506A JP 2020540506 A JP2020540506 A JP 2020540506A JP 6818949 B2 JP6818949 B2 JP 6818949B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- hash value
- verification
- equation
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims description 60
- 238000000034 method Methods 0.000 title claims description 44
- 230000006870 function Effects 0.000 claims description 26
- 238000003860 storage Methods 0.000 description 38
- 230000015654 memory Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 19
- 239000013598 vector Substances 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000009826 distribution Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 4
- 239000008000 CHES buffer Substances 0.000 description 2
- MKWKNSIESPFAQN-UHFFFAOYSA-N N-cyclohexyl-2-aminoethanesulfonic acid Chemical compound OS(=O)(=O)CCNC1CCCCC1 MKWKNSIESPFAQN-UHFFFAOYSA-N 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Algebra (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Storage Device Security (AREA)
Description
ネットワークを介して通信を行う際には、受け取ったデータが本当に送信者から送られたデータであり、かつ、受け取ったデータが改ざんされていないデータであるというデータの正当性を確かめられるようにする必要がある。送信側でデータに署名を付随させ、受信側でデータに付随する署名を検証することにより、データの正当性を検証することができる。
ある格子についての最短ベクトル問題は、その格子に含まれる最も短いベクトルを見つける問題である。格子暗号は、最短ベクトル問題を解くことが量子コンピュータにとっても困難であることを安全性の根拠としているため、格子暗号は、量子コンピュータが実現されたとしても安全であると考えられている暗号方式の1つである。
この発明は、量子コンピュータに対しても安全性が保証可能なディジタル署名方式を構成可能にすることを目的とする。
メッセージμのハッシュ値cと秘密鍵とのMiddle−Productを計算して署名要素zを生成する署名生成部と、
前記署名生成部によって生成された前記署名要素zを含む署名σを出力する出力部と
を備える。
図1を参照して、実施の形態1に係る署名システム1の構成を説明する。
署名システム1は、鍵生成装置10と、署名装置20と、検証装置30とを備える。鍵生成装置10と、署名装置20と、検証装置30とは、インターネットといった通信路40を介して接続されている。通信路40は、インターネットに限らず、LAN(Local Area Network)といった他の種別の通信路であってもよい。
鍵生成装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ13には、鍵生成装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、鍵生成装置10の各機能構成要素の機能が実現される。
ストレージ13は、鍵記憶部131の機能を実現する。
署名装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ23には、署名装置20の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、署名装置20の各機能構成要素の機能が実現される。
ストレージ23は、鍵記憶部231の機能を実現する。
検証装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ33には、検証装置30の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、検証装置30の各機能構成要素の機能が実現される。
ストレージ33は、鍵記憶部331と、結果記憶部332との機能を実現する。
これら複数のプロセッサは、各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ11,21,31と同じように、演算処理を行うICである。
図5から図9を参照して、実施の形態1に係る署名システム1の動作を説明する。
実施の形態1に係る署名システム1の動作は、実施の形態1に係る署名方法に相当する。また、実施の形態1に係る署名システム1の動作は、実施の形態1に係る署名プログラムの処理に相当する。
実施の形態1に係る署名システム1の動作の説明に必要な情報を説明する。
<記法>
以下の説明で用いる記法を説明する。
自然数の集合を数11で表し、整数の集合を数12で表す。以下、文章中では、自然数の集合をNと表し、整数の集合をZと表す。
ディジタル署名は、KeyGenアルゴリズムと、Signアルゴリズムと、Verifyアルゴリズムとの3つのアルゴリズムからなる。
MPLWEは、文献(Miruma Rosca, Amin Sakzad, Damien Stehle, and Ron Steinfeld. Middle−Product Learning with Errors. In CRYPTO, pages 283-297, 2017.)に記載されている。
任意のd,k>0と、a∈R<kとに対して、i行目(i=1,...,d)がxi−1・aの係数ベクトルであるようなRd×(k+d−1)の行列をToepd,k(a)で表し、Toeplitz行列と呼ぶ。
da,db,d,kをda+db−1=d+2kを満たす整数とする。数20に示すMiddle−Productの写像は、数21に示す写像である。
(補題2)
d,k,n>0とする。全てのr∈R<k+1,a∈R<n,s∈R<n+d+k−1に対して、数26が成立する。
(系2)
補題2と同じr∈R<k+1,a∈R<n,s∈R<n+d+k−1に対して、数27が成立する。
n,d>0、q≧2、χをR<d上の分布とする。s∈Zに対して、Zq <n[x]×Rq <d上の分布MPLWEq,n,d,χ(s)は、数28に示すように、a,eをサンプルし、数29を返す分布である。
n,d>0、q≧2、χをR<d上の分布とする。MPLWEn,d,q,χ問題は、MPLWEn,d,q,χ(s)からの任意個のサンプルと、Zq <n[x]×Rq <dからの同じ個数のサンプルとを識別する問題である。
任意の攻撃者Aに対して、MPLWEn,d,q,χ問題についての攻撃者Aの優位性は、数30のように定義される。
実施の形態1に係る署名システム1によって実現されるディジタル署名で用いられるアルゴリズムを説明する。
アルゴリズムで用いられる記法を説明する。
任意の整数rと、任意の偶数(または奇数)である整数α>0とについて、r’=r mod± αをr’=r mod αを満たす一意の要素r’∈(−α/2,α/2](整数αが奇数の場合には、r’∈[−(α−1)/2,(α−1)/2))とする。また、r’=r mod+ αをr’=r mod αを満たす一意な整数r’∈[0,α)とする。
このアルゴリズムは、文献(Leo Ducas, Eike Kiltz, Tancrede Lepoint, Vadim Lyubashevsky, Peter Schwabe, Gregor Seiler,and Damien Stehle. CRYSTALS − Dilithium: A Lattice−based Digital Signature Scheme. In CHES, pages 238-268, 2018.)に記載されている。
アルゴリズムは整数上で定義されている。しかし、係数毎にアルゴリズムを適用することで多項式に対しても簡単に一般化することができる。
Prower2Roundq(r,d)アルゴリズムは、rを2dで区切った上位ビットを出力するアルゴリズムである。
具体的には、Prower2Roundq(r,d)アルゴリズムでは、r:=r mod+ qが計算され、さらにr0:=r mod± 2dが計算される。そして、(r−r0)/2dが出力される。
Decomposeq(r,α)アルゴリズムは、rをαで区切った上位ビットr1と下位ビットr0とを出力するアルゴリズムである。
具体的には、Decomposeq(r,α)アルゴリズムでは、r:=r mod+ qが計算され、さらにr0:=r mod± αが計算される。もし、r−r0=q−1なら、r1:=0が設定され、r0:=r0−1が設定される。そうでなければ、r1:=(r−r0)/αが設定される。そして、r1及びr0が出力される。
HighBitsq(r,α)アルゴリズムは、rをαで区切った上位ビットr1を出力するアルゴリズムである。
具体的には、HighBitsq(r,α)アルゴリズムでは、(r0,r1):=Decomposeq(r,α)が計算され、r1が出力される。
LowBitsq(r,α)アルゴリズムは、rをαで区切った下位ビットr0を出力するアルゴリズムである。
具体的には、LowBitsq(r,α)アルゴリズムでは、(r0,r1):=Decomposeq(r,α)が計算され、r0が出力される。
UseHintq(h,r,α)アルゴリズムは、後述するMakeHintq(z,r,α)アルゴリズムの情報に応じて、r+zの上位ビットを復元する。
具体的には、UseHintq(h,r,α)アルゴリズムでは、m:=(q−1)/αが設定され、(r0,r1):=Decomposeq(r,α)が計算される。h=1かつr0>0であれば、(r1+1) mod+ mが出力される。h=1かつr0≦0であれば、(r1−1) mod+ mが出力される。
MakeHintq(z,r,α)アルゴリズムは、rに小さい値zを足した場合に、rの上位ビットが変化するか否かを示す情報を出力する。
具体的には、MakeHintq(z,r,α)アルゴリズムでは、r1:=HighBitsq(r,α)と、v1:=HighBitsq(r+z,α)とが計算される。そして、数33が出力される。
qとαとは、q>2αと、数34とを満たし、αは偶数である正の整数とする。rとzとはRq <nの要素であり、数35であり、h,h’は二進ベクトルであるとする。
性質1:UseHintq(MakeHintq(z,r,α),r,α)=HighBitsq(r+z,α)である。
性質2:v1:=UseHintq(h,r,α)とすると、数36となる。
以下では、Cは多項式の集合である。要素のL∞ノルムは、1であり、L2ノルムは多項式がλビットのmin−エントロピーを持つように制限される。また、以下の説明におけるβ、β’、γ、γ’、δは、安全性を考慮して決定される値であり、高い安全性を設定するほど、大きい値が設定される。
図5を参照して、実施の形態1に係る鍵生成装置10の動作を説明する。
実施の形態1に係る鍵生成装置10の動作は、実施の形態1に係る鍵生成方法に相当する。また、実施の形態1に係る鍵生成装置10の動作は、実施の形態1に係る鍵生成プログラムの処理に相当する。
鍵生成装置10は、ディジタル署名の3つのアルゴリズムのうち、KeyGenアルゴリズムを実現する。
受付部111は、セキュリティパラメータλの入力を受け付ける。
具体的には、受付部111は、鍵生成装置10の利用者によって入力装置が操作され入力されたセキュリティパラメータλを受け付ける。受付部111は、セキュリティパラメータλをメモリ12に書き込む。
鍵生成部112は、セキュリティパラメータλをメモリ12から読み出す。鍵生成部112は、セキュリティパラメータλを入力として、秘密鍵skと、公開鍵pkとのペアを生成する。
(ステップS121:パラメータ設定処理)
鍵生成部112は、セキュリティパラメータλをメモリ12から読み出す。鍵生成部112は、n=n(λ)、d=d(λ)、k=k(λ)、q=q(λ)を設定する。つまり、n,d,k,qはセキュリティパラメータλによって決まる値である。
鍵生成部112は、一様ランダムにa∈Rq <nを生成する。
具体的には、鍵生成部112は、数40に示すようにランダムにシードρを選択する。
鍵生成部112は、秘密鍵sk:=(a,s1,s2,t0)を設定する。また、鍵生成部112は、公開鍵pk:=(a,t0,t1)を設定する。鍵生成部112は、秘密鍵sk及び公開鍵pkをメモリ12に書き込むとともに、鍵記憶部131に書き込む。
送信部113は、秘密鍵sk及び公開鍵pkをメモリ12から読み出す。送信部113は、秘密鍵skを通信インタフェース14及び通信路40を介して署名装置20に秘密裡に送信する。すると、署名装置20の受付部211は、秘密鍵skを受け付け、鍵記憶部231に書き込む。また、送信部113は、公開鍵pkを通信インタフェース14及び通信路40を介して検証装置30に送信する。すると、検証装置30の受付部311は、公開鍵pkを受け付け、鍵記憶部331に書き込む。
ここで、密裡に送信するとは、例えば、既存の暗号化方式により暗号化した上で送信することである。なお、秘密鍵sk及び公開鍵pkは、可搬記憶媒体に記憶した上で郵送などにより直接的に送信してもよい。公開鍵と秘密鍵は外部の装置で生成されてもよい。
図7を参照して、実施の形態1に係る署名装置20の動作を説明する。
実施の形態1に係る署名装置20の動作は、実施の形態1に係る署名生成方法に相当する。また、実施の形態1に係る署名装置20の動作は、実施の形態1に係る署名生成プログラムの処理に相当する。
署名装置20は、ディジタル署名の3つのアルゴリズムのうち、Signアルゴリズムを実現する。
受付部211は、メッセージμの入力を受け付ける。
具体的には、受付部211は、署名装置20の利用者によって入力装置が操作され入力されたメッセージμを受け付ける。受付部211は、メッセージμをメモリ22に書き込む。
署名生成部212は、秘密鍵skを鍵記憶部231から読み出すとともに、メッセージμをメモリ22から読み出す。署名生成部212は、秘密鍵sk及びメッセージμを入力として、メッセージμに対する署名σを生成する。
署名生成部212は、数44に示すように、要素wを生成する。
署名生成部212は、ハッシュ値cと、秘密鍵skの要素s1と、乱数yとを入力として、数46に示すように、署名σの要素zを生成する。
署名生成部212は、数47と数48とのいずれかであるか否かを判定する。
一方、署名生成部212は、数47と数48とのいずれでもない場合には、数49に示すように署名要素hを生成する。
署名生成部212は、署名σ:=(h,z,c)を設定する。署名生成部212は、署名σをメモリ22に書き込む。
出力部213は、署名生成部212によって生成された署名要素hと署名要素zとハッシュ値cとを含む署名σ及びメッセージμを出力する。
具体的には、出力部213は、通信インタフェース24及び通信路40を介して、署名σ及びメッセージμを検証装置30に送信する。すると、検証装置30の受付部311は、署名σ及びメッセージμを受け付け、メモリ32に書き込む。
図9を参照して、実施の形態1に係る検証装置30の動作を説明する。
実施の形態1に係る検証装置30の動作は、実施の形態1に係る検証方法に相当する。また、実施の形態1に係る検証装置30の動作は、実施の形態1に係る検証プログラムの処理に相当する。
検証装置30は、ディジタル署名の3つのアルゴリズムのうち、Verifyアルゴリズムを実現する。
検証部312は、公開鍵pkを鍵記憶部331から読み出すとともに、署名σ及びメッセージμをメモリ32から読み出す。
検証部312は、数50に示すように要素w’1を生成する。
検証部312は、数51が成立するか否かを判定する。
検証部312は、要素w’1及びメッセージμ入力として、ハッシュ関数Hによりハッシュ値c’を計算する。つまりc:=H(w’1,μ)である。検証部312は、署名σに含まれるハッシュ値cと、計算されたハッシュ値c’とが等しいか否かを判定する。
検証部312は、ハッシュ値cとハッシュ値c’とが等しい場合には、処理をステップS35に進める。一方、検証部312は、ハッシュ値cとハッシュ値c’とが等しくない場合には、処理をステップS36に進める。
検証部312は、メッセージμが正当であると判定する。メッセージμが正当であるとは、メッセージμが改ざんされておらず、かつ、メッセージμが秘密鍵skの保有者によって送信されたという意味である。
そして、検証部312は、メッセージμが正当であることを示す値1を出力する。
検証部312は、メッセージμが不当であると判定する。メッセージμが不当であるとは、メッセージμが改ざんされている場合と、メッセージμが秘密鍵skの保有者以外によって送信された場合との少なくともいずれかの場合であるという意味である。
そして、検証部312は、メッセージμが不当であることを示す値0を出力する。
図8のステップS222で生成された要素w1と、図9のステップS32で生成された要素w’1とが等しければ、ハッシュ値cとハッシュ値c’とが等しくなる。そこで、ここでは、要素w1と要素w’1とが等しくなることを説明する。
数54に示すtを代入することにより、数52の3行目から4行目に変形される。
数52における数55及び数56をキャンセルすることにより、数52の5行目から6行目に変形される。ここで、補題2に基づき、数55及び数56はキャンセル可能である。
以上のように、実施の形態1に係る署名システム1では、署名装置20は、メッセージμのハッシュ値cと秘密鍵skの要素s1とのMiddle−Productを計算して署名σの要素である署名要素zを生成する。また、検証装置30は、署名σの要素である署名要素zと公開鍵pkの要素aとのMiddle−Productを計算するとともに、署名σの要素であるハッシュ値cと公開鍵pkの要素t1とのMiddle−Productを計算して、署名σを検証する。
これにより、MPLWE仮定を安全性の根拠とすることが可能となり、量子コンピュータに対しても安全性が保証可能なディジタル署名方式を構成可能にすることができる。
<変形例1>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例1として、各機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
各機能構成要素がハードウェアで実現される場合には、鍵生成装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、署名装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、各機能構成要素と、メモリ22と、ストレージ23との機能とを実現する専用の回路である。
各機能構成要素がハードウェアで実現される場合には、検証装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、電子回路35を備える。電子回路35は、各機能構成要素と、メモリ32と、ストレージ33との機能とを実現する専用の回路である。
各機能構成要素を1つの電子回路15,25,35で実現してもよいし、各機能構成要素を複数の電子回路15,25,35に分散させて実現してもよい。
変形例2として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
Claims (8)
- 前記公開鍵は、ランダムな多項式aと秘密鍵とのMiddle−Productを計算して生成された
請求項2に記載の検証装置。 - 受付部が、メッセージμのハッシュ値cと秘密鍵とのMiddle−Productを計算して生成された署名要素zと、前記ハッシュ値cとを含む署名σであって、数10に示す署名要素hと前記署名要素zと前記ハッシュ値cとを含む署名σを受け付ける受付処理と、
検証部が、前記受付処理によって受け付けられた前記署名要素zと公開鍵とのMiddle−Productを数11に示すように計算して得られた値w’ 1 と、前記メッセージμとを入力として、ハッシュ値c’を計算し、計算されたハッシュ値c’と、前記署名σに含まれるハッシュ値cとが一致するか否かを判定することにより、前記署名σを検証する検証処理と
を行う検証装置としてコンピュータを機能させる検証プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/036338 WO2020065928A1 (ja) | 2018-09-28 | 2018-09-28 | 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020065928A1 JPWO2020065928A1 (ja) | 2021-01-07 |
JP6818949B2 true JP6818949B2 (ja) | 2021-01-27 |
Family
ID=69952943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020540506A Active JP6818949B2 (ja) | 2018-09-28 | 2018-09-28 | 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210211303A1 (ja) |
JP (1) | JP6818949B2 (ja) |
CN (1) | CN112740618A (ja) |
WO (1) | WO2020065928A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102444193B1 (ko) * | 2020-04-29 | 2022-09-19 | 국방과학연구소 | Ring-LWR기반 양자내성 서명 방법 및 그 시스템 |
CN112087294B (zh) * | 2020-08-13 | 2022-03-18 | 中国电子科技集团公司第三十研究所 | 一种基于密态哈希标签防护的便携式安全计算机系统 |
CN112468292B (zh) * | 2020-11-16 | 2022-09-23 | 南京大学 | 一种量子数字签名方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL156606A (en) * | 2003-06-23 | 2011-07-31 | Aviad Kipnis | Digital certificates |
CN1954547B (zh) * | 2005-04-18 | 2010-09-15 | 松下电器产业株式会社 | 签名生成装置和签名验证装置 |
JP6139469B2 (ja) * | 2014-06-12 | 2017-05-31 | 日本電信電話株式会社 | 署名生成装置、署名検証装置、検証システム、およびプログラム |
-
2018
- 2018-09-28 WO PCT/JP2018/036338 patent/WO2020065928A1/ja active Application Filing
- 2018-09-28 CN CN201880097803.XA patent/CN112740618A/zh active Pending
- 2018-09-28 JP JP2020540506A patent/JP6818949B2/ja active Active
-
2021
- 2021-03-23 US US17/209,966 patent/US20210211303A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN112740618A (zh) | 2021-04-30 |
US20210211303A1 (en) | 2021-07-08 |
WO2020065928A1 (ja) | 2020-04-02 |
JPWO2020065928A1 (ja) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7107670B2 (ja) | ビットミキサにより暗号ラウンド鍵を生成するためのシステム及び方法 | |
EP3577642B1 (en) | Methods and devices for protecting data | |
EP2526505B1 (en) | Device and method for obtaining a cryptographic key | |
JP5419056B2 (ja) | Cartier対形成の暗号化適用 | |
US11349668B2 (en) | Encryption device and decryption device | |
JP6818949B2 (ja) | 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム | |
EP3661115B1 (en) | Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program | |
WO2020188906A1 (ja) | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム | |
US8325913B2 (en) | System and method of authentication | |
Rahman et al. | Design and security-mitigation of custom and configurable hardware cryptosystems | |
JP5489115B2 (ja) | 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体 | |
WO2021157003A1 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム | |
WO2019016916A1 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
Suresh et al. | VLSI implementation of text to image encryption algorithm based on private key encryption | |
JP2018092010A (ja) | 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム | |
JP6797337B2 (ja) | メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム | |
KR20190052605A (ko) | 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치 | |
CN114422130B (zh) | 一种基于量子幂函数混淆的量子加密方法 | |
JP3908107B2 (ja) | 量子情報分散検証方法、その装置 | |
Tedla | Reduced Vector Technique Homomorphic Encryption with Versors A Survey and a Proposed Approach | |
JP2004347885A (ja) | 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム | |
Raj et al. | Hybrid Cryptographic Processor for Secure Communication Using FPGA | |
PUFs | SECURITY ANALYSIS OF STRONG PHYSICAL UNCLONABLE FUNCTIONS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200721 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200721 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201120 |
|
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: 20201201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6818949 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |