JP7125857B2 - 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム - Google Patents
暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム Download PDFInfo
- Publication number
- JP7125857B2 JP7125857B2 JP2018096219A JP2018096219A JP7125857B2 JP 7125857 B2 JP7125857 B2 JP 7125857B2 JP 2018096219 A JP2018096219 A JP 2018096219A JP 2018096219 A JP2018096219 A JP 2018096219A JP 7125857 B2 JP7125857 B2 JP 7125857B2
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- decryption
- mod
- key
- encrypted 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
本発明の実施の形態におけるNTRU暗号の手法を説明する前に、いくつかのNTRU暗号の従来手法について説明する。以降では、nをセキュリティパラメータ、Rを環であるものとする。環Rは、整数係数の多項式環Z[x]を用いて、R:=Z[x]/(f(x))と定義される。ここで、(f(x))はf(x)が生成するイデアルである。f(x)としては、例えば、f(x)=xn-1、f(x)=xn+1、f(x)=xn-x-1又はf(x)=xn+xn-1+・・・+x+1等の所定のn次多項式であるものとする。
非特許文献1に開示されているNTRU暗号では、以下のように鍵生成、暗号化及び復号が行われる。
f←RDf、g←RDgとして、h:=g・Fq (mod q)を計算する。ここで、Df及びDgは環Rの部分集合、Fqは法qでのfの逆元(すなわち、f・Fq=1 (mod q)となる要素)である。
(r,e)を用いて、暗号化メッセージc:=p・h・r+e (mod q)を計算する。ここで、rは環Rの部分集合Drの要素である。また、eは環Rの部分集合Deの要素であり、暗号化対象のメッセージである。(r,e)は、暗号化メッセージの送信側(すなわち、暗号化メッセージを生成及び送信する機器又は装置等)により選ばれる。(r,e)としては、例えば、Dr及びDeを環Rの部分集合として、r←RDr、eをDeから選択された要素とすれば良い。なお、Deは、暗号化対象のメッセージの集合(例えば、平文集合等)である。
暗号化メッセージcの受信側(すなわち、暗号化メッセージを受信及び復号する機器又は装置等)は、以下のStep1-1及びStep1-2により暗号化メッセージcをメッセージeに復号する。
上記(1)のNTRU暗号の手法の一部を変形した従来手法として、fを1+p・f´の形に制限したNTRU暗号(このNTRU暗号を「f=1+p・f´型のNTRU暗号」と表す。)がある。ここで、f´は環Rの要素である。
f=1+p・f´←RDf、g←RDgとして、h:=g・Fq (mod q)を計算する。ここで、Df及びDgは環Rの部分集合、Fqは法qでのfの逆元である。
(r,e)を用いて、暗号化メッセージc:=p・h・r+e (mod q)を計算する。ここで、rは環Rの部分集合Drの要素である。また、eは環Rの部分集合Deの要素であり、暗号化対象のメッセージである。(r,e)は、暗号化メッセージの送信側により選ばれる。
暗号化メッセージcの受信側は、以下のStep2-1及びStep2-2により暗号化メッセージcをメッセージeに復号する。
非特許文献2に開示されているRounded NTRU暗号では、暗号化の際にRound関数でeを定義する。すなわち、Rounded NTRU暗号では、eをp・h・rから一意に決定する。ここで、Round関数をroundp(・)として、roundp(a)は、a∈Zqについて、最も近いpの倍数に丸める関数であるものとする。具体的な計算例を挙げると、round3(-5)=-6、round3(4)=3等となる。
f=p・f´←RDf、g←RDgとして、h:=g・Fq (mod q)を計算する。ここで、Df及びDgは環Rの部分集合、Fqは法qでのfの逆元である。
rを用いて、暗号化メッセージc:=roundp(h・r)を計算する。ここで、rは環Rの部分集合Drの要素であり、暗号化対象のメッセージである。rは、暗号化メッセージの送信側により選ばれる。rとしては、例えば、Drを環Rの部分集合として、rをDrから選択された要素すれば良い。なお、Rounded NTRU暗号では、Drが暗号化対象のメッセージの集合(例えば、平文集合等)である。
暗号化メッセージcの受信側は、以下のStep3-1~Step3-3により暗号化メッセージcをメッセージrに復号する。
上記(3)のRounded NTRU暗号に対して、以下の参考文献1のTable4に記載されている鍵カプセル化メカニズム(KEM:Key Encapsulation Mechanism)を適用することもできる。
Alexander W. Dent: A Designer's Guide to KEMs, https://eprint.iacr.org/2002/174
上記の鍵カプセル化メカニズムをRounded NTRU暗号に適用したNTRU暗号を「Rounded NTRU暗号+Dent4」と表す。
f=p・f´←RDf、g←RDgとして、h:=g・Fq (mod q)を計算する。ここで、Df及びDgは環Rの部分集合、Fqは法qでのfの逆元である。
r←RDrとして、c1:=roundp(h・r)を計算する。また、(c2,K):=H(r)を計算する。ここで、Drは環Rの部分集合、H(・)はハッシュ関数である。
暗号化メッセージcの受信側は、以下のStep4-1~Step4-5により鍵カプセル化解除を行って、共有鍵を生成する。
次に、本発明の実施の形態におけるNTRU暗号の手法は、上記(3)のRounded NTRU暗号を改良して、秘密鍵をfとしたものである。これにより、上記(3)のRounded NTRU暗号と比べて、秘密鍵としてGpを保存する必要がなく、かつ、上記のStep3-3が不要になるという利点がある。すなわち、本発明の実施の形態におけるNTRU暗号の手法では、復号処理の高速化させることができると共に、秘密鍵のサイズを小さくすることができる。
f=p・f´←RDf、g=1+p・g´←RDgとして、h:=g・Fq (mod q)を計算する。ここで、Df及びDgは環Rの部分集合、g´は環Rの要素、Fqは法qでのfの逆元である。
rを用いて、暗号化メッセージc:=roundp(h・r)を計算する。ここで、rは環Rの部分集合Drの要素であり、暗号化対象のメッセージである。rは、暗号化メッセージの送信側により選ばれる。rとしては、例えば、Drを環Rの部分集合として、rをDrから選択された要素すれば良い。なお、本発明の実施の形態におけるNTRU暗号では、上記(3)のRounded NTRU暗号と同様に、Drが暗号化対象のメッセージの集合(例えば、平文集合等)である。
暗号化メッセージcの受信側は、以下のStep5-1~Step5-3により暗号化メッセージcをメッセージrに復号する。
Step5-2)r:=a (mod p)を計算する。これにより、メッセージrが得られる。このように、上記(3)のRounded NTRU暗号と比べて、上記のStep3-3が不要であるため、復号処理をより高速に行うことができるようになる。
本発明の実施の形態におけるNTRU暗号に対して、上記の参考文献1のTable4に記載されている鍵カプセル化メカニズムを適用することもできる。この鍵カプセル化メカニズムを、本発明の実施の形態におけるNTRU暗号に適用したNTRU暗号を「本発明の実施の形態におけるRounded NTRU暗号+Dent4」と表す。
f=p・f´←RDf、g=1+p・g´←RDgとして、h:=g・Fq (mod q)を計算する。ここで、Df及びDgは環Rの部分集合、g´は環Rの要素、Fqは法qでのfの逆元である。
r←RDrとして、c1:=roundp(h・r)を計算する。また、(c2,K):=H(r)を計算する。ここで、Drは環Rの部分集合、H(・)はハッシュ関数である。
暗号化メッセージcの受信側は、以下のStep6-1~Step6-4により鍵カプセル化解除を行って、共有鍵を生成する。
次に、本発明の実施の形態における暗号化システム1の全体構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における暗号化システム1の全体構成の一例を示す図である。
次に、本発明の実施の形態における暗号化装置10及び復号装置20のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における暗号化装置10及び復号装置20のハードウェア構成の一例を示す図である。なお、暗号化装置10及び復号装置20は、略同様のハードウェア構成で実現可能であるため、以降では、主に、暗号化装置10のハードウェア構成について説明する。
次に、本発明の実施の形態における暗号化システム1の機能構成について、図3を参照しながら説明する。図3は、本発明の実施の形態における暗号化システム1の機能構成の一例を示す図である。
以降では、実施例1として、本発明の実施の形態におけるNTRU暗号により暗号化及び復号を行う処理について、図4を参照しながら説明する。図4は、本発明の実施の形態における暗号化及び復号処理の一例を示すシーケンス図(実施例1)である。
以降では、実施例2として、本発明の実施の形態におけるNTRU暗号+Dent4により暗号化装置10と復号装置20との間で共有鍵を共有した上で、この共有鍵により暗号化及び復号を行う処理について、図5を参照しながら説明する。図5は、本発明の実施の形態における暗号化及び復号処理の一例を示すシーケンス図(実施例2)である。
ここで、一例として、以下の参考文献2に記載されているパラメータセットkem/ntrulpr4591761を用いた場合における本発明の効果について説明する。
Daniel J. Bernstein, Chitchanok Chuengsatiansup, Tanja Lange, Christine van Vredendaal: NTRU Prime NIST Submitted.
上記のパラメータセットkem/ntrulpr4591761では、p=3、n=761、q=4591であり、f(x)=xn-x-1である。この場合、上記の参考文献2に記載されているように、従来のRounded NTRU暗号では、公開鍵は1218bytes、暗号化メッセージは1015bytes、秘密鍵は1600bytes=1218+191+191bytesである。
10 暗号化装置
20 復号装置
101 通信部
102 暗号化部
201 通信部
202 鍵生成部
203 復号部
Claims (6)
- 環R=Z[x]/(f(x))(ただし、f(x)は所定のn次多項式)の部分集合をDf及びDg、p<qを互いに素な正整数、f´及びg´を前記Rの要素として、前記Dfからランダムに選択された要素f=p・f´と、前記Dgからランダムに選択された要素g=1+p・g´と、法qでの前記fの逆元Fqとを用いて、h=g・Fq(mod q)を公開鍵、前記fを秘密鍵として生成する鍵生成手段と、
前記Rの部分集合をDr、前記Drから選択された要素rを暗号化対象として、前記rと、前記hとを用いて、暗号化メッセージc=roundp(h・r)を生成する暗号化手段と、
前記暗号化メッセージcを用いて、a=f・c(mod q)を計算した後、復号結果を表すr=a(mod p)を計算することで、前記暗号化メッセージcを復号する復号手段と、
を有することを特徴とする暗号化システム。 - 前記暗号化手段は、
前記Drからランダムに選択された要素rを暗号化対象として、前記rと、前記hと、
所定のハッシュ関数Hとを用いて、c1=roundp(h・r)と、(c2,K)=H(r)とを計算し、暗号化メッセージc=(c1,c2)と、共有鍵Kとを生成し、
前記復号手段は、
前記暗号化メッセージcを用いて、a=f・c (mod q)を計算した後、復号結果を表すr´=a (mod p)を計算し、
前記r´を用いて、c1´=roundp(h・r´)と、(c2´,K´)=H(r´)とを計算することで、共有鍵K=K´を生成する、
ことを特徴とする請求項1に記載の暗号化システム。 - 前記復号手段は、
前記r´が前記Drの要素であり、かつ、(c1,c2)=(c1´,c2´)である場合に、前記K´を共有鍵Kとして生成し、
前記r´が前記Drの要素でない又は/及び(c1,c2)=(c1´,c2´)でない場合、復号失敗とする、
ことを特徴とする請求項2に記載の暗号化システム。 - 環R=Z[x]/(f(x))(ただし、f(x)は所定のn次多項式)の部分集合をDf及びDg、p<qを互いに素な正整数、f´及びg´を前記Rの要素として、前記Dfからランダムに選択された要素f=p・f´と、前記Dgからランダムに選択された要素g=1+p・g´と、法qでの前記fの逆元Fqとを用いて、h=g・Fq(mod q)を公開鍵、前記fを秘密鍵として生成する鍵生成手段と、
前記hを用いて暗号化装置により暗号化された暗号化メッセージcを受信する受信手段と、
前記受信手段により受信された暗号化メッセージcを用いて、a=f・c(mod q)を計算した後、復号結果を表すr=a(mod p)を計算することで、前記暗号化メッセージcを復号する復号手段と、
を有することを特徴とする復号装置。 - 環R=Z[x]/(f(x))(ただし、f(x)は所定のn次多項式)の部分集合をDf及びDg、p<qを互いに素な正整数、f´及びg´を前記Rの要素として、前記Dfからランダムに選択された要素f=p・f´と、前記Dgからランダムに選択された要素g=1+p・g´と、法qでの前記fの逆元Fqとを用いて、h=g・Fq(mod q)を公開鍵、前記fを秘密鍵として生成する鍵生成手順と、
前記hを用いて暗号化装置により暗号化された暗号化メッセージcを受信する受信手順と、
前記受信手順により受信された暗号化メッセージcを用いて、a=f・c(mod q)を計算した後、復号結果を表すr=a(mod p)を計算することで、前記暗号化メッセージcを復号する復号手順と、
をコンピュータが実行することを特徴とする復号方法。 - コンピュータを、請求項4に記載の復号装置として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096219A JP7125857B2 (ja) | 2018-05-18 | 2018-05-18 | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム |
PCT/JP2019/017468 WO2019220900A1 (ja) | 2018-05-18 | 2019-04-24 | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム |
US17/054,741 US20210226791A1 (en) | 2018-05-18 | 2019-04-24 | Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096219A JP7125857B2 (ja) | 2018-05-18 | 2018-05-18 | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019200382A JP2019200382A (ja) | 2019-11-21 |
JP7125857B2 true JP7125857B2 (ja) | 2022-08-25 |
Family
ID=68539852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018096219A Active JP7125857B2 (ja) | 2018-05-18 | 2018-05-18 | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210226791A1 (ja) |
JP (1) | JP7125857B2 (ja) |
WO (1) | WO2019220900A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7273753B2 (ja) * | 2020-03-06 | 2023-05-15 | 株式会社東芝 | 数論変換処理装置、数論変換処理方法及びプログラム |
US11991281B1 (en) * | 2023-10-31 | 2024-05-21 | Massood Kamalpour | Systems and methods for digital data management including creation of storage location with storage access id |
-
2018
- 2018-05-18 JP JP2018096219A patent/JP7125857B2/ja active Active
-
2019
- 2019-04-24 WO PCT/JP2019/017468 patent/WO2019220900A1/ja active Application Filing
- 2019-04-24 US US17/054,741 patent/US20210226791A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
BERNSTEIN, Daniel J. et al.,NTRU Prime: reducing attack surfice at low cost,Cryptology ePrint Archive,International Association for Cryptologic Research,2017年08月,Report 2016/461, Ver. 20170817:160919,pp. 1-55,https://eprint.iacr.org/2016/461/20170817:160919,[2019年7月23日検索],インターネット |
HUELSING, Andreas et al.,High-speed key encapsulation from NTRU,Cryptology ePrint Archive,International Association for Cryptologic Research,2017年08月,Report 2017/667, Ver. 20170829:225239,pp. 1-27,https://eprint.iacr.org/2017/667/20170829:225239,[2019年7月24日検索],インターネット |
Also Published As
Publication number | Publication date |
---|---|
WO2019220900A1 (ja) | 2019-11-21 |
JP2019200382A (ja) | 2019-11-21 |
US20210226791A1 (en) | 2021-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sohal et al. | BDNA-A DNA inspired symmetric key cryptographic technique to secure cloud computing | |
Acar et al. | A survey on homomorphic encryption schemes: Theory and implementation | |
Perlner et al. | Quantum resistant public key cryptography: a survey | |
US8429408B2 (en) | Masking the output of random number generators in key generation protocols | |
JP6019453B2 (ja) | 暗号化装置、復号化装置、及びプログラム | |
JP5011264B2 (ja) | セキュリティ強化のための転置データ変換 | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN107359979B (zh) | 基于截断多项式的对称全同态加密方法 | |
Iyer et al. | A novel idea on multimedia encryption using hybrid crypto approach | |
JP6556955B2 (ja) | 通信端末、サーバ装置、プログラム | |
Sengupta et al. | Message mapping and reverse mapping in elliptic curve cryptosystem | |
CN115549891B (zh) | 同态加密方法、同态解密方法、同态计算方法及设备 | |
Kanna et al. | Enhancing the security of user data using the keyword encryption and hybrid cryptographic algorithm in cloud | |
Hodowu et al. | An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm | |
JP7125857B2 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
JP6294882B2 (ja) | 鍵保管装置、鍵保管方法、及びそのプログラム | |
Grover et al. | A framework for cloud data security | |
CN109495478B (zh) | 一种基于区块链的分布式安全通信方法及*** | |
EP2395698B1 (en) | Implicit certificate generation in the case of weak pseudo-random number generators | |
WO2022239129A1 (ja) | 鍵交換システム、機器、鍵交換方法、及びプログラム | |
JP4685621B2 (ja) | 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム | |
JPWO2005098796A1 (ja) | 暗号方式の安全性を保証するパディング適用方法 | |
WO2024028961A1 (ja) | 暗号システム、方法及びプログラム | |
Kumari et al. | An EHSA for RSA Cryptosystem | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220711 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220711 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220719 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220720 |
|
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: 20220809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220815 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7125857 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |