JP7183242B2 - 格子ベースの暗号鍵生成方法及び電子署名方法 - Google Patents

格子ベースの暗号鍵生成方法及び電子署名方法 Download PDF

Info

Publication number
JP7183242B2
JP7183242B2 JP2020197521A JP2020197521A JP7183242B2 JP 7183242 B2 JP7183242 B2 JP 7183242B2 JP 2020197521 A JP2020197521 A JP 2020197521A JP 2020197521 A JP2020197521 A JP 2020197521A JP 7183242 B2 JP7183242 B2 JP 7183242B2
Authority
JP
Japan
Prior art keywords
message
electronic signature
calculating
random matrix
signature information
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
JP2020197521A
Other languages
English (en)
Other versions
JP2021086158A (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.)
Crypto Lab Inc
Original Assignee
Crypto Lab Inc
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
Priority claimed from KR1020200147995A external-priority patent/KR102443255B1/ko
Application filed by Crypto Lab Inc filed Critical Crypto Lab Inc
Publication of JP2021086158A publication Critical patent/JP2021086158A/ja
Application granted granted Critical
Publication of JP7183242B2 publication Critical patent/JP7183242B2/ja
Active 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • H04L9/3093Public 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
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Description

本発明は、格子をベースとする暗号鍵生成方法及び電子署名方法に関し、より詳細には、パラメータの柔軟性を確保できる格子ベースの暗号鍵生成方法及び電子署名方法に関する。
電子メッセージ(データ)を伝送して受信する過程において、その途中でメッセージを第三者に奪取されるとしても内容が分からないように暗号化する方法が広く知られている。暗号化方式は、大きく、対称鍵暗号化方式と非対称鍵暗号化方式とに分けられる。
対称鍵暗号化方式は、暗号化する鍵と復号化する鍵とが同一の方式であり、非対称鍵暗号化方式は、暗号化する鍵と復号化する鍵とが異なる方式である。非対称鍵暗号化方式では、通常、受信者の公開鍵でメッセージを暗号化し、受信者は受信者の秘密鍵で暗号化されたメッセージを復号化する。
非対称鍵暗号化方式では、メッセージの完全性を証明するために、メッセージに対して電子署名を行うが、電子署名は、通常、メッセージをハッシュ化した値(完全性確認値)を送信者の秘密鍵で暗号化することで行われていた。
暗号化されたメッセージと電子署名情報とを受信した受信者は、受信者の秘密鍵で復号化を行ってメッセージを獲得し、電子署名情報を送信者の公開鍵で復号化し、メッセージの完全性確認値を獲得していた。受信者は、獲得したメッセージに対し、ハッシュ化をして算出された出力値が完全性確認結果と同様か否かを判断することで、当該メッセージが偽造・変造されていないかを確認することができる。
従来は、RSA方式やElgamal方式などが非対称暗号化鍵生成に多く使われているが、量子コンピューティング技術の発展により、従来の暗号方式は、容易く無力化する可能性が高まってきている。
そのような量子コンピューティング技術に対しても、安全な方法として、TrapdoorLattice方式が提案されている。
2014年に公開された論文『Efficient Identity-Based Encryption overNTRU Lattices』にて、Leo Ducas等は、身元ベース暗号化の秘密鍵とマスター公開鍵とを生成する方法の一つとして、NTRU格子ベースの方法を提案している。
Figure 0007183242000001
ところが、従来技術では、全次元(total dimension)が2のべき乗にならなければならず、そうでない場合の安全性は証明されていないため、パラメータの柔軟性に限界があった。
例えば、次元が210である場合よりセキュリティ性を増大させるためには、次元を211にしなければならないが、その場合、次元(dimension)が1024から2048に急激に上昇してしまうため、鍵生成に必要な計算量や計算時間が急増してしまうという問題があった。
論文『Efficient Identity-Based Encryption overNTRU Lattices』(2014)
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、パラメータの硬直性を解消し、パラメータを柔軟に選択できるようにすると同時に、安定性も確保できる格子ベースの暗号化方法及び電子署名方法を提供することにある。
以上のような目的を達成するために、本発明の一実施形態に係る演算装置において電子署名情報を生成する方法は、前記演算装置が、メッセージを入力されるステップと、前記演算装置が、トラップドア(T)を算出し、前記算出されたトラップドア(T)を秘密鍵に設定するステップと、前記演算装置が、2のべき乗と3以上の整数の積で表現され2のべき乗ではない整数次元(d)を有する環で相互線型独立である要素をサンプリングし、列の数が前記次元より1小さく、行の数は前記次元の数である第1ランダム行列(S)を算出するステップと、前記演算装置が、前記第1ランダム行列の行の数に対応する行列式とランダムな数とを用いて、列の数が前記次元の数と同じで、行の数は1である第2ランダム行列(A)を算出するステップと、前記演算装置が、前記第2ランダム行列(A)に基づいて、公開鍵を算出するステップと、前記演算装置が、前記公開鍵に特殊解(particular solution)を演算した結果が、前記入力されたメッセージに予め設定された関数処理の出力値になる前記特殊解を算出するステップと、前記演算装置が、前記秘密鍵を用いて、前記算出された特殊解を縮小し、前記メッセージに対する電子署名情報を生成するステップとを含む。
この場合、前記電子署名情報を生成するステップは、秘密鍵を用いて、前記算出された特殊解を縮小して電子署名情報を生成してよい。
一方、本方法は、トラップドア(T)を算出するステップと、前記算出されたトラップドア(T)を秘密鍵に設定するステップとを更に含んでよい。
この場合、本方法は、
Figure 0007183242000002
列の数が前記次元より1小さく、行の数は前記次元数である第1ランダム行列(S)を算出するステップと、列の数が前記次元数と同じで、行の数が1である第2ランダム行列(A)を算出するステップと、前記第2ランダム行列(A)に基づいて、前記公開鍵を算出するステップとを更に含んでよい。
この場合、前記第2ランダム行列を算出するステップは、
Figure 0007183242000003
(-1)i-1・det(M)を行列式(a)に設定し、a -1・(a,a,…,a)を第2ランダム行列で算出してよい。
この場合、前記トラップドア(T)を算出するステップは、
Figure 0007183242000004
Figure 0007183242000005
Figure 0007183242000006
Figure 0007183242000007
拡張ユークリッドアルゴリズム(Extended Euclidean Algorithm)を用いて、前記ベクトルの要素を縮小してよい。
一方、前記予め設定された関数処理は、ハッシュ処理であってよい。
一方、本発明の一実施形態に係るメッセージ検証方法は、メッセージ及び電子署名情報を受信するステップと、公開鍵に前記受信された電子署名情報を演算した結果が、前記メッセージに予め設定された関数処理出力値になるかを確認するステップと、前記受信された電子署名情報が予め設定されたパラメータより小さいかを判断するステップと、前記確認結果及び前記判断結果に基づいて、前記受信したメッセージを検証するステップとを含み、前記公開鍵は、2のべき乗と3以上の整数の積で表現される次元(d)を有する環を用いて算出される。
この場合、前記関数処理は、ハッシュ処理であってよい。
一方、本発明の一実施形態に係る演算装置は、少なくとも一つのインストラクション(instruction)を保存するメモリと、前記少なくとも一つのインストラクションを実行するプロセッサとを含み、前記プロセッサは、トラップドア(T)を算出し、前記算出されたトラップドア(T)を秘密鍵に設定し、2のべき乗と3以上の整数の積で表現され2のべき乗ではない整数次元(d)を有する環で相互線型独立である要素をサンプリングし、列の数が前記次元より1小さく、行の数は前記次元の数である第1ランダム行列(S)を算出し、前記第1ランダム行列の行の数に対応する行列式とランダムな数とを用いて、列の数が前記次元の数と同じで、行の数は1である第2ランダム行列(A)を算出し、前記第2ランダム行列(A)に基づいて、公開鍵を算出し、前記公開鍵に特殊解(particular solution)を演算した結果が、前記入力されたメッセージに予め設定された関数処理の出力値になる前記特殊解を算出し、前記秘密鍵を用いて、前記算出された特殊解を縮小し、前記メッセージに対する電子署名情報を生成する。
この場合、前記プロセッサは、秘密鍵を用いて、前記算出された特殊解を縮小し、前記縮小された特殊解を前記電子署名情報で生成してよい。
一方、前記プロセッサは、メッセージ及び電子署名情報が受信されると、公開鍵に前記受信された電子署名情報を演算した結果が、前記メッセージに予め設定された関数処理出力値になるかを確認し、前記受信された電子署名情報が予め設定されたパラメータより小さい値を有するかを判断し、前記確認結果及び前記判断結果に基づいて、前記メッセージを検証してよい。
一方、本発明の一実施形態に係る電子署名情報を生成する方法を実行するためのプログラムを含むコンピュータ読み取り可能な記録媒体において、前記方法は、トラップドア(T)を算出し、前記算出されたトラップドア(T)を秘密鍵に設定するステップと、トラップドア(T)を算出し、前記算出されたトラップドア(T)を秘密鍵に設定し、2のべき乗と3以上の整数の積で表現され2のべき乗ではない整数次元(d)を有する環で相互線型独立である要素をサンプリングし、列の数が前記次元より1小さく、行の数は前記次元の数である第1ランダム行列(S)を算出し、前記第1ランダム行列の行の数に対応する行列式とランダムな数とを用いて、列の数が前記次元の数と同じで、行の数は1である第2ランダム行列(A)を算出し、前記第2ランダム行列(A)に基づいて、公開鍵を算出し、前記公開鍵に特殊解(particular solution)を演算した結果が、前記入力されたメッセージに予め設定された関数処理の出力値になる前記特殊解を算出するステップと、前記秘密鍵を用いて、前記算出された特殊解を縮小し、前記メッセージに対する電子署名情報を生成するステップとを含む。
以上のような本発明の多様な実施形態によると、トラップドア格子方式の暗号鍵生成において、必要とされるセキュリティ性を満たせるために、パラメータを柔軟に選択、即ち、全次元が2のべき乗でない整数を使うことができるようする効果がある。
なお、セキュリティ性にぴったり合うパラメータを自由に選択できることから、暗号システムの全体的な効率性を増大させ、公開鍵/秘密鍵と暗号文との両方のサイズを縮小させることができる。
本発明に係る秘密鍵及び公開鍵を生成する動作を説明するためのフローチャートである。 本発明に係る秘密鍵で電子署名を生成する動作を説明するためのフローチャートである。 本発明によって生成された電子署名情報を用いたメッセージ検証過程を説明するためのフローチャートである。 本発明のランダム行列の構造を示す図である。 本発明の一実施形態に係るネットワークシステムの構造を説明するための図である。 本発明の一実施形態に係る演算装置の構成を示すブロック図である。
以下では、添付図面を参照し、本発明について詳細に説明する。本発明で実行される情報(データ)伝送過程は、必要に応じて、暗号化/復号化が適用されてよく、本発明及び特許請求範囲で情報(データ)伝送過程を説明する表現は、別に言及されなくても、いずれも暗号化/復号化する場合も含むと解釈されるべきである。本明細書において、「AからBに伝送(伝達)」又は「AがBから受信」といった表現は、途中で別の媒体が含まれて、伝送(伝達)又は受信されることも含んでおり、必ずしもAからBまで直接伝送(伝達)又は受信されることのみを表現するわけではない。
本発明の説明において、各段階の順番は、先行段階が論理的及び時間的に必ず後行段階より前に行われなければならない場合を除いては、各段階の順番は非制限的に理解されるべきである。即ち、上記のような例外的な場合を除いては、後行段階として説明された過程が先行段階として説明された過程より先に行われるとしても、発明の本質には影響を及ぼすことはなく、権利範囲も段階の順番に関係なく定義されるべきである。そして、本明細書において、「A又はB」との記載は、AとBのうちいずれかを選択的に指すというだけでなく、AとBとの両方を含むことも意味するものとして定義される。なお、本明細書において、「含む」という用語は、含むということで、並べられた要素の他に更に別の構成要素を更に含むことも包括する意味を有する。
本明細書において、「モジュール」又は「ユニット」とは、汎用的なハードウェア又はその機能を行うソフトウェアか、ハードウェアとソフトウェアとの論理的な結合であってよい。
本明細書においては、本発明の説明に必要な必須の構成要素のみを説明しており、本発明の本質とは関係のない構成要素について言及していない。そして、言及される構成要素のみを含む排他的な意味として解釈されてはならず、他の構成要素も含むことができる非排他的な意味として解釈されるべきである。
本明細書は、電子的な演算が可能なコンピュータ、サーバ、スマートフォンのようなモバイルデバイスなどの電子的な演算装置によって行われてよく、後述する本発明の各段階の数学的な演算及び算出は、当該演算又は算出を行うために、公知となっているコーディング方法及び/又は本発明に適するように考案されたコーディングによってコンピュータプログラムの実行に他の演算で実現されてよい。本発明を実行するコンピュータプログラムは、コンピュータによって読み取り可能な記録媒体に保存されてよい。
そして、本明細書において、「値」とは、スカラー値だけでなく、ベクトル、行列、多項式などの数式で表現できる全ての値を含む広義の概念として定義されてよい。
本明細書において、特定値に対する暗号化又はハッシュなどのような演算を行って所定の値を獲得するという意味は、当該特定値だけでなく、当該特定値の変形値(例えば、特定値に所定の値を追加で演算したり、所定の規則を基に当該特定値を変化させるなどの過程によって算出された別の値)に対する暗号化又はハッシュなどの演算も含むと定義されてよい。
後述する本発明の各段階の数学的な演算及び算出は、当該演算又は算出を行うために、公知となっているコーディング方法及び/又は本発明に適するように考案されたコーディングによってコンピュータ演算で実現されてよい。
本明細書の添付図面に示されている装置の各構成要素は、図面に明示的に示された形態、大きさ、数値だけでなく、本発明の意図する機能を行うことができる形態、大きさ、寸法なら、いずれも適用されてよい。
以下で説明する具体的な数式は、可能な複数の代案の中から例示的に説明されるものであって、本発明の権利範囲が本明細書に言及された数式に制限されると解釈されてはならない。
説明の便宜上、本明細書では、次のように表記を定めることとする。
a←D:分布(D)に応じて要素(a)を選択
s1、s2∈R:S1、S2のそれぞれは、R集合に属する要素
mod(q):q要素でモジュール(modular)演算
Figure 0007183242000008
以下では、添付の図面を用いて、本発明の多様な実施形態について具体的に説明する。
本発明では、NTRUベースの暗号化の次元の柔軟性を解決することができるmoduled-NTRU(MNTRU)格子と呼ばれるNTRU格子の一般化した概念を提案する。このようなMNTRU格子は、効率的なトラップドアの生成を示し、従来のNTRUトラップドアより効率性が高い。以下では、まず、MNTRUトラップドアに基づいて新たな身元ベースの暗号化に適用する。
まず、NTRUトラップドアを一般化する動作を先に説明する。
ring-LWEからmodule-LWEへの一般化と類似するように、R内のNTRU格子のコンテキストを高次元のRのMNTRU格子に一般化することができる。
Figure 0007183242000009
ここで、hはNTRUインスタンス、SNTRUは行列である。
そして、NTRU格子は、次のような数式2のように定義されてよい。
Figure 0007183242000010
ここで、ANTRUはNTRU格子であり、qは素数である。
このような内容は、一般的でない短いベクトル(g、-f)を含むZ2n内の整数格子と理解されてよく、f、gは次の数式3を満たすF、G∈Rを求めることで、
Figure 0007183242000011
(数式3)
gF-fG=q
ここで、g、fは短いベクトル、F、Gは行列、qは素数である。
NTRU式と呼ばれるものは、次のような数式4の通りである。
Figure 0007183242000012
ここで、Aは多項式の逆行列変換(anti-circulant matrix transform)を示す。
このようなフレームワークを、d≧2の場合を一般化してよい。そのために、まず、SMNTRU∈Rd×(d-1)で小さい係数を有する要素をサンプリングすることができ、次の数式5を満たすベクトルhMNTRU=(h、・・・、h)∈R d-1を構成することができる。
Figure 0007183242000013
それを基に、n次元のMNTRU格子を、次のような数式6のように定義してよい。
Figure 0007183242000014
ここで、h=(h1、・・・、hd-1)は、det/detによって決定されてよく、mod qは、detがSMNTRUの(d-1)×(d-1)サブマトリックスのディターミネイト(determinate)である。
このような内容を基に、本発明のトラップドアは、数式7のように計算されてよい。
Figure 0007183242000015
以下では、上述のトラップドアを生成することができる格子構造を、図4を参照して説明する。
図4は、本発明のランダム行列の構造を示す図である。
図4を参照すると、本発明に係る格子構造では、第1ランダム行列(S)と第2ランダム行列(A)とが使われる。
第1ランダム行列(S)は、列の数がd-k(即ち、d-1)であり、行の数(d)が1であり、第2ランダム行列(A)は、列の数がdであり、行の数(k)が1である。ここで、列(d)の数は、2より大きい所定の整数であってよく、従来技術と異なり、全次元を2のべき乗でない、別の整数に設定され得るため、パラメータの柔軟性が高められる。
第1ランダム行列(S)と第2ランダム行列(A)とは、図4に示す関係を満たすことができる。
本発明に係る格子ベースの演算処理が行われる環境は、図5に示されている。
図5は、本発明の一実施形態に係るネットワークシステムの構造を説明するための図である。
図5を参照すると、ネットワークシステム600は、ユーザ端末機10、鍵生成サーバ20及び電子署名検証サーバ40を含むことができ、各構成は、データ通信網30を介して相互接続されてよい。
データ通信網30は、多様な形態の有線・無線通信ネットワーク、放送通信ネットワーク、光通信ネットワーク、クラウドネットワークなどで実現されてよく、各装置は、別途の媒体なしに、Wi-Fi(登録商標)、Bluetooth(登録商標)、NFC(Near Field Communication)などのような方式で接続されてよい。
鍵生成サーバ20は、格子ベースの暗号化方式に用いられる各種鍵値を生成してよい。具体的に説明すると、鍵生成サーバ20は、まず、各種パラメータ及び環(ring)を設定し、設定されたパラメータと環とに基づいて公開鍵、秘密鍵を生成してよい。
ここで、環は、次のような数式8で示されてよい。
Figure 0007183242000016
ここで、Rは環、Zは係数である。ここで、環は、予め設定された係数を有する多項式の集合として、要素との間で加算と乗算が定義されており、加算と乗算とに対し、閉じている集合を意味する。このような環は、リングと称されてよい。
ここで、環の要素のN次未満の整数係数多項式であり、集合に属する要素の間で加算演算と乗算演算とが定義されている。例えば、加算演算は、多項式間の積に定義されてよく、乗算演算は、各多項式を乗算した後で、当該要素のmod x+1に定義されてよい。このような定義によると、XN-1*xは、多項式の積としてはxNであり、mod X+1に対してX=-1であるため、XN-1*x=-1になってよい。
Figure 0007183242000017
数式9において、環はN次未満でありつつ、係数が[0、q-1]内の整数のみで構成された多項式の集合を意味する。当該集合上における加算演算と乗算演算とが定義されており、例えば、乗算演算をmod x+1と同時に各係数別にmod qを行うものとして定義されてよい。
本発明に係る環は、2のべき乗と3以上の整数の積で表現される次元を有し、このような次数値に対応する格子トラップドアが用いられてよい。このように、整数の積で表現される次元を用いるため、セキュリティ性の増大が必要となり、次元の増加が必要な場合でも、2倍数単位に変更する必要がないため、より柔軟にパラメータの選択が可能である。
鍵生成サーバ20は、上述の環の設定に基づいて、第1ランダム行列と第2ランダム行列とを算出し、トラップドアを算出することができる。ここで、トラップドアは、自主的に行うことが困難な機能の逆を計算することができるようにする特別な秘密情報である。本発明におけるトラップドアは、図4のような格子(又は、ラティス)ベース暗号技法に用いられ、具体的な算出動作は、図1を参照して後述する。
鍵生成サーバ20は、算出されたランダム行列とトラップドアとを基に、公開鍵、秘密鍵を算出することができる。具体的な生成動作については、図1を参照して後述する。
そして、鍵生成サーバ20は、ユーザ端末機10から暗号文を受信し、暗号文を復号化せずに、暗号文の状態で保存することもできる。
一方、図5においては、鍵生成サーバ20が暗号化に必要な鍵を生成し、ユーザ端末機10が生成された鍵のうちの一部を提供され、暗号化動作を行うものとして説明したが、鍵生成動作、暗号化動作、復号化動作は、環境に応じて多様な機器で行われてよい。
ユーザ端末機10においては、鍵生成サーバ20で生成した公開鍵を用いて電子署名情報を生成し、メッセージと電子署名情報とを電子署名検証サーバ40に伝送してよい。ここで、電子署名情報(又は、電子署名値)は、メッセージが偽造・変造されていないかを確認するのに用いられる情報である。
電子署名検証サーバ40は、メッセージと電子署名情報とを受信し、受信された電子署名情報を用いてメッセージに対する検証を行ってよい。
ユーザは、自らが使用するユーザ端末機10を介して、多様な情報を入力してよい。入力された情報は、ユーザ端末機10自らに保存されてよいが、保存容量及びセキュリティなどの理由から、外部装置に伝送されて保存されてよい。図5において、鍵生成サーバ20は、このような情報を保存する役割を担い、鍵生成サーバ20は、鍵生成サーバ20に保存された情報の一部又は全部を用いる役割を担ってよい。
ユーザ端末機10は、鍵生成サーバ20から暗号化に必要な鍵情報を受信し、受信された鍵情報を用いてメッセージを暗号化してよい。例えば、ユーザ端末機10は、鍵生成サーバ20から公開鍵を受信してよく、受信された公開鍵を用いてメッセージを暗号化し、暗号文を生成してよい。このとき、ユーザ端末機10は、暗号化に必要な小さい要素、関数処理出力値も受信して用いることもでき、自ら生成して用いることもできる。
そして、ユーザ端末機10は、暗号文及び電子署名情報を電子署名検証サーバ40に伝送してよい。
そして、電子署名検証サーバ40は、暗号文に対する復号化を行ってよい。例えば、ユーザ端末機10は、秘密鍵を用いて暗号文に対する復号化を行ってよい。一方、復号化動作は、鍵生成サーバ20側で行うこともできる。
そして、電子署名検証サーバ40は、受信した電子署名情報を用いて、受信したメッセージに対する検証を行ってよい。
図5においては、ユーザ端末機が一つであるとして示しているが、複数個が用いられてよい。一例として、ユーザ端末機10は、スマートフォン、タブレット、ゲームプレーヤ、パソコン、ラップトップパソコン、ホームサーバ、キヨスク端末などのような多様な形態の装置で実現されてよく、その他にも、IoT機能付きの家電製品で実現されてよい。
図1は、本発明に係る公開鍵及び秘密鍵を生成する動作を説明するためのフローチャートである。
図1を参照すると、第1ランダム行列(S)を算出する(100)。例えば、以下の数式10を満たす要素値をサンプリングし、第1ランダム行列(S)を算出してよい。
Figure 0007183242000018
もし、線型独立の関係でなければ、要素値を再度サンプリングしてよい。
そして、第2ランダム行列(A)を算出する(110)。具体的に、ランダムな係数(r)をサンプリングし、第1ランダム行列の行数に対応する行列式(a)とサンプリングされたランダムな係数(r)を用いて、以下の数式11のように、第2ランダム行列(A)を算出してよい。
(数式11)
r・(a,a,…,a
ここで、行列式(a)は、(-1)i-1・det(M)であり、
Figure 0007183242000019
そして、rはランダム係数r(∈R)である。
例えば、ランダムな係数(r)をa -1にすると、第2ランダム行列(A)は、(1、A1、・・・、d-1)であってよい。
そして、トラップドア(T)を算出する(120)。
Figure 0007183242000020
Figure 0007183242000021
Figure 0007183242000022
αの計算は、拡張ユークリッドアルゴリズム(Extended Euclidean Algorithm)によって実行されてよい。そして、上述の算出値に基づいて、Fを次のように算出してよい。
Figure 0007183242000023
Figure 0007183242000024
そのような縮小により、トラップドア(T)の大きさを小さくする効果がある。整数に例えると、F=(2、5)、f=(1、2)である場合、[F、f]と[F-2f、f]とを比較すると、同じ列空間を定義するが、後ろの縮小された行列の列の大きさが小さくなり得る。
そして、秘密鍵及び公開鍵を設定する(130)。具体的に、算出されたトラップドア(T)を秘密鍵に設定し、公開鍵は、(A1、・・・、d-1)に設定してよい。
Figure 0007183242000025
図2は、本発明に係る秘密鍵で電子署名を生成する動作を説明するためのフローチャートである。
図2を参照すると、電子署名するメッセージ(m)を受信する(200)。
公開鍵に特殊解を演算した結果の入力されたメッセージに予め設定された関数処理出力値になる特殊解を算出する(210)。
Figure 0007183242000026
ここで、特殊解は、例えば、ガウスの消去法を用いて算出されてよい。そして、公開鍵は、2のべき乗と3以上の整数の積で表現される次元(d)を有する環を用いて算出されたものであってよい。
そして、算出された特殊解を用いて、メッセージに対する電子署名情報を生成する(220)。
Figure 0007183242000027
このような電子署名情報は、上述のようなAs=H(m)を満たしてよい。
ここで、縮小過程は、秘密鍵(T)を用いて、集合{s:As=0}上において、ステップ200で算出されたsを中心とする小さな離散正規分布をサンプリングする過程であってよい。具体的に、標準偏差(σ)を選択し、GaussianSamplerによってcを算出し、第2ランダム行列との積がハッシュ値になる大きさの小さい解(s=(s0、1、・・・、sd-1))を算出し、算出された小さい解の中からsを上述の電子署名情報として出力してよい。
電子署名情報は、メッセージを伝送しようとするユーザ端末機10によって生成され、この電子署名情報は、電子署名検証サーバ40によって検証される。図5には、電子署名検証サーバ40が電子署名を検証するものとして説明されるが、メッセージ(m)を受信する受信者端末機が電子署名を検証することもでき、検証主体に本発明の権利範囲が制限されない。
図3は、本発明によって生成された電子署名情報を用いたメッセージ検証過程を説明するためのフローチャートである。
図3を参照すると、まず、電子署名検証を行う主体(例えば、電子署名検証サーバ40又はメッセージ(m)受信端末機)が電子署名情報(s)を受信する(300)。このとき、メッセージ(m)を同時に受信してよい。ここで、メッセージは、電子署名情報を送信した装置から受信することもでき、他の主体から受信することもできる。
そして、公開鍵に受信された電子署名情報を演算した結果が、メッセージに予め設定された関数処理出力値になるかを確認する(310)。具体的に、電子署名検証の主体は、As=H(m)を満たすかを判断してよい。ここで、sは、電子署名情報、H()は、予め設定された関数処理として、例えば、ハッシュ処理であってよく、mはメッセージである。そして、Aは公開鍵として、2のべき乗と3以上の整数の積で表現される次元(d)を有する環を用いて算出されたものであってよい。
そして、受信された電子署名情報が予め設定されたパラメータより小さいかを判断する(320)。即ち、電子署名情報(s)の大きさが十分に小さいか否かを判断してよい。ここで、予め設定されたパラメータは、電子署名情報(s)の大きさの比較対象は、検証失敗確率、安定性などを考慮して設定されてよい。
確認結果及び判断結果に基づいて、受信したメッセージを検証する。例えば、二つの条件をいずれも満たすと、電子署名検証に成功したと判断し(330)、そうでない場合には、検証に失敗したと判断してよい(340)。
一方、図示の例においては、まず、計算式が成立するかを確認した後、電子署名情報の大きさを比較するものとして示して説明しているが、実現の際には、まず、電子署名情報の大きさを比較し、計算式が成立するかを確認することもできる。
以上のような図2又は図3の方法は、セキュリティ性の増大のために、次元を2倍にする必要がなく、2のべき乗と整数の積で表現される次元を用いることができるため、鍵生成に必要な計算量や計算時間を減らすことができる。
一方、上述の図2又は図3に係る方法は、各ステップを行うためのプログラムコードで実現され、記録媒体に保存されて配布されてよい。この場合、記録媒体の登載された装置は、上述の暗号化方法などの動作を行ってよい。
このような記録媒体は、ROM、RAM、メモリチップ、メモリカード、外付けハードディスク、ハードディスク、CD、DVD、磁気ディスク又は磁気テープなどのような多様なコンピュータ読み取り可能な媒体であってよい。
一方、図2及び図3において、メッセージに対する電子署名情報を生成し、生成された電子署名情報を用いてメッセージの検証動作を行うものとして説明しているが、実現の際には、暗号化されたメッセージに対する電子署名情報を生成し、即ち、暗号文に対する電子署名生成及び暗号文に対する検証動作を行うこともできる。
図6は、本発明の一実施形態に係る演算装置の構成を示すブロック図である。
具体的に、図5のシステムにおいてユーザ端末機などのように、暗号化を行う装置、鍵生成サーバなどのように、暗号文生成に必要な鍵を生成する装置及び暗号文を利用する装置などを演算装置と称してよい。このような演算装置は、PC(Personal computer)、ノートパソコン、スマートフォン、タブレット、サーバなど、多様な装置であってよい。
図6を参照すると、演算装置600は、通信装置610、メモリ620、ディスプレイ630、操作入力装置640及びプロセッサ650を含んでよい。
通信装置610は、演算装置600を外部装置(図示せず)と接続するために形成され、構内ネットワーク(LAN:Local Area Network)及びインターネット網を介して外部装置に接続される形態だけでなく、USB(Universal Serial Bus)ポート、又は無線通信(例えば、Wi-Fi 802.11a/b/g/n、NFC、Bluetooth)ポートを介して接続される形態も可能である。このような通信装置610は、送受信部(transceiver)として称されてよい。
通信装置610は、暗号文生成に必要な各種鍵を受信してよい。例えば、鍵生成の際に、通信装置610は、3つのパラメータ(n、q、d)を入力されてよい。ここで、nは、次元を構成する2のべき乗の二乗値であり、dは整数である。よって、当該パラメータによって生成されるリングの次元は2*dであってよい。そして、qは素数の値である。このような各種鍵は、操作入力装置640を介して入力されてよい。
そして、通信装置610は、自ら生成した鍵を外部装置に伝送してよい。ここで、鍵は、公開鍵、秘密鍵などであってよい。
そして、通信装置610は、外部装置からメッセージを受信してよく、生成した暗号文及び/又は伝署名情報を外部装置に送信してよい。
なお、通信装置610は、鍵又は暗号文生成に必要な各種パラメータを外部装置から受信してよい。一方、実現の際に、各種パラメータは、後述の操作入力装置640を介してユーザから直接入力されてよい。
なお、通信装置610は、暗号文を受信することができる。このとき、当該暗号文(又は、メッセージ)に対する電子署名情報を同時に受信してよい。
メモリ620は、演算装置600を駆動するためのO/Sや各種ソフトウェア、データなどを保存するための構成要素である。メモリ620は、RAMやROM、フラッシュメモリ、HDD、外付けメモリ、メモリカードなどのような多様な形態で実現されてよく、何れかに限定されるわけでない。
メモリ620は、身元情報(又はユーザ情報)を保存してよい。ここで、身元情報とは、住民登録番号、メールアドレス、電話番号、指紋情報、虹彩情報であってよく、ユーザ秘密鍵を生成する際や、暗号文を生成する際に用いられてよい。
そして、メモリ620は、暗号化するメッセージを保存してよい。ここで、メモリは、ユーザが引用した各種身元情報、個人情報などであってよく、演算装置600で使われる位置情報、インターネット使用時間情報など、使用履歴などに関する情報であってよい。
そして、メモリ620は、公開鍵を保存することができ、演算装置600が直接公開鍵を生成した装置である場合、秘密鍵だけでなく、公開鍵及び秘密鍵生成に必要な各種パラメータなどを保存してよい。
そして、メモリ620は、後述の過程で生成された暗号文及び/又は電子署名情報を保存してよい。そして、メモリ620は、暗号文及び/又は電子署名情報の生成過程の中間データなどを保存してよい。
そして、メモリ620は、外部装置から伝送した暗号文を保存することもできる。そして、メモリ620は、暗号文に対する復号結果であるメッセージを保存してよい。なお、メモリ620は、外部装置から伝送した電子署名情報を保存することもできる。
ディスプレイ630は、演算装置600がサポートする機能を選択されるためのユーザインターフェースウィンドウを表示してよい。例えば、ディスプレイ630は、演算装置600が提供する各種機能を選択されるためのユーザインターフェースウィンドウを表示してよい。このようなディスプレイ630は、LCD(liquid crystal display)、OLED(Organic Light Emitting Diodes)などのようなモニタであってよく、後述の操作入力装置640の機能を同時に実行が可能なタッチスクリーンで実現されてよい。
ディスプレイ630は、秘密鍵及び公開鍵生成に必要なパラメータの入力をリクエストするメッセージを表示してよい。そして、ディスプレイ630は、暗号化対象がメッセージの選択をリクエストするUI(User Interface)を表示してよい。例えば、格子ベースの身元ベース暗号化に用いる身元情報をユーザから選択されるためのUIを表示してよい。
一方、実現の際に、暗号化対象は、ユーザが直接選択することもでき、自動的に選択されてよい。即ち、暗号化の必要な個人情報などは、ユーザが直接メッセージを選択しなくても、自動的に設定されてよい。
操作入力装置640は、ユーザから演算装置600の機能選択及び当該機能に対する制御命令が入力されてよい。例えば、操作入力装置640は、ユーザから秘密鍵及び公開鍵生成に必要なパラーメタを入力されてよい。なお、操作入力装置640は、ユーザから暗号化されるメッセージを選択されてよい。
プロセッサ650は、演算装置600内の各構成を制御する。このようなプロセッサ650は、CPU(central processing unit)、ASIC(Application-specific integrated circuit)のような単一装置で構成されてよく、CPU、GPU(Graphics Processing Unit)などの複数の装置で構成されてよい。
プロセッサ650は、伝送しようとするメッセージが入力されると、メモリ620に保存する。プロセッサ650は、メモリ620に保存された各種設定値及びプログラムを用いて、メッセージを暗号化してよい。この場合、公開鍵が使われてよい。
プロセッサ650は、暗号化を行うのに必要な公開鍵を自ら生成して使用してよく、外部装置から受信して使用してもよい。一例として、復号化を行う鍵生成サーバ20が公開鍵を他の装置に配布してよい。
自ら公開鍵を生成する場合、プロセッサ650は、図5を満たす第1ランダム行列(S)と第2ランダム行列(A)を生成し、第2ランダム行列に基づいて公開鍵を生成してよい。
プロセッサ650は、公開鍵が生成されると、他の装置に伝送されるように通信装置610を制御してよい。
そして、プロセッサ650は、メッセージに対する暗号文を生成してよい。例えば、プロセッサ650は、身元情報が入力されると、入力された身元情報を関数処理し、関数処理出力値を生成してよい。そして、プロセッサ650は、小さい要素をランダムにサンプリングし、サンプリングされた小さい要素、関数処理出力値、公開鍵を用いてメッセージに対する暗号文を生成してよい。
そして、プロセッサ650は、暗号文が生成されると、メモリ620に保存するか、ユーザのリクエスト、又は予め設定されたデフォルトコマンドに応じて、同型暗号文を他の装置に伝送するように通信装置610を制御してよい。
そして、プロセッサ650は、暗号文又はメッセージに対する電子署名情報を生成してよい。例えば、公開鍵に特殊解を演算した結果が、メッセージに予め設定された関数処理出力値になる特殊解を算出し、算出された特殊解を用いて前記メッセージに対する電子署名情報を生成してよい。
そして、プロセッサ650は、暗号文をユーザ秘密鍵を用いて復号してよい。なお、プロセッサ650は、メッセージ及び電子署名情報を受信すると、受信された電子署名情報を用いてメッセージに対する検証を行ってよい。具体的に、プロセッサ650は、公開鍵に前記受信された電子署名情報を演算した結果が、前記メッセージに予め設定された関数処理出力値になるかを確認し、受信された電子署名情報が予め設定されたパラメータより小さいかを判断し、受信したメッセージ(又は、暗号文)を検証してよい。
以上のように、本発明に係る演算装置は、2のべき乗と3以上の整数の積で表現される次元を有する環を用いて、暗号化処理を行うため、セキュリティ性の増大のために、次元を2倍にする必要がなく、2のべき乗と整数の積で表現される次元を利用することができるため、鍵生成に必要な計算量や計算時間を減らすことができる。
一方、図6を参照して説明するうえで、一つの装置で暗号化動作及び復号化動作をいずれも行うものとして示して説明しているが、実現の際に、一つの装置で一つの動作、例えば、鍵生成動作、暗号化動作、復号化動作のうちいずれか一つのみを行うこともできる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明は以上の実施形態に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的趣旨の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。

Claims (10)

  1. 演算装置において電子署名情報を生成する方法において、
    前記演算装置が、メッセージを入力されるステップと、
    前記演算装置が、トラップドア(T)を算出し、前記算出されたトラップドア(T)を秘密鍵に設定するステップと、
    Figure 0007183242000028
    列の数が前記次元より1小さく、行の数は前記次元の数である第1ランダム行列(S)を算出するステップと、
    前記演算装置が、前記第1ランダム行列の行の数に対応する行列式とランダムな数とを用いて、列の数が前記次元の数と同じで、行の数は1である第2ランダム行列(A)を算出するステップと、
    前記演算装置が、前記第2ランダム行列(A)に基づいて、公開鍵を算出するステップと、
    前記演算装置が、前記公開鍵に特殊解(particular solution)を演算した結果が、前記入力されたメッセージに予め設定された関数処理の出力値になる前記特殊解を算出するステップと、
    前記演算装置が、前記秘密鍵を用いて、前記算出された特殊解を縮小し、前記メッセージに対する電子署名情報を生成するステップと
    を含む方法。
  2. 前記第2ランダム行列を算出するステップは、
    Figure 0007183242000029
    (-1)i-1・det(M)を行列式(a)に設定し、a -1・(a,a,…,a)を第2ランダム行列で算出する
    ことを特徴とする請求項1に記載の方法。
  3. 前記トラップドア(T)を算出するステップは、
    Figure 0007183242000030
    ことを特徴とする請求項2に記載の方法。
  4. Figure 0007183242000031
    ことを特徴とする請求項3に記載の方法。
  5. Figure 0007183242000032
    ことを特徴とする請求項4に記載の方法。
  6. Figure 0007183242000033
    拡張ユークリッドアルゴリズム(Extended Euclidean Algorithm)を用いて、前記ベクトルの要素を縮小する
    ことを特徴とする請求項4に記載の方法。
  7. 前記予め設定された関数処理は、
    ハッシュ処理であることを特徴とする請求項1に記載の方法。
  8. 演算装置において、
    少なくとも一つのインストラクション(instruction)を保存するメモリと、
    前記少なくとも一つのインストラクションを実行するプロセッサと
    を含み、
    前記プロセッサは、
    トラップドア(T)を算出し、前記算出されたトラップドア(T)を秘密鍵に設定し、
    Figure 0007183242000034
    列の数が前記次元より1小さく、行の数は前記次元の数である第1ランダム行列(S)を算出し、
    前記第1ランダム行列の行の数に対応する行列式とランダムな数とを用いて、列の数が前記次元の数と同じで、行の数は1である第2ランダム行列(A)を算出し、
    前記第2ランダム行列(A)に基づいて、公開鍵を算出し、
    前記公開鍵に特殊解(particular solution)を演算した結果が、前記入力されたメッセージに予め設定された関数処理の出力値になる前記特殊解を算出し、
    前記秘密鍵を用いて、前記算出された特殊解を縮小し、前記メッセージに対する電子署名情報を生成する、演算装置。
  9. 前記プロセッサは、
    メッセージ及び電子署名情報が受信されると、公開鍵に前記受信された電子署名情報を演算した結果が、前記メッセージに予め設定された関数処理の出力値になるかを確認し、前記受信された電子署名情報が予め設定されたパラメータより小さい値を有するかを判断し、前記確認結果及び前記判断結果に基づいて、前記メッセージを検証することを特徴とする請求項8に記載の演算装置。
  10. 電子署名情報を生成する方法を実行するためのプログラムを含むコンピュータ読み取り可能な記録媒体において、
    前記方法は、
    トラップドア(T)を算出し、前記算出されたトラップドア(T)を秘密鍵に設定するステップと、
    Figure 0007183242000035
    列の数が前記次元より1小さく、行の数は前記次元の数である第1ランダム行列(S)を算出するステップと、
    前記第1ランダム行列の行の数に対応する行列式とランダムな数とを用いて、列の数が前記次元の数と同じで、行の数は1である第2ランダム行列(A)を算出するステップと、
    前記第2ランダム行列(A)に基づいて、公開鍵を算出するステップと、
    前記公開鍵に特殊解(particular solution)を演算した結果が、前記入力されたメッセージに予め設定された関数処理の出力値になる前記特殊解を算出するステップと、
    前記秘密鍵を用いて、前記算出された特殊解を縮小し、前記メッセージに対する電子署名情報を生成するステップと
    を含む、コンピュータ読み取り可能な記録媒体。
JP2020197521A 2019-11-28 2020-11-27 格子ベースの暗号鍵生成方法及び電子署名方法 Active JP7183242B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2019-0155709 2019-11-28
KR20190155709 2019-11-28
KR1020200147995A KR102443255B1 (ko) 2019-11-28 2020-11-06 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법
KR10-2020-0147995 2020-11-06

Publications (2)

Publication Number Publication Date
JP2021086158A JP2021086158A (ja) 2021-06-03
JP7183242B2 true JP7183242B2 (ja) 2022-12-05

Family

ID=73642623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020197521A Active JP7183242B2 (ja) 2019-11-28 2020-11-27 格子ベースの暗号鍵生成方法及び電子署名方法

Country Status (4)

Country Link
US (1) US11522718B2 (ja)
EP (1) EP3829102A1 (ja)
JP (1) JP7183242B2 (ja)
CN (1) CN112865973A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418016B1 (ko) * 2019-11-28 2022-07-07 서울대학교산학협력단 래티스를 기반으로 하는 신원 기반 암호화 방법
WO2024012431A1 (zh) * 2022-07-11 2024-01-18 复旦大学 一种格基签名高效并行快速实现方法
CN115499117B (zh) * 2022-11-17 2023-03-24 深圳市迪博企业风险管理技术有限公司 区块链交易网络的密钥对生成方法及数据传输方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006114948A1 (ja) 2005-04-18 2006-11-02 Matsushita Electric Industrial Co., Ltd. 署名生成装置および署名検証装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69113245D1 (de) * 1991-03-14 1995-10-26 Omnisec Ag Regensdorf Verschlüsselungssystem mit öffentlichem Schlüssel unter Verwendung elliptischer Kurven über Ringe.
US10742413B2 (en) 2017-04-25 2020-08-11 International Business Machines Corporation Flexible verifiable encryption from lattices
EP3698515B1 (en) * 2017-10-17 2021-02-17 Koninklijke Philips N.V. Configurable device for lattice-based cryptography
CN110138752B (zh) * 2019-04-19 2021-08-13 北京信息科学技术研究院 一种基于格的公钥加密方法
CN110175473B (zh) 2019-05-22 2022-12-27 西安电子科技大学 基于格上困难问题的数字签名方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006114948A1 (ja) 2005-04-18 2006-11-02 Matsushita Electric Industrial Co., Ltd. 署名生成装置および署名検証装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Craig Gentry et al.,How to Use a Short Basis: Trapdoors for Hard Lattices and New Cryptographic Constructions,Cryptology ePrint Archive,Report 2007/432, Ver. 20100617:023101,International Association for Cryptologic Research (IACR),2010年,pp. 1-41,[2021年12月9日検索],インターネット,<URL: https://eprint.iacr.org/2007/432/20100617:023101>
Ngoc Khanh Nguyen,On the Non-Existance of Short Vectors in Random Module Lattices,Cryptology ePrint Archive,International Association for Cryptologic Research (IACR),2019年08月,Report 2019/973, Ver. 20190829:110909,pp. 1-31,[2021年12月9日検索],インターネット,<URL: https://eprint.iacr.org/2019/973/20190829:110909>
Vadim Lyubashevsky,Lattice Signatures Without Trapdoors,Cryptology ePrint Archive,International Association for Cryptologic Research (IACR),2017年,Report 2011/537, Ver. 20171018:150849,pp. 1-24,[2021年12月9日検索],インターネット,<URL: https://eprint.iacr.org/2011/537/20171018:150849>

Also Published As

Publication number Publication date
JP2021086158A (ja) 2021-06-03
EP3829102A1 (en) 2021-06-02
CN112865973A (zh) 2021-05-28
US11522718B2 (en) 2022-12-06
US20210167969A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
KR101098701B1 (ko) 암호체계의 설계를 위한 아이소지니의 사용
CN110419194B (zh) 密钥交换设备和方法
JP7183242B2 (ja) 格子ベースの暗号鍵生成方法及び電子署名方法
US8331568B2 (en) Efficient distribution of computation in key agreement
US20200153618A1 (en) Key agreement devices and method
US9049023B2 (en) Outsourcing the decryption of functional encryption ciphertexts
Mughal et al. A lightweight digital signature based security scheme for human-centered Internet of Things
Al_Barazanchi et al. Modified RSA-based algorithm: A double secure approach
CN108155994B (zh) 应用于rsa解密的安全外包计算方法
US8422670B2 (en) Password authentication method
US20140294177A1 (en) Identity based public key cryptosystem
EP3987711B1 (en) Authenticated lattice-based key agreement or key encapsulation
JP7328969B2 (ja) 暗号システムおよび方法
US9906368B2 (en) General encoding functions for modular exponentiation encryption schemes
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
US9904516B2 (en) Modular exponentiation using look-up tables
KR102443255B1 (ko) 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법
US9800410B1 (en) Data encryption system and method
EP3166013B1 (en) Modular exponentiation using randomized addition chains
KR102418016B1 (ko) 래티스를 기반으로 하는 신원 기반 암호화 방법
Baccouri et al. Lightweight authentication scheme based on Elliptic Curve El Gamal
Shojaie et al. Improving EAP-TLS performance using cryptographic methods
KR20230049052A (ko) 격자전자서명의 비밀 키 생성 방법 및 이를 이용한 장치
Besoul et al. INFORMATION THEORETICALLY SECURE KEY EXCHANGE ALGORITHM.
Kumar Yadav et al. An Efficient Approach for Security in Cloud Computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221020

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221122

R150 Certificate of patent or registration of utility model

Ref document number: 7183242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150