JPS6333749B2 - - Google Patents

Info

Publication number
JPS6333749B2
JPS6333749B2 JP54154540A JP15454079A JPS6333749B2 JP S6333749 B2 JPS6333749 B2 JP S6333749B2 JP 54154540 A JP54154540 A JP 54154540A JP 15454079 A JP15454079 A JP 15454079A JP S6333749 B2 JPS6333749 B2 JP S6333749B2
Authority
JP
Japan
Prior art keywords
block
register
length
input
chain value
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
Application number
JP54154540A
Other languages
English (en)
Other versions
JPS5592483A (en
Inventor
Maikeru Matsuchasu Suchiibun
Haintsu Uiruherumu Meiyaa Kaaru
Buraianto Tatsukaaman Saado Ruisu
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5592483A publication Critical patent/JPS5592483A/ja
Publication of JPS6333749B2 publication Critical patent/JPS6333749B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は暗号キーの制御のもとで入力データを
ブロツク単位で暗号化又は解読するキー制御式ブ
ロツク暗号システムに係る。
〔従来技術〕
データの機密保持のための手段としてこれまで
にも様々な暗号方式が提案されているが、その中
の代表的なものに米国の標準信号であるDES
(Data Encryption Standard)がある。これは、
秘密の暗号キーの制御のもとで入力データをブロ
ツク単位で暗号化又は解読するブロツク暗号の1
つで、換字および転字を繰返し遂行するこによつ
て強固な暗号を得ている。しかし従来のブロツク
暗号には、同じキーを使用する限り、同じ平文ブ
ロツクからは同じ暗号文ブロツクしか生成されな
いという問題があつた。これから直ちに暗号破り
が容易になるというわけではないが、例えば大量
のデータを暗号化したときに、その中に多数の同
じ暗号文ブロツクが散在していると、暗号破りを
企てる者に何らかのヒントを与えることにもなり
かねない。
この問題は米国特許第4078152号に記載されて
いるブロツク連鎖方式によつて解決することがで
きる。本発明にも関係するので、このブロツク連
鎖方式について簡単に触れておく。
ブロツク連鎖方式は、キーKを用いて平文ブロ
ツクXi(i=1、2………)から暗号文ブロツク
Yiを生成する際に、先行の暗号文ブロツクYi-1
関数である連鎖値Viと平文ブロツクXiとを組合せ
たものを暗号化している。これを式で表わすと次
のようになる。
Yi=f(K、XiVi) Vi=g(Yi-1) 関数fはDESの如き所定の暗号アルゴリズム
である。関数gはすべての暗号文ブロツクに対し
て定義された特定の離散値関数で、例えば最も簡
単な恒等関数を選ぶとVi=Yi-1になる。は排他
的論理和(XOR)が好ましいが、数学的に可逆
な演算であればよい。
暗号システムへ入力された平文ブロツクXiの長
さLi(バイトまたはビツトで表わす)が予め決め
られている標準の長さL(f)よりも短ければ、Yi
次式に従つて生成される。
Yi=Xif(K、Yi-1) 上式において、f(K、Yi-1)はXiの長さまで
短くされる。従つてYiはXiと同じ長さである。
いずれの場合もYi-1の初期値Ypには選択され
た定数Cが使用される。
解読は、長さがL(f)の場合はXi=f-1(K、Yi
Viとなり、長さがL(f)より短い場合はXi=Yi
f(K、Yi-1)となる。
〔発明が解決しようとする問題点〕
上述のブロツク連鎖方式では、Xiの長さ、従つ
て暗号化により生成されたYiの長さがL(f)より短
いときは、Yiは次の平文ブロツクXi+1に対する連
鎖値Vi+1として使用されず、長さがL(f)であつた
最後の暗号文ブロツクYi-j(j=1、2、………、
i)がVi+1として使用される。従つて、暗号化す
べき一連の平文ブロツクの長さが最初からL(f)
りも短かつた場合は次のような暗号文ブロツクが
出力される。
Y1=X1f(K、C) Y2=X2f2(K、C) ・ ・ Yi=Xifi(K、C) ・ ・ Yo=Xofn(K、C) fi(K、C)は定数Cに対してブロツク暗号プ
ロセスをi回適用したこと表わしている。定数C
は一般に既知であるから、暗号文ブロツクYiの秘
密性はキーKおよびアルゴリズムfにのみ依存し
ている。そのような場合、各々が複数の短ブロツ
クから成る2以上のブロツク系列を同じキーKで
暗号化すると、いずれのブロツク系列においても
fi(K、C)は同じであるから、暗号破りが容易
になる。
また、長さがL(f)である標準ブロツクだけの場
合は、Xiの解読式から明らかなように、たとえYi
に誤が生じても解読に影響がでるのは高々2つの
ブロツク、すなわちXiおよびXi+1だけであるが、
もし誤りの生じたYiの後に上述の如き短ブロツク
の系列が続いていると、その誤りはどこまでも伝
播してしまう。というのは、長さがL(f)である最
後のブロツクYiが短ブロツク系列に対する連鎖値
として使用されているからである。
従つて本発明の目的は、各ブロツクの長さが
L(f)か、それより短いかには関係なく、常に直前
の暗号文ブロツクに基いて長さがL(f)の連鎖値Vi
を生成するブロツク暗号システムを提供すること
にある。
〔問題点を解決するための手段〕
本発明は入力データブロツクを連鎖値と組合せ
て暗号化又は解読を行うキー制御式ブロツク暗号
システムにおいて、直前の暗号文ブロツクを保持
する手段と、この暗号文ブロツクを用いて常に予
め決められた標準の長さL(f)を持つた連鎖値を生
成する手段とを設けたことを特徴としている。
後述する実施例においては、常に長さがL(f)
連鎖値を生成するため、暗号文ブロツクYの左側
に現連鎖値Vが連結される。これを“V||Y”
で表わす。次の連鎖値V′としては、V||Yの
右端からL(f)までの長さの部分が出力される。従
つて、Yの長さがL(f)であれば、V′=Yである。
V′と組合すべき入力データブロツクの長さLが
L(f)よりも短い場合は、f(K、V)の左端からL
までの長さの部分が入力データと組合される。
〔実施例〕
以下の説明では、データブロツクの標準の長さ
L(f)を8バイト(64ビツト)とし、関数fすなわ
ち暗号アルゴリズムは米国のデータ暗号規格
DES(一般にパイ記号“π”で表わす)を用いる
ものとする。
長さがL(f)である標準ブロツクの暗号化および
解読の概略を第1A図および第1B図に示し、長
さがL(f)よりも短いブロツクの暗号化および解読
の概略を第1C図および第1D図に示す。図にお
いて、π+1は暗号化を表わし、π-1は解読を表わし
ている。
第1A図の暗号化および第1B図の解読は実質
的に前記米国特許のものと同じである。すなわち
まず、平文のメツセージがDESアルゴリズムに
従い8バイトずつブロツクに分割される。次い
で、標準平文ブロツクXがXOR回路で現連鎖値
Vと組合されその結果がπ+1ボツクスで暗号化さ
れて、標準暗号文ブロツクYおよび次の平文ブロ
ツク暗号化のための新しい連鎖値V′が生成され
る。V′=Yでもよいが、前記米国特許にも記載
されているように、暗号の強さという点では、Y
に転字法を適用したものをV′にするのが望まし
い。前記米国特許では、Yの上位4バイトおよび
下位4バイトを互いに入れ換えてV′を生成して
いる。ここでは簡単のためV′=Yとする。
解読の場合は、標準暗号文ブロツクYがπ-1
ツクスで解読され、その結果をXOR回路で現連
鎖値Vと組合せることにより、元の標準平文ブロ
ツクXが再生される。Yはまた次の暗号文ブロツ
クを解読するための新しい連鎖値V′として使用
される。
平文ブロツクXおよび暗号文ブロツクYの長さ
がL(f)より短い場合は、第1C図の暗号化プロセ
スおよび第1D図の解読プロセスが遂行される。
まず第1C図において、現連鎖値Vがπ+1ボツク
スで暗号化されて暗号連鎖値Wになり、これと短
平文ブロツクXとがXOR回路で組合されて、短
暗号文ブロツクYが生成される。短暗号文ブロツ
クYは連結レジスタにおいて現連鎖値Vの右側に
連結される。これは、現連鎖値Vが入つている連
結レジスタの右側からYをシフトインすると同時
に連結レジスタの内容を左へシフトすることによ
り達成される。新しい連鎖値V′としては、連結
レジスタの右端から8バイトの長さまでの内容が
使用される。
第1D図の解読は、第1C図の暗号化の数学的
逆算である。すなわち、暗号化ではY=XWで
あるが、解読ではX=YWである。XORの場
合は、はに等しく、X=Y′Wが成立して
いる。
本実施例に関する限り、連結レジスタの長さは
8バイトで十分である。連結レジスタの右側から
暗号文ブロツクYをシフトインしたときに、8バ
イトの現連鎖値Vの一部または全部が左側からシ
フトアウトされてしまうが、それらはもともと新
しい連鎖値V′には含まれていないから問題はな
い。V′は、次の平文ブロツクまたは暗号文ブロ
ツクが短ブロツクか否かには関係なく生成され、
次の暗号化プロセスまたは解読プロセスで使用さ
れる。
第1E図は、3つの連続する短ブロツクX1
X2及びX3の暗号化の例を示している。もしこれ
らの短ブロツクがシステムによつて暗号化される
新しいメツセージの最初の平文ブロツクであれ
ば、現連鎖値V1として所定の初期連鎖値(ICV)
が使用される。現連鎖値V1は連結レジスタ中に
記憶される。破線によつて区切られている3つの
セクシヨンは各々第1C図の暗号化プロセスに対
応している。短ブロツクX1、X2及びX3の長さL
は各々3バイト、4バイト及び3バイトである。
3つのセクシヨンにおいて、πボツクスへの入
力は現連鎖値V1、V2及びV3である。各πボツク
スからの出力W1、W2及びW3はXOR回路中で3
つの平文ブロツクX1、X2及びX3とXORされ、3
つの暗号文ブロツクY1、Y2及びY3が発生され
る。勿論、各πボツクスからの8バイトの出力の
うち、入力文と同一長の出力暗号文を発生するの
に必要な数の出力バイトだけがXOR回路で使用
される。ここで、各段における新しい連鎖値の発
生について考える。第1E図の一番下のボツクス
は連結用のレジスタを仮想的に示したものであ
る。最初の段では、Y1が現連鎖値V1の右側に連
結される。この連結は3バイトのY1及びV1の右
側5バイトより成る8バイトの新しい連鎖値
V1′を発生する。V1′は図面から明らかな如く、次
段のための新しい現連鎖値V2となる。前述の如
く、連結レジスタは長さが標準ブロツクに等しけ
れば十分であり、その場合は、新しい連鎖値
V1′に含まれない部分は暗号文ブロツクY1のシフ
トインに伴つてシフトアウトされ失われる。
同様に、新しい現連鎖値V2は連結レジスタに
おいて4バイより成る新しい短暗号文ブロツク
Y2と連結される。新しい連鎖値V2′は4バイトの
Y2及びV2の右側4バイトより成る。後者の4バ
イトは3バイトのY2及び連鎖値V1の1バイトよ
り成る。
第3段中で新しい連鎖値V3は連結レジスタに
おいて新しい短暗号文ブロツクY3と連結される。
新しい連鎖値V3′は3バイトのY3及びV3の右側5
バイトより成る。この時点で次の動作のための現
連鎖値V4になる新しい連鎖値V3′は完全に暗号文
だけから成る。即ち、V3′はY3の3バイト、Y2
4バイト及びY1の最右バイトで構成される。こ
のように、連鎖値は短ブロツクが幾ら続いていよ
うと連続的に変化する。もし次の平文ブロツク
(図示せず)が標準ブロツク長(L=8)であれ
ば、新しい現連鎖値V4は第1A図のように使用
される。
以上の短ブロツク連鎖の詳細を流れ図で示した
のが第2A図および第2B図である。第3A図な
いし第3C図は本発明を実施し得るブロツク暗号
システムのハードウエア構成の一例を示してい
る。このハードウエアは短ブロツク連鎖用の第
3XOR回路17(第3A図)およびその入出力接
続を除くと、米国特許第4078152号のものと同じ
である。本発明による短ブロツク連鎖の詳細に入
る前に、第3A図ないし第3C図を参照しなが
ら、上記米国特許に記載されている標準ブロツク
の暗号化および解読について簡単に説明してお
く。なお、マイクロプログラムに関しては、その
制御内容だけを記載すれば十分と考えられるの
で、詳細は省略する。ただし、本実施例における
短ブロツク連鎖のマイクロプログラムについては
あとで詳述する。
第3A図ないし第3C図のブロツク暗号システ
ムは、多数のレコードから成るフアイルの暗号化
および解読を行うもので、制御用のマイクロプロ
グラムはROM24(第3B図)に入つており、
メモリアドレスレジスタ(MAR)26により読
出されて入力マルチプレクサ32、出力解読器4
0および制御ラツチ回路42へ送られる。ROM
24から読出された命令が分岐アドレスを含んで
いると、それは母線44を通つてMAR26の方
へ送られる。ただしこの分岐アドレスが実際に
MAR26へロードされるのは入力マルチプレク
サ32からの線34上の信号が分岐条件の成立を
示していたときだけである。普通はMAR26は
システムクロツク38によつて順次に増分され
る。
入力マルチプレクサ32は、母線36上の5ビ
ツトのアドレスによつて指定された1本の入力線
上の信号を線34の方へ通す。入力線0〜11は
各々次のような信号あるいはフラグを転送する。
0=データクロツクパルス(CP)フラグ 1=フアイル開始フラグ(BOF) 2=レコード開始フラグ(BOR) 3=レコード終了フラグ(EOR) 4=フアイル終了フラグ(EOF) 5=レコード連鎖 6=ブロツク連鎖 7=連鎖なし 8=暗号化/解読 9=カウンタキヤリ 10=処理完了 11=ゼロカウント 出力解読器40は16本の出力線を有し、そのう
ちの1本がROM24からの4ビツトのアドレス
によつて選択される。選択された出力線はROM
24の制御のもとにシングルシヨツト43から発
生されたパルスを転送する。出力解読器40から
フラグ用のラツチF0〜F4に向う5本の線はもし
選択されると対応するラツチをリセツトする。ラ
ツチF0〜F4は一旦入力マルチプレクサ32を介
して検査されると直ちにリセツトされる。S/R
クロツク出力線は6個のANDゲートA−0〜A
−5へ並列に接続されており、制御ラツチ回路4
2からのS/Rマスク信号mA〜mFによつて条
件付けられているANDゲートを通つて、入力レ
ジスタ10、連結レジスタ12、出力レジスタ1
4、C1レジスタ22、C2レジスタ20またはπ
ブロツクI/Oレジスタ50へシフトパルスを供
給する。これらのレジスタはバイト単位のシフト
を行う。従つて、データブロツクの長さが標準長
すなわち8バイトであれば、8個のシフトパルス
が発生されることになる。出力解読器40からカ
ウンタ46およびコピーレジスタ48へ向う5本
の出力線のうち、クリアはカウンタ46をゼロに
クリアし、U/Dはカウンタ46の動作が増分形
(U)か減分形(D)かを示し、第1クロツクパルス
CP1はU/Dに応じてカウンタ46を1ずつ増分
または減分し、ロードはコピーレジスタ48の内
容をカウンタ46に戻し、CP2はカウンタ46の
内容をコピーレジスタ48に保管する。
制御ラツチ回路42は、ROM24から母線4
4を介して供給される信号によつて選択的にセツ
トされる複数のラツチを含み、上述の6ビツトの
S/Rマスクの他に、MPX1〜MPX4の入力を指
定する8ビツトのMPXアドレスと、πブロツク
(π±1 K)での処理が暗号化(+1)か解読(−1)
かを示す±1信号と、データ転送の方向がπブロ
ツクI/Oレジスタ50へのロードかそこからの
放出かを示すロード/放出信号と、πブロツクで
処理を開始させる処理信号とを発生する。πブロ
ツクは指定された処理が完了すると、処理完了信
号を発生し、暗号化または解読されたデータブロ
ツクがπブロツクI/Oレジスタ50にあること
を知らせる。
動作に際しては、まずデータCP、BOF、
BOR、EORおよびEOFを示すラツチF0〜F4がリ
セツトされる。最初に発生されるフラグはBOF
である。BOFが発生されて対応するラツチF1が
セツトされたとき、システムが連鎖モードにあれ
ば、C1レジスタ22に入つている定数C1が第2
マルチプレクサMPX2を通つて連結レジスタ12
へロードされ、連鎖モードになければC2レジス
タ20に入つている別の定数C2が第4マルチプ
レクサMPX4を通つてπブロツクI/Oレジスタ
50へ転送され、暗号化された後、連結レジスタ
12へ戻される。ラツチF1はセツトされたこと
が検出されると直ちにリセツトされる(他のラツ
チF0、F2〜F4も同じ)。
システムが連鎖モードにあるかどうかは、入力
マルチプレクサ32の線7上の連鎖なし信号によ
つて示される。レコード連鎖自体は本発明に直接
関係するものではないので、以下ではブロツク連
鎖だけを考える。
上述のようにして連結レジスタ12の初期設定
が終ると、出力解読器40によつてカウンタ46
がクリアされる。以後は、データCPフラグ(ラ
ツチF0)が発生される度に入力母線11上のデ
ータバイトが第1マルチプレクサMPX1を通つて
入力レジスタ10に読込まれ、且つカウンタ46
が1ずつ増分される。EORが発生されることな
くカウンタ46の内容が8に達すると、入力マル
チプレクサ32の線9にキヤリ信号が発生され、
線8上の暗号化/解読信号に従つて、入力レジス
タ10にある8バイトのブロツクの暗号化または
解読が開始される(カウンタ46の内容が8に達
する前にEORが発生されると、あとで詳述する
短ブロツク処理に入る)。
暗号化の場合は入力レジスタ10および連結レ
ジスタ12の内容が1バイトずつ第2XOR回路1
6で組合されて、MPX4を通つてπブロツクI/
Oレジスタ50へロードされ、それが8バイトに
達するとπブロツクで暗号化が開始される。暗号
化が終るとπブロツクは処理完了信号を入力マル
チプレクサ32の線10に発生し、暗号文ブロツ
クがπブロツクI/Oレジスタ50にあることを
知らせる。この暗号文ブロツクはMPX2を通つて
連鎖値として連結レジスタ12へロードされ、更
にMPX3を通つて出力レジスタ14へロードされ
る。システムが連鎖モードになければ連結レジス
タ12は使用されず、入力レジスタ10の内容だ
けが暗号化(または解読)される。出力レジスタ
14へロードされた暗号文ブロツクは1バイトず
つ出力母線13へ取出される。それが終ると、次
の平文ブロツクの暗号化に備えてカウンタ46が
クリアされる。
連鎖モードで解読の場合は、入力レジスタ10
へロードされた8バイトの暗号文ブロツクが
MPX4を通つて1バイトずつπブロツクI/Oレ
ジスタ50へ転送される。このときMPX1の入力
1も選択されているので、入力レジスタ10は循
環シフトレジスタとして働く。解読が終ると、π
ブロツクI/Oレジスタ50にある平文ブロツク
および連結レジスタ12にある連鎖値が1バイト
ずつ第1XOR回路18で組合されて、MPX3を通
つて出力レジスタ14へロードされ、次いで入力
レジスタ10にある暗号文ブロツク(循環シフト
により元の形に戻つている)が新しい連鎖値とし
てMPX2を通つて連結レジスタ12へロードされ
る。連鎖モードになければ、πブロツクI/Oレ
ジスタ50にある平文ブロツクは直接出力レジス
タ14へ転送され、連結レジスタ12は使用され
ない。
フアイルを構成しているすべてのレコードの暗
号化または解読が終つてEOFが検出されると、
システムは次のフアイルの処理に備えてラツチ
F0〜F4をすべてリセツトする。
以上は、暗号化または解読されるのが8バイト
の標準ブロツクの場合であるが、入力母線11か
ら入力レジスタ10へロードされるデータブロツ
クのバイト数をカウントしているカウンタ46の
カウント値nが8に達する前にEORが検出され
ると、本発明による短ブロツク処理を開始するた
め、マイクロプログラムは第2A図および第2B
図のルーチンに進む。このルーチンの最初および
最後の部分(30番台のステツプ)は前記米国特許
の第1D図に示されているものと同じであり、
100番台のステツプが本発明で修正されたところ
である。以下、ステツプ順に説明する。
ステツプ30−出力解読器40からの第2クロツク
パルスCP2によりカウンタ46のカウント値
n(<8)がコピーレジスタ48に保管される。
ステツプ31−システムが連鎖モードにあるかどう
かを調べるため、ROM24から母線36へ読
出された5ビツトのアドレスにより入力マルチ
プレクサ32の線7(連鎖なし)が選択され
る。線7従つて線34がオフで連鎖モードを示
していると次のステツプ32へ進み、さもなけれ
ばステツプ35へ分岐する。
ステツプ32−連結レジスタ12にある現連鎖値を
πブロツクI/Oレジスタ50へ転送すると共
に、連結レジスタ12において現連鎖値の元の
形を維持するステツプである。前記米国特許に
よれば、現連鎖値は転字処理によつてその上位
4バイトおよび下位4バイトを互いに入れ換え
た形で出力され、且つ維持される。これは次の
ようにして達成される。
まず、制御ラツチ回路42からの8ビツトの
MPXアドレスによりMPX4の入力1および
MPX2の入力2が順次に選択される。これは連
結レジスタ12を循環シフトレジスタとして働
かせるためである。この状態でANDゲートA
−2だけを条件付けて出力解読器40からの
S/Rクロツクパルスを4個通過させると、連
結レジスタ12の内容が4バイト分だけ循環シ
フトされて、上位および下位の4バイトが入れ
換わる。あとはANDゲートA−5も条件付け
ることによつて、連結レジスタ12からπブロ
ツクI/Oレジスタ50へのバイト転送、およ
び連結レジスタ12のバイト循環シフトを8回
繰返せばよい。この繰返しはカウンタ46によ
り追跡され、カウンタ46から入力マルチプレ
クサ32の線9へキヤリ信号が発生されると
(n=8を示す)、次のステツプ33に進む。
上位および下位の4バイトの入れ換えはオプ
シヨンであつて、現連鎖値をそのままの形で利
用することもできる。
ステツプ33−πブロツクI/Oレジスタ50へロ
ードされた8バイトの連鎖値を暗号化するた
め、制御ラツチ回路42はπブロツクへ向かう
±1信号線を+1(暗号化)の状態に設定し、
更に処理信号を発生して暗号化を開始させる。
また、いつ暗号化が完了したかを知る必要があ
るので、母線36上の5ビツトのアドレスによ
り入力マルチプレサ32の線10が選択され
る。この線10上に処理完了信号が発生される
と、制御ラツチ回路42からπブロツクへ供給
されていた処理信号がターンオフされ、次のス
テツプ35に進む。前記米国特許においては、
ステツプ35の前に、πブロツクI/Oレジス
タ50にある暗号化された連鎖値を連結レジス
タ12へ戻すステツプが必要であつたが、ここ
では不要である。
ステツプ35−nバイトの短ブロツクを入力レジス
タ10において左詰めにするため、入力レジス
タ10が(8−n)位置分だけ左へシフトされ
る。これは、ステツプ30で、コピーレジスタ4
8に保管されていたカウント値nをカウンタ4
6に戻し、入力レジスタ10のシフトに伴つて
カウンタ46を1ずつ増分すると共に入力マル
チプレクサ32の線9を検査することにより達
成される。カウンタ46のカウント値が8にな
ると、本発明により修正された最初のステツプ
100に進む。
ステツプ100−入力マルチプレクサ32の線7が
選択される。線7上の連鎖なし信号がオフで連
鎖モードを示していると、単にMAR26を増
分することにより次のステツプ101に進み、さ
もなければ母線44上の分岐アドレスをMAR
26へロードすることによりステツプ104に分
岐する。
ステツプ101−入力マルチプレクサ32の線8が
選択される。線8上の暗号化/解読信号がオフ
で暗号化を示していると次のステツプ102に進
み、さもなければステツプ103に分岐する。
ステツプ102−ROM24から読出されたマイク
ロ命令に応答して、制御ラツチ回路42は
MPXアドレスによりMPX3の入力2および
MPX2の入力4を選択し、更に6ビツトのS/
Rマスクを“001111”に設定する。このSR/
マスクは線mC,mD,mEおよびmFを付勢す
ることにより対応するANDゲートA−2,A
−1,A−0およA−5を条件付ける。かく
て、連結レジスタ12(C)、入力レジスタ10
(D)、出力レジスタ14(E)およびπブロツクI/
Oレジスタ50(F)のシフト動作がセツトアツプ
される。これが終るとステツプ105に進む。
ステツプ103−制御ラツチ回路42はMPXアドレ
スによりMPX3の入力2およびMPX2の入力0
を選択し、更にS/Rマスクを“001111”に設
定する。このステツプは、MPX2の入力0が選
択される点を除くと、ステツプ102と同じであ
る。すなわち、いずれのステツプにおいても、
入力レジスタ10およびπブロツクI/Oレジ
スタ50の内容を第3XOR回路17で組合せた
結果を出力レジスタ14へ転送するように、デ
ータ路がセツトアツプされる。ただし、ステツ
プ102では連結レジスタ12も出力レジスタ1
4と同じ内容を受取るようにセツトアツプされ
るが、ステツプ103では連結レジスタ12は入
力レジスタ10にロードされている短暗号文ブ
ロツクを受取るようにセツトアツプされる(第
1D図参照)。セツトアツプが終るとステツプ
105に進む。
ステツプ104−システムが連鎖モードでないとき
に実行されるステツプで、ROM24からの命
令により、制御ラツチ回路42はMPX4の入力
1、MPX3の入力2およびMPX2の入力1を選
択し、更にS/Rマスクを“001110”に設定す
る。これにより、入力レジスタ10および連結
レジスタ12の内容を第3XOR回路17で組合
せた結果を出力レジスタ14へ転送するデータ
路、ななびに循環シフトによつて連結レジスタ
12の内容を維持するデータ路がセツトアツプ
される。なお連鎖モードでない場合は、標準ブ
ロツクの処理のところで説明したように、定数
C2を暗号化した結果が連結レジスタ12にロ
ードされている。
ステツプ105−ステツプ102、103または104で発生
されたS/Rマスクに従つて選択されたレジス
タがn回シフトされる。このため、まず出力解
読器40からのロード信号により、コピーレジ
スタ48に保管されていたカウント値nがカウ
ンタ46に戻される。次いでカウンタ46を減
分させるために、U/D信号がオフに設定さ
れ、更に入力マルチプレクサ32の線11が選
択される。この状態で、カウンタ46が0に達
する(線11が付勢される)まで、S/Rクロ
ツクパルスによる選択されたレジスタのシフト
および第1クロツクパルスCP1によるカウン
タ46の減分が続けられる。ステツプ102また
は103からステツプ105に入つた場合は、S/R
マスクが“001111”であるから、線C,D,
E、およびFに現われるS/Rクロツクパルス
によつて連結レジスタ12、入力レジスタ1
0、出力レジスタ14およびπブロツクI/O
レジスタ50がn回シフトされる。ステツプ
104から入つた場合は、S/Rマスクが
“001110”であるから、連結レジスタ12、入
力レジスタ10および出力レジスタ14がn回
シフトされる。カウンタ46が0に達すると入
力マルチプレクサ32の選択されている線11
が付勢され、これにより次のステツプ106に進
む。
ステツプ106−ステツプ31および100と同じで、入
力マルチプレクサ32の線7が選択され、それ
が連鎖なしを示しているとステツプ107に進み、
さもなければステツプ108に進む。
ステツプ107−ステツプ105でn回シフトされた連
結レジスタ12の内容を更に(8−n)回シフ
トすることによつて元の形に戻すため、まず
MPX2の入力1が選択され、更にS/Rマスク
が“001000”に設定されて、連結レジスタ12
に対応するANDゲートA−2を条件付ける。
次いで入力マルチプレクサ32の線9が選択さ
れ、コピーレジスタ48に保管されていたカウ
ント値nがカウンタ46に戻され、U/D信号
が増分を示すオンに設定される。この状態で、
入力マルチプレクサ32の線9にキヤリ信号が
発生されるまで、出力解読器40からS/Rク
ロツクパルスおよび第1クロツクパルスCP1
が繰返し発生され、それにより連結レジスタ1
2のシフトおよびカウンタ46の増分が行われ
る。カウンタ46が8に達して線9にキヤリ信
号を発生すると、ステツプ108に進む。
ステツプ108−出力レジスタ14に左詰めでロー
ドされているnバイト(n<8)の平文ブロツ
クまたは暗号文ブロツクが(8−n)回の右シ
フトによつて右詰めにされる。そのため、まず
S/Rマスクが“000010”に設定されて、出力
レジスタ14に対応するANDゲートA−0を
条件付ける。次いで、シフト回数を追跡するた
めに、入力マルチプレクサ32の線9が選択さ
れ、コピーレジスタ48に保管されていたカウ
ント値nがカウンタ46に戻され、U/D信号
が増分を示すオンに設定される。この状態で、
入力マルチプレクサ32の線9にキヤリ信号が
発生されるまで、出力増幅器40からS/Rク
ロツクパルスおよび第1クロツクパルスCP1
が繰返し発生され、それにより出力レジスタ1
4のシフトおよびカウンタ46の増分が行われ
る。カウンタ46が8に達して線9にキヤリ信
号を発生すると、ステツプ37に進む。
ステツプ37−出力レジスタ14において右詰めに
された短い平文ブロツクまたは暗号文ブロツク
がn回のシフトによつて出力母線13へ取出さ
れ、それと同期して出力解読器40からデータ
クロツクパルス(CP)が発生される。このス
テツプ37は前記米国特許に記載のものと同じ
である。すなわち、まずコピーレジスタ48に
保管されていたカウント値nがカウンタ46に
戻され、U/D信号が減分を示すオフに設定さ
れ、S/Rマスクが出力レジスタ14だけをシ
フトさせる“000010”に設定され、入力マルチ
プレクサ32の線11が選択される。この状態
で、カウンタ46が0に達するまで、出力解読
器40からデータCP、S/Rクロツクパルス
および第1クロツクパルスCP1が繰返し発生
される。カウンタ46が0に達すると、次のブ
ロツクの処理に備えて、前述のBORを検出す
るステツプに戻る。
ステツプ37が終了した時点で、連結レジスタ
12はシステムが連鎖モードにある限り8バイ
トの新しい連鎖値を含んでいる。この連鎖値
は、nバイトの暗号文ブロツクの左側に旧連鎖
値の右側(8−n)バイトが連結されたもので
ある。
以上の実施例においては、短ブロツクがBOR
およびEORによつて他のブロツクから分離され
ていたが、本発明に関する限り、一般の記録フオ
ーマツトで定義されているBORおよびEOR以外
の記号で短ブロツクが分離されていてもよい。
【図面の簡単な説明】
第1A図は標準ブロツクの暗号化を示すブロツ
ク図。第1B図は標準ブロツクの解読を示すブロ
ツク図。第1C図は短ブロツクの暗号化を示すブ
ロツク図。第1D図は短ブロツクの解読を示すブ
ロツク図。第1E図は短ブロツクが3つ続いた場
合の暗号化を示すブロツク図。第2図は第2A図
および第2B図の組合せ方を示す図。第2A図お
よび第2B図は短ブロツク処理の流れ図。第3図
は第3A図、第3B図および第3C図の組合せ方
を示す図。第3A図、第3B図および第3C図は
本発明を適用し得るブロツク暗号システムのハー
ドウエア構成を示すブロツク図。 10……入力レジスタ、12……連結レジス
タ、14……出力レジスタ、16,17,18…
…XOR回路、24……ROM、26……MAR、
32……入力マルチプレクサ、40……出力解読
器、42……制御ラツチ回路、46……カウン
タ、48……コピーレジスタ、50……πブロツ
クI/Oレジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 予め決められた標準の長さの連鎖値を使用
    し、入力データブロツクの長さが前記標準の長さ
    であれば該入力データブロツクを前記連鎖値と組
    合せて暗号化又は解読を行うことにより前記標準
    の長さの暗号文ブロツク又は平文ブロツクを生成
    し、前記入力データブロツクの長さが前記標準の
    長さよりも短かれければ前記連鎖値を暗号化した
    ものと前記入力データブロツクとを組合せること
    により前記標準の長さよりも短かい暗号文ブロツ
    ク又は平文ブロツクを生成するキー制御式ブロツ
    ク暗号システムにして、 前記入力データブロツク及び前記連鎖値を保持
    する保持手段と、前記入力データブロツクの長さ
    が前記標準の長さか又はそれよりも短かいかを判
    断する判断手段と、 前記判断手段で前記標準の長さと判断された場
    合には、前記標準の長さの暗号文ブロツク又は解
    読前の入力データブロツクを用いて新しい標準の
    長さの連鎖値を生成し、前記標準の長さよりも短
    かいと判断された場合には、前記短かい暗号文ブ
    ロツク又は解読前の短かい入力データブロツクと
    前記保持手段に保持されている連鎖値の一部とを
    組合せることにより新しい標準の長さの連鎖値を
    生成する手段とを設けたことを特徴とするキー制
    御式ブロツク暗号システム。
JP15454079A 1978-12-29 1979-11-30 Key control coding system Granted JPS5592483A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/974,596 US4229818A (en) 1978-12-29 1978-12-29 Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system

Publications (2)

Publication Number Publication Date
JPS5592483A JPS5592483A (en) 1980-07-12
JPS6333749B2 true JPS6333749B2 (ja) 1988-07-06

Family

ID=25522237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15454079A Granted JPS5592483A (en) 1978-12-29 1979-11-30 Key control coding system

Country Status (6)

Country Link
US (1) US4229818A (ja)
EP (1) EP0012974B1 (ja)
JP (1) JPS5592483A (ja)
CA (1) CA1127258A (ja)
DE (1) DE2965551D1 (ja)
IT (1) IT1163746B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520232A (en) * 1982-04-30 1985-05-28 Wilson William J Polygraphic encryption-decryption system
US4621334A (en) * 1983-08-26 1986-11-04 Electronic Signature Lock Corporation Personal identification apparatus
JP3053527B2 (ja) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置
US5432848A (en) * 1994-04-15 1995-07-11 International Business Machines Corporation DES encryption and decryption unit with error checking
US5671283A (en) * 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes
US5684876A (en) * 1995-11-15 1997-11-04 Scientific-Atlanta, Inc. Apparatus and method for cipher stealing when encrypting MPEG transport packets
JPH10301492A (ja) 1997-04-23 1998-11-13 Sony Corp 暗号化装置および方法、復号装置および方法、並びに情報処理装置および方法
TW367465B (en) * 1997-04-23 1999-08-21 Matsushita Electric Ind Co Ltd Cryptographic processing apparatus cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
CN100385887C (zh) * 1997-05-07 2008-04-30 西门子公司 数字数据的编码、传输和解码的方法和装置
TW375721B (en) 1998-06-17 1999-12-01 Ind Tech Res Inst DES chip processor capable of executing data encryption standard (DES) operation
US6944296B1 (en) * 1999-03-24 2005-09-13 Intel Corporation Video bit scrambling
EP1081888B1 (en) * 1999-08-31 2005-12-21 Matsushita Electric Industrial Co., Ltd. Encryption method, encryption apparatus, decryption method, and decryption apparatus
US7200227B2 (en) * 2001-07-30 2007-04-03 Phillip Rogaway Method and apparatus for facilitating efficient authenticated encryption
US20040088539A1 (en) * 2002-11-01 2004-05-06 Infante Steven D. System and method for securing digital messages
US20060088156A1 (en) * 2003-03-27 2006-04-27 Nds Limited, One London Road, Staines Cfm mode system
US7940930B2 (en) 2005-05-02 2011-05-10 Nds Limited Native scrambling system
US7546461B2 (en) * 2005-06-28 2009-06-09 Microsoft Corporation Strengthening secure hash functions
US7725719B2 (en) * 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
US11488134B2 (en) * 2008-05-02 2022-11-01 Micro Focus Llc Format-preserving cryptographic systems
FR2966953B1 (fr) * 2010-11-02 2015-08-28 St Microelectronics Rousset Procede de contremesure cryptographique par derivation d'une donnee secrete
US9066117B2 (en) * 2012-02-08 2015-06-23 Vixs Systems, Inc Container agnostic encryption device and methods for use therewith
EP2829012A4 (en) * 2012-03-21 2015-12-23 Irdeto Bv METHOD AND SYSTEM FOR CHAIN TRANSFORMATION
CN107292618B (zh) * 2016-04-11 2020-04-28 阿里巴巴集团控股有限公司 数据库中密文数据换密失败的处理方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4074066A (en) * 1976-04-26 1978-02-14 International Business Machines Corporation Message verification and transmission error detection by block chaining
US4078152A (en) * 1976-04-26 1978-03-07 International Business Machines Corporation Block-cipher cryptographic system with chaining

Also Published As

Publication number Publication date
DE2965551D1 (en) 1983-07-07
JPS5592483A (en) 1980-07-12
EP0012974A1 (de) 1980-07-09
US4229818A (en) 1980-10-21
IT7928247A0 (it) 1979-12-20
IT1163746B (it) 1987-04-08
EP0012974B1 (de) 1983-05-25
CA1127258A (en) 1982-07-06

Similar Documents

Publication Publication Date Title
JPS6333749B2 (ja)
EP0002579B1 (en) A method of creating a secure data file
JP3092567B2 (ja) 暗号鍵の生成方法および装置
US6125182A (en) Cryptographic engine using logic and base conversions
EP0725511A2 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authetication codes (MAC)
JPS5832380B2 (ja) 暗号処理装置
NO20006385L (no) Blokk-chiffere med heltallsmultiplikasjon og dataavhengig og fast antall rotasjoner i hver runde
US20090147947A1 (en) Digital-encryption hardware accelerator
JPS63287882A (ja) 暗号装置
US6732271B1 (en) Method of deciphering ciphered data and apparatus for same
JP3769804B2 (ja) 解読化方法および電子機器
JPH0697930A (ja) ブロック暗号処理装置
US20240097880A1 (en) High-speed circuit combining aes and sm4 encryption and decryption
KR100494560B1 (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
JP2834450B2 (ja) 暗号装置
JPH09251267A (ja) 暗号化装置及び暗号化方法
US20020181704A1 (en) Data encryption circuit pre-holding next data to be operated in buffer
KR102393958B1 (ko) 암호화 알고리즘이 적용된 시스템에서의 데이터 처리 방법
JPH027080A (ja) 可変型暗号化装置
JPH10153954A (ja) 暗号装置
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
JPS62237834A (ja) デ−タ暗号化装置
JPH10303883A (ja) 暗号化方法
JP2980085B2 (ja) 暗号化方法及び復号化方法
JP2003500681A (ja) 暗号テキストの分散性を高めるためにデータアレイに基数変換、論理演算及び疑似乱数ジェネレータを用いる暗号化エンジン