JPH1173101A - 高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体 - Google Patents

高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体

Info

Publication number
JPH1173101A
JPH1173101A JP10175844A JP17584498A JPH1173101A JP H1173101 A JPH1173101 A JP H1173101A JP 10175844 A JP10175844 A JP 10175844A JP 17584498 A JP17584498 A JP 17584498A JP H1173101 A JPH1173101 A JP H1173101A
Authority
JP
Japan
Prior art keywords
block
key
data
bits
blocks
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
JP10175844A
Other languages
English (en)
Other versions
JP3148181B2 (ja
Inventor
Chang Hyi Lee
チャンヒ イ
Young-Tae Cha
ヨンテ チャ
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH1173101A publication Critical patent/JPH1173101A/ja
Application granted granted Critical
Publication of JP3148181B2 publication Critical patent/JP3148181B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

(57)【要約】 【課題】 高差分解読法,差分解読法,線形解読法に対
して安全性を保障することが可能な高速暗号化アルゴリ
ズムを提供する。 【解決手段】 8ビット単位で分割されたサブブロック
が256*8のS−ボックスを介しながらその線形性と
差分均一性が下がって出力されるようにしている。同時
に,隣り合うS−ボックスの入力データブロックにも影
響を与えるようにし,ブロックは一個ずつ右側に移動し
ながら次のラウンドで影響を与え全体的に16ラウンド
を通る全体データブロックに対して影響を及ぼす。S−
ボックスを通過したデータが低い線形性と低い差分均一
性を持つため,差分解読法,線型解読法に対する安定性
を保障する事ができ,暗号化網の安定性を基にしてS−
ボックスの函数を限定しないで,可能な限り良いS−ボ
ックスを選択的に使用する事ができ,暗号化速度を上げ
ることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,データ暗号化方法
(data encryption method)
と,差分解読法(differental crypt
analysis),線形解読法(linear cr
yptanalysis),高階差分解読法(high
er−order differential cry
ptanalysis)等に対して安全性を保障する高
速ブロック暗号化アルゴリズム(fast block
cipher algorithm),及び,コンピ
ュータで使用可能な媒体にかかり,特に,従来のブロッ
ク暗号化アルゴリズムと比較して,速く遂行でき,かつ
簡単に実現できるブロック暗号化アルゴリズムに関す
る。
【0002】
【従来の技術】従来のブロック暗号化アルゴリズムは,
直観的なあるいは実質的な暗号化設計者の実務的な経験
を通してできあがる。こうした理由から安全性に対する
多くの実験が必要とされる。
【0003】最も広く知られているブロック暗号化アル
ゴリズムは,1977年現在アメリカ標準技術研究所
(United States Standard T
echnology Office:USST)の前身
であるアメリカ標準局(United States
Data Processing Standard:
USDPS)によってアメリカ連邦情報処理標準46
(FIPS PUB46)に採択されたDES(Dat
a Encryption Standard)に基づ
いている。DESはブロック暗号である。これは64ビ
ットブロックの集合にデータを暗号化する。
【0004】平文(plain text),すなわち
暗号化されていない文の64ビットブロックはアルゴリ
ズムのある部分では入力として使われ,暗号化文(ci
pher text)の64ビットブロックは別の部分
では出力になる。従って,DESは対称的なアルゴリズ
ムである。
【0005】同じアルゴリズムとキー(key)は,キ
ースケジューリング(key scheduling)
におけるわずかな差を除けば,暗号化と解読化に同じく
使用される。キーの大きさは56ビットである。キーは
一般的に64ビットの数字で表現され,そのうち8ビッ
トは,パリティ検査(parity checkin
g)に使われるためである。パリティ検査に使われる8
ビットは暗号化/解読化が行われる間は無視される。パ
リティビットの8ビットは,キーバイトのうち最も価値
のないビットである。キーは任意の56ビット数字にで
き,いつでも変える事ができる。いくつかの数字は弱い
キー(weak key)であると思われるが,これら
の弱いキーは簡単に避ける事ができる。それはあらゆる
安全性はそのキーの内にあるためである。
【0006】端的に言えば,アルゴリズムは,暗号化の
2つの基本的な技術,すなわち,混沌(confusi
on)と拡散(diffusion)の結合にすぎな
い。DESの基本的な構成ブロックは,混沌と拡散の結
合の1つである。すなわち,キーに基づく並び替えとそ
れに続く置換である。これは通常ラウンド(roun
d)と称される。
【0007】DESは16のラウンドを持つ。ここでラ
ウンドとは,上記暗号化の2つの基本的な技術である混
沌と拡散の技術を適用する一単位である。すなわち,1
6のラウンドを持つとは,平文に対して同じ技術等の結
合を16回適用するということである。DESアルゴリ
ズムは最大64ビットに対して標準的な数学的及び論理
的演算だけ使う。かかる演算は,1970年後半期のハ
ードウェア技術で簡単に実現する事ができた。アルゴリ
ズムは反復的な特性を有するので,特殊な用途のチップ
に理想的に使用できるようになった。初期のソフトウェ
アの実現は粗末なものであったが,現在ではかなり改善
されている。
【0008】DESは,平文の64ビットに作用する。
初期順列(initial permutation)
の後に,上記のブロックは各32ビットの長さで左右半
分ずつ分けられる。そして,16ラウンドの函数fによ
る同一の演算が行われる。函数fではデータがキーに結
合される。上記16番目のラウンドの後に右側のブロッ
クと左側のブロックは1つに結合される。そして最後の
置換として,最初の置換の逆置換を行うことによりアル
ゴリズムを終える。
【0009】各ラウンドでキービットはシフトされ,4
8ビットはキーの56ビットから選択される。データの
右側の半分は,拡張順列(expansion per
mutation)を経由して48ビットに拡張され,
排他的論理和演算を経由して遷移され順列キーの48ビ
ットと結合された次の8つのS−boxを通して新しい
32ビットを作り再び順列処理をするように送られる。
上記の4つの段階はラウンド函数fを構成する。函数f
の出力は,他の排他的論理和演算を経由して左側の半分
と結合する。上記の演算の結果は新しい右側の半分にな
り以前の右側の半分は新しい左側の半分になる。上記の
演算は16回反復され,DESの16ラウンドを作る。
【0010】差分暗号解読,線形暗号解読そして高差分
暗号解読に基づいてDESは攻撃を受けることがある。
すなわち,差分暗号解読を経由して選択された247
暗号文や,線形暗号解読を経由することで知られている
43の暗号文の使用によって,DESは攻撃を受ける
ことがある。
【0011】当然に上記暗号解読法に対しては多くの暗
号化アルゴリズムが適用されている。そして上述した差
分暗号解読と線形暗号解読の攻撃に抵抗する暗号化アル
ゴリズムは安定性を保障するだろうと思いついたのであ
る。この安定性において,差分暗号解読と線形暗号解読
に対する防御の理論的・論理的な証明方法による暗号化
アルゴリズムを構成することにより開発されている付加
的な安定性があるのだが,この暗号化アルゴリズムは非
常に難しい。
【0012】上記課題を解決するための最初の試みは日
本のMISTYアルゴリズムである。MISTYアルゴ
リズムでは,7ビットと9ビットで構成されたS−ボッ
クスは簡単な代数の形式を持つ。しかし,MISTYア
ルゴリズムは,その遂行に複雑な回帰構造(recur
sive structure)が必要であるという問
題があった。
【0013】
【発明が解決しようとする課題】本発明は,従来の高速
ブロック暗号化アルゴリズムが有する上記問題点に鑑み
てなされたものであり,本発明の目的は,高差分解読法
と差分解読法そして線形解読法に対して安全性を保障す
ることの可能な新規かつ改良された高速ブロック暗号化
アルゴリズムを提供することである。
【0014】
【課題を解決するための手段】上記課題を解決するた
め,請求項1の記載によれば,フレキシブル暗号化ブロ
ック(flexible encryption bl
ock)がデータストリーム(data strea
m)を2Nバイトのデータブロックに分け,前記ブロッ
クを2つの部分に半分ずつ分ける工程と;前記ブロック
の2番目の部分とMバイトラウンドキー(round
key)に対して排他的論理和演算を実行する工程と;
前記排他的論理和演算の実行結果をL個の8ビットブロ
ックに分けて,最初のブロックを最初のS−boxに送
り,その他のブロックを対応するS−boxに送った後
に,L−1個のS−boxの出力データと最初のS−b
oxの出力データを結合する工程と;前記S−boxの
各出力を左側に8ビット回転させる工程と;前記回転さ
れた結果を新しい2番目の部分に送り以前の2番目の部
分を新しい1番目の部分に送る工程と;を含むキースケ
ジューリングアルゴリズム(key scheduli
ng algorithm)を含むことを特徴とする,
高速ブロック暗号化方法が提供される。
【0015】また,請求項2の記載によれば,Nバイト
データをM個の8ビットブロックに分ける工程と;任意
の隣接した2つのブロックを排他的論理和演算と256
モジュラ和(modular−addition)のう
ち1つを通して結合する工程と;前記工程で結合された
結果と無理数とを排他的論理和演算で結合する工程と;
前記排他的論理和演算で結合された結果を左側に5ビッ
ト回転演算させる工程と;128シードキー(seed
key)からラウンドキーを生成する工程と;を含む
キースケジューリングアルゴリズム(key sche
dulingalgorithm)を含むことを特徴と
する,高速ブロック暗号化方法が提供される。
【0016】また,請求項3の記載によれば,コンピュ
ータで使用可能な媒体において:フレキシブル暗号化ブ
ロックがデータストリームを2Nバイトのデータブロッ
クに分け,前記ブロックを2つの部分に半分ずつ分ける
工程と;前記工程で分けられたブロックの2番目の部分
とMバイトラウンドキー(round key)に対し
て排他的論理和演算を実行する工程と;前記排他的論理
和の実行結果をL個の8ビットブロックに分けて,最初
のブロックを最初のS−boxに送り,その他のブロッ
クを対応するS−boxに送った後に,L−1個のS−
boxの出力データと最初のS−boxの出力データを
結合する工程と;前記S−boxの各出力を左側に8ビ
ット回転させる工程と;前記回転された結果を新しい2
番目の部分に送り以前の2番目の部分を新しい1番目の
部分に送る工程と;を遂行する機械によって実行できる
コンピュータプログラムが,所定数の増大階層(enh
ancement layer)と1つのベースの階層
を持つ階層化されたデータストリームにオーディオ信号
を暗号化するため前記媒体の上に実現されたことを特徴
とする,コンピュータで使用可能な媒体が提供される。
【0017】また,請求項4の記載によれば,コンピュ
ータで使用可能な媒体において:NバイトデータをM個
の8ビットブロックに分ける工程と;任意の隣接した2
つのブロックを排他的論理和演算と256モジュラ和
(modular−addition)のうち1つを通
して結合する工程と;前記工程で結合された結果と無理
数とを排他的論理和演算で結合する工程と;前記排他的
論理和演算で結合された結果を左側に5ビット回転演算
させる工程と;128シードキー(seed key)
からラウンドキーを生成する工程と;を遂行する機械に
よって実行できるコンピュータプログラムが,所定数の
増大階層(enhancement layer)と1
つのベースの階層を持つ階層化されたデータストリーム
にオーディオ信号を暗号化するため前記媒体の上に実現
されたことを特徴とする,コンピュータで使用可能な媒
体が提供される。
【0018】
【発明の実施の形態】以下に添付図面を参照しながら,
本発明にかかる高速ブロック暗号化アルゴリズムの好適
な実施の形態について詳細に説明する。なお,本明細書
及び図面において,実質的に同一の機能構成を有する構
成要素については,同一の符号を付することにより重複
説明を省略する。
【0019】本発明は,差分解読法及び線形解読法の攻
撃に対する安全性を保障し,さらに,高差分解読法の安
全性をも保障する高速暗号化アルゴリズムを提供する。
以下では,SNAKEと称されるアルゴリズムについて
説明する。SNAKEアルゴリズムは64ビットブロッ
クでデータを暗号化する。
【0020】64ビット平文(plain text)
ブロックがアルゴリズムに入力され64ビット暗号文字
ブロックが出力される。従ってこれは対称的アルゴリズ
ム(symmetric algorithm)であ
る。すなわち,キースケジューリング(key sch
eduling)において微かな差を除いて,同じアル
ゴリズムとキーは,暗号化と解読化に使用される。シー
ドキー(seed key)の長さは128ビットであ
る。データを暗号化または解読化する前に,各ラウンド
(round)で使われる16個のラウンドキーはシー
ドキーからキースケジューリング処理によって決定され
る。本発明の内容は以下の通りである。
【0021】(1)キースケジューリング(Key S
cheduling) 128ビットシードキーSは,以下のように4つの32
ビットブロックで分けられる。 S=S4||S3||S2||S1 右側から128ビット整数であるLSBが配列され,連
結される。ここでS1とS2は,それぞれ1番目及び2
番目のラウンドキーになる。
【0022】以下では,図1を参照しながら,SNAK
Eのラウンド函数の構造を説明する。ブロック10は,
32ビットのラウンド入力データX=X1||X2||
X3||X4とラウンドキーとが排他的論理和演算によ
り結合されることを示している。32ビットラウンドキ
ーは,上述のキー発生方法によってラウンド函数にスケ
ジュールされたものである。ブロック20は,32ビッ
ト入力データXのうち,8ビットごとに分割されたデー
タのうちの一のデータX1を示している。ブロック30
は排他的論理和演算子を表す。ブロック40は,8ビッ
ト入力データの8ビット出力データに対する非線形函数
である256*8のS−boxを表す。ブロック50
は,S−boxの8ビット出力ブロックからの連結され
た32ビットデータの1バイト(8ビット)回転を表
す。ブロック60はラウンド函数からの32ビット出力
データを表す。
【0023】以下では,その他のラウンドキーの生成の
ため,32ビットデータが入力され,同じ長さのデータ
を出力するSCROL函数について,図2,図3を参照
しながら説明する。図2に示したブロック70は,ラウ
ンドキーを発生するSCROL函数に対する32ビット
入力データブロックXを示している。ブロック80は,
32ビット入力データブロックXからSCROL函数へ
の8ビットに分割されたサブデータブロックX1を表
す。ブロック90は,8ビットモジュラ和(mod25
6)演算子を表す。ブロック100は排他的論理和演算
子を表す。ブロック110は,排他的論理和演算子を通
して32ビット無理常数(constant irra
tional number)GN(Golden N
umber)と結合する過程を表す。ここでGNは任意
のビット列でのと同じ特性を持つ。ブロック120は,
以前の段階の32ビットデータの5ビット左側回転を表
す。ブロック130はSCROL函数からの最終的な3
2ビット出力データを表す。
【0024】図3に示したブロック140は,ラウンド
キー発生過程のため32ビットサブブロックS1,S
2,S3,S4に分割される128ビットシードキーS
を表す。ブロック150は,128ビットシードキーS
から32ビットに分割されたサブシードキーブロックS
1,S2,S3,S4を表す。ブロック160は,キー
発生過程によって発生されたラウンドキーK1〜K8を
表す。なお,ラウンドキーKiは32ビットのi番目の
ラウンドキーを表す。
【0025】32ビットデータX=X4||X3||X
2||X1,(Xi:8ビット)がSCROL函数に入
力されると,SCROL函数の出力Yは以下のように表
す事ができる。
【0026】
【数1】
【0027】ここで,記号”||”は連結(conca
tenation)を意味し,記号
【0028】
【数2】
【0029】は排他的論理和演算子を意味し,記号”
+”は256モジュラ和を意味し,記号”<<<5”は
5ビット左側に回転する事を意味する。
【0030】最後に,上記SCROL函数を使って,以
下のようにその他のラウンドキーKi(i=3,4,…
16)を生成する。例えば,
【0031】
【数3】
【0032】(2)S−ボックス,ラウンド函数(ro
und function) S−ボックスはラウンド函数Fで使用される。SNAK
Eの具体化の一例に4つのS−ボックスがある。これら
4つのS−ボックスS1,S2,S3,S4は以下のよ
うに2つの形態を持つ。 TYPE1:S1=S2=S3=S4=f(x); TYPE2:S1=S3=f(x),S2=S4=g
(x); ここで,f(x)=x−1はガロワフィールド(Gal
ois Field)GF(256)の代数的逆変換
(algebraic inversion)である。
また,g(x)=h(h(x))であり,h(x)は,
45を底とするモジュラ指数関数(modular e
xponent function)の自己構成(se
lf−composition)である。すなわち,h
(x)=45mod257である。
【0033】上記実施の形態におけるハードウェア及び
ソフトウェアの実現にはTYPE1を使用し,ソフトウ
ェアの実現にはTYPE2が使用される。TYPE1は
ロムテーブルを使うかわりにゲートレベルでチップ(c
hip)のための回路を設計する時実現可能である。
【0034】以下では,ラウンド函数fについて説明す
る。32ビットデータ
【0035】
【数4】
【0036】(なお,Xiは8ビットサブブロックとし
て一番右側からLSBの順に連結されており,Kiはi
番目ラウンドキーである。)がラウンド函数fに入力さ
れると,出力Y=Y4||Y3||Y2||Y1にな
る。ラウンド函数Fは以下の形式で与えられる。
【0037】
【数5】
【0038】図4を参照すると,ブロック170は,6
4ビット入力平文のサイファスネイク(cipher
SNAKE)への左側32ビットを表す。ブロック18
0は64ビット入力平文のサイファスネイクへの右側3
2ビットを表す。ブロック190は,図1に示したスネ
イクのラウンド函数を表す。ブロック200は,図2,
図3に示したスネイクのキースケジューリング過程から
発生したラウンドキーを表す。ブロック210は排他的
論理和演算子を表す。ブロック220は1回のラウンド
過程(one−round process)を実行す
るスネイクの16ラウンド過程を16回繰り返す事によ
って,解読されたデータ(encrypted dat
a)または暗号文(cipher text)のような
64ビット最終出力データの32ビット左側部を表す。
ブロック230は,1回のラウンド過程(one−ro
und process)を実行するスネイクの16ラ
ウンド過程を16回繰り返す事によって,解読されたデ
ータ(encrypteddata)または暗号文(c
ipher text)のような64ビット最終出力デ
ータの32ビット右側部を表す。
【0039】上述のように,スネイクは64ビットの平
文に対して動作する。このブロックは各32ビットずつ
左右に分けられる。そして図4に示された,同一な演算
を16ラウンド行う。データがラウンド函数F内で排他
的論理和演算を通してキーと結合される。16番目ラウ
ンドの後,左右のブロックが結合しアルゴリズムが終わ
る。ラウンドごとに以前のラウンド出力データの右側3
2ビットが排他的論理和演算を通してラウンドキーと結
合し,その結果データは4つの8ビットデータブロック
X1,X2,X3,X4に分けられる。
【0040】データブロックX1,X2,X3,X4
は,上述したラウンド函数Fの入力データを構成する。
また,函数Fの出力データは排他的論理和演算を通して
左側32ビットデータブロックと結合され,次のまたは
新しいラウンドの右側データブロックになる。なお,以
前の右側データブロックは新しい左側データブロックに
なる。上記演算が16回反復され16ラウンドのスネイ
クを作る。
【0041】Bがj番目の反復の結果であるとき,L
とRは,Bの各左右の半分ずつを表し,Kはj
番目のラウンドキーを表す。またFは上述のラウンド函
数を表す。この時ラウンドは次のように表せる。
【0042】
【数6】
【0043】本発明で,各S−ボックスから得た出力差
データ(Output Difference Dat
a)から推論できるSNAKEの安全性を,入力差を持
つ一双のデータ値が可変パラメータとして与えられ,い
わゆる遷移差分行列(Transient Diffe
rential Matrix)と呼ばれる係数行列
(Coefficient Matrix)を得るた
め,差分可変パラメータ(difference va
riable parameter)方程式の線形シス
テムを形成すると察する事ができる。暗号をそのランク
(Rank)に限定させるとゆう条件を作ったり捜すこ
とによって,SNAKEのラウンド函数構造を推論でき
る。安定性に対する証明は,Chang−hyiLe
e,Young−tae Cha,”A simple
Block Cipher withProvabl
e Resistance against DC&L
C Attacks”,JW−ISC,(1997)に
示されている。
【0044】本発明の処理速度はDESよりはるかに速
い。SNAKEに対する模擬実験(Simulatio
n)で,120MHz Pentium PCでC++
言語で実行した場合,本発明の暗号化処理速度は16M
bpsであるのに対して,DESでは同じ装備を使用し
て10.4Mbpsの速度を示した。
【0045】本発明はコンピュータが読めたり使用でき
たりする,情報格納手段(例えばロム,フロッピーディ
スク,ハードディスク等),光読出手段(例えばCD−
ROM,DVD等)及び搬送波(carrier wa
ve。例えばインターネット上での電送)にも適用され
るが,これらに限定されるものではなく,媒体から始ま
るプログラムやプログラムセグメント(segment
s)が動作する汎用デジタルコンピュータにおいても適
用できる。本発明の実施の形態の内容から,分野で熟練
したコンピュータプログラマによって本発明を適用する
のに用いられる機能的プログラム(functiona
l program),コード及びコードセグメントが
誘導できる。
【0046】以上,添付図面を参照しながら本発明にか
かる高速ブロック暗号化アルゴリズムの好適な実施形態
について説明したが,本発明はかかる例に限定されな
い。当業者であれば,特許請求の範囲に記載された技術
的思想の範疇内において各種の変更例または修正例に想
到し得ることは明らかであり,それらについても当然に
本発明の技術的範囲に属するものと了解される。
【0047】
【発明の効果】本発明による高速ブロック暗号化アルゴ
リズムは,日本のMISTYアルゴリズムのように回帰
的構造を持つのではなく,単純に各S−ボックスを通過
した8ビットデータがシフトするのと同時に,すぐ次の
S−ボックスに入力で軌還される構造を持つので8ビッ
ト単位で分割されたブロックがS−ボックスを通りなが
らその線形性(linearity)と差分均一性(d
ifferentialuniformity)が低く
なって出力されるようにし,それと同時にこれらが隣り
合うS−ボックスの入力に対して影響を及ぼすようにし
て全体の出力値等に対して影響を与えるようにした。
【0048】本発明によるアルゴリズムは一番代表的な
暗号化攻略法である差分解読法と線型解読法に対する安
定性を持っており,暗号化網(encryption
network)構造の安全性を利用してS−ボックス
の函数を限定しないで,可能な限り良いS−ボックス函
数を選択的に使用出来る事にその利点がある。又,本発
明によるブロック暗号化アルゴリズムはハードウエア
的,あるいはソフトウエア的に全て具現し安く,特にソ
フトウエア的に構成した場合,DESブロック暗号化ア
ルゴリズムと比べて2倍程速い暗号化速度を得る事がで
きる。
【0049】本発明のアルゴリズムをソフトウエア的に
具現した場合,暗号化速度はペンティアム120MHz
上でC++プログラミングを利用し模擬実験(simu
lation)した結果,DESアルゴリズムが約1.
3Mbytes/sec,本発明によるCipher
Snakeアルゴリズムは約2.0Mbytes/se
cという結果を得て従来のDESアルゴリズムより優秀
である事が分った。
【図面の簡単な説明】
【図1】SNAKEアルゴリズムの主要部であるSNA
KEのラウンド函数の構造を示す説明図である。
【図2】ラウンドキー生成のため直接的に使用されるS
CROL函数を示す説明図である。
【図3】キースケジューリング工程を示す説明図であ
る。
【図4】SNAKEに対する全体的なパイステル(Fe
istel)タイプの構造を示す説明図である。
【符号の説明】
10 入力データ 20 8ビットデータ 30 排他的論理和演算子 40 S−box 50 1バイト(8ビット)回転 60 出力データ 70 入力データ 80 サブデータブロック 90 8ビットモジュラ和演算子 100 排他的論理和演算子 110 32ビットのスクロウル出力データ 120 5ビット左回転 130 出力データ 140 128ビットシードキー 150 サブシードキーブロック 160 ラウンドキー 170 入力平文の左側32ビット 180 入力平文の右側32ビット 190 ラウンド函数 200 ラウンドキー 210 排他的論理和演算子 220 出力の左側32ビット 230 出力の右側32ビット

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 フレキシブル暗号化ブロック(flex
    ible encryption block)がデー
    タストリーム(data stream)を2Nバイト
    のデータブロックに分け,前記ブロックを2つの部分に
    半分ずつ分ける工程と;前記工程で分けられたブロック
    の2番目の部分とMバイトのラウンドキー(round
    key)に対して排他的論理和演算を実行する工程
    と;前記排他的論理和演算の実行結果をL個の8ビット
    ブロックに分けて,最初のブロックを最初のS−box
    に送り,その他のブロックを対応するS−boxに送っ
    た後に,L−1個のS−boxの出力データと最初のS
    −boxの出力データを結合する工程と;前記S−bo
    xの各出力を左側に8ビット回転させる工程と;前記回
    転された結果を新しい2番目の部分に送り以前の2番目
    の部分を新しい1番目の部分に送る工程と;を含むキー
    スケジューリングアルゴリズム(key schedu
    ling algorithm)を含むことを特徴とす
    る,高速ブロック暗号化方法。
  2. 【請求項2】 NバイトデータをM個の8ビットブロッ
    クに分ける工程と,任意の隣接した2つのブロックを排
    他的論理和演算と256モジュラ和(256−modu
    lar−addition)のうち1つを通して結合す
    る工程と;前記工程で結合された結果と無理数とを排他
    的論理和演算で結合する工程と;前記排他的論理和演算
    で結合された結果を左側に5ビット回転演算させる工程
    と;128シードキー(seed key)からラウン
    ドキーを生成する工程と;を含むキースケジューリング
    アルゴリズム(key scheduling alg
    orithm)を含むことを特徴とする,高速ブロック
    暗号化方法。
  3. 【請求項3】 コンピュータで使用可能な媒体におい
    て:フレキシブル暗号化ブロック(flexible
    encryption block)がデータストリー
    ムを2Nバイトのデータブロックに分け,前記ブロック
    を2つの部分に半分ずつ分ける工程と;前記工程で分け
    られたブロックの2番目の部分とMバイトのラウンドキ
    ー(round key)に対して排他的論理和演算を
    実行する工程と;前記排他的論理和演算の実行結果をL
    個の8ビットブロックに分けて,最初のブロックを最初
    のS−boxに送り,その他のブロックを対応するS−
    boxに送った後に,L−1個のS−boxの出力デー
    タと最初のS−boxの出力データを結合する工程と;
    前記S−boxの各出力を左側に8ビット回転させる工
    程と;前記回転された結果を新しい2番目の部分に送り
    以前の2番目の部分を新しい1番目の部分に送る工程
    と;を遂行する機械によって実行できるコンピュータプ
    ログラムを備え,該コンピュータプログラムは,一の基
    本となる階層と,複数の増大する階層(enhance
    ment layer)とから成る階層化されたデータ
    ストリームに音声信号を暗号化することを特徴とする,
    コンピュータで使用可能な媒体。
  4. 【請求項4】 コンピュータで使用可能な媒体におい
    て:NバイトデータをM個の8ビットブロックに分ける
    工程と;任意の隣接した2つのブロックを排他的論理和
    演算と256モジュラ和(256−modular−a
    ddition)のうち1つを通して結合する工程と;
    前記工程で結合された結果と無理数とを排他的論理和演
    算で結合する工程と;前記排他的論理和演算で結合され
    た結果を左側に5ビット回転演算させる工程と;128
    シードキー(seed key)からラウンドキーを生
    成する工程と;を遂行する機械によって実行できるコン
    ピュータプログラムを備え,該コンピュータプログラム
    は,一の基本となる階層と,複数の増大する階層(en
    hancement layer)とから成る階層化さ
    れたデータストリームに音声信号を暗号化することを特
    徴とする,コンピュータで使用可能な媒体。
JP17584498A 1997-06-23 1998-06-23 ブロック暗号化方法,及び,ブロック暗号化装置 Expired - Fee Related JP3148181B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1997P26558 1997-06-23
KR1019970026558A KR100389902B1 (ko) 1997-06-23 1997-06-23 차분해독법과선형해독법에대하여안전성을보장하는고속블럭암호화방법

Publications (2)

Publication Number Publication Date
JPH1173101A true JPH1173101A (ja) 1999-03-16
JP3148181B2 JP3148181B2 (ja) 2001-03-19

Family

ID=19510735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17584498A Expired - Fee Related JP3148181B2 (ja) 1997-06-23 1998-06-23 ブロック暗号化方法,及び,ブロック暗号化装置

Country Status (6)

Country Link
US (1) US6314186B1 (ja)
JP (1) JP3148181B2 (ja)
KR (1) KR100389902B1 (ja)
DE (1) DE19827904C2 (ja)
FR (1) FR2765056B1 (ja)
GB (1) GB2327581B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100401225B1 (ko) * 1999-09-30 2003-10-10 가시오게산키 가부시키가이샤 데이터베이스관리장치
JP2017531209A (ja) * 2014-10-10 2017-10-19 クアルコム,インコーポレイテッド 回転ベース暗号
JP2018109750A (ja) * 2016-12-16 2018-07-12 ザ・ボーイング・カンパニーThe Boeing Company ビットミキサにより暗号ラウンド鍵を生成するためのシステム及び方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434558B1 (ko) * 1997-12-09 2004-09-30 삼성전자주식회사 고속블록암호화방법및이를위한키스케쥴링방법
US7187769B1 (en) * 1998-06-02 2007-03-06 Nippon Telegraph And Telephone Public Corporation Method and apparatus for evaluating the strength of an encryption
GB2345229B (en) * 1998-12-23 2003-12-03 Motorola Ltd Method for encrypting data
KR100316025B1 (ko) * 1999-06-30 2001-12-12 박종섭 데이터 암호 표준 알고리즘을 이용한 암호 및 복호 장치
KR100362170B1 (ko) * 2000-05-04 2002-11-23 한국전자통신연구원 라운드 키 생성 및 암호처리용 암호화장치
KR100377175B1 (ko) * 2000-06-08 2003-03-26 주식회사 하이닉스반도체 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
AU2001269086A1 (en) * 2000-07-04 2002-01-14 Koninklijke Philips Electronics N.V. Substitution-box for symmetric-key ciphers
KR100425956B1 (ko) * 2000-07-15 2004-04-03 (주)시큐어피아 동작 진행 중 라운드 키 계산 방식을 이용한 seed 암호 및 복호 회로
JP3770584B2 (ja) * 2000-10-31 2006-04-26 シャープ株式会社 暗号鍵生成回路
US7212636B2 (en) * 2001-02-26 2007-05-01 Nagravision S.A. Encryption of a compressed video stream
US7212631B2 (en) * 2001-05-31 2007-05-01 Qualcomm Incorporated Apparatus and method for performing KASUMI ciphering
JP3851115B2 (ja) * 2001-06-28 2006-11-29 富士通株式会社 暗号回路
JP2003023421A (ja) * 2001-07-09 2003-01-24 C4 Technology Inc 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置
DE10149191C2 (de) * 2001-10-05 2003-12-18 Infineon Technologies Ag Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation
US7099469B2 (en) * 2001-10-17 2006-08-29 Motorola, Inc. Method of scrambling and descrambling data in a communication system
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
JP2003223098A (ja) * 2002-01-29 2003-08-08 Sony Corp ブーリアン・マトリクスに基づく暗号化処理方法、および復号処理方法、並びにデータ通信システム
KR100418575B1 (ko) * 2002-04-03 2004-02-14 주식회사 하이닉스반도체 암호블럭연쇄 방식의 디이에스 암호화 장치
US7343011B2 (en) * 2002-07-15 2008-03-11 Conexant, Inc. Secure telecommunications system for wireless local area networks
FR2853424B1 (fr) * 2003-04-04 2005-10-21 Atmel Corp Architecture de multiplicateurs polynomial et naturel combines
US7310421B2 (en) * 2003-10-06 2007-12-18 National Institute Of Information And Communications Technology Particular plaintext detector
US7580519B1 (en) 2003-12-08 2009-08-25 Advanced Micro Devices, Inc. Triple DES gigabit/s performance using single DES engine
US7545928B1 (en) 2003-12-08 2009-06-09 Advanced Micro Devices, Inc. Triple DES critical timing path improvement
JP4574344B2 (ja) 2004-01-20 2010-11-04 キヤノン株式会社 情報処理装置及び方法
KR20050087271A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
US7885405B1 (en) * 2004-06-04 2011-02-08 GlobalFoundries, Inc. Multi-gigabit per second concurrent encryption in block cipher modes
US8817979B2 (en) * 2004-06-04 2014-08-26 Broadcom Corporation Standalone hardware accelerator for advanced encryption standard (AES) encryption and decryption
US7526085B1 (en) 2004-07-13 2009-04-28 Advanced Micro Devices, Inc. Throughput and latency of inbound and outbound IPsec processing
US7760874B2 (en) * 2004-07-14 2010-07-20 Broadcom Corporation Method and system for implementing FI function in KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
US7783037B1 (en) 2004-09-20 2010-08-24 Globalfoundries Inc. Multi-gigabit per second computing of the rijndael inverse cipher
US7546461B2 (en) * 2005-06-28 2009-06-09 Microsoft Corporation Strengthening secure hash functions
CN104683096B (zh) * 2013-11-29 2017-12-22 中国航天科工集团第三研究院第八三五七研究所 动态s盒变换方法及系统
US9584310B2 (en) * 2014-03-19 2017-02-28 Nxp B.V. Protecting a white-box implementation against attacks
US9578469B2 (en) 2014-10-02 2017-02-21 Motorola Solutions, Inc. Method and system for direct mode communication within a talkgroup
WO2016059870A1 (ja) * 2014-10-14 2016-04-21 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
US9960909B2 (en) 2014-12-08 2018-05-01 Open-Silicon Inc. High speed and low power hashing system and method
US10015009B2 (en) * 2015-11-25 2018-07-03 Nxp B.V. Protecting white-box feistel network implementation against fault attack
KR102424922B1 (ko) 2020-03-02 2022-07-26 국방과학연구소 Dlbn이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법
JP7443833B2 (ja) 2020-03-05 2024-03-06 Tdk株式会社 圧力センサ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4195200A (en) * 1976-06-30 1980-03-25 International Business Machines Corporation Key controlled block-cipher cryptographic system employing a multidirectional shift matrix
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
JPH05249891A (ja) * 1992-03-06 1993-09-28 Hitachi Ltd 暗号処理装置およびこれを用いる暗号処理方法
JP3029381B2 (ja) * 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
CA2164768C (en) * 1995-12-08 2001-01-23 Carlisle Michael Adams Constructing symmetric ciphers using the cast design procedure
US5838794A (en) 1996-01-11 1998-11-17 Teledyne Electronic Technologies Method and apparatus for inter-round mixing in iterated block substitution systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100401225B1 (ko) * 1999-09-30 2003-10-10 가시오게산키 가부시키가이샤 데이터베이스관리장치
JP2017531209A (ja) * 2014-10-10 2017-10-19 クアルコム,インコーポレイテッド 回転ベース暗号
JP2018109750A (ja) * 2016-12-16 2018-07-12 ザ・ボーイング・カンパニーThe Boeing Company ビットミキサにより暗号ラウンド鍵を生成するためのシステム及び方法

Also Published As

Publication number Publication date
FR2765056B1 (fr) 2000-09-01
DE19827904A1 (de) 1999-01-14
KR19990002840A (ko) 1999-01-15
US6314186B1 (en) 2001-11-06
GB9811900D0 (en) 1998-07-29
FR2765056A1 (fr) 1998-12-24
GB2327581A (en) 1999-01-27
KR100389902B1 (ko) 2003-09-22
DE19827904C2 (de) 2000-05-11
GB2327581B (en) 1999-08-04
JP3148181B2 (ja) 2001-03-19

Similar Documents

Publication Publication Date Title
JPH1173101A (ja) 高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
US6199162B1 (en) Block cipher method
US7190791B2 (en) Method of encryption using multi-key process to create a variable-length key
US20040107341A1 (en) Parallelizable authentication tree for random access storage
US20110211688A1 (en) Data converter, data conversion method and program
JP2004531778A (ja) データ暗号化のための方法および装置
US20010033654A1 (en) W-EC1 encryption and decryption method and system
US7103180B1 (en) Method of implementing the data encryption standard with reduced computation
JP2001282103A (ja) 暗号化方法
JPH0697930A (ja) ブロック暗号処理装置
EP1016240A1 (en) Improved block cipher method
CN110247754B (zh) 一种分组密码fbc的实现方法及装置
KR100434558B1 (ko) 고속블록암호화방법및이를위한키스케쥴링방법
JPH09269727A (ja) 暗号化方法および暗号化装置
KR102405819B1 (ko) Aria 블록 암호의 화이트 박스 암호 장치
JP3748184B2 (ja) 秘話通信装置
Pal et al. A novel block cipher technique using binary field arithmetic based substitution (BCTBFABS)
JP2000089666A (ja) 暗号化/復号化装置
KR20030000720A (ko) 키와 평문 사이에 연산이 이루어지지 않는 대칭키 블록암호 알고리즘 설계방법
Haunts et al. Symmetric Encryption
RU2199826C2 (ru) Способ итеративного шифрования блоков цифровых данных
JP2870532B2 (ja) 暗号変換装置
CN113343276A (zh) 基于广义二维猫映射的轻量级分组密码算法gcm实现方法
KR20030001888A (ko) 키를 사용하지 않고 블록 정보만을 이용하는 암호알고리즘 설계 방법

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001219

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100112

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees