JP5449063B2 - Rijndael型192bitブロック暗号化装置、方法、及びそのプログラム - Google Patents

Rijndael型192bitブロック暗号化装置、方法、及びそのプログラム Download PDF

Info

Publication number
JP5449063B2
JP5449063B2 JP2010153758A JP2010153758A JP5449063B2 JP 5449063 B2 JP5449063 B2 JP 5449063B2 JP 2010153758 A JP2010153758 A JP 2010153758A JP 2010153758 A JP2010153758 A JP 2010153758A JP 5449063 B2 JP5449063 B2 JP 5449063B2
Authority
JP
Japan
Prior art keywords
round
block encryption
192bit
shiftrow
rijndael
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.)
Expired - Fee Related
Application number
JP2010153758A
Other languages
English (en)
Other versions
JP2012018210A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010153758A priority Critical patent/JP5449063B2/ja
Publication of JP2012018210A publication Critical patent/JP2012018210A/ja
Application granted granted Critical
Publication of JP5449063B2 publication Critical patent/JP5449063B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、より安全性の高いブロック暗号の設計手法に関するものであり、特に、Rijndael型192bitブロック暗号の丸め差分攻撃に対する安全性がより高いRijndael型192bitブロック暗号化装置、方法、及びそのプログラムに関する。
ブロックサイズN-bitのブロック暗号Ekは、送信者と受信者で予め共有しておいた秘密鍵Kを用いて、N-bitの平文PからN-bitの暗号文Ek(P)を生成する、Kに依存する置換処理である。
Rijndael型192bitブロック暗号(非特許文献1参照)のアルゴリズムにおいては、Ekは192bitの入力ブロックに対してラウンド関数Rkという処理を複数ラウンド(12ラウンド以上であることが望ましい)繰り返し適用するものである。すなわち、192bit単位にブロック化された平文Pに対する暗号化処理は、192bitの変数Xi(i=0、1、…、t−1)を用いて以下のように記述することができる。
0 ←P
i+1 ←Rk(Xi)
k(P) ←Xt
Rijndael型192bitブロック暗号のアルゴリズムにおいては、1byte(8bit)が1要素として扱われ、図4に示すように192bitブロックは、24個の要素(byte)からなる4×6の行列として表現される。ここで、行列の横方向の各行をithrow(i=0,1,2,3)、縦方向の各列をjthcolumn(j=0,1,2,3,4,5)と呼び、192bit(24byte)全体をステートと呼ぶ。
ラウンド関数Rkは、ByteSub、ShiftRow、MixColumn、AddRoundKeyの4つの演算をこの順番で適用する関数である。
ByteSubは、非線形のbit転置であり、各byteの内部でbit転置を行う。
ShiftRowは、非線形の転置処理であり、図5(a)に示すように、i番目のrowにある各バイトを左にsiバイト巡回シフトする。s0、s1、s2、s3の4つの変数をShiftRowパラメータと呼び、非特許文献1においては192bitブロックに対し(s0,s1,s2,s3)=(0,1,2,3)としている。
MixColumnは、図5(b)に示すように各Columnに対し4×4の行列を掛ける処理を行う。ここでいう4×4の行列は非特許文献1所定のものである。
AddRoundKeyは、MixColumn演算後の4×6行列と、非特許文献1所定の方法により秘密鍵Kから各ラウンドごとに生成された4×6の行列であるRoundKeyとが入力され、両行列の各要素について排他的論理和をとったものを出力する。
Joan Daemen, Vincent Rijmen, "AES Proposal: Rijndael", NIST AES Proposal, 1998, last updated at 1999
異なる2つの平文P、P´を暗号化するとき、Pに対して演算した時の値とP´に対して演算したときの値とのbit毎の排他的論理和(xor)を差分と呼ぶ。例えば平文の差分はP xor P´で表され、暗号文の差分はEk(P) xor Ek(P´)で表される。演算の途中状態の差分も同様に定義できる。
異なる2つの平文P、P´を暗号化したとき、2つの暗号化の演算過程の値、及び演算結果は、独立にランダムに振る舞うことが望ましい。すなわち差分が偏った値であること、すなわち演算過程全体として差分が小さいことは望ましくない。
差分はブロック暗号の安全性を評価する上で、ひとつの重要な指標として用いられる。差分に偏りがある平文ペアを簡単に見つけることができるブロック暗号は安全ではないと評価され、見つけることが困難であるブロック暗号は安全であると評価される。
差分の考えの拡張として、byte単位など複数bitを同時に考慮し、複数bitうちどれか1bitでも差分があるか、又は全てのbitに差分が無いかを表したものを丸め差分と呼ぶ。Rijndael型192bitブロック暗号のようにbyte単位で処理を行う暗号方式に対しては、この丸め差分に基づく攻撃方法の存在が知られている(丸め差分攻撃)。
演算の過程において、丸め差分を持つbyteの累積個数が多ければ多いほど、差分が偏りを持たなくなり安全であると言える。そのため、ブロック暗号の設計者は、できるだけ差分が偏りを持たないように、つまり、できるだけ丸め差分を持つバイトの累積個数が多くなるように設計を行う必要がある。
しかし、非特許文献1に開示されたRijndael型192bitブロック暗号においては、ラウンド関数Rkによる5ラウンドの変換処理で42byte(簡単のため、各Rk処理の先頭のバイト数のみをカウント)しか丸め差分を持たないような、丸め差分の伝搬経路が存在するという問題があった。
図6は、5ラウンドの変換処理(#1〜5)で累積の丸め差分が42byteとなる過程を図示したものである。灰色部分が丸め差分を持つbyteであり、図6のように処理前に右上隅のbyteにのみ丸め差分がある時に5ラウンドの変換処理後の丸め差分の累積個数が最小となる。処理前に1byteであった丸め差分は、1ラウンド目で4byteとなり、2ラウンド目で4byteから16byteとなり、3ラウンド目では16byteが維持され、4ラウンド目で16byteから4byteとなり、5ラウンド目で4byteから1byteとなっている。従って、累積で42(=1+4+16+16+4+1)byteとなる。なお、ラウンド関数Rkの4つの演算のうち、ByteSubとAddRoundKeyについては、各byte内の処理であり、他のbyteへの丸め差分の伝搬に関わらないため、演算の前後で丸め差分を持つbyteに変化は生じない。また、MixColumnの演算は「入力の4byte全てに丸め差分がなければ、出力4byte全てに丸め差分がなく、それ以外の場合、入出力の合計8byte中、少なくとも5byte以上に丸め差分が存在する」というMDSと呼ばれる性質を持つが、図6の各ラウンドのMixColumn演算はMDSの丸め差分バイト数の性質を満たしている。
本発明の目的は、Rijndael型192bitブロック暗号の演算の過程でより多くのbyteに丸め差分を持たせることができ、かつ、従来と同じ暗号化処理能力を持つRijndael型192bitブロック暗号化装置、方法、及びそのプログラムを提供することにある。
本発明のRijndael型192bitブロック暗号化装置は、ラウンドごとのRoundKeyが予め記憶されたRoundKey記憶部と、入力された192bitの平文に、ByteSub、ShiftRow、MixColumn、AddRoundKeyの4つの演算を1ラウンドとするラウンド関数を、ラウンドごとにRoundKey記憶部から読み出したRoundKeyを用いて、複数ラウンド繰り返し適用するRijndael型192bitブロック暗号化アルゴリズムにより暗号文を生成する暗号文生成部と、を備え、
前記ShiftRow演算のShiftRowパラメータ(s0,s1,s2,s3)は、(0,1,3,4)であることを特徴とする。
本発明は、ShiftRowパラメータを適切に選択することによって、演算の過程でより多くのbyteに丸め差分を持たせるものである。ShiftRowパラメータの変更は暗号化処理能力に影響を及ぼさないため、従来と同じ暗号化処理能力を確保しつつ、従来より安全性が高いRijndael型192bitブロック暗号化装置、方法、及びそのプログラムを提供することができる。
ShiftRowパラメータを最適化した本発明のラウンド関数を、入力文に5ラウンド適用した場合の、丸め差分を持つbyteの遷移の様子を示す図。 Rijndael型192bitブロック暗号化装置100の構成例を示すブロック図。 Rijndael型192bitブロック暗号化装置100の処理フロー例を示す図。 192bitの変数を4×6の行列化するイメージを示す図。 ShiftRow演算及びMixColumn演算のイメージを示す図。 従来技術のラウンド関数を、入力文に5ラウンド適用した場合の、丸め差分を持つbyteの遷移の様子を示す図。
本発明は、Rijndael型192bitブロック暗号の演算の過程でより多くのbyteに丸め差分を持たせるため、ラウンド関数RkにおけるShiftRow演算に用いるShiftRowパラメータを最適化する。具体的には、ShiftRowパラメータ(s0,s1,s2,s3)として(0,1,3,4)を用いる。
図1は、ShiftRowパラメータ(s0,s1,s2,s3)として(0,1,3,4)を用いた場合に、5ラウンドの変換処理(#1〜5)において、丸め差分を持つbyteが遷移していく様子を示したものである。灰色部分が丸め差分を持つbyteであり、図1のように処理前に右上隅のbyteにのみ丸め差分がある時に5ラウンドの変換処理後の丸め差分の累積個数が最小となる。処理前は1byteであった丸め差分は、1ラウンド目で4byteとなり、2ラウンド目で4byteから16byteとなり、3ラウンド目で16byteから24byteとなり、4ラウンド目で24byteから8byteとなり、5ラウンド目で8byteから2byteとなっている。従って、累積で55(=1+4+16+24+8+2)byteとなる。
このように、ShiftRowパラメータ(s0,s1,s2,s3)として(0,1,3,4)を用いることで、図6に示す42byteの丸め差分を発生させるパターンが形成不可能になり、代わりに図1に示すパターンが最小の丸め差分55byteを発生させる。
図2は、上記のShiftRowパラメータを用いて暗号化を行うRijndael型192bitブロック暗号化装置100の構成例を示すブロック図である。また、図3はその処理フロー例である(S1〜S7)。適用するShiftRowパラメータが異なる以外は、構成、処理フローとも従来技術による場合と相違は無い。
Rijndael型192bitブロック暗号化装置100は、ByteSub演算を行うByteSub演算部110とShiftRow演算を行うShiftRow演算部120とMixColumn演算を行うMixColumn演算部130とAddRoundKey演算を行うAddRoundKey演算部140とラウンドごとのRoundKeyが予め記憶されたRoundKey記憶部150とを備える。RoundKeyは、非特許文献1所定の方法により秘密鍵Kから各ラウンドごとに生成された4×6の行列である。
平文は192bit単位にブロック化されて入力され(S1)、ブロック毎に暗号化処理が行われる。処理に際しては、各ブロックは図4に示すようなbyte単位の4×6の行列として扱われる。4×6のbyte行列化された192bitブロックは、まずAddRoundKey演算部140でRoundKey記憶部150から読み出された第1ラウンドのRoundKeyと排他的論理和がとられ初期化される(S2)。この初期化した行列がByteSub110に入力され、まずByteSub演算が施され(S3)、続いてShiftRow演算部120にてShiftRowパラメータ(s0,s1,s2,s3)として(0,1,3,4)を用いたShiftRow演算が施され(S4)、続いてMixColumn演算部130にてMixColumn演算が施され(S5)、続いてAddRoundKey演算部140にてRoundKey記憶部150から読み出された第2ラウンドのRoundKeyとの排他的論理和がとられる(S6)。そしてS3〜S6の処理を各ラウンドのRoundKeyを用いつつ複数ラウンド(12ラウンド以上であることが望ましい)繰り返した後、得られた結果を暗号文として出力する(S7)。
以上のように本発明は、ShiftRowパラメータを適切に選択することによって、演算の過程でより多くのbyteに丸め差分を持たせるものである。ShiftRowパラメータの変更は暗号化処理能力に影響を及ぼさないため、従来と同じ暗号化処理能力を確保しつつ、従来より安全性が高いRijndael型192bitブロック暗号化装置、方法、及びそのプログラムを提供することができる。
上記の各処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
また、本発明のRijndael型192bitブロック暗号化装置をコンピュータによって実現する場合、装置の各部が有す機能の処理内容はプログラムによって記述される。そのプログラムは、例えば、ハードディスク装置に格納されており、実行時には必要なプログラムやデータがRAM(Random Access Memory)に読み込まれる。その読み込まれたプログラムがCPUにより実行されることにより、コンピュータ上で各処理内容が実現される。なお、処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (5)

  1. ラウンドごとのRoundKeyが予め記憶されたRoundKey記憶部と、
    入力された192bitの平文に、ByteSub、ShiftRow、MixColumn、AddRoundKeyの4つの演算を1ラウンドとするラウンド関数を、ラウンドごとにRoundKey記憶部から読み出したRoundKeyを用いて、複数ラウンド繰り返し適用するRijndael型192bitブロック暗号化アルゴリズムにより暗号文を生成する暗号文生成部と、
    を備えるRijndael型192bitブロック暗号化装置であって、
    前記ShiftRow演算のShiftRowパラメータ(s0,s1,s2,s3)は、(0,1,3,4)である
    ことを特徴とするRijndael型192bitブロック暗号化装置。
  2. 請求項1に記載のRijndael型192bitブロック暗号化装置において、
    ラウンド関数の適用ラウンド数は12以上である
    ことを特徴とするRijndael型192bitブロック暗号化装置。
  3. 暗号文生成部が、入力された192bitの平文に、ByteSub、ShiftRow、MixColumn、 AddRoundKeyの4つの演算を1ラウンドとするラウンド関数を、ラウンドごとにRoundKey記憶部から読み出したRoundKeyを用いて、複数ラウンド繰り返し適用するRijndael型192bitブロック暗号化アルゴリズムにより暗号文を生成するRijndael型192bitブロック暗号化方法であって、
    前記ShiftRow演算のShiftRowパラメータ(s0,s1,s2,s3)は、(0,1,3,4)である
    ことを特徴とするRijndael型192bitブロック暗号化方法。
  4. 請求項3に記載のRijndael型192bitブロック暗号化方法において、
    ラウンド関数の適用ラウンド数は12以上である
    ことを特徴とするRijndael型192bitブロック暗号化方法。
  5. 請求項1又は2に記載のRijndael型192bitブロック暗号化装置としてコンピュータを機能させるためのプログラム。
JP2010153758A 2010-07-06 2010-07-06 Rijndael型192bitブロック暗号化装置、方法、及びそのプログラム Expired - Fee Related JP5449063B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010153758A JP5449063B2 (ja) 2010-07-06 2010-07-06 Rijndael型192bitブロック暗号化装置、方法、及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010153758A JP5449063B2 (ja) 2010-07-06 2010-07-06 Rijndael型192bitブロック暗号化装置、方法、及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2012018210A JP2012018210A (ja) 2012-01-26
JP5449063B2 true JP5449063B2 (ja) 2014-03-19

Family

ID=45603528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010153758A Expired - Fee Related JP5449063B2 (ja) 2010-07-06 2010-07-06 Rijndael型192bitブロック暗号化装置、方法、及びそのプログラム

Country Status (1)

Country Link
JP (1) JP5449063B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6251151B2 (ja) * 2014-10-27 2017-12-20 日本電信電話株式会社 ラウンド関数計算装置及び暗号装置、これらの方法並びにプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5272417B2 (ja) * 2008-01-21 2013-08-28 ソニー株式会社 データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
JP2012018210A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
Kumar et al. Development of modified AES algorithm for data security
D'souza et al. Advanced encryption standard (AES) security enhancement using hybrid approach
CN111492616B (zh) 用于基于晶格的密码学的可配置设备
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
US20120170739A1 (en) Method of diversification of a round function of an encryption algorithm
CN107147487B (zh) 对称密钥随机分组密码
US20120121083A1 (en) Encryption apparatus and method
JP2008058830A (ja) データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
Nejad et al. Analysis of avalanche effect on advance encryption standard by using dynamic S-Box depends on rounds keys
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
Khan et al. A new chaos-based secure image encryption scheme using multiple substitution boxes
KR101095386B1 (ko) 이산화된 카오스 함수를 이용한 암호 시스템
US20130243191A1 (en) Encryption key generating apparatus
Waqas et al. Generation of AES-like S-boxes by replacing affine matrix
KR102033351B1 (ko) 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
JP5680016B2 (ja) 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム
CN104954118B (zh) 一种基于向量网络编码和des的拟态加密方法及系统
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
JP5449063B2 (ja) Rijndael型192bitブロック暗号化装置、方法、及びそのプログラム
CN107493164B (zh) 一种基于混沌系统的des加密方法和系统
Jassim et al. A modified advanced encryption standard for color images
Faraoun Design of fast one-pass authenticated and randomized encryption schema using reversible cellular automata
Tayal et al. Analysis of various cryptography techniques: a survey
JP5207153B2 (ja) 擬似乱数発生システム
AU2018101651A4 (en) An apparatus and method based on dynamic key dependent S-Box for Symmetric Encryption in wireless networks using symmetric ciphers.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131224

R150 Certificate of patent or registration of utility model

Ref document number: 5449063

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees