JP2000089666A - 暗号化/復号化装置 - Google Patents

暗号化/復号化装置

Info

Publication number
JP2000089666A
JP2000089666A JP10262073A JP26207398A JP2000089666A JP 2000089666 A JP2000089666 A JP 2000089666A JP 10262073 A JP10262073 A JP 10262073A JP 26207398 A JP26207398 A JP 26207398A JP 2000089666 A JP2000089666 A JP 2000089666A
Authority
JP
Japan
Prior art keywords
encryption
data
bit
linear processing
stages
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.)
Pending
Application number
JP10262073A
Other languages
English (en)
Inventor
Makoto Sugita
誠 杉田
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 JP10262073A priority Critical patent/JP2000089666A/ja
Publication of JP2000089666A publication Critical patent/JP2000089666A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】従来に比べより高い安全性の保証が可能な暗号
化/復号化装置を実現する。 【解決手段】復号化および暗号化に共通の秘密鍵を用
い、複数段の暗号化処理段によって、一定のビット長の
ブロック毎にデータの暗号化および復号化を行う暗号化
/復号化装置において、複数段の暗号化処理段において
暗号化関数を実現する暗号化関数部が、入力されたデー
タに対して秘密鍵から生成された鍵を用いて攪乱演算を
行って演算結果を出力する非線形処理部301−1〜3
01−4と、非線形処理部から出力されたデータを入力
し、所定の線形演算を行って演算結果を出力する線形処
理部302−1〜302−3とを、交互に、非線形処理
部を4段と、線形処理部を3段、縦段接続して構成され
ている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は共通鍵暗号アルゴ
リズムにおけるブロック暗号方式を用いた暗号化/復号
化装置に係り、特に、差分解読法や線形解読法に対して
強い暗号化/復号化装置に関する。
【0002】
【従来の技術】図1に、暗号化および復号化において共
通の秘密鍵を用いる共通鍵暗号の一方式であるデータの
暗号化および復号化を一定のまとまった長さ毎に行うブ
ロック暗号方式による暗号化および復号化装置(以下、
暗号化/復号化装置)の基本的な機能構成を示す。図1
に示す暗号化/復号化装置は、j個のそれぞれ暗号化/
復号化処理を行う暗号化処理段101−1,101−
2,…,101−jから構成されている。この暗号化/
復号化装置は、64ビット、128ビット等の一定のブ
ロック長毎に平文S又は暗号文Tを入力して、複数の暗
号化処理段101−1,101−2,…,101−jに
よって暗号化又は復号化処理を複数回繰り返し行い、そ
れぞれ入力文と同一のブロック長を有する暗号文U又は
平文Vを出力する。各暗号化処理段101−1,101
−2,…,101−jでは暗号化/復号化処理の際に、
秘密鍵のデータに基づく計算処理が行われる。その際、
各暗号化処理段101−1,101−2,…,101−
jでは、1つの複数ビットの秘密鍵からビット単位の転
置、シフト等により生成された異なる複数の鍵が使用さ
れる。なお、暗号化と復号化の処理では、各暗号化処理
段101−1,101−2,…,101−jで用いられ
る複数の鍵の使用順序が互いに逆順となる。また、以下
の説明では暗号化と復号化で共通する事項に対して、暗
号化に関連する名称、用語を代表して使用する。
【0003】図2は、図1における暗号化処理段101
−1〜101−jの各段における機能構成を示すブロッ
ク図である。図2に示す暗号化処理段は、2つの入力に
対してビット毎に排他的論理和を行って出力する排他的
論理和回路(以下、XOR回路)201−iと、複数ビ
ットからなる鍵を用いた暗号化処理を行う暗号化関数部
202−iから構成されている。入力S、あるいは前段
から出力されたデータのブロック長の左半分のビットの
Pi−1は、XOR回路201−iへと入力され、暗号
化関数部202−iの出力Riとビット毎に排他的論理
和(以下、XOR)が行われて、後段の右半分の入力と
なる出力Qi(=Pi−1(+)Ri)として出力され
る((+)はXORを示す)。一方、 各段の入力デー
タの右半分のビットのQi−1は、暗号化関数部202
−iへ入力されるとともに、後段の左半分の入力となる
出力Pi(=Qi−1)として出力される。ここでiは
図1の暗号化処理段の段数に対応する1〜jの整数であ
り、P0およびQ0は入力データS又はTに、Pj+1
およびQj+1は出力データU又はVに対応するデータ
である。
【0004】図2に示す暗号化関数部202−iの従来
の構成の一例を図7に示す。図7は、共通鍵暗号として
広く使用されている「DES暗号」(Data Encryption
Standard;米国NIST(National Institute of Stan
dards and Technology)の規格)(以下、従来技術1と
称する)における暗号化関数部の構成を示すブロック図
である。図7に示す暗号化関数部202−iでは、入力
された32ビットのQi−1が拡大転置部801で所定
の転置表(変換表)を用いた拡大転置によって48ビッ
トのデータに変換されてXOR回路802へと入力され
る。XOR回路802は64ビットの秘密鍵からあらか
じめ生成されていたi段用の48ビットの鍵と拡大転置
部801の出力とでXORを行って48ビットのデータ
を出力する。XOR回路802の出力は各6ビットずつ
に分けられ、8個のSボックスと呼ばれるデータ置換部
(S1〜S8)803−1〜803−8へと入力され
る。各Sボックス803−1〜803−8では、入力さ
れた各6ビットのデータに対して所定の置換表に基づく
データの置き換えが行われて各4ビットのデータが出力
される。さらに転置部804で所定の転置表に基づいて
ビット位置の転置が行われて32ビットの処理結果Ri
が求められる。
【0005】なお、「DES暗号」では、図1に示す暗
号化/復号化装置の暗号化/復号化の処理は16回の繰
り返しである。また、暗号化/復号化装置の全体の構成
としては、図1の構成に対して、入力段と出力段に、そ
れぞれ初期転置処理と逆初期転置処理を行うブロックが
追加されている。また、各暗号化処理段では、1つの6
4ビットの秘密鍵から生成されたそれぞれ異なる16個
の48ビットの鍵が使用されるようになっている。
【0006】図8に、図2に示す暗号化関数部202−
iの他の従来の構成例を示す。図8は、NTT(日本電
信電話株式会社)によって開発された128ビットブロ
ックアルゴリズムを採用した「E2」という共通鍵暗号
アルゴリズム(以下、従来技術2と称する)における暗
号化関数部の構成を示すブロック図である。図8に示す
暗号化関数部202−iでは、入力された64ビットの
データQi−1が各8ビットのデータx1,x2,…,
x8に分割された後、非線形処理部901へ入力され
る。非線形処理部901では、入力されたデータx1,
x2,…,x8が、8個のXOR回路によって128ビ
ットの秘密鍵から生成された第1の鍵K(1)とXOR
されて、その演算の結果が8個のSボックスへそれぞれ
入力される。8個のSボックスでは、予め定められた置
換表を参照することで入力データに対して置換処理が行
われ、各8ビットのデータz1,z2,…,z8が出力
される。ここで、非線形処理部901では、Sボックス
というデータ置換部において置換処理を行うことで、出
力として、入力データに対して非線形な変換処理を行っ
たデータが得られることになる。
【0007】非線形処理部901から出力されたデータ
z1,z2,…,z8に対しては、データ変換層902
において下式で示す線形演算処理が行われる。
【数1】
【0008】なお、図8に示すデータ変換層902は、
16個のXOR回路から構成されているが、これは上式
を実現する一例であって、内部の構成については限定さ
れない。
【0009】データ変換層902から出力された各8ビ
ットのデータz1',z2',…,z8'は、非線形処理
部903へ入力される。非線形処理部903では、非線
形処理部901と同様にして、8個のXOR回路を用い
て入力データz1',z2',…,z8'と秘密鍵から生
成された第2の鍵K(2)とでXORを行い、さらに8
個のSボックスで予め定めた置換表を参照することで置
換処理を行い、処理結果として各8ビットのデータy
1,y2,…,y8を出力する。
【0010】非線形処理部903から出力された各8ビ
ットのデータy1,y2,…,y8には、さらに8ビッ
トを単位とする左回転処理が行われる。そして回転処理
の結果が暗号化関数の処理結果Riとして出力される。
【0011】なお、アルゴリズム「E2」では、図1に
示す暗号化/復号化装置が12段の暗号化/復号化処理
段を有して構成されている。暗号化/復号化装置の全体
の構成としては、図1の構成に対して、入力段と出力段
に、それぞれ初期変換処理と最終変換処理を行うブロッ
クが追加されている。また、各暗号化処理段では1つの
128ビットまたは192ビットもしくは256ビット
の秘密鍵から生成されたそれぞれ異なる12個の鍵が使
用され、初期変換処理と最終変換処理の各ブロックでは
各2個の異なる鍵が使用されるようになっている。
【0012】以上の説明したように、 従来技術1にお
いては、図7に示すように各暗号化関数部においてSボ
ックスを用いる非線形な処理を行うデータ置換部が1段
設けられ、さらにこの暗号化関数部を有する暗号化処理
段を複数段設けることによって安全性の向上が図られて
いる。従来技術2では、図8に示すように暗号化関数に
おいて、Sボックスを用いる非線形処理部で置換された
データを線形処理部で変換し、さらに、もう一度Sボッ
クスを用いる非線形処理部でデータを置換することによ
り、さらなる安全性の向上を図っている。
【0013】
【発明が解決しようとする課題】しかしながら上記従来
の装置は、最大平均差分確率という暗号化の強度評価
(最悪値が1、最良値がp27、pは0以上1以下の値)
として最も一般的な尺度において、従来技術1の場合で
1、従来技術2の場合でp12であり、何れの場合もこの
尺度における理論的最大値であるp27に比べて低い安全
性しか保証できないという課題があった。
【0014】この発明の目的は、従来技術に比べより高
い安全性の保証が可能な暗号化/復号化装置を実現する
ことにある。
【0015】
【課題を解決するための手段】上記課題を解決するた
め、請求項1記載の発明は、復号化および暗号化に共通
の秘密鍵を用い、一定のビット長のブロック毎にデータ
の暗号化および復号化を行う暗号化/復号化装置におい
て、各段の入力データの半分のビット数を有する第1の
データを所定の暗号化処理を行う暗号化関数部に入力し
て得られる該暗号化関数部の出力を入力データの他の半
分のビット数を有する第2のデータにビット毎にXOR
して得られる第3のデータと、第1のデータとを出力す
る暗号化処理段を、互いに複数段接続し、該複数段の暗
号化処理段によって暗号化/復号化処理を複数回繰り返
し行うことでデータの暗号化又は復号化を行うものであ
って、前記暗号化関数部が、入力されたデータに対して
秘密鍵から生成された鍵を用いて攪乱演算を行って演算
結果を出力する非線形処理部と、非線形処理部から出力
されたデータを入力し、所定の線形演算を行って演算結
果を出力する線形処理部とを、交互に、非線形処理部を
4段と、線形処理部を3段、縦段接続してなることを特
徴としている。
【0016】この発明によれば暗号化/復号化装置の何
れにおいても、暗号化関数部において非線形処理部と線
形処理部が交互にそれぞれ4段、3段多段縦段接続され
た暗号化関数を用いることにより、暗号化関数の最大平
均差分確率を小さくすることによって全体としての安全
性を高めることができる。
【0017】
【発明の実施の形態】以下、図1〜図6を参照して本発
明の実施形態について説明する。本発明による暗号化/
復号化装置全体としての基本的な構成は、従来の例とし
て説明した「DES」や「E2」のような他のブロック
暗号化方式による構成と同様に、図1に示す構造を有し
ている。すなわち本発明による暗号化/復号化装置は、
図1に示すように暗号化処理段101−1〜101−j
が多段縦段接続された構成を有している。図1では、そ
の多段縦段の初段のデータとして各bビットのブロック
長を有する平文S又は暗号文Tが入力され、終段の出力
として各bビットのブロック長を有する暗号文U又は平
文Vが出力される。
【0018】次に、図1における各暗号化処理段101
−1〜101−jとしては、従来の技術と同様に図2に
示すような構成を用いることができる。各暗号化処理段
101−i(iは1〜j)には、図2に示すようにブロ
ック長(bビット)をそれぞれ半分に分割したデータP
i−1とデータQi−1を入力し、データQi−1を暗
号化関数部202−iに入力して得られる出力Riを、
XOR回路201−iによってデータPi−1にビット
毎(bit-wise)のXORして得られるPi−1(+)R
i((+)はXORを表す)を次段の入力Qiとする。
また、Qi−1をそのまま次段の入力Piとして出力す
るような構造を考える。
【0019】次に、本発明が特徴とする構成である図2
に示す暗号化関数部202−iの構成について説明す
る。本発明においては、暗号化関数部202−iを、図
3に示すように、非線形処理部301−1,301−
2,301−3,および301−4と線形処理部302
−1,302−2,および302−3が交互にそれぞれ
4段と、3段縦段接続された構造とする。非線形処理部
301−1,301−2,301−3,および301−
4と、線形処理部302−1,302−2,および30
2−3では、それぞれ入力された平文S又は暗号文Tの
ブロック長bビットの半分のビットをm分割した値(m
は2以上、bの半分以下の整数)と等しいビット数(n
ビットとする)を有するm個のデータが並列に入出力さ
れる。図3では、入力段となる非線形処理部301−1
の入力データをE1,E2,…,Em、出力段となる非
線形処理部301−4の出力データをF1,F2,…,
Fmとしている。
【0020】図3に示す各非線形処理部301−1〜3
01−4は、それぞれ図4に示すように各nビットのデ
ータC1,C2,C3,…,Cmと、各kビットの鍵K
1,K1,…,Kmとを入力して置換演算を用いた攪乱
演算を行って各nビットのデータD1,D2,D3,
…,Dmを出力するm個の演算部401−1〜401−
mから構成されている。これらm個の演算部401−1
〜401−mは、並列して動作する。各kビットの鍵K
1,K1,…,Kmは、従来の場合と同様にして1つの
秘密鍵から置換、ビットシフト等の処理によって予め生
成しておく。なお、非線形処理部において用いる鍵K
1,K2,…,Kmは、図1の各暗号化処理段101−
1〜101−j毎に異なる値とすることが望ましい。ま
た、各暗号化処理段内で、あるいは各非線形処理部内
で、鍵K1,K2,…,Kmを同一の値にすることも可
能である。
【0021】図5は、図4に示す非線形処理部の内部構
成のより具体的な構成を示すブロック図である。図5に
示す非線形処理部は、各nビットの入力C1,C2,
…,Cmをそれぞれ入力して、入力データと同じビット
長の各nビットの鍵K1,K2,…,Kmとビット毎の
XORをとるXOR回路501−1,501−2,…,
501−mと、各XOR回路501−1,501−2,
…,501−mの出力に対して、所定の置換表による置
換処理を行うことでデータに対して攪乱演算を行う置換
部502−1,502−2,…,502−mから構成さ
れている。置換部502−1,502−2,…,502
−mは、図7〜図8を参照して説明した従来の構成にお
けるSボックスと同様の構成を用いることができる。置
換部502−1,502−2,…,502−mからは、
それぞれnビットのデータD1,D2,…,Dmが出力
されて、後続する線形処置部へと入力されるか、または
最最終段であれば暗号化関数部の出力となる。
【0022】図6に図3に示す線形処理部302−1〜
302−3の具体的構成を示す。図6においては行列A
の値を例えば下式のように予め定め、各線形処理部30
2−1〜302−3の入力となる各nビットのデータG
1,G2,…,Gmに線形作用させる線形変換を定めて
いる。図6に示す構成では、入力データG1〜Gmと、
行列Aから、各nビットの出力H1,H2,…,Hmを
下式のようにして求める。ただし、下式は、平文S又は
暗号化文Tのブロック長を128ビット、ブロックの分
割数mを8、各データG1,G2,…,GmおよびH
1,H2,…,Hmのビット数を8ビットとする場合の
例である。
【数2】
【0023】なお、本発明による暗号化/復号化装置
は、論理回路によるハードウェアによって実現すること
もできるし、計算機とその計算機で実行される暗号化/
復号化プログラムとの組み合わせによって実現すること
も可能である。また、暗号化/復号化プログラムは、計
算機読み取り可能な記録媒体に記録して、あるいはネッ
トワークを介して頒布することが可能である。
【0024】
【実施例】上記発明の実施の形態において最大平均差分
確率という安全性評価尺度においてj=8の場合に実際
に計算することにより各置換の最大平均差分確率をpと
定めたとき、暗号化関数部が2p8という理論的最良値
(p8)に近い値を示し、暗号全体として8p24という
高い安全性が保証可能であることが確認された。これは
従来技術1、2の場合と比べて高い安全性が保証可能で
あることを示している。
【0025】
【発明の効果】本発明によれば、4段の非線形処理部と
3段の線形処理部を交互に接続してなる暗号化関数部を
用いて暗号化処理手段を構成することによって、従来技
術に比べ非常に高い安全性の保証が可能な暗号化/復号
化装置を実現することが可能になる。
【図面の簡単な説明】
【図1】 ブロック暗号化方式による暗号化/復号化装
置の機能構成を示すブロック図である。
【図2】 図1における暗号化処理段の機能構成を示す
ブロック図である。
【図3】 本発明が特徴とする図2における暗号化関数
部の機能構成を示すブロック図である。
【図4】 図3における非線形処理部の機能構成を示す
ブロック図である。
【図5】 図4における非線形処理部の具体的な構成を
示すブロック図である。
【図6】 図3における線形処理部の具体的構成を示す
ブロック図である。
【図7】 従来技術1における暗号化関数部の機能構成
を示すブロック図である。
【図8】 従来技術2における暗号化関数部の機能構成
を示すブロック図である。
【符号の説明】
101−1〜101−j 暗号化処理段 201−i XOR回路 202−i 暗号化関数部 301−1〜301−4 非線形処理部 302−1〜302−3 線形処理部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 復号化および暗号化に共通の秘密鍵を用
    い、一定のビット長のブロック毎にデータの暗号化およ
    び復号化を行う暗号化/復号化装置において、 各段の入力データの半分のビット数を有する第1のデー
    タを所定の暗号化処理を行う暗号化関数部に入力して得
    られる該暗号化関数部の出力を入力データの他の半分の
    ビット数を有する第2のデータにビット毎にXORして
    得られる第3のデータと、第1のデータとを出力する暗
    号化処理段を、互いに複数段接続し、該複数段の暗号化
    処理段によって暗号化/復号化処理を複数回繰り返し行
    うことでデータの暗号化又は復号化を行うものであっ
    て、 前記暗号化関数部が、 入力されたデータに対して秘密鍵から生成された鍵を用
    いて攪乱演算を行って演算結果を出力する非線形処理部
    と、 非線形処理部から出力されたデータを入力し、所定の線
    形演算を行って演算結果を出力する線形処理部とを、 交互に、非線形処理部を4段と、線形処理部を3段、縦
    段接続してなることを特徴とする暗号化/復号化装置。
JP10262073A 1998-09-16 1998-09-16 暗号化/復号化装置 Pending JP2000089666A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10262073A JP2000089666A (ja) 1998-09-16 1998-09-16 暗号化/復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10262073A JP2000089666A (ja) 1998-09-16 1998-09-16 暗号化/復号化装置

Publications (1)

Publication Number Publication Date
JP2000089666A true JP2000089666A (ja) 2000-03-31

Family

ID=17370663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10262073A Pending JP2000089666A (ja) 1998-09-16 1998-09-16 暗号化/復号化装置

Country Status (1)

Country Link
JP (1) JP2000089666A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063207A (ja) * 2003-08-14 2005-03-10 Easy Systems Japan Kk アップデートプログラム及びアップデート方法
US6985582B1 (en) 1998-11-27 2006-01-10 Kabushiki Kaisha Toshiba Encryption/decryption unit and storage medium
JP2007274682A (ja) * 2001-10-17 2007-10-18 Motorola Inc マルチユーザ・システムでデータ通信を行うための方法とデバイス
CN105593918A (zh) * 2013-10-10 2016-05-18 日本电信电话株式会社 秘密并行处理装置、秘密并行处理方法、程序

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985582B1 (en) 1998-11-27 2006-01-10 Kabushiki Kaisha Toshiba Encryption/decryption unit and storage medium
US7039184B2 (en) 1998-11-27 2006-05-02 Kabushiki Kaisha Toshiba Encryption/decryption unit and storage medium
JP2007274682A (ja) * 2001-10-17 2007-10-18 Motorola Inc マルチユーザ・システムでデータ通信を行うための方法とデバイス
JP4629692B2 (ja) * 2001-10-17 2011-02-09 モトローラ・インコーポレイテッド マルチユーザ・システムでデータ通信を行うための方法とデバイス
JP2005063207A (ja) * 2003-08-14 2005-03-10 Easy Systems Japan Kk アップデートプログラム及びアップデート方法
CN105593918A (zh) * 2013-10-10 2016-05-18 日本电信电话株式会社 秘密并行处理装置、秘密并行处理方法、程序
CN105593918B (zh) * 2013-10-10 2019-06-14 日本电信电话株式会社 秘密并行处理装置、秘密并行处理方法、程序

Similar Documents

Publication Publication Date Title
US6246768B1 (en) Data encryption system for encrypting plaintext data
JP3992742B2 (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
JP4127472B2 (ja) データ変換装置及びデータ変換装置のデータ変換方法及びプログラム及びコンピュータ読み取り可能な記録媒体
CN1193537C (zh) 将输入数据块加密转换成输出数据块的方法和系统
Shah Kruti et al. New approach of data encryption standard algorithm
US7672455B2 (en) Method and apparatus for data encryption
US6891950B1 (en) Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
JPH1173101A (ja) 高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体
CN110880967A (zh) 采用分组对称密钥算法对多消息并行加解密方法
Zeng et al. Cryptanalyzing a novel couple images encryption algorithm based on DNA subsequence operation and chaotic system
JPH0675525A (ja) 暗号通信装置
CN111245598A (zh) 一种轻量级aerogel分组密码的实现方法
KR100456599B1 (ko) 병렬 디이에스 구조를 갖는 암호 장치
JPH0697930A (ja) ブロック暗号処理装置
Rudnytskyi et al. Cryptographic encoding in modern symmetric and asymmetric encryption
JP2001282103A (ja) 暗号化方法
JP2000089666A (ja) 暗号化/復号化装置
CN114826558A (zh) 一种海量数据快速加密方法及系统
JPH0738558A (ja) 暗号化装置、及びそれを用いた通信システム及びその方法
JP2002510058A (ja) 2進データ・ブロックの暗号変換のための方法
JP3782210B2 (ja) 暗号装置
JPH09269727A (ja) 暗号化方法および暗号化装置
JP3389210B2 (ja) 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体
Rakeshkumar Performance analysis of data encryption standard algorithm & proposed data encryption standard algorithm