JP2023152133A - 暗号化装置、暗号化方法及び暗号化プログラム - Google Patents
暗号化装置、暗号化方法及び暗号化プログラム Download PDFInfo
- Publication number
- JP2023152133A JP2023152133A JP2022062092A JP2022062092A JP2023152133A JP 2023152133 A JP2023152133 A JP 2023152133A JP 2022062092 A JP2022062092 A JP 2022062092A JP 2022062092 A JP2022062092 A JP 2022062092A JP 2023152133 A JP2023152133 A JP 2023152133A
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- authentication code
- algorithm
- parallel
- code generation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】暗号化を高速に実行できる暗号化装置、暗号化方法及び暗号化プログラムを提供すること。【解決手段】暗号化装置1は、認証付き暗号方式における暗号化アルゴリズムを並列に複数実行し、複数の平文からそれぞれ暗号文を生成する暗号化処理部11と、複数の暗号文を、さらに暗号化アルゴリズムに順次入力して得られた出力に基づいて、認証コード生成アルゴリズムにより認証コードを生成する認証コード生成部12と、を備える。【選択図】図2
Description
本発明は、暗号化装置、暗号化方法及び暗号化プログラムに関する。
従来、携帯端末のモバイル通信サービスでは、SIMカードに書き込まれた秘密鍵を用いて、ネットワークとの間で認証及び鍵共有を行った後、所定の暗号方式を用いて通信が行われている。認証の手順は標準化され、非特許文献1に規定されている。
ところで、6G等の次世代移動通信サービスにおいては、通信速度の向上に伴い、安全性を担保するための通信データの暗号化を高速に実行することが求められている。
そこで、例えば、非特許文献2では、量子計算機による解読への耐性を持たせた鍵長に対応し、かつ、通信速度のボトルネックとならない処理速度を実現した認証付きストリーム暗号であるRoccaが提案されている。
そこで、例えば、非特許文献2では、量子計算機による解読への耐性を持たせた鍵長に対応し、かつ、通信速度のボトルネックとならない処理速度を実現した認証付きストリーム暗号であるRoccaが提案されている。
3GPP TS 33.102, V16.0.0 (2020-07), 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Security architecture (Release 16).
Kosei Sakamoto et al., "Rocca: An Efficient AES-based Encryption Scheme for Beyond 5G," IACR Transactions on Symmetric Cryptology, ISSN 2519-173X, Vol. 2021, No. 2, pp. 1-30.
しかしながら、処理の高速化はさらに望まれており、非特許文献2のRoccaを含む既存の暗号方式に対しても、より高速に実行できる実装方法が課題となっている。
本発明は、暗号化を高速に実行できる暗号化装置、暗号化方法及び暗号化プログラムを提供することを目的とする。
本発明に係る暗号化装置は、認証付き暗号方式における暗号化アルゴリズムを並列に複数実行し、複数の平文からそれぞれ暗号文を生成する暗号化処理部と、複数の前記暗号文を、さらに暗号化アルゴリズムに順次入力して得られた出力に基づいて、認証コード生成アルゴリズムにより認証コードを生成する認証コード生成部と、を備える。
前記暗号化処理部は、連続データを、所定ビットずつ前記平文として前記暗号化アルゴリズムに入力して並列に実行し、さらに、前記暗号化アルゴリズムの実行結果とともに、後続の平文を所定ビットずつ前記暗号化アルゴリズムに入力して並列に実行することを繰り返してもよい。
前記暗号化処理部は、前記暗号化アルゴリズムを並列に実行するための複数の鍵を、一つの鍵に基づく所定の計算式により算出してもよい。
前記暗号化処理部は、1番目の鍵に所定数を加算していくことで、前記複数の鍵を算出してもよい。
前記暗号化処理部は、前記所定数を素数としてもよい。
前記暗号方式は、Roccaであってもよい。
本発明に係る暗号化方法は、認証付き暗号方式における暗号化アルゴリズムを並列に複数実行し、複数の平文からそれぞれ暗号文を生成する暗号化処理ステップと、複数の前記暗号文を、さらに暗号化アルゴリズムに順次入力して得られた出力に基づいて、認証コード生成アルゴリズムにより認証コードを生成する認証コード生成ステップと、をコンピュータが実行する。
本発明に係る暗号化プログラムは、前記暗号化装置としてコンピュータを機能させるためのものである。
本発明によれば、暗号化を高速に実行できる。
以下、本発明の実施形態の一例について説明する。
本実施形態の暗号化方法は、使用する認証付き暗号方式の一例として、非特許文献2で提案されているRoccaを採用する。なお、暗号方式はこれに限られないが、各種の認証付き暗号方式に適用可能である。
本実施形態の暗号化方法は、使用する認証付き暗号方式の一例として、非特許文献2で提案されているRoccaを採用する。なお、暗号方式はこれに限られないが、各種の認証付き暗号方式に適用可能である。
図1は、本実施形態における暗号方式であるRoccaの構成を示す図である。
認証付きストリーム暗号方式であるRoccaのアルゴリズムでは、暗号化のための2つの鍵K0,K1が用いられ、鍵長はそれぞれ128ビット、合わせて256ビットに固定されている。
認証付きストリーム暗号方式であるRoccaのアルゴリズムでは、暗号化のための2つの鍵K0,K1が用いられ、鍵長はそれぞれ128ビット、合わせて256ビットに固定されている。
この2つの鍵の他、ノンス(N)及び各種パラメータ(Z,AD)をAESのラウンド関数に順次入力して内部状態を初期化した後、順次入力されるメッセージMに対して、ラウンド関数を用いる暗号化アルゴリズムにより暗号文Cが出力される。
さらに、メッセージの長さ|M|を用いて、ラウンド関数を20回実行する認証コード生成処理アルゴリズムにより、認証コードTが出力される。
さらに、メッセージの長さ|M|を用いて、ラウンド関数を20回実行する認証コード生成処理アルゴリズムにより、認証コードTが出力される。
図2は、本実施形態における暗号化装置1の機能構成を示す図である。
暗号化装置1は、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備えた情報処理装置である。
暗号化装置1は、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備えた情報処理装置である。
制御部10は、暗号化装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
具体的には、制御部10は、暗号化処理部11と、認証コード生成部12とを備える。
具体的には、制御部10は、暗号化処理部11と、認証コード生成部12とを備える。
記憶部20は、ハードウェア群を暗号化装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(暗号化プログラム)を記憶し、さらに、各種パラメータ、内部状態等を記憶する。
暗号化処理部11は、認証付き暗号方式(例えば、Rocca)における暗号化アルゴリズムを並列に複数実行し、複数の平文からそれぞれ暗号文を生成する。
また、暗号化処理部11は、大規模データを連続して暗号化する場合、連続データを、所定ビットずつ平文として暗号化アルゴリズムに入力して並列に実行する。そして、暗号化処理部11は、さらに、暗号化アルゴリズムの実行結果とともに、後続の平文を所定ビットずつ暗号化アルゴリズムに入力して並列に実行することを繰り返す。
また、暗号化処理部11は、大規模データを連続して暗号化する場合、連続データを、所定ビットずつ平文として暗号化アルゴリズムに入力して並列に実行する。そして、暗号化処理部11は、さらに、暗号化アルゴリズムの実行結果とともに、後続の平文を所定ビットずつ暗号化アルゴリズムに入力して並列に実行することを繰り返す。
例えば、暗号化アルゴリズムに対する1回の入力がLビットのとき、N個の並列実行の場合、暗号化処理部11は、暗号化したいデータ(平文)をLビット毎に順に分割し、最初のL×NビットをN個の暗号化アルゴリズムにLビットずつ入力する。
同様に、暗号化処理部11は、その後のデータをLビットずつ暗号化アルゴリズムに入力し、L×Nビットを並列処理する。
同様に、暗号化処理部11は、その後のデータをLビットずつ暗号化アルゴリズムに入力し、L×Nビットを並列処理する。
ここで、暗号化アルゴリズムを並列に実行するために、複数の鍵が必要となるが、暗号化処理部11は、一つの鍵に基づく所定の計算式により他の鍵を算出してもよい。
例えば、暗号化処理部11は、1番目の鍵に所定数(例えば、1)を加算していくことで複数の鍵を算出する。
例えば、暗号化処理部11は、1番目の鍵に所定数(例えば、1)を加算していくことで複数の鍵を算出する。
具体的には、1番目の鍵をKとしたとき、i(1≦i≦N)番目の鍵を、K+(i-1)×t mod xとして算出できる。なお、xは、鍵の取り得る値の数、すなわち鍵の最大値+1(鍵長が256ビットの場合、2256)である。
所定数tは自然数であるが、xと互いに素な値(例えば、素数)とすることで、鍵の重複を防ぐことができる。
所定数tは自然数であるが、xと互いに素な値(例えば、素数)とすることで、鍵の重複を防ぐことができる。
認証コード生成部12は、暗号化処理部11により生成された複数の暗号文を、さらに暗号化アルゴリズムに順次入力して得られた出力に基づいて、認証コード生成アルゴリズムにより認証コードを生成する。
図3は、本実施形態における暗号化方法の処理手順を例示する図である。
この例では、4個(N=4)の暗号化処理(暗号化アルゴリズム)が並列に実行される。この場合、平文はLビット以下に4分割され、それぞれに対して並列に暗号化処理が実施され、暗号文が出力される。
この例では、4個(N=4)の暗号化処理(暗号化アルゴリズム)が並列に実行される。この場合、平文はLビット以下に4分割され、それぞれに対して並列に暗号化処理が実施され、暗号文が出力される。
出力された4個の暗号文は、いずれかの暗号化処理(例えば1番目)に順次入力され、最終的な出力に基づいて、認証コード生成処理(認証コード生成アルゴリズム)が実行される。この結果、4個の暗号文に対して、単一の認証コードTが出力される。
また、L×Nビットを超える長さの平文を処理する場合は、次のように、暗号化の並列処理が繰り返し実行される。
図4は、本実施形態における暗号化方法により、大規模データを連続して暗号化する場合の処理手順を例示する図である。
ここでも、4個(N=4)の暗号化処理(暗号化アルゴリズム)が並列に実行されることとする。
ここでも、4個(N=4)の暗号化処理(暗号化アルゴリズム)が並列に実行されることとする。
まず、連続データの最初のL×Nビットを平文1としてN個の暗号化処理にLビットずつ入力すると、N個の暗号文(暗号文1)が出力される。
続いて、これらの暗号文それぞれと共に、後続のL×Nビットを平文2としてN個の暗号化処理にLビットずつ入力すると、N個の暗号文2が出力される。
同様に、暗号化処理の並列実行を繰り返すことにより、大規模データが暗号化される。これにより、例えば、高速なストリーム暗号が実現される。
続いて、これらの暗号文それぞれと共に、後続のL×Nビットを平文2としてN個の暗号化処理にLビットずつ入力すると、N個の暗号文2が出力される。
同様に、暗号化処理の並列実行を繰り返すことにより、大規模データが暗号化される。これにより、例えば、高速なストリーム暗号が実現される。
このようにして全ての平文の情報を引き継いで生成された最後のN個の暗号文は、図3と同様に、1番目の暗号化処理に順次入力され、認証コード生成処理によって認証コードが出力される。
なお、暗号方式としてRoccaを用いた場合、図1に示した初期化後のラウンド関数Rが暗号化処理(暗号化アルゴリズム)に該当し、初期化は予め実施される。
なお、暗号方式としてRoccaを用いた場合、図1に示した初期化後のラウンド関数Rが暗号化処理(暗号化アルゴリズム)に該当し、初期化は予め実施される。
本実施形態によれば、暗号化装置1は、認証付き暗号方式における暗号化アルゴリズムを並列に複数実行し、複数の平文からそれぞれ暗号文を生成した後、これらの暗号文を、さらに暗号化アルゴリズムに順次入力して得られた出力に基づいて、認証コード生成アルゴリズムにより認証コードを生成する。
したがって、暗号化装置1は、暗号化処理の並列実行により、認証付き暗号方式の全体として安全に高速化を実現し、かつ、並列化により認証コードが複数生成されることを防ぐのでデータサイズを増加させない。
したがって、暗号化装置1は、暗号化処理の並列実行により、認証付き暗号方式の全体として安全に高速化を実現し、かつ、並列化により認証コードが複数生成されることを防ぐのでデータサイズを増加させない。
また、暗号化装置1は、暗号化処理の並列実行を繰り返すことにより、大規模なデータに対する暗号化も可能とし、さらに、全ての平文の情報を引き継ぐことで単一の認証コードを生成できる。
暗号化装置1は、暗号化処理の並列実行のために、複数の鍵を一つの鍵から所定の計算式により算出する。
したがって、暗号化装置1は、効率的に並列実行の準備を行えるため、処理負荷を低減できる。
したがって、暗号化装置1は、効率的に並列実行の準備を行えるため、処理負荷を低減できる。
具体的には、暗号化装置1は、1番目の鍵に所定数を加算していくことで、容易に複数の鍵を算出できる。
このとき、算出された鍵が互いに重複しないことが必要となるが、所定数に比べて鍵空間が十分に広い場合、重複なく算出することができる。また、暗号化装置1は、所定数を、鍵の取り得る値の数xと互いに素な値、特に素数とすることで、容易に重複を防ぐことができる。
このとき、算出された鍵が互いに重複しないことが必要となるが、所定数に比べて鍵空間が十分に広い場合、重複なく算出することができる。また、暗号化装置1は、所定数を、鍵の取り得る値の数xと互いに素な値、特に素数とすることで、容易に重複を防ぐことができる。
暗号化装置1は、認証付き暗号方式としてRoccaを用いることができる。Roccaは、認証コード生成アルゴリズムが暗号文生成後に実行される構成のため、暗号化装置1は、暗号化アルゴリズムのみを容易に並列化でき、データサイズを増やすことなく高速に処理できる。
また、暗号化装置1により生成された暗号文を復号する際にも、暗号化の際と同様に、暗号文をLビットずつに分割することで並列化が可能であり、高速な復号処理が実現される。
さらに、このとき分割されたN個の暗号文を用いて、前述のように暗号化アルゴリズム及び認証コード生成アルゴリズムにより生成される認証コードを照合することで、データの完全性が保証される。
さらに、このとき分割されたN個の暗号文を用いて、前述のように暗号化アルゴリズム及び認証コード生成アルゴリズムにより生成される認証コードを照合することで、データの完全性が保証される。
なお、これにより、例えば認証付き暗号をさらに高速に実装できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
暗号化装置1による暗号化方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1 暗号化装置
10 制御部
11 暗号化処理部
12 認証コード生成部
20 記憶部
10 制御部
11 暗号化処理部
12 認証コード生成部
20 記憶部
Claims (8)
- 認証付き暗号方式における暗号化アルゴリズムを並列に複数実行し、複数の平文からそれぞれ暗号文を生成する暗号化処理部と、
複数の前記暗号文を、さらに暗号化アルゴリズムに順次入力して得られた出力に基づいて、認証コード生成アルゴリズムにより認証コードを生成する認証コード生成部と、を備える暗号化装置。 - 前記暗号化処理部は、
連続データを、所定ビットずつ前記平文として前記暗号化アルゴリズムに入力して並列に実行し、
さらに、前記暗号化アルゴリズムの実行結果とともに、後続の平文を所定ビットずつ前記暗号化アルゴリズムに入力して並列に実行することを繰り返す、請求項1に記載の暗号化装置。 - 前記暗号化処理部は、前記暗号化アルゴリズムを並列に実行するための複数の鍵を、一つの鍵に基づく所定の計算式により算出する請求項1又は請求項2に記載の暗号化装置。
- 前記暗号化処理部は、1番目の鍵に所定数を加算していくことで、前記複数の鍵を算出する請求項3に記載の暗号化装置。
- 前記暗号化処理部は、前記所定数を素数とする請求項4に記載の暗号化装置。
- 前記暗号方式は、Roccaである請求項1に記載の暗号化装置。
- 認証付き暗号方式における暗号化アルゴリズムを並列に複数実行し、複数の平文からそれぞれ暗号文を生成する暗号化処理ステップと、
複数の前記暗号文を、さらに暗号化アルゴリズムに順次入力して得られた出力に基づいて、認証コード生成アルゴリズムにより認証コードを生成する認証コード生成ステップと、をコンピュータが実行する暗号化方法。 - 請求項1に記載の暗号化装置としてコンピュータを機能させるための暗号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022062092A JP2023152133A (ja) | 2022-04-01 | 2022-04-01 | 暗号化装置、暗号化方法及び暗号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022062092A JP2023152133A (ja) | 2022-04-01 | 2022-04-01 | 暗号化装置、暗号化方法及び暗号化プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023152133A true JP2023152133A (ja) | 2023-10-16 |
Family
ID=88327729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022062092A Pending JP2023152133A (ja) | 2022-04-01 | 2022-04-01 | 暗号化装置、暗号化方法及び暗号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023152133A (ja) |
-
2022
- 2022-04-01 JP JP2022062092A patent/JP2023152133A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110313146B (zh) | 模糊度增强 | |
US8712036B2 (en) | System for encrypting and decrypting a plaintext message with authentication | |
US8509427B2 (en) | Hybrid mode cryptographic method and system with message authentication | |
KR101091246B1 (ko) | 간단하고 효율적인 원패스 인증 암호화 방법 | |
JP2001007800A (ja) | 暗号化装置および方法 | |
WO2012132623A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
US11463235B2 (en) | Encryption device, encryption method, program, decryption device, and decryption method | |
US20140317407A1 (en) | Incremental mac tag generation device, method, and program, and message authentication device | |
CN111314050A (zh) | 一种加解密方法及装置 | |
Günther et al. | A formal treatment of multi-key channels | |
Chuah et al. | Key derivation function: the SCKDF scheme | |
JP2002049310A (ja) | 暗復号装置、認証装置及び記憶媒体 | |
Yao et al. | Cryptography | |
WO2006092909A1 (ja) | シャッフル復号正当性証明装置と方法、シャッフル復号検証装置と方法、プログラムと記録媒体 | |
JP2002344445A (ja) | 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法 | |
Kampanakis et al. | Practical Challenges with AES-GCM and the need for a new cipher | |
JP2023152133A (ja) | 暗号化装置、暗号化方法及び暗号化プログラム | |
Wang et al. | A practical quantum public-key encryption model | |
JP5489115B2 (ja) | 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体 | |
Bogomolec et al. | Post-Quantum Secure Cryptographic Algorithms | |
Buchovecká et al. | Symmetric and asymmetric schemes for lightweight secure communication | |
CN113259094B (zh) | 一种通用的层级签名加密系统与构建方法 | |
US20220417012A1 (en) | Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product | |
Ritonga et al. | Modification affine cipher transform digraph to squared the value of ‘n’in text security | |
JP2023152132A (ja) | 暗号化装置、暗号化方法及び暗号化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240620 |