JPH0690597B2 - データ拡散装置 - Google Patents
データ拡散装置Info
- Publication number
- JPH0690597B2 JPH0690597B2 JP62037231A JP3723187A JPH0690597B2 JP H0690597 B2 JPH0690597 B2 JP H0690597B2 JP 62037231 A JP62037231 A JP 62037231A JP 3723187 A JP3723187 A JP 3723187A JP H0690597 B2 JPH0690597 B2 JP H0690597B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- input
- output
- parameter
- 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 - Lifetime
Links
Description
【発明の詳細な説明】 「産業上の利用分野」 この発明は暗号鍵により平文又は暗号文をデータ拡散処
理して暗号文又は平文を得る暗号装置に用いられ、デー
タをパラメータで論理演算してデータ拡散するデータ拡
散装置に関する。
理して暗号文又は平文を得る暗号装置に用いられ、デー
タをパラメータで論理演算してデータ拡散するデータ拡
散装置に関する。
「従来の技術」 従来のこの種の暗号装置は例えば特公昭59−36463号に
示されている。すなわち第9図に示すように暗号処理部
においては64ビツトの平文が換字手段91でビツトの入れ
換えが行われ、その後各32ビツトのデータに分割されて
初段の右レジスタ92、左レジスタ93へ入力される。その
右レジスタ92のデータは次段の左レジスタ93へ直接入力
されると共に関数手段94へ供給され、中間キーK1により
関数演算され、その演算されたデータは左レジスタ93の
データと排他的論理和が回路95でとられて次段の右レジ
スタ92へ入力される。以下同様に処理され、終段の右レ
ジスタ92及び左レジスタ93の各32ビツトのデータは64ビ
ツトのデータとして結合され、換字手段96を通じて出力
される。
示されている。すなわち第9図に示すように暗号処理部
においては64ビツトの平文が換字手段91でビツトの入れ
換えが行われ、その後各32ビツトのデータに分割されて
初段の右レジスタ92、左レジスタ93へ入力される。その
右レジスタ92のデータは次段の左レジスタ93へ直接入力
されると共に関数手段94へ供給され、中間キーK1により
関数演算され、その演算されたデータは左レジスタ93の
データと排他的論理和が回路95でとられて次段の右レジ
スタ92へ入力される。以下同様に処理され、終段の右レ
ジスタ92及び左レジスタ93の各32ビツトのデータは64ビ
ツトのデータとして結合され、換字手段96を通じて出力
される。
関数手段94は第10図に示すように右レジスタよりの32ビ
ツトのデータRが拡張手段97により特定のビツトが2重
化されて48ビツトのデータに拡散され、その48ビツトの
拡散データは48ビツトの中間キーにより積ブロツク暗号
手段98で所定の暗号関数に従つて処理される。
ツトのデータRが拡張手段97により特定のビツトが2重
化されて48ビツトのデータに拡散され、その48ビツトの
拡散データは48ビツトの中間キーにより積ブロツク暗号
手段98で所定の暗号関数に従つて処理される。
鍵処理部では第11図に示すように入力された64ビツトの
暗号鍵は置換手段101により56ビツトのデータに圧縮さ
れ、この56ビツトのデータは初段の右レジスタ102、左
レジスタ103に各28ビツトのデータとして分割入力され
る。各右レジスタ102、左レジスタ103の各データはそれ
ぞれ左方向循環シフトがシフト手段104,105で行われて
次段の右レジスタ102、左レジスタ103に入力される。以
下同様のことが行われると共に2段以降の各右レジスタ
102、左レジスタ103の各28ビツトのデータが結合されて
置換手段106に入力され、各置換手段106で48ビツトデー
タに置換圧縮されて中間キーK1〜K16が作られる。
暗号鍵は置換手段101により56ビツトのデータに圧縮さ
れ、この56ビツトのデータは初段の右レジスタ102、左
レジスタ103に各28ビツトのデータとして分割入力され
る。各右レジスタ102、左レジスタ103の各データはそれ
ぞれ左方向循環シフトがシフト手段104,105で行われて
次段の右レジスタ102、左レジスタ103に入力される。以
下同様のことが行われると共に2段以降の各右レジスタ
102、左レジスタ103の各28ビツトのデータが結合されて
置換手段106に入力され、各置換手段106で48ビツトデー
タに置換圧縮されて中間キーK1〜K16が作られる。
この従来の暗号装置においては拡張手段97を用いている
が、これは布線回路で実現されるためLSI化した時に大
きな面積を必要とし、フアームウエアで実現する場合は
1ビツトずつのデータ置き換えのプログラム処理量が極
めて大きくなる欠点があつた。
が、これは布線回路で実現されるためLSI化した時に大
きな面積を必要とし、フアームウエアで実現する場合は
1ビツトずつのデータ置き換えのプログラム処理量が極
めて大きくなる欠点があつた。
中間キーK1〜K16は暗号装置に入力する64ビツトデータ
から8ビツトのパツテイビツトを除いた56ビツトのデー
タを基本とし、更にこの56ビツトを並べ換えて出力する
ものである。このため暗号装置に入力される暗号鍵が1
ビツト変化しても中間キーは多数ビツトは変化せず、1
ビツトしか変化しない、それだけ鍵推定がし易く、暗号
として弱いものとなる欠点があつた。
から8ビツトのパツテイビツトを除いた56ビツトのデー
タを基本とし、更にこの56ビツトを並べ換えて出力する
ものである。このため暗号装置に入力される暗号鍵が1
ビツト変化しても中間キーは多数ビツトは変化せず、1
ビツトしか変化しない、それだけ鍵推定がし易く、暗号
として弱いものとなる欠点があつた。
このような点から以下に述べる暗号装置が提案されてい
る。暗号処理部において、第1図に示すように64ビツト
の入力データ(平文又は暗号文)が排他的論理和回路
(以下XOR回路と記す)66で64ビツトのパラメータデー
タ(中間キー)P4,P5,P6,P7と排他的論理和演算され、
その出力はデータ拡散部89に入力されて分割手段67で32
ビツトずつの左データ及び右データに分割される。その
左データはそのまま拡散処理段68の初段へ左データとし
て入力され、かつその左データと右データとがXOR回路6
9で排他的論理和演算がなされ、そのXOR回路69の出力は
右データとして拡散処理段68の初段へ供給される。
る。暗号処理部において、第1図に示すように64ビツト
の入力データ(平文又は暗号文)が排他的論理和回路
(以下XOR回路と記す)66で64ビツトのパラメータデー
タ(中間キー)P4,P5,P6,P7と排他的論理和演算され、
その出力はデータ拡散部89に入力されて分割手段67で32
ビツトずつの左データ及び右データに分割される。その
左データはそのまま拡散処理段68の初段へ左データとし
て入力され、かつその左データと右データとがXOR回路6
9で排他的論理和演算がなされ、そのXOR回路69の出力は
右データとして拡散処理段68の初段へ供給される。
各拡散処理段では入力された右データはそのまま次段の
拡散処理段68に対する左データとして出力すると共に、
データ拡散手段71に入力されて16ビツトのパラメータデ
ータ(中間キー)によりデータ拡散され、その拡散され
たデータは左データとXOR回路72で排他的論理和演算が
行われ、XOR回路72の出力は次段の拡散処理段68へ右デ
ータとして出力される。この例では拡散処理段68が4段
継続的に設けられ、各拡散処理段68で同様の処理が行わ
れる。終段の拡散処理段68の出力の左データはそのまま
結合手段73へ供給されると共に、右データとXOR回路74
で排他的論理和演算がなされ、そのXOR回路74の出力は
右データとして結合手段73へ供給され、結合手段73では
その両左データ及び右データが64ビツトのデータとして
結合される。その結合された64ビツトのデータは64ビツ
トのパラメータデータ(中間キー)P8,P9,P10,P11とXOR
回路75で排他的論理和演算が行われて拡散出力データ、
つまり暗号文(又は復号文)として出力される。
拡散処理段68に対する左データとして出力すると共に、
データ拡散手段71に入力されて16ビツトのパラメータデ
ータ(中間キー)によりデータ拡散され、その拡散され
たデータは左データとXOR回路72で排他的論理和演算が
行われ、XOR回路72の出力は次段の拡散処理段68へ右デ
ータとして出力される。この例では拡散処理段68が4段
継続的に設けられ、各拡散処理段68で同様の処理が行わ
れる。終段の拡散処理段68の出力の左データはそのまま
結合手段73へ供給されると共に、右データとXOR回路74
で排他的論理和演算がなされ、そのXOR回路74の出力は
右データとして結合手段73へ供給され、結合手段73では
その両左データ及び右データが64ビツトのデータとして
結合される。その結合された64ビツトのデータは64ビツ
トのパラメータデータ(中間キー)P8,P9,P10,P11とXOR
回路75で排他的論理和演算が行われて拡散出力データ、
つまり暗号文(又は復号文)として出力される。
第1図に示した暗号処理部と対応する鍵処理部は第2図
に示すように、64ビット長6入力データ、つまり暗号鍵
が32ビットずつの左データ及び右データに分割手段67で
分割されて、複数の拡散処理段76の縦続配列の初段に入
力される。各拡散処理段76では右データはそのまま左デ
ータとして次段の拡散処理段へ出力すると共にXOR回路7
7へ供給される。XOR回路77の出力をパラメータデータと
してデータ拡散手段78で左データをデータ拡散処理し、
そのデータ拡散手段78の出力を右データとして次段の拡
散処理段76へ出力する。XOR回路77は初段の拡散処理段7
6では適当な定数D0を入力し、その他の拡散処理段では
前段の入力左データを入力する。各拡散処理段76のデー
タ拡散手段78の32ビツト出力データが中間キーとして出
力される。つまり64ビツトの入力データ(暗号鍵)をデ
ータ拡散すると共に、192ビツト長にデータ長を長くし
た中間キーP0〜P11を得る。
に示すように、64ビット長6入力データ、つまり暗号鍵
が32ビットずつの左データ及び右データに分割手段67で
分割されて、複数の拡散処理段76の縦続配列の初段に入
力される。各拡散処理段76では右データはそのまま左デ
ータとして次段の拡散処理段へ出力すると共にXOR回路7
7へ供給される。XOR回路77の出力をパラメータデータと
してデータ拡散手段78で左データをデータ拡散処理し、
そのデータ拡散手段78の出力を右データとして次段の拡
散処理段76へ出力する。XOR回路77は初段の拡散処理段7
6では適当な定数D0を入力し、その他の拡散処理段では
前段の入力左データを入力する。各拡散処理段76のデー
タ拡散手段78の32ビツト出力データが中間キーとして出
力される。つまり64ビツトの入力データ(暗号鍵)をデ
ータ拡散すると共に、192ビツト長にデータ長を長くし
た中間キーP0〜P11を得る。
拡散処理段76の初段から順次得られる各32ビツトを、16
ビツトずつP0,P1,P2,P3,・・・P10,P11とする。この中
間キーP0,P1,P2,P3をそれぞれ第1図中の拡散処理段68
の初段により順にパラメータデータとして与え、中間キ
ーP4,P5,P6,P7をパラメータデータとしてXOR回路66へ供
給し、中間キーP8,P9,P10,P11をパラメータデータとし
てXOR回路75へ供給し、XOR66に平文を入力するとXOR回
路75に暗号文が得られる。復号の際は暗号文をXOR回路6
6に入力し、中間キーP3,P2,P1,P0をそれぞれ第1図中の
拡散処理段の初段より順にパラメータデータとして与
え、かつXOR回路66に中間キーP8,P9,P10,P11を、XOR回
路75に中間キーP4,P5,P6,P7に入力するように入れ替え
るとXOR回路75から平文(復号文)が得られる。
ビツトずつP0,P1,P2,P3,・・・P10,P11とする。この中
間キーP0,P1,P2,P3をそれぞれ第1図中の拡散処理段68
の初段により順にパラメータデータとして与え、中間キ
ーP4,P5,P6,P7をパラメータデータとしてXOR回路66へ供
給し、中間キーP8,P9,P10,P11をパラメータデータとし
てXOR回路75へ供給し、XOR66に平文を入力するとXOR回
路75に暗号文が得られる。復号の際は暗号文をXOR回路6
6に入力し、中間キーP3,P2,P1,P0をそれぞれ第1図中の
拡散処理段の初段より順にパラメータデータとして与
え、かつXOR回路66に中間キーP8,P9,P10,P11を、XOR回
路75に中間キーP4,P5,P6,P7に入力するように入れ替え
るとXOR回路75から平文(復号文)が得られる。
第1図においては拡散処理段68を4段としたが、第3図
に示すように6段としてもよい。第3図において第1図
と対応する部分に同一符号を付け、重複説明を省略す
る。
に示すように6段としてもよい。第3図において第1図
と対応する部分に同一符号を付け、重複説明を省略す
る。
第3図の暗号処理部に対する鍵処理部の例を第4図に示
す。この場合は暗号鍵は128ビツト長であり、分割手段8
0により64ビツトの二つのデータに分割され、その分割
された両データはそれぞれ分割手段81,82でそれぞれ32
ビツトのデータに分割される。その各一方の32ビツトデ
ータはXOR回路83で排他的論理和演算が行われて、多段
縦続の拡散処理段76の初段に左データとして入力され
る。分割手段81,82において分割された各他方の32ビツ
トデータは、その各一方のデータでデータ拡散手段84,8
5でそれぞれデータ拡散され、その各拡散出力はXOR回路
86に入力されて排他的論理和演算が行われて、拡散処理
段76の初段へ右データとして出力される。拡散処理段76
は第2図のそれと同一構成であるが、XOR回路77に3段
前の拡散処理段の左入力データを入力する。ただし初段
の拡散処理段76のXOR回路77にはall“0"のデータD0を入
力し、2段目、3段目の各XOR回路77には分割手段81,82
の前記一方のデータを入力する。
す。この場合は暗号鍵は128ビツト長であり、分割手段8
0により64ビツトの二つのデータに分割され、その分割
された両データはそれぞれ分割手段81,82でそれぞれ32
ビツトのデータに分割される。その各一方の32ビツトデ
ータはXOR回路83で排他的論理和演算が行われて、多段
縦続の拡散処理段76の初段に左データとして入力され
る。分割手段81,82において分割された各他方の32ビツ
トデータは、その各一方のデータでデータ拡散手段84,8
5でそれぞれデータ拡散され、その各拡散出力はXOR回路
86に入力されて排他的論理和演算が行われて、拡散処理
段76の初段へ右データとして出力される。拡散処理段76
は第2図のそれと同一構成であるが、XOR回路77に3段
前の拡散処理段の左入力データを入力する。ただし初段
の拡散処理段76のXOR回路77にはall“0"のデータD0を入
力し、2段目、3段目の各XOR回路77には分割手段81,82
の前記一方のデータを入力する。
各拡散処理段76のデータ拡散手段78の出力と、データ拡
散手段84,85の出力との計224ビツトのデータを中間キー
として出力とする。つまり128ビツトの暗号鍵を224ビツ
トの中間キーとし、データ拡散手段84,85より得られる
中間キーP0,P1,P2,P3、拡散処理段76の初段より得られ
る中間キーP4,P5を第3図に示すように拡散処理段68の
初段より順にパラメータデータ(中間キー)として与
え、拡散処理段76の2段目、3段目に得られる中間キー
P6,P7,P8,P9、4段目、5段目に得られる中間キーP10,P
11,P12,P13をそれぞれ第3図のXOR回路66,75にパラメー
タデータ(中間キー)として供給すればよい。
散手段84,85の出力との計224ビツトのデータを中間キー
として出力とする。つまり128ビツトの暗号鍵を224ビツ
トの中間キーとし、データ拡散手段84,85より得られる
中間キーP0,P1,P2,P3、拡散処理段76の初段より得られ
る中間キーP4,P5を第3図に示すように拡散処理段68の
初段より順にパラメータデータ(中間キー)として与
え、拡散処理段76の2段目、3段目に得られる中間キー
P6,P7,P8,P9、4段目、5段目に得られる中間キーP10,P
11,P12,P13をそれぞれ第3図のXOR回路66,75にパラメー
タデータ(中間キー)として供給すればよい。
この暗号装置は第2図及び第3図に示した鍵処理部を用
いるため、その暗号鍵の推定は困難である。各データ拡
散手段78,84,85においてはその二つの入力データと一つ
の出力データとのうち二つが判明すれば他の一つのデー
タを知ることができるものである。しかし第2図におい
て入力データのキーデータ(暗号鍵)は64ビツトであ
り、従つて中間キー中の例えばP8,P9,P10,P11の64ビツ
トが判明しても、終段の拡散処理段76において、そのXO
R回路77の一方の入力P8,P9のみしか知られていないから
その出力データが不明であり、従つてこの段のデータ拡
散手段78については出力データP10,P11のみ判明してい
るだけで二つの入力データが不明であるからその入力デ
ータを知ることはできない。この点から第2図及び第4
図においてデータ拡散手段78,84,85としては一般のデー
タ拡散装置を使用すれば第2図及び第4図の構成は中間
キーの一部が判明しても正しい暗号鍵を推定することが
困難なものである。
いるため、その暗号鍵の推定は困難である。各データ拡
散手段78,84,85においてはその二つの入力データと一つ
の出力データとのうち二つが判明すれば他の一つのデー
タを知ることができるものである。しかし第2図におい
て入力データのキーデータ(暗号鍵)は64ビツトであ
り、従つて中間キー中の例えばP8,P9,P10,P11の64ビツ
トが判明しても、終段の拡散処理段76において、そのXO
R回路77の一方の入力P8,P9のみしか知られていないから
その出力データが不明であり、従つてこの段のデータ拡
散手段78については出力データP10,P11のみ判明してい
るだけで二つの入力データが不明であるからその入力デ
ータを知ることはできない。この点から第2図及び第4
図においてデータ拡散手段78,84,85としては一般のデー
タ拡散装置を使用すれば第2図及び第4図の構成は中間
キーの一部が判明しても正しい暗号鍵を推定することが
困難なものである。
所でデータ拡散手段71,77,84,85に適するデータ拡散装
置としては以下に示すものが提案されている。即ち第5
図に示すように、32ビットの入力データから32ビットの
拡散した出力データを得る場合は、パラメータは16ビツ
トである。32ビツトの入力データRは分割手段21で8ビ
ツトのブロツクデータR0,R1,R2,R3に分けられる。ブロ
ツクデータR0,R1,R2,R3はそれぞれ分割手段21と結合手
段24との間の処理通路25,26,27,28を通して処理され
る。処理通路25に加算剰余回路29−ビット循環回路30が
この順序に挿入され、処理通路26に排他的論理和回路
(以下XOR回路と記す)31−XOR回路32−加算剰余回路33
−ビット循環回路34が挿入され、処理通路27にXOR回路3
5−XOR回路36−加算剰余回路37−ビット循環回路38が挿
入され、処理通路28に加算剰余回路39−ビット循環回路
41が挿入されている。XOR回路31,35にパラメータデータ
P0,P1がそれぞれ入力され、XOR回路32,36にブロックデ
ータR0,R3がそれぞれ入力されている。ビット循環回路3
4の出力は加算剰余回路29,37へそれぞれ入力され、加算
剰余回路33に定数+1及びXOR回路36の出力が入力さ
れ、加算剰余回路39に定数+1及びビット循環回路38の
出力が入力されている。
置としては以下に示すものが提案されている。即ち第5
図に示すように、32ビットの入力データから32ビットの
拡散した出力データを得る場合は、パラメータは16ビツ
トである。32ビツトの入力データRは分割手段21で8ビ
ツトのブロツクデータR0,R1,R2,R3に分けられる。ブロ
ツクデータR0,R1,R2,R3はそれぞれ分割手段21と結合手
段24との間の処理通路25,26,27,28を通して処理され
る。処理通路25に加算剰余回路29−ビット循環回路30が
この順序に挿入され、処理通路26に排他的論理和回路
(以下XOR回路と記す)31−XOR回路32−加算剰余回路33
−ビット循環回路34が挿入され、処理通路27にXOR回路3
5−XOR回路36−加算剰余回路37−ビット循環回路38が挿
入され、処理通路28に加算剰余回路39−ビット循環回路
41が挿入されている。XOR回路31,35にパラメータデータ
P0,P1がそれぞれ入力され、XOR回路32,36にブロックデ
ータR0,R3がそれぞれ入力されている。ビット循環回路3
4の出力は加算剰余回路29,37へそれぞれ入力され、加算
剰余回路33に定数+1及びXOR回路36の出力が入力さ
れ、加算剰余回路39に定数+1及びビット循環回路38の
出力が入力されている。
XOR回路31,32,35,36はその二つの入力データのビツト対
応の排他的論理和演算を行い、加算剰余回路29,33,37,3
9はその各入力データを加算し、その加算結果に対し法2
56の演算を行うものである。なお剰余演算のx mod y
は、xをyで割つた余りを求める演算である。ビット循
環回路30,34,38,41はデータの2ビット左方向循環を行
う。またxの2ビット左方向循環をcir xで表す。XOR
回路31,32,35,36,加算剰余回路29,33,37,39はそれぞれ
融合手段22を構成し、ビット循環回路30,34,38,41は換
字手段23を構成している。
応の排他的論理和演算を行い、加算剰余回路29,33,37,3
9はその各入力データを加算し、その加算結果に対し法2
56の演算を行うものである。なお剰余演算のx mod y
は、xをyで割つた余りを求める演算である。ビット循
環回路30,34,38,41はデータの2ビット左方向循環を行
う。またxの2ビット左方向循環をcir xで表す。XOR
回路31,32,35,36,加算剰余回路29,33,37,39はそれぞれ
融合手段22を構成し、ビット循環回路30,34,38,41は換
字手段23を構成している。
この装置は以下のような順に処理される。左矢印の記号
←はその右の演算結果を左のデータとすることを意味し
ている。
←はその右の演算結果を左のデータとすることを意味し
ている。
第1ステップ 回路31,32によりR1←R1 P0R0 回路35,36によりR2←R2 P1R3 ここでは排他的論理和演算を表す 第2ステップ 回路33で R1←(R1+1+R2)mod 256 第3ステップ 回路34で R1←cir R1 第4ステップ 回路37で R2←(R1+R2)mod 256 第5ステップ 回路38で R2←cir R2 第6ステップ 回路29で R0←(R0+R1)mod 256 回路39で R3←(R3+R2+1)mod 256 第7ステップ 回路30で R0←cir R0 回路41で R3←cir R3 最終的に得られた各処理通路25,26,27,28のデータR0,R
1,R2,R3が結合手段24で結合されて出力データとなる。
1,R2,R3が結合手段24で結合されて出力データとなる。
各ブロツクの出力データは、直接的にせよ間接的にせよ
すべて入力ブロツクの影響のもとに生成されている。例
えばブロツクデータR0について見れば、回路36でブロツ
クデータR2,R3が互に影響され、これが回路33でブロツ
クデータR1と影響され、これが回路34を通じて回路29に
与えられ、つまりR0は他のブロツクデータR1,R2,R3のす
べての影響を受ける。同様にして他のブロツクデータも
その他すべてのブロツクデータの影響を受ける。これら
により入力データRの1ビツト変化に対し出力データは
平均11ビツトも変化する。なおビット循環回路30,34,3
8,41において上述では2ビット左方向循環としたが2ビ
ツト以外としてもよい。
すべて入力ブロツクの影響のもとに生成されている。例
えばブロツクデータR0について見れば、回路36でブロツ
クデータR2,R3が互に影響され、これが回路33でブロツ
クデータR1と影響され、これが回路34を通じて回路29に
与えられ、つまりR0は他のブロツクデータR1,R2,R3のす
べての影響を受ける。同様にして他のブロツクデータも
その他すべてのブロツクデータの影響を受ける。これら
により入力データRの1ビツト変化に対し出力データは
平均11ビツトも変化する。なおビット循環回路30,34,3
8,41において上述では2ビット左方向循環としたが2ビ
ツト以外としてもよい。
第5図に示したデータ拡散装置は第6図に示すように一
般化することができる。入力データRは分割手段21によ
り各データ長がnビツトの複数のブロツクに分割され
る。分割手段21で得られる個々のブロツクのデータは、
個々の処理通路を通して処理通路のデータとして処理さ
れ、個々の処理通路において、処理通路のデータは少な
くとも融合手段22と必要なら換字手段23を通して処理さ
れる。個々の処理通路の出力は結合手段24で結合され出
力データを生成する。融合手段22はそのデータを他のブ
ロツクのデータ又はパラメータのデータと演算してブロ
ツクのデータを生成する手段、あるいはブロツクデータ
とパラメータとを演算してパラメータデータを生成する
ものである。換字手段23はブロツクデータを入力してそ
のビツト循環又はデータ入替えを行つてブロツクデータ
として出力するものである。
般化することができる。入力データRは分割手段21によ
り各データ長がnビツトの複数のブロツクに分割され
る。分割手段21で得られる個々のブロツクのデータは、
個々の処理通路を通して処理通路のデータとして処理さ
れ、個々の処理通路において、処理通路のデータは少な
くとも融合手段22と必要なら換字手段23を通して処理さ
れる。個々の処理通路の出力は結合手段24で結合され出
力データを生成する。融合手段22はそのデータを他のブ
ロツクのデータ又はパラメータのデータと演算してブロ
ツクのデータを生成する手段、あるいはブロツクデータ
とパラメータとを演算してパラメータデータを生成する
ものである。換字手段23はブロツクデータを入力してそ
のビツト循環又はデータ入替えを行つてブロツクデータ
として出力するものである。
更に第2図、第4図中のデータ拡散手段78に適するデー
タ拡散装置を第7図に示す、これはブロックデータに対
しパラメータデータを融合して別のパラメータデータを
生成する場合である。第7図において第5図と対応する
部分に同一符号を付けてある。この例では処理通路26,2
7におけるパラメータデータと融合させるためのXOR回路
31,35が省略され、代つて各処理通路25〜28における加
算剰余回路29,33,37,39の各他通路からの入力側にXOR回
路42,43,44,45がそれぞれ挿入され、これらXOR回路42,4
3,44,45にパラメータデータP2,P0,P1,P3が入力され、こ
れらXOR回路42,43,44,45でそれぞれパラメータデータと
ブロツクデータとが融合されてパラメータデータが生成
され、それぞれ対応する加算剰余回路へ供給される。こ
の場合も入力データRの1ビツト変化に対し、出力デー
タは平均11ビット変化する。
タ拡散装置を第7図に示す、これはブロックデータに対
しパラメータデータを融合して別のパラメータデータを
生成する場合である。第7図において第5図と対応する
部分に同一符号を付けてある。この例では処理通路26,2
7におけるパラメータデータと融合させるためのXOR回路
31,35が省略され、代つて各処理通路25〜28における加
算剰余回路29,33,37,39の各他通路からの入力側にXOR回
路42,43,44,45がそれぞれ挿入され、これらXOR回路42,4
3,44,45にパラメータデータP2,P0,P1,P3が入力され、こ
れらXOR回路42,43,44,45でそれぞれパラメータデータと
ブロツクデータとが融合されてパラメータデータが生成
され、それぞれ対応する加算剰余回路へ供給される。こ
の場合も入力データRの1ビツト変化に対し、出力デー
タは平均11ビット変化する。
「発明が解決しようとする課題」 先に示したデータ拡散装置を用いればLSI化が容易でフ
ァームウエアのプログラム処理量が少なく、かつ強い暗
号、つまり暗号を破ることが比較的困難であるが、暗号
の強さにおいて必ずしも十分でない、つまりデータ拡散
が必ずしも十分とは言い難い場合がある。
ァームウエアのプログラム処理量が少なく、かつ強い暗
号、つまり暗号を破ることが比較的困難であるが、暗号
の強さにおいて必ずしも十分でない、つまりデータ拡散
が必ずしも十分とは言い難い場合がある。
「課題を解決するための手段」 この発明によれば入力データは同一データ長の複数ブロ
ックに分割され、その各ブロックについて、複数の融合
手段の又はこれと換字手段との直列接続が設けられ、融
合手段は入力されたブロックの1つのデータと、他のブ
ロックのデータ又はこれと同一長のパラメータとを演算
して同一長の新たなブロックのデータあるいは同一長の
新たなパラメータを生成するものであり、換字手段は入
力されたブロックの1つのデータをビット循環又はビッ
ト入換えそして新たな同一長のブロックのデータとして
出力するものであり、上記直列接続はそのブロックのデ
ータが他のブロックのデータとして融合手段へ供給され
るように相互に接続されて、分割された各ブロックのデ
ータに対し、他のすべてのブロックのデータが直接又は
間接的に融合される。これら直列接続の各出力のデータ
が結合されて、入力データと同一長のデータ拡散された
出力データを得るデータ拡散装置において、 第1の発明では、換字手段の一部又は全部について、そ
の前段に選択手段が挿入され、その選択手段はパラメー
タ又は他のブロックのデータにより制御されて、入力さ
れたブロックのデータが換字処理して出力されるか、そ
のまゝ出力される。
ックに分割され、その各ブロックについて、複数の融合
手段の又はこれと換字手段との直列接続が設けられ、融
合手段は入力されたブロックの1つのデータと、他のブ
ロックのデータ又はこれと同一長のパラメータとを演算
して同一長の新たなブロックのデータあるいは同一長の
新たなパラメータを生成するものであり、換字手段は入
力されたブロックの1つのデータをビット循環又はビッ
ト入換えそして新たな同一長のブロックのデータとして
出力するものであり、上記直列接続はそのブロックのデ
ータが他のブロックのデータとして融合手段へ供給され
るように相互に接続されて、分割された各ブロックのデ
ータに対し、他のすべてのブロックのデータが直接又は
間接的に融合される。これら直列接続の各出力のデータ
が結合されて、入力データと同一長のデータ拡散された
出力データを得るデータ拡散装置において、 第1の発明では、換字手段の一部又は全部について、そ
の前段に選択手段が挿入され、その選択手段はパラメー
タ又は他のブロックのデータにより制御されて、入力さ
れたブロックのデータが換字処理して出力されるか、そ
のまゝ出力される。
第2の発明では、前記データ拡散装置において、換字手
段の一部又は全部についてその前段に選択手段が挿入さ
れ、その選択手段はパラメータ又は他のブロックのデー
タにより制御されて、入力されたブロックのデータが換
字処理して出力されるか、他のブロックのデータと演算
されて出力される。
段の一部又は全部についてその前段に選択手段が挿入さ
れ、その選択手段はパラメータ又は他のブロックのデー
タにより制御されて、入力されたブロックのデータが換
字処理して出力されるか、他のブロックのデータと演算
されて出力される。
「実施例」 第8図にこの発明の実施例を示し、第5図及び第7図と
対応する部分に同一符号を付けてある。処理通路25にXO
R回路46 −加算剰余回路29−換字メモリ51が挿入される。処理通
路26にXOR回路31−32−加算剰余回路33−XOR回路52−ビ
ツト循環回路34−加算剰余回路53が挿入される。処理通
路27にXOR回路35−36−54−加算剰余回路37が挿入され
る。
対応する部分に同一符号を付けてある。処理通路25にXO
R回路46 −加算剰余回路29−換字メモリ51が挿入される。処理通
路26にXOR回路31−32−加算剰余回路33−XOR回路52−ビ
ツト循環回路34−加算剰余回路53が挿入される。処理通
路27にXOR回路35−36−54−加算剰余回路37が挿入され
る。
が挿入される。XOR回路46,52にそれぞれパラメータデー
タP2,P3が入力され、XOR回路49にビツト循環回路34の出
力が供給される。加算剰余回路53,57,61に加算剰余回路
37の出力がそれぞれ供給され、加算剰余回路55に加算剰
余回路33の出力が供給される。マルチプレクサ47,56,59
は1ビツトの制御入力によりその二つの出力側の何れか
に入力側を選択接続するものであり、マルチプレクサ4
7,56は1ビツトのパラメータデータP4,P5によりそれぞ
れ制御され、マルチプレクサ59は加算剰余回路37の出力
中の特定の1ビツトにより制御される。布線換字回路4
8,62は入力データのビツト位置の入れ換えを布線により
行うものであり、換字メモリ51,58は例えばROMで構成さ
れ、入力データをアドレスとして読出し、他のデータを
出力することにより換字処理を行うものである。
タP2,P3が入力され、XOR回路49にビツト循環回路34の出
力が供給される。加算剰余回路53,57,61に加算剰余回路
37の出力がそれぞれ供給され、加算剰余回路55に加算剰
余回路33の出力が供給される。マルチプレクサ47,56,59
は1ビツトの制御入力によりその二つの出力側の何れか
に入力側を選択接続するものであり、マルチプレクサ4
7,56は1ビツトのパラメータデータP4,P5によりそれぞ
れ制御され、マルチプレクサ59は加算剰余回路37の出力
中の特定の1ビツトにより制御される。布線換字回路4
8,62は入力データのビツト位置の入れ換えを布線により
行うものであり、換字メモリ51,58は例えばROMで構成さ
れ、入力データをアドレスとして読出し、他のデータを
出力することにより換字処理を行うものである。
この構成においてはマルチプレクサ47においてパラメー
タデータP4の値に応じてXOR回路46の出力がそのままXOR
回路へ供給され、又は布線換字回路48で換字処理されて
XOR回路49へ供給される。このようにブロツクデータに
対する処理の変更がパラメータデータによりダイナミツ
クに行われる。
タデータP4の値に応じてXOR回路46の出力がそのままXOR
回路へ供給され、又は布線換字回路48で換字処理されて
XOR回路49へ供給される。このようにブロツクデータに
対する処理の変更がパラメータデータによりダイナミツ
クに行われる。
「発明の効果」 この発明によればマルチプレクサ、つまり選択手段によ
り換字処理を行ったり、行わなかったり、あるいは換字
処理を行ったり、その代わりに融合処理を行った処理を
ダイナミックに変更できるため、データ拡散が一層複雑
に行われ、入力データが1ビット変化しても出力データ
は常に半分程度変化し、拡散効果が大きく強い暗号が得
られ、鍵推定が困難でデータ拡散部89での暗号解読が非
常に難しくなり、強い暗号が得られる。
り換字処理を行ったり、行わなかったり、あるいは換字
処理を行ったり、その代わりに融合処理を行った処理を
ダイナミックに変更できるため、データ拡散が一層複雑
に行われ、入力データが1ビット変化しても出力データ
は常に半分程度変化し、拡散効果が大きく強い暗号が得
られ、鍵推定が困難でデータ拡散部89での暗号解読が非
常に難しくなり、強い暗号が得られる。
また拡大手段を用いていないためLSI化が容易であり、
かつファールウエアのプログラム処理量が少なくて済
む。
かつファールウエアのプログラム処理量が少なくて済
む。
第1図は暗号装置中の暗号処理部の例を示すブロツク
図、第2図は第1図の暗号処理部と対応する鍵処理部の
例を示すブロツク図、第3図は中間キーが224ビツトの
場合のこの発明の暗号装置の暗号処理部の例を示すブロ
ツク図、第4図は128ビツトの暗号鍵を224ビツトの中間
キーに処理する場合の第3図の暗号処理部に対する鍵処
理部の例を示すブロツク図、第5図はデータ拡散手段の
例を示すブロツク図、第6図はデータ拡散手段の一般的
構成例を示すブロツク図、第7図はデータ拡散手段の他
の例を示すブロツク図、第8図は処理をダイナミツクに
変化させるようにしたこの発明のデータ拡散装置の実施
例を示すブロツク図、第9図は従来の暗号装置の暗号処
理部を示すブロツク図、第10図は第9図中の関数手段94
を示すブロツク図、第11図は従来の暗号装置の鍵処理部
を示すブロツク図である。
図、第2図は第1図の暗号処理部と対応する鍵処理部の
例を示すブロツク図、第3図は中間キーが224ビツトの
場合のこの発明の暗号装置の暗号処理部の例を示すブロ
ツク図、第4図は128ビツトの暗号鍵を224ビツトの中間
キーに処理する場合の第3図の暗号処理部に対する鍵処
理部の例を示すブロツク図、第5図はデータ拡散手段の
例を示すブロツク図、第6図はデータ拡散手段の一般的
構成例を示すブロツク図、第7図はデータ拡散手段の他
の例を示すブロツク図、第8図は処理をダイナミツクに
変化させるようにしたこの発明のデータ拡散装置の実施
例を示すブロツク図、第9図は従来の暗号装置の暗号処
理部を示すブロツク図、第10図は第9図中の関数手段94
を示すブロツク図、第11図は従来の暗号装置の鍵処理部
を示すブロツク図である。
Claims (2)
- 【請求項1】入力データをパラメータでデータ拡散する
装置であって、 上記入力データをそのデータ長方向において、同一デー
タ長の複数のブロックに分ける分割手段と、 入力されたブロックの1つのデータと、他のブロックの
データ又はこれと同一長のパラメータとを演算して同一
長の新たなブロックのデータあるいは同一長の新たなパ
ラメータを生成する複数の融合手段と、 入力されたブロックの1つのデータをビット循環又はビ
ット入換えして新たな同一長のブロックのデータとして
出力する複数の換字手段と、 上記各出力ブロックについての出力データをそのデータ
長方向において順次結合して上記入力データと同一長の
データ拡散された新たなデータを出力する結合手段とを
備え、 上記分割された各ブロックについて、複数の融合手段の
又はこれと換字手段との直列接続が設けられ、これら複
数の直列接続はそのブロックのデータが上記他のブロッ
クのデータとして融合手段へ供給されるように相互に接
続されて、上記分割された各ブロックのデータに対し、
他のすべてのブロックのデータが直接又は間接的に融合
され、これら複数の直列接続より上記ブロックの出力デ
ータをそれぞれ出力するデータ拡散装置において、 上記換字手段の一部又は全部について、その前段に挿入
され、これに入力されるデータに対し換字処理を行う
か、換字処理をしないかの制御がパラメータ又は他のブ
ロックのデータにより行われる選択手段が設けられてい
ることを特徴とするデータ拡散装置。 - 【請求項2】入力データをパラメータでデータ拡散する
装置であって、 上記入力データをそのデータ長方向において、同一デー
タ長の複数のブロックに分ける分割手段と、 入力されたブロックの1つのデータと、他のブロックの
データ又はこれと同一長のパラメータとを演算して同一
長の新たなブロックのデータあるいは同一長の新たなパ
ラメータを生成する複数の融合手段と、 入力されたブロックの1つのデータをビット循環又はビ
ット入換えして新たな同一長のブロックのデータとして
出力する複数の換字手段と、 上記各出力ブロックについての出力データをそのデータ
長方向において順次結合して上記入力データと同一長の
データ拡散された新たなデータを出力する結合手段とを
備え、 上記分割された各ブロックについて、複数の融合手段の
又はこれと換字手段との直列接続が設けられ、これら複
数の直列接続はそのブロックのデータが上記他のブロッ
クのデータとして融合手段へ供給されるように相互に接
続されて、上記分割された各ブロックのデータに対し、
他のすべてのブロックのデータが直接又は間接的に融合
され、これら複数の直列接続より上記ブロックの出力デ
ータをそれぞれ出力するデータ拡散装置において、 上記換字手段の一部又は全部について、その前段に挿入
され、これに入力されるデータに対し、換字処理を行う
か、これに入力されるデータと他のブロックのデータと
の演算をするかがパラメータ又は他のブロックのデータ
により行われる選択手段が設けられていることを特徴と
するデータ拡散装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62037231A JPH0690597B2 (ja) | 1987-02-20 | 1987-02-20 | データ拡散装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62037231A JPH0690597B2 (ja) | 1987-02-20 | 1987-02-20 | データ拡散装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63204289A JPS63204289A (ja) | 1988-08-23 |
JPH0690597B2 true JPH0690597B2 (ja) | 1994-11-14 |
Family
ID=12491832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62037231A Expired - Lifetime JPH0690597B2 (ja) | 1987-02-20 | 1987-02-20 | データ拡散装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0690597B2 (ja) |
-
1987
- 1987-02-20 JP JP62037231A patent/JPH0690597B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63204289A (ja) | 1988-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0221538B1 (en) | Data randomization equipment and method | |
AU2003213312B2 (en) | Block cipher apparatus using auxiliary transformation | |
US5351299A (en) | Apparatus and method for data encryption with block selection keys and data encryption keys | |
EP1005191A1 (en) | Encryption/decryption unit and storage medium | |
EP0896452A2 (en) | Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same | |
KR20010111784A (ko) | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러 | |
EP1507356A2 (en) | Cryptographic method | |
EP1059760A1 (en) | Method for the block-encryption of discrete data | |
JP2950485B2 (ja) | ストリーム暗号処理装置 | |
JP3547474B2 (ja) | 暗号演算回路 | |
EP1202488B1 (en) | Encryption sub-key generation circuit | |
JPH0690597B2 (ja) | データ拡散装置 | |
CN110247754B (zh) | 一种分组密码fbc的实现方法及装置 | |
JPH09269727A (ja) | 暗号化方法および暗号化装置 | |
JPH10153954A (ja) | 暗号装置 | |
JP2834450B2 (ja) | 暗号装置 | |
KR100284587B1 (ko) | 대칭키 암호의 라운드 회로 | |
JPH1152850A (ja) | 暗号変換方法および装置 | |
KR100316025B1 (ko) | 데이터 암호 표준 알고리즘을 이용한 암호 및 복호 장치 | |
JPS59167147A (ja) | 暗号装置 | |
US8073141B2 (en) | Execution unit for performing the data encryption standard | |
JP2001125483A (ja) | スクランブラ回路 | |
WO2002058036A1 (en) | Encryption circuit | |
JP2587423B2 (ja) | 暗号処理装置 | |
JPH01234883A (ja) | 可変型暗号化処理制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |