JPS5936463B2 - 暗号装置 - Google Patents

暗号装置

Info

Publication number
JPS5936463B2
JPS5936463B2 JP51016097A JP1609776A JPS5936463B2 JP S5936463 B2 JPS5936463 B2 JP S5936463B2 JP 51016097 A JP51016097 A JP 51016097A JP 1609776 A JP1609776 A JP 1609776A JP S5936463 B2 JPS5936463 B2 JP S5936463B2
Authority
JP
Japan
Prior art keywords
bits
bit
cryptographic
cryptographic key
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.)
Expired
Application number
JP51016097A
Other languages
English (en)
Other versions
JPS51108702A (ja
Inventor
ウイリアム・エフ・エイルサム
ウオルター・エル・タツチマン
カール・エイチ・ダブリユー・メイヤー
ジヨン・エル・スミス
ポール・エヌ・プレンテイス
ロバート・エル・パワーズ
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 JPS51108702A publication Critical patent/JPS51108702A/ja
Publication of JPS5936463B2 publication Critical patent/JPS5936463B2/ja
Expired 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Description

【発明の詳細な説明】 本発明は、データ処理環境のもとで利用される暗号装置
に関するものであり、更に具体的には、データの機密保
護及びフライパン一を確立するために、デイジタル・デ
ータを暗号化したり解読したりするのに使用され得る積
プロツク暗号プロセスを遂行するための暗号装置に関す
るものである。
コンピユータ・システム・ネツトワークにおける遠隔通
信の利用、端末即ち入出力装置と制御装置との間の非常
に長いケーブル接続の使用、及び記憶媒体の移動可能性
が各々増大するにつれて、データの物理的な保護が一般
に保証され得なくなつてきたために、データの傍受又は
変更に対する関心が高まつてきた。暗号方式は、データ
の伝送媒体よりもむしろデータ自身を保護するという点
において、データの機密性及びフライパン一の保護を達
成するための1つの手段として認められている。これま
でにも、データ通信の機密保護及びフライパン一の維持
を目的として、メツセージを暗号化するため種々のシス
テムが関発されている。
このようなシステムの1つに、プロツク全体が所定の暗
号キーに従つて代替(Substitute)されるよ
うなプロツク暗号システムがある。代替されたメツセー
ジは、暗号キーを知らなければ理解され得ない暗号テキ
ストになる。所定の暗号キーに従つて処理が行なわれる
代替技術(SubstitutiOntechniqu
e)の利点は、この暗号キーを逆に応用することによつ
て解読操作を簡単に実行できることにある。代替技術の
設計及び原理に関する更に詳しい説明は、例えば194
9年10月に発行されたBellSystemTech
nicalJOurnal,第28巻、第656〜71
5頁に掲載されているC.E.ShannOnによるゞ
ゞCOmmunicatiOnTheOryOfSec
recySystems5′と題する論文及び1973
年5月に発行されたScientificAmeric
an,第228巻、第5号、第15〜23頁に記載され
ているH.Feistelによる゛ゞCryptOgr
aphyandCOmputerPrivacy′2と
題する論文に見出される。これら2つの論文には、2以
上の暗号が、例えば非線形代替及びこれに続く線形変換
といつた連続的な段階によつて、連続的に組合わされる
ような積暗号システムについての詳しい説明がなされて
いる。データ処理システム内でのデータの機密保護及び
フライパン一を改善するため、種々の積暗号システムが
開発されてきた。
例えば米国特許第3798359号明細書には、非暗号
テキスト・メツセージ(暗号化されていないメツセージ
)の線形変換及び非線形変換を組合わせる積暗号システ
ムが開示されている。ここでいう線形変換とは、各入カ
ビツトとそれに対応する出力ビツトとの間の関係が一定
であるような変換、例えばi番目の入カビツトがそのま
まj番目の出力ビツト(1〆jでもよい)となるような
変換を意味し、非線形変換とはそれ以外の変換を意味す
る。積暗号(プロダクト・サイフア)あるいは積プロツ
ク暗号における「積」は線形変換及び非線形変換の組合
わせによる暗号であることを表わしている。これらの変
換は、一意的な暗号キーを用いて行なわれ、このキーの
関数になつている。暗号キーは、変換を制御することの
他に、暗号システム内で種々のレジスタ代替及び部分的
に暗号化されたデータのモジユロ2加算の制御も行なう
。しかしながら、上記米国特許明細書には、キー経路指
定器によるモジユロ2加算器への暗号キー・ビツトの正
確なマツピングの詳細や、代替機能ボツクス内で実行さ
れる特別の非線形変換又は分散器(Diffuser)
によつて実行される特別の置換(PermutatiO
n)の詳細(これらはすべて暗号処理操作の質に重大な
影響を及ぼすものである)については、何ら開示されて
いない。暗号キーは、幾つかの小さなグループに分けら
れ、各グループに含まれる暗号キー・ビツトは、暗号処
理操作が繰返される度にシフトされる。各グループに含
まれる暗号キー・ビツトの数が比較的少ないため、各暗
号キー・ビツトグループの及ぼす効果は、暗号処理操作
の限られた部分に限定される。これもまた、暗号処理操
作の質に影響を及ぼすものである。更にこのシステムで
は、暗号キー・ビツトのみの関数として選択された2種
類の代替機能ボツクスだけが使用されているが、これも
同様に暗号処理操作の質に影響を及ぼすものである。上
記のシステムに関連して、米国特許第3796830号
明細書には、非暗号テキストのプロツクがセグメント単
位で処理されるような積暗号システムが開示されている
各セグメントは、暗号キーの一部に従つて、逐次に変換
される。し力化ながら、このシステムはその性質におい
て直列式であるためにスループツト速度が遅く、またも
しこれを並列式に変更しようとすれば、そのハードウエ
アはかなり複雑になる。更に、前述のシステムと同様に
、このシステムもまた同じような2種類の代替機能ボツ
クスのみに限定される。本発明に従えば、任意に選ばれ
た暗号キーの制御のもとに、64ビツトのメツセージ・
プロツクを暗号化又は解読し得る暗号装置が提供される
この暗号装置は、16回の繰返し操作を連続的に実行す
ることによつて暗号化プロセスを遂行する。まず、32
個のデータ・ビツト(各々が4データ・ビツトより成る
8個のセグメントを構成するものと考えられる)から成
るメツセージ・プロツクの第1半分が、各々6データ・
ビツトを有する8個のセグメントを構成する48個のデ
ータ・ビツトへ拡張される。このようなデータ・ビツト
の拡張は、8個の4ビツトセグメントの各々のエンド・
データ・ビツト、例えば最初の2ビツトを二重にするこ
とによつて達成される。8個の6ビツト・セグメントと
みなされる拡張された48個のデータ・ビツトは、任意
に決められた置換に従つて選択された、8個の6ビツト
・セグメントとみなされる48個の暗号キー・ビツトと
モジユロ2加算の演算を行なうモジユロ2加算の結果の
8個の6ビツト・セグメントは、8種類の非アフイン変
換のための実際の引数を構成する。
各変換操作においては、MSD例の6ビツト・セグメン
トの二重にされたMSD例エンド・ビツト及び置換され
た暗号キー・ビツトのモジユロ2加算と、6ビツト・セ
グメントの二重にされたLSD側エンド・ビツト及び別
の置換された暗号キー・ビツトのモジユロ2加算との結
果として生じた6ビツト・セグメントの2個のエンド・
ビツト(両端のビツト)が解読されて、各々16個のエ
ントリ一を有する4個の機能テーブルのうちの1つが選
択される。各エントリ一は4ビツトから成つている。次
に、この6ビツトセグメントの残り4個のビツトを解読
することにより、選択された機能テーブルの16個の4
ビツト・エントリ一のうちの1つが選択される。各セグ
メントに対する変換操作に寄与する機能テーブルは互い
に異なつており、従つて、8種類の異つた変換操作が行
なわれて、32ビツトの代替セツトを規定する8個の4
ビツトセグメントが生じる。なお、本明細書において、
「代替」とは或るビツト・プロツクが別のビツト・プロ
ツクへ代えられることを意味し、[置換」とは或るビツ
トプロツク内においてビツトの順序が変更されることを
意味する。次に、この32ビツトの代替セツトは、任意
に決められた置換による線形変換を受ける。このような
非線形変換及び線形変換の組合わせにより、メツセージ
・プロツクの32ビツトの第1半分の積プロツク暗号が
生成される。次に、メツセージ・プロツクの32ビ)ン
トの第2半分が、第1半分の32ビツトの積プロツク暗
号とのモジユロ2加算により変更される。
この32ビツトの変更された第2半分は、次の繰返し操
作に対する準備のために、メツセージ・プロツクの第1
半分と互換される。この互換は、例えばメツセージ・プ
ロツクの第1半分を記憶していたレジスタへ変更された
第2半分をロードし、これと同時に、メツセージ・プロ
ツクの第2半分を記憶していた別のレジスタへ第1半分
をロードすることによつて達成される。次の繰返し操作
においては、まず所定のシフト計画に従つて暗号キーが
シフトされ、これにより新しい一組の暗号キー・ビツト
が得られる。メツセージ・プロツクの32ビツトの変更
された第2半分は、メツセージ・プロツクの第1半分を
変更するために、同様な積プロツク暗号処理操作におい
て、新しい一組の暗号キー・ビツトと共に使用される。
後続の繰返し操作においても、同様にしてメツセージ・
プロツクの各半分が交互に再変更され、この間暗号キー
・ビツトは、新しい暗号キー・ビツトの組を与えるため
に、シフト計画に従つて所定の量だけ選択的にシフトさ
れる。上述の積プロツク暗号処理操作は、暗号関数及び
キー・スケジユール関数によつて規定され得る積プロツ
ク暗号処理アルゴリズムに従つて、16回繰返して実行
される暗号化プロセスに使用され得る。
かくして、暗号化プロセスにおいて、もし64ビツトの
入カメツセージ・プロツクが32ビツトの1プロツクL
及び32ビツトの1プロツクRから成つていると、この
入カメツセージ・プロツクは項LRで表わされる。また
、もし暗号キー・ビツトのブロツクが暗号キーKEYか
ら選ばれるならば、このプロツクは項Kで表わされる。
従つて、最後のものを除くすべての繰返しについては、
入力がLRの時の出力は項L′Wで表わされる。これは
、次のように定義され得る。上式において、1はビツト
毎のモジユロ2加算(排他的オア)を表わし、各繰返し
操作の前に、暗号キーKEYから暗号キー・ビツトの異
なつたプロツクKが選ばれる。
最後の繰返しを除く各繰返し後に出力が互換(Tran
spOse)されるので、入力が−LRの最後の繰返し
における出力は、次式で定義され得る項L′R7で表わ
される。更に、もしキー・スケジユールKSが1から1
6までの範囲にある整数n及び暗号キーKEYの関数と
して定義されるならば、暗号キーKEYからの暗号キー
・ビツトの置換された選択は、次式で定義される項Kn
によつて表わすことができる。
かくして、Ln−1及びRn−1が各々L及びRの時に
、もしL。
及びR。が各々L及びRであり且つLn及びRnが各々
L′及びwであれば、nが1から15までの範囲にある
場合の繰返し操作の出力は次式で定義され得る。nが1
6の時の最後の繰返し操作の出力は次式で定義され得る
暗号化プロセスにおいては、K1が最初の繰返しで使用
され、K2が2回目の繰返しで使用され、以下同様にし
て、最後の16回目の繰返しではK,6が使用される。
暗号化操作における繰返しの様子が第8図に示されてい
る。暗号関数f(R,K)は、選択関数と呼ばれる原始
関数及び置換関数によつて定義され得る。
かくして、もし32ビツトのプロツクRが48ビツトの
プロツクへ拡張されるならば、拡張されたプロツクは項
E(R)で表わされる。この拡張されたプロツクE(R
)は、任意に決められた置換に従つて選択された暗号キ
ー・ビツトのプロツクKとモジユロ2加算で組合わされ
、8個の6ビツトセグメントBl,B2・・・・・・B
8が生成される。これらのセグメントは、8種類の異な
つた選択関数Sl,S2,・・・・・・S8に対する引
数を構成する。従つて、モジユロ2加算は次のように定
義され得るo各選択関数Siは、6ビツトセグメントB
iを4ビツト・セグメントへ変換し、このため8個の異
なつた選択関数はS1(B1),S2(B2),S3(
B3),S4(B4),S5(B5),S6(B6),
S7(B7)及びS8(B8)として定義され得る。
次に、8個の選択関数の8個の4ビツト・セグメント出
力は、32ビツトの単一プロツクへ統合される。この3
2ビツト・プロツクは、置換関数Pによつて、次のよう
に表わされる新しい32ビツトのプロツクへ交換される
。これが暗号関数f(R,K)を表わす。64ビツトの
暗号化されたメツセージ・プロツクを同じ暗号キーの制
御のもとに解読するための操作は、同様な16回の繰返
しによつて遂行されるが、この間暗号キーは、暗号化プ
ロセスの時とは反対の方向に、所定のシフト計画に従つ
て1又は2ビツト位置ずつシフトされる。
これは、解読繰返し操作の間における暗号キー・ビツト
の適切な整列を確実に行なわせるものであり、これによ
り、暗号化操作で実行されたすべての繰返しが元に戻さ
れて、元のメツセージ・プロツクと同一の64ビツトの
メツセージ・プロツクが再生される。積プロツク暗号処
理アルゴリズムに従つて、16回の連続的な繰返し操作
によつて実行される上述の解読操作も、暗号関数及びキ
ー・スケジユール関数を用いて規定することができる。
かくして、もし暗号化された64ビツトの入カメツセー
ジ・プロツクが、32ビツトの1プロツクL′及び32
ビツトの1プロツクkから成つていると、この暗号化さ
れた入カメツセージ・プロツクは項L/R′で表わされ
る。従つて、入力がL′Wの最初の繰返しにおける出力
は、互換された後で項LRで表わされ得る。これは、次
のように定義することができる。この場合、各繰返し後
に暗号キーKEYから選ばれる暗号キー・ビツトの異な
つたプロツクKは、暗号化操作の時に選ばれた順序とは
反対の順序で選ばれる。
最初の繰返し後は、後続の各繰返しは最後のものを除い
て互換さね従つて入力がL′Wの後続の各繰返しにおけ
る出力は、次の式で定義される項LRによつて表わすこ
とができる。かくして、もしLn及びRnが各々L及び
Rであり且つLn−1及びRn−1が各々L′及びR′
であれば、nが16に等しい時の最初の繰返しの出力は
次のように表わすことができる。
最後の繰返しを除く各繰返し後に出力が互換されるので
、nが15から1までの範囲にある場合の後続の各繰返
しの出力は次式で定義され得る。
解読操作においては、最初の繰返しにK,6が使用され
、2回目の繰返しにK,5が使用され、以下同様にして
、16回目の繰返しではK1が使用される。解読操作の
繰返しの様子が第8図に示されている。データ処理環境
においては、送信局側で暗号化プロセスが遂行される。
この場合、まず置換された暗号キーを用いた非線形代替
及び線形置換でメツセージ・プロツクの第1半分を変更
することにより、この第1半分の積プロツク暗号が生成
され、次いでこの積プロツク暗号を用いて、メツセージ
・ブロツクの第2半分が変更される。メツセージ・プロ
ツクの変更された第2半分及び元の第1半分は、変更さ
れた第2半分が積プロツク暗号処理操作の繰返しに対す
る引数として働くように、互換される。この繰返しは、
所定のシフト計画に従つてシフトされた後に置換された
暗号キーの制御のもとに行なわれ、これによりメツセー
ジ・プロツクの第1半分が変更される。積プロツク暗号
処理操作は16回繰返して実行され、各々の積プロツク
暗号処理操作の結果は、次の繰返しに対する引数として
働くが、最後の繰返しの終了時には、この結果は元のメ
ツセージ・プロツクの暗号化された形を構成する。受信
局では、同じ暗号キーの制御のもとに、前述の如き解読
操作が遂行され、元のメツセージ・プロツクが再生され
る。従つて、本発明の目的は、データ処理環境内部にお
いてデータの機密保護を達成し得る暗号システムを提供
するにある。
本発明の他の目的は、所定のシフト計画に従つてシフト
される暗号キーの制御のもとに、データのメツセージ・
プロツクに対して暗号処理(暗号化又は解読)を行なう
暗号システムを提供するにある。
本発明の他の目的は、データのメツセージ・プロツクの
暗号処理が、積プロツク暗号処理操作の所定回数の繰返
しによつて実行され、各繰返しの結果が次の繰返しに対
する引数として働くような暗号システムを提供するにあ
る。
本発明の他の目的は、各々の繰返しの間に所定のシフト
計画に従つて所定の方向にシフトされる暗号キーの制御
のもとに上述の如き繰返し操作を実行する暗号システム
を提供するにある。
本発明の他の目的は、暗号化操作の各々の繰返しにおい
て、各々異なつた暗号キーが使用されるように所定のシ
フト計画に従つて所定の方向にシフトされる暗号キーの
制御のもとに、積プロツク暗号処理操作の所定回数の繰
返しによつて、データのメツセージ・プロツクが暗号化
されるような暗号化システムを提供するにある。
本発明の他の目的は、所定のシフト計画に従つて暗号化
の時とは反対の方向にシフトされる暗号キーの制衝のも
とに、積プロツク暗号処理操作を所定回数繰返すことに
よつて、暗号化されたデータのメツセージ・プロツクが
解読されるような解読システムを提供するにある。
前にも触れたように、データ処理ネツトワークの内部に
おいては、データの傍受又は変更や、記憶媒体の物理的
な取外しに対して、ネツトワークを物理的に保護するこ
とは極めて困難である。
この問題は、データが通信線を介して処理装置と遠隔制
御ユニツト叉は遠隔端末との間でやりとりされる場合、
非常に長いケーブル接続を介して制御ユニツトと端末即
ち入出力装置との間でやりとりされる場合、又は移動可
能な記憶媒体が設置されている場合において最も顕著に
生じる。このような状況のもとでデータの機密保護を達
成し、フライパン一を守るための1つの手段として、ネ
ツトワーク内の重要な場所に暗号装置が設置される。送
信局においては、暗号化モードで動作する暗号装置によ
つて非暗号データが暗号化された後、この被暗号化デー
タが受信局の方へ伝送される。受信局側では、解読モー
ドで動作する暗号装置を用いて、伝送されてきた被暗号
化データを解読することにより、元の非暗号データが得
られる。受信局及び送信局の役割が反対になつた時、即
ち今まで受信局として働いていたところが送信局になり
且つ送信局として働いていたところが受信局になつた時
には、各々の局に設置されている暗号装置も同様に今ま
でとは反対のモードで動作される。第1図は、代表的な
データ処理ネツトワークにおける暗号装置の設置場所を
例示したものである。第1図の例では、暗号装置は黒い
丸印の部分に設置されている。第2図は、8バイトから
成る64ビツトのデータ・ワードDW即ちデータ・メツ
セージ・プロツクを暗号化又は解読するための暗号装置
を示したものである。
図において、太い実線の途中にある丸印で囲まれた数字
は、各々の母線を介して送られるビツトの数を表わして
いる。各バイトは8個のデータ・ビツトを含んでいる。
メツセージ・プロツクのデータ・バイトは、データ・バ
ス・インを介して一時に1つずつ逐次に暗号装置へ印加
され、従つて、64ビツトのメツセージ・プロツクを完
全に転送するには、8サイクルを必要とする。暗号装置
に受信された各バイトは、通常の交差配線ボツクス50
(以下、Pボツタスという)によつて実行される初期線
形置換(ビツト順序の変更)を受ける。次いて、各々の
置換されたデータ・バイトは2つに分割されて、偶数番
目のビツト0,2,4及び6が上部入カバツフア(以下
、UlBと略す)100に印加され、奇数番目のビツト
1,3,5及び7が下部入カバツフア(以下、LlBと
略す)150に印加される。UIBlOO及びLIBl
5Oは、直列一並列変換を実行し、従つて、メツセージ
・プロツクの8バイトが受信された後に、UIBlOO
はメツセージ・プロツクの第1半分の32ビツトを上部
データ・レジスタ(UDR)200へ並列に供給し、一
方LIBl5Oはメツセージ・プロツクの残り32ビツ
トを下部データ・レジスタ(LDR)250へ供給する
。64ビツトのメツセージ・プロツクが受信されて、U
IBlOO及びLIBl5Oへバツフアされている時に
、各々が7個のキー・ビツト及び1個のパリテイ・ビツ
トを含む8個のキー・バイトを供給する64ビツトの外
部レジスタから暗号キーが入力される。
この暗号キーの各暗号キー・バイトは、8番目のビツト
即ちパリテイ・ビツトを除いて、一時に7ビツトバイト
ずつキー・バス・インを介して暗号装置へ印加される。
この場合も、暗号キーを完全に転送するには、8サイク
ルを必要とする。上述のメツセージ・プロツクと同様に
、暗号装置に受取られた各暗号キー・バイトもPポツク
ス300による初期置換を受け、この後、暗号キーの各
々の置換されたバイトは2つに分割されて、各7ビツト
バイトの最初の4ビツトが上部キー・レジスタ(UKR
)350へ印加され、残りの3ビツトが下部キー・レジ
スタ(LKR)400へ印加される。UKR35O及び
LKR4OOは各々28個の段を含み、UKR35Oの
最後段がLKR4OOの25番目の段に接続されている
。UKR35O及びLKR4OOは共に直列一並列変換
を行ない、8個の7ビツト・バイト(各々が8ビツトを
含む7個のグループと考えられる)が逐次に受取られて
いる間に、これら7グループのうちUKR35Oの段0
,8及び16へ各々逐次に受取られた8ビツトより成る
3グループと、LKR4OOの段0,8及び16へ各々
逐次に受取られた8ビツトより成る3グループとが、各
々3個の並列8ビツト・グループへ変換される。これら
2つの3グループは、UKR35O及びLKR4OOに
おける24ビツトの2つの並列グループとみなされ得る
。7個の8ビツトグループの残りのグループは、UKR
35Oの段24へ逐次に受取られる。
UKR35Oの最後の段とLKR4OOの段24とが接
続されているので、UKR35Oへ逐次に受取られた残
りの8ピットクリープの最初の4ビツトは、LKR4O
Oへ送られて、その最後の4段において4ビツトの並列
部分グループへ変換され、次の4ビツトはUKR35O
の最後の4段において4ビツトの並列部分グループへ変
換される。かくして、UKR35O及びLKR4OOは
、各々が28ビツトの2個の並列クリープとみなされる
暗号キーを含む。この時点においては、メツセージ・プ
ロツクの第1半分及び第2半分が各々UDR2OO及び
LDR25Oへ転送され、そしてUKR35O及びLK
R4OOには暗号キーがロードされているが、一旦UK
R35O及びLKR4OOへロードされると、これら2
つのレジスタ間の接続はこれ以上使用されず、UKR3
5O及びLKR4OOは、各々28ビツトの独立したシ
フト・レジスタとして動作する。暗号化プロセスにおい
ては、UKR35O及びLKR4OOの暗号キー内容が
1ビツト位置だけ事前シフトされた後に、16回の繰返
し操作が連続的に実行される。暗号化プロセスの繰返し
操作(最初のものを除く)の間に、UKR35O及びL
KR4OOの暗号キー内容は1又は2ビツト位置だけシ
フトされる。各レジスタは所定のシフト計画に従つて、
暗号化プロセスの間に常に28ビツト位置シフトされる
ので、この手順は暗号キー・ビツトの適切な整列を確実
に行なわせるものである。暗号化操作の最初の繰返しに
おいては、UDR2OOに含まれるメツセージ・プロツ
クの第1半分(32個のデータ・ビツトを含み、これら
は各々4個のデータ・ビツトより成る8個のセグメント
とみなされる)は、各々6個のデータ・ビツトを含む8
個のセグメントを構成する48個のデータ・ビツトへ拡
張される。
「この拡張は、8個の4ビツトセグメントの各々のエン
ド・ビツトを二重にすることによつて達成される。」拡
張された48個のデータ・ビツト(8個の6ビツトセグ
メントを構成するものと考えられる)は、8個のモジユ
ロ2加算器500〜514へ並列に印加される。各モジ
ユロ2加算器は6個の排他的オア回路より成つている。
これと同時に、56個の暗号キー・ビツトのうち、UK
R35Oから選択された24個のキー・ビツト及びLK
R4OOから選択された24個のキー・ビツトより成る
48個の所定の暗号キー・ビツトは、Pボツクス450
において線形置換(一定)された後、8個の6暗号キー
・ビツト・セグメントとして、8個のモジユロ2加算器
500〜514の排他的オア回路へ並列に印加される。
8個のモジユロ2加算器500〜514は、8個の6ビ
ツト・セグメントを構成するものと考えられる拡張され
た48個のデータ・ビツトと、同じく8個の6ビツト・
セグメントを構成するものと考えられる置換された48
個の暗号キー・ビツトとを並列的に組合わせて、8個の
非アフイン変換機能ボツクス(以下、Sボツクスという
)550〜564のための実際の引数を構成する8個の
6ビツト・セグメントを出力する。
各Sボツクスは非線形変換を実行する。各Sボツクスに
おいては、先行の6ビツトデータ・セグメントの二重に
された1エンド・ビツト及び置換された1暗号キー・ビ
ツトのモジユロ2加算と、後続の6ビツト・データ・セ
グメントの二重にされた1エンド・ビツト及び別の置換
された1暗号キー・ビツトのモジユロ2加算との結果と
して生じた6ビツト・セグメントの2エンド・ビツトが
解続されて、Sボツクス内の読取専用記憶装置(ROS
)に含まれる4個の16エントリ一機能テーブルのうち
の1つが選択される。各エントリ一は4ビツトから成つ
ている。次に、選択された機能テーブルにおける16個
の4ビツト・エントリ一のうちの1つが、供給された6
ビツト・セグメントの残り4ビツトを解読することによ
り選択される。8個のSボツクスは互いに異なつており
、従つて8種類の異なつた変換機能が実行されて、32
ビツトより成る1組の代替を規定する8個の4ビツト・
セグメントが与えられる。
次いで、これらの32ビツトはPボツクス600におい
て、任意に決められた置換による線形変換を受ける。こ
のような非線形変換及び線形変換の組合わせにより、メ
ツセージ・プロツクの第1半分に対する32ビツトの積
プロツク暗号が生成される。この積プロツク暗号は、モ
ジユロ2加算器650〜664へ印加される。LDR2
5Oにあるメツセージ・プロツクの第2半分の32デー
タ・ビツトもモジユロ2加算器650〜664へ印加さ
れる。モジユロ2加算器650〜664は、メツセージ
・プロツクの第1半分に対するPボツクス600からの
32ビツトの積プロツク暗号に従つて、LDR25Oか
らのメツセージ・プロツクの残り32ビツトを変更する
。この結果、メツセージ・プロツクの変更された第2半
分を表わす新しい32ビツトの組を構成する8個の4ビ
ツトグループが与えられる。メツセージ・プロツクの変
更された第2半分の32ビツトは、メツセージ・プロツ
クの第1半分を含んでいたUDR2OOへ印加され、こ
れと同時に、メツセージ・プロツクの第1半分は、第2
半分を含んでいたLDR25Oへ印加される。かくする
ことにより、メツセージ・プロツクの第1半分及び第2
半分の互換が達成される。暗号化プロセスの次の繰返し
時においては、UKR35O及びLKR4OOに記憶さ
れている暗号キーが、所定のシフト計画に従つてシフト
され、これにより新しい暗号キー・ビツトの組が供給さ
れる。次に、UDR2OOに記憶されているメツセージ
・プロツクの変更された第2半分の32ビツトが、同様
な積プロツク暗号操作において、新しい暗号キー・ビツ
トの組と共に使用される。モジユロ2加算器650〜6
64は、この積プロツク暗号処理の結果に応じて、LD
R25Oに記憶されているメツセージ・プロツクの第1
半分の32ビツトを変更する。この変更された第1半分
の32ビツトは、メツセージ・プロツクの変更された第
2半分の32ビツトを記憶していたUDR2OOへ印加
され、これと同時に、変更された第2半分の32ビツト
は、メツセージ・プロツクの第1半分の32ビツトを記
憶していたLDR25Oへ転送される。最後の繰返しを
除く後続の各繰返し操作時においては、UKR35O及
びLKR4OOにある暗号キー・ビツトは、所定のシフ
ト計画に従つてシフトされ、LDR25Oに記憶されて
いるメツセージ・プロツクの変更された半分(32ビツ
ト)は、UDR2OOに記憶されているメツセージ・プ
ロツクの前に変更された半分の32ビツトの積プロツク
暗号に従つて再変更され、そしてモジユロ2加算器65
0〜664からの再変更された半分は、前に変更された
他方の半分を記憶していたUDR2OOへ印加され、こ
れと同時に、この他方の半分はLDR25Oへ転送され
て、メツセージ・プロツクの第1半分及び第2半分の互
換が行なわれる。
最後の繰返し操作時には、UKR35O及びLKR4O
Oにある暗号キー・ビツトは、所定のシフト計画に従つ
て最終シフトされて、置換された最後の暗号キー・ビツ
トの組が生成され、LDR25Oに記憶されている32
ビツトの変更された半分に対する最後の再変更が、UD
R2OOに記憶されている前に変更された半分の32ビ
ツトの積プロツク暗号に従つて実行される。
しカルながら、モジユロ2加算器650〜664からの
再変更された半分及びUDR2OOに記憶されている前
に変更された半分は互いに交換されることはなく、元の
メツセージ・プロツクに対する64ビツトの暗号化され
たプロツクを構成する。16回目の繰返し後に、UDR
2OOの32ビツトの内容及びモジユロ2加算器650
〜664の32ビツトの出力(これらは一緒になつて、
暗号化されたデータ・メツセージ・プロツクを表わす)
は、上部出力バツフア(UOB)700及び下部出力バ
ツフア(LOB)750へ各々転送される。
次いで、UOB7OOに記憶されている暗号化された4
個の8ビツト・バイトのデータ及びLOB75Oに記憶
されている暗号化された4個の8ビツト・バイトのデー
タで構成される64ビツトの暗号化されたデータ・プロ
ツクは、8ビツトバイト単位の並列一直列交換を受け、
一時に1バイトずつPボツクス800へ送られる。64
ビツトの暗号化されたデータ・メツセージ・プロツクを
完全に転送し終るためには、8サイクルが必要である。
暗号化されたデータの各バイトは、受信局への伝送のた
めに、暗号化されたデータ・ビツトをデータ・バス・ア
ウトの適切なビツト線へ接続すべく、Pボツクス800
において最後の線形置換を受ける。受信局においては、
同じ暗号キーの制御のもとに同様な16回の繰返し操作
を実行することにより、64ビツトの暗号化されたデー
タ・メツセージ・プロツクが解読される。
しかしながら、暗号化プロセスの時とは異なり、解読プ
ロセスに先立つUKR35O及びLKR4OOの暗号キ
ー内容の事前シフトは行なわれない。解読プロセスの繰
返し操作(最初のものを除く)においては、UKR35
O及びLKR4OOの暗号キー内容は、暗号化プロセス
の時と同様に、所定のシフト計画に従つて、1又は2ビ
ツト位置だけシフトされるが、暗号化プロセスを逆にし
て、その時実行されたすべての繰返しを元に戻すため、
暗号キーのシフト方向は暗号化プロセスの時とは反対に
される。かくすることにより、元の64ビツトのメツセ
ージプロツクと同一のメツセージ・プロツクが再生され
る。また、解読プロセスの繰返し操作中に、UKR35
O及びLKR4OOの暗号キー内容は27ビツト位置シ
フトされる。従つて、UKR35O及びLKR4OOは
共に28ビツトのシフトレジスタであるから、解読プロ
セスの終りにおいて、UKR35O及びLKR4OOの
暗号キー内容は、更に1ビツト位置だけ事後シフトされ
る。この結果、暗号キーは所定のシフト計画に従つて、
UKR35O及びLKR4OOにおいて完全に1回転シ
フトされることになり、解読プロセスの各繰返し操作に
おける暗号キー・ビツトの適切な整列を確実に行なわせ
ると共に、別の解読プロセスに対する準備ができる。本
発明に従う暗号装置の詳細は第3a〜3j図に示されて
おり、次にこれらの図面並びに第7a図及び7b図のタ
イミング図を参照して、より詳細な説明を行なうが、そ
の前に、本発明の暗号装置で使用されるラツチ回路の具
体例について、第4図を参照して説明しておく。
ラツチ回路10は、4相のタイミング・クロツクで動作
されるダイナミツクFET回路によつて実現することが
できる。各クロツク相は、例えば250ナノ秒の持続時
間を有しており、この場合、完全な1クロツク・サイク
ルは1マイクロ秒になる。基本ラツチ回路は、正電源と
線28との間に接続され、ゲート電極に繰返しクロツク
信号φ1が印加される素子22と、線28及び29の間
に並列的に接続され、各々のゲート電極に入力D3及び
G3並びに入力D4及びG4が印加される2対の素子2
3及び24並びに25及び26と、線29及び接地間に
接続され、ないので、素子30はカツト・オフ状態に保
たれており、従つて線28の充電は確実に行なわれる。
次に、クロツク信号φ2が印加されると、線26上の電
荷は、入力D3及びG3又は入力D4及びG4へ印加さ
れる信号に応じて、そのまま保たれるか又は放電される
。ラツチ回路10はO状態にあるものと仮定しているの
で、入力D4には低レベルの信号が印加されて、素子2
5を非導通に保ち、また入力G4にも低レベルの信号が
印加されて、素子26を非導通に保つ。従つて、素子2
5,26及び30を介する放電路は働かない。素子23
及び24を含む放電路に関しては、もし入力D3に゛1
゛ビツト(高レベル信号)が印加され、且つこれと同時
に入力G3にゲート信号(高レベル信号)が印加される
と、素子23及び24は共に導通して、素子30を介す
る放電路を形成し、その結果、線28上の電荷は接地電
位の方へ放電される。これに対し、入力D3に゛0゛ビ
ツト(低レベル信号)が印加されていると、たとえ入力
G3にゲート信号が印加されても、クロツクφ2ゲート
電極に繰返しクロツク信号φ2が印加される素子30と
、正電源及び接地間に接続され、各々のゲート電極が繰
返しクロツク信号φ3、線28及び繰返しクロツク信号
φ4に接続された3個の直列接続素子32,33及び3
4とを有している。素子32及び33間の接続点は、ラ
ツチ回路10の出力線36へ接続されると共に、素子2
5のゲート電極へフイードバツク接続されて、入力D4
を与える。回路内の漂遊キヤパシタンス及び電極間キヤ
パシタンスは、一まとめにしてキヤパシタ31及び35
として示されている。素子23及び24並びに25及び
26はアンド回路として、線28はドツトオア手段とし
て、そして素子33はインバータとして各々働く。次に
、第5図をも参照して、第4図のラツチ回路10の動作
について説明する。
ラツチ回路10が最初゛0゛状態にあるものとすると、
クロツク信号φ1が印加されて、素子22がターン・オ
ンされた時には、線28は正電源の電位まで充電される
。この時、クロツク信号φ2は印加されていの間素子2
3は非導通に保たれるので、線28から素子24及び3
0を介して接地に至る放電路は働かず、従つて高レベル
の信号が線28上に保持される。次に、素子32のゲー
ト電極へクロツク信号φ3が印加されると、この時はま
だクロツク信号φ4が印加されていないので、素子34
は非導通に保たれており、従つて線36は正電源の電位
まで充電される。
次に、素子34のゲート電極へクロツク信号φ4が印加
されると、線36上の電荷は、線28上の信号のレベル
に応じてそのまま保持されるか又は放電される。もし線
28上に゛1゛ビツトのデータ入力を表わす低レベルの
信号が存在すると、クロツクφ4の間素子33は非導通
に保たれ、従つて線36から素子34を介して接地に至
る放電路は働かず、線36上にば1”ビツトの存在を表
わす高レベルの信号が保持される。入力D3に新しい入
力信号が印加されない限り、ゲート信号G3は低レベル
に且つゲート信号G4は高レベルに保たれるので、ラツ
チ回路10がゞゞ1″ビツト状態にセツトされた後は、
素子25及び26のゲートに高レベルの信号が印加され
、従つて次のφ2クロツク時に素子25,26及び30
を介する放電路が働いて、線28を低レベルに保つ。こ
れにより素子33は非導通に保たれるので、素子34を
介する放電路は働かず、かくして線36は、次の新しい
データ入力が印加されて、第5図に示されるようなゲー
ト信号G3及びG4が印加されるまで高レベルに保たれ
る。これに対して、ゞゞ0′2ビツトのデータ入力の結
果として、線28上に高レベルに信号が存在すると、ク
ロツクφ4の印加時に素子33が導通して、素子34を
介する放電路を形成し、その結果、線36上にば0゜゛
ビツトの存在を表わす低レベルの信号が保持される。こ
の場合、入力D4に低レベルの信号が印加されることに
なるので、素子25は非導通に保たれ、従つて線28に
対する放電路は形成されない。このため、線28上には
電荷即ち高レベルの信号が保持される。この状態はまた
素子33を導通状態に保ち、これにより素子34を介す
る放電路が維持されて、線36を低レベルに保つ。かく
して、ラツチ回路10の出力において有効データが確実
に得られる。ラツチ回路10が゛1”状態にある場合に
も、クロツク・サイクルは素子22へのクロツク信号φ
1の印加によつて開始される。
前と同様に、素子22はクロツクφ1の印加により導通
して、線28を正電源の電位まで充電させる。次に、ク
ロツク信号φ2が印加されると、線28上の電荷は、入
力D3及びG3又は入力D4及びG4に印加されている
信号のレベルに応じて、そのまま保持されるか又は放電
される。もし入力D3に゛1゛ビツトのデータが印加さ
れると、線28上には低レベルの信号が保持され、一方
入力D3に゛0”ビツトのデータが印加されると、高レ
ベルの信号が保持される。次に、素子32のゲート電極
へクロツク信号φ3が印加されると、この時クロツク信
号φ4がまだ印加されていないので、素子34は非導通
に保たれ、従つて、線36は正電源の電位まで充電され
る。次に、素子34のゲート電極へクロツク信号φ4が
印加されると、線36上の電荷は、線28上の信号のレ
ベルに応じて、そのまま保持されるか又は放電される。
前に説明したように、゛1”ビツトのデータ人力の結果
として、線28上に低レベルの信号が存在すると、線3
6上には高レベルの信号が保持されて、”1゛ビツトの
存在を表わし、一方、ゞTO″ビツトのデータ入力の結
果として、線28上に高レベルの信号が存在すると、線
36上には低レベルの信号が保持されて、゛O′゛ビツ
トの存在を表わす。ラツチ回路10は、入力D1及びG
1に各々接続された素子18及び19を使用することに
よつて、2ウエイ入カへ拡張することができ、更に他の
入力D2及びG2に各々接続された素子20及び21を
使用することによつて、3ウエイ入カへ拡張することも
できる。
以下で詳細に説明する本発明の実施例においては、1ウ
エイ入力、2ウエイ入力又は3ウエイ入力のラツチ回路
が必要に応じて使用される。まず第3a図に示されるよ
うに、8バイトから成る64ビツトのデータ・メツセー
ジ・プロツクは、データ・バス・インを介して一時に1
バイトずつPボツクス50へ印加される。
各バイトはPポツクス50において初期置換を受け、偶
数番目(0,2,4,6)のデータ・ビツトより成る組
及び奇数番目(1,3,5,7)のデータ・ビツトより
成る組に分割される。偶数番目の組はUIBlOOへ送
られ、一方、奇数番目の組はLIBl5Oへ送られる。
UIBlOOは4個の8段シフト・レジスタ0UIB,
1UIB,2UIB及び3UIBで構成され、LIBl
5Oも同様に4個の8段シフト・レジスタ0LIB,1
LIB,2LIB及び3LIBで構成される。第3a図
には、第1シフト・レジスタ0UIBの最初及び最後の
段のみが詳細に示されているが、他のシフトレジスタも
これと同じ構造である。第7a図のタイミング図をも併
せて参照するに、サイクル0において、1つの有効デー
タ・バイトがPボツクス50を介して、UIBlOO及
びLIBl5Oへ印加されている時に、タイミング及び
制御装置60からLIB(G3)線及びLIB(G4)
線へ信号が印加されて、最初の8ビツトバイトが、UI
BlOO及びLIBl5Oの各シフト・レジスタの最初
の段のラツチ(例えば102)へロードされる。
メツセージ・プロツクの残りの8ビツト・バイトは、後
続のサイクル1から7までの間に、一時に1バイトずつ
UIBlOO及びLIBl5Oへ印加される。この場合
、バイトの各ビツトは、各シフト・レジスタの最初の段
(D3)へ印加される。LIB線及びLIB線上の信号
は、シフトレジスタの各段へ印加されるので、サイクル
1乃至7の各々において、データ・ビツトは各シフトレ
ジスタ内で1ビツト位置ずつシフトダウンされ、従つて
サイクル7の終了時には、UIBlOO及びLIBl5
Oは、供給されたデータ・メツセージ・プロツクを半分
ずつロードされている。UIBlOO及びLIBl5O
は直列並列変換を実行し、その結果、UIBlOO及び
LIBl5Oへ逐次に供給された8バイトのメツセージ
・プロツクは、これらの出力において、各々32ビツト
より成る2つのグループ(メツセージ・プロツクの第1
半分及び第2半分)へ構成される。次いで、第3b,3
c及び3d図を参照するに、64ビツトのメツセージ・
プロツクがUIBlOO及びLIBl5Oへ受取られて
、そこにバツフアされている間に、64ビツトの外部レ
ジスタからキー・バス・インを介して、暗号キーが一時
に7ビツトバイトずつPボツクス300へ逐次に印加さ
れる。
各7ビツトバイトはPボツクス300で初期置換を受け
、最初の4キー・ビツト及び残りの3キー・ビツトへ分
割される。最初の4キー・ビツトはUKR35Oへ印加
され、一方、残りの3キー・ビツトはビツト位置を逆に
してLKR4OOへ印加される。UKR35Oは3個の
8段シフトレジスタ0UKR,1UKR及び2UKR並
びに1個の4段シフト・レジスタ3UKRで構成され、
同様にLKR4OOも3個の8段シフトレジスタ0LK
R,1LKR及び2LKR並びに1個の4段シフトレジ
スタ3LKRで構成される。シフト・レジスタ3UKR
の4段目のラ゛ンチ390の出力は、シフト・レジスタ
3LKRの1段目のラツチ402の入力に接続されてい
る。第3b図に詳細に示されているように、8段シフト
・レジスタ0UKRの第1段は3ウエイ入カラツチ35
2で構成され、他の段は第2段及び最後の段のラツチ3
54及び366の如き2ウエイ入カラツチで構成される
。8段シフトレジスタ1UKR及び2UKRもこれと同
じ構成である。
4段シフト・レジスタ3UKRについては、第3c図に
示されるように、第1段は3ウエイ入カラツチ384で
構成され、他の各段はラツチ390の如き2ウニイ入カ
ラツチで構成される。
第3c及び3d図にプロツク図で簡単に示されているL
KR4OOの8段シフト・レジスタ0LKR,1LKR
及び2LKRは、UKR35Oの対応する8段シフトレ
ジスタ0UKR,1UKR及び2UKRと同じ構成を有
している。第3d図に示される4段シフト・レジスタ3
LKRについては、その第1段は、シフト・レジスタ3
UKRの最終段のラツチ390の出力に接続された3ウ
エイ入カラツチ402で構成され、他の各段は最終段の
ラツチ408の如き2ウエイ入カラツチで構成される。
かくして、UKR35O及びLKR4OOの組合わせは
、暗号キー・ワードのキー・ビツトを記憶するための7
個の8段シフトレジスタから成つているものとみなすこ
とができる。次に、第7a図も参照して、暗号キーのロ
ード動作について説明する。
サイクル0において有効暗号キー・バイトかPボツクス
300を介してUKR35O及びLKR4OOへ印加さ
れる時に、シフト・レジスタ0UKR,1UKR,2U
KR,3UKR,0LKR,1LKR及び2LKRの第
1段に接続されたLDK(G3)線及びLDK(G4)
線へ信号が印加され、これにより最初の7ビツト・キー
・バイトがUKR35O及びLKR4OOの7個の各シ
フト・レジスタの第1段、例えば入カラツチ352,3
68及び384などへロードされる。サイクル1におい
ては、暗号キーの2番目の7ビツト・バイトが、UKR
35O及びLKR4OOの7個のシフトレジスタの第1
段へロードされる。
これと同時に、各第1段の以前の内容即ち暗号キーの最
初の7ビツト・バイトは、シフト・レジスタ0UKR,
1UKR,2UKR,3UKR0LKR,1LKR及び
2LKRの第2段に接続されているSR(G3)線及び
LDK線への信号印加により、各々1ビツト位置だけシ
フトダウンされる。各段のラツチ内部の分解時間(Re
sOl−Vingtime)は、前段のラツチの出力に
変化が生じる前にシフト動作を行なわせるのに十分なも
のである。サイクル2においては、暗号キーの3番目の
7ビツトバイトが、UKR35O及びLKR4OOの7
個のシフトレジスタの第1段へロードされる。
これと同時に、第1段及び第2段の以前の内容即ち暗号
キーの2番目及び最初の7ビツト バイトは、シフト・
レジスタ0UKR,1UKR,2UKR,3UKR,0
LKR,1LKR及び2LKRの第2段及び第3段に接
続されているSR線及びLDK線への信号印加により、
各々1ビツト位置だけシフト・ダウンされる。サイクル
3及び4においては、暗号キーの4番目及び5番目の7
ビツト・バイトが、7個のシフト・レジスタの第1段へ
逐次にロードされ、これと同時にその内容は1ビツト位
置ずつシフト・ダウンされる。
しかしながら、シフトレジスタ3UKRの最終段にある
ビツトは、サイクル4においてシフト・レジスタ3LK
Rの第1段へシフトされる。後続のサイクル5,6及び
7においては、暗号キーの残りの7ビツトバイトが、シ
フト・レジスタ0UKR,1UKR,2UKR,3UK
R,0LKR及び2LKRの第1段へー時に1バイトず
つロードされる。LDK線及びLDK線上の信号は、各
シフトレジスタの第1段へ印加され、一方、SR線及び
LDK線上の信号は、各シフトレジスタの残りの段へ印
加されるので、サイクル5,6及び7の各々においては
、暗号キー・ビツトは1ビツト位置ずつシフト・ダウン
され、従つてサイクル7の終了時には、UKR35O及
びLKR4OOは暗号キーの第1半分及び第2半分を各
々ロードされている。暗号キーのロード動作においては
、UKR35Oノ及びLKR4OOは直列一並列変換を
行ない、従つてUKR35O及びLKR4OOに記憶さ
れている暗号キーの8個の7ビツトバイトは、各各28
ビツトより成る2組の並列グループとして考えることが
できる。
下記の表1及び表2は、UKR35O及びLKR4OO
へ暗号キーをロードする際のキー・ビツトのマツピング
の様子を示したものである。第3a図に示されるUDR
2OO及びLDR25Oは、各々32段のラツチ0UD
R〜31UDR及び0LDR〜31LDRで構成される
第7a図に示されるように、サイクル8においてIBT
線及びLDR線へ信号が印加され、これによりUIBl
OOにある32個のデータ・ビツト及びLIBl5Oに
ある32個のデータ・ビツトが、各々UDR2OO及び
LDR25Oへ並列的に転送される。メツセージ・プロ
ツクの64ビツトは、下記の表3及び表4に示される如
くに、UDR2OO及びLDR25Oへ分配される。第
7a図に示されるように、LDK線へはこれ以上信号は
印加されない。
従つて、シフト・レジスタ3UKRの最終段のラツチ3
90からシフトレジスタ3LKRの第1段のラツチ40
2に至る接続は以後使用されず、これらの間では如何な
るビツト転送も行なわれない。シフト・レジスタ3UK
Rの最終段のラツチ390の出力は、シフトレジスタ0
UKRの第1段のラツチ352に接続され、シフト・レ
ジスタ3LKRの最終段のラツチ408の出力は、シフ
トレジスタ0LKRの第1段のラツチ(図示せず)に接
続されているので、UKR35O及びLKR4OOは、
各々独立した28ビツトのシフト・レジスタと考えるこ
とができる。UKR35O及びLKR4OOに記憶され
ている暗号キー・ビツトは、暗号化プロセスに先立つて
1ビツト位置ずつ事前シフトアツプされる。この場合、
UKR35Oの第1段のラツチ352に記憶されていた
ビツトは、UKR35Oの最終段のラツチ390へ循環
シフトされ、同様に、LKR4OOの第1段のラツチに
記憶されていたビツトは、LKR4OOの最終段のラツ
チ408へ循環シフトされる。このような事前シフトは
、サイクル8において、UKR35O及びLKR4OO
のすべての段に接続されているSL線及びLDK線へ信
号を印加することにより行なわれる。各ラツチの出力は
前段のラツチへ接続されており、従つて、SL線及びL
DK線への信号印加により、各ラツチから前段のラツチ
ヘキ一・ビツトが転送される。例えば、これらの信号印
加によつてラツチ354のビツト内容をラツチ352へ
有効にシフトさせるため、ラツチ354の出力UKRl
はラツチ352の1入力に接続されている。同様に、ラ
ツチ352のビツト内容をラツチ390へ有効にシフト
させるため、ラツチ352の出力UKROはラツチ39
0の1入力に接続されている。暗号化プロセスの開始前
に行なわれるこのような暗号キー・ビツトの事前シフト
は、暗号化プロセスの最初の繰返しにおけるキー・ビツ
トの適切な整列を確実にするものである。暗号化プロセ
スに入ると、UKR35O及びLKR4OOにある暗号
キー・ビツトを更に27ビツト位置シフトさせるため、
最初の繰返しを除く各繰返しの間に、UKR35O及び
LKR4OOは1又は2ビツト位置ずつシフト・アツプ
される。UKR35O及びLKR4OOは共に28ビツ
トのシフト・レジスタであるから、これらに配置されて
いる暗号キー・ビツトの28シフト、即ち、1事前シフ
ト及び暗号化プロセスにおける27シフトは、暗号化プ
ロセスの開始時と同様、繰返し操作の間に暗号キー・ビ
ツトを適切に整列させるものである。下記の表5は、暗
号キーに対する所定のシフト計画を示したものである。
表5中の6ビは、UKR35O及びLKR4OOにおけ
る1ビツト位置のシフトを表わし、゛2゛は2ビツト位
置のシフトを表わす。
暗号化プロセス 本発明に従う暗号装置を使用する暗号化プロセスは、1
6回の繰返し操作によつて、データ・ビツトのメツセー
ジ・プロツクを暗号化する。
UKR35O及びLKR4OOにある暗号キー・ビツト
の事前シフトは、暗号化プロセスの開始前に、サイクル
8において実行される。これは、UKR35O及びLK
R4OOのすべての段に接続されているSL線及びLD
K線へ最初の信号を印加することによつて行なわれ、暗
号キーは1ビツト位置だけシフト・アツプされる。この
結果、サイクル8の終了時には暗号化プロセスの最初の
繰返し操作のための暗号キー・ビツトの最初の組が与え
られる。暗号化プロセスの最初の繰返し操作は、サイク
ル9及び10で実行され、UKR35Oにある28個の
事前シフトされた暗号キー・ビツトのうちの24ビツト
及びLKR4OOにある28個の事前シフトされた暗号
キー・ビツトのうちの24ビツトをPボツクス450で
線形置換することにより開始される。Pボツクス450
は、下記の暗号キー・ビツトのマツピングを示す表6及
び7に従つて、UKR35O及びLKR4OOからの4
8ビツトの任意に決められた置換を行なつ08個の6ビ
ツト・セグメントと考えられる48個の置換された暗号
キー・ビツトは、各々6個の排他的オア回路(第3e,
3f及び3g図にXORで示されている)より成る8個
のモジユロ2加算器500,502,504,506,
508,510,512及び514へ1入力として印加
される。
これと同時に、UDR2OOに含まれる32データ・ビ
ツトより成り且つ8個の4ビツトセグメントと考えられ
るメツセージ・プロツクの第1半分が、8個の6ビツト
セグメントを構成する48個のデータ・ビツトへ拡張さ
れて、8個のモジユロ2加算器500〜514の他の入
カへ印加される。データ・ビツトの拡張は、第3e,3
f及び3g図に示されるように、8個の4ビツト・セグ
メントの各々のエンド・ビツト(図示の例では、各4ビ
ツト・セグメントの最初の2ビツト)を二重にすること
によつて達成される。下記の表8及び表9に示されるよ
うに、8個のモジユロ2加算器500〜514は、拡張
された48個のデータ・ビツト及び置換された48個の
暗号キー・ビツトを組合わせて、8個のSボツクス即ち
非アフイン変換機能ボツクス550〜564に対する実
際の引数を構成する新しい8個の6ビツトセグメントを
出力する。第3e図中の#0Sボツクス550の詳細を
第6図に示す。
図示の如く、#0Sボツクス550はデコーダ552及
びROS584から成つている。この#0Sボツクス5
50へは、#0モジユロ2加算器550からの6ビツト
セグメントが入力として印加される。この6ビツトセグ
メントのエンド・ビツト0及び5、即ち、二重にされた
データ・ビツトUDR3l及び置換された暗号キー・ビ
ツトUKRl3のモジユロ2加算と、二重にされたデー
タ・ビツトUDR4及び置換された暗号キー・ビツトU
KR4のモジユロ2加算とから生成されたビツトを表わ
す信号は、インバータ554及び556へ各々印加され
、これによりエンド・ビツトの補数信号が得られる。エ
ンド・ビツトのモジユロ2加算の結果が00であれば、
各々16個のアンド回路を含む4グループのうちの1つ
、即ち、アンド回路568及び570を含む第1グルー
プが選択される。同様に、エンド・ビツトのモジユロ2
加算の結果が01であれば、アンド回路572及び57
4を含む第2グループが選択され、結果が10であれば
、アンド回路576及び578を含む第3グループが選
択され、そして最後に結果が11であれば、アンド回路
580及び582を含む第4グループが選択される。#
0Sボツクス550へ印加される6ビツトセグメントの
内側の4ビツト(1,2,3,4)を表わす信号は、対
応するインバータ558,560,562及び564へ
各々印加され、これにより内側4ビツトの補数信号が生
成される。6ビツトセグメントの内側4ビツトは、選択
されたグループに含まれる16個のアンド回路のうちの
1つによつて解読され、ROS584の特定のアドレス
線へ駆動信号を送る。
ROS584は、基本的には4個の機能テーブル即ち0
R0S,1R0S,2R0S及び3R0Sで構成される
。各機能テーブルは、16個のエントリ一を有しており
、これらの各エントリ一は、素子586,587,58
8及び589の如き4個のFET素子で実現され得る4
ビツトから成つている。これらの素子は、一旦選択され
ると、ROS584の出力線594,595,596及
び597へー意的な4ビツトセグメントを供給する。こ
の4ビツトセグメントは、Sボツクス550の4本の出
力線SO,Sl,S2及びS3の方へ送られる。第3e
〜3g図に示される他の7個のSボツクス552,55
4,556,558,560,562及び564も、基
本的には#0Sボツクス550と同様な構成であるが、
各Sボツクスに含まれる機能テーブルは互いに異なつて
おり、従つて8種類の異なつた変換機能が与えられる。
下記の表10,11,12及び13は、8個のSボツク
ス(#0〜#7)の機能テーブルの出力を示すもので、
各出力を表わす10進数は、実際には4ビツトの2進パ
ターン(例えば14→1110など)で出力される。8
個のSボツクス550〜564は、32ビツトの代替グ
ループを規定する8個の4ビツトセグメントを供給し、
次いでこれらのセグメントは、PボツクスSOOにおい
て、任意に決められた置換によつて線形変換される。
Sボツクス550〜564で実行される非線形変換及び
Pボツクス600で実行される線形変換の結果、メツセ
ージ・プロツクの第1半分の積プロツク暗号が生成され
る。下記の表14は、Sボツクスの出力の線形置換の様
子を示したものである。第3h,3i及び3j図に示さ
れるように、別の8個のモジユロ2加算器65、0,6
52,654,656,658,660,662及び6
64は、各々4個の排他的オア回路XORで構成される
LDR25Oに保持されているメツセージ・プロツクの
第2半分(32データ・ビツトより成り、6個の4ビツ
トデータ・セグメントと考えられる)は、メツセージ・
プロツクの第1半分の積プロツク暗号を表わす置換され
た32ビツトのグループと共に、これらのモジユロ2加
算器650〜664の入カへ印加される。モジユロ2加
算器650〜664は、これらの入力から、メツセージ
・プロツクの変更された第2半分を表わす新しG)32
ビツトのグループを構成する8個の4ビツト0セグメン
トを生成し、次いでこの新しい32ビツトのグループは
、母線を介して第3a図のUDR2OOへ転送される。
再び第3a図及び第7a図を参照するに、サイクル10
の前半において、UDR2OOのすべてのラツチに接続
されているLB線及びLDR線へ信号が印加され、これ
によりメツセージ・プロツクの変更された第2半分を表
わす32ビツトのグループがUDR2OOへロードされ
る。
これと同時に、LB線及びLDR線上の信号は、LDR
25Oのすべてのラツチへも印加され、この結果、UD
R2OOに記憶されていたメツセージ・プロツクの第1
半分がLDR25Oのラツチへ転送されて、そこに言?
される。メ゛ンセージ・プロ゛ンクの第1半分及び変更
された第2半分のこのような互換は、暗号化プロセスの
次の繰返し操作を実行するための準備であり、これで、
サイクル8における暗号キーの事前シフト後に開始され
た最初の繰返し操作が完了したことになる。2回目の繰
返し操作は、サイクル10,11及び12で実行され、
サイクル10におけるシフト動作から開始される。
最初のサイクル10の間に、SL線及びLDK線を介し
てUKR35O及びLKR4OOのすべての段へ印加さ
れる第2信号により、暗号キーが更に1ビツト位置だけ
シフト・アツプされる。これは、暗号化プロセスの2回
目の繰返し操作に対する第2組の暗号キー・ビツトを与
えるものである。サイクル11においては、UDR2O
Oに記憶されているメツセージ・プロツクの変更された
第2半分が、土述と同様な積ブロツク暗号処理操作で使
用され、次にその結果がモジユロ2加算器650〜66
4で使用されて、LDR25Oに記憶されているメツセ
ージ・プロツクの第1半分が変更される。サイクル12
においては、UCR2OOのすべてのラツチに接続され
ているLB線及びLDR線への第2信号の印加により、
メツセージ・プロツクの変更された第1半分を表わす新
しい32ビツトのグループがUDR2OOに記憶される
これと同時に、LB線及びLDR線上の第2信号は、L
DR25Oのすべてのラツチへも印加され、これにより
UDR2OOに記憶されていたメツセージ・プロツクの
変更された第2半分がLDR25Oへ転送されて、そこ
に記憶される。この互換操作は,暗号化プロセスの次の
繰返しを実行するための準備であり、これで暗号化プロ
セスの2回目の繰返し操作が完了される。前記の表5の
暗号キー・シフト計画に示されるように、暗号化プロセ
スの3回目の繰返し操作(サイクル11,12,13及
び14で実行される)においては、暗号キーは2ビツト
位置だけシフトされねばならない。
従つて、サイクル11の間にSL線及びLDK線へ第3
信号を印加することにより、暗号キーの2回のシフトの
うちの最初のシフトが行なわれる。3回目の繰返し操作
を実行するためのこの最初のシフト動作は、暗号装置内
の分解時間の故に、SL線への第2信号の印加によつて
開始された2回目の繰返し操作に対して影響を及ぼさな
い。
暗号キーは、サイクル12の間にSL線及びLDK線へ
印加される第4信号によつて、更に1ビツト位置だけシ
フト・アツプされる。このように、暗号キーは、3回目
の繰返し操作の間にSL線及びLDK線へ印加される第
3信号及び第A信号により、2ビツト位置だけシフト・
アツプされる。暗号化プロセスにおける後続の繰返し操
作も、同様にしてまた暗号キーのシフト計画に従つて実
行される。
最後の繰返し操作を除く残りの各繰返し操作においては
、UKR35O及びLKR4OOに記憶されている暗号
キー・ビツトは、所定のシフト計画に従つてシフトされ
、LDR25Oに記憶されているメツセージ・プロツク
の変更された半分は、UDR2OOに記憶されているメ
ツセージ・プロツクの以前に変更された半分の積プロツ
ク暗号に従つて再変更され、そしてモジユロ2加算器6
50〜664からのこの再変更された半分は、メツセー
ジ・プロツクの以前に変更された半分に代つてUDR2
OOへロードされ、これと同時に、UDR2OOに記憶
されていたこの以前に変更された半分は、LDR25O
へ転送されて、その前の内容に代つてそこに記憶される
。サイクル38及び39で実行される暗号化プロセスの
最後の繰返し操作においては、UKR35O及びLKR
4OOに記憶されている暗号キー・ビツトは、所定のシ
フト計画に従つて最終シフトされ、そしてLDR25O
に記憶されているメツセージ・プロツクの変更された半
分に対する最後の再変更が、UDR2OOに記憶されて
いるメツセージ・プロツクの以前に変更された半分の積
プロツク暗号に従つて実行される。
しかしながら、サイクル39以降は、LB線上に信号が
存在しないので、モジユロ2加算器650〜664から
の再変更された半分及びUDR2OOに記憶されている
以前に変更された半分は互換されず、これらは元のメツ
セージ・プロツクの被暗号化プロツクを構成する。かく
して、64ビツトの被暗号化メツセージ・プロツクを表
わすUDR2OOからの32ビツトの出力及びモジユロ
2加算器650〜664からの32ビツトの出力は、対
応するUOB7OO及びLOB75Oへ各々印加される
。第3h,31及び3j図に示されるように、UOB7
OOは4個の8段シフト・レジスタ0U0B,1U0B
,2U0B及び3U0Bで構成され、同様に、LOB7
5Oも4個の8段シフト・レジスタ0L0B,1L0B
,2L0B及び3L0Bで構成される。図面には、最初
のシフト・レジスタ0U0Bの第1段(ラツチ702)
、第2段(ラツチ704)及び最終段(ラツチ716)
のみが詳細に示されているが、残りの段及び他のシフト
・レジスタもこれと同じ構成である。次に、第7b図を
も参照して、これらのシフトレジスタの動作について説
明する。
まずサイクル40において、UOB7OO及びLOB7
5Oの各シフト・レジスタのすべてのラツチに接続され
ているLDOB線及びLDOD線へ信号が印加され、こ
れによりUDR2OOからUOB7OOへの32ビツト
出力の並列転送及びモジユロ2加算器650〜664か
らLOB75Oへの32ビツト出力の並列転送が同時に
行なわれる。UOB7OO及びLOB75Oへロードさ
れた64ビツトの被暗号化プロツクは、そこで一時に8
ビツト・バイトずつ並列一直列変換を受け、各シフトレ
ジスタの最終段のビツト内容が、1つの8ビツト・バイ
トとしてPボツクス800へ印加される。
Pボツクス800では、暗号化されたデータ・ビツトを
データ・バス・アウトの適切なビツト線へ接続するため
に、各8ビツト・バイトに対する最終の線形置換が行な
われる。UOB7OO及びLOB75Oにおける並列一
直列変換は、8個の各シスト・レジスタ0U0B〜3L
0Bの第2段から第8段までに、DOB線及びLDOB
線を介しで信号を印加することによつて実行され、かく
して、サイクル41〜47の間に、各シフト・レジスタ
にあるデータ・ビツトが1ビツト位置ずつシフトダウン
される。各々の最終段からのビツトで構成された8ビツ
ト・バイトは、上述のようにPボツクス800で置換さ
れた後、データ・バス・アウトへ出力される。サイクル
48において、64ビツトの暗号化されたプロツクの最
後のバイトが転送され、これで暗号化プロセスが完了す
る。第7a及び7b図には、次のメツセージ・プロツク
を暗号化するためのサイクルは示されていないが、暗号
化されるべきメツセージ・プロツクがあと幾つあつても
、上と同じような方式で暗号化することができる。
従つて、データの最初のメツセージ・プロツクが暗号化
されている間に、もし次のメツセージ・プロツクが暗号
装置に受取られると、このメツセージ・プロツクはUI
BlOO及びLIBl5Oにロードされる。サイクル3
9が終つて、最初の暗号化プロセスの最後の繰返し操作
が完了すると、暗号キーはUKR35O及びLKR4O
O内で完全に1回転されて、元の形に戻され、従つてデ
ータの次のメツセージ・プロツクの暗号化を制御する準
備ができている。最初の暗号化プロセスのサイクル40
において、暗号化された最初のメツセージ・プロツクが
UOB7OO及びLOB75Oへ転送されている間に、
第7b図に破線で示されるように、IBT線及びLDR
線へ信号を印加することにより、次のメツセージ・プロ
ツクをUDR2OO及びLDR25Oへ転送することが
でき、そして次の暗号化プロセスは、最初のメツセージ
・プロツクがUOB7OO及びLOB75OからPボツ
クス800を介してデータ・バス・アウトへ転送されて
いる間に、閑始され得る。もし暗号装置に対するメツセ
ージ・プロツクの転送率が高くなり過ぎて、前のメツセ
ージ・プロツクが入カバツフアからデータ・レジスタへ
転送されてしまう前に次のメツセージ・プロツタが受信
されるような状態が生じ得るならば、このような状態を
知らぜる(例えば、使用中信号を出す)ことのできる回
路を設けなければならない。これは、後続のデータ・メ
ツセージ・プロツクが暗号装置の動作速度において、同
期的に伝送されるのを可能にする。解読プロセス 本発明に従う暗号装置において、64ビツトの暗号化さ
れたデータ・メツセージ・プロツクを解読するための解
読プロセスは、暗号化プロセスで使用されたのと同じ暗
号キーの制御のもとに、同様な16回の繰返し操作を実
行することによつて達成される。
しかしながら、解読プロセスにおいては、暗号キーは、
暗号化プロセスの場合のように、最初の繰返し操作前に
事前シフトされるのではなく、最後の繰返し操作後に事
後シフトされる。更に、暗号キーは、前記の表5に示さ
れるシフト計画に従つて、暗号化プロセスの時とは反対
の方向にシフトされる。これは、暗号化プロセスにおい
て実行されたすべての繰返しを元に戻して、元のメツセ
ージ・プロツクと同一の64ビツトのメツセージ・プロ
ツクを再生するように、解読繰返し操作時における暗号
キー・ビツトの適切な整列を確実に行なわせるものであ
る。第3a〜3b図及び第7a図を参照するに、前と同
じようにサイクル0〜7において、暗号化されたデータ
・メツセージ・プロツクはデータ・バス・インを介して
受信された後、UIBlOO及びLIBl5Oへバツフ
アされ、そして暗号キーはUKR35O及びLKR4O
Oへロードされる。
続くサイクル8では、暗号化されたメツセージ・プロツ
クがUIBlOOからUDR2OOへ及びLIBl5O
からLDR25Oへ各々並列に転送される。暗号化プロ
セスの時と同様に、サイクル9において、UDR2OO
に記憶されている暗号化されたメツセージ・プロツクの
第1半分が、置換された1組の暗号キー・ビツトと共に
積プロツク暗号処理装置で使用され、その結果はモジユ
ロ2加算器650〜664へ送られて、LDR25Oに
記憶されているメツセージ・プロツクの第2半分を変更
するのに使用される。次のサイクル10では、LB線へ
印加される第1信号及びLDR線へ印加される信号によ
り、暗号化されたメツセージ・プロツクの変更された第
2半分が、このメツセージ・プロツクの第1半分に代つ
てUDR2OOへ置かれ、これと同時に、UDR2OO
に記憶されていた第1半分は、暗号化されたメツセージ
・プロツクの第2半分に代つてLDR25Oへ置かれる
。これで、解読プロセスの次の繰返し操作に対する準備
ができたことになる。解読プロセスの2回目の繰返し操
作は、サイクル10,11及び12で実行され、サイク
ル10の間に暗号キー・ビツトを1ビツト位置だけシフ
トダウンすることによつて開始される。
暗号キー・ビツトのシフト・ダウンは、SRR線を介し
てUKR35O及びLKRの第1段へ印加される第1信
号、SR線を介して残りの段へ印加される第1号信号、
並びにLDK線を介してすべての段へ印加される信号の
制御のもとに行なわれる。SRR線上の第1信号は、L
DK線上の信号と協働して、UKR35O及びLKR4
OOの各々の最終段のビツト内容を各々の第1段へ転送
させ、一方SR線上の第1信号は、LDK線上の信号と
協働して、UKR35O及びLKR4OOの各段のビツ
ト内容を後続の段へ転送させる。これにより、暗号キー
全体の1ビツト位置のシフト・ダウンが完了され、解読
プロセスの2回目の繰返し操作のための新しい暗号キー
・ビツトの組が得られる。この2回目の繰返し操作は、
暗号化プロセスのところで説明したのと同じようにして
、サイクル12で完了される。前記の表5に示されるよ
うに、解読プロセスの・3回目の繰返し操作の開始時に
は、暗号キーは2ビツト位置だけシフトされていなけれ
ばならない。
従つて、サイクル11の間に、SRR線及びSR線へ第
2信号を印加し且つLDK線へ信号を印加することによ
つて、暗号キーの1回目のシフト動″作が行なわれ、こ
れにより暗号キーは1ビツト位置だけシフト・ダウンさ
れる。暗号キーの2回目のシフトは、サイクル12にお
いて、SRR線及びSR線へ第3信号を印加し且つLD
K線へ信号q電ナを印加することにより行なわれる。
同様にして、また所定のシフト計画に従つて、解読プロ
セスの後続の繰返し操作が実行され、サイクル40で最
初のプロセスが完了する。ただし、暗号化プロセスのと
ころでも説明したように、16回目の繰返しにおいては
、LB線へ信号が印加されないので、メツセージ・プロ
ツクの第1半分及び第2半分の互換は行なわれない。次
のメツセージ・プロツクの解読に対する準備のため、サ
イクル40の間に、暗号キーの事後シフトが実行され、
これにより暗号キーはUKR35O及びLKR4OO内
で完全に1回転されて、元の形に戻される。次いで、サ
イクル40〜48の間に、解読されたデータ・メツセー
ジ・プロツクは、UDR2OO及びモジユロ2加算器6
50〜664の出力からUOB7OO及びLOB75O
へ各々並列に転送された後、Pボツクス800を介して
一時に8ビツト・バイトずつデータ・バス・アウトの方
へ転送される。64ビツトの解読されたデータ・メツセ
ージ・プロツクの最後のバイトは、サイクル48で出力
され、かくして解読プロセスが完了する。
暗号化プロセスの時と同様、第7a及び第7bには示さ
れていないが、後続の暗号化されたデータ・メツセージ
・プロツクも同じようにして解読することができる。暗
号化プロセスの間にモジユロ2加算器650〜664で
実行されたモジユロ2加算は、解読プロセスでのモジユ
ロ2加算によつて逆転されるよう自己逆転プロセス(S
elf−ReversingpfOce−Ss)である
ことに注意されたい。以上説明した本発明の実施例にお
いては、一連のモジユロ2加算器500〜514が使用
されていたが、積プロツク暗号処理操作は、このような
モジユロ2且算器の使用だけに限定されるものではなく
、48ビツトの出力を与おるものであれば、任意の型の
加算器又はこれらの加算器の組合わせを使用することが
できる。
その場合、暗号化のときに加算(又は減算)が行なわれ
ると、解読のときには減算(又は加算)が行なわれる。
桁あふれは無視できる。よく知られているように、加算
器の一方の入力を選択的に補数化する手段を設けておけ
ば、同じ回路で加算及び減算を行なえる。更に、本発明
に従う暗号装置の構成は、データ・メツセージ・プロツ
ク及び暗号キーのビツト数に応じて数に応じて、容易に
変更され得るものであり、上述の64ビツトの例に限定
されるものではない。また本発明に従う暗号装置は、暗
号化及び解読の一方のみを実行するだけでなく、単に動
作を逆にするだけで、両方のプロセスを同じ装置で実行
し得るものである。
【図面の簡単な説明】
第1図はデータ処理環境における暗号装置の設置場所を
例示したプロツク図、第2図は本発明に従う暗号装置の
実施例を示したプロツク図、第3図は第3a乃至3j図
のつながりを明らかにしたプロツク図、第3a乃至3j
図は本発明に従う暗号装置の詳細なプロツク図、第4図
は本発明で使用されるラツチ回路の具体例を示した回路
図、第5図は第4図のラツチ回路の動作の様子を示した
タイミング図、第6図は本発明で使用されるSボツクス
の詳細を示した回路図、第7図は第7a及び7e図のつ
ながりを明らかにしたプロツク図、第7a及び7b図は
暗号化及び解読プロセスのサイクルを示したタイミング
図、第8図は暗号化及び解読プロセスの繰返しの様子を
示したプロツク図である。 50・・・・・・Pボツタス、60・・・・・・タイミ
ング、100・・・・・・上部入カバツフア(UIB)
、150・・・・・・下部入カバツフア(LIB)、2
00・・・・・・上部データ・レズスタ(UDR)、2
50・・・・・・下部データ・レジスタ(LDR)、3
00・・・・・・Pボツクス、350・・・・・・上部
キー・レジスタ(UKR)、400・・・・・・下部キ
ー・レジスタ(LKR)、450・・・・・・Pボツク
ス、500〜514・・・・・・モジユロ2加算器、5
50〜564・・・・・・Sボツクス、600・・・・
・・Pボツクス、650〜664・・・・・・モジユロ
2加算器、700・・・・・・上部出力バツフア(UO
B)、750・・・・・・下部出力バツフア(LOB)
、800・・・・・・Pボツタス。

Claims (1)

  1. 【特許請求の範囲】 1 一組の暗号キー・ビットの制御のもとに、所定数の
    繰返し操作を実行することによつてデータ・ビットのメ
    ッセージ・ブロックを暗号処理するための暗号装置にし
    て、上記メッセージ・ブロックの第1半分を記憶するた
    めの第1記憶手段と、上記メッセージ・ブロックの第2
    半分を記憶するための第2記憶手段と、上記暗号キー・
    ビットの組を記憶するための第3記憶手段を含む制御手
    段と、上記第3記憶手段に接続され、上記一組の暗号キ
    ー・ビットから置換された暗号キー・ビットの組を生成
    するための置換手段と、上記第1記憶手段に接続され、
    上記第1半分に含まれるデータ・ビットのうちの所定の
    ものを二重にすることにより、上記置換手段からの置換
    された暗号キー・ビットの数に等しいデータ・ビットを
    有する拡張された第1半分を生成するための拡張手段と
    、該拡張手段からの上記拡張された第1半分のデータ・
    ビット及び上記置換手段からの置換された暗号キー・ビ
    ットを受取つてそれらを所定の暗号関数に従つて組合わ
    せることにより、上記第1半分の積ブロック暗号を生成
    するための積ブロック暗号手段と、上記第2記憶手段及
    び上記積ブロック暗号手段に接続され、上記積ブロック
    暗号及び上記第2半分を論理的に組合わせることにより
    、上記メッセージ・ブロックの変更された第2半分を表
    わす一組のビットを生成するための変更手段と、次の繰
    返し操作に備えるために、上記変更された第2半分を上
    記変更手段から上記第1記憶手段へロードし、且つ上記
    第1記憶手段に記憶されていた上記第1半分を上記第2
    記憶手段へロードするための手段と、所定数の繰返し操
    作の終了後に、上記第1記憶手段及び上記変更手段から
    出力を取出すための手段とより成る暗号装置。 2 上記制御手段は後続の繰返し操作時に、上記一組の
    暗号キー・ビットを所定のシフト計画に従つて所定の方
    向にシフトさせることを特徴とする特許請求の範囲第1
    項記載暗号装置。 3 上記一組の暗号キー・ビットは暗号化の時には一方
    向にシフトされ、解読の時には反対方向にシフトされる
    ことを特徴とする特許請求の範囲第2項記載の暗号装置
JP51016097A 1975-02-24 1976-02-18 暗号装置 Expired JPS5936463B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/552,685 US3958081A (en) 1975-02-24 1975-02-24 Block cipher system for data security

Publications (2)

Publication Number Publication Date
JPS51108702A JPS51108702A (ja) 1976-09-27
JPS5936463B2 true JPS5936463B2 (ja) 1984-09-04

Family

ID=24206358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51016097A Expired JPS5936463B2 (ja) 1975-02-24 1976-02-18 暗号装置

Country Status (5)

Country Link
US (1) US3958081A (ja)
JP (1) JPS5936463B2 (ja)
CA (1) CA1048935A (ja)
GB (1) GB1480859A (ja)
IT (1) IT1055306B (ja)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1097794A (en) * 1975-08-08 1981-03-17 Harold B. Shutterly Secure television transmission system
US4074066A (en) * 1976-04-26 1978-02-14 International Business Machines Corporation Message verification and transmission error detection by block chaining
GB1597218A (en) * 1976-12-11 1981-09-03 Nat Res Dev Apparatus for electronic encypherment of digital data
DE2658065A1 (de) * 1976-12-22 1978-07-06 Ibm Deutschland Maschinelles chiffrieren und dechiffrieren
US4316055A (en) * 1976-12-30 1982-02-16 International Business Machines Corporation Stream/block cipher crytographic system
US4120030A (en) * 1977-03-11 1978-10-10 Kearney & Trecker Corporation Computer software security system
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4159468A (en) * 1977-11-17 1979-06-26 Burroughs Corporation Communications line authentication device
US4386234A (en) * 1977-12-05 1983-05-31 International Business Machines Corp. Cryptographic communication and file security using terminals
US4238854A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic file security for single domain networks
US4238853A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic communication security for single domain networks
US4408203A (en) * 1978-01-09 1983-10-04 Mastercard International, Inc. Security system for electronic funds transfer system
US4259720A (en) * 1978-01-09 1981-03-31 Interbank Card Association Security system for electronic funds transfer system
US4262329A (en) * 1978-03-27 1981-04-14 Computation Planning, Inc. Security system for data processing
US4310720A (en) * 1978-03-31 1982-01-12 Pitney Bowes Inc. Computer accessing system
US4218738A (en) * 1978-05-05 1980-08-19 International Business Machines Corporation Method for authenticating the identity of a user of an information system
CA1147823A (en) * 1978-07-24 1983-06-07 Robert M. Best Crypto microprocessor for executing enciphered programs
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US4319079A (en) * 1979-09-13 1982-03-09 Best Robert M Crypto microprocessor using block cipher
US4369332A (en) * 1979-09-26 1983-01-18 Burroughs Corporation Key variable generator for an encryption/decryption device
US4369434A (en) * 1979-12-20 1983-01-18 Gretag Aktiengesellschaft Enciphering/deciphering system
US4543646A (en) * 1980-06-05 1985-09-24 Western Digital Corporation Chip topography for MOS Data Encryption Standard circuit
US4399323A (en) * 1981-02-09 1983-08-16 Bell Telephone Laboratories, Incorporated Fast real-time public key cryptography
CA1176335A (en) * 1981-06-05 1984-10-16 Exide Electronics Corporation Computer communications control
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
USRE47642E1 (en) 1981-11-03 2019-10-08 Personalized Media Communications LLC Signal processing apparatus and methods
US7831204B1 (en) 1981-11-03 2010-11-09 Personalized Media Communications, Llc Signal processing apparatus and methods
US4484306A (en) * 1982-03-22 1984-11-20 Exide Electronics Corporation Method and apparatus for controlling access in a data transmission system
US4649510A (en) * 1982-04-30 1987-03-10 Schmidt Walter E Methods and apparatus for the protection and control of computer programs
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4550350A (en) * 1983-07-19 1985-10-29 Software Distribution Newtork, Inc. Secure copy method and device for stored programs
US4621334A (en) * 1983-08-26 1986-11-04 Electronic Signature Lock Corporation Personal identification apparatus
US4591660A (en) * 1983-10-25 1986-05-27 At&T Bell Laboratories Common control audio decryptor
US4956808A (en) * 1985-01-07 1990-09-11 International Business Machines Corporation Real time data transformation and transmission overlapping device
US4803725A (en) * 1985-03-11 1989-02-07 General Instrument Corp. Cryptographic system using interchangeable key blocks and selectable key fragments
US4802217A (en) * 1985-06-07 1989-01-31 Siemens Corporate Research & Support, Inc. Method and apparatus for securing access to a computer facility
JPS62169540A (ja) * 1986-01-22 1987-07-25 Nippon Hoso Kyokai <Nhk> 信号スクランブル−デイスクランブル回路
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
US4916738A (en) * 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
US4891781A (en) * 1987-03-04 1990-01-02 Cylink Corporation Modulo arithmetic processor chip
US4935961A (en) * 1988-07-27 1990-06-19 Gargiulo Joseph L Method and apparatus for the generation and synchronization of cryptographic keys
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5210710A (en) * 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
US5323464A (en) * 1992-10-16 1994-06-21 International Business Machines Corporation Commercial data masking
JPH0812537B2 (ja) * 1993-03-11 1996-02-07 日本電気株式会社 暗号化装置
US5546461A (en) * 1993-04-09 1996-08-13 Matsushita Electric Industrial Co., Ltd. Scramble system for use in digital video signal recording and reproducing system or transmission and receiving system, comprising scramble apparatus and descramble apparatus
FR2723223B1 (fr) * 1994-07-29 1996-08-30 Sgs Thomson Microelectronics Procede de brouillage numerique et application a un circuit programmable
US5673319A (en) * 1995-02-06 1997-09-30 International Business Machines Corporation Block cipher mode of operation for secure, length-preserving encryption
US7143290B1 (en) * 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7165174B1 (en) 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
DE69638018D1 (de) 1995-02-13 2009-10-15 Intertrust Tech Corp Systeme und Verfahren zur Verwaltung von gesicherten Transaktionen und zum Schutz von elektronischen Rechten
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7124302B2 (en) 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US5943422A (en) * 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
KR0153758B1 (ko) * 1995-12-26 1998-11-16 양승택 입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US20010011253A1 (en) 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US20060265337A1 (en) * 1996-02-26 2006-11-23 Graphon Corporation Automated system for management of licensed digital assets
US7062500B1 (en) 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
US5920861A (en) * 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6128387A (en) * 1997-05-19 2000-10-03 Industrial Technology Research Institute Method and system for using a non-inversible transform and dynamic keys to protect firmware
US6112181A (en) * 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US7092914B1 (en) 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6259789B1 (en) 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
TW375721B (en) 1998-06-17 1999-12-01 Ind Tech Res Inst DES chip processor capable of executing data encryption standard (DES) operation
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
TW556111B (en) * 1999-08-31 2003-10-01 Toshiba Corp Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
US7092525B2 (en) * 2000-04-20 2006-08-15 Matchett Noel D Cryptographic system with enhanced encryption function and cipher key for data encryption standard
US6931128B2 (en) * 2001-01-16 2005-08-16 Microsoft Corporation Methods and systems for generating encryption keys using random bit generators
US7076059B1 (en) * 2002-01-17 2006-07-11 Cavium Networks Method and apparatus to implement the data encryption standard algorithm
US7200760B2 (en) * 2002-12-31 2007-04-03 Protexis, Inc. System for persistently encrypting critical software data to control the operation of an executable software program
US20050129066A1 (en) * 2003-12-15 2005-06-16 Steven Tischer Systems, methods, and storage medium for transmitting data over a computer network
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
US8287215B2 (en) 2006-11-28 2012-10-16 Minute Key Inc. Fully automatic key duplicating machine with automatic key model identification system
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
US20130331976A1 (en) 2010-06-03 2013-12-12 Minute Key Inc. Key duplicating system
US8634951B2 (en) 2010-06-03 2014-01-21 Minute Key Inc. Fully automatic self-service key duplicating kiosk
AU2011261228B2 (en) 2010-06-03 2015-04-23 The Hillman Group, Inc. Fully automatic self-service key duplicating kiosk
US9319878B2 (en) * 2012-09-14 2016-04-19 Qualcomm Incorporated Streaming alignment of key stream to unaligned data stream
US20230125560A1 (en) * 2015-12-20 2023-04-27 Peter Lablans Cryptographic Computer Machines with Novel Switching Devices
US10735199B2 (en) 2018-01-02 2020-08-04 Bank Of America Corporation File based transmission validation and failure location identification system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798360A (en) * 1971-06-30 1974-03-19 Ibm Step code ciphering system
US3798359A (en) * 1971-06-30 1974-03-19 Ibm Block cipher cryptographic system

Also Published As

Publication number Publication date
CA1048935A (en) 1979-02-20
US3958081A (en) 1976-05-18
IT1055306B (it) 1981-12-21
GB1480859A (en) 1977-07-27
JPS51108702A (ja) 1976-09-27

Similar Documents

Publication Publication Date Title
JPS5936463B2 (ja) 暗号装置
US3962539A (en) Product block cipher system for data security
Lim CRYPTON: A new 128-bit block cipher
US6831979B2 (en) Cryptographic accelerator
US5799089A (en) System and apparatus for blockwise encryption/decryption of data
US8301905B2 (en) System and method for encrypting data
JPH1173101A (ja) 高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体
WO2003100751A1 (fr) Dispositif et procede de conversion de donnees
JP2002023622A (ja) 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体
KR100377176B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
GB2367462A (en) Key scheduler for Data Encryption Standard (DES)
US20020101985A1 (en) Single-cycle hardware implementation of crypto-function for high throughput crypto-processing
US6931127B2 (en) Encryption device using data encryption standard algorithm
CN112350819B (zh) 一种全流水线sms4加解密方法及系统
US7103180B1 (en) Method of implementing the data encryption standard with reduced computation
JPH0697930A (ja) ブロック暗号処理装置
CN114598444A (zh) 基于sm4和动态s盒的音频加密方法
WO2022125337A1 (en) High-speed circuit combining aes and sm4 encryption and decryption
KR100190157B1 (ko) 암호화 장치 및 암호화 방법
Barrera et al. Improved mix column computation of cryptographic AES
JPH10153954A (ja) 暗号装置
KR100380638B1 (ko) 병렬 Feistel 구조를 가진 데이터 암호 표준화시스템
CN114969847B (zh) 一种基于数据地址混合加密的存储器加密电路
KR100377173B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
JP2008046151A (ja) 暗号処理方法