JP2023152132A - 暗号化装置、暗号化方法及び暗号化プログラム - Google Patents
暗号化装置、暗号化方法及び暗号化プログラム Download PDFInfo
- Publication number
- JP2023152132A JP2023152132A JP2022062091A JP2022062091A JP2023152132A JP 2023152132 A JP2023152132 A JP 2023152132A JP 2022062091 A JP2022062091 A JP 2022062091A JP 2022062091 A JP2022062091 A JP 2022062091A JP 2023152132 A JP2023152132 A JP 2023152132A
- Authority
- JP
- Japan
- Prior art keywords
- key
- encryption
- length
- fixed
- encryption algorithm
- 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 19
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】鍵長が固定された暗号化アルゴリズムにおいて、短縮された鍵を利用できる暗号化装置、暗号化方法及び暗号化プログラムを提供すること。【解決手段】暗号化装置1は、固定の鍵長による暗号化アルゴリズムに対して、当該鍵長よりも短い第1の鍵を取得する鍵取得部11と、第1の鍵に所定のビット列を連結して固定の鍵長の第2の鍵を生成する鍵生成部12と、第2の鍵を用いて、暗号化アルゴリズムを実行する暗号化処理部13と、を備える。【選択図】図2
Description
本発明は、暗号化装置、暗号化方法及び暗号化プログラムに関する。
従来、暗号方式には、高い処理性能及び安全性が求められ、様々なアルゴリズムが新たに開発されてきた。例えば、通信データを対象とするストリーム暗号においては、通信の高速化に伴い、高い安全性とともに、処理速度の向上が求められてきた。
非特許文献1では、量子計算機による解読への耐性を持たせた鍵長に対応し、かつ、通信速度のボトルネックとならない処理速度を実現した認証付きストリーム暗号が提案されている。
非特許文献1では、量子計算機による解読への耐性を持たせた鍵長に対応し、かつ、通信速度のボトルネックとならない処理速度を実現した認証付きストリーム暗号が提案されている。
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.
しかしながら、例えば、従来のシステムに採用されている暗号方式を新たな方式に置き換える際に、鍵長が固定であると、従来の鍵を引き継ぐことができなかった。また、安全保障上の制約等により鍵長が限定された場合、鍵長の固定された暗号方式が採用されたシステムの利用が継続できなかった。
本発明は、鍵長が固定された暗号化アルゴリズムにおいて、短縮された鍵を利用できる暗号化装置、暗号化方法及び暗号化プログラムを提供することを目的とする。
本発明に係る暗号化装置は、固定の鍵長による暗号化アルゴリズムに対して、当該鍵長よりも短い第1の鍵を取得する鍵取得部と、前記第1の鍵に所定のビット列を連結して前記固定の鍵長の第2の鍵を生成する鍵生成部と、前記第2の鍵を用いて、前記暗号化アルゴリズムを実行する暗号化処理部と、を備える。
前記鍵生成部は、前記所定のビット列として、1に続いて0を、前記固定の鍵長になるまで連続して前記第1の鍵の下位に連結してもよい。
前記暗号化アルゴリズムは、Roccaであり、前記暗号化処理部は、前記Roccaで使用される2つの鍵の少なくとも一方について、前記所定のビット列を連結した前記第2の鍵を用いてもよい。
前記鍵取得部は、入力された鍵を2分割し、それぞれを前記第1の鍵として取得し、前記鍵生成部は、前記Roccaで使用される2つの鍵のそれぞれに対して、前記第2の鍵を生成してもよい。
本発明に係る暗号化方法は、固定の鍵長による暗号化アルゴリズムに対して、当該鍵長よりも短い第1の鍵を取得する鍵取得ステップと、前記第1の鍵に所定のビット列を連結して前記固定の鍵長の第2の鍵を生成する鍵生成ステップと、前記第2の鍵を用いて、前記暗号化アルゴリズムを実行する暗号化処理ステップと、をコンピュータが実行する。
本発明に係る暗号化プログラムは、前記暗号化装置としてコンピュータを機能させるためのものである。
本発明によれば、鍵長が固定された暗号化アルゴリズムにおいて、短縮された鍵を利用できる。
以下、本発明の実施形態の一例について説明する。
本実施形態の暗号化方法は、使用する暗号方式の一例として、非特許文献1で提案されているRoccaを採用する。なお、暗号方式はこれに限られないが、鍵が固定長に制限された暗号化アルゴリズムが用いられる。
本実施形態の暗号化方法は、使用する暗号方式の一例として、非特許文献1で提案されている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と、暗号化処理部13とを備える。
具体的には、制御部10は、鍵取得部11と、鍵生成部12と、暗号化処理部13とを備える。
記憶部20は、ハードウェア群を暗号化装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(暗号化プログラム)を記憶し、さらに、各種パラメータ、内部状態等を記憶する。
鍵取得部11は、固定の鍵長による暗号化アルゴリズムに対して、この固定の鍵長よりも短い第1の鍵を取得する。
暗号化アルゴリズムがRoccaの場合、要求される固定長256ビットの鍵(K0∥K1)に対して、256ビットよりも短い鍵の入力を受け付ける。
暗号化アルゴリズムがRoccaの場合、要求される固定長256ビットの鍵(K0∥K1)に対して、256ビットよりも短い鍵の入力を受け付ける。
具体的には、鍵取得部11は、入力された鍵を2分割し、それぞれを第1の鍵として鍵生成部12に提供する。
なお、分割方法は、等分には限らず、また、一方の鍵(K0又はK1)に固定長の128ビットを割り当て、他方の鍵に残りのビットを割り当ててもよい。
なお、分割方法は、等分には限らず、また、一方の鍵(K0又はK1)に固定長の128ビットを割り当て、他方の鍵に残りのビットを割り当ててもよい。
鍵生成部12は、鍵取得部11から提供された第1の鍵に所定のビット列を連結して固定の鍵長の第2の鍵を生成する。
例えば、鍵生成部12は、所定のビット列として、1に続いて0を、固定の鍵長になるまで連続して第1の鍵の下位に連結する。
例えば、鍵生成部12は、所定のビット列として、1に続いて0を、固定の鍵長になるまで連続して第1の鍵の下位に連結する。
ここで、暗号化アルゴリズムがRoccaの場合、鍵生成部12は、使用される2つの鍵(K0及びK1)のそれぞれに対して、鍵取得部11から受け取った第1の鍵から第2の鍵を生成する。
図3は、本実施形態における鍵生成処理を例示する図である。
Mビットの鍵(第1の鍵)に対して、L-Mビットのビット列「10…0」を連結することにより、Lビットの鍵(第2の鍵)が生成される。
このように生成された鍵は、下位ビットから連続する0を削除していき、最後に1を削除すると、元の鍵(第1の鍵)が復元可能である。
Mビットの鍵(第1の鍵)に対して、L-Mビットのビット列「10…0」を連結することにより、Lビットの鍵(第2の鍵)が生成される。
このように生成された鍵は、下位ビットから連続する0を削除していき、最後に1を削除すると、元の鍵(第1の鍵)が復元可能である。
なお、連結されるビット列はこれには限られないが、容易に判別可能なビット列が所定の位置に配置されることが好ましい。また、暗号化側(暗号化装置1)と復号側とで、事前にビット列長及び連結位置が取り決められてもよい。
暗号化処理部13は、第2の鍵を用いて、暗号化アルゴリズムを実行する。
具体的には、暗号化処理部13は、Roccaで使用される2つの鍵の少なくとも一方について、鍵生成部12により所定のビット列を連結した第2の鍵を固定長の鍵として用いる。
具体的には、暗号化処理部13は、Roccaで使用される2つの鍵の少なくとも一方について、鍵生成部12により所定のビット列を連結した第2の鍵を固定長の鍵として用いる。
本実施形態によれば、暗号化装置1は、固定の鍵長による暗号化アルゴリズムに対して、この鍵長よりも短い第1の鍵を取得すると、第1の鍵に所定のビット列を連結して固定の鍵長の第2の鍵を生成し、生成した第2の鍵を用いて、暗号化アルゴリズムを実行する。
したがって、暗号化装置1は、鍵長が固定の暗号方式を採用した場合に、暗号化アルゴリズムを変更することなく、要求される鍵長よりも短い鍵を利用できる。
したがって、暗号化装置1は、鍵長が固定の暗号方式を採用した場合に、暗号化アルゴリズムを変更することなく、要求される鍵長よりも短い鍵を利用できる。
この結果、例えば、本来の鍵長で保証されるほどの高い安全性が必要ない場合、又は安全保障上の制約により鍵長が制限されている場合等に短縮した鍵を用いたり、SIMカード等のデバイスに埋め込まれた固有の鍵を、他の地域又は新たなシステムにおいて継続して用いたり、といった自由度が得られる。また、鍵の生成方法を変えることなく、新たな暗号化アルゴリズムに容易に置き換えることができる。
また、暗号化装置1は、所定のビット列として、1に続いて0を、固定の鍵長になるまで連続して第1の鍵の下位に連結することにより、容易に固定長の第2の鍵を生成でき、さらに、元の第1の鍵を容易に判別し復元できる。
暗号化装置1は、例えば、認証付き暗号としてRoccaを導入した場合に、必要な2つの鍵それぞれに対して短縮した鍵を入力できるので、合わせて256ビットの鍵長に対して、要求される安全性に応じて、入力する鍵長を自由に設定することができる。
なお、前述の実施形態により、例えば、暗号化アルゴリズムで使用する鍵の自由度が向上することから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
暗号化装置1による暗号化方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1 暗号化装置
10 制御部
11 鍵取得部
12 鍵生成部
13 暗号化処理部
20 記憶部
10 制御部
11 鍵取得部
12 鍵生成部
13 暗号化処理部
20 記憶部
Claims (6)
- 固定の鍵長による暗号化アルゴリズムに対して、当該鍵長よりも短い第1の鍵を取得する鍵取得部と、
前記第1の鍵に所定のビット列を連結して前記固定の鍵長の第2の鍵を生成する鍵生成部と、
前記第2の鍵を用いて、前記暗号化アルゴリズムを実行する暗号化処理部と、を備える暗号化装置。 - 前記鍵生成部は、前記所定のビット列として、1に続いて0を、前記固定の鍵長になるまで連続して前記第1の鍵の下位に連結する請求項1に記載の暗号化装置。
- 前記暗号化アルゴリズムは、Roccaであり、
前記暗号化処理部は、前記Roccaで使用される2つの鍵の少なくとも一方について、前記所定のビット列を連結した前記第2の鍵を用いる請求項1又は請求項2に記載の暗号化装置。 - 前記鍵取得部は、入力された鍵を2分割し、それぞれを前記第1の鍵として取得し、
前記鍵生成部は、前記Roccaで使用される2つの鍵のそれぞれに対して、前記第2の鍵を生成する請求項3に記載の暗号化装置。 - 固定の鍵長による暗号化アルゴリズムに対して、当該鍵長よりも短い第1の鍵を取得する鍵取得ステップと、
前記第1の鍵に所定のビット列を連結して前記固定の鍵長の第2の鍵を生成する鍵生成ステップと、
前記第2の鍵を用いて、前記暗号化アルゴリズムを実行する暗号化処理ステップと、をコンピュータが実行する暗号化方法。 - 請求項1に記載の暗号化装置としてコンピュータを機能させるための暗号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022062091A JP2023152132A (ja) | 2022-04-01 | 2022-04-01 | 暗号化装置、暗号化方法及び暗号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022062091A JP2023152132A (ja) | 2022-04-01 | 2022-04-01 | 暗号化装置、暗号化方法及び暗号化プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023152132A true JP2023152132A (ja) | 2023-10-16 |
Family
ID=88327732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022062091A Pending JP2023152132A (ja) | 2022-04-01 | 2022-04-01 | 暗号化装置、暗号化方法及び暗号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023152132A (ja) |
-
2022
- 2022-04-01 JP JP2022062091A patent/JP2023152132A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gagliardoni et al. | Semantic security and indistinguishability in the quantum world | |
US9537657B1 (en) | Multipart authenticated encryption | |
JP4961909B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
KR102136904B1 (ko) | 공유 비밀키 생성 장치, 암호화 장치, 복호화 장치, 공유 비밀키 생성 방법, 암호화 방법, 복호화 방법, 및 프로그램 | |
Bagheri et al. | New differential fault analysis on PRESENT | |
Karpman et al. | Practical free-start collision attacks on 76-step SHA-1 | |
JP2007065253A (ja) | 文字コード暗号処理プログラム、および文字コード暗号処理方法 | |
CN110096901A (zh) | 电子合同数据加密存储方法及签约客户端 | |
Kousalya et al. | A survey of light-weight cryptographic algorithm for information security and hardware efficiency in resource constrained devices | |
WO2006064763A1 (ja) | 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム | |
JP5060079B2 (ja) | 暗号処理プログラム | |
Peev et al. | A novel protocol-authentication algorithm ruling out a man-in-the middle attack in quantum cryptography | |
El Bansarkhani et al. | Augmented learning with errors: The untapped potential of the error term | |
JP2002049310A (ja) | 暗復号装置、認証装置及び記憶媒体 | |
Forler et al. | Efficient beyond-birthday-bound-secure deterministic authenticated encryption with minimal stretch | |
Shi et al. | Breaking LWC candidates: sESTATE and Elephant in quantum setting | |
JP2023152132A (ja) | 暗号化装置、暗号化方法及び暗号化プログラム | |
KR20220137024A (ko) | 대칭 비동기 생성 암호화 방법 | |
JP2013098722A (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム | |
Mahajan et al. | Hybrid Methods for Increasing Security of IoT and Cloud Data | |
Kothandan | Modified Blowfish Algorithm to Enhance its Performance and Security | |
WO2024185713A1 (ja) | 暗号化装置、暗号化方法、及び暗号化プログラム | |
Tripathy et al. | Hybrid cryptography for data security in wireless sensor network | |
JP2023152133A (ja) | 暗号化装置、暗号化方法及び暗号化プログラム | |
Pohle et al. | Fast Evaluation of S-boxes with Garbled Circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240620 |