JPH0435432A - データ暗号化方式 - Google Patents
データ暗号化方式Info
- Publication number
- JPH0435432A JPH0435432A JP2141781A JP14178190A JPH0435432A JP H0435432 A JPH0435432 A JP H0435432A JP 2141781 A JP2141781 A JP 2141781A JP 14178190 A JP14178190 A JP 14178190A JP H0435432 A JPH0435432 A JP H0435432A
- Authority
- JP
- Japan
- Prior art keywords
- register
- block
- output
- input
- data
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データ暗号化方式に関し、特に、初期連鎖値
を有し、データをブロック化してブロック連鎖によりブ
ロック毎に暗号化処理を行うデータ暗号化方式において
、データ長が短い場合にも、暗号化および復号化の処理
が行えるデータ暗号化方式に関するものである。
を有し、データをブロック化してブロック連鎖によりブ
ロック毎に暗号化処理を行うデータ暗号化方式において
、データ長が短い場合にも、暗号化および復号化の処理
が行えるデータ暗号化方式に関するものである。
標準暗号方式において、ブロック連鎖の暗号化方式は、
例えば、国際標準規格委員会のISO/I E C
D I S 10116 ”1nfri+at
ion ProcessingMode of 0p
eration for an n−bit bloc
k ciper aIHorithIffi”で規定さ
れているC B C(Cipher BlockCha
ining)モートの暗号化方式が知られている。
例えば、国際標準規格委員会のISO/I E C
D I S 10116 ”1nfri+at
ion ProcessingMode of 0p
eration for an n−bit bloc
k ciper aIHorithIffi”で規定さ
れているC B C(Cipher BlockCha
ining)モートの暗号化方式が知られている。
第5図は、CBCモードにおける暗号化処理を説明する
ブロック図である。第5図に示すように、暗号化される
平文51は、まず、8バイト嚇位にブロック化され、平
文ブロックO9平文ブロック1、平文ブロック2.・、
平文ブロックn、平文ブロック(n+1)とされる。こ
のため、最後の平文ブロック(n+1)は、8バイト未
満となることがある。暗号化の処理は、平文ブロックO
は初期連鎖値(ICV)52と排他的論理和53がとら
れ、このデータを暗号化回路54により暗号化して暗号
文ブロックOとする。次の平文ブロック1に対しては、
平文ブロック1と暗号文ブロックOとの排他的論理和5
5がとられ、このデータを次の暗号化回路56により暗
号化して、暗号文ブロック1とする。これを順次に行い
、各々のブロック毎に暗号化の処理を行い5平文5]を
暗号文57とする。
ブロック図である。第5図に示すように、暗号化される
平文51は、まず、8バイト嚇位にブロック化され、平
文ブロックO9平文ブロック1、平文ブロック2.・、
平文ブロックn、平文ブロック(n+1)とされる。こ
のため、最後の平文ブロック(n+1)は、8バイト未
満となることがある。暗号化の処理は、平文ブロックO
は初期連鎖値(ICV)52と排他的論理和53がとら
れ、このデータを暗号化回路54により暗号化して暗号
文ブロックOとする。次の平文ブロック1に対しては、
平文ブロック1と暗号文ブロックOとの排他的論理和5
5がとられ、このデータを次の暗号化回路56により暗
号化して、暗号文ブロック1とする。これを順次に行い
、各々のブロック毎に暗号化の処理を行い5平文5]を
暗号文57とする。
このように、平文ブロック1に対しては前ブロックの暗
号文ブロック(i−1)と排他的論理和がとられ、この
データを暗号化して暗号文ブロック1とする。最後の平
文ブロック(n+1)が8バイトのときは上述の方法と
同様に処理登行って、暗号化の処理を完了する。しかし
、最後の平文ブロック(n+1)が8バイト未満の場合
、1つ前の暗号文ブロックnを暗号化回路58により再
度暗号化して、最終の平文ブロック(n + 1)の先
頭バイトをそろえて、その長さ分の排他的論理和59を
とり、これを最終暗号文ブロック(n+1)とする。
号文ブロック(i−1)と排他的論理和がとられ、この
データを暗号化して暗号文ブロック1とする。最後の平
文ブロック(n+1)が8バイトのときは上述の方法と
同様に処理登行って、暗号化の処理を完了する。しかし
、最後の平文ブロック(n+1)が8バイト未満の場合
、1つ前の暗号文ブロックnを暗号化回路58により再
度暗号化して、最終の平文ブロック(n + 1)の先
頭バイトをそろえて、その長さ分の排他的論理和59を
とり、これを最終暗号文ブロック(n+1)とする。
第6図は、CBCモードにおける復号化処理浸説明する
ブロック図である。復号化処理は、暗号化処理の逆の処
理を行う。すなわち、復号化する暗号文61は、まず、
8バイト墜位にブロック化し、暗号文ブロックO9暗号
文ブロック1.暗号文ブロック2.・・・、暗号文ブロ
ックD、暗号文ブロック(n+1)とする。復号化にお
いては、暗号文ブロック0を復号化回路62により復号
化した後に、初期連鎖値(ICV)63と排他的論理和
64をとる。これによIJ、このデータが平文ブロック
Oとなる。次に、暗号文ブロック1を復号化回路65に
より復号化し、た後、暗号文ブロックOとの排他的論理
和66をとる。これにより平文ブロック]に復号される
。同様にして、これを順次に各々のブロック毎に復号化
の処理を行い、暗号文61を平文67とする。この場合
、暗号文ブロックlを復号化した後に、前ブロックの暗
号文ブロック(i−1)との排他的論理和をとることに
より、平文ブロックlを復元する。
ブロック図である。復号化処理は、暗号化処理の逆の処
理を行う。すなわち、復号化する暗号文61は、まず、
8バイト墜位にブロック化し、暗号文ブロックO9暗号
文ブロック1.暗号文ブロック2.・・・、暗号文ブロ
ックD、暗号文ブロック(n+1)とする。復号化にお
いては、暗号文ブロック0を復号化回路62により復号
化した後に、初期連鎖値(ICV)63と排他的論理和
64をとる。これによIJ、このデータが平文ブロック
Oとなる。次に、暗号文ブロック1を復号化回路65に
より復号化し、た後、暗号文ブロックOとの排他的論理
和66をとる。これにより平文ブロック]に復号される
。同様にして、これを順次に各々のブロック毎に復号化
の処理を行い、暗号文61を平文67とする。この場合
、暗号文ブロックlを復号化した後に、前ブロックの暗
号文ブロック(i−1)との排他的論理和をとることに
より、平文ブロックlを復元する。
また、最終の暗号文ブロック(n+1)が8バイト未満
の場合には、最終より1つ前の暗号文ブロックnを暗号
化回路68により暗号化し、このデータの先頭バイトと
最終の暗号文ブロック(n+1)の先頭をそろえて、そ
の長さ分の排他的論理和69をとれば、最終の平文ブロ
ック(n+1)を得ることができる。
の場合には、最終より1つ前の暗号文ブロックnを暗号
化回路68により暗号化し、このデータの先頭バイトと
最終の暗号文ブロック(n+1)の先頭をそろえて、そ
の長さ分の排他的論理和69をとれば、最終の平文ブロ
ック(n+1)を得ることができる。
ところで、」二連したように、CBCモードにおける暗
号化処理および復号化処理が行なわれるが。
号化処理および復号化処理が行なわれるが。
このような暗号化処理および復号化処理を行なう場合に
は、次のような問題がある。すなわち、(1)CBCモ
ートにおいて、平文の長さがブロック長(8バイト)未
満の場合には、暗号化ができない。
は、次のような問題がある。すなわち、(1)CBCモ
ートにおいて、平文の長さがブロック長(8バイト)未
満の場合には、暗号化ができない。
(2)各ブロックの復号化処理は、INブロックのの暗
号文ブロックを用いるため、逆方向からは復号化できな
い。
号文ブロックを用いるため、逆方向からは復号化できな
い。
本発明は、このような問題を解決するためになされたも
のである。
のである。
本発明の目的は、データ暗号化方式のCBCモートにお
いて、ブロック長未満の平文データであっても暗号化で
き、また、逆方向からも暗号文ブロックを復号化できる
データ暗号化方式を提供することにある。
いて、ブロック長未満の平文データであっても暗号化で
き、また、逆方向からも暗号文ブロックを復号化できる
データ暗号化方式を提供することにある。
上記目的を達成するため、本発明のデータ暗号化方式は
、初期連#1値を有し、データをブロック化してブロッ
ク連鎖によりブロック毎に暗号化処理を行うデータ暗号
化方式において、暗号化処理を行う平文データのデータ
長がブロック長未満の場合に、初期連鎖値を暗号化した
結果と平文データとの排他的論理和をとり、当該平文デ
ータを暗号文データとすることを特徴とする。
、初期連#1値を有し、データをブロック化してブロッ
ク連鎖によりブロック毎に暗号化処理を行うデータ暗号
化方式において、暗号化処理を行う平文データのデータ
長がブロック長未満の場合に、初期連鎖値を暗号化した
結果と平文データとの排他的論理和をとり、当該平文デ
ータを暗号文データとすることを特徴とする。
これによれば、データ暗号化方式においては、暗号化の
処理では、暗号化処理を行う平文データのデータ長がブ
ロック長未満の場合、CBCモートの初期連鎖値を暗号
化して、この暗号化した初期連鎖値と入力した平文デー
タとの排他的論理和をとり、平文データを暗号文データ
とする。CBCモートにおいて、初期達S値は平文対応
に作られるブロック長(8バイト)のデータである。こ
の初期連鎖値を暗号化するとブロック長(8バイト)の
暗号文ブロックが得られる。したがって。
処理では、暗号化処理を行う平文データのデータ長がブ
ロック長未満の場合、CBCモートの初期連鎖値を暗号
化して、この暗号化した初期連鎖値と入力した平文デー
タとの排他的論理和をとり、平文データを暗号文データ
とする。CBCモートにおいて、初期達S値は平文対応
に作られるブロック長(8バイト)のデータである。こ
の初期連鎖値を暗号化するとブロック長(8バイト)の
暗号文ブロックが得られる。したがって。
この初期連鎖値を暗号化した暗号文ブロックとブロック
長未満の平文データとを平文データのデータ長だけの排
他的論理和をとれば、ブロック長未満の平文データであ
っても、その長さ分の暗号文データを生成することがで
きる。
長未満の平文データとを平文データのデータ長だけの排
他的論理和をとれば、ブロック長未満の平文データであ
っても、その長さ分の暗号文データを生成することがで
きる。
このように、ブロック長未満の平文データを暗号文デー
タとすることができ、また、同様な逆の処理によって、
ブロック長未満の暗号文データに対しても、そのまま平
文データとすることができる。すなわち、ブロック長未
満の暗号文データに対し、初期連鎖値を暗号化した暗号
文データとの排他的論理和をとり、ブロック長未満の暗
号文データのデータ長だけのデータとすれば、平文デ・
−タに復号できる。
タとすることができ、また、同様な逆の処理によって、
ブロック長未満の暗号文データに対しても、そのまま平
文データとすることができる。すなわち、ブロック長未
満の暗号文データに対し、初期連鎖値を暗号化した暗号
文データとの排他的論理和をとり、ブロック長未満の暗
号文データのデータ長だけのデータとすれば、平文デ・
−タに復号できる。
このように、ブロック長未満の暗号文データの平文デー
タとできることにより、逆方向からも暗号文データを復
号化できる。すなわち、復号化の処理では、暗号文デー
タをブロック化し、ブロック長未満の暗号文ブロックを
復号した後、復号すべき暗号文ブロックを復号化し1次
の暗号文ブロックを先き読みして、これと排他的論理和
をとり、暗号文ブロックを平文ブロックとする復号化を
行う。CBCモードにおいて、暗号化された暗号文デー
タを最終の暗号文ブロックから最初の暗号文ブロックま
で、1ブロツクずつ逆方向に入力し、その度毎に平文ブ
ロックを得るために、入力された暗号文ブロックを、ブ
ロック長未満の暗号文ブロックも含めて復号化して1次
に入力される暗号文ブロックと排他的論理和をとること
により各々の平文ブロックを得ることができる。これに
より。
タとできることにより、逆方向からも暗号文データを復
号化できる。すなわち、復号化の処理では、暗号文デー
タをブロック化し、ブロック長未満の暗号文ブロックを
復号した後、復号すべき暗号文ブロックを復号化し1次
の暗号文ブロックを先き読みして、これと排他的論理和
をとり、暗号文ブロックを平文ブロックとする復号化を
行う。CBCモードにおいて、暗号化された暗号文デー
タを最終の暗号文ブロックから最初の暗号文ブロックま
で、1ブロツクずつ逆方向に入力し、その度毎に平文ブ
ロックを得るために、入力された暗号文ブロックを、ブ
ロック長未満の暗号文ブロックも含めて復号化して1次
に入力される暗号文ブロックと排他的論理和をとること
により各々の平文ブロックを得ることができる。これに
より。
逆方向からも暗号文データを復号化することができる。
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
る。
第1図は、本発明の一実施例にかかるデータ暗号化方式
を一態様で実施する暗号化処理回路を示すブロック図で
ある。第1図において、1はDES (Data En
cryption 5tandard)方式の演算を行
うDES演算回路であり、このDES演算回路1を中心
として、暗号化および復号化の処理が行なわれる。DE
S演算回路1には、演算を行う暗号#KEYが鍵レジス
タ2から入力される。また、入力レジスタとして、平文
ブロックあるいは暗号文ブロックを格納する入力レジス
タ(IN)4と初期連鎖値を格納する初期連鎖値レジス
タ(ICV)3が設けられており、出力レジスタとして
、暗号化あるは復号化された出力ブロックを格納する出
力レジスタ(OUT)5が設けられている。
を一態様で実施する暗号化処理回路を示すブロック図で
ある。第1図において、1はDES (Data En
cryption 5tandard)方式の演算を行
うDES演算回路であり、このDES演算回路1を中心
として、暗号化および復号化の処理が行なわれる。DE
S演算回路1には、演算を行う暗号#KEYが鍵レジス
タ2から入力される。また、入力レジスタとして、平文
ブロックあるいは暗号文ブロックを格納する入力レジス
タ(IN)4と初期連鎖値を格納する初期連鎖値レジス
タ(ICV)3が設けられており、出力レジスタとして
、暗号化あるは復号化された出力ブロックを格納する出
力レジスタ(OUT)5が設けられている。
入力レジスタ4からのデータ出力は、入力Aレジスタ(
INA)7と、排他的論理和ゲート10と、セレクタ1
4に入力される。また、初期連鎖値レジスタ3からのデ
ータ出力は、セレクタ12に入力される。入力Aレジス
タ7のデータ出力は、入力Bレジスタ(INB)8に入
力され、入力Bレジスタ8からのデータ出力は、セレク
タ12に入力される。セレクタ12の出力は、セレクタ
13および排他的論理和ゲート11への入力となり。
INA)7と、排他的論理和ゲート10と、セレクタ1
4に入力される。また、初期連鎖値レジスタ3からのデ
ータ出力は、セレクタ12に入力される。入力Aレジス
タ7のデータ出力は、入力Bレジスタ(INB)8に入
力され、入力Bレジスタ8からのデータ出力は、セレク
タ12に入力される。セレクタ12の出力は、セレクタ
13および排他的論理和ゲート11への入力となり。
セレクタ13の出力は、排他的論理和ゲート10の入力
およびセレクタ14の入力となっている。
およびセレクタ14の入力となっている。
また、排他的論理和ゲート10からの出力は。
セレクタ14に入力され、セレクタ14の出力は、入力
Cレジスタ(INC)6に入力される。入力Cレジスタ
6は、DES演算回路1の入力レジスタとなり−DES
演算回路1の出力は、出力Cレジスタ(OUTC)9に
ラッチされる。この出力Cレジスタ9からの出力は、セ
レクタ]3.セレクタ15.および排他的論理和ゲート
11に入力される。 411:他的論理和ゲート11の
出力は、セレクタ15に入力され、セレクタ15の出力
は、出力レジスタ (OUT)に入力されて、ランチさ
れた後に、出力される。
Cレジスタ(INC)6に入力される。入力Cレジスタ
6は、DES演算回路1の入力レジスタとなり−DES
演算回路1の出力は、出力Cレジスタ(OUTC)9に
ラッチされる。この出力Cレジスタ9からの出力は、セ
レクタ]3.セレクタ15.および排他的論理和ゲート
11に入力される。 411:他的論理和ゲート11の
出力は、セレクタ15に入力され、セレクタ15の出力
は、出力レジスタ (OUT)に入力されて、ランチさ
れた後に、出力される。
次に2このように構成される暗号化処理回路を用いて、
平文データを暗号文データとする動作を説明する。通常
の暗号化および復号化の処理は、第5図および第6図で
説明したように、平文データまたは暗号文データをブロ
ック化した後、各ブロック毎に、暗号化および復号化の
処理を行うことにより行なわれる。
平文データを暗号文データとする動作を説明する。通常
の暗号化および復号化の処理は、第5図および第6図で
説明したように、平文データまたは暗号文データをブロ
ック化した後、各ブロック毎に、暗号化および復号化の
処理を行うことにより行なわれる。
暗号化処理を行う場合、平文ブロックOが入力レジスタ
4に入力されると5セレクタ12およびセレクタ13は
、初期連鎖値レジスタ(ICV)3の出力製選択する。
4に入力されると5セレクタ12およびセレクタ13は
、初期連鎖値レジスタ(ICV)3の出力製選択する。
このため、排他的論理和ゲート]0により、平文ブロッ
クOと初期連鎖値との排他的論理和かとられ、セレクタ
14を経て、入力Cレジスタ6にラッチされる。DES
演算回路1は、入力Cレジスタ6の出力を鍵レジスタ2
のKEYに従って暗号化し、暗号文ブロックのデータを
出力Cレジスタ9に出力する。このとき、セレクタ]5
は出力Cレジスタ9の出力を選択し、出力レジスタ5に
暗化文ブロック0を入力する。
クOと初期連鎖値との排他的論理和かとられ、セレクタ
14を経て、入力Cレジスタ6にラッチされる。DES
演算回路1は、入力Cレジスタ6の出力を鍵レジスタ2
のKEYに従って暗号化し、暗号文ブロックのデータを
出力Cレジスタ9に出力する。このとき、セレクタ]5
は出力Cレジスタ9の出力を選択し、出力レジスタ5に
暗化文ブロック0を入力する。
次に平文ブロックj、(i=1〜n)が入力レジスタ4
に入力されると、セレクタユ3は出力Cレジスタ9の出
力を選択するので、排他的論理和ゲート1oにおいては
、平文ブロックlと暗号文ブロック(i−1)の排他的
論理和がとられる。この排他的論理和の出力はセレクタ
14で選択されて、セレクタ14を経て、入力Cレジス
タ6にラッチされる。DES演算回路]は入力Cレジス
タ6の出力データを暗号化し7、暗号文ブロック]とし
て出力Cレジスタ9に出力する。セレクタ15は出力C
レジスタ9の出力を選択し、出力レジスタ5に暗号文ブ
ロックiを格納する。このようにして、平文ブロック1
〜平文ブロックnが暗号化され、暗号文ブロツク1〜暗
号文ブロックnが生成される。
に入力されると、セレクタユ3は出力Cレジスタ9の出
力を選択するので、排他的論理和ゲート1oにおいては
、平文ブロックlと暗号文ブロック(i−1)の排他的
論理和がとられる。この排他的論理和の出力はセレクタ
14で選択されて、セレクタ14を経て、入力Cレジス
タ6にラッチされる。DES演算回路]は入力Cレジス
タ6の出力データを暗号化し7、暗号文ブロック]とし
て出力Cレジスタ9に出力する。セレクタ15は出力C
レジスタ9の出力を選択し、出力レジスタ5に暗号文ブ
ロックiを格納する。このようにして、平文ブロック1
〜平文ブロックnが暗号化され、暗号文ブロツク1〜暗
号文ブロックnが生成される。
次に、平文ブロック(n+1)が入力レジスタ4に入力
されると、セレクタ]−3およびセレクタ14は出力C
レジスタ9からの出力を選択する。
されると、セレクタ]−3およびセレクタ14は出力C
レジスタ9からの出力を選択する。
これにより、入力Cレジスタ6には、暗号文ブロックn
がセットされる。この間、入力レジスタ4からの出力は
入力Aレジスタ7を経て、入力Bレジスタ8にラッチさ
れる。DES演算回路1は入力Cレジスタ6の出力を暗
号化して、出力Cレジスタ9に出力する。また、セレク
タ12は入力Bレジスタ8の出力を選択するので、排他
的論理和ゲート11において、出力Cレジスタ9の出力
と入力Bレジスタ8の出力との排他的論理和がとられる
。セレクタ15は排他的論理和ゲート11の出力を選択
し、出力レジスタ5に暗号文ブロック(n+1)を格納
する。
がセットされる。この間、入力レジスタ4からの出力は
入力Aレジスタ7を経て、入力Bレジスタ8にラッチさ
れる。DES演算回路1は入力Cレジスタ6の出力を暗
号化して、出力Cレジスタ9に出力する。また、セレク
タ12は入力Bレジスタ8の出力を選択するので、排他
的論理和ゲート11において、出力Cレジスタ9の出力
と入力Bレジスタ8の出力との排他的論理和がとられる
。セレクタ15は排他的論理和ゲート11の出力を選択
し、出力レジスタ5に暗号文ブロック(n+1)を格納
する。
復号化処理を行う場合にも、同様なセレクタの選択の操
作によりDES演算演算回路後号化処理および排他的論
理和ゲート10.11の排他的論理和の演算操作により
、復号化が行なわれる。
作によりDES演算演算回路後号化処理および排他的論
理和ゲート10.11の排他的論理和の演算操作により
、復号化が行なわれる。
まず、暗号文ブロックOが入力レジスタ4に入力される
と、セレクタ14は入力レジスタ4の出力に選択し、入
力Cレジスタ6に暗号文ブロック0をランチする。この
間に、入力レジスタ4の出力は入力Aレジスタ7にラッ
チされる。DES演算回路1は、鍵レジスタ2の*KE
Yに従って復号化演算を行い、その出力を出力Cレジス
タ9にセットする。また、セレクタ12は初期連鎖値レ
ジスタ3の出力を選択するため、排他的論理和ゲート1
1では出力Cレジスタ9とセレクタ12からの出力との
排他的論理和がとられる。このとき、セレクタ15が排
他的論理和ゲート11の出力を選択することにより、復
号化された平文ブロックOが出力レジスタ5にセットさ
れる。
と、セレクタ14は入力レジスタ4の出力に選択し、入
力Cレジスタ6に暗号文ブロック0をランチする。この
間に、入力レジスタ4の出力は入力Aレジスタ7にラッ
チされる。DES演算回路1は、鍵レジスタ2の*KE
Yに従って復号化演算を行い、その出力を出力Cレジス
タ9にセットする。また、セレクタ12は初期連鎖値レ
ジスタ3の出力を選択するため、排他的論理和ゲート1
1では出力Cレジスタ9とセレクタ12からの出力との
排他的論理和がとられる。このとき、セレクタ15が排
他的論理和ゲート11の出力を選択することにより、復
号化された平文ブロックOが出力レジスタ5にセットさ
れる。
次に、暗号文ブロックi (i=l〜n)が入力レジ
スタ4に入力されると、セレクタ]4はその出力を、入
力Cレジスタ6に出力する。これにより、DES演算回
路1は、暗号文ブロックjを復号化し、出力Cレジスタ
9にその結果を出力する。
スタ4に入力されると、セレクタ]4はその出力を、入
力Cレジスタ6に出力する。これにより、DES演算回
路1は、暗号文ブロックjを復号化し、出力Cレジスタ
9にその結果を出力する。
この間、入力Aレジスタ7の出力は入力Bレジスタ8に
ランチされる。その後に、入力レジスタ4からの暗号文
ブロック1が入力Aレジスタ7にラッチされる。セレク
タ12は入力Bレジスタ8の出力の暗号文ブロック(i
−1)を選択するので、排他的論理和ゲート11では、
出力Cレジスタ9の出力と入力Bレジスタ8の出力との
排他的論理和がとられ、平文ブロックlが復号される。
ランチされる。その後に、入力レジスタ4からの暗号文
ブロック1が入力Aレジスタ7にラッチされる。セレク
タ12は入力Bレジスタ8の出力の暗号文ブロック(i
−1)を選択するので、排他的論理和ゲート11では、
出力Cレジスタ9の出力と入力Bレジスタ8の出力との
排他的論理和がとられ、平文ブロックlが復号される。
これをセレクタ15で選択して、復号した平文ブロック
lが出力レジスタ5にラッチされる。このようにして、
暗号文ブロツク1〜@′号文ブロックnの各ブロックが
平文ブロック1〜平文ブロックnに復号化される。
lが出力レジスタ5にラッチされる。このようにして、
暗号文ブロツク1〜@′号文ブロックnの各ブロックが
平文ブロック1〜平文ブロックnに復号化される。
次に、暗号文ブロック(n + 1 )が入力レジスタ
4にセットされると、入力Aレジスタ7からの出力(暗
号文ブロックn)が人力Bレジスタ8゜セレクタ12.
セレクタ13.セレクタ14を介して、入力Cレジスタ
6にラッチされる。DES演算回路1は、この場合、入
力Cレジスタ6の出力を暗号化して、その出力を出力C
レジスタ9にラッチする。この間に、入力レジスタ4の
出力の暗号文ブロック(n+1)は、入力Aレジスタ7
を経て入力Bレジスタ8にラッチされる。セレクタ12
は入力Bレジスタ8の出力を選択し、排他的論理和ゲー
ト11は出力Cレジスタ9の呂カと入力Bレジスタ8の
出力との排他的論理和をとり、復号化して平文ブロック
(n+1)を得る。このときの排他的論理和の出力の平
文ブロック(n+1)はセレクタ15を経て、出力レジ
スタ5に格納される。
4にセットされると、入力Aレジスタ7からの出力(暗
号文ブロックn)が人力Bレジスタ8゜セレクタ12.
セレクタ13.セレクタ14を介して、入力Cレジスタ
6にラッチされる。DES演算回路1は、この場合、入
力Cレジスタ6の出力を暗号化して、その出力を出力C
レジスタ9にラッチする。この間に、入力レジスタ4の
出力の暗号文ブロック(n+1)は、入力Aレジスタ7
を経て入力Bレジスタ8にラッチされる。セレクタ12
は入力Bレジスタ8の出力を選択し、排他的論理和ゲー
ト11は出力Cレジスタ9の呂カと入力Bレジスタ8の
出力との排他的論理和をとり、復号化して平文ブロック
(n+1)を得る。このときの排他的論理和の出力の平
文ブロック(n+1)はセレクタ15を経て、出力レジ
スタ5に格納される。
第2図および第3図は、それぞれ、暗号化する平文デー
タがブロック長の8バイトに満たない場合の暗号化処理
および復号化処理を説明するブロック図である。
タがブロック長の8バイトに満たない場合の暗号化処理
および復号化処理を説明するブロック図である。
まず、第2図を参照して暗号化処理を説明する。
暗号化処理では、第2図に示すように、ブロック長未満
の平文データは、初期連#J値を暗号化した暗号文ブロ
ックとの排他的論理和をとり、当該平文データが暗号文
データとされる。
の平文データは、初期連#J値を暗号化した暗号文ブロ
ックとの排他的論理和をとり、当該平文データが暗号文
データとされる。
8バイトに満たない平文ブロックOが入力レジスタ4に
入力されると、初期連鎖値レジスタ3からの出力はセレ
クタ12.セレクタ13.セレクタ14を経て、入力C
レジスタ6にラッチされ、DES演算回路1において鍵
レジスタ2の鍵KEYに従って暗号化される。この初期
連鎖値を暗号化した暗号文ブロックは、DES演算回路
1から出力Cレジスタ9にラッチされる。この間、入力
レジスタ4の出力は入力Aレジスタ7を経て入力Bレジ
スタ8にラッチされる。セレクタ12は入力Bレジスタ
8の出力を選択し、排他的論理和ゲート11は出力Cレ
ジスタ9と入力Bレジスタ8の出力との排他的論理和を
とる。この排他的論理和ゲート11の出力である暗号文
ブロックOがセレクタ15で選択されて出力レジスタ5
に格納される。 次に、第3図を参照して復号化処理を
説明する。復号化処理においても、第3図に示すように
、晴晴化処理と同様に、ブロック長未満の暗号文データ
は、初期連鎖値を暗号化した暗号文ブロックとの排他的
論理和をとり、当該暗号文データが平文データとされる
。
入力されると、初期連鎖値レジスタ3からの出力はセレ
クタ12.セレクタ13.セレクタ14を経て、入力C
レジスタ6にラッチされ、DES演算回路1において鍵
レジスタ2の鍵KEYに従って暗号化される。この初期
連鎖値を暗号化した暗号文ブロックは、DES演算回路
1から出力Cレジスタ9にラッチされる。この間、入力
レジスタ4の出力は入力Aレジスタ7を経て入力Bレジ
スタ8にラッチされる。セレクタ12は入力Bレジスタ
8の出力を選択し、排他的論理和ゲート11は出力Cレ
ジスタ9と入力Bレジスタ8の出力との排他的論理和を
とる。この排他的論理和ゲート11の出力である暗号文
ブロックOがセレクタ15で選択されて出力レジスタ5
に格納される。 次に、第3図を参照して復号化処理を
説明する。復号化処理においても、第3図に示すように
、晴晴化処理と同様に、ブロック長未満の暗号文データ
は、初期連鎖値を暗号化した暗号文ブロックとの排他的
論理和をとり、当該暗号文データが平文データとされる
。
8バイトに満たない暗号文ブロックOが、入力レジスタ
4に入力されると、暗号化処理と同様に、初期連鎖値レ
ジスタ3からの出力はセレクタ12゜セレクタ13.セ
レクタ14を経て、入力Cレジスタ6にラッチされ、D
ES演算回路1で鍵レジスタ2のIIIKEYに従って
暗号化される。そして、この初期連鎖値を暗号化した暗
号文ブロックは、出力Cレジスタ9にラッチされる。こ
の間、入力レジスタ4の出力は入力Aレジスタ7を経て
、入力Bレジスタ8にラッチされる。次に、セレクタ1
2が入力Bレジスタ8の出力を選択し、排他的論理和ゲ
ート11において、出力Cレジスタ9の出力と入力Bレ
ジスタ8の出力との排他的論理和をとり、この出力であ
る平文ブロック0がセレクタ15を経て出力レジスタ5
に格納される。
4に入力されると、暗号化処理と同様に、初期連鎖値レ
ジスタ3からの出力はセレクタ12゜セレクタ13.セ
レクタ14を経て、入力Cレジスタ6にラッチされ、D
ES演算回路1で鍵レジスタ2のIIIKEYに従って
暗号化される。そして、この初期連鎖値を暗号化した暗
号文ブロックは、出力Cレジスタ9にラッチされる。こ
の間、入力レジスタ4の出力は入力Aレジスタ7を経て
、入力Bレジスタ8にラッチされる。次に、セレクタ1
2が入力Bレジスタ8の出力を選択し、排他的論理和ゲ
ート11において、出力Cレジスタ9の出力と入力Bレ
ジスタ8の出力との排他的論理和をとり、この出力であ
る平文ブロック0がセレクタ15を経て出力レジスタ5
に格納される。
第4図は、暗号文を逆方向から復号化処理を行う場合の
処理を説明するブロック図である。この場合にも、復号
化する暗号文データは、ブロック化された後に、各々の
ブロック毎に逆方向に復号化の処理が行なわれる。
処理を説明するブロック図である。この場合にも、復号
化する暗号文データは、ブロック化された後に、各々の
ブロック毎に逆方向に復号化の処理が行なわれる。
第4図を参照して説明する。ブロック化の後、8バイト
に満たない暗号文ブロック(n+1)が入力レジスタ4
に入力されると、入力レジスタ4の出力を入力Aレジス
タ7を経て、入力Bレジスタ8にラッチする。次に、暗
号文ブロックわが入力レジスタ4に入力されると、入力
レジスタ4の出力を入力Aレジスタ7にラッチする。ま
た、入力レジスタ4の出力はセレクタ14を経て入力C
レジスタ6にラッチされて、この暗号文ブロックに対し
てのみ、DES演算回路1で鍵レジスタ2の@KEYに
従って暗号化され、その出力が出力Cレジスタ9にラッ
チされる。排他的論理和ゲート11はセレクタ12で選
択された入力Bレジスタ8の出力と出力Cレジスタ9の
出力との排他的論理和をとり、平文ブロック(n+1)
として復号化する。この出力の平文ブロック(n+1)
はセレクタ15を経て、出力レジスタ5に、出力される
。
に満たない暗号文ブロック(n+1)が入力レジスタ4
に入力されると、入力レジスタ4の出力を入力Aレジス
タ7を経て、入力Bレジスタ8にラッチする。次に、暗
号文ブロックわが入力レジスタ4に入力されると、入力
レジスタ4の出力を入力Aレジスタ7にラッチする。ま
た、入力レジスタ4の出力はセレクタ14を経て入力C
レジスタ6にラッチされて、この暗号文ブロックに対し
てのみ、DES演算回路1で鍵レジスタ2の@KEYに
従って暗号化され、その出力が出力Cレジスタ9にラッ
チされる。排他的論理和ゲート11はセレクタ12で選
択された入力Bレジスタ8の出力と出力Cレジスタ9の
出力との排他的論理和をとり、平文ブロック(n+1)
として復号化する。この出力の平文ブロック(n+1)
はセレクタ15を経て、出力レジスタ5に、出力される
。
この以後、暗号文ブロックn−暗号文ブロックOが入力
され、逆方向の復号化処理により平文ブロックn〜平文
ブロックOに復号される。入力Aレジスタ7の出力が入
力Bレジスタ8にラッチされ、次に暗号文ブロックi
(i= (n 1)〜O)が入力レジスタ4に入力
されると、入力レジスタ4の出力は入力Aレジスタ7に
ラッチされると同時に、入力Bレジスタ8の出力はセレ
クタ12゜セレクタコ、3.セレクタ14を経て、入力
Cレジスタ6にラッチされて、DES演算回路1で復号
化される。復号化された出力は出力Cレジスタ9にラッ
チされる。この時に、入力Aレジスタ7の出力が入力B
レジスタ8にラッチされる。セレクタ12は入力Bレジ
スタ8の出力を選択して、排他的論理和ゲー1−11に
入力する。これにより、排他的論理和ゲート11におい
てはセレクタ12によって選択された人力Bレジスタ8
の出力と、出力Cレジスタ9の出力との排他的論理和が
とられて、平文ブロック(i+1)が復号される。この
排他的論理和の出力の平文ブロック(i+1)はセレク
タ15を経て、出力レジスタ5に出力される。
され、逆方向の復号化処理により平文ブロックn〜平文
ブロックOに復号される。入力Aレジスタ7の出力が入
力Bレジスタ8にラッチされ、次に暗号文ブロックi
(i= (n 1)〜O)が入力レジスタ4に入力
されると、入力レジスタ4の出力は入力Aレジスタ7に
ラッチされると同時に、入力Bレジスタ8の出力はセレ
クタ12゜セレクタコ、3.セレクタ14を経て、入力
Cレジスタ6にラッチされて、DES演算回路1で復号
化される。復号化された出力は出力Cレジスタ9にラッ
チされる。この時に、入力Aレジスタ7の出力が入力B
レジスタ8にラッチされる。セレクタ12は入力Bレジ
スタ8の出力を選択して、排他的論理和ゲー1−11に
入力する。これにより、排他的論理和ゲート11におい
てはセレクタ12によって選択された人力Bレジスタ8
の出力と、出力Cレジスタ9の出力との排他的論理和が
とられて、平文ブロック(i+1)が復号される。この
排他的論理和の出力の平文ブロック(i+1)はセレク
タ15を経て、出力レジスタ5に出力される。
また、1;oの場合の暗号文ブロック1の復号化は、こ
の後に、入力Bレジスタ8の出力がセレクタコ2.セレ
クタ1;3.セレクタ]4を経て、入力Cレジスタ6に
ラッチされ、DES演算回路1で復号化された後、次に
初期連鎖値との排他的論理和をとることにより行なわれ
る。DES演算回路1の出力が入力Cレジスタ9にラッ
チされると、排他的論理和ゲート11はセレクタ12に
より選択された初期連鎖値レジスタ3の出力と、出力C
レジスタ9の出力との排他的論理和をとり、平文ブロッ
クOに復号化される。この排他的論理和の出力の平文ブ
ロックOはセレクタ15を経て、出力レジスタ5に出力
される。
の後に、入力Bレジスタ8の出力がセレクタコ2.セレ
クタ1;3.セレクタ]4を経て、入力Cレジスタ6に
ラッチされ、DES演算回路1で復号化された後、次に
初期連鎖値との排他的論理和をとることにより行なわれ
る。DES演算回路1の出力が入力Cレジスタ9にラッ
チされると、排他的論理和ゲート11はセレクタ12に
より選択された初期連鎖値レジスタ3の出力と、出力C
レジスタ9の出力との排他的論理和をとり、平文ブロッ
クOに復号化される。この排他的論理和の出力の平文ブ
ロックOはセレクタ15を経て、出力レジスタ5に出力
される。
このように、暗号文ブロックと次の入力ブロックとを排
他的論理和をとって、ブロック連鎖を行うデータ暗号化
方式において、暗号化されたデースを暗号最終ブロック
から暗号開始ブロックへと逆方向に入力し、復号すべき
暗号文ブロックを復号化し、次に入力される暗号文ブロ
ックとの排他的論理和を取ることにより、暗号文ブロッ
クを逆方向に復号化し、順次に平文ブロックのデータと
することができる。
他的論理和をとって、ブロック連鎖を行うデータ暗号化
方式において、暗号化されたデースを暗号最終ブロック
から暗号開始ブロックへと逆方向に入力し、復号すべき
暗号文ブロックを復号化し、次に入力される暗号文ブロ
ックとの排他的論理和を取ることにより、暗号文ブロッ
クを逆方向に復号化し、順次に平文ブロックのデータと
することができる。
以上、説明したように、本実施例によれば、平文が8バ
イト未滴の場合においても、暗号処理が可能となり、ま
た、暗号文ブロックを逆方向から逐次に復号できるとい
う効果がある。
イト未滴の場合においても、暗号処理が可能となり、ま
た、暗号文ブロックを逆方向から逐次に復号できるとい
う効果がある。
以上、本発明を実施例にもとづき具体的に説明したが5
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において神々変更可能であること
は言うまでもない。
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において神々変更可能であること
は言うまでもない。
以上、説明したように、本発明によれば、以下に記載さ
れるような効果を奏する。
れるような効果を奏する。
(])初期連鎖値を暗号化したデータと排他的論理和を
とることにより、1ブロツクに満たない短い平文でも暗
号化が可能となる。
とることにより、1ブロツクに満たない短い平文でも暗
号化が可能となる。
(2)次の暗号化ブロックを先取りして読み取ることに
より、逆方向から入力された暗号文ブロックも逐次に復
号化することができる。
より、逆方向から入力された暗号文ブロックも逐次に復
号化することができる。
第1図は、本発明の一実施例にかかるデータ暗号化方式
を一態様で実施する暗号化処理回路を示すブロック図、 第2図および第3図は、そ才りそれ、暗号化する平文デ
ータがブロック長の8バイトに満たない場合の暗号化処
理および復号化処理を説明するブロック図、 第4図は、暗号文を逆方向から復号化処理を行う場合の
処理を説明するブロック図、 第5図は、CBCモードにおける暗号化処理を説明する
ブロック図、 第6図は、CBCモートにおける復号化処理を説明する
ブロック図である。 図中、1・・DES演算回路、2−・鍵レジスタ、3・
−初期連鎖値レジスタ、4・・入力レジスタ、5・・出
力レジスタ、6・−人力Cレジスタ、7・・入力Aレジ
スタ、8・・・入力Bレジスタ、9・・・呂カCレジス
タ、10・・・排他的論理和ゲート、11・・・排他的
論理和ゲート、12・・・セレクタ、13・・・セレク
タ、14・・・セレクタ、15・・セレクタ。
を一態様で実施する暗号化処理回路を示すブロック図、 第2図および第3図は、そ才りそれ、暗号化する平文デ
ータがブロック長の8バイトに満たない場合の暗号化処
理および復号化処理を説明するブロック図、 第4図は、暗号文を逆方向から復号化処理を行う場合の
処理を説明するブロック図、 第5図は、CBCモードにおける暗号化処理を説明する
ブロック図、 第6図は、CBCモートにおける復号化処理を説明する
ブロック図である。 図中、1・・DES演算回路、2−・鍵レジスタ、3・
−初期連鎖値レジスタ、4・・入力レジスタ、5・・出
力レジスタ、6・−人力Cレジスタ、7・・入力Aレジ
スタ、8・・・入力Bレジスタ、9・・・呂カCレジス
タ、10・・・排他的論理和ゲート、11・・・排他的
論理和ゲート、12・・・セレクタ、13・・・セレク
タ、14・・・セレクタ、15・・セレクタ。
Claims (1)
- 1、初期連鎖値を有し、データをブロック化してブロッ
ク連鎖によりブロック毎に暗号化処理を行うデータ暗号
化方式において、暗号化処理を行う平文データのデータ
長がブロック長未満の場合に、初期連鎖値を暗号化した
結果と平文データとの排他的論理和をとり、当該平文デ
ータを暗号文データとすることを特徴とするデータ暗号
化方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2141781A JPH0435432A (ja) | 1990-05-30 | 1990-05-30 | データ暗号化方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2141781A JPH0435432A (ja) | 1990-05-30 | 1990-05-30 | データ暗号化方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0435432A true JPH0435432A (ja) | 1992-02-06 |
Family
ID=15300020
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2141781A Pending JPH0435432A (ja) | 1990-05-30 | 1990-05-30 | データ暗号化方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0435432A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007034212A (ja) * | 2005-07-29 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム |
| JP2008061041A (ja) * | 2006-08-31 | 2008-03-13 | Sharp Corp | 通信システム、プログラムおよび記録媒体 |
-
1990
- 1990-05-30 JP JP2141781A patent/JPH0435432A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007034212A (ja) * | 2005-07-29 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム |
| JP2008061041A (ja) * | 2006-08-31 | 2008-03-13 | Sharp Corp | 通信システム、プログラムおよび記録媒体 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102204158B (zh) | 低等待时间的分块密码术 | |
| US7280657B2 (en) | Data encryption and decryption system and method using merged ciphers | |
| EP3361668B1 (en) | Flexible architecture and instruction for advanced encryption standard (aes) | |
| JP2000162965A (ja) | 暗復号装置及び記憶媒体 | |
| AU693733B2 (en) | Method and apparatus for encrypting data | |
| JPS6333749B2 (ja) | ||
| JP3824121B2 (ja) | 暗号データの復号化処理方法および装置 | |
| JP3769804B2 (ja) | 解読化方法および電子機器 | |
| US7103180B1 (en) | Method of implementing the data encryption standard with reduced computation | |
| JP2002510058A (ja) | 2進データ・ブロックの暗号変換のための方法 | |
| JPH0697930A (ja) | ブロック暗号処理装置 | |
| CN117725605B (zh) | 一种远端自动编制电子档案文件信息保密的方法和系统 | |
| JPH02110491A (ja) | 記憶装置 | |
| JPH0435432A (ja) | データ暗号化方式 | |
| KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
| JPH05249891A (ja) | 暗号処理装置およびこれを用いる暗号処理方法 | |
| JPH0728405A (ja) | 暗号連鎖における暗号化前処理装置および復号後処 理装置 | |
| KR100546777B1 (ko) | Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기 | |
| JPS6281145A (ja) | デ−タ暗号化方式 | |
| JPH027080A (ja) | 可変型暗号化装置 | |
| JPS6350222A (ja) | メツセ−ジ認証装置 | |
| JP4708914B2 (ja) | 解読化方法 | |
| CN112910626A (zh) | 一种基于幂次运算的数据加密及解密方法 | |
| JPH0553990A (ja) | 数字列を用いたパスワードの暗号化、複合化方式 | |
| JP4335374B2 (ja) | データ変換装置及びデータ変換方法 |