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

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

Info

Publication number
WO2022254511A1
WO2022254511A1 PCT/JP2021/020663 JP2021020663W WO2022254511A1 WO 2022254511 A1 WO2022254511 A1 WO 2022254511A1 JP 2021020663 W JP2021020663 W JP 2021020663W WO 2022254511 A1 WO2022254511 A1 WO 2022254511A1
Authority
WO
WIPO (PCT)
Prior art keywords
probability
difference
permutation table
cipher
encryption
Prior art date
Application number
PCT/JP2021/020663
Other languages
English (en)
French (fr)
Inventor
洋介 藤堂
悠 佐々木
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2021/020663 priority Critical patent/WO2022254511A1/ja
Priority to JP2023525159A priority patent/JPWO2022254511A1/ja
Publication of WO2022254511A1 publication Critical patent/WO2022254511A1/ja

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

Definitions

  • the present invention relates to cryptographic devices, methods, and programs.
  • a cryptographic method that encrypts plaintext with a certain key and uses the same key to decrypt the ciphertext is called symmetric key cryptography, and a method called block cipher is known as a type of symmetric key cryptography.
  • a block cipher is a method in which data to be encrypted is divided into appropriate lengths called blocks (for example, 64 bits or 128 bits) and each block is encrypted.
  • Block ciphers include, for example, AES encryption (Non-Patent Document 1), SKINNY encryption (Non-Patent Document 2), Midori encryption (Non-Patent Document 3), and the like. Of these, the SKINNY cipher and the Midori cipher are assumed to be implemented on devices with poor computational resources, and are also called lightweight ciphers.
  • a block is encrypted by repeatedly applying a function called a round function to the block multiple times.
  • Round functions include, for example, SPN type round functions.
  • the AES encryption, the SKINNY encryption, and the Midori encryption are all block encryptions using SPN type round functions.
  • the SPN-type round function is a round function composed of a nonlinear layer, a linear layer, and a subkey XOR.
  • Non-Patent Document 4 the evaluation for differential cryptanalysis
  • An embodiment of the present invention has been made in view of the above points, and aims to improve security against differential cryptanalysis of block ciphers using SPN type round functions.
  • a cryptographic device is a cryptographic device that encrypts plaintext or decrypts ciphertext by a block cipher using an SPN type round function.
  • the stochastic chain is such that in each round, given an input difference representing a difference between two inputs to the first permutation table, the probability of transition to an output difference representing an output difference corresponding to the input difference is This is the maximum difference series.
  • FIG. 10 is a diagram showing a difference distribution table of S-Boxes of Midori64 cipher;
  • FIG. 13 shows a high-probability chain of the Midori64 cipher;
  • FIG. 10 is a diagram showing an example of a differential distribution table for S-Boxes with the longest high-probability chain length of 2;
  • FIG. 10 is a diagram showing an example of an S-Box high-probability chain with a longest high-probability chain length of 2; It is a figure which shows an example of the hardware constitutions of the encryption apparatus based on this embodiment. It is a figure which shows an example of a functional structure of the cryptographic apparatus based on this embodiment.
  • FIG. 10 is a diagram showing a difference distribution table of S-Boxes of Midori64 cipher;
  • FIG. 13 shows a high-probability chain of the Midori64 cipher;
  • FIG. 10 is a diagram showing an example of a differential distribution table for S-Boxes with the longest high-
  • FIG. 10 is a diagram for explaining an example of permutation table generation processing and encryption processing according to the embodiment;
  • FIG. 10 is a diagram showing a comparative example of the Midori64 cipher and the case where the S-Box is replaced with Equation (3);
  • FIG. 10 is a diagram showing a comparison example between the SKINNY64 cipher and the case where its S-Box is replaced with Equation (3);
  • the block length of the block cipher is n bits.
  • the probability of outputting two ciphertexts with a specific ciphertext difference ⁇ C for two plaintexts with a specific plaintext difference ⁇ P is 2 ⁇ n .
  • Block ciphers are considered vulnerable to differential cryptanalysis when there is a bias in the agitation algorithm of the block cipher to be attacked, and ⁇ P, ⁇ C with the above probabilities greater than 2 ⁇ n exist. Conversely, block cipher designers aim to make the above probability smaller than 2 ⁇ n for arbitrary ⁇ P and ⁇ C.
  • ⁇ P Whether or not there exist ⁇ P, ⁇ C with the above probabilities greater than 2 ⁇ n depends on how the round function is constructed and the number of iterations of the round function.
  • the SPN type is known as one of the round function configuration methods.
  • one block of data is divided into multiple pieces of short length data.
  • a short length of data that is divided is called a byte.
  • the AES cipher has a block length of 128 bits and divides the 128-bit input into 16 8-bit values. That is, the 128-bit input is divided into 16 bytes with a byte length of 8 bits.
  • the SKINNY128 cipher (Non-Patent Document 2) with a block length of 128 bits divides the 128-bit input into 16 bytes with a byte length of 8 bits
  • the SKINNY64 cipher (Non-Patent Document 2) with a block length of 64 bits.
  • the Midori64 cipher (Non-Patent Document 3) divides a 64-bit input into 16 bytes with a byte length of 4 bits.
  • the SPN type round function is repeatedly applied to the input data (plaintext) divided into bytes in this way to generate ciphertext. Similarly, when decrypting the ciphertext, the SPN type round function is repeatedly applied to the input data (ciphertext) to generate the plaintext.
  • the SPN-type round function consists of a nonlinear layer, a linear layer, and a subkey XOR.
  • nonlinear layer a transformation whose input and output are represented by a nonlinear function is applied to each byte. For all input values (16 if the byte length is 4 bits, 256 if the byte length is 8 bits), a permutation table called S-Box is created that records the output values corresponding to the input values. The layer converts data according to this S-Box.
  • a linear layer applies a linear transformation to each output transformed by a nonlinear layer.
  • 16 bytes are represented by a 4 ⁇ 4 matrix, byte positions are exchanged called the ShuffleCell function, and then matrix processing called the MixColumns function is performed.
  • the ShuffleCell function and MixColumns function of the Midori64 cipher are shown below.
  • d 0 to d 15 are variables that take a 1-byte value whose byte length is 4 bits.
  • the ShuffleCell function of the Midori64 cipher replaces byte positions, and the MixColumns function is expressed by byte-wise exclusive OR.
  • the linear layer is said to consist of byte-by-byte exclusive ORs and permutations of byte positions.
  • subkey XOR In subkey XOR, a key (also called a common key or a shared key, etc.) is input to a key schedule function, a value called a subkey is obtained for the number of times the round function is repeated, and the output of the linear layer is converted to the subkey of each round. Update to a value that is XORed with the key. It is known that the presence of subkey XOR does not affect the calculation of differential cryptanalysis probabilities, so a detailed description is omitted.
  • the number of iterations of the round function is r
  • the difference between two plaintexts is ⁇ 0
  • the difference after i rounds is ⁇ r
  • DP F [ ⁇ A , ⁇ B ] be the probability (difference transition probability) that two inputs with a difference ⁇ A are converted into two inputs with a difference ⁇ B after application of the function F.
  • DCP[ ⁇ 0 , ⁇ r ] of the differential characteristics ( ⁇ 0 , ⁇ 1 , . . . , ⁇ r ) is calculated as follows.
  • Block cipher designers must therefore ensure that DCP[ ⁇ 0 , ⁇ r ] is less than 2 ⁇ n when the block length is n bits.
  • an excellent design is one that minimizes the number of iterations of the round function and minimizes the differential characteristic probability.
  • the transition from some input difference ⁇ in to some output difference ⁇ out is stochastic, and the probability depends on the specifications of the nonlinear transformation.
  • the specification of nonlinear transformation is the specification of S-Box.
  • the probability (differential transition probability of the S-Box) is calculated by counting the number of times the differential transition is satisfied in all combinations of the input difference ⁇ in and the output difference ⁇ out . Specifically, let s be the size of the S-Box and compute the following for all combinations of ⁇ in and ⁇ out .
  • Linear cryptanalysis is known as a cryptanalysis method as important as differential cryptanalysis, and there is a maximum linear transition probability corresponding to the maximum differential transition probability. It is known that the 4-bit S-Box that minimizes both the maximum differential transition probability and the maximum linear transition probability exists only by applying affine transformation to the inputs and outputs of the 16 S-Boxes shown in Table 1 below. It is
  • a new S-Box generated by applying an affine transformation to the input and output of an S-Box is said to be affine equivalent to the original S-Box. It is known that the maximum differential transition probability and the maximum linear transition probability always match in affine equivalent S-Boxes. Many existing designs that use 4-bit S-Boxes, including the Midori64 cipher, use S-Boxes that are affine equivalent to any of the 16 S-Boxes shown in Table 1.
  • FIG. 1 shows the values of the numerator of formula (1) for all combinations of the input difference ⁇ in and the output difference ⁇ out (that is, the difference from ⁇ in to ⁇ out The number of occurrences of transitions) is calculated. This is called a difference distribution table.
  • Lightweight cryptography such as SKINNY cryptography and Midori cryptography is expected to be implemented on devices with relatively poor computational resources, such as IoT devices. cannot be executed. For this reason, it is difficult to efficiently improve security against differential cryptanalysis, the number of iterations of the round function increases, and the performance of cryptographic processing may deteriorate accordingly.
  • the linear layer of the SPN type round function is composed only of byte-by-byte exclusive OR and exchange of byte positions as in the SKINNY cipher and the Midori cipher, the number of iterations is less than that of the existing design.
  • a method capable of reducing the differential characteristic probability will be described.
  • the proposed method uses a permutation table (S-Box) that satisfies properties effective for a block cipher using an SPN-type round function in which the linear layer is composed of byte-by-byte exclusive OR and permutation of byte positions.
  • S-Box permutation table
  • the differential characteristic probability has the property of being maximized when the sum of the number of bytes with the difference is minimized at the input and output of the linear layer. Therefore, in the differential characteristic in which the differential characteristic probability is maximized, all the differences for each byte are often the same in the input and output of the linear layer.
  • Fig. 2 shows the S-Box high-probability chain used in the Midori64 cipher.
  • the difference propagation whose number of appearances is 4 in the difference distribution table of FIG. .
  • input difference 1 transitions to output difference 2 with a high probability.
  • input difference 2 transits to output difference 4, 9, C, 1 with high probability.
  • the input differences 4, 9, and C transition to the output difference 2 with high probability.
  • the input difference 2 transitions to the output difference 1 with high probability.
  • Table 2 below shows 40 S-Boxes with the longest high-probability chain length of 2.
  • 10 S-Boxes that are affine equivalent to G7 are listed under G7 .
  • 10 S-Boxes affine equivalent to G11 are listed under G11
  • 20 S - Boxes affine equivalent to G12 are listed under G12 .
  • An S-Box that is affine equivalent to a certain S-Box is also said to belong to the same class.
  • the 10 S-Boxes listed under G 7 in Table 2 are S-Boxes belonging to the G 7 class
  • the 10 S-Boxes listed under G 11 are the G 11 class.
  • 20 S-Boxes listed under G12 are referred to as S-Boxes belonging to the G12 class.
  • the longest high-probability chain length of the S-Boxes obtained by subjecting the 40 S-Boxes shown in Table 2 to the conversion shown in Equation (2) is also 2 (however, the conversion shown in Equation (2) is used.
  • M in and M out are used in which M in ⁇ M out is a unit matrix.).
  • the S-Box ⁇ 0x0, 0x4, 0x2, 0xB, 0xA, 0xC, 0x9, 0x8, 0x5, 0xF, 0xD, 0x3, 0x7, 0x1, 0x6, 0xE ⁇ belonging to the G7 class shown in Table 2 is expressed as A specific example of the S-Box converted in (2) is shown below. This is one of the 4-bit S-Boxes with the longest high-probability chain length of 2.
  • Min 0x05EBC927AF41638D
  • M out 0x0B6DA1C7E5834F29
  • c in 5
  • c out 3.
  • block ciphers in particular, lightweight ciphers such as the SKINNY64 cipher and Midori64 cipher
  • this method is similarly applicable to block ciphers using S-Boxes of arbitrary sizes in nonlinear layers of round functions.
  • the hardware configuration of the cryptographic device 10 that performs cryptographic processing (encryption, decryption, or both) by block cipher using an SPN round function that uses the S-Box in the nonlinear layer described in the proposed method is shown. 5.
  • the encryption device 10 according to this embodiment has an input device 101, a display device 102, an external I/F 103, a communication I/F 104, a processor 105, and a memory device . Each of these pieces of hardware is communicably connected via a bus 107 .
  • the input device 101 is, for example, a keyboard, mouse, touch panel, various physical buttons, and the like.
  • the display device 102 is, for example, a display. Note that the cryptographic device 10 may not include at least one of the input device 101 and the display device 102, for example.
  • the external I/F 103 is an interface with an external device such as the recording medium 103a.
  • the cryptographic device 10 can perform reading and writing of the recording medium 103 a via the external I/F 103 .
  • Examples of the recording medium 103a include CD (Compact Disc), DVD (Digital Versatile Disk), SD memory card (Secure Digital memory card), USB (Universal Serial Bus) memory card, and the like.
  • the communication I/F 104 is an interface for connecting the cryptographic device 10 to a communication network.
  • the processor 105 is, for example, various arithmetic units such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit).
  • the memory device 106 is, for example, various storage devices such as HDD (Hard Disk Drive), SSD (Solid State Drive), flash memory, RAM (Random Access Memory), and ROM (Read Only Memory).
  • the cryptographic device 10 has the hardware configuration shown in FIG. 5, so that it can implement various processes described later. Note that the hardware configuration shown in FIG. 5 is an example, and the cryptographic device 10 may have various hardware other than the illustrated hardware.
  • FIG. 6 shows the functional configuration of a cryptographic device 10 that performs cryptographic processing by means of a block cipher using an SPN-type round function that uses the S-Box in the nonlinear layer described in the proposed method.
  • the encryption device 10 according to this embodiment has a replacement table generation processing unit 201 and an encryption processing unit 202 . These units are implemented by, for example, processing that one or more programs installed in the cryptographic device 10 cause the processor 105 to execute.
  • the substitution table generation processing unit 201 generates a substitution table (S-Box) by the proposed method described above. That is, the permutation table generation processing unit 201 generates the longest high-probability chain length among the S-Boxes of the same size as the S-Boxes used in the nonlinear layer of the SPN type round function of the block cipher that implements the encryption processing unit 202. is the shortest S-Box using Equation (2), the S-Box used in the cryptographic processing unit 202 is generated.
  • S-Box substitution table
  • the permutation table generation processing unit 201 converts one of the 40 S-Boxes shown in Table 2 to the formula (2 ) to generate the S-Box used in the encryption processing unit 202 .
  • the encryption processing unit 202 uses the S-Box generated by the replacement table generation processing unit 201 to perform encryption processing with a predetermined block cipher (eg, SKINNY64 encryption, Midori64 encryption, etc.). That is, the encryption processing unit 202 generates, for example, a ciphertext from a plaintext and transmits the generated ciphertext to another cryptographic device, or decrypts a ciphertext received from another cryptographic device.
  • a predetermined block cipher eg, SKINNY64 encryption, Midori64 encryption, etc.
  • FIG. 6 is an example, and for example, the replacement table generation processing unit 201 and the encryption processing unit 202 may be provided in different devices. Specifically, for example, the permutation table generation device having the permutation table generation processing unit 201 and the encryption device having the encryption processing unit 202 may be configured.
  • FIG. 7 shows the flow of permutation table generation processing and encryption processing executed by the cryptographic device 10 according to this embodiment.
  • the replacement table generation processing unit 201 generates an S-Box used by the encryption processing unit 202 (S101). Note that the generation of the S-Box may be executed before the cryptographic processing, for example, it may be executed in advance, or may be executed immediately before the cryptographic processing is executed each time.
  • the encryption processing unit 202 uses the S-Box generated by the replacement table generation processing unit 201 to perform encryption processing (encryption of plaintext or decryption of ciphertext) by a predetermined block cipher (S102).
  • the encryption processing unit 202 encrypts plaintext to generate a ciphertext, and then transmits the ciphertext to another encryption device.
  • the cryptographic processor 202 decrypts ciphertexts received from other cryptographic devices.
  • FIG. 8 shows how the maximum differential characteristic probability changes with respect to the number of iterations of the round function when the S-Box of the Midori64 cipher is replaced with the S-Box shown in Equation (3).
  • the Midori64 cipher has a block length of 64 bits and is a block cipher using an SPN type round function, and the longest high-probability chain length of its S-Box is infinite.
  • the maximum differential characteristic probability of 2-64 can be guaranteed with 6 iterations.
  • the number of iterations can be reduced while maintaining the same security. It can be improved.
  • FIG. 9 shows how the maximum differential characteristic probability changes with respect to the number of iterations of the round function when the S-Box of the SKINNY64 cipher is replaced with the S-Box shown in Equation (3).

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

一実施形態に係る暗号装置は、SPN型のラウンド関数を用いるブロック暗号により平文を暗号化又は暗号文を復号する暗号装置であって、前記ブロック暗号に応じて決定される所定のサイズの第1の置換表の中で最長の高確率チェーン長が最も短い第2の置換表に対して所定の変換を行うことで、前記ラウンド関数に含まれる非線形層で利用する第3の置換表を生成する置換表生成処理部と、生成された前記第3の置換表を用いて、前記ブロック暗号により前記暗号化又は前記復号を行う暗号処理部と、を有し、前記高確率チェーンは、各ラウンドにおいて、前記第1の置換表への2つの入力の差分を表す入力差分が与えられたときに、前記入力差分に対応する出力の差分を表す出力差分への遷移確率が最大となる差分の系列である。

Description

暗号装置、方法、及びプログラム
 本発明は、暗号装置、方法、及びプログラムに関する。
 平文をある鍵により暗号化し、その暗号文の復号でも同一の鍵を利用する暗号方式は共通鍵暗号と呼ばれており、共通鍵暗号の一種としてブロック暗号と呼ばれる方式が知られている。ブロック暗号とは、暗号化対象のデータをブロックと呼ばれる適当な長さ(例えば、64ビットや128ビット)に分割し、そのブロックごとに暗号化する方式のことである。ブロック暗号には、例えば、AES暗号(非特許文献1)、SKINNY暗号(非特許文献2)、Midori暗号(非特許文献3)等がある。このうち、SKINNY暗号とMidori暗号は、計算リソースが貧弱なデバイス上での実装が想定されており、軽量暗号とも呼ばれる。
 ブロック暗号では、ラウンド関数と呼ばれる関数をブロックに対して複数回繰り返し適用することでそのブロックを暗号化する。ラウンド関数には、例えば、SPN型ラウンド関数等が存在する。AES暗号、SKINNY暗号、Midori暗号はいずれもSPN型ラウンド関数を用いるブロック暗号である。SPN型ラウンド関数は、非線形層、線形層、副鍵XORで構成されているラウンド関数である。
 ラウンド関数の繰り返し回数が多いほどデータが良く攪拌され安全性が高まるが、一方でラウンド関数の繰り返し回数が多いほど演算量が多くなり暗号処理の性能が低下する。したがって、安全性を確保できる範囲内で、ラウンド関数の繰り返し回数を最小する必要がある。このとき、ラウンド関数の繰り返し回数は様々な解読法に対する安全性評価の実施により決定されるが、差分解読法(非特許文献4)に対する評価が最も重要とされている。
Specification for the ADVANCED ENCRYPTION STANDARD(AES). U.S. DEPARTMENT OF COMMERCE/National Institute of Standards and Technology (2001), federal Information Processing Standards Publication 197 Christof Beierle, J´er´emy Jean, Stefan K¨olbl, Gregor Leander, AmirMoradi, Thomas Peyrin, Yu Sasaki, Pascal Sasdrich, SiangMeng Sim, "The SKINNY Family of Block Ciphers and Its Low-Latency Variant MANTIS," CRYPTO 2016 Part II, (eds.) Matthew Robshaw and Jonathan Katz, LNCS, Vol. 9815, pages 123-153, Springer, 2016. Subhadeep Banik, Andrey Bogdanov, Takanori Isobe, Kyoji Shibutani, Harunaga Hiwatari, Toru Akishita, Francesco Regazzoni,"Midori: A Block Cipher for Low Energy," Asiacrypt 2015 Part II, (eds.) Tetsu Iwata and Jung Hee Cheon, LNCS, Vol. 9453, pages 411-436, Springer, 2015. Eli Biham, Adi Shamir, "Differential Cryptanalysis of DES-like Cryptosystems," Journal of Cryptology, Vol. 4, No. 1, pages 3-72, 37 1991.
 しかしながら、軽量暗号は計算リソースが貧弱なデバイス上での実装が想定されているため、SPN型ラウンド関数の非線形層や線形層で複雑な演算を実行することができない。このため、差分解読法に対する安全性を効率的に高めることが難しく、ラウンド関数の繰り返し回数が増加し、それに伴う暗号処理の性能低下が発生し得る。
 本発明の一実施形態は、上記の点に鑑みてなされたもので、SPN型ラウンド関数を用いるブロック暗号の差分解読法に対する安全性を向上させることを目的とする。
 上記目的を達成するため、一実施形態に係る暗号装置は、SPN型のラウンド関数を用いるブロック暗号により平文を暗号化又は暗号文を復号する暗号装置であって、前記ブロック暗号に応じて決定される所定のサイズの第1の置換表の中で最長の高確率チェーン長が最も短い第2の置換表に対して所定の変換を行うことで、前記ラウンド関数に含まれる非線形層で利用する第3の置換表を生成する置換表生成処理部と、生成された前記第3の置換表を用いて、前記ブロック暗号により前記暗号化又は前記復号を行う暗号処理部と、を有し、前記高確率チェーンは、各ラウンドにおいて、前記第1の置換表への2つの入力の差分を表す入力差分が与えられたときに、前記入力差分に対応する出力の差分を表す出力差分への遷移確率が最大となる差分の系列である。
 SPN型ラウンド関数を用いるブロック暗号の差分解読法に対する安全性を向上させることができる。
Midori64暗号のS-Boxの差分分布表を示す図である。 Midori64暗号の高確率チェーンを示す図である。 最長の高確率チェーン長が2となるS-Boxの差分分布表の一例を示す図である。 最長の高確率チェーン長が2となるS-Boxの高確率チェーンの一例を示す図である。 本実施形態に係る暗号装置のハードウェア構成の一例を示す図である。 本実施形態に係る暗号装置の機能構成の一例を示す図である。 本実施形態に係る置換表生成処理及び暗号処理の一例を説明するための図である。 Midori64暗号とそのS-Boxを式(3)に置き換えた場合との比較例を示す図である。 SKINNY64暗号とそのS-Boxを式(3)に置き換えた場合との比較例を示す図である。
 以下、本発明の一実施形態について説明する。
 <理論的構成>
 以下、本実施形態で提案する手法の理論的構成とその説明に必要な各種技術や概念等について説明する。
  ≪差分解読法≫
 差分解読法では、ある平文とそれを暗号化した暗号文との組(P,C)と別の組(P',C')とがあるとき、2つの組の差分に注目する。2つのデータの差分Δは、排他的論理和
Figure JPOXMLDOC01-appb-M000001
で定義される。平文の差分ΔPは
Figure JPOXMLDOC01-appb-M000002
であり、暗号文の差分ΔCは
Figure JPOXMLDOC01-appb-M000003
である。
 ブロック暗号のブロック長をnビットとする。理想的なブロック暗号の場合は、特定の平文差分ΔPを持つ2つの平文に対して、特定の暗号文差分ΔCを持つ2つの暗号文が出力される確率は2-nである。
 攻撃対象となるブロック暗号の攪拌アルゴリズムに偏りがあり、上記の確率が2-nより大きいΔP、ΔCが存在するとき、ブロック暗号は差分解読法に対して脆弱であるとみなされる。なお、逆に、ブロック暗号の設計者は任意のΔP、ΔCに対して、上記の確率が2-nより小さくなることを目指す。
 上記の確率が2-nより大きいΔP、ΔCが存在するかどうかは、ラウンド関数の構成方法と、ラウンド関数の繰り返し回数とに依存する。
  ≪SPN型ラウンド関数≫
 ラウンド関数の構成方法の1つとしてSPN型が知られている。
 SPN型のラウンド関数を用いるブロック暗号では、1ブロックのデータを複数の短い長さのデータに分割する。分割された短い長さのデータをバイトと呼ぶ。
 例えば、AES暗号はブロック長が128ビットであり、128ビットの入力を16個の8ビットの値に分割する。つまり、128ビットの入力をバイト長8ビットの16バイトに分割する。
 また、ブロック長が128ビットであるSKINNY128暗号(非特許文献2)は128ビットの入力をバイト長8ビットの16バイトに分割し、ブロック長が64ビットであるSKINNY64暗号(非特許文献2)及びMidori64暗号(非特許文献3)は64ビットの入力をバイト長4ビットの16バイトに分割する。
 このようにバイトごとに分割された入力データ(平文)に対して、SPN型ラウンド関数を繰り返し適用して暗号文を生成する。なお、暗号文を復号する際も同様に、入力データ(暗号文)に対して、SPN型ラウンド関数を繰り返し適用して平文を生成する。
 SPN型ラウンド関数は、非線形層、線形層、副鍵XORで構成される。
 非線形層では、入出力が非線形関数で表現される変換を各バイトに適用する。すべての入力値(バイト長が4ビットなら16個、8ビットなら256個の入力値)に対してその入力値に対応する出力値を記録したS-Boxと呼ばれる置換表を作っておき、非線形層では、このS-Boxに従ってデータを変換する。
 線形層では、非線形層によって変換された各出力に線形変換を適用する。例えば、Midori64暗号では、16個のバイトを4×4の行列で表現し、ShuffleCell関数と呼ばれるバイト位置の入れ替えを行い、次にMixColumns関数と呼ばれる行列処理を行う。以下にMidori64暗号のShuffleCell関数とMixColumns関数を示す。
Figure JPOXMLDOC01-appb-M000004
 なお、d~d15はバイト長が4ビットである1バイトの値を取る変数である。
 Midori64暗号のShuffleCell関数はバイト位置の入れ替えであり、MixColumns関数はバイト単位の排他的論理和で表現される。このとき、線形層はバイト単位の排他的論理和とバイト位置の入れ替えで構成されている、と呼ぶ。
 副鍵XORでは、鍵(共通鍵又は共有鍵等とも呼ばれる。)を鍵スケジュール関数に入力し、副鍵と呼ばれる値をラウンド関数の繰り返し回数分得て、線形層の出力を、各ラウンドの副鍵との排他的論理和をとった値に更新する。副鍵XORの存在は差分解読法の確率の計算に影響しないことが知られているため、詳細な説明は省略する。
  ≪差分特性確率≫
 SPN型ラウンド関数で平文差分ΔPを持つ2つの平文から暗号文差分ΔCを持つ2つの暗号文が得られる確率を計算する際、通常、各ラウンド後の差分値を定め、各ラウンドの差分遷移確率の積で評価する。
 すなわち、ラウンド関数の繰り返し回数をrとし、2つの平文の差分をΔ、iラウンド後の差分(i=1,2,・・・,r)をΔとする。また、DP[Δ,Δ]を、差分Δを持つ2入力が関数F適用後に差分Δを持つ2入力に変換される確率(差分遷移確率)とする。このとき、差分特性(Δ,Δ,・・・,Δ)の差分特性確率DCP[Δ,Δ]は以下で計算される。
Figure JPOXMLDOC01-appb-M000005
 したがって、ブロック暗号の設計者は、ブロック長がnビットのとき、DCP[Δ,Δ]が2-nよりも小さいことを保証しなければならない。
 実装性能を考慮すると、ラウンド関数の繰り返し回数をできるだけ少なくし、差分特性確率をできるだけ小さくする設計が優れた設計である。
 任意の線形変換に対して、ある差分Δinを持つ2入力が与えられたとき、その2入力に対応する2出力の差分Δoutは確率1で定まる。したがって、線形層単独では差分解読法に対する安全性は向上しない。以下、ある層、変換、関数等に入力される差分Δinを入力差分、それに対応して出力される差分Δoutを出力差分という。
 一方で、非線形変換の場合、ある入力差分Δinからある出力差分Δoutへの遷移は確率的であり、その確率は非線形変換の仕様に依存する。SPN型ラウンド関数では、非線形変換の仕様とはS-Boxの仕様のことである。
 このような性質から既存の設計の多くは線形変換の詳細は無視し、S-Boxの最大差分遷移確率を最小化するように設計している。S-Boxの最大差分遷移確率は、入力差分Δinと出力差分Δoutの全組み合わせにおいて、その差分遷移が満たされる回数を数え上げ、確率(S-Boxの差分遷移確率)を計算する。具体的には、sをS-Boxのサイズとし、ΔinとΔoutの全組み合わせに対して以下を計算する。
Figure JPOXMLDOC01-appb-M000006
 なお、S-Boxのサイズsとは、S-Boxの入出力値のビット数のことである。例えば、4ビットの入出力値を取るS-Boxのサイズはs=4であり、8ビットの入出力値を取るS-Boxのサイズはs=8である。
 差分がない状況に相当するΔin=Δout=0の場合を除くすべての(Δin,Δout)の中で最も確率が高いものがS-Boxの最大差分遷移確率である。
  ≪線形解読法≫
 差分解読法と同等に重要な解読法として線形解読法が知られており、最大差分遷移確率に対応するものとして最大線形遷移確率がある。最大差分遷移確率と最大線形遷移確率がともに最小となる4ビットのS-Boxは、以下の表1に示す16個のS-Boxの入出力にアフィン変換をかけたものしか存在しないことが知られている。
Figure JPOXMLDOC01-appb-T000007
 S-Boxの入出力にアフィン変換をかけて生成された新しいS-Boxは、元のS-Boxとアフィン等価であるという。最大差分遷移確率と最大線形遷移確率はアフィン等価なS-Boxにおいて常に一致することが知られている。Midori64暗号を含む4ビットS-Boxを用いる既存の設計の多くは、表1に示す16個のS-BoxのいずれかのS-Boxとアフィン等価なS-Boxを用いている。
 図1に、Midori64暗号で実際に用いられているS-Boxについて、入力差分Δinと出力差分Δoutの全組み合わせについて式(1)の分子の値(つまり、ΔinからΔoutへの差分遷移の出現回数)を計算したものを示す。これは差分分布表と呼ばれる。入力差分Δinから出力差分Δoutへ遷移する確率(S-Boxの差分遷移確率)は、差分分布表の値を2で割ったものである。図1においてΔin=Δout=0の場合を除いた最大値は4であるため、S-Boxの最大差分遷移確率は4/2=2-2であることがわかる。
  ≪提案手法≫
 SKINNY暗号やMidori暗号のような軽量暗号は、IoT機器等の比較的計算リソースが貧弱なデバイス上での実装が想定されているため、SPN型ラウンド関数の非線形層や線形層で複雑な演算を実行することができない。このため、差分解読法に対する安全性を効率的に高めることが難しく、ラウンド関数の繰り返し回数が増加し、それに伴う暗号処理の性能低下が発生し得る。
 そこで、以下では、SKINNY暗号やMidori暗号のようにSPN型ラウンド関数の線形層がバイト単位の排他的論理和とバイト位置の入れ替えのみで構成されている場合に、既存の設計よりも少ない繰り返し回数で差分特性確率を小さくすることが可能な手法について説明する。本提案手法では、線形層がバイト単位の排他的論理和とバイト位置の入れ替えで構成されたSPN型ラウンド関数を用いるブロック暗号にとって有効な性質を満たす置換表(S-Box)を利用する。
 SPN型ラウンド関数の線形層がバイト単位の排他的論理和とバイト位置の入れ替えのみで構成されている場合、線形層の入出力で差分を持つバイト数の和が最小化されるのは、差分を持つ各バイトの差分がすべて同一のときに限られる、という性質を持つ。
 差分特性確率は、多くの場合において、線形層の入出力で、差分を持つバイトの数の和が最小化されるとき、最大化される性質を持つ。したがって、差分特性確率が最大化される差分特性では、線形層の入出力で、各バイトごとの差分がすべて一致する場合が多い。
 上記の性質を考慮して、以下の性質を満たす置換表(S-Box)を用いることで、差分解読法に対する安全性の向上が期待できる。
 S-Boxの差分遷移確率の中で高確率な値を取る(Δin,Δout)にのみ注目する。このような入力差分と出力差分のペア(Δin,Δout)を高確率伝搬と呼ぶ。ある差分Δが高確率で差分Δi+1に伝搬し、Δi+1が高確率で差分Δi+2に伝搬し、更にΔi+2が高確率で差分Δi+3に伝搬する、というような高確率伝搬の連鎖(チェーン)を考える。そのようなチェーン(Δ,Δ,・・・,Δ)を高確率チェーンと呼び、このときの高確率チェーンの長さをLとする。なお、チェーンは系列等と呼ばれてもよい。
 本提案手法では、全ての高確率チェーンのうち、その最長の長さが最も短いS-Boxを利用する。なお、既存の暗号方式の設計で高確率チェーンに着目したものは存在しないと考えられる。
 Midori64暗号で用いられているS-Boxの高確率チェーンを図2に示す。図2に示す高確率チェーンは、図1の差分分布表(つまり、Midori64暗号で用いられているS-Boxの差分分布表)で出現回数が4となっている差分伝搬が高確率伝搬である。
 図2に示すように、Midori64暗号で用いられているS-Boxの場合、例えば、入力差分1は出力差分2に高確率で遷移する。同様に、入力差分2は出力差分4、9、C、1に高確率で遷移する。また、同様に、入力差分4、9、Cは出力差分2に高確率で遷移する。同様に、入力差分2は出力差分1に高確率で遷移する。
 図2中でiterateは繰り返し(ループ)をなしていることを表している。例えば、「1→2→1→2→1→・・・」とループなしている。したがって、Midori64暗号で用いられているS-Boxの最長の高確率チェーンは無限長である。
 最長の高確率チェーン長が短いS-Boxを利用することで、差分解読法に対する安全性の向上が期待できる。Min×Moutが単位行列となるMin及びMoutにおいて、以下の関係を満たす2つのS-Box SとS'は同一の高確率チェーン長を持つ。
Figure JPOXMLDOC01-appb-M000008
 ここで、cin及びcoutはS-Box S及びS'のサイズの同一の任意の定数であり、予め設定される。例えば、S-Box S及びS'のサイズが4ビットである場合、cin及びcoutは0~15のいずれか値を設定することができる。なお、cinとcoutはそれぞれ独立であり、cin=coutであってもよいし、cin≠coutであってもよい。
 4ビットのS-Boxにおいて、表1に示した16個のS-Boxとアフィン等価なすべてのS-Boxの高確率チェーン長を調査した結果、最長の高確率チェーン長が最も短い場合は2であった。したがって、最長の高確率チェーン長が2であるS-Boxが最適なS-Boxであるといえる。
 以下の表2に、最長の高確率チェーン長が2である40個のS-Boxを示す。
Figure JPOXMLDOC01-appb-T000009
 表2では、Gとアフィン等価な10個のS-BoxがGの下に記載されている。同様に、G11とアフィン等価な10個のS-BoxがG11の下に記載されており、G12とアフィン等価な20個のS-BoxがG12の下に記載されている。なお、あるS-Boxとアフィン等価なS-Boxは同一クラスに属するともいう。以下では、表2のGの下に記載されている10個のS-BoxをGクラスに属するS-Box、G11の下に記載されている10個のS-BoxをG11クラスに属するS-Box、G12の下に記載されている20個のS-BoxをG12クラスに属するS-Boxという。
 表2に示す40個のS-Boxに対して式(2)に示す変換を施したS-Boxの最長の高確率チェーン長もすべて2となる(ただし、式(2)に示す変換を用いる際には、Min×Moutが単位行列となるMin及びMoutを用いる。)。
 したがって、SKINNY64暗号やMidori64暗号で用いるS-Boxを、表2に示す40個のS-Boxのいずれかを式(2)で変換したものに置き換えることで、同一のラウンド関数の繰り返し回数でも、差分解読法に対する安全性を向上させることができる。
 ここで、表2に示すGクラスに属するS-Box{0x0,0x4,0x2,0xB,0xA,0xC,0x9,0x8,0x5,0xF,0xD,0x3,0x7,0x1,0x6,0xE}を式(2)で変換したS-Boxの具体例を以下に示す。これは、最長の高確率チェーン長が2である4bitのS-Boxの1つである。なお、式(2)で変換する際にはMin=0x05EBC927AF41638D、Mout=0x0B6DA1C7E5834F29、cin=5、cout=3とした。
Figure JPOXMLDOC01-appb-M000010
 このS-Boxの差分分布表を図3、高確率チェーンを図4に示す。
 図3及び図4に示すように、どの入力差分から始めても、高確率伝搬が継続できるのは高々2回までである。
 なお、本実施形態では、主に、SPN型ラウンド関数の非線形層で4ビットのS-Boxを用いるブロック暗号(特に、SKINNY64暗号やMidori64暗号等の軽量暗号)を対象に説明したが、SPN型ラウンド関数の非線形層で任意のサイズのS-Boxを用いるブロック暗号に対しても同様に適用可能であることは言うまでもない。
 <暗号装置10のハードウェア構成>
 次に、本提案手法で説明したS-Boxを非線形層で利用するSPN型ラウンド関数を用いるブロック暗号により暗号処理(暗号化、復号、又はその両方)を行う暗号装置10のハードウェア構成を図5に示す。図5に示すように、本実施形態に係る暗号装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、プロセッサ105と、メモリ装置106とを有する。これらの各ハードウェアは、それぞれがバス107により通信可能に接続される。
 入力装置101は、例えば、キーボードやマウス、タッチパネル、各種物理ボタン等である。表示装置102は、例えば、ディスプレイ等である。なお、暗号装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
 外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。暗号装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。なお、記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
 通信I/F104は、暗号装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ105は、例えば、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)等の各種演算装置である。メモリ装置106は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)等の各種記憶装置である。
 本実施形態に係る暗号装置10は、図5に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図5に示すハードウェア構成は一例であって、暗号装置10は、図示したハードウェア以外にも様々なハードウェアを有していてもよい。
 <暗号装置10の機能構成>
 次に、本提案手法で説明したS-Boxを非線形層で利用するSPN型ラウンド関数を用いるブロック暗号により暗号処理を行う暗号装置10の機能構成を図6に示す。図6に示すように、本実施形態に係る暗号装置10は、置換表生成処理部201と、暗号処理部202とを有する。これら各部は、例えば、暗号装置10にインストールされた1以上のプログラムがプロセッサ105に実行させる処理により実現される。
 置換表生成処理部201は、上記で説明した提案手法により置換表(S-Box)を生成する。すなわち、置換表生成処理部201は、暗号処理部202を実現するブロック暗号のSPN型ラウンド関数の非線形層で利用されるS-Boxと同一サイズのS-Boxの中で最長の高確率チェーン長が最も短いS-Boxを式(2)により変換することで、暗号処理部202で用いるS-Boxを生成する。例えば、暗号処理部202がSKINNY64暗号やMidori64暗号等で実現される場合、置換表生成処理部201は、表2に示す40個のS-Boxの中のいずれかのS-Boxを式(2)により変換することで、暗号処理部202で用いるS-Boxを生成する。
 暗号処理部202は、置換表生成処理部201で生成されたS-Boxを用いて、所定のブロック暗号(例えば、SKINNY64暗号やMidori64暗号等)により暗号処理を行う。すなわち、暗号処理部202は、例えば、平文から暗号文を生成した上で他の暗号装置に送信したり、他の暗号装置から受信した暗号文を復号したりする。
 なお、図6は一例であって、例えば、置換表生成処理部201と暗号処理部202のそれぞれを異なる装置が有していてもよい。具体的には、例えば、置換表生成処理部201を有する置換表生成装置と、暗号処理部202を有する暗号装置とで構成されていてもよい。
 <置換表生成処理及び暗号処理>
 次に、本実施形態に係る暗号装置10が実行する置換表生成処理及び暗号処理の流れを図7に示す。図7に示すように、まず、置換表生成処理部201は、暗号処理部202で用いるS-Boxを生成する(S101)。なお、このS-Boxの生成は暗号処理よりも前に実行されていればよく、例えば、事前に予め実行されてもよいし、暗号処理を実行する直前に都度実行されてもよい。次に、暗号処理部202は、置換表生成処理部201で生成されたS-Boxを用いて、所定のブロック暗号により暗号処理(平文の暗号化又は暗号文の復号)を行う(S102)。なお、暗号装置10が暗号化装置として機能する場合は、暗号処理部202は、平文を暗号化して暗号文を生成した上で他の暗号装置に送信する。一方で、暗号装置10が復号装置として機能する場合は、暗号処理部202は、他の暗号装置から受信した暗号文を復号する。
 <実験結果>
 以下では、提案手法の効果を確認するために行った実験の結果について説明する。
 まず、Midori64暗号のS-Boxを式(3)に示すS-Boxに置き換えた場合におけるラウンド関数の繰り返し回数に対する最大差分特性確率の変化の様子を図8に示す。なお、Midori64暗号はブロック長64ビットで、SPN型ラウンド関数を用いるブロック暗号であり、そのS-Boxの最長の高確率チェーン長は無限長である。
 図8中で「original」はMidori64暗号で従来のS-Boxを用いた場合であり、「ours」はMidori64暗号で式(3)に示すS-Boxを用いた場合である。なお、横軸はラウンド関数の繰り返し回数、縦軸は最大差分特性確率(MDCP)に対してlogの取った値を表す。
 図8に示すように、最長の高確率チェーン長が無限長であるoriginalのMidori64暗号では最大差分特性確率が2-64より小さいことを保証するためにはラウンド数を7回繰り返さなければならない。
 一方で、最長の高確率チェーン長が2であるS-Boxに置き換えたMidori64暗号(ours)では、6回の繰り返し回数で最大差分特性確率が2-64を保証することができている。このように、差分解読法に対してラウンド関数の繰り返し回数1回分以上の安全性向上が得られる場合、同じ安全性を保ったまま繰り返し回数を削減することができるため、暗号処理の処理性能を改善できる。
 同様に、SKINNY64暗号のS-Boxを式(3)に示すS-Boxに置き換えた場合におけるラウンド関数の繰り返し回数に対する最大差分特性確率の変化の様子を図9に示す。
 図9中で「original」はSKINNY64暗号で従来のS-Boxを用いた場合であり、「ours」はSKINNY64暗号で式(3)に示すS-Boxを用いた場合である。
 SKINNY64では、最大差分特性確率2-64を保証するためのラウンド関数の繰り返し回数は減らないものの、同一のラウンド数で、より小さい最大差分特性確率を保証できており、差分解読法に対する安全性が向上している。
 本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
 10    暗号装置
 101   入力装置
 102   表示装置
 103   外部I/F
 103a  記録媒体
 104   通信I/F
 105   プロセッサ
 106   メモリ装置
 107   バス
 201   置換表生成処理部
 202   暗号処理部

Claims (6)

  1.  SPN型のラウンド関数を用いるブロック暗号により平文を暗号化又は暗号文を復号する暗号装置であって、
     前記ブロック暗号に応じて決定される所定のサイズの第1の置換表の中で最長の高確率チェーン長が最も短い第2の置換表に対して所定の変換を行うことで、前記ラウンド関数に含まれる非線形層で利用する第3の置換表を生成する置換表生成処理部と、
     生成された前記第3の置換表を用いて、前記ブロック暗号により前記暗号化又は前記復号を行う暗号処理部と、
     を有し、
     前記高確率チェーンは、各ラウンドにおいて、前記第1の置換表への2つの入力の差分を表す入力差分が与えられたときに、前記入力差分に対応する出力の差分を表す出力差分への遷移確率が最大となる差分の系列である、暗号装置。
  2.  前記変換は、
     前記第2の置換表をS(x)、前記第3の置換表をS'(x)、排他的論理和を表す記号を+として、Min×Moutが単位行列となるMin及びMoutと前記サイズの定数cin及びcoutとを用いて、S'(x)=Mout×S(Min×(x+cin))+coutと表される、請求項1に記載の暗号装置。
  3.  前記ラウンド関数の線形層は、バイト単位の排他的論理和とバイト位置の入れ替えのみで構成されている、請求項1又は2に記載の暗号装置。
  4.  前記ブロック暗号は、SKINNY64暗号又はMidori64暗号のいずれかであり、
     前記サイズは4ビットであり、
     前記第2の置換表の最長の高確率チェーン長は2である、請求項3に記載の暗号装置。
  5.  SPN型のラウンド関数を用いるブロック暗号により平文を暗号化又は暗号文を復号する暗号装置が、
     前記ブロック暗号に応じて決定される所定のサイズの第1の置換表の中で最長の高確率チェーン長が最も短い第2の置換表に対して所定の変換を行うことで、前記ラウンド関数に含まれる非線形層で利用する第3の置換表を生成する置換表生成処理手順と、
     生成された前記第3の置換表を用いて、前記ブロック暗号により前記暗号化又は前記復号を行う暗号処理手順と、
     を実行し、
     前記高確率チェーンは、各ラウンドにおいて、前記第1の置換表への2つの入力の差分を表す入力差分が与えられたときに、前記入力差分に対応する出力の差分を表す出力差分への遷移確率が最大となる差分の系列である、方法。
  6.  コンピュータを、請求項1乃至4の何れか一項に記載の暗号装置として機能させるプログラム。
PCT/JP2021/020663 2021-05-31 2021-05-31 暗号装置、方法、及びプログラム WO2022254511A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/020663 WO2022254511A1 (ja) 2021-05-31 2021-05-31 暗号装置、方法、及びプログラム
JP2023525159A JPWO2022254511A1 (ja) 2021-05-31 2021-05-31

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/020663 WO2022254511A1 (ja) 2021-05-31 2021-05-31 暗号装置、方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2022254511A1 true WO2022254511A1 (ja) 2022-12-08

Family

ID=84323941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/020663 WO2022254511A1 (ja) 2021-05-31 2021-05-31 暗号装置、方法、及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2022254511A1 (ja)
WO (1) WO2022254511A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097456A (zh) * 2023-10-17 2023-11-21 暨南大学 密码算法安全性分析方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008058830A (ja) * 2006-09-01 2008-03-13 Sony Corp データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
US20170366339A1 (en) * 2014-12-04 2017-12-21 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method of encryption with dynamic diffusion and confusion layers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008058830A (ja) * 2006-09-01 2008-03-13 Sony Corp データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
US20170366339A1 (en) * 2014-12-04 2017-12-21 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method of encryption with dynamic diffusion and confusion layers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AYUMI NAGAO , SATOSHI MATSUO , TOMOYUKI NAGASE: "A suitable pseudo-random number generator for stream cipher", SIG TECHNICAL REPORTS, vol. 2013-IOT-21, no. 33, JP, pages 1 - 5, XP009541936, Retrieved from the Internet <URL:http://id.nii.ac.jp/1001/00091941/> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097456A (zh) * 2023-10-17 2023-11-21 暨南大学 密码算法安全性分析方法、系统、设备及存储介质
CN117097456B (zh) * 2023-10-17 2024-01-12 暨南大学 密码算法安全性分析方法、系统、设备及存储介质

Also Published As

Publication number Publication date
JPWO2022254511A1 (ja) 2022-12-08

Similar Documents

Publication Publication Date Title
JP4735644B2 (ja) メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
JP5704159B2 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
TWI571091B (zh) 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術
WO2012132623A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JP5682526B2 (ja) データ処理装置、およびデータ処理方法、並びにプログラム
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
US11463235B2 (en) Encryption device, encryption method, program, decryption device, and decryption method
US20160359618A1 (en) Using state reordering to protect against white box attacks
US20080192924A1 (en) Data encryption without padding
US20100329449A1 (en) Adjustment-value-attached block cipher apparatus, cipher generation method and recording medium
Arshad et al. New extension of data encryption standard over 128-bit key for digital images
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
El Sobky et al. Enhancing Hierocrypt-3 Performance by Modifying Its S-Box and Modes of Operations.
JPWO2010024004A1 (ja) 調整値付きブロック暗号化装置、調整値付きブロック暗号化方法及び調整値付きブロック暗号化プログラム並びに調整値付きブロック復号装置、調整値付きブロック復号方法及び調整値付きブロック復号プログラム
US8891761B2 (en) Block encryption device, decryption device, encrypting method, decrypting method and program
WO2022254511A1 (ja) 暗号装置、方法、及びプログラム
JP5680016B2 (ja) 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム
KR20080072345A (ko) 암호화 장치 및 그 방법
Rudnytskyi et al. Cryptographic encoding in modern symmetric and asymmetric encryption
Smyshlyaev Re-keying mechanisms for symmetric keys
WO2022254513A1 (ja) 暗号装置、方法、及びプログラム
WO2015173905A1 (ja) 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
Zhang et al. A unified improvement of the AES algorithm

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: 21944021

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023525159

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE