WO2024181563A1 - 暗号化装置、復号装置、暗号化方法及び暗号化プログラム - Google Patents

暗号化装置、復号装置、暗号化方法及び暗号化プログラム Download PDF

Info

Publication number
WO2024181563A1
WO2024181563A1 PCT/JP2024/007800 JP2024007800W WO2024181563A1 WO 2024181563 A1 WO2024181563 A1 WO 2024181563A1 JP 2024007800 W JP2024007800 W JP 2024007800W WO 2024181563 A1 WO2024181563 A1 WO 2024181563A1
Authority
WO
WIPO (PCT)
Prior art keywords
encryption
encryption method
key
stream
parameter setting
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.)
Ceased
Application number
PCT/JP2024/007800
Other languages
English (en)
French (fr)
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.)
KDDI Corp
Original Assignee
KDDI Corp
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
Application filed by KDDI Corp filed Critical KDDI Corp
Publication of WO2024181563A1 publication Critical patent/WO2024181563A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Definitions

  • the present disclosure relates to techniques for improving the security of cryptographic methods.
  • This application claims priority based on Japanese Patent Application No. 2023-031548, filed on March 2, 2023, the contents of which are incorporated herein by reference.
  • Using a 256-bit key provides 128-bit security against quantum computers, but to achieve even higher levels of security, an encryption method that supports longer key lengths is desirable.
  • the present disclosure has as an example an objective to provide an encryption device, a decryption device, an encryption method, and an encryption program that can handle keys longer than the prescribed key length in existing encryption methods.
  • the encryption device includes a parameter setting unit that accepts input of a key longer than a specified key length used in a specified stream encryption method, divides the portion exceeding the specified key length, and assigns it as a constant that is an input parameter of the stream encryption method, an initialization processing unit that initializes the stream encryption method using the input parameters assigned by the parameter setting unit, and an encryption execution unit that performs encryption according to the stream encryption method.
  • the constant may be a value that is initialized as part of the internal state of the stream cipher system.
  • the stream encryption method may be Rocca or Rocca-S, and the parameter setting unit may assign a portion of a 512-bit key to each of two 128-bit constants.
  • the decryption device includes a parameter setting unit that accepts input of a key longer than a specified key length used in a specified stream encryption method, divides the portion exceeding the specified key length, and assigns it as a constant that is an input parameter of the stream encryption method, an initialization processing unit that initializes the stream encryption method using the input parameters assigned by the parameter setting unit, and a decryption execution unit that decrypts a ciphertext output by an encryption device according to any one of claims 1 to 3 in accordance with the stream encryption method.
  • the encryption method disclosed herein is executed by a computer, which executes a parameter setting step of accepting input of a key longer than a specified key length used in a specified stream encryption method, dividing the portion exceeding the specified key length, and assigning it as a constant that is an input parameter of the stream encryption method, an initialization processing step of initializing the stream encryption method using the input parameters assigned in the parameter setting step, and an encryption execution step of executing encryption according to the stream encryption method.
  • the encryption program disclosed herein is intended to cause a computer to function as the encryption device.
  • existing encryption methods can accommodate keys longer than the prescribed key length.
  • FIG. 2 is a diagram illustrating a functional configuration of an encryption device according to an embodiment.
  • FIG. 11 is a diagram illustrating a parameter setting method according to an embodiment.
  • FIG. 2 is a diagram illustrating a functional configuration of a decoding device according to an embodiment.
  • the encryption method of this embodiment is an improved method for existing stream ciphers.
  • the first step is to perform initialization.
  • Three values are input to the encryption program during initialization: a key, an initial value, and a constant.
  • a key is input to the encryption program during initialization.
  • an initial value is input to the encryption program during initialization.
  • a constant is input to the encryption program during initialization.
  • FIG. 1 is a diagram showing the functional configuration of an encryption device 1 according to the present embodiment.
  • the encryption device 1 is an information processing device (computer) that includes a control unit 11, a memory unit 12, and various communication devices, and may be a general-purpose device such as a server or a personal computer, or small hardware such as a mobile terminal or an IoT (Internet of Things) device.
  • the control unit 11 is a part that controls the entire encryption device 1, and realizes each function in this embodiment by appropriately reading and executing various programs stored in the storage unit 12.
  • the control unit may be a CPU (Central Processing Unit).
  • the memory unit 12 is a storage area for various programs and various data for causing the hardware group to function as the encryption device 1, and may be a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, a hard disk drive (HDD), etc.
  • the encryption device 1 may be configured so that the control unit 11 executes the encryption program stored in the memory unit 12, but the control unit 11 and the memory unit 12 may be implemented as hardware circuits dedicated to the encryption device 1.
  • the control unit 11 includes a parameter setting unit 111, an initialization processing unit 112, and an encryption execution unit 113.
  • the parameter setting unit 111 When the parameter setting unit 111 receives an input of a key longer than a specified key length used in a specified stream encryption method, it divides the portion exceeding the specified key length and assigns it as a constant that is an input parameter of the stream encryption method. This constant is a value that is initialized as part of the stream cipher's internal state.
  • FIG. 2 is a diagram illustrating a parameter setting method in this embodiment.
  • an encryption method with a prescribed key length of 256 bits and a constant of 256 bits is described.
  • the input parameters for initializing the internal state are a key, an initial value, and a constant, but the key can only be set to 256 bits.
  • the parameter setting unit 111 divides 256 bits of the 512-bit key and sets it as a constant.
  • the initial value is set to a different value each time the initialization process is performed.
  • the keys and constants set in this way are common values on the encryption side (encryption device 1) and the decryption side (decryption device 2), and as a result, encryption and decryption are possible without modifying the encryption method (algorithm).
  • the initialization processing unit 112 initializes the stream encryption method using the input parameters assigned by the parameter setting unit 111 .
  • the encryption execution unit 113 executes encryption according to the algorithm of the target stream encryption method.
  • FIG. 3 is a diagram showing the functional configuration of the decoding device 2 in this embodiment.
  • the decryption device 2 is a device that decrypts the data encrypted by the encryption device 1 using a corresponding decryption algorithm.
  • the decryption device 2 is an information processing device (computer) equipped with a control unit 21, a memory unit 22, and various communication devices, and may be a general-purpose device such as a server or a personal computer, or small hardware such as a mobile terminal or an IoT device.
  • the control unit 21 is a part that controls the entire decoding device 2, and realizes each function in this embodiment by appropriately reading and executing various programs stored in the storage unit 22.
  • the control unit may be a CPU.
  • the storage unit 22 is a storage area for various programs for causing the hardware group to function as the decryption device 2, various data, etc., and may be a ROM, a RAM, a flash memory, a hard disk drive (HDD), or the like.
  • the decryption device 2 may be configured so that the control unit 21 executes the decryption program stored in the storage unit 22, but the control unit 21 and the storage unit 22 may be implemented as hardware circuits dedicated to the decryption device 2.
  • the control unit 21 includes a parameter setting unit 211, an initialization processing unit 212, and a decryption execution unit 213.
  • the parameter setting unit 211 and the initialization processing unit 212 perform the same functions as the parameter setting unit 111 and the initialization processing unit 112 of the encryption device 1, respectively.
  • the keys and constants are shared between the encryption side (encryption device 1) and the decryption side (decryption device 2) and initialization is performed, making it possible to encrypt and decrypt without modifying the encryption method (algorithm).
  • the decryption execution unit 213 is a functional unit that corresponds to the encryption execution unit 113 of the encryption device 1, and executes the decryption of data encrypted by the encryption device 1 according to the algorithm of the target stream encryption method.
  • K(256,0) and K(256,1) are the first 128 bits and the last 128 bits of the 256-bit key K, respectively.
  • Const1 and const0 are the first 128 bits and the latter 128 bits of the constant const, respectively.
  • IV(256,0) and IV(256,1) are the first 128 bits and the last 128 bits of the initial value IV, respectively.
  • the parameter setting unit 111 assigns, for example, 128 bits each of the first 256 bits to K(256,0) and K(256,1), and 128 bits each of the last 256 bits to const1 and const0.
  • the encryption device 1 can realize a stream cipher using a 512-bit key, which exceeds 256 bits, by using the 256-bit constant portion as a part of the key.
  • the parameter setting unit 111 assigns, for example, the first 256 bits to key 0 to key 7 in 32-bit increments, and the last 128 bits to const 1 to const 3 in 32-bit increments.
  • the encryption device 1 can realize a stream cipher using a 384-bit key, which exceeds 256 bits, by using the 128-bit constant portion as a part of the key.
  • the parameter setting unit 111 assigns, for example, 128 bits each of the first 256 bits to K 0 and K 1 , and 128 bits each of the latter 256 bits to Z 0 and Z 1 .
  • the encryption device 1 can realize a stream cipher using a 512-bit key, which exceeds the 256-bit key originally designed, by using the 256-bit constant portion as part of the key.
  • it is possible to support longer key lengths than originally designed without making major changes to existing encryption methods, making it possible to create more secure encryption methods.
  • the encryption device 1 and the decryption device 2 accept input of a key that is longer than the specified key length used in the stream encryption method, divide the portion exceeding the specified key length, and assign it as a constant that is an input parameter of the encryption method. This makes it possible for existing encryption methods to accommodate keys longer than the prescribed key length without modifying the encryption algorithm.
  • the constants of the input parameters are usually specified as fixed values as specifications of the encryption algorithm, but other values can also be used as long as they are shared between the encryption side (encryption device 1) and the decryption side (decryption device 2). Therefore, the encryption device 1 and the decryption device 2 can have a larger corresponding key size than before by inputting a part of the key instead of the usual constant that is input during initialization.
  • the key size of the constant differs depending on the encryption method, for example, the key size can be expanded up to 2 or 1.5 times as long as mentioned above. At this time, by padding the input key with a fixed value, it is also possible to handle keys that do not meet the maximum length. Furthermore, the key length of the stream encryption method that is the subject of improvement in this embodiment is not limited to 256 bits. By applying this embodiment to encryption methods using a 128-bit key that has been widely used in the past, or encryption methods such as 64-bit or 512-bit, the security of each method can be enhanced.
  • the constant input parameter is a value that is initialized as part of the internal state of the stream cipher system, and replacing this value with part of the key does not cause any problems in the encryption algorithm, making it possible to easily improve security without modifying existing algorithms.
  • the stream encryption method is Rocca or Rocca-S
  • a maximum key of 512 bits can be used, providing 256 bits of security.
  • this embodiment can improve the security of stream ciphers, for example, and therefore contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation.”
  • SDGs Sustainable Development Goals
  • the encryption method and decryption method by the encryption device 1 and the decryption device 2 are realized by software.
  • the programs that make up this software are installed in an information processing device (computer). These programs may be recorded on removable media such as CD-ROMs and distributed to users, or may be distributed by being downloaded to the user's computer via a network. Furthermore, these programs may be provided to the user's computer as a web service via a network without being downloaded.
  • existing encryption methods can accommodate keys longer than the prescribed key length.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

暗号化装置は、所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、当該規定の鍵長を超える部分を分割し、当該ストリーム暗号方式の入力パラメータである定数として割り当てるパラメータ設定部と、パラメータ設定部により割り当てられた入力パラメータにより、ストリーム暗号方式の初期化を行う初期化処理部と、ストリーム暗号方式に従って暗号化を実行する暗号化実行部と、を備える。

Description

暗号化装置、復号装置、暗号化方法及び暗号化プログラム
 本開示は、暗号方式の安全性向上のための技術に関する。
 本願は、2023年3月2日に、日本に出願された特願2023-031548号に基づき優先権を主張し、その内容をここに援用する。
 従来、128ビットの鍵を用いた共通鍵暗号方式が広く利用されているが、古典計算機に比べて効率的な計算アルゴリズムを実行できる量子計算機に対しては、√(2128)程度の試行回数で解読され得る64ビット安全しか確保することができず、大規模量子計算機によって解読される可能性が指摘されている。
 そこで、量子計算機に対しても128ビット安全を確保するため、256ビットの鍵長に対応した暗号化方式が提案されている(例えば、非特許文献1~3参照)。
Hongjun Wu and Bart Preneel, AEGIS: A Fast Authenticated Encryption Algorithm, Selected Areas in Cryptography -- SAC 2013. Daniel J. Bernstein. ChaCha, a variant of Salsa20. In Workshop Record of SASC, volume 8, 2008. K. Sakamoto, F. Liu, Y. Nakano, S. Kiyomoto and T. Isobe. Rocca: An Efficient AES-based Encryption Scheme for Beyond 5G. IACR Transactions on Symmetric Cryptology, 2021(2), 1-30.
 256ビットの鍵を用いることで、量子計算機に対しても128ビット安全を確保できるが、さらに高い安全性を実現するため、より長い鍵長をサポートする暗号方式が望まれている。
 本開示は、既存の暗号方式において、規定の鍵長よりも長い鍵に対応できる暗号化装置、復号装置、暗号化方法及び暗号化プログラムを提供することを目的の一例とする。
 本開示に係る暗号化装置は、所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、当該規定の鍵長を超える部分を分割し、当該ストリーム暗号方式の入力パラメータである定数として割り当てるパラメータ設定部と、前記パラメータ設定部により割り当てられた前記入力パラメータにより、前記ストリーム暗号方式の初期化を行う初期化処理部と、前記ストリーム暗号方式に従って暗号化を実行する暗号化実行部と、を備える。
 前記定数は、前記ストリーム暗号方式の内部状態の一部として初期化される値であってもよい。
 前記ストリーム暗号方式は、Rocca又はRocca-Sであり、前記パラメータ設定部は、2つの128ビットの定数それぞれに対して、512ビットの鍵の一部を割り当ててもよい。
 本開示に係る復号装置は、所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、当該規定の鍵長を超える部分を分割し、当該ストリーム暗号方式の入力パラメータである定数として割り当てるパラメータ設定部と、前記パラメータ設定部により割り当てられた前記入力パラメータにより、前記ストリーム暗号方式の初期化を行う初期化処理部と、請求項1から請求項3のいずれかに記載の暗号化装置により出力された暗号文を、前記ストリーム暗号方式に従って復号する復号実行部と、を備える。
 本開示に係る暗号化方法は、所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、当該規定の鍵長を超える部分を分割し、当該ストリーム暗号方式の入力パラメータである定数として割り当てるパラメータ設定ステップと、前記パラメータ設定ステップにおいて割り当てられた前記入力パラメータにより、前記ストリーム暗号方式の初期化を行う初期化処理ステップと、前記ストリーム暗号方式に従って暗号化を実行する暗号化実行ステップと、をコンピュータが実行する。
 本開示に係る暗号化プログラムは、前記暗号化装置としてコンピュータを機能させるためのものである。
 本開示によれば、一例として、既存の暗号方式において、規定の鍵長よりも長い鍵に対応できる。
実施形態における暗号化装置の機能構成を示す図である。 実施形態におけるパラメータの設定方法を例示する図である。 実施形態における復号装置の機能構成を示す図である。
 以下、本開示の実施形態の一例について説明する。
 本実施形態の暗号化方法は、既存のストリーム暗号を対象とした改良手法である。
 ストリーム暗号を用いてデータを暗号化する場合、第1のステップとして初期化を実施する必要がある。初期化時に暗号化プログラムに入力する値として、鍵、初期値、定数の3つがある。
 本実施形態では、この3つの値のうち、定数に対して、本来の値に代えて鍵の一部を入力することで、暗号方式が本来サポートする鍵長よりも長い鍵に対応する。
 図1は、本実施形態における暗号化装置1の機能構成を示す図である。
 暗号化装置1は、制御部11及び記憶部12の他、各種の通信デバイス等を備えた情報処理装置(コンピュータ)であり、サーバ又はパーソナルコンピュータ等の汎用機器の他、携帯端末又はIoT(Internet of Things)機器等の小型ハードウェアであってもよい。
 制御部11は、暗号化装置1の全体を制御する部分であり、記憶部12に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部は、CPU(Central Processing Unit)であってよい。
 記憶部12は、ハードウェア群を暗号化装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ又はハードディスクドライブ(HDD:Hard Disk Drive)等であってよい。
 なお、暗号化装置1は、記憶部12に格納された暗号化プログラムを制御部11が実行する構成であってもよいが、制御部11及び記憶部12は、暗号化装置1に専用のハードウェア回路として実装されてもよい。
 制御部11は、パラメータ設定部111と、初期化処理部112と、暗号化実行部113とを備える。
 パラメータ設定部111は、所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付けると、この規定の鍵長を超える部分を分割し、ストリーム暗号方式の入力パラメータである定数として割り当てる。
 この定数は、ストリーム暗号方式の内部状態の一部として初期化される値である。
 図2は、本実施形態におけるパラメータの設定方法を例示する図である。
 この例では、規定の鍵長が256ビット、定数が256ビットの暗号化方式の場合を説明している。
 内部状態を初期化する際の入力パラメータは、鍵、初期値、定数の3つであるが、鍵として設定できるのは256ビットである。この暗号化方式を512ビットの鍵に対応させるため、パラメータ設定部111は、512ビットの鍵のうち、256ビットを分割し、定数として設定する。
 なお、初期値は、初期化処理の度に異なる値が設定される。
 このように設定された鍵及び定数は、暗号化側(暗号化装置1)と復号側(復号装置2)とで共通の値であり、この結果、暗号方式(アルゴリズム)を改変することなく、暗号化及び復号が可能となる。
 初期化処理部112は、パラメータ設定部111により割り当てられた入力パラメータにより、ストリーム暗号方式の初期化を行う。
 暗号化実行部113は、対象のストリーム暗号方式のアルゴリズムに従って暗号化を実行する。
 図3は、本実施形態における復号装置2の機能構成を示す図である。
 復号装置2は、暗号化装置1により暗号化されたデータを、対応する復号アルゴリズムにより復号する装置である。
 復号装置2は、暗号化装置1と同様に、制御部21及び記憶部22の他、各種の通信デバイス等を備えた情報処理装置(コンピュータ)であり、サーバ又はパーソナルコンピュータ等の汎用機器の他、携帯端末又はIoT機器等の小型ハードウェアであってもよい。
 制御部21は、復号装置2の全体を制御する部分であり、記憶部22に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部は、CPUであってよい。
 記憶部22は、ハードウェア群を復号装置2として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
 なお、復号装置2は、記憶部22に格納された復号プログラムを制御部21が実行する構成であってもよいが、制御部21及び記憶部22は、復号装置2に専用のハードウェア回路として実装されてもよい。
 制御部21は、パラメータ設定部211と、初期化処理部212と、復号実行部213とを備える。
 パラメータ設定部211及び初期化処理部212は、それぞれ暗号化装置1のパラメータ設定部111及び初期化処理部112と同一の機能を実行する。
 すなわち、前述の通り、鍵及び定数は、暗号化側(暗号化装置1)と復号側(復号装置2)とで共有されて初期化が実行されることにより、暗号方式(アルゴリズム)を改変することなく、暗号化及び復号が可能となる。
 復号実行部213は、暗号化装置1の暗号化実行部113に対応する機能部であり、対象のストリーム暗号方式のアルゴリズムに従って、暗号化装置1により暗号化されたデータの復号を実行する。
 ここで、対象とするストリーム暗号方式を具体的に例示して、本実施形態により改良される初期化処理を説明する。
 [AEGIS]
 非特許文献1に示されている規定の鍵長が256ビットの暗号方式AEGIS-256の場合、初期化では、6つの内部状態S(それぞれ128ビット)に対して、鍵K、初期値IV、定数constが次のように設定される。
  S(-16,0)=K(256,0)+IV(256,0);
  S(-16,1)=K(256,1)+IV(256,1);
  S(-16,2)=const1;
  S(-16,3)=const0;
  S(-16,4)=K(256,0)+const0;
  S(-16,5)=K(256,1)+const1
  (ただし、+はビット単位の排他的論理和)
 K(256,0)及びK(256,1)は、それぞれ256ビットの鍵Kの前半128ビット及び後半128ビットである。
 Const1及びconst0は、それぞれ定数constの前半128ビット及び後半128ビットである。
 IV(256,0)及びIV(256,1)は、それぞれ初期値IVの前半128ビット及び後半128ビットである。
 ここで、パラメータ設定部111は、512ビットの鍵に対応するため、例えば、前半の256ビットをK(256,0)及びK(256,1)に128ビットずつ割り当て、後半の256ビットをconst1及びconst0に128ビットずつ割り当てる。
 これにより、暗号化装置1は、256ビットの定数部分を鍵の一部として利用することで、256ビットを超える512ビットの鍵を用いたストリーム暗号を実現できる。
 [ChaCha]
 非特許文献2に示されている規定の鍵長が256ビットの暗号方式ChaChaの場合、内部状態として各要素がそれぞれ32ビットの次の行列が定義される。
  x  x  x  x
  x  x  x  x
  x  x  x10 x11
  x12 x13 x14 x15
 初期化では、各要素に対して、鍵key~key(合計256ビット)、初期値counter及びnonce~nonce、並びに定数const~const(合計128ビット)が次のように設定される。
   const  const  const  const
    key    key    key    key
    key    key    key    key
  counter nonce  nonce  nonce 
 ここで、パラメータ設定部111は、384ビットの鍵に対応するため、例えば、前半の256ビットをkey~keyに32ビットずつ割り当て、後半の128ビットをconst~constに32ビットずつ割り当てる。
 これにより、暗号化装置1は、128ビットの定数部分を鍵の一部として利用することで、256ビットを超える384ビットの鍵を用いたストリーム暗号を実現できる。
 [Rocca]
 非特許文献3に示されている規定の鍵長が256ビットの暗号方式Roccaの場合、8つの内部状態S(それぞれ128ビット)に対して、鍵K,K(それぞれ128ビット)、初期値N、定数Z,Z(それぞれ128ビット)が次のように設定される。
  S[0]=K
  S[1]=N,
  S[2]=Z
  S[3]=Z
  S[4]=N+K
  S[5]=0,
  S[6]=K
  S[7]=0
  (ただし、+はビット単位の排他的論理和)
 また、同様に規定の鍵長が256ビットの暗号方式Rocca-Sの場合、7つの内部状態S(それぞれ128ビット)に対して、鍵K,K(それぞれ128ビット)、初期値N、定数Z,Z(それぞれ128ビット)が次のように設定される。
  S[0]=K
  S[1]=N,
  S[2]=Z
  S[3]=K
  S[4]=Z
  S[5]=N+K
  S[6]=0
  (ただし、+はビット単位の排他的論理和)
 ここで、パラメータ設定部111は、512ビットの鍵に対応するため、例えば、前半の256ビットをK,Kに128ビットずつ割り当て、後半の256ビットをZ,Zに128ビットずつ割り当てる。
 これにより、暗号化装置1は、256ビットの定数部分を鍵の一部として利用することで、本来の設計である256ビットを超える512ビットの鍵を用いたストリーム暗号を実現できる。
 この結果、既存の暗号方式に大きな変更を加えることなく、本来の設計よりも長い鍵長をサポートすることができ、より安全な暗号方式を構築できる。
 本実施形態によれば、暗号化装置1及び復号装置2は、ストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、この規定の鍵長を超える部分を分割し、暗号方式の入力パラメータである定数として割り当てる。
 これにより、既存の暗号方式において、暗号アルゴリズムを改変することなく規定の鍵長よりも長い鍵に対応できる。
 入力パラメータの定数は、通常、暗号アルゴリズムの仕様として固定の値が指定されているが、この他の値であっても、暗号化する側(暗号化装置1)と復号する側(復号装置2)とで共有できていれば実行可能である。
 したがって、暗号化装置1及び復号装置2は、初期化の際に入力される通常の定数の代わりに鍵の一部を入力することで、対応する鍵サイズを従来よりも拡大できる。
 なお、暗号方式によって定数のサイズは異なるが、例えば、前述の通り最大2倍又は1.5倍の長さまで鍵サイズを拡張することができる。このとき、入力される鍵に固定値をパディングすることにより、最大長に満たない鍵にも対応可能である。
 また、本実施形態が改良の対象とするストリーム暗号方式の鍵長は、256ビットには限られない。本実施形態を、従来広く利用されている128ビットの鍵を用いる暗号方式、あるいは64ビットや512ビット等の暗号方式に適用することで、それぞれの安全性を強化することができる。
 また、入力パラメータである定数は、ストリーム暗号方式の内部状態の一部として初期化される値であり、この値を鍵の一部に置き換えても暗号アルゴリズムに不都合が生じることはなく、既存のアルゴリズムを改変することなく、容易に安全性を向上させることができる。
 例えば、ストリーム暗号方式として、Rocca又はRocca-Sを対象とすると、2つの128ビットの定数それぞれに対して、鍵の一部(256ビット)を割り当てることにより、最大で512ビットの鍵を用いることができ、256ビットの安全性が得られる。
 なお、本実施形態により、例えばストリーム暗号の安全性を向上できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進すると共に、イノベーションの拡大を図る」に貢献することが可能となる。
 以上、本開示の実施形態について説明したが、本開示は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本開示から生じる最も好適な効果を列挙したに過ぎず、本開示による効果は、実施形態に記載されたものに限定されるものではない。
 暗号化装置1及び復号装置2による暗号化方法及び復号方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
 本開示によれば、一例として、既存の暗号方式において、規定の鍵長よりも長い鍵に対応できる。
 1 暗号化装置
 2 復号装置
 11 制御部
 12 記憶部
 21 制御部
 22 記憶部
 111 パラメータ設定部
 112 初期化処理部
 113 暗号化実行部
 211 パラメータ設定部
 212 初期化処理部
 213 復号実行部

Claims (6)

  1.  所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、当該規定の鍵長を超える部分を分割し、当該ストリーム暗号方式の入力パラメータである定数として割り当てるパラメータ設定部と、
     前記パラメータ設定部により割り当てられた前記入力パラメータにより、前記ストリーム暗号方式の初期化を行う初期化処理部と、
     前記ストリーム暗号方式に従って暗号化を実行する暗号化実行部と、を備える暗号化装置。
  2.  前記定数は、前記ストリーム暗号方式の内部状態の一部として初期化される値である請求項1に記載の暗号化装置。
  3.  前記ストリーム暗号方式は、Rocca又はRocca-Sであり、
     前記パラメータ設定部は、2つの128ビットの定数それぞれに対して、512ビットの鍵の一部を割り当てる請求項1に記載の暗号化装置。
  4.  所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、当該規定の鍵長を超える部分を分割し、当該ストリーム暗号方式の入力パラメータである定数として割り当てるパラメータ設定部と、
     前記パラメータ設定部により割り当てられた前記入力パラメータにより、前記ストリーム暗号方式の初期化を行う初期化処理部と、
     請求項1から請求項3のいずれかに記載の暗号化装置により出力された暗号文を、前記ストリーム暗号方式に従って復号する復号実行部と、を備える復号装置。
  5.  所定のストリーム暗号方式で用いる規定の鍵長よりも長い鍵の入力を受け付け、当該規定の鍵長を超える部分を分割し、当該ストリーム暗号方式の入力パラメータである定数として割り当てるパラメータ設定ステップと、
     前記パラメータ設定ステップにおいて割り当てられた前記入力パラメータにより、前記ストリーム暗号方式の初期化を行う初期化処理ステップと、
     前記ストリーム暗号方式に従って暗号化を実行する暗号化実行ステップと、をコンピュータが実行する暗号化方法。
  6.  請求項1から請求項3のいずれかに記載の暗号化装置としてコンピュータを機能させるための暗号化プログラム。
PCT/JP2024/007800 2023-03-02 2024-03-01 暗号化装置、復号装置、暗号化方法及び暗号化プログラム Ceased WO2024181563A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023031548A JP7771113B2 (ja) 2023-03-02 2023-03-02 暗号化装置、復号装置、暗号化方法及び暗号化プログラム
JP2023-031548 2023-03-02

Publications (1)

Publication Number Publication Date
WO2024181563A1 true WO2024181563A1 (ja) 2024-09-06

Family

ID=92590018

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/007800 Ceased WO2024181563A1 (ja) 2023-03-02 2024-03-01 暗号化装置、復号装置、暗号化方法及び暗号化プログラム

Country Status (2)

Country Link
JP (1) JP7771113B2 (ja)
WO (1) WO2024181563A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2026056421A (ja) * 2024-09-19 2026-04-01 Kddi株式会社 演算装置、端末装置、ネットワーク、演算方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357474A (zh) * 2021-12-02 2022-04-15 南京壹证通信息科技有限公司 一种防止数据伪造的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357474A (zh) * 2021-12-02 2022-04-15 南京壹证通信息科技有限公司 一种防止数据伪造的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NOBUYUKI TAKEUCHI, KOUSEI SAKAMOTO, TAKANORI ISOBE: "1F1-1 Security Evaluation for Round Functions of Rocca and AEGIS Families", 2022 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY. SCIS; JANUARY 18-21, 2022, IEICE (ISEC), JP, 18 January 2022 (2022-01-18) - 21 January 2022 (2022-01-21), JP, pages 1 - 8, XP009557890 *
TOMARU TATSUYA: "Understanding quantum computer from the principle", SECURITY MANAGEMENT, JAPAN SOCIETY OF SECURITY MANAGEMENT, vol. 35, no. 3, 1 January 2022 (2022-01-01), pages 25 - 33, XP093207092, ISSN: 1343-6619, DOI: 10.32230/jssmjournal.35.3_25 *

Also Published As

Publication number Publication date
JP2024123822A (ja) 2024-09-12
JP7771113B2 (ja) 2025-11-17

Similar Documents

Publication Publication Date Title
US8462955B2 (en) Key protectors based on online keys
JP6345237B2 (ja) 平文データを暗号化するための方法および装置
CN107438065B (zh) 数据加密装置及方法、数据解密装置及方法
CN110650010A (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
WO2019214066A1 (zh) 区块链上用户数据库重建方法、装置、设备及介质
CN109672521B (zh) 基于国密加密引擎实现的安全存储系统和方法
EP3125462A1 (en) Balanced encoding of intermediate values within a white-box implementation
Sumathi et al. A group-key-based sensitive attribute protection in cloud storage using modified random Fibonacci cryptography
Hossain et al. Design and development of a novel symmetric algorithm for enhancing data security in cloud computing
WO2024181563A1 (ja) 暗号化装置、復号装置、暗号化方法及び暗号化プログラム
Mohammad et al. A comparative study between modern encryption algorithms based on cloud computing environment
CN112822016B (zh) 在区块链上进行数据授权的方法及区块链网络
CN106612170A (zh) Drm服务提供装置及方法、内容再现装置及方法
CN107278357B (zh) 密码系统和方法
Banerjee et al. Secure cryptosystem using randomized rail fence cipher for mobile devices
CN118631590B (zh) 一种轻量级身份认证方法、系统及装置
Grover et al. A framework for cloud data security
Furkan Altınok et al. GPU accelerated 3DES encryption
Alrehaili et al. Cloud computing security challenges
Vennela et al. Performance analysis of cryptographic algorithms for cloud security
JP2022053676A (ja) 情報処理システム及び情報処理方法
Sbaytri et al. A new secure cellular automata cryptosystem for embedded devices
KR102066487B1 (ko) 하드웨어 인증칩 기반의 경량 암호 알고리즘 보안 장치
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24764040

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 24764040

Country of ref document: EP

Kind code of ref document: A1