JPH1124559A - 暗号装置 - Google Patents

暗号装置

Info

Publication number
JPH1124559A
JPH1124559A JP9173672A JP17367297A JPH1124559A JP H1124559 A JPH1124559 A JP H1124559A JP 9173672 A JP9173672 A JP 9173672A JP 17367297 A JP17367297 A JP 17367297A JP H1124559 A JPH1124559 A JP H1124559A
Authority
JP
Japan
Prior art keywords
data
linear
key
linear conversion
unit
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.)
Granted
Application number
JP9173672A
Other languages
English (en)
Other versions
JP3782210B2 (ja
Inventor
Masasuki Kanda
雅透 神田
Yoichi Takashima
洋一 高嶋
Katsuhiko Aoki
克彦 青木
Tsutomu Matsumoto
勉 松本
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.)
N T T ELECTRON KK
NTT Electronics Corp
Nippon Telegraph and Telephone Corp
Original Assignee
N T T ELECTRON KK
NTT Electronics Corp
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 N T T ELECTRON KK, NTT Electronics Corp, Nippon Telegraph and Telephone Corp filed Critical N T T ELECTRON KK
Priority to JP17367297A priority Critical patent/JP3782210B2/ja
Priority to DE69829566T priority patent/DE69829566T2/de
Priority to CA002295167A priority patent/CA2295167C/en
Priority to PCT/JP1998/002915 priority patent/WO1999000783A1/ja
Priority to EP98929747A priority patent/EP1001398B1/en
Publication of JPH1124559A publication Critical patent/JPH1124559A/ja
Application granted granted Critical
Publication of JP3782210B2 publication Critical patent/JP3782210B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Facsimile Transmission Control (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 差分解読法、線形解読法に対して安全性が高
く、かつ高速処理が可能。 【解決手段】 入力データをL0 ,R0 に分割し、Rを
非線形関数手段304で鍵に応じて交換し、その出力
と、もとの排他的論理和をとった出力をR1 とし、R0
をL1 とすることを複数回行い、手段304として、入
力Ri を鍵依存線形変換し(341)、その出力をin
0 ,in1 ,in2 ,in3 に4分割し、これらをそれ
ぞれ非線形変換し(343〜346)、これら変換出力
を鍵依存線形変換手段347で相互に関連づけると共に
鍵ki0〜ki03 を排他的論理和をとり、その各出力をそ
れぞれ非線形変換し(348〜351)、その変換出力
をビット結合し、更にk2iで鍵依存線形変換して出力と
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データの通信ま
たは蓄積において、データを秘匿するための暗号化装
置、特に、秘密鍵の制御のもとでデータをブロック単位
で暗号化または復号を行う共通鍵暗号方式による暗号化
装置に関するものである。
【0002】
【従来の技術】データを秘匿するための暗号化装置に含
まれる代表的な共通鍵暗号方式には、米国連邦標準暗号
であるDES(Data Encryption Standard)暗号があ
る。図8は、DES暗号の機能構成を示す。DES暗号
では、56ビットの秘密鍵を用い、64ビットのデータ
ブロック単位に暗号化または復号を行う。図8におい
て、暗号化処理は、平文Pの64ビットを初期変転部1
1において初期転値で変換した後、32ビットごとのブ
ロックデータL0 ,R0 に分割される。次に、R0 は図
9に示す関数演算部12への入力として用いられ、関数
演算部12において48ビットの拡大鍵k0 の制御のも
とにf(R0 ,k0 )に変換される。この変換データf
(R0 ,k0 )とL0 との排他的論理和を回路13でと
り、さらにその値とR0 とを入れ替えて、次のブロック
データL1 ,R1 を生成する。すなわち、R1 =L
0 (+)f(R0 ,k0 ),L1 =R0 である。このよ
うに二つのブロックデータL0 ,R0 を入力として演算
部12と排他的論理和回路13とデータの入れ替えとに
よりL1 ,R1 を出力する処理段140 が構成され、同
じような処理段141 〜1415が縦続的に設けられる。
つまり各処理段14i (0i<16)では、Ri+1
i (+)f(Ri ,ki ),Li+1 =Ri の処理が行
われ、最後にR16,L16を統合して64ビットにした
後、最終転値部15において最終転値で変換して暗号文
64ビットを出力する。復号処理においては、関数fに
入力する拡大鍵k0 ,k1 ,…,k14,k15の順序だけ
を逆転させて、k15,k14,…,k1 ,k0 の順に入力
するようにする点を除けば、暗号化処理と同じ手順で実
行できる。なお、拡大鍵k0 ,k1 ,…,k14,k
15は、暗号化処理とは別の拡大鍵生成ルーチン16で5
6ビットの秘密鍵が48ビットの拡大鍵16個の計76
8ビットに拡大されることによって生成される。
【0003】さて、関数演算内部12の処理は、図9に
示すように行われる。まず、32ビットのブロックデー
タRi は拡大転値部17で48ビットデータE(Ri
に変換される。これに拡大鍵ki とで排他的論理和を回
路18で取り、48ビットデータE(Ri )(+)ki
に変換した後、8個の6ビットごとのサブブロックデー
タに分割する。この8個のサブブロックデータはそれぞ
れ異なるS−boxS 0 〜S7 に入力され、各々が4ビ
ットの出力を得る。なお、このS−boxSj(j=
0,1,…,7)は6ビットの入力データから4ビット
の出力データに変換する非線形変換テーブルであり、D
ES暗号の本質的な安全性を担っている部分である。S
−boxS0 〜S7 の8つの出力データは、再び連結さ
れて32ビットデータになった後、転置変換部19を経
て、図8に示されるように、Li と排他的論理和される
関数fの出力f(Ri ,ki )となる。
【0004】次に、暗号解読法について述べる。DES
暗号を始めとする従来の共通鍵暗号方式についてはさま
ざまな方面から暗号解読が試みられており、そのなかで
も、極めて効果的な解読法であるのがE.Biham および
A.Shamirによって提案された差分解読法(“Differen
tial Cryptanalysis of DES-like Cryptosystems. ”Pr
oceedings of CRYPTO'90)と松井によって提案された線
形解読法(“DES暗号の線形解読法(I),”199
3年暗号と情報セキュリティシンポジウムSCIS93
−3C)である。
【0005】差分解読法は、2つのデータX,X* の差
分をΔX=X(+)X* としたとき、解読者が入手して
いる平文・暗号文の2組を以下の式に適用して、最終ラ
ウンドにおける拡大鍵k15を求めることを目的としてい
る。 f(L16,k15)(+)f((L16(+) ΔL16),k15)=ΔR
16(+) ΔR14 このとき、L16,ΔL16,ΔR16は暗号文から得られる
データであるので既知の情報である。このため、解読者
がΔR14を正しく求めることができるならば、上式はk
15のみが未知定数となり、既知の平文・暗号文の組を用
いてk15に関する全数探索を行うことで、解読者は必ず
正しいk15を見つけだすことができる。一方、ΔR14
ついてみてみると、この値は中間差分値であるため、一
般には求めることが困難である。そこで、1ラウンド目
から最終ラウンドの一つ前までのラウンド目までにおい
て、各ラウンドが確率pi でΔRi+1 =ΔLi (+)Δ
{f(ΔRi )},ΔLi+1 =ΔRi+1 のように近似さ
れるとおく。ここでのポイントは、あるΔRi が入力さ
れたとき、拡大鍵ki の値に関わらず、確率pi でΔ
{f(ΔRi )}を予測できるということにある。この
ように近似できるのは、Δ{f(ΔRi )}に影響を与
えるのが非線形な変換であるS−boxの部分だけであ
り、しかもS−boxにおいて、入力差分によっては差
分出力の分布に極めて大きな偏りが生じるためである。
例えば、S1−boxでは、入力差分「110100」
のとき、1/4の確率で出力差分「0010」に変換さ
れるためである。そこで、各々のS−boxが確率psi
で入力差分と出力差分との関係が予測できるとおき、こ
れらを組み合わせることで各ラウンドの近似を求める。
さらに、各ラウンドでの近似を連結していくことで、Δ
14は確率P=Πpi でΔL 0 ,ΔR0 (ΔL0 ,ΔR
0 は平文から得られるデータであるので既知の情報であ
る)から求められることになる。なお、この確率Pが大
きいほど、暗号解読が容易である。このようにして、拡
大鍵k15が求められると、今度は1段少ない15段DE
S暗号とみなして、同様の手法で、拡大鍵k14を求めて
いくということを繰り返して、最終的に拡大鍵k0 まで
求めていく。
【0006】Biham らによると、この解読法では、247
組の選択された既知平文・暗号文の組があればDES暗
号を解読できるとしている。また、線形解読法は、以下
の線形近似式を構成し、解読者が入手している平文・暗
号文の組による最尤法を用いて拡大鍵を求めることを目
的としている。 (L0 ,R0)・Γ(L0 ,R0)(+)(L16, R16)・Γ(
16, R16)=(k0,k1 ,…,k15)・Γ(k0
1 ,…,k15) ただし、Γ(X)はXの特定のビット位置を選択するベ
クトルを表し、マスク値という 線形近似式の役割は、暗号アルゴリズム内部を線形表現
で近似的に置き換え、平文・暗号文の組に関する部分と
拡大鍵に関する部分とに分離することにある。つまり、
平文・暗号文の組に関して、平文の特定のビット位置の
値と暗号文の特定のビット位置の値との全ての排他的論
理和が一定値となり、その値は拡大鍵の特定のビット位
置の値の排他的論理和に等しくなることを表している。
したがって、解読者は(L0 ,R0)・Γ(L0 ,R0)
(+)(L16, R16)・Γ( L16, R16)の情報から
(k0 ,k1 ,…,k15)・Γ(k0 ,k1 ,…,
15)(1ビット)の情報が得られるということにな
る。このとき、(L0 ,R0),(L16,R 16)はそれぞ
れ平文・暗号文のデータであるので既知の情報である。
このため、解読者がΓ(L0 ,R0),Γ(L16
16),Γ(k0 ,k1 ,…,k15)を正しく求めるこ
とができるならば、(k0 ,k1 ,…,k15)・Γ(k
0 ,k1 ,…,k15) (1ビット)を求めることがで
きる。
【0007】DES暗号では、非線形な変換が起きる部
分はS−boxしかないため、S−boxについてのみ
線形表現ができれば、容易に線形近似式が構成できる。
そこで、各々のS−boxが確率psiで線形表現できる
とおく。ここでのポイントは、S−boxに対する入力
マスク値が与えられたとき、確率psiでその出力マスク
値を予測できるということにある。これは、非線形変換
テーブルであるS−boxにおいて、入力マスク値によ
っては差分マスク値の分布に極めて大きな偏りが生じる
ためにおこる。例えば、S5−boxでは、入力マスク
値「010000」のとき、3/16の確率で出力マス
ク値「1111」が予測されるためである。これらS−
boxにおけるマスク値を組み合わせることによって、
各ラウンドが確率pi で入力マスク値と出力マスク値の
あいだに線形近似することができ、各ラウンドでの線形
近似を連結していくことで、Γ(L0 ,R0),Γ
(L16,R16),Γ(k0 ,k1 ,…,k15)は確率P
=2n-1 ・Π|pi −1/2 |で求められることになる。
なお、この確率Pが大きいほど、暗号解読が容易であ
る。
【0008】松井によると、この解読法で、243組の既
知平文・暗号文の組を用いて、DES暗号の解読に成功
している。さて、上記の解読法に対抗するためには、確
率Pが十分に小さくなればよい。このため、確率Pを小
さくするための提案がさまざま行われており、なかでも
従来の暗号方式において、もっとも簡単に安全性を高め
るための方法がラウンド数を増やすことであった。例え
ば、DES暗号を3つつなげたTriple-DES暗号は、実質
的にDESのラウンド数を16段から48段に増やした
暗号方式であり、確率Pは、DES暗号よりもはるかに
小さい。
【0009】
【発明が解決しようとする課題】しかし、上記の解読法
に対抗するための対策として、ラウンド数を増加させる
ことは、暗号化速度を犠牲にすることになる。例えば、
ラウンド数を3倍に増やせば、暗号化速度は1/3にな
る。つまり、現在のDES暗号の暗号化速度はPentium
PCクラスで約10Mbpsであるため、Triple−DE
S暗号ともなると約3.5Mbpsまで暗号化速度が低
下する。一方で、ネットワークやコンピュータなどは年
々高速化しており、暗号化装置もそれらの高速化に対応
したものが望まれている。
【0010】このため、従来の暗号装置では、それらの
高速化の要求に対して、安全性と高速性を同時に満たす
ことはきわめて困難な状況になっている。この発明の目
的は、上記の点を鑑みなされたもので、関数fを安全性
と高速性を同時に満たすような構造にすることによっ
て、ラウンド数を増加させることなく安全性を確保し、
かつ高速な暗号化処理が可能となるような暗号装置を提
供することにある。
【0011】
【課題を解決するための手段】この発明では、特に非線
形関数手段において、非線形関数手段の入力データに鍵
記憶手段に蓄積された鍵データに基づいて線形変換を行
う鍵依存線形変換手段と、この鍵依存線形変換手段の出
力データを複数個のビット列に分割する分割手段と、こ
れら分割された各ビット列に非線形変換をそれぞれ行う
第一の非線形変換手段と、その第一の非線形変換手段の
各々の出力ビット列間で線形変換を行う第一の線形変換
手段と、その第一の線形変換手段の出力ビット列の一部
またはすべてに非線形変換を行う第二の非線形変換手段
と、その第二の非線形変換手段の出力ビット列をその非
線形関数手段の出力データに結合する結合手段とを備え
ることを特徴とする。
【0012】さらに安全性を向上させるには、前記結合
手段の出力データを前記非線形関数手段の出力データに
線形変換を行う第二の線形変換手段を備えることを特徴
とする。また、前記第一の線形変換手段または前記第二
の線形変換手段、もしくはその両方の手段が、データの
線形変換を行うときに、前記鍵記憶手段に蓄積された鍵
データに基づいて線形変換を行う鍵依存線形変換手段で
あることを特徴とする。作用 この発明によれば、S−boxにおける確率がp si
b <1であるとき(p b はS−boxの最大確率)、各
ラウンドを近似するときの確率はp i b 2(ただ
し、差分解読法の場合は関数fへの入力差分が0でない
とき、線形解読法の場合は関数fでの出力マスク値が0
でないとき)となることが保証される。また、関数fが
全単射(入力が異なれば出力が必ず異なる)であると
き、暗号方式のラウンド数を3mとすると、暗号方式と
しての確率はPi 2mb 4mとなる。一般に、暗号
方式ではP<2-64 であれば差分解読法や線形解読法に
対して安全とされるため、m>−16/(log
2(pb ))を満たせばよく、p b -4であればDE
S暗号の16ラウンドよりも少ないラウンド数で安全性
を確保できる。なお安全性の確率はmラウンドの倍数ご
とに変化する。
【0013】また、少なくとも2つのS−boxが並列
に処理できるような配置となっているため、並列処理が
できないものと比較して2倍以上の処理速度を出すこと
が可能である。ゆえに、差分解読法や線形解読法に対す
る安全性を、高速な関数で、かつ比較的少ないラウンド
数で確保できるため、安全性と高速性を両立させた暗号
装置を提供することが可能になる。
【0014】
【発明の実施の形態】実施例1 以下、この発明の一実施例を図面を用いて説明する。図
1は、この発明の一実施例を示す暗号装置における、暗
号化処理手順の機能構成を示したものである。
【0015】平文に相当する入力データPを入力手段3
01から暗号装置内に入力する。入力データPは鍵記憶
手段322に蓄積されている鍵データfkによる鍵依存
初期線形変換手段302で変換された後、初期分割手段
303で二つのデータL0 ,R0 に分割される。例えば
64ビットのデータが32ビットづつのデータL0 ,R
0 にビット分割される。データR0 は、鍵記憶手段32
2に蓄積されている鍵データk00,k10,k20とともに
非線形関数手段304に入力され、非線形関数手段30
4で変換処理を行われてデータY0 に変換される。デー
タY0 とデータL0 は線形演算手段305で演算されて
データL0 * に変換される。データL0 * とデータR0
は交換手段306でデータ位置の交換が行われ、L1
0 ,R 1 =L0 * のように交換される。以下、二つの
データL1 ,R1 について上記と同様の処理を繰り返し
行う。すなわち、二つのデータLi ,Ri について、デ
ータRi は、鍵記憶手段322に蓄積されている鍵デー
タk0i,k1i,k2iとともに非線形関数手段304に入
力され、非線形関数手段304で変換処理を行われて、
データYi に変換される。データYi とデータLi は線
形演算手段305で演算されてデータLi * に変換され
る。データLi * とデータRi は交換手段306でデー
タ位置の交換が行われ、Li+1 =Ri ,Ri+1 =Li *
のように交換される。線形演算手段305は例えば排他
的論理和演算を行うものである。
【0016】暗号方式としての安全性を確保するための
適切な繰り返し回数をnとすると、繰り返し処理の結
果、データLn ,Rn が得られる。このデータLn ,R
n を最終結合手段307で結合しつまり例えば32ビッ
トの各Ln ,Rn をビット結合して64ビットのデータ
とし、その後鍵記憶手段322に蓄積されている鍵デー
タekによる鍵依存最終線形変換手段308で変換し、
出力手段309から暗号文として出力データCを出力す
る。
【0017】復号については、暗号化処理手順と逆の手
順をたどることによって、暗号文Cから平文Pが得られ
る。例えば図1において入力データの代りに暗号文デー
タを入力し、鍵データを図1とは逆に、ek,
0(n-1),k1(n-1),k2(n-1),…,k01,k11
21,k00,k10,k20,fkを順次与えればよい。次
に、非線形関数手段304の内部を詳細に説明する。図
2は、非線形関数手段304の内部の機能構成を抜き出
して示したものである。
【0018】データRi は、鍵記憶手段322に蓄積さ
れている鍵データk0i,k1i,k2iとともに非線形関数
手段304への入力データとなる。データRi は、鍵デ
ータk0iによる鍵依存線形変換手段341によりデータ
i * に線形変換される。次に、データRi * は分割手
段342において例えば8ビットづつの4つのデータi
0 ,in1 ,in2 ,in3 にビット分割される。4
つのデータin0 ,in1 ,in2 ,in3 は、それぞ
れ非線形変換手段343,344,345,346にお
いて、データmid00,mid01,mid02mid03
非線形変換された後、鍵依存線形変換手段347に入力
される。鍵依存線形変換手段347では、鍵データk1i
により例えば図3に示すように、線形処理される。即ち
データmid00,mid01,mid02,mid03はそれ
ぞれ処理系300 〜303 に入力され、処理系301
mid00とmid01との排他的論理和が回路311 でと
られ、また処理系302 でmid02とmid03の排他的
論理和が回路312 でとられ、更に回路311 の出力と
回路312 の出力の排他的論理和が回路322 でとられ
る。回路311 の出力と回路322 の出力との排他的論
理和が回路311 でとられ、回路331 の出力とmid
00の排他的論理和が回路340 でとられ、回路322
出力とmid03との排他的論理和が回路343 でとら
れ、回路340,331 ,322 ,343 の各出力と鍵
データk1i0,k1i1,k1i2,k1i3 との各排他的論理和が
回路350 〜353 でそれぞれとられて、それぞれmi
10,mid11,mid12,mid13を出力する。つま
りデータmid00,mid01,mid02,mid03は相
互に関連づけられた後、それぞれ鍵データk1i0,k1i1,
1i2,k1i3 に依存した線形変換が行われる。論理式で
示すと下記の論理演算がなされる。
【0019】mid10= mid00(+)mid02(+)mid03(+)k1i0,m
id11 =mid02(+)mid03(+)k1i1,mid12= mid00(+)mid01
(+)mid02(+)mid03(+)k1i2,mid13 =mid00(+)mid01(+)mi
d02(+)k1i3 次にこれらデータmid10,mid11,mid12,mi
13は、それぞれ非線形変換手段348,349,35
0,351において、データout0 ,out 1 ,ou
2 ,out3 に非線形変換された後、結合手段352
において、一つのデータYi * に結合される。つまり例
えば4つの8ビットのデータが1つの32ビットデータ
にビット結合される。最後に、データYi * は、鍵デー
タk2iによる鍵依存線形変換手段353において、デー
タYi に線形変換され、非線形関数手段304からの出
力データYi が生成される。非線形変換手段343〜3
46,348〜351の各1つの手段それぞれ、例えば
DES暗号のS−boxの1つの要素のようなもので、
それぞれ入力データに応じた異った出力データを出力す
るものである。
【0020】ここで、非線形変換手段343〜346は
4つ並列に配置されており、その変換処理は相互に関連
していないため、これらは並列実行が可能である。ま
た、非線形変換手段348〜351についても同様のこ
とがいえる。さらに、非線形変換手段348〜351に
ついては、鍵依存線形変換手段347が任意の鍵依存線
形変換方法をとることを可能にするために配置されてい
る。このため、鍵依存線形変換手段347が、例えば図
3のように特定の線形変換であることがあらかじめわか
っている場合には、非線形変換手段348〜351の一
部を削除しても、差分解読法および線形解読法に対する
安全性が低下しないようにすることができ、削除した分
だけ暗号化処理速度の向上が望める。例えば、鍵依存線
形変換手段347が図3で表されているとき、非線形変
換手段349,350を削除しても差分解読法および線
形解読法に対する安全性は低下しない一方で、暗号化速
度が約33%向上する。つまり鍵依存線形変換手段34
7が予め決っている場合は差分解読法、線形解読法に対
しては非線形変換手段348〜351の一部はその存在
が安全性に関係ない場合があり、その部分は省略でき
る。なお、鍵データfk,k00,k10,k20,k01,k
11,k21,…,k0(n-1),k1(n-1),k2(n-1),ekは
図1において鍵入力手段320から暗号装置内に入力さ
れた鍵情報Keyから鍵データ生成手段321によって
変換され、鍵記憶手段322に蓄積されたデータであ
る。鍵データ生成手段321による鍵データの生成はD
ES暗号の拡大鍵生成アルゴリズム16と同様に行うこ
とができる。
【0021】上記のように構成された暗号装置の場合、
例えば、非線形変換手段343〜346,348〜35
1の各1つづつが差分解読法および線形解読法に対して
確率pb =2-6で近似表現できるように設計されている
ならば、各ラウンドは非線形変換を必ず2回行うため、
確率p i -12 で近似表現することができ、暗号装置
全体としてはラウンド数を3mとして、確率P-24m
で近似表現できることになる。ここで、例えばm=4
(ラウンド数12段)とすると、P-96 となり、差
分解読法および線形解読法に対して十分安全な暗号装置
となる。
【0022】また、鍵依存初期線形変換手段302、鍵
依存最終線形変換手段308、鍵依存線形変換手段34
7,353は鍵に依存する線形変換手段であるため、差
分解読法および線形解読法以外の解読法に対しても十分
な安全性を兼ね備え、もっとも安全性を重視した暗号装
置である。なお、この発明はこの例に特定されるだけで
なく、例えば高速性を望むのであれば、これら鍵依存初
期線形変換手段302、鍵依存最終線形変換手段30
8、鍵依存線形変換手段353については、そのいずれ
か、もしくはすべてを削除することが可能である。この
場合、差分解読法および線形解読法に対する安全性は低
下しない一方で、削除した分だけ暗号化処理速度の向上
が望める。ただし他の解読法に対しては弱くなるおそれ
はある。また、鍵依存初期線形変換手段302、鍵依存
最終線形変換手段308、鍵依存線形変換手段347,
353のいずれか、もしくはすべてを鍵に依存しない線
形変換手段に変更することも可能である。この場合、差
分解読法および線形解読法以外の解読法に対しても安全
性が低下しない一方で、インプリメントを最適化するこ
とにより、暗号化処理速度の向上が望める。なお、線形
変換手段としては、ビット位置を予め決めた関係で入れ
かえる転置、予め決めたビット数だけ回転シフトするな
どを行う。鍵依存線形変換手段は、鍵データに応じたビ
ット数だけ回転シフトする、あるいは、鍵データとの排
他的論理和演算を行うものなどである。実施例2 図4は、この発明の他の実施例を示す。
【0023】平文に相当する入力データPを入力手段3
01から暗号装置内に入力する。入力データPは初期分
割手段303で二つのデータL0 ,R0 に分割される。
データR0 は、鍵記憶手段322に蓄積されている鍵デ
ータk00,k20とともに非線形関数手段304に入力さ
れ、非線形関数手段304で変換処理を行われて、デー
タY0 に変換される。データY0 とデータL0 は線形演
算手段305で演算され、データL0 * に変換される。
データL0 * とデータR0 は交換手段306でデータ位
置の交換が行われ、L1 =R0 ,R1 =L0 * のように
交換される。以下、二つのデータL1 ,R1 について上
記と同様の処理を繰り返し行う。すなわち、二つのデー
タLi ,Ri について、データRi は、鍵記憶手段32
2に蓄積されている鍵データk0i,k2iとともに非線形
関数手段304に入力され、非線形関数手段304で変
換処理を行われて、データYi に変換される。データY
iとデータLi は線形演算手段305で演算され、デー
タLi * に変換される。データLi * とデータRi は交
換手段306でデータ位置の交換が行われ、Li+1=R
i ,Ri+1 =Li * のように変換される。
【0024】暗号方式としての安全性を確保するための
適切な繰り返し回数をnとすると、繰り返し処理の結
果、データLn ,Rn が得られる。このデータLn ,R
n を最終結合手段307で結合した後、出力手段309
から暗号文として出力データCを出力する。復号につい
ては、暗号化処理手順と逆の手順をたどることによっ
て、暗号文Cから平文Pが得られる。
【0025】次に、非線形関数手段304の内部を詳細
に説明する。図5Aは、非線形関数手段304の内部の
機能構成を抜き出して示したものである。データR
i は、鍵記憶手段322に蓄積されている鍵データ
0i,k2iとともに非線形関数手段304への入力デー
タとなる。データRi は、データk0iによる鍵依存線形
変換341において、データRi * に線形変換される。
次に、データRi * は分割手段342において4つのデ
ータin0 ,in1 ,in2 ,in 3 に分割される。4
つのデータin0 ,in1 ,in2 ,in3 は、それぞ
れ非線形変換手段343,344,345,346にお
いて、データmid00,mid01,mid02,mid03
に非線形変換された後、線形変換手段354に入力され
る。線形変換手段354では、例えば図5Bに示すよう
に相互に関連づけるように変換される。これは図3中の
鍵データとの論理演算を省略した場合と同一の例であ
り、下記の式で表わせる。
【0026】mid10= mid00(+)mid02(+)mid03,mid11=m
id02(+)mid03,mid12= mid00(+)mid01(+)mid02(+)mi
d03,mid13=mid00(+)mid01(+)mid02 この線形変換で、データmid10,mid11,mi
12,mid13が生成され、そのうちのデータmi
10,mid13は、それぞれ非線形変換手段348,3
51において、データout0 ,out3 に非線形変換
された後、結合手段352において、4つのデータou
0 ,mid11,mid12,out3 を一つのデータY
i * に結合される。最後に、データYi * は、データk
2iによる鍵依存線形変換手段353において、データY
i に線形変換され、非線形関数手段304からの出力デ
ータYi が生成される。
【0027】ここで、非線形変換手段343〜346は
4つ並列に配置されており、その変換処理は相互に関連
していないため、これらは並列実行が可能である。ま
た、非線形変換手段348,351についても同様のこ
とがいえる。なお、鍵データki は、鍵入力手段320
から暗号装置内に入力された鍵情報Keyから鍵データ
生成手段321によって変換され、鍵記憶手段322に
蓄積されたデータである。
【0028】上記のように構成された暗号装置の場合、
例えば、非線形変換手段343〜346,348,35
1が差分解読法および線形解読法に対して確率pb =2
-6で近似表現できるように設計されているならば、実施
例1と同様に各ラウンドは確率p i -12 で近似表現
することができ、暗号装置全体としてはラウンド数を3
mとして、確率p-24mで近似表現できることにな
る。ここで、例えばm=4(ラウンド数12段)とする
と、P-96 となり、差分解読法および線形解読法に
対して十分安全な暗号装置となる。
【0029】また、鍵依存線形変換手段353があるた
め、差分解読法と線形解読法以外の解読法に対しても安
全性にマージンがある構造であり、かつ実施例1よりも
構造が簡素化されているため、高速である。つまり、安
全性と高速性のバランスを重視した暗号装置である。実施例3 図6は、この発明の更に他の実施例を示す。
【0030】平文に相当する入力データPを入力手段3
01から暗号装置内に入力する。入力データPは初期分
割手段303で二つのデータL0 ,R0 に分割される。
データR0 は、鍵記憶手段322に蓄積されている鍵デ
ータk0 とともに非線形関数手段304に入力され、非
線形関数手段304で変換処理を行われて、データY 0
に変換される。データY0 とデータL0 は線形演算手段
305で演算され、データL0 * に変換される。データ
0 * とデータR0 は交換手段306でデータ位置の交
換が行われ、L1 =R0 ,R1 =L0 * のように変換さ
れる。以下、二つのデータL1 ,R1 について上記と同
様の処理を繰り返し行う。すなわち、二つのデータ
i ,Ri について、データRi は、鍵記憶手段322
に蓄積されている鍵データki とともに非線形関数手段
304に入力され、非線形関数手段304で変換処理を
行われて、データYi に変換される。データYi とデー
タLiは線形演算手段305で演算され、データLi *
に変換される。データLi * とデータRi は交換手段3
06でデータ位置の交換が行われ、Li+1 =Ri ,Ri+
1 =Li * のように変換される。
【0031】暗号方式としての安全性を確保するための
適切な繰り返し回数をnとすると、繰り返し処理の結
果、データLn ,Rn が得られる。このデータLn ,R
n を最終結合手段307で結合した後、出力手段309
から暗号文として出力データCを出力する。復号につい
ては、暗号化処理手順と逆の手順をたどることによっ
て、暗号文Cから平文Pが得られる。
【0032】次に、非線形関数手段304の内部を詳細
に説明する。図7は、非線形関数手段304の機能構成
を抜き出して示したものである。非線形関数手段304
への入力データRi は、鍵記憶手段322に蓄積されて
いる鍵データki とともに鍵依存線形変換341への入
力となる。データRi は、データki による鍵依存線形
変換341において、データRi * に線形変換される。
次に、データRi * は分割手段342において4つのデ
ータin0 ,in 1 ,in2 ,in3 に分割される。4
つのデータin0 ,in1 ,in2 ,in 3 は、それぞ
れ非線形変換手段343,344,345,346にお
いて、データmid00,mid01,mid02,mid03
に非線形変換された後、線形変換手段354に入力され
る。線形変換手段354では、例えば実施例2の図5B
と同じように、 mid10= mid00(+)mid02(+)mid03,mid11=mid02(+)mi
d03,mid12= mid00(+)mid01(+)mid02(+)mid03,mid13=m
id00(+)mid01(+)mid02 に線形変換し、データmid10,mid11,mid12
mid13を生成する。ついで、データmid10,mid
13は、それぞれ非線形変換手段348,351におい
て、データout0 ,out3 に非線形変換された後、
結合手段352において、4つのデータout0 ,mi
11,mid12,out3 を一つのデータに結合され、
非線形関数手段304からの出力データYi が生成され
る。
【0033】ここで、非線形変換手段343〜346は
4つ並列に配置されており、その変換処理は相互に関連
していないため、これらは並列実行が可能である。ま
た、非線形変換手段348,351についても同様のこ
とがいえる。なお、鍵データki は、鍵入力手段320
から暗号装置内に入力された鍵情報Keyから鍵データ
生成手段321によって変換され、鍵記憶手段322に
蓄積されたデータである。
【0034】上記のように構成された暗号装置の場合、
例えば、非線形変換手段343〜346,348,35
1が差分解読法および線形解読法に対して確率pb =2
-6で近似表現できるように設計されているならば、各ラ
ウンドは確率p i -12 で近似表現することができ、
暗号装置全体としてはラウンド数を3mとして、確率P
-24mで近似表現できることになる。ここで、例えば
m=4(ラウンド数12段)とすると、P-96 とな
り、差分解読法および線形解読法に対して十分安全な暗
号装置となる。
【0035】また、差分解読法および線形解読法に対し
て十分な安全性を確保するために最低限必要な手段しか
実行しない構造であるため、もっとも高速性を重視した
暗号装置である。上述において、非線形関数手段304
中の各分割手段342は4分割に限らず、複数に分割す
ればよい。なお、4分割の場合においては、第二の非線
形変換手段は図5A、図7に示したように二つのみとす
ることができる。
【0036】
【発明の効果】以上、詳細に説明したように、この発明
によれば、非線形関数手段で入力データを複数に分割
し、かつそれぞれ非線形変換を行い、その後、相互に線
形交換を行い、更に少くとも一部を非線形交換すること
によりデータの通信または蓄積においてデータを秘匿す
るための暗号装置について、安全性が高く、かつ高速性
を兼ね備えた暗号装置を提供することができる。
【図面の簡単な説明】
【図1】この発明の実施例1の機能構成を示す図。
【図2】実施例1における非線形関数手段304の詳細
な機能構成例を示す図。
【図3】図2中の鍵依存線形変換手段347の具体例を
示す図。
【図4】この発明の実施例2の機能構成を示す図。
【図5】Aは実施例2における非線形関数手段304の
詳細な機能構成を示す図、Bはこの手段304中の具体
例を示す図である。
【図6】この発明の実施例3の機能構成を示す図。
【図7】実施例3における非線形関数手段304の詳細
な機能構成を示す図。
【図8】従来のDES暗号装置の機能構成を示す図。
【図9】図8中のf関数演算部12の具体的機能構成を
示す図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 青木 克彦 東京都武蔵野市吉祥寺本町一丁目14番5号 エヌ・ティ・ティ・エレクトロニクステ クノロジー株式会社内 (72)発明者 松本 勉 神奈川県相模原市上鶴間2603−1−210

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 入力データを初期分割手段で二つの部分
    データに分割し、これら部分データの一つに対し、非線
    形関数手段で鍵記憶手段に蓄積された鍵データに依存し
    たデータ変換処理を行い、その非線形関数手段の出力デ
    ータを前記部分データの他方の一つに線形演算手段で作
    用させ、その線形演算手段の出力データと前記非線形関
    数手段の入力部分データとの配列順番を交換手段で交換
    し、前記交換手段よりこの交換されたデータを二つの部
    分データとして前記非線形関数手段と、前記線形演算手
    段と前記交換手段とを繰返し手段で複数回繰返し、前記
    繰返し手段の最終回の繰返しにおける前記交換手段より
    の二つのデータを一つの出力データに最終結合手段で結
    合して、その出力データを出力する暗号装置において、 前記非線形関数手段は、入力されたデータに前記鍵記憶
    手段に蓄積された鍵データに基づいて線形変換を行う鍵
    依存線形変換手段と、 その鍵依存線形手段の出力データを複数個のビット列に
    分割する分割手段と、 これらビット列にそれぞれ非線形変換を行う第一の非線
    形変換手段と、 前記第一の非線形変換手段のそれぞれの出力ビット列間
    で線形変換を行う第一の線形変換手段と、 その第一の線形変換手段の出力ビット列の少くとも一部
    に非線形変換を行う第二の非線形変換手段と、 その第二の非線形変換手段の出力ビット列を結合して前
    記非線形関数手段の出力データとする結合手段とを備え
    ることを特徴とする暗号装置。
  2. 【請求項2】 請求項1に記載の暗号装置において、 前記結合手段の出力データを線形変換して前記非線形関
    数手段の出力データとする第二の線形変換手段を備える
    ことを特徴とする暗号装置。
  3. 【請求項3】 請求項1または請求項2に記載の暗号装
    置において、 前記第一の線形変換手段は、前記鍵記憶手段に蓄積され
    た鍵データに基づいて線形変換を行う手段であることを
    特徴とする暗号装置。
  4. 【請求項4】 請求項2に記載の暗号装置において、 前記第二の線形変換手段は、前記鍵記憶手段に蓄積され
    た鍵データに基づいて線形変換を行う手段であることを
    特徴とする暗号装置。
  5. 【請求項5】 請求項1から請求項4までのいずれかに
    記載の暗号装置において、 前記入力データに線形変換を行って前記初期分割手段へ
    供給する初期線形変換手段を備えることを特徴とする暗
    号装置。
  6. 【請求項6】 請求項1から請求項5までのいずれかに
    記載の暗号装置において、 前記最終結合手段の出力データに線形変換を行って暗号
    装置の出力とする最終線形変換手段を備えることを特徴
    とする暗号装置。
  7. 【請求項7】 請求項5または請求項6に記載の暗号装
    置において、 前記初期線形変換手段は前記鍵記憶手段に蓄積された鍵
    データに基づいて線形変換を行う手段であることを特徴
    とする暗号装置。
  8. 【請求項8】 請求項6に記載の暗号装置において、 前記最終線形変換手段は前記鍵記憶手段に蓄積された鍵
    データに基づいて線形変換を行う手段であることを特徴
    とする暗号装置。
JP17367297A 1997-06-30 1997-06-30 暗号装置 Expired - Lifetime JP3782210B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP17367297A JP3782210B2 (ja) 1997-06-30 1997-06-30 暗号装置
DE69829566T DE69829566T2 (de) 1997-06-30 1998-06-30 Verschlüsselungsgerät
CA002295167A CA2295167C (en) 1997-06-30 1998-06-30 Cryptographic device
PCT/JP1998/002915 WO1999000783A1 (fr) 1997-06-30 1998-06-30 Dispositif de chiffrement
EP98929747A EP1001398B1 (en) 1997-06-30 1998-06-30 Ciphering apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17367297A JP3782210B2 (ja) 1997-06-30 1997-06-30 暗号装置

Publications (2)

Publication Number Publication Date
JPH1124559A true JPH1124559A (ja) 1999-01-29
JP3782210B2 JP3782210B2 (ja) 2006-06-07

Family

ID=15964969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17367297A Expired - Lifetime JP3782210B2 (ja) 1997-06-30 1997-06-30 暗号装置

Country Status (5)

Country Link
EP (1) EP1001398B1 (ja)
JP (1) JP3782210B2 (ja)
CA (1) CA2295167C (ja)
DE (1) DE69829566T2 (ja)
WO (1) WO1999000783A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100365308B1 (ko) * 1999-12-10 2002-12-26 강소대 마그네틱 페이퍼 제작방법
JP2004004603A (ja) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd 拡大鍵生成装置、暗号化装置および暗号化システム
JP2010072664A (ja) * 1999-02-04 2010-04-02 Cp8 Technologies 物理的解析によってコンピュータシステムを攻撃から保護する秘密鍵暗号化方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3505482B2 (ja) * 2000-07-12 2004-03-08 株式会社東芝 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体
US6956951B2 (en) * 2000-07-13 2005-10-18 Fujitsu Limited Extended key preparing apparatus, extended key preparing method, recording medium and computer program
JP2008058830A (ja) * 2006-09-01 2008-03-13 Sony Corp データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3039334B2 (ja) * 1995-08-14 2000-05-08 日本電気株式会社 暗号装置
CA2203380C (en) * 1995-09-05 2000-05-30 Mitsuru Matsui Data transformation apparatus and data transformation method
IL119182A (en) * 1996-09-02 2000-06-29 Goodman Geoffrey Filter

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072664A (ja) * 1999-02-04 2010-04-02 Cp8 Technologies 物理的解析によってコンピュータシステムを攻撃から保護する秘密鍵暗号化方法
KR100365308B1 (ko) * 1999-12-10 2002-12-26 강소대 마그네틱 페이퍼 제작방법
JP2004004603A (ja) * 2002-04-03 2004-01-08 Matsushita Electric Ind Co Ltd 拡大鍵生成装置、暗号化装置および暗号化システム

Also Published As

Publication number Publication date
JP3782210B2 (ja) 2006-06-07
DE69829566T2 (de) 2006-02-16
EP1001398A1 (en) 2000-05-17
CA2295167C (en) 2003-02-04
DE69829566D1 (de) 2005-05-04
EP1001398B1 (en) 2005-03-30
CA2295167A1 (en) 1999-01-07
EP1001398A4 (en) 2002-01-30
WO1999000783A1 (fr) 1999-01-07

Similar Documents

Publication Publication Date Title
EP1052611B9 (en) Data converter and recording medium on which program for executing data conversion is recorded
Rijmen et al. The cipher SHARK
JP4828082B2 (ja) 対称キー暗号用の置換ボックス
Isobe A single-key attack on the full GOST block cipher
US5745577A (en) Symmetric cryptographic system for data encryption
Özen et al. Lightweight block ciphers revisited: Cryptanalysis of reduced round PRESENT and HIGHT
JP3679936B2 (ja) 暗復号装置及び記憶媒体
US5442705A (en) Hardware arrangement for enciphering bit blocks while renewing a key at each iteration
Bouillaguet et al. Low-data complexity attacks on AES
JP2002366029A (ja) Dpaに対して安全な暗号化
JPH11509940A (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
US20030190041A1 (en) Expansion key generating device, encryption device and encryption system
Shorin et al. Linear and differential cryptanalysis of Russian GOST
Liu et al. Improved results on impossible differential cryptanalysis of reduced-round Camellia-192/256
JP3782210B2 (ja) 暗号装置
EP1087425B1 (en) Method for the cryptographic conversion of binary data blocks
KR100456599B1 (ko) 병렬 디이에스 구조를 갖는 암호 장치
JPH1124558A (ja) 暗号装置
Khurana et al. Variants of Differential and Linear Cryptanalysis
JP4515716B2 (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
CN114826558A (zh) 一种海量数据快速加密方法及系统
Al-Sabaawi Cryptanalysis of Block Cipher: Method Implementation
Kwan et al. A general purpose technique for locating key scheduling weaknesses in DES-like cryptosystems
JP3017726B2 (ja) データ変換装置
JP3017725B2 (ja) データ変換装置

Legal Events

Date Code Title Description
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: 20060221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090317

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120317

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130317

Year of fee payment: 7

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

EXPY Cancellation because of completion of term