JP2553913B2 - ブロック暗号装置のデータ拡散器 - Google Patents

ブロック暗号装置のデータ拡散器

Info

Publication number
JP2553913B2
JP2553913B2 JP63133708A JP13370888A JP2553913B2 JP 2553913 B2 JP2553913 B2 JP 2553913B2 JP 63133708 A JP63133708 A JP 63133708A JP 13370888 A JP13370888 A JP 13370888A JP 2553913 B2 JP2553913 B2 JP 2553913B2
Authority
JP
Japan
Prior art keywords
data
bit
processing
rotation
dividing
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
JP63133708A
Other languages
English (en)
Other versions
JPH01302289A (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 JP63133708A priority Critical patent/JP2553913B2/ja
Publication of JPH01302289A publication Critical patent/JPH01302289A/ja
Application granted granted Critical
Publication of JP2553913B2 publication Critical patent/JP2553913B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、暗号装置の中核となるデータ拡散機構、
また、パスワード暗号方式に用いる低速で安全な暗号ア
ルゴリズムを実現できるデータ拡散器に関するものであ
る。
「従来の技術」 従来、データ暗号方式として、FEAL(「清水,宮口:
“高速データ暗号アルゴリズムFEAL",電子情報通信学会
論文誌D vol,J 70−D No.7 pp,1413−1423(1987)」参
照、ただし、FEALはこの論文に記載されている4段デー
タ処理から8段データ処理に1987年10月に仕様を変更し
ている)が知られている。
第2図にFEALの構造を示す。第2図において、1は鍵
スケジュール部、2はデータ処理部、Pは64ビットの平
文データ、Kは64ビットの秘密鍵、Cは64ビットの暗号
文、Ki(i=0〜15,各16ビット)は合計256ビットの中
間鍵、fおよびfkはそれぞれデータ処理部2、鍵スケジ
ュール部1において32ビットのデータの拡散処理を行う
データ拡散処理部、はビット毎の排他的論理和を示し
ている。
第2図に示したFEALの動作を簡単に説明する。FEALは
64ビットの秘密鍵を用いて64ビットの平文を処理し64ビ
ットの暗号文を生成する暗号方式であり、ソフトウェア
での処理に適した暗号方式である。
まず、鍵スケジュール部1について説明する。入力さ
れた64ビットの秘密鍵は32ビットずつの左右のデータに
分けられる。左データは右データをパラメータデータと
し、32ビットのデータ拡散処理部fkによって拡散され、
32ビットの中間鍵および次段の右データとなる。また、
右データは先述の通り、fkのパラメータとなる他、次段
の左データとなる。以下、合計8段このデータ拡散処理
部fkを用いた処理を行うが、2段目以降はデータ拡散処
理部fkのパラメータデータに1段前のデータ拡散処理部
fkへの入力左データを排他的論理和で加えている。この
ようにして、鍵スケジュール部1は、64ビットの秘密鍵
Kから256ビットの中間鍵Kiを生成する。
次に、データ処理部2について説明する。入力された
64ビットの平文は、まず、64ビットの中間鍵がビット毎
の排他的論理和で加えられ、左右32ビットずつのデータ
に分けられる。続いて、右データと左データのビット毎
の排他的論理和をとって新しく右データとする。この右
データを次段の左処理とし、この右データをデータ拡散
処理部fによって、16ビットの中間鍵を用いて拡散処理
し、さらに、左データとビット毎の排他的論理和をとっ
て次段の右データとする。以下、合計8段このデータ拡
散処理部fを用いた処理を行うが、最終段については、
左右データの入れ替えをせず、右データと左データのビ
ット毎の排他的論理和をとって新しく右データとし、最
後に64ビットの中間鍵がビット毎の排他的論理和で加え
られ、最終出力を得る。
次に、FEALのデータ処理部で用いられているデータ拡
散処理部fについて説明する。第3図にデータ拡散処理
部fの構造を示す。第3図において、Aは32ビットの入
力データ、Bは32ビットの出力データ、A1〜A4はAを4
分割した各8ビット、Kfは16ビットの中間鍵、はビッ
ト毎の排他的論理和、ADDは加算(最上位ビットからの
桁上がりは無視)、ROL2は左方向への2ビット回転処
理、+1→および←+1は1の加算を示している。
データ拡散処理部fは次のように動作する。まず、入
力された32ビットのデータはA1〜A4の各8ビットの4デ
ータに分けられる。A2とA3には中間鍵Kfがビット毎の排
他的論理和で加算される。さらに、A2にはA1が、またA3
にはA4が排他的論理和で加えられる。次に、A2とA3を加
算しさらに1を加算した後、左方向に2ビットのビット
回転処理を施して新しくA2のデータとする。A3について
は、A3とA2を加算して左方向に2ビットのビット回転処
理を施して新しくA3のデータとする。A1については、A1
とA2を加算して左方向に2ビットのビット回転処理を施
して新しくA1のデータとする。A4については、A4とA3を
加算しさらに1を加算した後、左方向に2ビットのビッ
ト回転処理を施して新しくA4のデータとする。以上一連
の処理を順に施すことにより、32ビットの出力データB
を得る。
以上説明したFEALのデータ拡散処理部fは、FEALのデ
ータランダム化性能および速度性能に最も影響する処理
部である。
さらに、知られている暗号アルゴリズムとして、DES
(NBS:“Data Encryption Standard",FIPS−PUB−45,
(1977)、を参照)があげられる。DESはFEAL同様、64
ビットの秘密鍵データ(うち56ビットが有効)を用いて
64ビットの入力平文データを暗号化し、64ビットの暗号
文データを得るアルゴリズムである。DESはハードウェ
アでのインプリメントに適した設計になっており、参照
テーブルをたくさん用いている。ソフトウェアで実現し
た場合、FEALと比較して、プログラム規模で約6倍、実
行速度は数十倍おそい。
一方、パスワード方式としては、UNIXで用いられてい
るパスワード方式が利便性および安全性の点から優れて
いる(R,Morris,K,Thompson:“Password Security:A Ca
se History",UNIX Programmer's Manual,Seventh Editi
on,volume 2B,(1979,1)、を参照)。
パスワード方式はコンピュータシステムへの入口部分
に位置し、セキュリティ上重要な役割を果たしている。
この部分が破られると、不正行為者の侵入を許し、シス
テムは安全を脅かされる。
パスワード方式はユーザインタフェース部分にあるた
め、安全性と同時に使い易さが要求される。この妥協点
に設計されているのがさきに示したUNIXのパスワード方
式である。UNIXのパスワード方式では、パスワードファ
イル上のセキュリティを考慮して、DESによる暗号化が
用いられている。パスワード方式への攻撃法は、大きく
は次の二つに分けられる。
パスワード方式に用いられている暗号方式を破る。
想定したパスワードをしらみ潰しにあたる。
DESは一般に安全であると考えられているので、の
アプローチは困難である。そこで、への対策を考えれ
ばよい。これに対しては、いくつか考えられている。中
でも、特に注目したいのは、暗号化を遅くするという問
題である。パスワードのしらみ潰しが現実的な時間内に
行えないようにしている。DESのLSIをパスワードのしら
み潰しに使えないように工夫しているのである。
UNIXのパスワード方式をさらに詳細に説明する。さき
に述べたように、DESによる暗号化が用いられている。
具体的には、パスワードを秘密鍵として、定数(0)を
暗号化している。暗号化は、25回繰り返して行われ、64
ビットの暗号結果が11文字の印字可能な文字に再変換さ
れ、パスワードファイルに保存される。
パスワードを構成しているキャラクタセットとパスワ
ードの長さに対して、パスワードのしらみ潰しがどれく
らいの時間で完了するかというケーススタディを行って
みると、計算機の処理能力にもよるのであるが、最低条
件として、6文字以上(8文字までが有効)で、英小文
字と数字を組み合せ、容易に推測できないパスワードを
使うことがわかる。
上で示した条件も、不正行為者が暗号LSIを使ってパ
スワードのしらみ潰しを行えるのでは意味を失う。UNIX
のパスワード方式では、DESの暗号LSIを使えなくする目
的と、さらに、同一のパスワードに対してパスワードフ
ァイルのデータが同一にならないように、リアルタイム
クロックから取ってきたSALTと呼ばれる12ビットの乱数
データを用いる方式を採用している。
SALTは、DESアルゴリズムの初期テーブルのひとつで
ある拡大行列Eを書き換えている。SALTは12ビットであ
るから、SALTの値に応じて、拡大行列Eは4096通りに変
化する。すなわち、DESが4096通りのバージョンを持つ
ことになる。
SALTは2文字の印字可能なデータに再変換され、さき
に述べたように11文字に再変換された暗号パスワードデ
ータの前にリンクされ、/etc/passwdというファイルに
登録されている。ユーザがログインする際には、SALTが
読み出され、タイプされたパスワードを暗号化してパス
ワードファイル上の暗号パスワードデータと比較され
る。
以上説明した通り、UNIXのパスワード方式ではDESが
用いられているが、FEALを暗号方式として採用している
システムでは、パスワード方式に対してもFEALを用いた
い。これは管理プログラムの削減につながるためであ
る。
この発明の目的は、UNIXタイプのパスワード方式にFE
ALを適用するための要素技術となるデータ拡散処理部
(先述のf関数)を提供することにある。
「課題を解決するための手段」 この発明のデータ拡散器は、32×n(nは自然数)ビ
ットの入力データを4つの同一データ長のブロックに分
ける第1の分割手段と、12×nビットの乱数データを4
つの同一データ長のSALTデータに分ける第2の分割手段
と、前記第1の分割手段により分割されたブロックの各
2ずつのデータと、鍵のデータとをそれぞれ排他的論理
和演算を行う排他的論理和演算手段と、前記第1の分割
手段により分割された2つのブロックのデータと、前記
排他的論理和演算手段の2つの演算結果のブロックデー
タとの4つのブロックデータをそれぞれ処理系統とし、
これら処理系統間のデータの加算、処理系統のデータに
対するパラメータの加算、これら4つの処理系統のデー
タに対する、それぞれ前記第2の分割手段により分割さ
れた4つのSALTデータの値に応じた回転処理を行って各
系統ごとに融合回転処理結果のデータを得る融合回転手
段と、前記融合回転手段の処理結果の4つの同一長のブ
ロックのデータを結合して、前記入力データ長と同一の
新たな拡散データを得る結合手段を有する。
以上の処理によって、例えばFEALのように、参照テー
ブルのかわりにビット回転処理を用いている暗号アルゴ
リズムに対して、パラメータのデータ量に応じた多様性
をもたせることができる。
「実施例」 第1図はこの発明の実施例を示している。第1図にお
いて、Aは32ビットの入力データ、Bは32ビットの出力
データ、A1〜A4はAを4分割した各8ビットのデータ、
Kfは16ビットの中間鍵、はビット毎の排他的論理和を
表している。SALTはリアルタイムクロックなどからとっ
た12ビットの乱数データを表しており、0〜7を表す3
ビットのデータD1〜D4に4分割されている。また、ROL
は、4分割されたSALTの0〜7の値が示すビット数だけ
左方向にデータの回転処理を行う。
第1図に示した実施例は次のように動作する。まず、
入力された32ビットのデータはA1〜A4の各8ビットの4
データに分けられる。A2とA3には中間鍵Kfがビット毎の
排他的論理和で加算される。さらに、A2にはA1が、また
A3にはA4が排他的論理和で加えられる。次に、A2とA3を
加算しさらに1を加算した後、SALTからの0〜7の値に
応じたビット数だけ左方向に回転処理を施して新しくA2
のデータとする。A3については、A3とA2を加算して、SA
LTからの0〜7の値に応じたビット数だけ左方向に回転
処理を施して新しくA3のデータとする。A1についても同
様に、A1とA2を加算してSALTからの0〜7の値に応じた
ビット数だけ左方向に回転処理を施して新しくA1のデー
タとする。A4についても、A4とA3を加算しさらに1を加
算した後、SALTからの0〜7の値に応じたビット数だけ
左方向に回転処理を施して新しくA4のデータとする。以
上一連の処理を順に施すことにより、32ビットの出力デ
ータBを得る。
この実施例では、FEALのf関数に対して、12ビットの
SALTデータによる可変なビット回転数を生じさせ、f関
数に4096通りの多様性をもたせる方式を示した。この方
式は、SALTデータのデータ長が増減した場合でも簡単に
対応できる。また、FEALのf関数以外にも、ビット回転
処理を用いるタイプのf関数であれば同様に適用するこ
とができる。また、ビット回転の方向は、右でも同等の
働きを示す。
「発明の効果」 以上説明したように、この発明のデータ拡散器は、デ
ータを拡散する際にリアルタイムクロックなどのように
刻々と内容がかわる乱数データに応じて、処理手段のう
ちのビット回転処理のビット回転数をかえている。この
ため、この方法による出力拡散データは、同じ入力デー
タに対して、その乱数データの値に応じた数のバリエー
ションを持つことになる。例えば12ビットの乱数データ
を用いれば、4096通りの異なる働きをするということで
ある。
特に、FEALのf関数に適用した場合には、市販のFEAL
のLSIを使えなくすることができる。すなわち、遅い暗
号を実現できる。専用にLSIをおこし直すには膨大な費
用がかかるため、この発明は、パスワード方式に適用す
れば、パスワードのしらみ潰し攻撃に対して有効であ
る。
また、暗号化の機構としてみれば、この発明は、ビッ
ト回転数を動的にかえる処理を用いているため、2ビッ
トの固定回転処理の場合に比較して、暗号強度を著しく
高めている。
【図面の簡単な説明】
第1図はこの発明の実施例を示すブロック図、第2図は
データ暗号方式FEALの構造を示すブロック図、第3図は
FEALにおいて用いられているデータ拡散処理部fの構造
を示すブロック図である。 1……鍵スケジュール部、2……データ処理部、P……
64ビットの平文データ、K……64ビットの秘密鍵、C…
…64ビットの暗号文、A……32ビットの入力データ、B
……32ビットの出力データ、A1〜A4……Aを4分割した
各8ビットデータ、Ki(i=0〜15,各16ビット)……
合計256ビットの中間鍵、Kf……16ビットの中間鍵、f
……データ処理部において32ビットのデータの拡散処理
を行う処理関数、fk……鍵スケジュール部において32ビ
ットのデータの拡散処理を行う処理関数、……ビット
毎の排他的論理和、SALT……リアルタイムクロックなど
からとった12ビットの乱数データ、ROL2……左方向への
2ビット回転処理、ROL……左方向へのビット回転処理
(ビット回転数はパラメータにより0〜7の範囲でかわ
る)、D……リアルタイムクロックからのデータ、D1
D4D……を4分割した8ビットデータ。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】ビット回転処理を用いてデータ拡散を行う
    ブロック暗号装置のデータ拡散器であって、 32×n(nは自然数)ビットの入力データを4つの同一
    データ長のブロックに分ける第1の分割手段と、 12×nビットの乱数データを4つの同一データ長のSALT
    データに分ける第2の分割手段と、 前記第1の分割手段により分割されたブロックの各2ず
    つのデータと、鍵のデータとをそれぞれ排他的論理和演
    算を行う排他的論理和演算手段と、 前記第1の分割手段により分割された2つのブロックの
    データと、前記排他的論理和演算手段の2つの演算結果
    のブロックデータとの4つのブロックデータをそれぞれ
    処理系統とし、これら処理系統間のデータの加算、処理
    系統のデータに対するパラメータの加算、これら4つの
    処理系統のデータに対する、それぞれ前記第2の分割手
    段により分割された4つのSALTデータの値に応じた回転
    処理を行って各系統ごとに融合回転処理結果のデータを
    得る融合回転手段と、 前記融合回転手段の処理結果の4つの同一長のブロック
    のデータを結合して、前記入力データ長と同一の新たな
    拡散データを得る結合手段を有するブロック暗号装置の
    データ拡散器。
  2. 【請求項2】前記融合回転手段は各系統において加算演
    算結果に対して回転処理を行い、その回転処理結果を前
    記結合手段へ送ることを特徴とする請求項1記載のブロ
    ック暗号装置のデータ拡散器。
JP63133708A 1988-05-30 1988-05-30 ブロック暗号装置のデータ拡散器 Expired - Fee Related JP2553913B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63133708A JP2553913B2 (ja) 1988-05-30 1988-05-30 ブロック暗号装置のデータ拡散器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63133708A JP2553913B2 (ja) 1988-05-30 1988-05-30 ブロック暗号装置のデータ拡散器

Publications (2)

Publication Number Publication Date
JPH01302289A JPH01302289A (ja) 1989-12-06
JP2553913B2 true JP2553913B2 (ja) 1996-11-13

Family

ID=15111036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63133708A Expired - Fee Related JP2553913B2 (ja) 1988-05-30 1988-05-30 ブロック暗号装置のデータ拡散器

Country Status (1)

Country Link
JP (1) JP2553913B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142099B2 (en) 2013-01-11 2018-11-27 Qualcomm Incorporated Method and apparatus for a computable, large, variable and secure substitution box

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Infosystems Vol.32No.4(1985.4)J.Gish"Salting’the password"P.88〜89
情報処理学会研究報告88−DPS−37(1988.5.20)清水明宏「高速秘密鍵暗号方式のLAN適用に関する考察」P.57〜64

Also Published As

Publication number Publication date
JPH01302289A (ja) 1989-12-06

Similar Documents

Publication Publication Date Title
Thabit et al. A new lightweight cryptographic algorithm for enhancing data security in cloud computing
EP0658022B1 (en) Cryptographic key generation using sequential concatenation
JP3053106B2 (ja) 暗号化処理装置、及び復号化処理装置
JP2760799B2 (ja) 暗号方式
US7899190B2 (en) Security countermeasures for power analysis attacks
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
EP0792043A3 (en) Method of sharing cryptokey
CN108768617A (zh) 一种基于传统分组密码的保持格式加密方法
Gafsi et al. High securing cryptography system for digital image transmission
Preparata et al. Fully dynamic techniques for point location and transitive closure in planar structures
Marzan et al. An enhanced key security of Playfair cipher algorithm
Riman et al. Comparative analysis of block cipher-based encryption algorithms: a survey
Sekar et al. Comparative study of encryption algorithm over big data in cloud systems
JP2553913B2 (ja) ブロック暗号装置のデータ拡散器
CN115766244A (zh) 车联网信息加密方法、装置、计算机设备和存储介质
PRAKASH Performance evaluation of cloud data security framework using symmetric key algorithm
Haryono Comparison encryption of how to work caesar cipher, hill cipher, blowfish and twofish
Tun et al. Message Security using One Time Pad and AES Hybrid Cryptography
Balilo et al. CipherBit192: Encryption Technique for Securing Data
JP2870532B2 (ja) 暗号変換装置
Latinović et al. Safety Analysis Of Reverse Algorithm Encryption In Databases
Tandel et al. A Review of Encryption Techniques Used in Cloud Computing
Aru INVESTIGATING THE EFFECT OF DOUBLE EXCLUSIVE OR OPERATION IN TRIPLE DATA ENCRYPTION ALGORITHM
Giridharan et al. A Survey on Implementation and Development of AES Cryptography Algorithm In Various Fields
Khakim et al. Analysis of password after encryption by using the combination of AES256 and MD5 algorithm methods

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees