JPH05249891A - 暗号処理装置およびこれを用いる暗号処理方法 - Google Patents

暗号処理装置およびこれを用いる暗号処理方法

Info

Publication number
JPH05249891A
JPH05249891A JP4049324A JP4932492A JPH05249891A JP H05249891 A JPH05249891 A JP H05249891A JP 4049324 A JP4049324 A JP 4049324A JP 4932492 A JP4932492 A JP 4932492A JP H05249891 A JPH05249891 A JP H05249891A
Authority
JP
Japan
Prior art keywords
circuit
block
stage
encryption
exclusive
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
JP4049324A
Other languages
English (en)
Inventor
Yasuhiro Ishii
保弘 石井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4049324A priority Critical patent/JPH05249891A/ja
Publication of JPH05249891A publication Critical patent/JPH05249891A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 大量のデータを高速に暗号/復号化するのに
有効な暗号処理装置およびこれを用いる暗号処理方法を
提供すること。 【構成】 ブロック単位に分割された平文ブロックMi
(i=0,・・・,n)を暗号化するブロック暗号処理装置に
おいて、1ブロック長の任意の値IVと、平文ブロック
位置情報i(i=0,・・・・,n)と前記値IVとを入力して
規定された演算f(IV,i)を行い、値Vi(i=0,・・
・,n)を出力する演算回路と、前記平文ブロックMi(i
=0,・・・,n)と前記演算回路の出力値Vi(i=0,・・・,
n)との排他的論理和をとる排他的論理和回路と、該排
他的論理和回路の出力を暗号化し暗号文ブロックCi(i
=0,・・・,n)を出力する暗号回路とを有することを特徴
とする暗号処理装置、および、該装置を複数個配置して
並行処理を行うことを特徴とする暗号処理方法。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は暗号処理装置およびこれ
を用いる暗号処理方法に関し、特に画像等の大量データ
を高速に暗号化/復号化するに好適な暗号処理装置およ
びこれを用いる暗号処理方法に関する。
【0002】
【従来の技術】従来、データの暗号化方式としては、池
野信一,小山謙二共著「現代暗号理論」(電子通信学会昭
和61年9月刊)41〜76頁に記載されているように、デー
タ暗号規格(DES:Data Encription Standard)があ
り、安全性強化のため連鎖方式として、CBCモード
(Cipher Block Chaining Mode)を使用している。上
述のCBCモードは、64ビットのブロック単位で暗号化
し、更に、この暗号文出力と次のブロックの平文との排
他的論理和を次の暗号化の入力とし、これを繰り返して
次々と連鎖させるものである。図4にCBCモードを示
す。平文をMi、暗号文をCi(i=1,2,・・・・)とし、暗
号鍵Kを用いた暗号化をEk、暗号鍵Kを用いた復号化
をDkとすると、CBCモードは次の式で表わされる。 C1=Ek(M1 exclusive-or IV) Ci=Ek(Mi exclusive-or Ci-1)(i=2,3,・・・・) M1=Dk(Ci) exclusive-or IV Mi=Dk(Ci) exclusive-or Ci-1(i=2,3,・・・・) ここで、IVは初期値である。
【0003】
【発明が解決しようとする課題】上記従来技術では、前
暗号文ブロックと平文ブロックの排他的論理和をとって
暗号化処理を行うため、必ずブロック単位に、逐次暗号
化処理を行わなければならない。従って、大量のデータ
を高速に暗号/復号化するのに限界があるという問題が
あった。本発明は上記事情に鑑みてなされたもので、そ
の目的とするところは、従来の技術における上述の如き
問題を解消し、大量のデータを高速に暗号/復号化する
のに有効な暗号処理装置を提供することにある。
【0004】
【課題を解決するための手段】本発明の上記目的は、ブ
ロック単位に分割された平文ブロックMi(i=0,・・・,
n)を暗号化するブロック暗号処理装置において、1ブ
ロック長の任意の値IVと、平文ブロック位置情報i
(i=0,・・・・,n)と前記値IVとを入力して規定された
演算f(IV,i)を行い、値Vi(i=0,・・・,n)を出力
する演算回路と、前記平文ブロックMi(i=0,・・・,n)
と前記演算回路の出力値Vi(i=0,・・・,n)との排他的
論理和をとる排他的論理和回路と、該排他的論理和回路
の出力を暗号化し暗号文ブロックCi(i=0,・・・,n)を
出力する暗号回路とを有することを特徴とする暗号処理
装置、および、該装置を複数個配置して並行処理を行う
ことを特徴とする暗号処理方法によって達成される。
【0005】
【作用】本発明に係る暗号処理装置においては、暗号文
ブロックの連鎖をやめ、平文ブロックと排他的論理和を
とるデータを、初期値IVとブロック番号から任意の演
算により求めるようにしたものである。また、暗号回路
を複数個設け、複数ブロックを並行して同時に暗号化/
復号化可能としたものである。すなわち、複数(j)個あ
る暗号回路の一つにおいて、平文ブロック Miに対し
て、ブロック番号iと初期値IVから、前記演算により
スクランブルデータを求め、このスクランブルデータと
平文ブロック Miの排他的論理和をとり、これを暗号回
路に入力して暗号文ブロック Ciを求める。これと並行
して、別の暗号回路において、平文ブロック Mi+1に対
して、ブロック番号i+1と初期値IVから、前記演算
によりスクランブルデータを求め、このスクランブルデ
ータと平文ブロック Mi+1の排他的論理和をとり、これ
を暗号回路に入力して暗号文ブロック Ci+1を求める。
これを、j個の各暗号回路に対して行うことにより、暗
号化スピードをj倍にすることが可能になる。また、後
に詳述する如く、転置と換字を組み合せた処理を複数段
繰り返して暗号化/復号化する暗号アルゴリズムにおい
ては、平文ブロック Miに対してブロック番号iと初期
値IVから、前記演算によりスクランブルデータを求
め、このスクランブルデータと平文ブロック Miの排他
的論理和をとり、これを暗号回路に入力して暗号文ブロ
ック Ciを求める。クロックに応じて、平文ブロック
Mi(i=0,・・・・,n)をパイプライン化して入力し、1
段目の暗号変換回路では、平文 Mi+j-1の1段目の暗号
変換処理、2段目の暗号変換回路では、平文 Mi+j-2の
2段目の暗号変換処理、k段目の暗号変換回路では、平
文 Mi+j-kのk段目の暗号変換処理、j段目の暗号変換
回路では、平文 Miのj段目の暗号変換処理の如く、各
段を並行して処理ことにより、実効的に、1クロック単
位に1暗号文ブロックを得ることも可能である。
【0006】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図1に、本発明の一実施例に係る暗号回路
のブロック図を示す。本実施例に示す暗号回路は、前記
DES方式に基づく如く構成したものである。本実施例
に示す暗号回路は、入力ブロックを受け取るラッチ(I
N)1、暗号鍵を受け取るラッチ(K)2、入力データを
スクランブルするためのデータを保持するラッチ(V)
3、出力ブロックを保持するラッチ(OUT)4、後述す
る初期転置回路200の出力を保持するラッチ(TO)1
00、同じく後述する、第1段から第16段までの転置
換字回路201,202,・・・・216の出力を保持するラ
ッチ(T1)101,ラッチ(T2)102,・・・・ラッチ(T
16)116を備えている。また、演算回路としては、
縮約型転置回路300、第1段から第16段までの鍵ス
ケジュール回路301,302,・・・・316、初期転置回
路200、第1段から第16段までの転置換字回路20
1,202,・・・・216、最終転置回路217、加算回路
10、論理和ゲート11,13および排他的論理和ゲー
ト12,14を備えている。
【0007】以下、上述の如く構成される本実施例の動
作を説明する。暗号鍵64ビットがラッチ(K)2に入力さ
れると、縮約型転置回路300においてDESの鍵縮約
型転置を行い、56ビットのデータK0を出力する。この
データK0は、第1段鍵スケジュール回路301,第2
段鍵スケジュール回路302,・・・,第16段鍵スケジュ
ール回路316に順釣入力され、第1段,第2段,・・・・第
16段転置換字のための鍵K1,K2,・・・・K16を作
り、第1段転置換字回路201,第2段転置換字回路2
02,・・・・第6段転置換字回路216に出力する。入力
データをスクランブルするための初期値IVがラッチ
(V)3に入力されると、クロック単位に加算回路10で
プラス1され、再度ラッチ(V)3に保持される。ラッチ
(V)3の値は、論理和ゲート11および13に入力され
ている。論理和ゲート11の他の入力としては、復号化
指示信号DECの反転信号が入力されており、暗号化モ
ードのとき、ラッチ(V)3の内容を排他的論理和ゲート
12に出力する。また、論理和ゲート13の他の入力と
しては、復号化指示信号DECが入力されており、復号
化モードのとき、ラッチ(V)3の内容を排他的論理和ゲ
ート14に出力する。
【0008】入力ブロック Biがラッチ(IN)1に入力
されると、暗号化モードのとき、排他的論理和ゲート1
2でラッチ(V)3の内容と排他的論理和がとられ、デー
タのスクランブルが行われ、初期転置回因200に出力
される。また、復号化モードのときは、論理和ゲート1
1の出力が0であるので、スクランブルは行われず、初
期転置回路200に入力される。初期転置回路200で
は、DESの初期転置を行い、ラッチ(TO)100に出
力する。これは1クロックで行われる。同時に、ラッチ
(TO)100の内容は第1段転置換字回路201に入力
され、DESの第1段転置換字を行い、ラッチ(T1)1
01に出力する。これも1クロックで行われる。また、
同様に、ラッチ(T1)101,ラッチ(T2)102,・・・・
ラッチ(T15)115の内容は、第2段転置換字回路2
02,・・・・,第16段転置換字回路216に入力され、D
ESの第2段,・・・・,第16段転置換字を行い、その結果
をラッチ(T2)102,ラッチ(T3)103,・・・・ラッチ
(T16)116に出力する。これも1クロックで行われ
る。
【0009】ラッチ(T16)116の内容は、最終転置
回路217に入力され、DESの最終転置を行い、復号
化モードのとき、排他的論理和ゲート14でラッチ(V)
3の内容と排他的論理和をとり、データのスクランブル
を元に戻し、ラッチ(OUT)4に出力する。また、暗号
化モードの場合は、論理和ゲート13の出力が0である
ので、そのままラッチ(OUT)4に出力する。これも1
クロックで行われる。なお、縮約型転置回路300、第
1段から第16段までの鍵スケジュール回路301,3
02,・・・・,316、第1段から第16段までの転置換字
回路201,202,・・・・,216、初期転置回路200
および最終転置回路217の詳細に関しては、前述の池
野信一,小山謙二共著「現代暗号理論」を参考にされた
い。次に、図2に基づいて、暗号回路の動作タイミング
を説明する。なお、図2の縦軸はラッチ名、横軸はクロ
ックを示している。 (1)クロック0のとき:入力ブロックB0がラッチ(I
N)1に入力される。 (2)クロック1のとき:ブロックB0はスクランブルお
よび初期転置されてラッチ(T0)100に保持され、新
たにブロックB1がラッチ(IN)1に入力される。
【0010】(3)クロック2のとき:ブロックB0は第
1段転置換字されてラッチ(T1)101に保持され、ブ
ロックB1はスクランブルおよび初期転置されてラッチ
(T0)100に保持され、新たにブロックB2がラッチ
(IN)1に入力される。 (4)クロック3のとき:ブロックB0は第2段転置換字
されてラッチ(T2)102に保持され、ブロックB1は
第1段転置換字されてラッチ(T1)101に保持され、
ブロックB2はスクランブルおよび初期転置されてラッ
チ(T0)100に保持され、新たにブロックB3がラッ
チ(IN)1に入力される。 (5)クロックiのとき:ブロックBi−18は最終転置
およびスクランブルの元戻しが行われ、ラッチ(OUT)
4に保持される。ブロックBi−17は第16段転置換
字されてラッチ(T16)116に、ブロックBi−16
は第15段転置換字されてラッチ(T15)115に、・・
・・、ブロックBi−3は第2段転置換字されてラッチ
(T2)102に、ブロックBi−2は第1段転置換字さ
れてラッチ(T1)101に、それぞれ、保持される。ブ
ロックBi−1はスクランブルおよび初期転置されてラ
ッチ(T0)100に保持され、新たにブロックBiがラ
ッチ(IN)1に入力される。
【0011】本実施例によれば、上述の如く、入力ブロ
ックは1クロック毎に入力され、初期転置から最終転置
まで18段のパイプライン処理で逐次処理され、1クロ
ック単位に出力ブロックを得ることができる。これによ
り、1クロックが40ナノ秒で1ブロックサイズが8バ
イトとすると、暗号化/復号化処理のスピードは、8バ
イト÷40ナノ秒=200メガバイト/秒となる。従来
は、1ブロックの暗号化/復号化処理時間は40ナノ秒
×18クロックであったので、18倍の処理スピードが
得られることになる。なお、上記実施例は本発明の一例
を示したものであり、本発明はこれに限定されるべきも
のではないことは言うまでもないことである。例えば、
上記実施例では、平文のスクランブルを行うデータを生
成する関数として、 (IV+i mod 2**64) を使用しているが、安全性を高めるために、より複雑な
関数を使用することも有効であり、 (IV*i mod N) としてNを可変とし、IVおよびNを秘密にすれば、ス
クランブルする値を予測することは不可能である。
【0012】また、この他に、図3に示す如く、請求項
1に示した暗号処理装置(図では「回路」と称している)を
複数個並列に配置することにより、上述の効果を更に大
きくすることが可能である。更に付言すれば、本発明に
係る暗号処理回路およびこれを用いる暗号処理方法にお
いては、平文のスクランブルを行うのに暗号文のフィー
ドバックを行わないので、暗号回路をパイプライン化し
たり、マルチ化することが容易に可能であることが最大
の特徴である。また、スクランブルする初期値を毎回変
えることにより、同一の平文に対しても異なる暗号文を
得ることも可能である。なお、上述の説明では暗号化に
ついてのみ説明したが、復号化に関しても同様の効果が
得られることも言うまでもない。
【0013】
【発明の効果】以上、詳細に説明した如く、本発明によ
れば、大量のデータを高速に暗号/復号化するのに有効
な暗号処理装置を実現できるという顕著な効果を奏する
ものである。
【0014】
【図面の簡単な説明】
【図1】本発明の一実施例に係る暗号回路のブロック図
である。
【図2】実施例の暗号回路の動作タイミング図である。
【図3】他の実施例を示すブロック図である。
【図4】DESの利用モードの一つであるCBCモード
の流れ図である。
【符号の説明】
1:入力ラッチ(IN)、2:暗号鍵ラッチ(K)、3:ス
クランブルデータラッチ(V)、4:出力ラッチ(OU
T)、10:加算回路、11および13:論理和ゲー
ト、12および13:排他的論理和ゲート、100〜1
16:初期転置回路200の出力を保持するテンポラリ
ーラッチ(Ti)、200:初期転置回路、201〜21
6:転置換字回路、217:最終転置回路、300:縮
約型転置回路、301〜316:鍵スケジュール回路。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ブロック単位に分割された平文ブロック
    Mi(i=0,・・・,n)を暗号化するブロック暗号処理装置
    において、1ブロック長の任意の値IVと、平文ブロッ
    ク位置情報i(i=0,・・・・,n)と前記値IVとを入力し
    て規定された演算f(IV,i)を行い、値Vi(i=0,・
    ・・,n)を出力する演算回路と、前記平文ブロックMi(i
    =0,・・・,n)と前記演算回路の出力値Vi(i=0,・・・,
    n)との排他的論理和をとる排他的論理和回路と、該排
    他的論理和回路の出力を暗号化し暗号文ブロックCi(i
    =0,・・・,n)を出力する暗号回路とを有することを特徴
    とする暗号処理装置。
  2. 【請求項2】 請求項1記載の演算回路と排他的論理和
    回路および暗号回路とを複数(j)セット設け、平文ブロ
    ックMi,Mi+1,・・・・,Mi+j-1を前記各セットに入力し、
    並行処理することを特徴とする暗号処理装置。
  3. 【請求項3】 請求項1記載の暗号回路を複数(j)段の
    暗号変換回路で構成するとともに、該暗号変換回路の出
    力にデータラッチを設けた暗号処理装置を用いて、1ク
    ロックで前記各段の暗号変換処理を完了させることによ
    り、クロックに応じて平文ブロックMi(i=0,・・・,n)
    をパイプライン化して入力し、1段目の暗号変換回路で
    は平文ブロック Mi+j-1の1段目の暗号変換処理、2段
    目の暗号変換回路では平文ブロック Mi+j-2の2段目の
    暗号変換処理、k段目の暗号変換回路では平文ブロック
    Mi+j-kのk段目の暗号変換処理、j段目の暗号変換回
    路では平文ブロック Miのj段目の暗号変換処理を並行
    して処理することを特徴とする暗号処理方法。
JP4049324A 1992-03-06 1992-03-06 暗号処理装置およびこれを用いる暗号処理方法 Pending JPH05249891A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4049324A JPH05249891A (ja) 1992-03-06 1992-03-06 暗号処理装置およびこれを用いる暗号処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4049324A JPH05249891A (ja) 1992-03-06 1992-03-06 暗号処理装置およびこれを用いる暗号処理方法

Publications (1)

Publication Number Publication Date
JPH05249891A true JPH05249891A (ja) 1993-09-28

Family

ID=12827805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4049324A Pending JPH05249891A (ja) 1992-03-06 1992-03-06 暗号処理装置およびこれを用いる暗号処理方法

Country Status (1)

Country Link
JP (1) JPH05249891A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19827904C2 (de) * 1997-06-23 2000-05-11 Samsung Electronics Co Ltd Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung
WO2002058036A1 (en) * 2001-01-22 2002-07-25 Fujitsu Limited Encryption circuit
JP2006107380A (ja) * 2004-10-08 2006-04-20 Sony Corp 情報処理装置及び情報処理方法、メモリ装置、並びにコンピュータ・プログラム
JP2007324733A (ja) * 2006-05-30 2007-12-13 Mitsubishi Electric Corp データ変換装置
JP2013017018A (ja) * 2011-07-04 2013-01-24 Nippon Telegr & Teleph Corp <Ntt> 復号処理装置
JP2015082077A (ja) * 2013-10-24 2015-04-27 学校法人東京電機大学 暗号化装置、制御方法、及びプログラム
US9143326B2 (en) 2012-03-29 2015-09-22 International Business Machines Corporation Method and system for encrypting data

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19827904C2 (de) * 1997-06-23 2000-05-11 Samsung Electronics Co Ltd Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung
WO2002058036A1 (en) * 2001-01-22 2002-07-25 Fujitsu Limited Encryption circuit
JP2006107380A (ja) * 2004-10-08 2006-04-20 Sony Corp 情報処理装置及び情報処理方法、メモリ装置、並びにコンピュータ・プログラム
JP2007324733A (ja) * 2006-05-30 2007-12-13 Mitsubishi Electric Corp データ変換装置
JP2013017018A (ja) * 2011-07-04 2013-01-24 Nippon Telegr & Teleph Corp <Ntt> 復号処理装置
US9143326B2 (en) 2012-03-29 2015-09-22 International Business Machines Corporation Method and system for encrypting data
US9344274B2 (en) 2012-03-29 2016-05-17 International Business Machines Corporation Method and system for encrypting data
US9634827B2 (en) 2012-03-29 2017-04-25 International Business Machines Corporation Encrypting data
JP2015082077A (ja) * 2013-10-24 2015-04-27 学校法人東京電機大学 暗号化装置、制御方法、及びプログラム

Similar Documents

Publication Publication Date Title
US5835599A (en) Muti-cycle non-parallel data encryption engine
TWI402675B (zh) 低等待時間的區塊密碼術
US7079651B2 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
US7280657B2 (en) Data encryption and decryption system and method using merged ciphers
KR100917073B1 (ko) 암호 작성 프로세싱의 스피드를 증가시키는 방법 및 장치
US8094816B2 (en) System and method for stream/block cipher with internal random states
US20060023875A1 (en) Enhanced stream cipher combining function
JP2000162965A (ja) 暗復号装置及び記憶媒体
EP0802652A2 (en) Data encryptor having a scalable clock
KR20180081559A (ko) 암호화 동작을 위한 키 시퀀스 생성
JP3824121B2 (ja) 暗号データの復号化処理方法および装置
JPH05249891A (ja) 暗号処理装置およびこれを用いる暗号処理方法
KR100456599B1 (ko) 병렬 디이에스 구조를 갖는 암호 장치
Baby et al. S-Box Using AES Technique
JPH0697930A (ja) ブロック暗号処理装置
JP2004004603A (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
JPH10153954A (ja) 暗号装置
JPS6350222A (ja) メツセ−ジ認証装置
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
KR100262384B1 (ko) 암호화 방법 및 장치(Encryption Method and Apparatus)
JP4230152B2 (ja) 暗号回路
JPH10153955A (ja) 暗号装置
JPS62237834A (ja) デ−タ暗号化装置
Loban A VHDL Implemetation of the Advanced Encryption Standard