IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 國立交通大學の特許一覧

特開2022-59057素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム
<>
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図1
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図2
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図3
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図4
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図5
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図6
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図7
  • 特開-素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022059057
(43)【公開日】2022-04-12
(54)【発明の名称】素数モジュロの二重カプセル化に基づく1対多分配鍵管理によるポスト量子非対称鍵暗号化システム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20220405BHJP
【FI】
G09C1/00 620Z
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022022840
(22)【出願日】2022-02-17
(62)【分割の表示】P 2019123599の分割
【原出願日】2019-07-02
(31)【優先権主張番号】107134068
(32)【優先日】2018-09-27
(33)【優先権主張国・地域又は機関】TW
(71)【出願人】
【識別番号】598139748
【氏名又は名称】國立交通大學
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】リカルド・ネフタリ・ポンタザ・ロダス
(72)【発明者】
【氏名】林 盈達
(57)【要約】
【課題】格子代数に基づくポスト量子非対称鍵生成システムを提供する。
【解決手段】ポスト量子非対称鍵生成システム10は、p(素数)ベクトルを生成するpベクトル生成モジュール11と、pベクトルに基づいてp配列を生成するp配列生成モジュール13と、p配列に基づいて関連行列を生成する関連行列生成モジュール14と、関連行列と第1の基準素数p1とに基づいて、第1の基準逆p配列を取得する逆p配列生成モジュール15と、秘密鍵を生成する秘密鍵生成モジュール17と、第2の逆p配列に基づいて、秘密鍵とペアとなる公開鍵を取得する公開鍵生成モジュール18を備える。第2の逆p配列は、関連行列と、第1の素数p1と、第2の素数p2と、ランダム化配列とに基づいて取得される。
【選択図】図2
【特許請求の範囲】
【請求項1】
プロセッサ(22)によって実行される暗号化方法であって、
前記プロセッサ(22)によって、平文をm個の数値成分を有するデータ配列
【数1】
に変換するステップ(S71)と、
前記プロセッサ(22)によって、公開鍵Kpublicと、第2の基準素数pと、0と第2の基準正整数
【数2】
との間のm個の数値成分を有する暗号化ランダム化配列
【数3】
とに基づいて暗号化ランダム化関数
【数4】
を生成するステップ(S72)と、
前記プロセッサ(22)によって、m個の数値成分を有するデータ配列
【数5】
と前記暗号化ランダム化関数
【数6】
との和に対して前記第2の基準素数pを法としてモジュロ演算を実行し、前記暗号化ランダム化関数
【数7】
に関する暗号文
【数8】
を取得する(S73)ステップであって、前記暗号文
【数9】
は、m個の暗号化された数値成分を有する、ステップと、を含み、
前記公開鍵Kpublic、前記第2の基準素数p、前記第2の基準正整数
【数10】
は、
(A)前記プロセッサ(22)によって、素数pと、シードとしての算術関数及び古典的な文字列の1つと、に基づいて、前記素数pに関連すると共に、
無限の成分数を出力し得るpベクトル
【数11】
を生成するステップ(S31)であって、
前記pベクトル
【数12】
は、
【数13】
として定義され、fは、前記シードとしての前記算術関数及び前記古典的な文字列の1つを表す、ステップと、
(B)前記プロセッサ(22)によって、前記pベクトル
【数14】
に基づいて、成分数mを有し、前記素数pに関連すると共に、
【数15】
として定義されるp配列
【数16】
を生成するステップ(S32)であって、各パラメータm、s、tは、ユーザ定義の正の整数であり、前記素数p、前記パラメータs、前記パラメータtは、第1のパラメータセットIを共に構成し、そして前記p配列
【数17】
は、
【数18】
として表される、ステップと、
(C)前記プロセッサ(22)によって、前記p配列
【数19】
に基づいて、
【数20】
として定義される関連行列
【数21】
を生成するステップ(S35)であって、
【数22】
は、前記p配列の前記m個の成分における(j+1)th番目を表し、0≦j≦(m-1)である、ステップと、
(D)前記プロセッサ(22)によって、前記関連行列
【数23】
、及び、ユーザ定義の正の整数である法lに基づいて、前記法lに関すると共に、
【数24】
として定義される逆p配列
【数25】
を生成するステップ(S36)であって、
【数26】
は、前記法lに関する前記関連行列
【数27】
の行列式の逆係数を表すと共に、
【数28】
として定義され、そして
【数29】
は、前記関連行列
【数30】
の随伴行列を表す、ステップと、
(E)前記プロセッサ(22)によって、第1の基準素数pを任意に選択すると共に、前記第1の基準素数pと、前記p配列
【数31】
の前記m個の成分のうちのbで示される最大の1つと、第1の基準正整数
【数32】
と、前記パラメータm、前記第2の基準正整数
【数33】
、第3の基準正整数rからなる第2のパラメータセットSとに関する所定の判定基準に基づいて、前記第2の基準素数pを判定するステップ(S37)であって、前記所定の判定基準は、
【数34】
を有する、ステップと、
(F)前記プロセッサ(22)によって、前記第1の基準素数p、及び、前記第2の基準素数pをそれぞれ前記逆p配列
【数35】
における前記法lとすることによって、第1の基準逆p配列
【数36】
(S38)、及び、第2の基準逆p配列
【数37】
(S39)を取得し、
前記第1の基準逆p配列
【数38】
は、
【数39】
として定義される秘密鍵Kprivateとする、ステップと、
(G)前記プロセッサ(22)によって、前記プロセッサ(22)によって、前記第2の基準逆p配列
【数40】
と、前記第1の基準素数pと、前記第2の基準素数pと、鍵生成ランダム化配列
【数41】
と、に基づいて、
鍵生成ランダム化配列
【数42】
に関する前記公開鍵Kpublicを生成するステップ(S37)であって、
前記鍵生成ランダム化配列
【数43】
は、0と前記第1の基準正整数
【数44】
との間のm個の数値成分を有し、前記公開鍵Kpublicは、前記秘密鍵Kprivateとペアになっていると共に、m個の数値成分を有し、且つ、
【数45】
として表される
【数46】
として示される
【数47】
であり、
【数48】
は、前記鍵生成ランダム化配列
【数49】
に関する前記第2の基準逆p配列
【数50】
の鍵生成ランダム化関数であり、且つ、
【数51】
として定義され、
【数52】
は畳み込み乗算演算子を代表する、ステップとによって生成されたものである、暗号化方法。
【請求項2】
前記平文は、m個の文字を有し、そして前記データ配列
【数53】
の各前記m個の数値成分は、0と前記第1の基準正整数
【数54】
との間にあると共に、対応する前記平文の前記m個の文字の1つを代表する、
請求項1に記載の暗号化方法。
【請求項3】
前記プロセッサ(22)によって、前記公開鍵Kpublic及び前記暗号化ランダム化配列
【数55】
に基づいて、
【数56】
として定義される暗号化ランダム化関数
【数57】
を生成するステップ(S72)と、
前記プロセッサ(22)によって、前記データ配列
【数58】
と前記暗号化ランダム化関数
【数59】
との和に対して前記第2の基準素数pを法としてモジュロ演算を実行することによって、
【数60】
によって表される前記暗号文
【数61】
を取得するステップ(S73)と、を更に含む、
請求項1に記載の暗号化方法。
【請求項4】
プロセッサ(32)によって実行される復号化方法であって、
前記プロセッサ(32)によって、p配列
【数62】
と、秘密鍵Kprivateと、第1の基準素数pと、第2の基準素数pと、暗号文
【数63】
とを受信するステップと、
前記プロセッサ(32)によって、前記p配列
【数64】
と、前記秘密鍵Kprivateと、前記第1の基準素数pと、前記第2の基準素数pとを用いて、暗号文
【数65】
に対して、畳み込み演算及びモジュロ演算を実行し(S81)、m個の復号化された数値成分を有する平文配列
【数66】
を取得するステップ(S82)と、を含み、
前記p配列
【数67】
、前記秘密鍵Kprivate、前記第1の基準素数p、および前記第2の基準素数pは、
(A)前記プロセッサ(22)によって、素数pと、シードとしての算術関数及び古典的な文字列の1つと、に基づいて、前記素数pに関連すると共に、
無限の成分数を出力し得るpベクトル
【数68】
を生成するステップ(S31)であって、
前記pベクトル
【数69】
は、
【数70】
として定義され、fは、前記シードとしての前記算術関数及び前記古典的な文字列の1つを表す、ステップと、
(B)前記プロセッサ(22)によって、前記pベクトル
【数71】
に基づいて、成分数mを有し、前記素数pに関連すると共に、
【数72】
として定義されるp配列
【数73】
を生成するステップ(S32)であって、各パラメータm、s、tは、ユーザ定義の正の整数であり、前記素数p、前記パラメータs、前記パラメータtは、第1のパラメータセットIを共に構成し、そして前記p配列
【数74】
は、
【数75】
として表される、ステップと、
(C)前記プロセッサ(22)によって、前記p配列
【数76】
に基づいて、
【数77】
として定義される関連行列
【数78】
を生成するステップ(S35)であって、
【数79】
は、前記p配列の前記m個の成分における(j+1)th番目を表し、0≦j≦(m-1)である、ステップと、
(D)前記プロセッサ(22)によって、前記関連行列
【数80】
、及び、ユーザ定義の正の整数である法lに基づいて、前記法lに関すると共に、
【数81】
として定義される逆p配列
【数82】
を生成するステップ(S36)であって、
【数83】
は、前記法lに関する前記関連行列
【数84】
の行列式の逆係数を表すと共に、
【数85】
として定義され、そして
【数86】
は、前記関連行列
【数87】
の随伴行列を表す、ステップと、
(E)前記プロセッサ(22)によって、前記第1の基準素数pを任意に選択すると共に、前記第1の基準素数pと、前記p配列
【数88】
の前記m個の成分のうちのbで示される最大の1つと、第1の基準正整数
【数89】
と、前記パラメータm、第2の基準正整数
【数90】
、第3の基準正整数rからなる第2のパラメータセットSとに関する所定の判定基準に基づいて、前記第2の基準素数pを判定するステップ(S37)であって、前記所定の判定基準は、
【数91】
を有する、ステップと、
(F)前記プロセッサ(22)によって、前記第1の基準素数p、及び、前記第2の基準素数pをそれぞれ前記逆p配列
【数92】
における前記法lとすることによって、第1の基準逆p配列
【数93】
(S38)、及び、第2の基準逆p配列
【数94】
(S39)を取得し、
前記第1の基準逆p配列
【数95】
は、
【数96】
として定義される前記秘密鍵Kprivateとする、ステップと、
(G)前記プロセッサ(22)によって、前記プロセッサ(22)によって、前記第2の基準逆p配列
【数97】
と、前記第1の基準素数pと、前記第2の基準素数pと、鍵生成ランダム化配列
【数98】
と、に基づいて、
鍵生成ランダム化配列
【数99】
に関する公開鍵Kpublicを生成するステップ(S37)であって、
前記鍵生成ランダム化配列
【数100】
は、0と前記第1の基準正整数
【数101】
との間のm個の数値成分を有し、前記公開鍵Kpublicは、前記秘密鍵Kprivateとペアになっていると共に、m個の数値成分を有し、且つ、
【数102】
として表される
【数103】
として示される
【数104】
であり、
【数105】
は、前記鍵生成ランダム化配列
【数106】
に関する前記第2の基準逆p配列
【数107】
の鍵生成ランダム化関数であり、且つ、
【数108】
として定義され、
【数109】
は畳み込み乗算演算子を代表する、ステップとによって生成されたものである、
復号化方法。
【請求項5】
前記復号化の手順は、
前記プロセッサ(32)によって、前記暗号文
【数110】
と前記p配列
【数111】
との第1の畳み込み結果に対して前記第2の基準素数pを法としてモジュロ演算を実行して第1のモジュロ演算結果を取得し、そして前記第1のモジュロ演算結果に対して前記第1の基準素数pを法としてモジュロ演算を実行して、
【数112】
として定義される第2のモジュロ演算結果
【数113】
を取得するステップ(S81)と、
前記プロセッサ(32)によって、前記第2のモジュロ演算結果
【数114】
と前記秘密鍵Kprivateとしての前記第1の基準逆p配列
【数115】
との第2の畳み込み結果に対して前記第1の基準素数pを法としてモジュロ演算を実行するステップ(S82)と、
前記プロセッサ(32)によって、
【数116】
として定義される前記平文配列
【数117】
を取得するステップ(S82)と、を更に含む、
請求項4に記載の復号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非対称鍵生成方法に関し、特に、格子代数に基づくポスト量子非対称鍵生成方法及びシステム、鍵リフレッシュ方法、暗号化の方法、復号化の方法、及び暗号化通信システムに関する。
【背景技術】
【0002】
従来の暗号システムは、対称鍵アルゴリズムと非対称鍵アルゴリズムの2つの主要なカテゴリに分類することができる。AES(Advanced Encryption Standard)のような対称鍵アルゴリズムは、共有鍵を使用して暗号化と復号化を実行する。非対称鍵アルゴリズムは、異なっている鍵、具体的には公開鍵と秘密鍵のペアを利用して暗号化と復号化を実行する。例えば、RSAは、最初の公開鍵暗号システムの1つであり、且つ、データの安全な伝送に広く使用されている(「Rivest, R.L., Shamir. A., Adleman, L.:デジタル署名を取得するための方法及び公開鍵暗号システム。Communications of the ACM 21(2)、120-126(1978)」を参照)。NTRU(number theory research unit)は、他の非対称鍵アルゴリズムであり(「J. Hoffstein, J. Pipher, and J. H. Silverman, 『Ntru: リングベースの公開鍵暗号システム』、International Algorithmic Number Theory Symposium, pp. 261-288, Springer, 1998」を参照)、そして、ECC(elliptic curve cryptography)は、楕円曲線の代数構造に基づく公開鍵暗号へのアプローチである。対称鍵アルゴリズムの実施には、2者間の鍵交換用のセキュア通信路を必要とする。セキュア通信路は、非対称鍵アルゴリズムの実施に必要ではないが、非対称鍵アルゴリズムは、鍵ペアの生成、暗号化、及び復号化のために、比較的大きな計算が必要とされ得る。RSAと比較して、ECCはより優れた安全性を提供することができるが、暗号化と復号化にはより多くの時間を要する。
【0003】
古典的な暗号システムには、次の欠点を有する。
1.暗号化と復号化は一度に1文字ずつ実行されるため、現在の非対称鍵アルゴリズムのプロトコルは短時間に大量のデータを送信することができない。
【0004】
2.現在の非対称鍵アルゴリズムは、同じ代数群、環又はベクトル空間に属すると共に、本質的に類似しているような同じ数学的特性を有する公開鍵と、秘密鍵と、を利用するため、平文攻撃、又は、総当たり攻撃に遭い易い。
【0005】
3.現在の非対称鍵アルゴリズムに対しては、ユーザが自分の公開鍵を新しいものに変更する場合に、他のすべてのユーザが新しい公開鍵とペアになるように自分の秘密鍵を更新する必要があり、そうでなければ、さもないと、古い秘密鍵を使い続けているユーザから試みられ得るあらゆる通信が無効にされる。
【0006】
4.システムのセットアップのためにユーザ全員が鍵のリフレッシュを実行する必要がある場合に、鍵のリフレッシュ時間を示す集中エンティティを必要とする。
【0007】
5.整数因数分解に基づくアルゴリズム(例えば、RSA、DSA)、或いは、離散対数問題に基づくアルゴリズム(例えば、ECC)は、ショアのアルゴリズム、及び、グローバーのアルゴリズムに基づくポスト量子攻撃に対して弱い。
【0008】
6.RSA、AES、NTRUを使用しているネットワークにおいては、分散鍵リフレッシュがこれらの暗号システム用のプロトコルの基本定義の一部ではないので、分散鍵リフレッシュが存在しない。
【0009】
7.古典的な公開鍵暗号システムは、密結合としている公開-秘密鍵(即ち、各公開鍵は唯一の秘密鍵とのみペアになっている)を有する。ペアになっている鍵の1つへの攻撃は、他の1つの鍵の情報をしばしば表す。
【発明の概要】
【発明が解決しようとする課題】
【0010】
したがって、本発明の目的は、従来技術の少なくとも1つの欠点を軽減することができる格子代数に基づくポスト量子非対称鍵生成方法及びシステム、鍵リフレッシュメカニズム、暗号化の方法、復号化の方法、暗号化通信システム、を提供することにある。
【課題を解決するための手段】
【0011】
本発明によれば、処理ユニットによって実施されるポスト量子非対称鍵生成方法であって、
【0012】
【数1】
【0013】
(B)インスタンスの概念をI=(p、s、t)として定義し、pが素数であり、そしてsとtがユーザ定義の正の整数であり、
【0014】
【数2】
【0015】
【数3】
【0016】
【数4】
【0017】
【数5】
【0018】
【数6】
【0019】
【数7】
【0020】
本発明によれば、プロセッサによって実行される暗号化方法であって、
【0021】
【数8】
【0022】
本発明によれば、プロセッサによって実行される復号化方法であって、
【0023】
【数9】
【0024】
本発明によれば、ポスト量子非対称鍵生成システムは、
【0025】
【数10】
【0026】
【数11】
【0027】
【数12】
【0028】
【数13】
【0029】
【数14】
【0030】
【数15】
【0031】
【数16】
【0032】
本発明によれば、鍵サーバと、送信端と、受信端と、を含んでいる暗号化通信システムであって、
該鍵サーバは、
【0033】
【数17】
【0034】
【数18】
【0035】
【数19】
【0036】
【数20】
【0037】
【数21】
【0038】
【数22】
【0039】
【数23】
【0040】
【数24】
【0041】
【数25】
【0042】
【数26】
【0043】
【数27】
【0044】
本発明の他の特徴および利点は、添付の図面を参照する以下の実施形態の詳細な説明において明白になるであろう。
【図面の簡単な説明】
【0045】
図1】本発明に係る暗号化通信システムの一実施形態を示すブロック図である。
図2】暗号化通信システムの鍵サーバを示すブロック図である。
図3】本発明に係る鍵生成の手順のステップを示すフローチャートである。
図4】本発明に係る鍵生成の手順のステップを示すフローチャートである。
図5】該暗号化通信システムの送信端を示すブロック図である。
図6】該暗号化通信システムの受信端を示すブロック図である。
図7】本発明に係る暗号化の手順のステップを示すフローチャートである。
図8】本発明に係る復号化の手順のステップを示すフローチャートである。
【発明を実施するための形態】
【0046】
本発明をより詳細に説明する前に、適切と考えられる場合において、符号又は符号の末端部は、同様の特性を有し得る対応の又は類似の要素を示すために各図面間で繰り返し用いられることに留意されたい。
【0047】
図1に示されているように、本発明に係る暗号化通信システム100の実施形態は、鍵サーバ1と、複数のユーザエンドと、を含むように示されている。各ユーザエンドは、暗号化の手順、及び、復号化の手順を使用する通信プロトコルに基づいて他のユーザエンドと通信することができる。各ユーザエンドは、メッセージを送信する場合には送信端と成り得ると共に、メッセージを受信する場合に、受信端と成り得る。図1は、1つが送信端2となり、他の1つが受信端3となる2つのユーザエンドを単に例示しているが、本発明はこれに限定されない。送信端2は、記憶ユニット21と、記憶ユニット21に連結されているプロセッサ22とを含む。送信端3は、記憶ユニット31と、記憶ユニット31に連結されているプロセッサ22とを含む。本実施形態では、鍵サーバ1は送信端2及び受信端3から独立している。しかしながら、他の実施形態では、鍵サーバ1は送信端2内に組み込まれ得る。
【0048】
鍵サーバ1は、ポスト量子非対称鍵生成システム10によって構成されている処理装置(図示せず)を有することができる。図2に示されているように、ポスト量子非対称鍵生成システム10は、pベクトル(素数ベクトル)生成モジュール11と、pベクトル生成モジュール11と連結するp配列(素数配列)生成モジュール13と、p配列生成モジュール13と連結する関連行列生成モジュール14と、関連行列生成モジュール14と連結する逆p配列生成モジュール15と、基準素数判定モジュール16と、逆p配列生成モジュール15及び基準素数判定モジュール16と連結する秘密鍵生成モジュール17と、逆p配列生成モジュール15及び基準素数判定モジュール16と連結する公開鍵生成モジュール18と、p配列生成モジュール13、基準素数判定モジュール16、秘密鍵生成モジュール17、公開鍵生成モジュール18と連結する記憶モジュール19と、を含む。ここで、pベクトル生成モジュール11と、p配列生成モジュール13と、関連行列生成モジュール14と、逆p配列生成モジュール15と、基準素数判定モジュール16と、秘密鍵生成モジュール17と、公開鍵生成モジュール18とは、プロセッサ(図示せず)内に統合され得るが、本発明はこれに限定されない。
【0049】
暗号化通信システム100を使用する前に、鍵サーバ1は、暗号化及び復号化のために、非対称鍵(例えば、秘密鍵と、秘密鍵とペアになっている少なくとも1つの公開鍵)を生成する。図3図4は、図2に例示されているポスト量子非対称鍵生成システム10がどのように非対称鍵生成手順を実行するかを共に例示する。
【0050】
【数28】
【0051】
【数29】
【0052】
【数30】
【0053】
【数31】
【0054】
上記した2つの例は、シード及び第1のパラメータセットIに基づいてp配列がどのように生成されるかを例示的に示している。第1のパラメータセットIを保存することによって、対応するp配列は、いつでもシードに基づいて取得され得る。
【0055】
【数32】
【0056】
p配列生成モジュール13は、p配列のいずれか1つのm個の成分が0であると判定する場合に、ユーザに異なる第1のパラメータセットIを適用するために(即ち、新しい第1のパラメータセットI内の素数p、及び、パラメータs、tの少なくとも1つが、元の第1のパラメータセットI内のものと異なっている)、フローはステップS32に戻る。ステップS33における判定が肯定的になるまで、ステップS32は異なる第1のパラメータセットIで繰り返され得る。
【0057】
【数33】
【0058】
【数34】
【0059】
【数35】
【0060】
【数36】
【0061】
【数37】
【0062】
【数38】
【0063】
【数39】
【0064】
【数40】
【0065】
【数41】
【0066】
本実施形態では、プロセッサ22は、テキスト変換モジュール221と、暗号化ランダム化関数生成モジュール222と、テキスト変換モジュール221及び暗号化ランダム化関数生成モジュール222と連結する暗号文生成モジュール223と、を有するように構成されている。
【0067】
【数42】
【0068】
【数43】
【0069】
【数44】
【0070】
言い換えると、暗号化ランダム化関数生成モジュール222は、異なる暗号化ランダム化配列を使用することによって、異なる暗号化ランダム化関数を生成することができる。
【0071】
【数45】
【0072】
【数46】
【0073】
【数47】
【0074】
【数48】
【0075】
【数49】
【0076】
【数50】
【0077】
【数51】
【0078】
【数52】
【0079】
【数53】
【0080】
【数54】
【0081】
【数55】
【0082】
【数56】
【0083】
【数57】
【0084】
【数58】
【0085】
したがって、上記の詳細な説明より以下のことが分かる。
【0086】
1.ポスト量子非対称鍵生成システム10は、単一の算術関数、或いは、古典的な文字列のみで、第1のパラメータセットIと第2のパラメータセットSと第1の基準素数p1及び第2の基準素数p2との異なる組み合わせと共に利用することによって、非対称鍵生成の手順を実行して複数の秘密鍵を生成することができる。
【0087】
2.特定の秘密鍵に対して、ポスト量子非対称鍵生成システム10は、速やかであり、且つ、秘密鍵の再計算を必要としないソフト鍵リセットアルゴリズムの利用によってそれぞれが秘密鍵とペアになっている複数の公開鍵を生成することができることで、鍵サーバ1が鍵リフレッシュをより容易に実行することができる。
【0088】
3.p配列を生成するための方法が単一ではない。ゼロパディングによって、あるいはp配列の作成にランダム性を追加することによってランダム性をpベクトルに追加することができる。
【0089】
4.総当たり攻撃に対する難易度を高めるように、より大きいパラメータmを選択することによって鍵空間を増加することができる。本実施形態では、m=5、p1=251とする選択は、説明の便宜上のためのみである。m=16更にはm=64の場合に、可能な鍵空間が非常に大きくなるために、総当たり攻撃の成功には、べらぼうな時間がかかる。メッセージ空間と鍵空間のサイズは、膨大な数の可能性を含み、総当たり攻撃を不可能にする。
【0090】
表1は、オクタコアプロセッサ、及び、32GB RAM(ランダムアクセスメモリ)のハードウェアの仕様の下で、暗号化通信システム100を利用して異なるメッセージの長さに対して行なう暗号化と復号化に必要な時間の実験結果を列挙する。
【0091】
【表1】
【0092】
表1のデータに基づくと、本発明に係る暗号化通信システム100を利用すると、メッセージの長さにかかわらず、従来のAES及びRSAプロトコルと比較して暗号化及び復号化に必要な時間を数百分の一に減らすことができることがわかる。明らかに、本発明に係る暗号化通信システム100は、暗号化及び復号化の速度を大いに向上させることができる。
【0093】
本発明に係る実施形態では、公開鍵と秘密鍵とは、算術関数又は古典的な文字列、pベクトル、本質的にベクトルであるp配列に基づいて生成され、比較的大量のデータに対する暗号化及び復号化を可能にし、それによって、暗号化及び復号化の速度を向上させ、データの安全性を確保する。提案された暗号化通信システムは、ポスト量子セキュリティ、具体的にはポスト量子コンピュータからの攻撃に効果的に抵抗することができることを確保することができる。pベクトル及びp配列の特性のため、本実施形態を実施するためのハードウェア要求は、記憶容量及び/又は計算能力に関して比較的に低い。本実施形態は、秘密鍵の使用に影響を与えることなく、公開鍵のリフレッシュを可能にし、同じネットワーク内のすべてのユーザに対して分散鍵リフレッシュを可能にする。更に、秘密鍵を作るために使用される算術関数fは、無限量のデータを生成することができる関数であるので、単一の関数だけで複数の異なる公開鍵を生成することができる。
【0094】
上記の説明では、説明の目的のために、実施形態の完全な理解を提供するために多数の特定の詳細が述べられた。しかしながら、しかしながら、当業者であれば、一またはそれ以上の他の実施形態が具体的な詳細を示さなくとも実施され得ることが明らかである。また、本明細書における「一つの実施形態」「一実施形態」を示す説明において、序数などの表示を伴う説明はすべて、特定の態様、構造、特徴を有する本発明の具体的な実施に含まれ得るものであることと理解されたい。更に、本説明において、時には複数の変化例が一つの実施形態、図面、またはこれらの説明に組み込まれているが、これは本説明を合理化させるためのもので、本発明の多面性が理解されることを目的としたものであり、また、一実施形態における一またはそれ以上の特徴あるいは特定の具体例は、適切な場合には、本開示の実施において、他の実施形態における一またはそれ以上の特徴あるいは特定の具体例と共に実施され得る。
【0095】
以上、本発明の好ましい実施形態および変化例を説明したが、本発明はこれらに限定されるものではなく、最も広い解釈の精神および範囲内に含まれる様々な構成として、すべての修飾および均等な構成を包含するものとする。
【符号の説明】
【0096】
1 鍵サーバ
2 送信端
3 受信端
10 ポスト量子非対称鍵生成システム
11 pベクトル生成モジュール
13 p配列生成モジュール
14 関連行列生成モジュール
15 逆p配列生成モジュール
16 基準素数判定モジュール
17 秘密鍵生成モジュール
18 公開鍵生成モジュール
19 記憶モジュール
21 記憶ユニット
22 プロセッサ
31 記憶ユニット
32 プロセッサ
図1
図2
図3
図4
図5
図6
図7
図8