JPS5832380B2 - 暗号処理装置 - Google Patents
暗号処理装置Info
- Publication number
- JPS5832380B2 JPS5832380B2 JP52147314A JP14731477A JPS5832380B2 JP S5832380 B2 JPS5832380 B2 JP S5832380B2 JP 52147314 A JP52147314 A JP 52147314A JP 14731477 A JP14731477 A JP 14731477A JP S5832380 B2 JPS5832380 B2 JP S5832380B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- key
- circuit
- bit
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の詳細な説明】
本発明は、暗号処理即ち多数のディジットから成るクリ
ア・データの暗号化及び暗号化されたデータ(以下、暗
号データという)の解読に関するものである。
ア・データの暗号化及び暗号化されたデータ(以下、暗
号データという)の解読に関するものである。
電子的データ処理システムは、遠隔入出力端末を介して
複数のユーザーがアクセスできる中央データ・サービス
・システムとして広く使用されているが、このようなシ
ステムにおいては、権限外の者からデータを保護するこ
とが最も重要視される。
複数のユーザーがアクセスできる中央データ・サービス
・システムとして広く使用されているが、このようなシ
ステムにおいては、権限外の者からデータを保護するこ
とが最も重要視される。
データ保護の方法としては、権限外のアクセスを特に受
は易い個所、例えば遠隔データ処理線の送信部及び多数
のユーザーによって共用されるデータ・ベース記憶装置
などに暗号システムを設げることが知られている。
は易い個所、例えば遠隔データ処理線の送信部及び多数
のユーザーによって共用されるデータ・ベース記憶装置
などに暗号システムを設げることが知られている。
このような暗号システムには種々の暗号法が使用される
が、これらは基本的には逐次暗号法及びブロック暗号法
の2つに分けることができよう。
が、これらは基本的には逐次暗号法及びブロック暗号法
の2つに分けることができよう。
逐次暗号法においては、1973年5月に発行された米
国の雑誌「サイエンティフィック・アメリカン」第22
8巻、第5号の15乃至23頁に掲載されているエイチ
・フェイスチルの「暗号及びコンピュータ・プライバシ
ー」と題する論文で述べられているように、初期キーか
らキー・シーケンスカ生成され、このキー・シーケンス
を用いて一連のデータ要素(例えばビット)に置換操作
(成るデータ要素を別のデータ要素で置き換える)を施
すことにより、暗号化が行なわれる。
国の雑誌「サイエンティフィック・アメリカン」第22
8巻、第5号の15乃至23頁に掲載されているエイチ
・フェイスチルの「暗号及びコンピュータ・プライバシ
ー」と題する論文で述べられているように、初期キーか
らキー・シーケンスカ生成され、このキー・シーケンス
を用いて一連のデータ要素(例えばビット)に置換操作
(成るデータ要素を別のデータ要素で置き換える)を施
すことにより、暗号化が行なわれる。
逐次暗号法に従えば、n番目のデータ要素とn番目のキ
ー要素とが適当な方法、例えばモジュロ2加算、で組合
わされる。
ー要素とが適当な方法、例えばモジュロ2加算、で組合
わされる。
この暗号法では、暗号化が連続的に行なわれるので、デ
ータ要素の数は考慮しなくてもよい。
ータ要素の数は考慮しなくてもよい。
暗号解読の場合には、同じ原理に従って同じキー・シー
ケンスが用いられる。
ケンスが用いられる。
しかしながら、上述のようにして暗号化された情報から
特定のキー・シーケンスを推測することは可能であって
、このキー・シーケンスが一旦知られてしまうと、暗号
化の効果は零に等しい。
特定のキー・シーケンスを推測することは可能であって
、このキー・シーケンスが一旦知られてしまうと、暗号
化の効果は零に等しい。
従って、逐次暗号法によるデータ保護を成る程度確実に
するためには、特定のキー・シーケンスを用いた暗号化
ステップを2回以上繰返す必要がある。
するためには、特定のキー・シーケンスを用いた暗号化
ステップを2回以上繰返す必要がある。
これに対し、ブロック暗号法においては、上記論文ニも
述べられているように、互換操作及び置換操作を交互に
繰返すことによって、所定の長さのデータ・ブロックが
暗号化される。
述べられているように、互換操作及び置換操作を交互に
繰返すことによって、所定の長さのデータ・ブロックが
暗号化される。
互換操作は、予め決められたパターンに従って、データ
・ブロックの要素を相互に入れ換えるものであり、置換
操作は、既に述べたようにして、暗号キーの制御のもと
にデータ・ブロックの要素に対し並列的に行なわれる。
・ブロックの要素を相互に入れ換えるものであり、置換
操作は、既に述べたようにして、暗号キーの制御のもと
にデータ・ブロックの要素に対し並列的に行なわれる。
ブロック暗号法を利用した暗号システムには、特開昭4
8−17233号公報に開示されているように、暗号化
又は暗号解読を連続的な繰返しステップで実行する際に
、各繰返しステップ後に、所定のパターンに従って暗号
キーを変更するものがある。
8−17233号公報に開示されているように、暗号化
又は暗号解読を連続的な繰返しステップで実行する際に
、各繰返しステップ後に、所定のパターンに従って暗号
キーを変更するものがある。
これによれば、暗号化されるべきデータ・フロックのビ
ットは、まず置換段へ送られ、そして置換された結果に
対して互換操作が施される。
ットは、まず置換段へ送られ、そして置換された結果に
対して互換操作が施される。
次に、互換の結果とキー・ワードとがモジュロ2加算さ
れ、その加算結果は、元のデータ・ブロックと更にモジ
ュロ2加算される。
れ、その加算結果は、元のデータ・ブロックと更にモジ
ュロ2加算される。
このステップは、暗号キーが予め決められたシフト操作
によって変更された後、再び繰返される。
によって変更された後、再び繰返される。
このような繰返しステップから成る暗号プロセスは、暗
号キーのシフト・サイクルが完了するまで続けられ、か
くして暗号化されたデータ・ブロックが得られる。
号キーのシフト・サイクルが完了するまで続けられ、か
くして暗号化されたデータ・ブロックが得られる。
特開昭48−106353号公報には、暗号処理即ち暗
号化又は暗号解読されるべきデータ・ブロックを幾つか
のセグメントに分割して、これに対し順次に暗号処理を
施す暗号システムが開示されている。
号化又は暗号解読されるべきデータ・ブロックを幾つか
のセグメントに分割して、これに対し順次に暗号処理を
施す暗号システムが開示されている。
この暗号システムには、入出力結合を有する2組の直列
接続されたシフト・レジスタが設けられる。
接続されたシフト・レジスタが設けられる。
その1組は、暗号処理されるべきデータ・ブロック受取
る入力レジスタとして働き、他の1組は、組合わせレジ
スタとして働く。
る入力レジスタとして働き、他の1組は、組合わせレジ
スタとして働く。
各組におけるシフト・レジスタの数は、1セグメント中
のビット数に対応している。
のビット数に対応している。
入力レジスタに保持されているデータ・ブロックのセグ
メント及び暗号キーの選択されたセグメントを用いて、
1以上の置換操作が連続的に施される。
メント及び暗号キーの選択されたセグメントを用いて、
1以上の置換操作が連続的に施される。
組合わせレジスタにおいては、置換操作の結果と処理中
のセグメントのクリア・データ・ビットとが論理的に組
合わされるか又は新たな置換操作が行なわれる。
のセグメントのクリア・データ・ビットとが論理的に組
合わされるか又は新たな置換操作が行なわれる。
この暗号システムでは、暗号化又は暗号解読は成る程度
逐次に実行されるが、それでも回路装置自体はかなり割
高になる。
逐次に実行されるが、それでも回路装置自体はかなり割
高になる。
上述の暗号法は、主としてデータ伝送の際のデータ保護
に使用される。
に使用される。
しかしながら、例えば中央データ・ベースに記憶されて
いる人事データのように、記憶装置に記憶されているデ
ータを暗号化することによって、権限外のアクセスから
保護するのが望ましい場合がある。
いる人事データのように、記憶装置に記憶されているデ
ータを暗号化することによって、権限外のアクセスから
保護するのが望ましい場合がある。
前述の逐次暗号法では、暗号キーの頻繁な変更ができな
L・ので、このような記憶データの保護には不十分であ
る。
L・ので、このような記憶データの保護には不十分であ
る。
更にフロック暗号法も、データ・フィールドの長さが一
定の場合にのみ適するもので、しかもブロック長は安全
度を考慮してかなり長くしなげればならないので、あま
り好ましくない。
定の場合にのみ適するもので、しかもブロック長は安全
度を考慮してかなり長くしなげればならないので、あま
り好ましくない。
記憶されるべき暗号データ・フィールドの長さは、デー
タ要素の付加によって1フロツク長又はその倍数まで増
加され、従てより大きな記憶スペース及びより長い転送
時間を必要とする。
タ要素の付加によって1フロツク長又はその倍数まで増
加され、従てより大きな記憶スペース及びより長い転送
時間を必要とする。
暗号化によってデータ・フィールドを保護する場合に、
その長さをブロック長に制限しようとすると、データ・
ベースを再構成しなげればならない。
その長さをブロック長に制限しようとすると、データ・
ベースを再構成しなげればならない。
本発明の目的は、可変長データ・フィールドを暗号化す
るにあたって、例えその長さが比較的短くても、暗号キ
ーの変更を独特の方法で行なうことにより、安全度の高
い暗号データを簡単な装置で作成し得る暗号処理装置を
提供するにある。
るにあたって、例えその長さが比較的短くても、暗号キ
ーの変更を独特の方法で行なうことにより、安全度の高
い暗号データを簡単な装置で作成し得る暗号処理装置を
提供するにある。
以下、図面を参照しながら、本発明の良好な実施例につ
いて詳述する。
いて詳述する。
まず、本発明に従う暗号処理の主要ステップを第1図に
示す。
示す。
最初のブロック10は、データ源を表わしたもので、例
えばレジスタ又はデータ処理システムの作業用記憶装置
に含まれるデータ・フィールドであってもよい。
えばレジスタ又はデータ処理システムの作業用記憶装置
に含まれるデータ・フィールドであってもよい。
同様に、ブロック12.14及び15は暗号キーの源を
表わしたもので、これらもデータ源と同じようなもので
もよい。
表わしたもので、これらもデータ源と同じようなもので
もよい。
フロック12及び15は、暗号キーの第1半分に対応す
るキーAを表わし、ブロック14は、暗号キーの第2半
分に対応するキーBを表わしている。
るキーAを表わし、ブロック14は、暗号キーの第2半
分に対応するキーBを表わしている。
可変長の入力データ並びにキーA及びBは、セグメント
単位で処理される。
単位で処理される。
以下の例では、各セグメントは1ビツトで構成されてい
るが、勿論1バイトでも任意のビット数から成っていて
もよい。
るが、勿論1バイトでも任意のビット数から成っていて
もよい。
暗号化操作は、入力データの1セグメントを対応するキ
ー・セグメントの制御のもとに、置換することによって
開始される(ブロック16)。
ー・セグメントの制御のもとに、置換することによって
開始される(ブロック16)。
ここで、゛5置換”とは1セグメントのデータ・ビット
を他のビットで置き換えることを意味する。
を他のビットで置き換えることを意味する。
ただし、ビットが変化されない場合もある。
この置換操作は、排他的オア操作のような論理演算又は
算術演算でもよい。
算術演算でもよい。
置換操作の結果は一時記憶される。
これと同時に、置換操作を受けたデータ・セグメント及
び該置換操作を制御したキー・セグメントは、キーAの
変更を制御するのに用いられる(フロック18)。
び該置換操作を制御したキー・セグメントは、キーAの
変更を制御するのに用いられる(フロック18)。
キーAの変更方式としては、キーAの要素の置換若しく
は互換又はこれらの組合わせが用いられる。
は互換又はこれらの組合わせが用いられる。
この変更方式の選択は、データ・セグメント及び対応す
るキー・セグメントによって行なわれる。
るキー・セグメントによって行なわれる。
本実施例では、キーAの変更は、そのすべてのビットに
及ぶ。
及ぶ。
キーAが変更されると、入力データ・フィールドの次の
セグメントを用いて、上述のループが繰返される。
セグメントを用いて、上述のループが繰返される。
即ち、このセグメントは、変更されたキーAの対応する
セグメントの制御のもとに、置換操作を受け(ブロック
16)、その結果は一時記憶される。
セグメントの制御のもとに、置換操作を受け(ブロック
16)、その結果は一時記憶される。
同時に、キーAが再び変更される(ブロック18)。
このループは、入力データ・フィールドのすべてのセグ
メントに対する逐次置換操作が完了するまで繰返される
。
メントに対する逐次置換操作が完了するまで繰返される
。
逐次置換操作が完了すると、その結果は、ブロック17
において一時記憶され、次いで、この一時記憶されたデ
ータ・フィールドの対称的互換操作が行なわれる。
において一時記憶され、次いで、この一時記憶されたデ
ータ・フィールドの対称的互換操作が行なわれる。
ここで、°ゞ互換”とは、データ・フィールドの各ビッ
トを、その値を変えることなく相互に入れ換えることを
意味する。
トを、その値を変えることなく相互に入れ換えることを
意味する。
互換操作は、対称的なビット転置(回転)、例えば、デ
ータ・フィールドの最初のビット位置の内容が最後のビ
ット位置に置かれ、2番目のビット位置の内容が最後か
ら2番目のビット位置に置かれ、3番目のビット位置の
内容が最後から3番目のビット位置に置かれるといった
ようなものでもよい。
ータ・フィールドの最初のビット位置の内容が最後のビ
ット位置に置かれ、2番目のビット位置の内容が最後か
ら2番目のビット位置に置かれ、3番目のビット位置の
内容が最後から3番目のビット位置に置かれるといった
ようなものでもよい。
互換操作の結果は一時記憶される。
次に、前と同じような逐次置換操作が行なわれるが(フ
ロック19)、その制御には、キーAではなくキーBが
使用される(ブロック14)。
ロック19)、その制御には、キーAではなくキーBが
使用される(ブロック14)。
各置換操作の結果は一時記憶され(フロック21)、ま
たlセグメントの置換操作が終る度に、前と同様にして
、キーBは、選択された方式で変更される(ブロック2
2)。
たlセグメントの置換操作が終る度に、前と同様にして
、キーBは、選択された方式で変更される(ブロック2
2)。
ブロック14.19及び22から成るループは、互換操
作ステップ17からの結果のすべてのセグメントが、繰
返し変更されるキーBの制御のもとに置換され終るまで
繰返される。
作ステップ17からの結果のすべてのセグメントが、繰
返し変更されるキーBの制御のもとに置換され終るまで
繰返される。
次に、一時記憶された逐次置換操作の結果に対し、更に
前と同様な互換操作が施される(ブロック21)、最後
に、キーAの制御のもとに(ブロック15)、互換操作
の結果に対して逐次置換操作が施される(ブロック23
)この場合も、キーAは各置換操作後に上述のようにし
て変更される。
前と同様な互換操作が施される(ブロック21)、最後
に、キーAの制御のもとに(ブロック15)、互換操作
の結果に対して逐次置換操作が施される(ブロック23
)この場合も、キーAは各置換操作後に上述のようにし
て変更される。
ブロック23での逐次置換操作が完了すると、その結果
は出力データ・フィールド25へ送られる。
は出力データ・フィールド25へ送られる。
この出力データ・フィールドは、例えばレジスタ又は作
業用記憶装置の一部であってもよい。
業用記憶装置の一部であってもよい。
以上の説明から明らかなように、入力データ・フィール
ドは、暗号化されるべきデータに応じて何度も変更され
る暗号キーの制御のもとに暗号化され、従って、暗号デ
ータは、入力データ・フイ−ルド及び暗号キーの両方の
多数のビットと深く関係している。
ドは、暗号化されるべきデータに応じて何度も変更され
る暗号キーの制御のもとに暗号化され、従って、暗号デ
ータは、入力データ・フイ−ルド及び暗号キーの両方の
多数のビットと深く関係している。
かくして、高度の秘密性を有する暗号データが得られる
。
。
暗号解読は、第1図と同じ方式で行なわれる。
フロック16,19及び23での置換操作として排他的
オア操作(モジュロ2加算)のような対称的な組合わせ
操作が選ばれている場合には、これと同じ置換操作を繰
返して、暗号データを元に戻すことにより、暗号化前の
データ即ちクリア・データが得られる。
オア操作(モジュロ2加算)のような対称的な組合わせ
操作が選ばれている場合には、これと同じ置換操作を繰
返して、暗号データを元に戻すことにより、暗号化前の
データ即ちクリア・データが得られる。
また、ブロック18及び24での暗号キーの第1半分の
キーAの変更及びブロック22での第2半分のキーBの
変更が対称的なシーケンスで行なわれるならば、暗号化
のときと同じキー変更方式を暗号解読に用いることがで
きるなお、上の説明で用いた”対称的″という用語は、
暗号解読において暗号化のときと同じ操作を施せば、元
のデータが得られるということを意味する。
キーAの変更及びブロック22での第2半分のキーBの
変更が対称的なシーケンスで行なわれるならば、暗号化
のときと同じキー変更方式を暗号解読に用いることがで
きるなお、上の説明で用いた”対称的″という用語は、
暗号解読において暗号化のときと同じ操作を施せば、元
のデータが得られるということを意味する。
次に、本発明の1つの特徴である暗号キーの変更につい
てもう少し詳しく説明する。
てもう少し詳しく説明する。
前述のように、ブロック16,19及び23で※※逐次
置換操作を受けるデータ・セグメントは、各各1ビット
から成っているから、各セグメントの置換操作の制御に
は1キー・ビット必要である。
置換操作を受けるデータ・セグメントは、各各1ビット
から成っているから、各セグメントの置換操作の制御に
は1キー・ビット必要である。
従って、暗号キーの部分フィールドA及びBのための特
定の変更方式の選択には、2ビツトが用いられることに
なる(1データ・ビット+1キー・ビット)。
定の変更方式の選択には、2ビツトが用いられることに
なる(1データ・ビット+1キー・ビット)。
変更方式の選択に2ビツトを用いると、4種類の変更方
式(以下、CI、C2、C3及びC4で示す)の選択が
可能である。
式(以下、CI、C2、C3及びC4で示す)の選択が
可能である。
各変更方式は、1以上の変更ステップ、例えば1以上の
互換ステップ及び1以上の置換ステップで構成すること
ができる。
互換ステップ及び1以上の置換ステップで構成すること
ができる。
これらの変更ステップは、暗号化及び暗号解読の両方に
おいて同じ変更ステップを使用でき且つ場合によっては
変更ステップと変更方式との関連が変えられるだけであ
るように選ぶとよい。
おいて同じ変更ステップを使用でき且つ場合によっては
変更ステップと変更方式との関連が変えられるだけであ
るように選ぶとよい。
後者の変更は、双安定スイッチを用いて行なうことがで
きる。
きる。
この双安定スイッチは、暗号化のときには、変更ステッ
プ及び変更方式の第1の関係を設定し、暗号解読のとき
には、これを変えるように働く。
プ及び変更方式の第1の関係を設定し、暗号解読のとき
には、これを変えるように働く。
この例を次の表1に示す。上記の表1に示したように、
本実施例におけるキーの変更には、変更方式CI乃至C
4と個々に又は組合わされて関連している4種類の変更
ステップ即ち第1乃至第3の型の互換ステップ及び1つ
の置換ステップが用いられる。
本実施例におけるキーの変更には、変更方式CI乃至C
4と個々に又は組合わされて関連している4種類の変更
ステップ即ち第1乃至第3の型の互換ステップ及び1つ
の置換ステップが用いられる。
互換ステップは、キー・ビット・フィールドの位置的な
オフセット乃至はシフトによって実行される。
オフセット乃至はシフトによって実行される。
置換ステップは、キーの2つの部分フィールドの加算の
如き演算操作から成っている。
如き演算操作から成っている。
変更方式CIは、データ・ビット及びキー・ビットが共
にOのときに選ばれる。
にOのときに選ばれる。
この場合、暗号化においては、第1の型の互換がキー・
ビットの1つのフィールドに対して行なわれ、次いで、
キーの2つの部分フィールドを用いて置換が行なわれる
。
ビットの1つのフィールドに対して行なわれ、次いで、
キーの2つの部分フィールドを用いて置換が行なわれる
。
暗号解読のときも、これと同じ変更ステップが実行され
る。
る。
変更方式C2は、データ・ビットが1で且つキー・ビッ
トがOのときに選ばれる。
トがOのときに選ばれる。
この場合、暗号化及び暗号解読の両方において、まず第
2の型の互換が行なわれ、次いで置換が行なわれる。
2の型の互換が行なわれ、次いで置換が行なわれる。
変更方式C3は、データ・ビットがOで且つキー・ビッ
トが1のときに選ばれる。
トが1のときに選ばれる。
この場合、暗号化においては、第3の型の互換に続いて
置換が行なわれるが、暗号解読のときには、第1の型の
互換だけが行なわれる。
置換が行なわれるが、暗号解読のときには、第1の型の
互換だけが行なわれる。
変更方式C4は、データ・ビット及びキー・ビットが共
に1のときに選ばれる。
に1のときに選ばれる。
この場合、暗号化においては、第1の型の互換だけが行
なわれ、暗号解読のときには、第3の型の互換に続いて
置換が行なわれる。
なわれ、暗号解読のときには、第3の型の互換に続いて
置換が行なわれる。
これから明らかなように、変更方式C3及びC4におい
ては、暗号化及び暗号解読のときの変更ステップが丁度
反対になっている。
ては、暗号化及び暗号解読のときの変更ステップが丁度
反対になっている。
表1は、あとで説明する装置列に関係しており、そこで
は、順次に処理されるべきデータ・セグメント及び制御
用のキー・セグメントは各々1ビツトから成っているが
1、勿論、本発明はこのような特定例に限定されるもの
ではない。
は、順次に処理されるべきデータ・セグメント及び制御
用のキー・セグメントは各々1ビツトから成っているが
1、勿論、本発明はこのような特定例に限定されるもの
ではない。
例えば、2ビツトから戒るデータ・セグメントがキーの
2ビツトのセグメントの制御のもとに順次に処理される
場合には、16種類の変更方式が可能であり、従って、
異なった変更ステップの数及びこれらの組合わせの数が
増えることになる。
2ビツトのセグメントの制御のもとに順次に処理される
場合には、16種類の変更方式が可能であり、従って、
異なった変更ステップの数及びこれらの組合わせの数が
増えることになる。
そうすれば、何個の暗号化要求に対し異なった変更方式
を選択することができ、また、暗号化の信頼性を高める
ために、変更ステップと変更方式との関係を刻々変える
ことも可能である。
を選択することができ、また、暗号化の信頼性を高める
ために、変更ステップと変更方式との関係を刻々変える
ことも可能である。
暗号キーの変更の効果を上げるためには、各変更におい
て、キー・ビットの順序を完全に変更するようにすれば
よい。
て、キー・ビットの順序を完全に変更するようにすれば
よい。
暗号キーの変更は、暗号化されるべきデータのビットに
応じて行なわれるので、暗号化されたデータ・フィール
ドのビットは、クリア・データ・フィールド及び暗号キ
ーの各ビットの関数になっている。
応じて行なわれるので、暗号化されたデータ・フィール
ドのビットは、クリア・データ・フィールド及び暗号キ
ーの各ビットの関数になっている。
次に、第2図乃至第5図を参照しながら、第1図の暗号
法を実施するための装置について説明する。
法を実施するための装置について説明する。
まず第2図に示した暗号処理装置は、暗号化又は暗号解
読されるべきデータ・フィールドを一時記憶するための
データ・レジスタ30を含んでいる。
読されるべきデータ・フィールドを一時記憶するための
データ・レジスタ30を含んでいる。
このデータ・レジスタ30は128個のビット位置を有
し、従って、最大16バイトのデータ・フィールドを記
憶することができる。
し、従って、最大16バイトのデータ・フィールドを記
憶することができる。
入力データは、データ入力母線31からバイト単位で供
給される。
給される。
母線31を構成する8本の線は、アンド回路32を介し
て、データ・レジスタ30の右端の連続する8つのビッ
ト位置へ各々接続される。
て、データ・レジスタ30の右端の連続する8つのビッ
ト位置へ各々接続される。
データ・レジスタ30は、シフト・レジスタとして設計
されており、シフト・クロック・パルスは線33から与
えられる。
されており、シフト・クロック・パルスは線33から与
えられる。
各シフト・クロック・パルスは、データ・レジスタ30
の内容を1ビツト位置だけ左方向ヘシフトさせる。
の内容を1ビツト位置だけ左方向ヘシフトさせる。
データ・レジメタ30へ1人カバイトが記憶される度に
、タイミング制御回路34から線TE、オア回路35及
び線33を介して、8個のクロック・パルスが連続的に
データ・レジスタへ印加され、その結果、データ・レジ
スタ30に記憶された各データ・バイトは、1バイト・
フィールド分だけ左方向へシフトされる。
、タイミング制御回路34から線TE、オア回路35及
び線33を介して、8個のクロック・パルスが連続的に
データ・レジスタへ印加され、その結果、データ・レジ
スタ30に記憶された各データ・バイトは、1バイト・
フィールド分だけ左方向へシフトされる。
データ・レジスタ30への入力データ・バイトの供給及
びそのシフト動作は、データ・フィールド全体がデータ
・レジスタ30の左端に整夕1ルて記憶されるまで続げ
られる。
びそのシフト動作は、データ・フィールド全体がデータ
・レジスタ30の左端に整夕1ルて記憶されるまで続げ
られる。
入力データ・バイトがどこから来るかは、第2図の暗号
処理装置の応用分野によって異なる。
処理装置の応用分野によって異なる。
例えば、キー制御型の端末の入カニニットから供給され
る場合もあり、また、暗号化された形で記憶されている
データ・ベースの内容に付加されるべき演算結果を発生
する処理システムの演算ユニットの出力から供給される
場合もある。
る場合もあり、また、暗号化された形で記憶されている
データ・ベースの内容に付加されるべき演算結果を発生
する処理システムの演算ユニットの出力から供給される
場合もある。
第2図の装置には、暗号キーを一時記憶するための2個
のレジスタ(以下、Aレジスタ及びBレジスタという)
37及び38も備えられる。
のレジスタ(以下、Aレジスタ及びBレジスタという)
37及び38も備えられる。
本実施例で使用される暗号キーは16バイトであり、そ
の半分ずつがAレジスタ37及びBレジスタ38へ別々
に記憶される。
の半分ずつがAレジスタ37及びBレジスタ38へ別々
に記憶される。
即ち、Aレジスタ37及びBレジスタ38は共に64個
のビット位置を有している。
のビット位置を有している。
暗号キーの各バイトは、キー人力母線39並びにアンド
回路40及び41を介して、Aレジスタ37及びBレジ
スタ38へ送られる。
回路40及び41を介して、Aレジスタ37及びBレジ
スタ38へ送られる。
アンド回路40及び41は、各々8個のアンド・ゲート
で構成され、各アンド・ゲートに1キー・バイトが対応
している。
で構成され、各アンド・ゲートに1キー・バイトが対応
している。
各アンド・ゲートの出力線は、Aレジスタ37及びBレ
ジスタ38の8個のビット位置の入力線に接続される。
ジスタ38の8個のビット位置の入力線に接続される。
キー人力母線39は8本の線から成り、これらは、アン
ド回路40及び41の各々の8個のアンド・ゲートへ並
列に接続される。
ド回路40及び41の各々の8個のアンド・ゲートへ並
列に接続される。
アンド回路40及び41を構成する16個のアンド・ゲ
ートは制御入力線ESl乃至ES16を各々有しており
、これに信号が供給されると、対応するアンド・ゲート
が開かれる。
ートは制御入力線ESl乃至ES16を各々有しており
、これに信号が供給されると、対応するアンド・ゲート
が開かれる。
暗号キー・バイトは、これらの制御入力線ESl乃至E
S16へ順次に制御信号を印加して対応するアンド・ゲ
ートを1つずつ開くごとにより、線39からAレジスタ
37及びBレジスタ38へ順次にロードされる。
S16へ順次に制御信号を印加して対応するアンド・ゲ
ートを1つずつ開くごとにより、線39からAレジスタ
37及びBレジスタ38へ順次にロードされる。
Aレジスタ37の出力母線43は、アンド回路44、オ
ア回路45及び母線46を介してキー・レジスタ48に
接続され、Bレジスタ38の出力母線49も同様に、ア
ンド回路50、オア回路45及び母線46を介してキー
・レジスタ48に接続される。
ア回路45及び母線46を介してキー・レジスタ48に
接続され、Bレジスタ38の出力母線49も同様に、ア
ンド回路50、オア回路45及び母線46を介してキー
・レジスタ48に接続される。
アンド回路44は、オア回路51を介して印加されるク
ロック信号T1又はT5によって開かれ、一方、アンド
回路50は、クロック信号T3によって開かれる。
ロック信号T1又はT5によって開かれ、一方、アンド
回路50は、クロック信号T3によって開かれる。
Aレジスタ3γ及びBレジスタ38は、暗号処理に使用
される暗号キーを半分ずつ記憶するバッファ・レジスタ
として動き、暗号処理を行なうときには、一方のレジス
タの内容が64ビツトのキー・レジスタ48へ送られる
。
される暗号キーを半分ずつ記憶するバッファ・レジスタ
として動き、暗号処理を行なうときには、一方のレジス
タの内容が64ビツトのキー・レジスタ48へ送られる
。
キー・レジスタ48は、各々4バイトを記憶できる2個
の32ビツト・レジスタKRI及びKH2から成ってい
る。
の32ビツト・レジスタKRI及びKH2から成ってい
る。
レジスタKRIは、入出カフィードバック54を有する
シフト・レジスタとして設計され、従ってその全ビット
位置にわたる循環シフトが可能である。
シフト・レジスタとして設計され、従ってその全ビット
位置にわたる循環シフトが可能である。
シフト・レジスタKRIの逐次出力は、線1γを介して
アンド回路55へ供給されるようになっている。
アンド回路55へ供給されるようになっている。
アンド回路55の出力は、排他的オア回路56の一方の
入力に接続される。
入力に接続される。
排他的オア回路56の他方の入力は、データ・レジスタ
30の出力線57に接続される。
30の出力線57に接続される。
排他的オア回路56は、第1図に示したブロック16,
19及び23における逐次置換を実行する。
19及び23における逐次置換を実行する。
その出力は、アンド回路5日を介して、バッファ・レジ
スタ600Å力へ順次に供給される。
スタ600Å力へ順次に供給される。
このバッファ・レジスタ60もシフト・レジスタである
。
。
アンド回路55及び58の第2人力には、クロック制御
回路34からクロック信号t1が印加される。
回路34からクロック信号t1が印加される。
従って、データ・レジスタ30から線57へ出力された
データ・ビットは、クロック時刻t1において、アンド
回路55から出力されたキー・ビットと排他的オアされ
る。
データ・ビットは、クロック時刻t1において、アンド
回路55から出力されたキー・ビットと排他的オアされ
る。
この論理操作の結果は、バッファ・レジスタ60の左端
のビット位置に記憶される。
のビット位置に記憶される。
バッファ・レジスタ60は、線61を介して供給される
シフト・クロック・パルスt3に応答して、記憶内容即
ちキー・ビットと排他的オアされたデータ・ビットを1
ビット位置スつ右方向ヘシフトさせる。
シフト・クロック・パルスt3に応答して、記憶内容即
ちキー・ビットと排他的オアされたデータ・ビットを1
ビット位置スつ右方向ヘシフトさせる。
バッファ・レジスタ60におけるシフト方向は、データ
・レジスタ30のシフト方向と反対であるから、これら
2つのレジスタのシフト動作により、前祁の如き対称的
なビット位置の入換え(オフセット)が生じる。
・レジスタ30のシフト方向と反対であるから、これら
2つのレジスタのシフト動作により、前祁の如き対称的
なビット位置の入換え(オフセット)が生じる。
云い換えれば、データ・レジスタ30に記憶されていた
ビット・シーケンスが180度回紙回転ことになる。
ビット・シーケンスが180度回紙回転ことになる。
この操作は、第1図のブロック17及び21に対応して
いる。
いる。
バッファ・レジスタ60は、母線62へ並列的に出力を
供給する。
供給する。
この母線62は、アンド回路64を介して、データ・レ
ジスタ30の並列入力に接続される。
ジスタ30の並列入力に接続される。
第1図のブロック18.22及び24の操作を実行する
ため、キー・レジスタ48に関連して、変更回路74が
設けられる。
ため、キー・レジスタ48に関連して、変更回路74が
設けられる。
この変更回路74は、レジスタKRI及びKH2に接続
された算術置換回路75及び変更方式制御回路76を含
んでいる。
された算術置換回路75及び変更方式制御回路76を含
んでいる。
変更方式制御回路76は、レジスタKR1から線77を
介して送られてくる直列出力並びにデータ・レジスタ3
0から線57及び78を介して送られてくる直列出力に
応じて、線AST 、SHP及びVSTlへ制御信号を
発生する。
介して送られてくる直列出力並びにデータ・レジスタ3
0から線57及び78を介して送られてくる直列出力に
応じて、線AST 、SHP及びVSTlへ制御信号を
発生する。
線ASTは、算術置換回路75のための制御線として働
き、一方、線SHP及びVSTlは、オア回路79を介
して一連の異なったシフト・パルスをレジスタKRIへ
供給する。
き、一方、線SHP及びVSTlは、オア回路79を介
して一連の異なったシフト・パルスをレジスタKRIへ
供給する。
本実施例では、算術置換回路75は、第3図に示したよ
うに、アンド回路85及び86を介して入力を受は取る
通常の加算器84で構成されている。
うに、アンド回路85及び86を介して入力を受は取る
通常の加算器84で構成されている。
加算器84のビット位置の数は、レジスタKR1又はK
H2のビット位置の数に対応しており、従って、アンド
回路85及び86は、これに対応する数のアンド・ゲー
トを各々有している。
H2のビット位置の数に対応しており、従って、アンド
回路85及び86は、これに対応する数のアンド・ゲー
トを各々有している。
これらのアンド・ゲートは、線AST上の制御信号によ
って同時に開かれる。
って同時に開かれる。
アンド回路85のアンド・ゲートは、母線87によって
レジスタKR1の各ビット位置の出力に各々接続され、
アンド回路86のアンド・ゲートは、母線88によって
レジスタKR2の各ビット位置の出力に各々接続される
。
レジスタKR1の各ビット位置の出力に各々接続され、
アンド回路86のアンド・ゲートは、母線88によって
レジスタKR2の各ビット位置の出力に各々接続される
。
加算器84の出力は、母線89によってレジスタKR1
のビット位置の入力に接続される。
のビット位置の入力に接続される。
図には示していないが、加算器84の入力87と出力8
9との間で安定なスイッチングが行なわれるように、加
算器84の出力側には、バッファ回路又は遅延回路が設
けられる。
9との間で安定なスイッチングが行なわれるように、加
算器84の出力側には、バッファ回路又は遅延回路が設
けられる。
キー・レジスタ48に記憶される暗号キーの半分(4バ
イト)はレジスタKRIに保持され、残りの半分(4バ
イト)はレジスタKR2に保持されるので、加算器84
は、線AST上の制御信号に応答して、暗号キーのこれ
ら2つの半フィールドを加算する。
イト)はレジスタKRIに保持され、残りの半分(4バ
イト)はレジスタKR2に保持されるので、加算器84
は、線AST上の制御信号に応答して、暗号キーのこれ
ら2つの半フィールドを加算する。
その加算結果は、出力母線89を介してレジスタKR1
へ戻される。
へ戻される。
か(して、レジスタKR1の最初の内容は、この置換操
作により加算器84からの加算結果と置き換えられる。
作により加算器84からの加算結果と置き換えられる。
第4図は、変更方式制御回路76の一部を示したもので
、2本の入力線77及び78から入力を受取るデコーダ
92並びに暗号化及び暗号解読の伺れが行なわれるかを
示すフリップ・フロップ回路98を有する。
、2本の入力線77及び78から入力を受取るデコーダ
92並びに暗号化及び暗号解読の伺れが行なわれるかを
示すフリップ・フロップ回路98を有する。
デコーダ92は、線77及び78からの入力信号の組合
わせに応じて、出力信号C1乃至C4を対応する出力線
93乃至96へ供給する。
わせに応じて、出力信号C1乃至C4を対応する出力線
93乃至96へ供給する。
フリップ・フロップ回路98は、暗号化を行なうときに
は第1の状態、例えば0“状態、にセットされ、暗号解
読を行なうときには第2の状態、例えば゛1″状態、に
セットされる。
は第1の状態、例えば0“状態、にセットされ、暗号解
読を行なうときには第2の状態、例えば゛1″状態、に
セットされる。
暗号解読の場合には、その開始時に暗号解読制御信号V
/Eが線99を介してフリップ・フロップ回路98に印
加され、これを゛°1″状態ヘスイッチする。
/Eが線99を介してフリップ・フロップ回路98に印
加され、これを゛°1″状態ヘスイッチする。
フリップ・フロップ回路98の相補出力線100及び1
01並びにデコーダ92の出力線93乃至96は、アン
ド回路102及び103に接続される。
01並びにデコーダ92の出力線93乃至96は、アン
ド回路102及び103に接続される。
アンド回路102は4個のアンド・ゲート105乃至1
08から成り、これらは何れもクロック信号t3を1人
力として受取る。
08から成り、これらは何れもクロック信号t3を1人
力として受取る。
各アンド・ゲート105乃至108の第2人力には、デ
コーダ92の出力線93乃至96が別々に接続される。
コーダ92の出力線93乃至96が別々に接続される。
フリップ・フロップ回路98の出力線100は、アンド
・ゲート107の第3人力に接続され、出力線101は
、アンド・ゲート108の第3人力に接続される。
・ゲート107の第3人力に接続され、出力線101は
、アンド・ゲート108の第3人力に接続される。
アンド・ゲート105乃至108の各出力は、オア回路
109を介して線ASTに結合される。
109を介して線ASTに結合される。
従って、アンド回路102は、変更方式選択信号C1又
はC2がデコーダ92から対応する出力線93又は94
へ発生されると、クロック時刻t3において線ASTへ
出力信号を供給する。
はC2がデコーダ92から対応する出力線93又は94
へ発生されると、クロック時刻t3において線ASTへ
出力信号を供給する。
また、フリップ・フロップ回路98が゛O″状態(暗号
化を表わす)にあって且つ選択信号C3が発生されたと
き及びフリップ・フロップ回路98が1”状態(暗号解
読を表わす)にあって且つ選択信号C4が発生されたと
きにも、線ASTへ出力信号が供給される。
化を表わす)にあって且つ選択信号C3が発生されたと
き及びフリップ・フロップ回路98が1”状態(暗号解
読を表わす)にあって且つ選択信号C4が発生されたと
きにも、線ASTへ出力信号が供給される。
右側のアンド回路103は、第1人力にクロック信号t
2を受取る6個のアンド・ゲート112乃至117から
成っている。
2を受取る6個のアンド・ゲート112乃至117から
成っている。
デコーダ92の出力線93はアンド・ゲート112の第
2人力に、出力線94はアンド・ゲート117の第2人
力に、出力線95はアンド・ゲー1−114及び115
の第2人力に、そして出力線96はアンド・ゲート11
3及び116の第2人力に各々接続される。
2人力に、出力線94はアンド・ゲート117の第2人
力に、出力線95はアンド・ゲー1−114及び115
の第2人力に、そして出力線96はアンド・ゲート11
3及び116の第2人力に各々接続される。
フリップ回路98の出力線100は、アンド・ゲート1
13及び115の第3人力に接続され、出力線101は
、アンド・ゲート114及び116の第3人力に接続さ
れる。
13及び115の第3人力に接続され、出力線101は
、アンド・ゲート114及び116の第3人力に接続さ
れる。
アンド・ゲート112乃至114の出力は、オア回路1
18を介して線VST1へ接続され、アンド・ゲート1
15及び116の出力は、オア回路119を介して線V
ST5へ接続され、そしてアンド・ゲート117の出力
は、線VST12へ直接接続される。
18を介して線VST1へ接続され、アンド・ゲート1
15及び116の出力は、オア回路119を介して線V
ST5へ接続され、そしてアンド・ゲート117の出力
は、線VST12へ直接接続される。
従って、アンド回路103は、デコーダ92が選択信号
C1を出力線93へ発生したとき、デコーダ92が選択
信号C4を出力線96へ発生し且つフリップ・フロップ
回路98が暗号化を示す信号を出力線100へ発生した
とき、又はデコーダ92が選択信号C3を出力線95へ
発生し且つクリップ・フロップ回路98が暗号解読を示
す信号を出力線101へ発生したときには、クロック時
刻t2において、線VSTIへ出力信号を供給する。
C1を出力線93へ発生したとき、デコーダ92が選択
信号C4を出力線96へ発生し且つフリップ・フロップ
回路98が暗号化を示す信号を出力線100へ発生した
とき、又はデコーダ92が選択信号C3を出力線95へ
発生し且つクリップ・フロップ回路98が暗号解読を示
す信号を出力線101へ発生したときには、クロック時
刻t2において、線VSTIへ出力信号を供給する。
フリップ・フロップ回路98の状態が同じで選択信号C
3及びC4の発生が上と反対のとき、即ち選択信号C3
及び暗号化表示又は選択信号C4及び暗号解読表示が発
生されたときには、アンド回路103は、クロック時刻
t2において、線VST5へ出力信号を供給し、また選
択信号C2が発生されたときには、フリップ・フロップ
回路98の状態には関係なく線VST17へ出力信号を
供給する。
3及びC4の発生が上と反対のとき、即ち選択信号C3
及び暗号化表示又は選択信号C4及び暗号解読表示が発
生されたときには、アンド回路103は、クロック時刻
t2において、線VST5へ出力信号を供給し、また選
択信号C2が発生されたときには、フリップ・フロップ
回路98の状態には関係なく線VST17へ出力信号を
供給する。
前述のように、線ASTは、第3図のアンド回路85及
び86に接続されているので、オア回路109を介して
線ASTへ出力信号が供給されると、これらのアンド回
路85及び86が開かれ、加算器84による加算操作が
可能になる。
び86に接続されているので、オア回路109を介して
線ASTへ出力信号が供給されると、これらのアンド回
路85及び86が開かれ、加算器84による加算操作が
可能になる。
線VST1は、第2図に示したように、オア回路79を
介してレジスタKRIのシフト・クロック入力に接続さ
れ、この線に出力信号が供給されると、レジスタKRI
は1ビット位置だけ左方向ヘシフトされる。
介してレジスタKRIのシフト・クロック入力に接続さ
れ、この線に出力信号が供給されると、レジスタKRI
は1ビット位置だけ左方向ヘシフトされる。
線VST5及びVST17は、次の第5図に示した変更
方式制御回路76の別の部分120に接続される。
方式制御回路76の別の部分120に接続される。
第5図において、線VST5は、フリップ・フロップ回
路1220入力に接続されている。
路1220入力に接続されている。
フリップ・フロップ回路123の出力は、アンド回路1
23の第1人力に接続される。
23の第1人力に接続される。
アンド回路123の第2人力には、クロック信号発生器
124からパルスが印加される。
124からパルスが印加される。
フリップ・フロップ回路122が線VST5上の信号に
よってセットされていると、その出力によりアンド回路
123が条件付けられるので、クロック信号発生器12
4からの一連のクロック・パルスから成るクロック信号
は、アンド回路123を通ってカウンタ125へ供給さ
れ得る。
よってセットされていると、その出力によりアンド回路
123が条件付けられるので、クロック信号発生器12
4からの一連のクロック・パルスから成るクロック信号
は、アンド回路123を通ってカウンタ125へ供給さ
れ得る。
これらのクロック・パルスは、オア回路126を通って
線SHPへも供給され、そして線SHPからオア回路7
9(第2図)を通ってレジスタKRIのシフト・クロッ
ク入力へ印加される。
線SHPへも供給され、そして線SHPからオア回路7
9(第2図)を通ってレジスタKRIのシフト・クロッ
ク入力へ印加される。
カウンタ125は、少なくとも50カウントをすること
ができ、例えば、3ビツトの2進カウンタを用いてもよ
い。
ができ、例えば、3ビツトの2進カウンタを用いてもよ
い。
カウンタ125は、そのカウント値が5に達したときに
線128へ出力信号を出す。
線128へ出力信号を出す。
この出力信号は、線129を介してフリップ・フロップ
回路122のリセット入力へ印加され、これをパO′”
状態にリセットする。
回路122のリセット入力へ印加され、これをパO′”
状態にリセットする。
従って、アンド回路123が禁止されるので、以後は、
発生器124からのクロック・パルスは線SHPへ供給
されない。
発生器124からのクロック・パルスは線SHPへ供給
されない。
これから明らかなように、回路要素122乃至129か
ら成る部分は、線VST5上の信号によって付勢される
度に、5個のシフト・クロック・パルスをレジスタKR
1へ連続的に供給する。
ら成る部分は、線VST5上の信号によって付勢される
度に、5個のシフト・クロック・パルスをレジスタKR
1へ連続的に供給する。
線VST17上の信号は、フリップ・フロップ※※回路
132、アンド回路133及びカウンタ135から成る
同様な回路部分を制御する。
132、アンド回路133及びカウンタ135から成る
同様な回路部分を制御する。
即ち、線VST17上の信号によってフリップ・フロッ
プ回路132がセットされると、アンド回路133が条
件付けられて、クロック発生器124からのクロック・
パルスをカウンタ135へ及びオア回路126を介して
線SHPへ送る。
プ回路132がセットされると、アンド回路133が条
件付けられて、クロック発生器124からのクロック・
パルスをカウンタ135へ及びオア回路126を介して
線SHPへ送る。
カウンタ135は、少な(とも170カウントをするこ
とができ、例えば5ビツトの2進カウンタが用いられる
。
とができ、例えば5ビツトの2進カウンタが用いられる
。
カウンタ135のカウント値が17に達すると、出力線
138へ信号が発生される。
138へ信号が発生される。
この信号は、線139を介してフリップ・フロップ回路
132のリセット入力へ印加されて、これを41011
状態ヘリセツトし、これによりアンド回路133が禁止
される。
132のリセット入力へ印加されて、これを41011
状態ヘリセツトし、これによりアンド回路133が禁止
される。
従って、以後は、クロック発生器124からのクロック
・パルスは、線SHPへ供給されない。
・パルスは、線SHPへ供給されない。
このように、線VST17上に信号が発生されると、回
路要素132.133,135,138及び139から
成る部分は、17個のクロック・パルスを連続的に線S
HPへ供給する。
路要素132.133,135,138及び139から
成る部分は、17個のクロック・パルスを連続的に線S
HPへ供給する。
これらのクロック・パルスは、オア回路79を通ってレ
ジスタKR1のシフト・クロック入力へ印加され、レジ
スタKR1の内容を1ビツト位置ずつ17回左左方向へ
フトさせる。
ジスタKR1のシフト・クロック入力へ印加され、レジ
スタKR1の内容を1ビツト位置ずつ17回左左方向へ
フトさせる。
レジスタKR1の左端のビット位置から出たキー・ビッ
トは、フィードバック線54を介して、レジスタKR1
の右端のビット位置へ循環される。
トは、フィードバック線54を介して、レジスタKR1
の右端のビット位置へ循環される。
第2図に示したキー・レジスタ48及び変更回路74の
機能の要約を下記の表2に示す。
機能の要約を下記の表2に示す。
これは、前の表1と同じように、4種類の変更方式と個
々の変更ステップとの関係を明らかにしたものである。
々の変更ステップとの関係を明らかにしたものである。
表2は、第1図のブロック18,22及び24で暗号キ
ーを繰返し変更するのに、3種類の循環シフト及び1つ
の加算操作が利用されることを示している。
ーを繰返し変更するのに、3種類の循環シフト及び1つ
の加算操作が利用されることを示している。
3種類の循環シフトは、レジスタKRIに記憶されてい
る部分キー・フィールド(半フィールド)のビットの1
回、5回及び17回の循環シフトである。
る部分キー・フィールド(半フィールド)のビットの1
回、5回及び17回の循環シフトである。
加算操作は、レジスタKR1及びKH2に記憶されてい
る部分キー・フィールドの加算を意味し、その加算結果
はレジスタKRIに記憶される。
る部分キー・フィールドの加算を意味し、その加算結果
はレジスタKRIに記憶される。
循環シフトは、互換ステップに対応し、加算操作は置換
ステップに対応する。
ステップに対応する。
これらの変更ステップは連続的に実行される。即ち、循
環シフトはクロック時刻t2で実行され、加算操作は次
のクロック時刻t3で実行される。
環シフトはクロック時刻t2で実行され、加算操作は次
のクロック時刻t3で実行される。
なお、これよりも前のクロック時刻t1においては、デ
ータ・ビットの置換操作が行なわれる。
ータ・ビットの置換操作が行なわれる。
第5図には、クロック信号tLt2及びt3の他に複数
の異なったクロック信号を発生するタイミング制御回路
34の詳細も示されている。
の異なったクロック信号を発生するタイミング制御回路
34の詳細も示されている。
動作時には、まず線143からの開始信号により単安定
フリップ・フロップ回路144が付勢される。
フリップ・フロップ回路144が付勢される。
これは、静止状態へ戻るときに、線T1へ出力信号(制
御信号)を出す。
御信号)を出す。
同時に、別の単安定クリップ・フロップ回路145が付
勢されて、静止状態へ戻るときに、その出力信号によっ
てフリップ・フロップ回路14.6を°゛1′b にオア回路148を介して別の単安定フリップ・フロッ
プ回路149を付勢する。
勢されて、静止状態へ戻るときに、その出力信号によっ
てフリップ・フロップ回路14.6を°゛1′b にオア回路148を介して別の単安定フリップ・フロッ
プ回路149を付勢する。
この単安定フリップ・フロップ回路149の出力に生じ
た信号は、クロック信号t1として利用され、またクロ
ック信号t2を発生する別の単安定クリップ・フロップ
回路150を付勢する。
た信号は、クロック信号t1として利用され、またクロ
ック信号t2を発生する別の単安定クリップ・フロップ
回路150を付勢する。
第4図のところで説明したように、クロック信号t2は
、制御信号VST1 、VST5及びVST17を発生
するのに用いられる。
、制御信号VST1 、VST5及びVST17を発生
するのに用いられる。
変更方式制御回路760回路部分120においては、制
御信号VST5及びVST17は、カウンタ125及び
135の制御のもとに、一連のシフト・パルスを発生さ
せる。
御信号VST5及びVST17は、カウンタ125及び
135の制御のもとに、一連のシフト・パルスを発生さ
せる。
カウンタ125の出力線128及びカウンタ135の出
力線138は、オア回路152の第1人力及び第2人力
に各々接続される。
力線138は、オア回路152の第1人力及び第2人力
に各々接続される。
オア回路152の第3人力には、線VST1が接続され
る。
る。
このオア回路152は、何れかの入力に信号がくると、
クロック信号線t3及びプリセット可能なビット・カウ
ンタ156に出力が接続されている単安定フリップ・フ
ロップ回路154へ付勢信号を供給する。
クロック信号線t3及びプリセット可能なビット・カウ
ンタ156に出力が接続されている単安定フリップ・フ
ロップ回路154へ付勢信号を供給する。
ビット・カウンタ156は、第2図に示したデータ・レ
ジスタ300ビット位置の数と同じ最大カウント値を有
する。
ジスタ300ビット位置の数と同じ最大カウント値を有
する。
もしデータ・レジスタ30が、前述のように128のビ
ット位置を有していると、ビット・カウンタ156は、
最大128までカウントできるように構成されねばなら
ない。
ット位置を有していると、ビット・カウンタ156は、
最大128までカウントできるように構成されねばなら
ない。
これは、例えば7ビツトの2進カウンタで行なってもよ
い。
い。
ビット・カウンタ156は、データ・レジスタ30かも
の最後のビットが置換回路(本実施例では排他的オア回
路)56によって処理されたことを表示するのに用いら
れる。
の最後のビットが置換回路(本実施例では排他的オア回
路)56によって処理されたことを表示するのに用いら
れる。
第2図の装置は、可変長データ・フィールドを処理する
ことができる。
ことができる。
データ・フィールドの長さは、周知の方法で、例えばデ
ータ・フィールドに含まれるバイト数を示す長さコード
によって指定される。
ータ・フィールドに含まれるバイト数を示す長さコード
によって指定される。
このため、ビット・カウンタ156は、予めセットされ
た値から0に向かって逆カウントを行なうプリセット可
能なカウンタとして設計される。
た値から0に向かって逆カウントを行なうプリセット可
能なカウンタとして設計される。
カウント値がOに達すると、ビット・カウンタ156は
出力線155へ信号を出す。
出力線155へ信号を出す。
ビット・カウンタ156のプリセットは、デコーダ15
3の出力に接続されたプリセット入力線151を介して
行なわれる。
3の出力に接続されたプリセット入力線151を介して
行なわれる。
処理されるべき各データ・フィールドに付随する長さコ
ードは、長さコード・レジスタ140からアンド回路1
41を通ってデコーダ153へ送られる。
ードは、長さコード・レジスタ140からアンド回路1
41を通ってデコーダ153へ送られる。
この長さコードは、個々のデータ・フィールドを構成す
るバイトの数の2進表示を含んでおり、従って、デコー
ダ153においてデータ・フィールドのビット数を表わ
す2進値に変換される。
るバイトの数の2進表示を含んでおり、従って、デコー
ダ153においてデータ・フィールドのビット数を表わ
す2進値に変換される。
即ち、デコーダ153は、バイト数を対応するビット数
に変換するものである。
に変換するものである。
デコーダ153から出力された2進値は、ビット・カウ
ンタ156をこれと同じ値にプリセットするために、線
151を介してビット・カウンタ156へ送られる。
ンタ156をこれと同じ値にプリセットするために、線
151を介してビット・カウンタ156へ送られる。
ビット・カウンタ156は、単安定フリップ・フロップ
回路154から供給されるカウント・パルスに応答して
、プリセット値から0に向かって逆カウントを行なう。
回路154から供給されるカウント・パルスに応答して
、プリセット値から0に向かって逆カウントを行なう。
前に述べた単安定フリップ・フロップ回路145は、オ
ア回路157を介してフリップ・フロップ回路158の
セット入力へ信号を供給して、これを゛′1′′状態に
セットする。
ア回路157を介してフリップ・フロップ回路158の
セット入力へ信号を供給して、これを゛′1′′状態に
セットする。
フリップ・フロップ回路158のリセット入力は、カウ
ント値が0になったときに信号を発生するビット・カウ
ンタ156の出力線155に接続されているので、フリ
ップ・フロップ回路158は、処理されるべきデータ・
ビットがデータ・レジスタ30に残っている限り、“′
1″状態に保たれる。
ント値が0になったときに信号を発生するビット・カウ
ンタ156の出力線155に接続されているので、フリ
ップ・フロップ回路158は、処理されるべきデータ・
ビットがデータ・レジスタ30に残っている限り、“′
1″状態に保たれる。
u I 11状態にセットされたフリップ・フロップ回
路158は、アンド回路159へ出力信号を供給して、
これを条件付け、従って、単安定フリップ・フロップ回
路154からの出力信号は、アンド回路159及びフィ
ードバック線160を通って、オア回路148の1つの
入力へ送られる。
路158は、アンド回路159へ出力信号を供給して、
これを条件付け、従って、単安定フリップ・フロップ回
路154からの出力信号は、アンド回路159及びフィ
ードバック線160を通って、オア回路148の1つの
入力へ送られる。
オア回路148は、その出力信号によって単安定フリッ
プ・フロップ回路149を付勢する。
プ・フロップ回路149を付勢する。
従って、アンド回路159が開いている限り、クロック
信号t1゜t2及びt3は周期的に繰返し発生される。
信号t1゜t2及びt3は周期的に繰返し発生される。
この繰返しのサイクル数は、データ・レジスタ30に記
憶されている処理されるべきデータ・フィールドのビッ
ト数に対応する。
憶されている処理されるべきデータ・フィールドのビッ
ト数に対応する。
ビット・カウンタ156の出力信号は、アンド回路16
2の第1人力へ供給される。
2の第1人力へ供給される。
アンド回路162の第2人力は、フリップ・フロップ回
路146の出力に接続されている。
路146の出力に接続されている。
両方の入力に信号が来たときにアンド回路162から発
生される出力信号は、単安定フリップ・フロップ回路1
63を付勢する。
生される出力信号は、単安定フリップ・フロップ回路1
63を付勢する。
単安定フリップ・フロップ回路163の出力信号は、ク
ロック信号線T3及び別の単安定フリップ・フロップ回
路1640入力に供給される。
ロック信号線T3及び別の単安定フリップ・フロップ回
路1640入力に供給される。
付勢された単安定フリップ・フロップ回路164は、静
止状態へ戻るときに信号を発生し、これによりフリップ
・フロップ回路146がリセットされる。
止状態へ戻るときに信号を発生し、これによりフリップ
・フロップ回路146がリセットされる。
その結果、アンド回路162が禁止されるので、カウン
タ156からの出力信号は、単安定フリップ・フロップ
回路163へ送られなくなる。
タ156からの出力信号は、単安定フリップ・フロップ
回路163へ送られなくなる。
単安定フリップ・フロップ回路164の出力信号は、フ
リップ・フロップ回路166をセットするのにも用いら
れる。
リップ・フロップ回路166をセットするのにも用いら
れる。
フリップ・フロップ回路166がセットされると、アン
ド回路168が条件付けられて、ビット・カウンタ15
6の出力信号を通過させる。
ド回路168が条件付けられて、ビット・カウンタ15
6の出力信号を通過させる。
単安定フリップ・フロップ回路164の出力信号は、オ
ア回路148及び157にも供給されて、単安定フリッ
プ・フロップ回路149を付勢すると共に、フリップ・
70ツブ回路158を1”状態にセットする。
ア回路148及び157にも供給されて、単安定フリッ
プ・フロップ回路149を付勢すると共に、フリップ・
70ツブ回路158を1”状態にセットする。
フリップ・フロップ回路158がセットされると、その
出力によりアンド回路159が条件付ゆられて、単安定
フリップ・フロップ回路154の出力信号を、線160
及びオア回路148を介して単安定フリップ・フロップ
回路149ヘフイードバツクする。
出力によりアンド回路159が条件付ゆられて、単安定
フリップ・フロップ回路154の出力信号を、線160
及びオア回路148を介して単安定フリップ・フロップ
回路149ヘフイードバツクする。
かくして、クロック・パルスN、t2及びt3が再び周
期的に発生される。
期的に発生される。
なお、クロック・パルスtLt2及びt3の周期的発生
の再開前には、ビット・カウント156の出力信号が、
オア回路147を介してアンド回路141を条件付けて
おり、従って、長さコードによって指定されたバイト数
がデコーダ153でビット数に変換されて、ビット・カ
ウンタ156にプリセットされる。
の再開前には、ビット・カウント156の出力信号が、
オア回路147を介してアンド回路141を条件付けて
おり、従って、長さコードによって指定されたバイト数
がデコーダ153でビット数に変換されて、ビット・カ
ウンタ156にプリセットされる。
ビット・カウンタ156のカウント値が次に0に達した
ときには、前と同じように、線155へ出力信号が供給
されるが、この場合は、フリップ・フロップ回路146
がリセットされているので、アンド回路162は出力信
号を出さない。
ときには、前と同じように、線155へ出力信号が供給
されるが、この場合は、フリップ・フロップ回路146
がリセットされているので、アンド回路162は出力信
号を出さない。
その代りに、ビット・カウンタ156の出力信号は、0
11+状態にセットされているフリップ・フロップ回路
166によって条件付けられたアンド回路168を通っ
て、単安定フリップ・フロップ回路170を付勢する。
11+状態にセットされているフリップ・フロップ回路
166によって条件付けられたアンド回路168を通っ
て、単安定フリップ・フロップ回路170を付勢する。
これにより、単安定フリップ・フロップ回路170は、
クロック信号線T5及び単安定フリップ・フロップ回路
172へ出力信号を供給する。
クロック信号線T5及び単安定フリップ・フロップ回路
172へ出力信号を供給する。
単安定フリップ・フロップ回路172の出力信号は、フ
リップ・フロップ回路166を゛0″状態ヘリセットす
ると共に、オア回路148を介して単安定フリップ・フ
ロップ回路149,150及び154の新しい動作サイ
クルを開始させ、更に、ビット・カウンタ156からの
最後の出力信号によってリセットされていたフリップ・
フロップ回路158を、オア回路157を介して゛1″
状態にセットする。
リップ・フロップ回路166を゛0″状態ヘリセットす
ると共に、オア回路148を介して単安定フリップ・フ
ロップ回路149,150及び154の新しい動作サイ
クルを開始させ、更に、ビット・カウンタ156からの
最後の出力信号によってリセットされていたフリップ・
フロップ回路158を、オア回路157を介して゛1″
状態にセットする。
単安定フリップ・フロップ回路172の出力信号は、フ
リップ・フロップ回路174にも供給されて、これを1
“状態にセットする。
リップ・フロップ回路174にも供給されて、これを1
“状態にセットする。
セットされたフリップ・フロップ回路174は、ビット
・カウンタ156の出力線155に一方の入力が接続さ
れているアンド回路176へ条件付は信号を供給する。
・カウンタ156の出力線155に一方の入力が接続さ
れているアンド回路176へ条件付は信号を供給する。
フリップ・フロップ回路174の出力は、クロック信号
線T6にも接続されている。
線T6にも接続されている。
アンド回路176は、暗号処理が終ったことを示す信号
を線177へ供給し、更にこれによってフリップ・フロ
ップ回路174をリセットする。
を線177へ供給し、更にこれによってフリップ・フロ
ップ回路174をリセットする。
第5図のタイミング制御回路34は、入力データ・バイ
トをデータ・レジスタ30ヘロードするためのクロック
信号TEを発生する回路も有している。
トをデータ・レジスタ30ヘロードするためのクロック
信号TEを発生する回路も有している。
これは、フリップ回路178、アンド回路179及び8
までカウントできるカウンタ180から成る。
までカウントできるカウンタ180から成る。
フリップ・フロップ回路178は、データ処理システム
において暗号化又は暗号解読をリクエストするユニット
(図示せず)から供給され、暗号化又は暗号解読される
べきデータをデータ・レジスタ30ヘロードすべきこと
を表わすデータ・バイト入力制御信号DBEを受取る。
において暗号化又は暗号解読をリクエストするユニット
(図示せず)から供給され、暗号化又は暗号解読される
べきデータをデータ・レジスタ30ヘロードすべきこと
を表わすデータ・バイト入力制御信号DBEを受取る。
フリップ・フロップ回路178は、この信号DBEによ
り1“状態にセットされて、アンド回路1γ9を条件付
ける。
り1“状態にセットされて、アンド回路1γ9を条件付
ける。
これにより、クロック発生器124からのクロック・パ
ルスは、アンド回路1γ9を通って線TE及びカウンタ
180へ送られる。
ルスは、アンド回路1γ9を通って線TE及びカウンタ
180へ送られる。
線TEに供給されたクロック・パルスは、第2図に示し
たオア回路35及び線33を通って、データ・レジスタ
30のシフト・クロック入力に印加される。
たオア回路35及び線33を通って、データ・レジスタ
30のシフト・クロック入力に印加される。
これと同時に、カウンタ180は、アンド回路179か
らの出力パルスによって歩進される。
らの出力パルスによって歩進される。
カウンタ180のカウント値が8に達すると、線181
へ出力信号が発生されて、フリップ・フロップ回路1γ
8を゛0パ状態にリセットし、更にこれによってアンド
回路179を禁止する。
へ出力信号が発生されて、フリップ・フロップ回路1γ
8を゛0パ状態にリセットし、更にこれによってアンド
回路179を禁止する。
かくして、線TEには8個のパルスが連続的に発生され
、データ・レジスタ30の内容を8ビット位置だけ左方
向へシフトさせる。
、データ・レジスタ30の内容を8ビット位置だけ左方
向へシフトさせる。
母線39を介してAレジスタ37及びBレジスタ38へ
キー・バイトをロードする際には、データ・バイトのロ
ードのための回路178乃至180と同様な動作を行な
う制御カウンタ184が用いられる。
キー・バイトをロードする際には、データ・バイトのロ
ードのための回路178乃至180と同様な動作を行な
う制御カウンタ184が用いられる。
データ処理システムからのキー・バイト入力制御信号K
BEによって付勢される制御カウンタ184は、16個
のカウント位置を有しており、これらの各カウント位置
は対応する線ESI乃至ES16へ制御信号を供給する
。
BEによって付勢される制御カウンタ184は、16個
のカウント位置を有しており、これらの各カウント位置
は対応する線ESI乃至ES16へ制御信号を供給する
。
線ESl乃至ES16は、第2図に示したように、アン
ド回路40及び41へ選択的に接続される。
ド回路40及び41へ選択的に接続される。
線ESl乃至ES16のうちの1本に信号が生じると、
アンド回路40又は41の対応するアンド・ゲートが開
かれて、このとき母線39上にあったキー・バイトがA
レジスタ37又はBレジスタ38へ転送される。
アンド回路40又は41の対応するアンド・ゲートが開
かれて、このとき母線39上にあったキー・バイトがA
レジスタ37又はBレジスタ38へ転送される。
最後に、第6図のパルス波形図をも参照しながら、第2
図の暗号処理装置の全体的な動作について説明する。
図の暗号処理装置の全体的な動作について説明する。
暗号化又は暗号解読されるべきデータ・フィールド(1
6バイトまで)は、暗号処理操作の開始時にデータ・レ
ジスタ30ヘロードされる。
6バイトまで)は、暗号処理操作の開始時にデータ・レ
ジスタ30ヘロードされる。
このため、データ・バイト入力制御信号DBEが発生さ
れて、データ・フィールドの最初の1バイトが、母線3
1からアンド回路32を通って、データ・レジスタ30
の右端の8個のビット位置へ同時にロードされる。
れて、データ・フィールドの最初の1バイトが、母線3
1からアンド回路32を通って、データ・レジスタ30
の右端の8個のビット位置へ同時にロードされる。
信号DBEはまた、前述のようにして、8個のクロック
・パルスTEの発生を開始させる。
・パルスTEの発生を開始させる。
これらのクロック・パルスTEは、データ・レジスタ3
0の内容を8ビット位置だけ左方向ヘンフトさせ、その
結果、データ・レジスタ30の右端の8個のビット位置
が空になって、次のデータ・バイトを受取ることができ
るようになる。
0の内容を8ビット位置だけ左方向ヘンフトさせ、その
結果、データ・レジスタ30の右端の8個のビット位置
が空になって、次のデータ・バイトを受取ることができ
るようになる。
このプロセスは、最初のデータ・バイトがデータ・レジ
スタ30の左端に達するまで16回繰返される。
スタ30の左端に達するまで16回繰返される。
データ・フィールドの長さを示す長さコードは、データ
・フィールドがデータ・レジメタ30ヘロードされる前
に、レジスタ140ヘロードされる。
・フィールドがデータ・レジメタ30ヘロードされる前
に、レジスタ140ヘロードされる。
入力制御信号DBEは、オア回路147を通ってアンド
回路141へ供給され、これを条件付ける。
回路141へ供給され、これを条件付ける。
これにより、長さコードによって指定されたビット数を
表わす2進値が、ビット・カウンタ156にプリセット
される。
表わす2進値が、ビット・カウンタ156にプリセット
される。
暗号キーの各バイトは、データ・レジスタ30へノテー
タ・バイトのロードと同時に、母線39からAレジスタ
37及びBレジスタ38へロードされる。
タ・バイトのロードと同時に、母線39からAレジスタ
37及びBレジスタ38へロードされる。
これは、前述のように、カウンタ184の制御のもとに
、アンド回路40及び41を介して行なわれる。
、アンド回路40及び41を介して行なわれる。
暗号処理をリクエストしたユニットは、2キー・バイト
毎にキー・バイト入力制御信号KBEを発生して、カウ
ンタ184を歩進させる。
毎にキー・バイト入力制御信号KBEを発生して、カウ
ンタ184を歩進させる。
このプロセスは、暗号キーの16バイトがすべてAレジ
スタ37及びBレジスタ33ヘロードされてしまうまで
続けられる。
スタ37及びBレジスタ33ヘロードされてしまうまで
続けられる。
次に、方式制御信号V/Eが線99を介してフリップ・
フロップ回路98へ印加される(第4図)。
フロップ回路98へ印加される(第4図)。
この信号V/Eは、暗号化操作がリクエストされたとき
には、2進+I O++の値をとり、従ってフリップ・
フロップ回路98は゛0″状態に保たれる。
には、2進+I O++の値をとり、従ってフリップ・
フロップ回路98は゛0″状態に保たれる。
これに対し、暗号解読がリクエストされたときには、フ
リップ・フロップ回路98は、2進II 111の信号
V/Eにより゛1″状態にセットされる。
リップ・フロップ回路98は、2進II 111の信号
V/Eにより゛1″状態にセットされる。
以下の説明では、暗号化操作がリクエストされ、従って
、信号V/E及びフリップ・フロップ回路98が共にO
l+状態にあるものとする。
、信号V/E及びフリップ・フロップ回路98が共にO
l+状態にあるものとする。
第2図の装置による暗号化操作は、線143上の開始信
号(第6図のパルスa)で単安定フリップ・フロップ回
路144を付勢して、線T1ヘクロツク信号(パルスb
)を発生させることにより開始される。
号(第6図のパルスa)で単安定フリップ・フロップ回
路144を付勢して、線T1ヘクロツク信号(パルスb
)を発生させることにより開始される。
このクロック信号は、オア回路51を通ってアンド回路
44へ印加され、これを条件付けることにより、Aレジ
スタ37の内容をキー・レジスタ48へ転送させる。
44へ印加され、これを条件付けることにより、Aレジ
スタ37の内容をキー・レジスタ48へ転送させる。
この場合、Aレジスタ37の内容は、キー・レジスタ4
8のレジスタKRI及びKH2へ同様に記憶される。
8のレジスタKRI及びKH2へ同様に記憶される。
タイミング制イ卸可路34は、次に、第5図の単安定ク
リップ・フロップ回路149の付勢によって、クロック
・パルスtl(第6図のパルスC)を発生する。
リップ・フロップ回路149の付勢によって、クロック
・パルスtl(第6図のパルスC)を発生する。
このクロック・パルスt1は、アンド回路55及び58
を条件付けることにより、データ・レジスタ30の左端
のビット位置にあるデータ・ビットとレジスタKRIの
左端のビット位置にあるキー・ビットとを排他的オア回
路56で組合わせて、その結果をバッファ・レジスタ6
0の左端のビット位置に記憶させる。
を条件付けることにより、データ・レジスタ30の左端
のビット位置にあるデータ・ビットとレジスタKRIの
左端のビット位置にあるキー・ビットとを排他的オア回
路56で組合わせて、その結果をバッファ・レジスタ6
0の左端のビット位置に記憶させる。
次に、線γγ上のキー・ビット及び線78上のデータ・
ビットに応じて制御信号VSTI 。
ビットに応じて制御信号VSTI 。
VST5又はVST17を発生させるために、制御回路
34からクロック・パルスt2(第6図のパルスf)が
発生されて、アンド回路103へ印加される(第4図)
。
34からクロック・パルスt2(第6図のパルスf)が
発生されて、アンド回路103へ印加される(第4図)
。
説明の都合上、データ・ビットは1″の値を有し、キー
・ビットは°0″の値を有しているものとする。
・ビットは°0″の値を有しているものとする。
従って、表2にも示したように、デコーダ92は線94
へ選択制御信号C2を発生し、これとクロック・パルス
t2との存在により、アンド・ゲート117から制御信
号VST17が発生される。
へ選択制御信号C2を発生し、これとクロック・パルス
t2との存在により、アンド・ゲート117から制御信
号VST17が発生される。
この制御信号VST17は、前述のように、第5図の回
路132 、133及び135を付勢して、17個のシ
フト・パルスSHPを発生させる。
路132 、133及び135を付勢して、17個のシ
フト・パルスSHPを発生させる。
これらのシフト・パルスSHPは、オア回路79を通っ
て、レジスタKRIのシフト・クロック入力に印加され
、これにより、レジスタKR1の内容は、17ビツト位
置だけ左方向へ循環シフトされる。
て、レジスタKRIのシフト・クロック入力に印加され
、これにより、レジスタKR1の内容は、17ビツト位
置だけ左方向へ循環シフトされる。
タイミング制御回路34からは、クロック・パルスt2
に続いてクロック・パルスt 3 (第6図のパルスg
)が単安定フリップ・フロップ回路154の付勢により
発生される。
に続いてクロック・パルスt 3 (第6図のパルスg
)が単安定フリップ・フロップ回路154の付勢により
発生される。
その結果、選択信号C2によって条件付けられた第4図
のアンド・ゲ−NO6からオア回路109を介して制御
信号ASTが供給される。
のアンド・ゲ−NO6からオア回路109を介して制御
信号ASTが供給される。
この制御信号ASTは、第3図に示した加算器84によ
る加算サイクルを開始させ、これにより、レジスタKR
I及びKH2の内容が加算される。
る加算サイクルを開始させ、これにより、レジスタKR
I及びKH2の内容が加算される。
更ニ、クロック・パルスt3は、オア回路35及び線3
3を通って、データ・レジスタ30へ送られ、その内容
を1ビット位置だけ左方向へシフトさせる。
3を通って、データ・レジスタ30へ送られ、その内容
を1ビット位置だけ左方向へシフトさせる。
その結果、データ・レジスタ30の左端のビット位置に
あって処理の終ったデータ・ビットがデータ・レジスタ
から除去され、代って、左端から2番目の位置にあった
データ・ビットが、次の処理のために、左端のビット位
置ヘシフトされる、クロック・パルスt3は、線61を
介シてバッファ・レジスタ60にも印加され、その内容
を1ビット位置だけ右方向にシフトさせる。
あって処理の終ったデータ・ビットがデータ・レジスタ
から除去され、代って、左端から2番目の位置にあった
データ・ビットが、次の処理のために、左端のビット位
置ヘシフトされる、クロック・パルスt3は、線61を
介シてバッファ・レジスタ60にも印加され、その内容
を1ビット位置だけ右方向にシフトさせる。
その結果、バッファ・レジスタ60の左端のビット位置
が空になり、次の置換操作の結果を受取ることができる
ようになる。
が空になり、次の置換操作の結果を受取ることができる
ようになる。
また、第5図のビット・カウンタ156は、クロック・
パルスt3によって1だけ逆止進される。
パルスt3によって1だけ逆止進される。
以上で、最初のデータ・ビットに対する処理が終ったこ
とになる。
とになる。
クロック・パルス上1乃至t3によって制御される上述
の各操作は、データ・レジスタ30に記憶されている各
データ・ビットについて繰返される。
の各操作は、データ・レジスタ30に記憶されている各
データ・ビットについて繰返される。
最初のビットの処理から最後のビットの処理までの時間
は、第6図にT2で示されている。
は、第6図にT2で示されている。
この時間T2は、データ・レジスタ30に記憶すれるデ
ータ・フィールドの長さ及びレジスタKRIで実行され
る循環シフト(これは線78上のデータ・ビット及び線
77上のキー・ビットの値によって異なる)に関係して
いるので、一定ではない。
ータ・フィールドの長さ及びレジスタKRIで実行され
る循環シフト(これは線78上のデータ・ビット及び線
77上のキー・ビットの値によって異なる)に関係して
いるので、一定ではない。
第6図のT2における第2ビツト・サイクルのところに
は、変更方式C3に対応する5ビット位置の循環シフト
が例示されている(パルスh)。
は、変更方式C3に対応する5ビット位置の循環シフト
が例示されている(パルスh)。
第5図のビット・カウンタ156のカウント値がOに達
すると、線155に出力信号が発生されて、アンド回路
162を条件付け、そして単安定フリップ・フロップ回
路163を付勢する。
すると、線155に出力信号が発生されて、アンド回路
162を条件付け、そして単安定フリップ・フロップ回
路163を付勢する。
これにより、クロック信号T3(第6図のパルスC)が
発生される。
発生される。
このクロック信号T3は、第2図のオア回路81を通っ
て、アンド回路64を条件付け、バッファ・レジスタ6
0の内容をデータ・レジスタ30へ並列に転送させる。
て、アンド回路64を条件付け、バッファ・レジスタ6
0の内容をデータ・レジスタ30へ並列に転送させる。
これは、第1図のブロック17における互換操作に対応
している。
している。
データ・レジスタ30及びバッファ・レジスタ60のシ
フト方向は互いに反対であるから、この互換操作として
、ビットの対称的な入換えが行なわれたことになる。
フト方向は互いに反対であるから、この互換操作として
、ビットの対称的な入換えが行なわれたことになる。
かくして、データ・レジスタ30には、変更されたデー
タ・フィールドが記憶され、次にこの変更されたデータ
・フィールドに対して、第1図のブロック19に示した
新しい置換操作が開始される。
タ・フィールドが記憶され、次にこの変更されたデータ
・フィールドに対して、第1図のブロック19に示した
新しい置換操作が開始される。
この置換操作は、Bレジスタ38に記憶されている暗号
キーの半分によって制御される。
キーの半分によって制御される。
このため、Bレジスタ38の内容は、既に述べたように
して、クロック信号T3の制御のもとにキー・レジスタ
48へ転送される。
して、クロック信号T3の制御のもとにキー・レジスタ
48へ転送される。
データ・レジスタ30の内容とキー・レジスタ48の内
容との排他的オアによる新しい置換操作は、前と同じよ
うに、クロック・パルスt1゜t2及びt3によって制
御される。
容との排他的オアによる新しい置換操作は、前と同じよ
うに、クロック・パルスt1゜t2及びt3によって制
御される。
このため、クロック信号T3によって付勢された単安定
フリップ・フロップ回路164は、その出力信号によっ
て回路149,150及び154を動作させて、これら
のクロック・パルスを順次に繰返し発生させる。
フリップ・フロップ回路164は、その出力信号によっ
て回路149,150及び154を動作させて、これら
のクロック・パルスを順次に繰返し発生させる。
この繰返しサイクルの数は、ビット・カウンタ156に
よって監視される。
よって監視される。
繰返しサイクルの全体の時間は、第6図にT4で示され
ている。
ている。
ビット・カウンタ156は、前と同じように、データ・
レジスタ30の最後のビットが処理されたときに、線1
55へ出力信号を出す。
レジスタ30の最後のビットが処理されたときに、線1
55へ出力信号を出す。
これで、第1図のブロック19の置換操作が完了したこ
とになる。
とになる。
バッファ・レジスタ60の内容は、第1図のブロック2
3における最後の置換の準備のために、オア回路81へ
のクロック信号T5(第6図のパルスd)の印加によっ
てデータ・レジスタ30へ戻される。
3における最後の置換の準備のために、オア回路81へ
のクロック信号T5(第6図のパルスd)の印加によっ
てデータ・レジスタ30へ戻される。
クロック信号T5は、ビット・カウンタ156からの出
力信号によって条件付けられるアンド回路168及び単
安定フリップ・フロップ回路170の働きにより発生さ
れる。
力信号によって条件付けられるアンド回路168及び単
安定フリップ・フロップ回路170の働きにより発生さ
れる。
このクロック信号T5は、オア回路51にも供給されて
、アンド回路44を条件付け、Aレジスタ37の内容を
キー・レジスタ48へ転送させる。
、アンド回路44を条件付け、Aレジスタ37の内容を
キー・レジスタ48へ転送させる。
また、ビット・カウンタ156の出力信号は、オア回路
147を通ってアンド回路141を条件付け、従って、
長さコード・レジスタ140にある長さコードによって
指定されたバイト数が、デコーダ153でビット数に変
換されて、再びビット・カウント156にロードされる
。
147を通ってアンド回路141を条件付け、従って、
長さコード・レジスタ140にある長さコードによって
指定されたバイト数が、デコーダ153でビット数に変
換されて、再びビット・カウント156にロードされる
。
これで、第1図のブロック23における置換操作の準備
が完了したことになる。
が完了したことになる。
ブロック23の置換操作は、第6図に示した時間T6の
ところで実行される。
ところで実行される。
排他的オア回路56で行なわれるビットの置換は、時間
T2及びT4で行なわれたものと大体同じであるが、次
の点が異なっている。
T2及びT4で行なわれたものと大体同じであるが、次
の点が異なっている。
まず、排他的オア回路56の出力に生じた結果信号は、
アンド回路82及び線70を通って、データ・レジスタ
30へ直接戻される。
アンド回路82及び線70を通って、データ・レジスタ
30へ直接戻される。
線70は、データ・レジスタ30の右端のビット位置に
接続されており、従って、排他的オア56からの各出力
ビツトは、まずこのビット位置に記憶される。
接続されており、従って、排他的オア56からの各出力
ビツトは、まずこのビット位置に記憶される。
データ・レジスタ30へ戻されたビットは、排他的オア
操作の後で発生されるクロック・パルスt3により、1
ビット位置だけ左方向へシフトされ、その結果、データ
・レジスタ30の右端のビット位置は、次の置換ビット
を受取ることができるようになる。
操作の後で発生されるクロック・パルスt3により、1
ビット位置だけ左方向へシフトされ、その結果、データ
・レジスタ30の右端のビット位置は、次の置換ビット
を受取ることができるようになる。
アンド回路82は、第5図のフリップ・フロップ回路1
74から発生されるクロック信号T6(第6図のパルス
i)によって条件付けられる。
74から発生されるクロック信号T6(第6図のパルス
i)によって条件付けられる。
既に述べたように、このフリップ・フロップ回路174
は、クロック信号T5によって付勢された単安定フリッ
プ・フロップ回路172がらの出力信号により、411
11状態ヘスイツチされ、そしてビット・カウンタ15
6が出力信号を線155へ出したときに、アンド回路1
76の出力によって0”′状態ヘリセットされる。
は、クロック信号T5によって付勢された単安定フリッ
プ・フロップ回路172がらの出力信号により、411
11状態ヘスイツチされ、そしてビット・カウンタ15
6が出力信号を線155へ出したときに、アンド回路1
76の出力によって0”′状態ヘリセットされる。
アンド回路176から線177へ出された出力信号は、
暗号化操作の終了を表示する。
暗号化操作の終了を表示する。
このとき、データ・レジスタ30には、元の入力データ
・フィールドが暗号化された形で記憶されている。
・フィールドが暗号化された形で記憶されている。
なお、最後に置換されたビットは、データ・レジスタ3
0の右端のビット位置にある。
0の右端のビット位置にある。
データ・レジスタ30に記憶されている暗号データは、
バイト単位で出力母線83の方へ読出される。
バイト単位で出力母線83の方へ読出される。
この読出しは、入力データ・バイトをデータ・レジスタ
30ヘロードしたときと同じような方法で行なわれる。
30ヘロードしたときと同じような方法で行なわれる。
母線83の8本の線は、データ・レジスタ30の左端の
8個のビット位置へ態別に接続されており、暗号データ
の各バイトが母線83へ読出される度に、データ・レジ
スタ30の内容は、前述のようにして、8ビット位置ず
つ左方向へシフトされる。
8個のビット位置へ態別に接続されており、暗号データ
の各バイトが母線83へ読出される度に、データ・レジ
スタ30の内容は、前述のようにして、8ビット位置ず
つ左方向へシフトされる。
暗号解読装置は、第1図のブロック18,22及び24
における暗号キーの変更を除いて、上述の暗号化操作と
同じようにして実行される。
における暗号キーの変更を除いて、上述の暗号化操作と
同じようにして実行される。
暗号解読操作の開始時に、まず第4図のフリップ・フロ
ップ回路98が、2進n 1. +1の制御信号V/E
によりN 111状態にセットされ、従って出力線10
1へ信号が出される。
ップ回路98が、2進n 1. +1の制御信号V/E
によりN 111状態にセットされ、従って出力線10
1へ信号が出される。
この結果、デコーダ92からの選択信号C1及びC2に
よるアンド・ゲートの条件付けは、暗号化のときと同じ
であるが、選択信号C3及びC4によって条件付けられ
るアンド・ゲートは、暗号化のときとは異なっている。
よるアンド・ゲートの条件付けは、暗号化のときと同じ
であるが、選択信号C3及びC4によって条件付けられ
るアンド・ゲートは、暗号化のときとは異なっている。
即ち、出力線101に信号が出されるので、選択信号C
3は、アンド・ゲート1150代りにアンド・ゲート1
14を条件付けて、クロック・パルスt2をオア回路1
18の方へ通し、従って、暗号解読時に選択信号C3が
発生されると、制御信号VST5に代って制御信号VS
T1が発生される。
3は、アンド・ゲート1150代りにアンド・ゲート1
14を条件付けて、クロック・パルスt2をオア回路1
18の方へ通し、従って、暗号解読時に選択信号C3が
発生されると、制御信号VST5に代って制御信号VS
T1が発生される。
制御信号VST5は、第5図の回路122゜123及び
125を付勢して、一連の5個のシフト・パルスを発生
させるが、制御信号VST1は、レジスタKR,1の内
容を1ビット位置シフトさせるだけである。
125を付勢して、一連の5個のシフト・パルスを発生
させるが、制御信号VST1は、レジスタKR,1の内
容を1ビット位置シフトさせるだけである。
残りの暗号解読ステップにおいては、制御信号VST1
は、カウンタ125の出力信号と団じように、回路14
9,150及び154の動作を制御する。
は、カウンタ125の出力信号と団じように、回路14
9,150及び154の動作を制御する。
また、暗号解読のときには、第4図のアンド回路102
が選択信号C3によって条件付けられることなく、従っ
て制御ASTが発生されないので、表2に示したように
、この選択信号C3に対応する変更方式においては、第
3図の加算器84による加算操作は行なわれない。
が選択信号C3によって条件付けられることなく、従っ
て制御ASTが発生されないので、表2に示したように
、この選択信号C3に対応する変更方式においては、第
3図の加算器84による加算操作は行なわれない。
暗号解読時に第4図のデコーダ92から選択信号C4が
発生された場合には、アンド・ゲート113に代ってア
ンド・ゲート116が条件付けられ、クロック・パルス
t2を通す。
発生された場合には、アンド・ゲート113に代ってア
ンド・ゲート116が条件付けられ、クロック・パルス
t2を通す。
従って、制御信号VSTIではなく制御信号VST5が
発生され、これによりレジスタKRIの内容が、5ビッ
ト位置だけ左方向に循環シフトされる。
発生され、これによりレジスタKRIの内容が、5ビッ
ト位置だけ左方向に循環シフトされる。
選択信号C4は、アンド・ゲート108をも条件付けて
、クロック・パルスt3を通し、これにより加算制御信
号ASTが発生される。
、クロック・パルスt3を通し、これにより加算制御信
号ASTが発生される。
これに対し、前述の暗号化操作においては、アンド・ゲ
ート108は禁止されたままであり、従って、選択信号
C4が発生されても、加算操作は行なわれない(表2参
照)。
ート108は禁止されたままであり、従って、選択信号
C4が発生されても、加算操作は行なわれない(表2参
照)。
第2図の暗号処理装置による暗号解読の残りの操作は、
暗号化のときと同じである。
暗号化のときと同じである。
以上、本発明の良好な実施例について説明してきたが、
本発明は勿論これに限定されるものではない。
本発明は勿論これに限定されるものではない。
例えば、排他的オア回路56による置換操作及び算術置
換回路75の加算器84による置換操作の代りに、他の
既知の置換操作を利用することができる。
換回路75の加算器84による置換操作の代りに、他の
既知の置換操作を利用することができる。
また、この置換操作自体にしても、論理演算又は算術演
算の代りに、例えばテーブル・ルック・アップを利用し
てもよい。
算の代りに、例えばテーブル・ルック・アップを利用し
てもよい。
この場合、排他的オア回路56への入力に相当するもの
として、所望の置換ビットを記憶している記憶位置のア
ドレスが使用される。
として、所望の置換ビットを記憶している記憶位置のア
ドレスが使用される。
このような、テーブル・ルッり・アップの利用は、暗号
処理されるべきデータ・セグメント及びキー・セグメン
トが2以上のビットから戒っている場合に有用である。
処理されるべきデータ・セグメント及びキー・セグメン
トが2以上のビットから戒っている場合に有用である。
算術置換回路75の代りにデープル・ルック・アップを
用いた場合には、レジスタKRI及びKR2の内容の全
部又は一部がアドレス値として用いられ、これにより所
望の置換値がチーフルから読出されて、レジスタKRI
及びKR2の両方又は一方に送られる。
用いた場合には、レジスタKRI及びKR2の内容の全
部又は一部がアドレス値として用いられ、これにより所
望の置換値がチーフルから読出されて、レジスタKRI
及びKR2の両方又は一方に送られる。
記憶装置(テーブル)の利用による置換操作には、単に
記憶されている置換値を変えるだけで置換方式を異なっ
たものにすることができるという利点がある。
記憶されている置換値を変えるだけで置換方式を異なっ
たものにすることができるという利点がある。
キー・ビットの互換も、シフト動作の代りに、別の独立
した回路を用いて行なうことができる。
した回路を用いて行なうことができる。
この場合、キー・ビット互換回路は、置換回路75と並
列又は直列に接続され、その接続線は、所望のビット互
換を行ない得るように配線される。
列又は直列に接続され、その接続線は、所望のビット互
換を行ない得るように配線される。
この配線は、固定及び可変の倒れでもよい。
また、前述の実施例においては、変更方式選択信号C1
乃至C4は、固定パターンに従って発生されていたが、
必らずしもこのような発生方法をとる必要はなく、暗号
化の効果を高めるために、選択信号C1乃至C4と線1
7及び78上の入力信号との関係を可変にして、例えば
所定回数の暗号処理ステップが実行された後に、暗号処
理パターンを変えることも可能である。
乃至C4は、固定パターンに従って発生されていたが、
必らずしもこのような発生方法をとる必要はなく、暗号
化の効果を高めるために、選択信号C1乃至C4と線1
7及び78上の入力信号との関係を可変にして、例えば
所定回数の暗号処理ステップが実行された後に、暗号処
理パターンを変えることも可能である。
その場合には、デコーダ920代りに、例えばプログラ
ム可能な論理配列(PLAと呼ばれている)が用いられ
る。
ム可能な論理配列(PLAと呼ばれている)が用いられ
る。
このようなキー変更方式を採用すると、可能な選択信号
の数が4よりもかなり多くなるので、特に順次に処理さ
れるべきデータ・セグメント及びキ〒・セグメントが2
以上のビットから成っている場合には、暗号化の効果を
更に高めることができる。
の数が4よりもかなり多くなるので、特に順次に処理さ
れるべきデータ・セグメント及びキ〒・セグメントが2
以上のビットから成っている場合には、暗号化の効果を
更に高めることができる。
上述の他にも、タイミング制御回路34、変更方式制御
回路76などの回路を、適切にプログラムされたマイク
ロプロセッサで置き換えることができる。
回路76などの回路を、適切にプログラムされたマイク
ロプロセッサで置き換えることができる。
マイクロプロセッサの使用は、特にクロック信号t1
、t2 、t3 、T1.T3 tT5及びT6の発生
に適している。
、t2 、t3 、T1.T3 tT5及びT6の発生
に適している。
同様に、加算器84による加算操作をマイクロプロセッ
サの演算装置で行なってもよい。
サの演算装置で行なってもよい。
レジスタKRIの内容の循環シフトについても同様であ
る。
る。
1つのデータ・フローにおける個々のデータ・フィール
ドは、互いに独立して暗号処理を受けるので、上述のよ
うな暗号処理を高速で行なう必要がある場合には、第2
図に示したような装置を数台並列に動作させればよい。
ドは、互いに独立して暗号処理を受けるので、上述のよ
うな暗号処理を高速で行なう必要がある場合には、第2
図に示したような装置を数台並列に動作させればよい。
また、パイプラインの考え方を導入すると、暗号処理装
置の処理能力を高めることができる。
置の処理能力を高めることができる。
この場合、第1図のブロック16,19及び23におけ
る3種類の置換ステップの各々について、第2図に示し
たような装置が1台ずつ備えられ(ただし、バッファ・
レジスタ60は用いられない)、各装置の排他的オア回
路56からの出力信号は次の装置へ送られる。
る3種類の置換ステップの各々について、第2図に示し
たような装置が1台ずつ備えられ(ただし、バッファ・
レジスタ60は用いられない)、各装置の排他的オア回
路56からの出力信号は次の装置へ送られる。
このため、データ・レジスタ30は、両方向にシフトで
きるように構成される。
きるように構成される。
第1図に従えば、3台の装置が用いられることになり、
最初の装置と2番目の装置及びこれと3番目の装置は、
共通のデータ・レジスタ30を介して直列に接続される
。
最初の装置と2番目の装置及びこれと3番目の装置は、
共通のデータ・レジスタ30を介して直列に接続される
。
このように構成された暗号処理装置を用いると、各デー
タ・フィールドは、前のデータ・フィールドに対する第
1暗号処理サイクル(ブロック19の置換ステップ)が
終って、その結果が次の装置のデータ・レジスタ30へ
転送されてしまうと、直ちに最初の置換操作を受けるこ
とができる。
タ・フィールドは、前のデータ・フィールドに対する第
1暗号処理サイクル(ブロック19の置換ステップ)が
終って、その結果が次の装置のデータ・レジスタ30へ
転送されてしまうと、直ちに最初の置換操作を受けるこ
とができる。
か(して、3つのデータ・フィールドに対する暗号処理
をオーバーラツプ方式で行なうことができる。
をオーバーラツプ方式で行なうことができる。
第1図は本発明で用いられる暗号法のフローチャート、
第2図は本発明の良好な実施例を示すブロック図、第3
図は第2図の算術置換装置75のフロック図、第4図は
第2図の変更方式制御回路76の一部を示すブロック図
、第5図は第2図の変更方式制御回路76の残りの部分
及びタイミング制御回路34の詳細を示すブロック図、
第6図は第2図の装置で用いられる種々のクロック・パ
ルスのタイミングを示す波形図である。 30・・・・・・データ・レジスタ、31・・・・・・
データ入力母線、37・・・・・・Aレジスタ、38・
・・・・・Bレジスタ、39・・・・・・キー人力母線
、48・・・・・・キー・レジスタ、56・・・・・・
排他的オア回路、60・・・・・・バッファ・レジスタ
、74・・・・・・キー変更回路、75・・・・・・算
術置換装置、76・・・・・・変更方式制御回路。
第2図は本発明の良好な実施例を示すブロック図、第3
図は第2図の算術置換装置75のフロック図、第4図は
第2図の変更方式制御回路76の一部を示すブロック図
、第5図は第2図の変更方式制御回路76の残りの部分
及びタイミング制御回路34の詳細を示すブロック図、
第6図は第2図の装置で用いられる種々のクロック・パ
ルスのタイミングを示す波形図である。 30・・・・・・データ・レジスタ、31・・・・・・
データ入力母線、37・・・・・・Aレジスタ、38・
・・・・・Bレジスタ、39・・・・・・キー人力母線
、48・・・・・・キー・レジスタ、56・・・・・・
排他的オア回路、60・・・・・・バッファ・レジスタ
、74・・・・・・キー変更回路、75・・・・・・算
術置換装置、76・・・・・・変更方式制御回路。
Claims (1)
- 【特許請求の範囲】 1 暗号処理されるべきデータを保持するためのデータ
保持手段と、 暗号処理を制御する暗号キーを保持するためのキー保持
手段と、 上記データ保持手段及び上記キー保持手段からデータ及
び暗号キーを各々1セグメントずつ取出すための手段と
、 該手段によって取出された1セグメントのデータ及び暗
号キーを用いて変換されたデータを生成するための変換
手段と、 上記1セグメントのデータ及び暗号キーに応答して、複
数のキー変更方式の中から特定の変更方式を選択して、
該選択された変更方式により上記キー保持手段に保持さ
れている暗号キーを変更するためのキー変更手段とより
成る暗号処理装置。 2 上記変換手段は、上記1セグメントのデータ及び暗
号キーを論理的に組合わせるための論理手段と、該論理
手段からの出力に互換操作を施して上記データ保持手段
へ戻すための互換手段とを有する特許請求の範囲第1項
記載の暗号処理装置。 3 上記互換手段は、上記論理手段からの出力を上記デ
ータ保持手段におけるデータ保持順序とは逆の順序で保
持するためのバッファ・レジスタと、該バッファ・レジ
スタの内容を上記逆の順序のままで上記データ保持手段
へ戻すための手段とを有する特許請求の範囲第2項記載
の暗号処理装着。 4 上記キー保持手段は、上記暗号キーを半分ずつ保持
スるための第ルジスタ及び第2レジスタと、該第ルジス
タ又は該第2レジスタの内容を二重に保持するための第
3レジスタ及び第4レジスタとを有する特許請求の範囲
第1項、第2項又は第3項記載の暗号処理装置。 5 上記キー変更手段は、上記1セグメントのデータ及
び暗号キーに応答して、特定の変更方式を選択するため
の変更方式制御回路と、該回路の出力に応答して上記第
3レジスタ及び第4レジスタの内容を加算するための加
算器と、上記回路の出力に応答して上記第3レジスタの
内容を所定数のビット位置だけ循環シフトするための手
段とを有する特許請求の範囲第4項記載の暗号処理装置
。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19762658065 DE2658065A1 (de) | 1976-12-22 | 1976-12-22 | Maschinelles chiffrieren und dechiffrieren |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5394844A JPS5394844A (en) | 1978-08-19 |
JPS5832380B2 true JPS5832380B2 (ja) | 1983-07-12 |
Family
ID=5996199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52147314A Expired JPS5832380B2 (ja) | 1976-12-22 | 1977-12-09 | 暗号処理装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US4157454A (ja) |
JP (1) | JPS5832380B2 (ja) |
CA (1) | CA1101509A (ja) |
DE (1) | DE2658065A1 (ja) |
FR (1) | FR2375679A1 (ja) |
GB (1) | GB1577539A (ja) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4249180A (en) * | 1978-09-20 | 1981-02-03 | Northern Telecom Limited | Past dependent microcomputer cipher apparatus |
US4301327A (en) * | 1979-06-05 | 1981-11-17 | Lee Lin Nan | Reduction of message redundancy by multiple substitution: a message preprocessing scheme for secure communications |
US4319079A (en) * | 1979-09-13 | 1982-03-09 | Best Robert M | Crypto microprocessor using block cipher |
DE2943726C2 (de) * | 1979-10-30 | 1984-06-07 | ANT Nachrichtentechnik GmbH, 7150 Backnang | Verfahren und Einrichtung zur Ver- und Entschlüsselung von Daten |
US4418275A (en) * | 1979-12-07 | 1983-11-29 | Ncr Corporation | Data hashing method and apparatus |
EP0035048B1 (en) * | 1980-03-04 | 1985-03-06 | International Business Machines Corporation | Cipher system using a variant key matrix |
US4506325A (en) * | 1980-03-24 | 1985-03-19 | Sperry Corporation | Reflexive utilization of descriptors to reconstitute computer instructions which are Huffman-like encoded |
US4447672A (en) * | 1980-10-06 | 1984-05-08 | Nippon Electric Co., Ltd. | Device for encrypting each input data bit by at least one keying bit decided by a code pattern and a bit pattern of a predetermined number of preceding encrypted bits |
US4503287A (en) * | 1981-11-23 | 1985-03-05 | Analytics, Inc. | Two-tiered communication security employing asymmetric session keys |
US4649510A (en) * | 1982-04-30 | 1987-03-10 | Schmidt Walter E | Methods and apparatus for the protection and control of computer programs |
JPS5960464A (ja) * | 1982-09-30 | 1984-04-06 | 株式会社東芝 | プログラムの暗号化方式 |
US5007018A (en) * | 1983-11-10 | 1991-04-09 | General Signal Corp. | Vital processor implemented with non-vital hardware |
US4803725A (en) * | 1985-03-11 | 1989-02-07 | General Instrument Corp. | Cryptographic system using interchangeable key blocks and selectable key fragments |
FR2582174B1 (fr) * | 1985-05-15 | 1990-03-09 | Thomson Csf | Dispositif de chiffrement par substitutions-permutations |
US4802217A (en) * | 1985-06-07 | 1989-01-31 | Siemens Corporate Research & Support, Inc. | Method and apparatus for securing access to a computer facility |
US4815130A (en) * | 1986-10-03 | 1989-03-21 | Communications Satellite Corporation | Stream cipher system with feedback |
NL8602847A (nl) * | 1986-11-11 | 1988-06-01 | Philips Nv | Werkwijze voor het vercijferen/ontcijferen en inrichting voor het uitvoeren van de werkwijze. |
US5003596A (en) * | 1989-08-17 | 1991-03-26 | Cryptech, Inc. | Method of cryptographically transforming electronic digital data from one form to another |
US5267241A (en) * | 1990-04-04 | 1993-11-30 | Avasem Corporation | Error correction code dynamic range control system |
US5058164A (en) * | 1990-05-03 | 1991-10-15 | National Semiconductor Corp. | Encryption of streams of addressed information to be used for program code protection |
DE4016203A1 (de) * | 1990-05-19 | 1991-11-21 | Rolf Prof Dr Trautner | Verfahren zur blockweisen chiffrierung von digitalen daten |
US5241597A (en) * | 1991-02-01 | 1993-08-31 | Motorola, Inc. | Method for recovering from encryption key variable loss |
US5159634A (en) * | 1991-09-13 | 1992-10-27 | At&T Bell Laboratories | Cryptosystem for cellular telephony |
US5172414A (en) * | 1991-09-13 | 1992-12-15 | At&T Bell Laboratories | Speech and control message encrypton in cellular radio |
US5204902A (en) * | 1991-09-13 | 1993-04-20 | At&T Bell Laboratories | Cellular telephony authentication arrangement |
DE69324077T2 (de) * | 1992-07-21 | 1999-11-18 | Matsushita Electric Industrial Co., Ltd. | Ver- und Entschlüsselungsvorrichtung |
US5473693A (en) * | 1993-12-21 | 1995-12-05 | Gi Corporation | Apparatus for avoiding complementarity in an encryption algorithm |
US5619575A (en) * | 1994-08-22 | 1997-04-08 | United Technologies Automotive, Inc. | Pseudorandom composition-based cryptographic authentication process |
US5550984A (en) * | 1994-12-07 | 1996-08-27 | Matsushita Electric Corporation Of America | Security system for preventing unauthorized communications between networks by translating communications received in ip protocol to non-ip protocol to remove address and routing services information |
JPH08179690A (ja) * | 1994-12-22 | 1996-07-12 | Nec Corp | プロダクト暗号装置 |
US5623549A (en) * | 1995-01-30 | 1997-04-22 | Ritter; Terry F. | Cipher mechanisms with fencing and balanced block mixing |
US5727062A (en) * | 1995-07-06 | 1998-03-10 | Ritter; Terry F. | Variable size block ciphers |
US5724427A (en) * | 1995-08-17 | 1998-03-03 | Lucent Technologies Inc. | Method and apparatus for autokey rotor encryption |
US5724428A (en) * | 1995-11-01 | 1998-03-03 | Rsa Data Security, Inc. | Block encryption algorithm with data-dependent rotations |
US5740249A (en) * | 1996-04-09 | 1998-04-14 | Kabushiki Kaisha Toshiba | Encryption apparatus and method capable of controlling encryption process in accordance with an internal state |
US6028939A (en) * | 1997-01-03 | 2000-02-22 | Redcreek Communications, Inc. | Data security system and method |
US5909494A (en) * | 1997-02-14 | 1999-06-01 | At&T Corp. | System and method for constructing a cryptographic pseudo random bit generator |
RU2103829C1 (ru) * | 1997-04-02 | 1998-01-27 | Государственное унитарное предприятие "Специализированный центр программных систем "Спектр" | Способ шифрования информации, представленной двоичным кодом |
JP3459074B2 (ja) * | 1997-04-14 | 2003-10-20 | ルーセント テクノロジーズ インコーポレーテッド | 無線電話メッセージのセキュリティを改善するためのルックアップテーブルへの秘密鍵の強化されたセキュリティ拡張の方法および装置 |
US6459792B2 (en) * | 1997-04-23 | 2002-10-01 | Matsushita Electric Industrial Co., Ltd. | Block cipher using key data merged with an intermediate block generated from a previous block |
CA2302784A1 (en) | 1997-09-17 | 1999-03-25 | Frank C. Luyster | Improved block cipher method |
US6219421B1 (en) * | 1997-10-24 | 2001-04-17 | Shaul O. Backal | Virtual matrix encryption (VME) and virtual key cryptographic method and apparatus |
US6185679B1 (en) * | 1998-02-23 | 2001-02-06 | International Business Machines Corporation | Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks |
US6185304B1 (en) * | 1998-02-23 | 2001-02-06 | International Business Machines Corporation | Method and apparatus for a symmetric block cipher using multiple stages |
US6570989B1 (en) * | 1998-04-27 | 2003-05-27 | Matsushita Electric Industrial Co., Ltd. | Cryptographic processing apparatus, cryptographic processing method, and storage medium storing cryptographic processing program for realizing high-speed cryptographic processing without impairing security |
JP3097655B2 (ja) * | 1998-05-11 | 2000-10-10 | 日本電気株式会社 | データ伝送方式 |
US6189095B1 (en) * | 1998-06-05 | 2001-02-13 | International Business Machines Corporation | Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks |
US6269163B1 (en) | 1998-06-15 | 2001-07-31 | Rsa Security Inc. | Enhanced block ciphers with data-dependent rotations |
JP4216475B2 (ja) * | 1998-07-02 | 2009-01-28 | クリプターグラフィー リサーチ インコーポレイテッド | 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス |
US6845159B1 (en) | 1998-10-07 | 2005-01-18 | Protego Information Ab | Processing method and apparatus for converting information from a first format into a second format |
EP0993143A1 (en) * | 1998-10-07 | 2000-04-12 | Lateca Computer Inc. N.V. | Processing method and apparatus for converting information from a first format into a second format |
JP3679936B2 (ja) * | 1998-11-27 | 2005-08-03 | 東芝ソリューション株式会社 | 暗復号装置及び記憶媒体 |
NL1011719C2 (nl) * | 1999-04-01 | 2000-10-03 | Koninkl Kpn Nv | Werkwijze voor het met toepassing van een functie en een sleutel vercijferen van een reeks symbolen. |
US7508945B1 (en) | 1999-05-18 | 2009-03-24 | Ferre Herrero Angel Jose | Self-corrector randomisation-encryption and method |
US6304657B1 (en) * | 1999-05-26 | 2001-10-16 | Matsushita Electric Industrial Co., Ltd. | Data encryption apparatus using odd number of shift-rotations and method |
US20020099746A1 (en) * | 1999-07-26 | 2002-07-25 | Tie Teck Sing | T-sequence apparatus and method for general deterministic polynomial-time primality testing and composite factoring |
EP1223707B1 (en) * | 1999-10-20 | 2005-12-28 | Fujitsu Limited | Variable length key encrypting system |
EP1107504B1 (en) * | 1999-12-02 | 2007-03-21 | International Business Machines Corporation | Method of updating encryption keys in a data communication system |
DE10062924A1 (de) * | 2000-12-16 | 2002-09-12 | Atmel Germany Gmbh | Kontaktloses Datenübertragungssystem |
DE10106736B4 (de) | 2001-02-14 | 2006-11-09 | Atmel Germany Gmbh | Verfahren zur Erkennung einer Weiterleitung bei einer bidirektionalen, kontaktlosen Datenübertragung |
JP2003023421A (ja) * | 2001-07-09 | 2003-01-24 | C4 Technology Inc | 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置 |
JP3730926B2 (ja) * | 2002-03-14 | 2006-01-05 | 京セラ株式会社 | ヘリカル型アンテナの設計方法 |
US7376235B2 (en) * | 2002-04-30 | 2008-05-20 | Microsoft Corporation | Methods and systems for frustrating statistical attacks by injecting pseudo data into a data system |
US8005212B2 (en) * | 2002-07-10 | 2011-08-23 | Infineon Technologies Ag | Device and method for performing a cryptoalgorithm |
EP1469632A1 (en) * | 2003-04-17 | 2004-10-20 | G-Mix Co., Ltd | Scrambling of digital information |
US20040208231A1 (en) * | 2003-04-17 | 2004-10-21 | G-Mix Co., Ltd. | Concealing process of digital information |
US20070028088A1 (en) * | 2005-08-01 | 2007-02-01 | Coskun Bayrak | Polymorphic encryption method and system |
IL174784A0 (en) * | 2006-04-04 | 2006-12-31 | Nds Ltd | Robust cipher design |
US8781117B2 (en) * | 2007-08-29 | 2014-07-15 | Red Hat, Inc. | Generating pseudo random bits from polynomials |
US8265272B2 (en) * | 2007-08-29 | 2012-09-11 | Red Hat, Inc. | Method and an apparatus to generate pseudo random bits for a cryptographic key |
US8416947B2 (en) | 2008-02-21 | 2013-04-09 | Red Hat, Inc. | Block cipher using multiplication over a finite field of even characteristic |
US7945049B2 (en) * | 2008-02-28 | 2011-05-17 | Red Hat, Inc. | Stream cipher using multiplication over a finite field of even characteristic |
US8560587B2 (en) * | 2008-05-22 | 2013-10-15 | Red Hat, Inc. | Non-linear mixing of pseudo-random number generator output |
US8588412B2 (en) | 2008-05-23 | 2013-11-19 | Red Hat, Inc. | Mechanism for generating pseudorandom number sequences |
US8358781B2 (en) * | 2008-11-30 | 2013-01-22 | Red Hat, Inc. | Nonlinear feedback mode for block ciphers |
US20140037088A1 (en) * | 2011-04-11 | 2014-02-06 | Nec Corporation | Cryptographic method, cryptographic device, and cryptographic program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH464287A (de) * | 1967-08-02 | 1968-10-31 | Europ Handelsges Anst | Verfahren zur Verschlüsselung in einen und/oder Entschlüsselung aus einem Geheimtext. |
US3958081A (en) * | 1975-02-24 | 1976-05-18 | International Business Machines Corporation | Block cipher system for data security |
US3962539A (en) * | 1975-02-24 | 1976-06-08 | International Business Machines Corporation | Product block cipher system for data security |
US4078152A (en) * | 1976-04-26 | 1978-03-07 | International Business Machines Corporation | Block-cipher cryptographic system with chaining |
US4074066A (en) * | 1976-04-26 | 1978-02-14 | International Business Machines Corporation | Message verification and transmission error detection by block chaining |
-
1976
- 1976-12-22 DE DE19762658065 patent/DE2658065A1/de not_active Withdrawn
-
1977
- 1977-10-25 GB GB44411/77A patent/GB1577539A/en not_active Expired
- 1977-11-03 CA CA290,123A patent/CA1101509A/en not_active Expired
- 1977-11-18 FR FR7735133A patent/FR2375679A1/fr active Granted
- 1977-12-09 JP JP52147314A patent/JPS5832380B2/ja not_active Expired
- 1977-12-19 US US05/862,251 patent/US4157454A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2375679A1 (fr) | 1978-07-21 |
FR2375679B1 (ja) | 1982-06-04 |
US4157454A (en) | 1979-06-05 |
CA1101509A (en) | 1981-05-19 |
DE2658065A1 (de) | 1978-07-06 |
JPS5394844A (en) | 1978-08-19 |
GB1577539A (en) | 1980-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5832380B2 (ja) | 暗号処理装置 | |
US5623548A (en) | Transformation pattern generating device and encryption function device | |
US6125182A (en) | Cryptographic engine using logic and base conversions | |
US4316055A (en) | Stream/block cipher crytographic system | |
EP0342832B1 (en) | Dynamic feedback arrangement scrambling technique keystream generator | |
US5381480A (en) | System for translating encrypted data | |
US5054067A (en) | Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator | |
US4386234A (en) | Cryptographic communication and file security using terminals | |
KR100297154B1 (ko) | 의사난수발생회로및이를채용한데이터통신시스템 | |
JP4094671B2 (ja) | スパイラル・スクランブル | |
US5995629A (en) | Encoding device | |
JP2002508851A (ja) | ブロック符号化方法を実行するための装置 | |
US6914984B2 (en) | Encryption apparatus using data encryption standard algorithm | |
EP1281254A4 (en) | CRYPTOGRAPHIC SYSTEM FOR DATA ENCRYPTION STANDARD | |
JPS6333749B2 (ja) | ||
US4133974A (en) | System for locally enciphering prime data | |
EP0719007A2 (en) | Small size product cipher apparatus | |
CA2193196A1 (en) | Pseudorandom number generator | |
JPH10240500A (ja) | 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム | |
US6931127B2 (en) | Encryption device using data encryption standard algorithm | |
SE435979B (sv) | Anordning for kryptering/dekryptering av digitala meddelanden | |
EP0619659A2 (en) | A shrinking generator for cryptosystems | |
EP0035048B1 (en) | Cipher system using a variant key matrix | |
JPS5843743B2 (ja) | 暗号化方式 | |
JP2003500681A (ja) | 暗号テキストの分散性を高めるためにデータアレイに基数変換、論理演算及び疑似乱数ジェネレータを用いる暗号化エンジン |