JPH0723984B2 - 再帰的キー目録暗号化装置 - Google Patents

再帰的キー目録暗号化装置

Info

Publication number
JPH0723984B2
JPH0723984B2 JP59223648A JP22364884A JPH0723984B2 JP H0723984 B2 JPH0723984 B2 JP H0723984B2 JP 59223648 A JP59223648 A JP 59223648A JP 22364884 A JP22364884 A JP 22364884A JP H0723984 B2 JPH0723984 B2 JP H0723984B2
Authority
JP
Japan
Prior art keywords
exclusive
output
bit
input
word
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 - Fee Related
Application number
JP59223648A
Other languages
English (en)
Other versions
JPS60121486A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of JPS60121486A publication Critical patent/JPS60121486A/ja
Publication of JPH0723984B2 publication Critical patent/JPH0723984B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、暗号化装置、特にデジタル・ワードを暗号化
する装置に関するものである。
〔従来の技術及び問題点〕
コンピユータのソフトウエアを暗号化する何らかのシス
テム又は装置が欲しいことがよくある。特に、ソフトウ
エアを占有する人間によりそのソフトウエアが変えられ
るのを防止したい場合に、それが望まれる。一例とし
て、教育用コンピユータ・プログラムを用いる学生があ
げられる。そのプログラムには彼の点数がコンピユータ
・メモリ・デイスクに記録されており、それを学生が占
有する可能性がある。従来の技術で上述のような装置を
作ろうとすると、例えばIBM/NBS DES型システムのよう
に比較的多量のコードとデータを必要とする難点があ
る。
また、暗号化は、各使用者の電子的署名を形成する性質
のものであることが望ましい。そうすると、暗号文(テ
キスト)の呈示者が占有を認められたものかどうかを決
定してその人間にそのテキストの解読をさせることがで
きる。暗号化装置は、その装置の使用者間でのデータの
転移を考慮しなければならない。
〔発明の目的〕
本発明の1つの目的は、再起的キー目録(recursive ke
y schedule)を発生する暗号化装置を提供することであ
る。
本発明の他の目的は、ソフトウエアを余り必要としない
暗号化装置を提供することである。
本発明の更に他の目的は、暗号データのフアイルをもつ
人間によつて変更されるのを防止する暗号化装置を提供
することである。
本発明の別の目的は、データ作成者のデジタル自署をチ
エツクしてその暗号データの所有者が資格のあるもので
あるかどうかを決定できる暗号化装置を提供することで
ある。
〔発明の概要〕
上述及び他の目的を達成するため、本発明においては、
ディジタル形式の原文を暗号化する装置は、使用者によ
って供給されるコード・ワードから最初に作業用(work
ing)暗号化キー目録を発生した後に原文を暗号化する
手段と、初期キー目録と、非直線的暗号化手段とを備え
ている。こうすると、作業用暗号化キー目録を記憶又は
送信する必要がなく暗号文のみを記憶すればよいことに
なる。また、これにより、暗号化ソフトウエア・プログ
ラムの大きさを減らしその実行速度を上げることができ
る。
本発明装置は、ランダムアクセス(アドレス可能)メモ
リの形のマスター・テーブル及びワーキング・テーブル
と、異なる計数限度をもつ複数のリセツト可能カウンタ
と、2入力及び1出力をもつ排他的オア論理手段(排他
的論理和手段)と、この排他的オア論理手段の出力が供
給され、入来デジタル・ワードの各ビツト位置を異なる
ビツト位置にシフトし、その結果を出力する第1の非対
称ビツトかきまぜ手段と、予め定めたアドレス可能ワー
ドを記憶し、上記非対称ビツトかきまぜ手段の出力より
供給される入来デジタル・ワードを所定のビツト群に分
割し、それらを記憶されたワードのアドレスとしてそれ
らを出力するのに用いる第1のルツクアツプ・テーブル
手段とを有する。本発明装置は、更に、マスター・テー
ブル及びワーキング・テーブル・メモリ排他的オア論理
手段、カウンタ、並びにルツクアツプ・テーブル手段に
接続され、これらの装置に次のような一連のステツプを
行わせる制御手段を有する。
まず、ワーキング・テーブル・メモリに最初の所定キー
目録データを入れた時、所定のビツト郡より成るコード
・ワードを排他的オア論理手段により排他的オア処理す
るが、その際カウンタの1つにおけるカウントを参照し
て選択したマスター・テーブル・メモリにおけるエント
リ(見出し部)を用いる。次に、そのカウンタのカウン
トを歩進(増加)させる。排他的オア論理手段の出力
は、第1の非対称ビツトかきまぜ手段に入力し、入来す
る排他的オア処理(以下「排他オア」と略す。)された
ワードの各ビツト位置を異なるビツト位置にシフトし、
その出力を第1のルツクアツプ・テーブル手段に供給す
る。そこで、それらを2つの所定ビツト群に分割して、
ルツクアツプ・テーブルにおける記憶ワードのアドレス
として用い、それらのアドレスに記憶されたワードを出
力させる。
ルツクアツプ・テーブル手段からのワード出力は、それ
から排他的オア論理手段の入力に帰還させ、この全過程
を排他オア処理の間に複数回にわたり毎回異なる1つの
カウンタを用いて繰返す。最後に、ルツクアツプ・テー
ブル手段の出力をマスター・テーブル・メモリへ順次入
れて記憶させる。このようにして、この処理過程を全コ
ード・ワードの処理が終わるまで繰返す。
上述の制御過程により、入力コード・ワードに基く新し
い作業用キー目録が発生する。その後デジタル原文を暗
号化するために、制御手段は次のような一連のステツプ
を実行する。まず、マスター・テーブル・メモリの内容
をワーキング・テーブル・メモリに移す。そして、排他
的オア論理手段に所定のビツト群より成る入力原文ワー
ドを排他オアさせる際に、カウンタの1つにおけるカウ
ントを参照して選択したワーキング・テーブル・メモリ
手段におけるエントリを用いる。次に、制御手段はその
カウンタのカウントを歩進させる。再び、排他オアされ
たワードのビツト位置をかきまぜてルツクアツプ・テー
ブル手段に送り、上記の過程と同様に、ルツクアツプ・
テーブル手段の出力を排他的オア論理手段に入力ワード
として再供給する。
この過程を、複数回にわたり毎回異なる1つのカウンタ
を用いながら一定の順序で繰返し、最後に、第1ルツク
アツプ・テーブル手段からの結果を暗号化されたテキス
ト・ワードとして出力する。こうして、コード・ワード
から発生した作業用キー目録を用い、すなわち再帰的キ
ー目録を発生して、原文を暗号化する。その解読は、コ
ード・ワード,原(最初の)キー・テーブルをもち、非
対称ビツトかきまぜ器及びルツクアツプ・テーブル手段
にアクセスしうる者によつてのみ可能である。
解読は最初同じ線に沿って進行するが、原コード・ワー
ドを用いて作業用キー目録を発生した後は、手順はほぼ
逆になる。入来暗号文は、制御手段により第2のルツク
アツプ・テーブル手段に供給する。第2ルツクアツプ・
テーブル手段は、入力について第1ルツクアツプ・テー
ブル手段の逆を行う。この逆ルツクアツプ・テーブル手
段の出力は、第2の非対処ビツトかきまぜ手段に供給さ
れる。第2非対称ビツトかきまぜ手段は、第1非対称ビ
ツトかきまぜ手段と同量を反対方向にかきまぜてビツト
を原位置に戻す(復元する)。この第2非対称ビツトか
きまぜ手段の出力は、第2の排他的オア論理手段によ
り、カウンタの1つにおけるカウントにより選択された
ワーキング・テーブル・メモリにおけるエントリと共に
排他オアされる。そのカウンタはその後制御手段により
歩進され、第2排他的オア論理手段の出力は第2ルツク
アツプ・テーブル手段へ帰還し、そして、この過程を複
数回にわたり毎回異なる1つのカウンタを用いて繰返
す。カウンタを使用する順序は、原文(テキスト)の暗
号化に使用するときの反対である。最後に、第2排他的
オア論理手段の出力が明瞭なテキスト・ワードとなる。
暗号化過程において更に無作為性を与えるには、各カウ
ンタに共通因子をもたない異なる予め定めた数をカウン
トさせる。その後、各カウンタを制御手段によりリセツ
トする。
最初のマスター・キー目録及びコード・ワードは、どち
らも解読処理を引受ける操作員には知られている。しか
し、暗号化処理を引受ける者には、コード・ワードしか
知られていない。したがつて、デコーダ(解読器)にと
って、コード化されたメツセージの呈示者が解読された
メツセージを受けるか又はそれを使用する資格のあるも
のかどうかは、明らかとなる。なぜならば、キー目録及
びコード・ワードは、特定の正当な使用者しか有しない
からである。
本発明の上述及び他の目的、特徴及び利点は、図示の実
施例について以下の詳細な説明により容易に理解できる
であろう。
〔実施例〕
第1図は、本発明装置の暗号化操作を示すブロツク図で
ある。同図において、使用者から供給される最初のコー
ド・ワードすなわちキー・ワード(10)は、ステツプ
(12)で最初のキー目録アレーを用いて暗号化される。
この最初のキー目録アレーは、例えばその暗号化された
テキストを解読することが意図されている者によって供
給される。暗号化ステツプ(12)において、コード・ワ
ードは作業用(operating or working)キー目録アレー
(14)の発生に用いられる。明瞭な原文(18)は、ステ
ツプ(16)で作業用キー目録アレー(14)を用いて暗号
化され、暗号文(20)が作られる。
第2図は、本発明の暗号化装置の実施例を示すブロツク
図である。この基本的暗号化装置は、上記ステツプ(1
2)及び(16)の両方において使用される。コード・ワ
ード(10)のような入力バイト(22)は、キー目録アレ
ー(26)からの選択されたエントリと共に排他的オア論
理手段(24)により排他オア(XOR)される。このキー
目録は、最初の予め定めたキー目録でも、又は後述のよ
うなコード・ワードを用いて発生したキー目録でもよ
い。各入力バイトと共に排他オアされるべきキー目録ア
レー(26)からの各8ビツト群を選択するのに、3つの
カウンタ(36)、(38)又は(40)のうちの1つにおけ
るカウントに対応する指示(pointer)を用いる。
排他オアされた出力は非対称ビツトかきまぜ器に供給
し、そこで入来ワードの全ビツトを決められた方向に1
以上位置を動かす。例えば、1ビツトだけ右に動かす。
かきまぜられたビツト出力は、次いでルツクアツプ・テ
ーブル手段(30)の入力に供給する。ルツクアツプ・テ
ーブル手段(30)は、入来ワードを最初(前)と最後
(後)の4ビツト群に分ける。前の4ビツト群は、第1
のルツクアツプ・テーブルであるSボツクス(32)の入
力に供給する。入来ワードは、Sボツクス(32)に予め
定めた記憶ワードを配置するアドレスとして使用し、記
憶ワードは出力ワードの前の4ビツトとしてあとで出力
される。同様に、入来ワードの後の4ビツトは、同じ機
能をもち出力ワードの後の4ビツトを発生するSボツク
ス(34)に供給する。ビツトかきまぜ器(28)及びルツ
クアツプ・テーブル(30)は、非直線的暗号化すなわち
分散(diffusion)処理を行うものである。
排他的オア手段(24)、キー目録アレー・メモリ(2
6)、非対称ビツトかきまぜ器(28)、ルツクアツプ・
テーブル手段(30)及びカウンタ(36),(38),(4
0)は、すべてこれらに接続されたCPU(42)によって制
御される。CPU(42)がこれらの装置を操作する特別な
方法を第3図を参照して説明する。第3図は、第2図装
置の動作を詳細に示す流れ図である。同図は、CPU(4
2)で実行されるステツプのプログラムと、これらのプ
ログラムされたステツプに続くCPU(42)によるこれら
の装置の操作によつて生じる一連の結果とを示してい
る。
第3図において、CPU(42)は、最初のステツプ(44)
でカウンタ(36),(38)及び(40)の終点を定める。
これは、各カウンタが自動的に0のような最初の値にリ
セツトされる点である。同図において、カウンタ(36)
の終点は、END POINT(0)と定義され14に等しくセツ
トされる。カウンタ(38)の終点は、END POINT(1)
と定義され15に等しくセツトされる。カウンタ(40)の
終点は、END POINT(2)と定義され13に等しくセツト
される。したがつて、例えば、カウント(38)はカウン
ト15に達すると自動的に0にリセツトされる。
次のステツプ(46)で、CPU(42)は、ワーキング及び
マスター・キー・テーブル・メモリの大きさを決める。
本例では、8×32ビツトである。カウンタ(36),(3
8)及び(40)は、その後ステツプ(48)で0に初期化
される。また、第2図でアレー(26)として記号的に示
されたマスター及びワーキング・テーブル・メモリも、
CPU(42)により0に初期化される。ステツプ(50)
で、可変整数Mが0にセツトされる。Mは、暗号化を受
けつつある入力バイトの列におけるバイトの番号を表わ
す。M=0は、第1バイトのことである。それから、CP
U(42)は、ステツプ(52)で、予め定めた最初のキー
目録データをマスター・キー・テーブル・メモリに入れ
る。マスター・キー・テーブルの内容は、それからステ
ツプ(54)でワーキング・テーブル・メモリにコピーさ
れる。
ステツプ(56)及び(58)で、一時に1バイトの入来ワ
ードは、CPU(42)に送られ可変指示されるものとな
る。すなわち、ステツプ(58)で、可変ワードWORDは、
ステツプ(56)に供給される次の入力バイトINPUT BYTE
に等しくセツトされる。
ステツプ(60)で、3つのカウンタ(36),(38),
(40)のどれかが使用中かを示す変数Nが、カウンタ
(36)に対応して0に等しくセツトされる。KEY POINTE
Rとして指示される変数は、ステツプ(62)で、カウン
タ(N)のカウントに等しくセツトされる。Nが0値の
場合、カウンタ(36)のカウンタがKEY POINTERにな
る。Nが1に等しい場合、カウンタ(38)のカウントが
KEY POINTERになり、Nが2に等しい場合、カウンタ(4
0)のカウントがKEY POINTERになる。
ステツプ(64)で、CPU(42)は、KEY POINTERの値によ
り指示されるワーキング・テーブル・アレー(26)から
のエントリと共に論理手段(24)により、可変WORDを排
他オア(XOR)させる。したがつて、N=0の場合、カ
ウンタ(36)のカウントにより指示されるアドレスにあ
るアレー(26)の内容が、上述のように、ステツプ(5
6)で供給される入力バイトに等しい可変WORDと共に排
他オアされることになる。
ステツプ(66)で、カウンタ(N)のカウントを1つだ
け進める。次のステツプ(68)で、CPU(42)は、カウ
ンタ(N)のカウントがEND POINTER(N)に等しいか
どうか質問する。答えがイエスであれば、ステツプ(7
0)で、カウンタ(N)のカウントを0に等しくセツト
する。答えがノーであれば、CPU(42)は、ステツプ(7
2)に進み、非対称ビツトかきまぜ器(28)に排他オア
されたWORDの全ビツトを右に1位置だけシフトさせる。
この処理により得られる8ビツト・ワードは、ステツプ
(74)で、ルツクアツプ・テーブル手段(30)により前
と後の4ビツト群に分けられる。CPU(42)は、ステツ
プ(76)で、前のビツトを用いて対応する4ビツトをル
ツクアツプ・テーブル(32)中に見付け、ステツプ(7
8)で、後の4ビツトを用いて対応する4ビツトをテー
ブル(34)中に見付ける。ステツプ(76)の出力は前の
4ビツトとして、またステツプ(78)の出力は後の4ビ
ツトとして用いられ、ステツプ(80)で、NEWORDとして
定義される新しい8ビツト・ワードが作られる。
ステツプ(82)で、コンピユータは、Nが2に等しいか
どうかをチエツクする。Nが2に等しければ、全3カウ
ンタ(36),(38)及び(40)がアクセスされたことを
示す。ノーであれば、CPU(42)は、直接ステツプ(8
8)に進みNをN+1に等しくセツトし、ステツプ(9
0)でWORDをNEWORDに等しくセツトする。CPUは、それか
らステツプ(62)に戻り、順に各カウンタ(36),(3
8)及び(40)の内容を用いてステツプ(62)から(8
2)までを繰返し、(56)に供給される入力バイトを暗
号化する。カウンタ(40)を使用し終わるとNは2に等
しくなり、CPU(42)は、ステツプ(84)に進みMが31
より大か否かを判定する。Mが31より大きいことは、コ
ード・ワードの全32バイトが暗号化されたことを示す。
Mが31より大でなければ、CPU(42)は、ステツプ(8
6)に進み、マスター・テーブル・メモリの第1エント
リから始めて各エントリを順次NEWORDで置換する。
その後、CPU(42)は、ステツプ(91)でMを1だけ進
め、ステツプ(94)でMが30より小さいか又は等しいか
を質問する。コード・ワードの全バイトが暗号化される
まで答えはノーであり、CPUは、ステツプ(58)に戻り
ステツプ(56)のコード・ワードの次のバイトを入力さ
せる。CPUは、Mが30より大となる、すなわちMが31に
等しくなるまで、ステツプ(56)より(94)までを繰返
す。それから、CPU(42)は、ステツプ(96)に進みM
が31より大か否かを判定する。M=31すなわちコード・
ワードの最後の8ビツトが暗号化された時点で、CPU(4
2)は、マスター・キー・テーブル・メモリの内容をス
テツプ(98)でワーキング・テーブル・メモリにコピー
する。それから、CPU(42)は、ステツプ(58)に進み
今や原文(18)であるINPUT BYTEを受入れ続ける。CPU
(42)は、同様にして、ステツプ(58)〜(84)を用い
入力原文の各8、ビツトを順次暗号化する。しかし、ス
テツプ(86),(92),(94)及び(98)をバイパス
し、単にステツプ(100)でNEWORDの各8ビツトを出力
し、ステツプ(102)で原文の終わりが判定され、そし
てステツプ(104)でプログラムは終わる。ここに、暗
号化プログラムの大きさが従来技術に比して非常に小さ
く、実行が非常に早いことが認められるであろう。
第4図は、本発明装置の解読操作を示すブロツク図であ
る。同図において、解読の間、第1図に示したと同じス
テツプ(10),(12)及び(14)は繰返されるが、暗号
文(20)がステツプ(16)で元の明瞭な原文(18)に解
読される。作業用キー目録アレー(14)は、暗号化され
たテキストの受領者が保有するコード・ワード(10)と
最初のキー目録アレーを使って簡単に再発生される。こ
こで、コード・ワード(10)と最初のキー目録アレーは
暗号化に用いたものと同じものであり、受領者(解読し
ようとする者)によって入力される。但し、暗号化にコ
ード・ワード及び/又は原キー目録アレーを暗号文と一
緒に(例えばディスク等の記録媒体中に)入れて解読側
に伝達するようにしてもよい。
第5図は、本発明に用いうる解読装置を示すブロツク図
である。同図について、第4図のステツプ(16)に使用
される装置を説明する。暗号文の各入力バイトは、順次
前と後の4ビツト群に分割され、別々に逆ルツクアツプ
・テーブル手段(106)の入力として供給される。逆ル
ツクアツプ・テーブル手段(106)は、テーブル(108)
と(110)より成り、ルツクアツプ・テーブル(30)と
全く逆の機能を果す。すなわち、ルツクアツプ・テーブ
ル(108)及び(110)の内容は、単にそれぞれルツクア
ツプ・テーブル(32)及び(34)の内容の逆である。ル
ツクアツプ・テーブル(108)及び(110)からの出力は
新ワードの前と後の4ビツトとして供給され、この新ワ
ードは非対称ビツト復元器(112)への入力として供給
される。復元手段(112)は、ビツトかきまぜ器(28)
で行われた場合に比し全ビツトを逆方向に同量だけシフ
トする。
復元器(112)からの出力は、それから、カウンタ(4
0)のカウントにより選択されるキー目録アレー(26)
からのエントリと共に排他的オア論理手段(114)にお
いて、排他オアされる。カウンタ(40)のカウントは歩
進される。その結果は入力に帰還され、この過程は順次
カウンタ(38)及び(36)について繰返され、8ビツト
の明瞭な原文が作られる。手段(106),(112),(11
4)及びメモリ(26)並びにカウンタ(36)〜(40)
は、すべてCPU(42)の制御の下に動作する。しかし、
第5図の装置は、暗号文の解読にのみ使用され、コード
・ワードからの作業用キー目録の発生には使用されない
点に注意されたい。これは、第2及び第3図について上
述したと同様にして行われる。
第6図は、第5図装置の動作を示す流れ図である。同図
において、CPU(42)は、解読の間、ステツプ(44)〜
(98)を繰返すことにより作業用キー目録を発生する。
ただし、ステツプ(84)のみは飛ばして直接ステツプ
(82)からステツプ(86)に進む。CPU(42)は、コー
ド・ワードの全バイトを暗号化して作業用キー目録を作
り、マスター・キー・テーブルに記憶してマスター・キ
ー・テーブルをワーキング・テーブルにステツプ(98)
でコピーした後、暗号文の解読に移る。
解読は、まず、ステツプ(116)でNを2に等しくセツ
トすることから始まる。CPU(42)は、次に、ステツプ
(118)で与えられる暗号文の最初の入力バイトINPUT B
YTEを取上げ、ステツプ(120)でWORDを次のINPUT BYTE
に等しくセツトする。ステツプ(122)で、CPUは、WORD
を前と後の4ビツトに分け、ステツプ(124)で、前の
4ビツトを用いて逆ルツクアツプ・テーブル(108)中
に対応する4ビツトを見付け、ステツプ(126)で、後
の4ビツトを用いて逆ルツクアツプ・テーブル(110)
中に対応する4ビツトを見付ける。ステツプ(128)
で、ステツプ(124)からの出力はNEWORDの前の4ビツ
トとなり、ステツプ(126)の出力はNEWORDの後の4ビ
ツトとなる。ステツプ(130)で、CPU(42)は、復元器
(112)にNEWORDの全ビツトを1位置左に、すなわちス
テツプ(74),(76),(78)で行つたのと反対にシフ
トされる。
次に、CUP(42)は、ステツプ(132)で、KEY POINTER
をカウンタ(N)のカウントに等しくセツトする。それ
から、NEWORDは、ステツプ(134)で、KEY POINTERによ
り指示されるワーキング・テーブル・メモリからのエン
トリと共に排他オア(XOR)される。ステツプ(136)
で、カウンタ(N)のカウントは1つ進められる。
それから、CUP(42)は、ステツプ(138)で、カウンタ
(N)のカウントがEND POINTに等しいかどうかを判定
する。その特定のカウンタがその終点に達しておれば、
そのカウンタのカウントはステツプ(140)で0にリセ
ツトされる。それから、CUP(42)は、ステツプ(142)
でNを1つ減らし、ステツプ(144)でWORDを排他オア
(XOR)されたNEWORDに等しくセツトする。こうして、
暗号文の最初の8ビツトが第5図の装置によつて解読さ
れる。暗号化過程で行つたように、この一連のステツプ
は更に2回繰返される。すなわち、各カウンタ(40),
(38)及び(36)に対し、この順序でこれらのステツプ
が繰返される。この段階の完了は、ステツプ(146)
で、Nが−1に等しいかどうかを質問して判定される。
答えがノー、すなわち未だ全部のカウンタが使用されて
いない場合、CUP(42)は、ステツプ(122)に戻り、N
が−1に等しくなるまでステツプ(122)より(146)ま
でを繰返す。その後ステツプ(148)で、WORDが明瞭な
原文として出力される。ステツプ(150)で暗号文が終
わりに達しない場合、CUPは、ステツプ(116)に戻り、
暗号文の次のINPUT BYTEを処理する。この処理は、文の
終わりが決定されるまでステツプ(116)〜(150)によ
り繰返される。文の終わりが決定されると、CUPはステ
ツプ(152)でプログラムを終了する。
本発明の暗号化装置によれば、ただ1つのコード・ワー
ドを用いて必要な再帰的キー目録を発生するので、デー
タ記憶量を大きく減らすことができる。上述の実施例で
は特定の非直線的暗号化手段((28),(30),(10
6)及び(112))を好適なものとして示したが、本発明
においては他の型の非直線的暗号化手段を使用してもよ
い。
また、上述の実施例ではカウンタのカウントは作業用キ
ー目録発生後リセツトされないが、他の実施例において
エラー源となる可能性を除くためにこのステツプを追加
してもよい。
本明細書で用いた語句や表現は、説明のためであつて限
定のためのものではなく、均等物を除外するものでもな
い。本発明は、特許請求の範囲内において種々の変形・
変更をしうるものである。
〔発明の効果〕
本発明の効果は、次のとおりである。
(イ) ただ1つのコード・ワードを用いて必要な再帰
的キー目録を発生するので、データ記憶に要する装置を
大幅に減少することができる。
(ロ) 必要なソフトウエアが少なくてすむ。暗号化プ
ログラムの大きさが非常に少なく、実行速度が早い。
(ハ) 暗号データのフアイルをもつ人間によってソフ
トウエアが変えられるのを防止する。
(ニ) 暗号データの所有者が資格のあるものかどうか
をチエツクできる。
【図面の簡単な説明】
第1図は本発明の暗号化操作を示すブロツク図、第2図
は本発明装置の実施例を示すブロツク図、第3図は第2
図装置の動作を示す流れ図、第4図は本発明の解読操作
を示すブロツク図、第5図は本発明に用いうる解読装置
を示すブロツク図、第6図は第5図装置の動作を示す流
れ図である。 (26)……マスター・テーブル・ランダムアクセス(ア
ドレス可能)メモリ及びワーキング・テーブル・ランダ
ムアクセス(アドレス可能)メモリ、(36)〜(40)…
…カウンタ、(24)……排他的オア論理手段、(28)…
…非直線的暗号化手段、(42)……制御手段。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】ディジタル形式のテキストを暗号化するた
    めの再帰的キー目録の発生を用いる装置において、 マスターテーブル・ランダムアクセス、アドレス指定可
    能メモリと、 ワーキングテーブル・ランダムアクセス、アドレス指定
    可能メモリと、 異なった計数容量を持つ複数のリセット可能カウンタ
    と、 2つの入力と1つの出力を有する排他的論理和手段と、 該排他的論理和手段の出力が供給され、入力ディジタル
    ワードの各ビット位置をかきまぜて異なったビット位置
    にして、その結果を出力する第1非対称ビットかきまぜ
    手段と;所定のアドレス指定可能ワードを蓄積し、第1
    非対称ビットかきまぜ手段の出力から供給された入力デ
    ィジタルワードを、蓄積されたワードのアドレス指定を
    して出力させるのに使われる所定のビット群に分ける第
    1ルックアップテーブル手段とを含む非線形暗号化手段
    と、 マスターテーブル及びワーキングテーブル・メモリ、排
    他的論理和手段、カウンタ、非線形暗号化手段に接続さ
    れていて;所定のキー目録データをロードし、その後、
    排他的論理和手段に、所定群のビット形式のコードワー
    ドと前記カウンタの1つにある計数値を参照して選択さ
    れたマスターテブル・メモリ中のエントリーとの排他的
    論理和をとらせ;前記1つのカウンタの計数値を増加
    し;排他的論理和手段への入力として非線形暗号化手段
    の出力を供給し;毎回異なったカウンタを使って複数回
    このシーケンスを繰り返し、マスターテーブル手段の一
    連のエントリーとしてこの非線形暗号化手段の出力を蓄
    積し;これらの動作を全コードワードを暗号化するまで
    繰り返し、マスターテーブル・メモリの内容をワーキン
    グテーブル・メモリにロードし、その後、テキストの一
    連の群のディジタルビットに対してこの動作を繰り返す
    ように制御する制御手段と、 を具備した暗号化装置。
  2. 【請求項2】入力された後に対して第1ルックアップ・
    テーブルと逆の動作をする第2のルックアップ・テーブ
    ル手段と、 該第2ルックアップ・ケーブル手段の出力が供給され、
    入力ディジタル・ワードの各ビット位置を第1非対称ビ
    ットかきまぜ手段と反対方向に同じ量だけシフトし、そ
    の結果を排他的論理和手段の入力に出力する第2非対称
    ビットかきまぜ手段と、を具備したテキスト解読装置で
    あって、 制御装置が、 第2ルックアップ・テーブル手段に所定群のビットの形
    で暗号化されたディジタル語を入力させ、排他的論理和
    手段に、前記カウンタの1つにある形数値を参照して選
    ばれたワーキングテーブル・メモリのエントリーと、第
    2非対称ビットかきまぜ手段からの出力との排他的論理
    和をとらせ、 前記1つのカウンタの計数値を増加し、 その排他的論理和手段の出力を第2ルックアップ・テー
    ブル手段の入力に供給し、 毎回前記カウンタの中の異なったカウンタを使ってこの
    シーケンスを複数回繰り返し、 最後に排他的論理和手段から結果を出力する、 ようにして成る暗号文の解読装置を備えた特許請求の範
    囲第1項記載の暗号化装置。
JP59223648A 1983-10-24 1984-10-24 再帰的キー目録暗号化装置 Expired - Fee Related JPH0723984B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US545079 1983-10-24
US06/545,079 US4776011A (en) 1983-10-24 1983-10-24 Recursive key schedule cryptographic system

Publications (2)

Publication Number Publication Date
JPS60121486A JPS60121486A (ja) 1985-06-28
JPH0723984B2 true JPH0723984B2 (ja) 1995-03-15

Family

ID=24174822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59223648A Expired - Fee Related JPH0723984B2 (ja) 1983-10-24 1984-10-24 再帰的キー目録暗号化装置

Country Status (2)

Country Link
US (1) US4776011A (ja)
JP (1) JPH0723984B2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2204975B (en) * 1987-05-19 1990-11-21 Gen Electric Co Plc Authenticator
US5001755A (en) * 1988-04-19 1991-03-19 Vindicator Corporation Security system network
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
US5038376A (en) * 1989-10-04 1991-08-06 Teledyne Industries, Inc. Block substitution based encryption by a modulo 2 addition method and apparatus
US5113444A (en) * 1990-09-05 1992-05-12 Arnold Vobach Random choice cipher system and method
US5239584A (en) * 1991-12-26 1993-08-24 General Electric Corporation Method and apparatus for encryption/authentication of data in energy metering applications
US5307412A (en) * 1992-09-30 1994-04-26 Vobach Arnold R Random coding cipher system and method
US7835989B1 (en) 1992-12-09 2010-11-16 Discovery Communications, Inc. Electronic book alternative delivery systems
RU2153234C2 (ru) 1992-12-09 2000-07-20 Дискавери Коммьюникейшнз, Инк. Устройство для использования в головной станции системы кабельного телевидения (варианты) и способ распределения программ абонентам в системе кабельного телевидения
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
US7849393B1 (en) 1992-12-09 2010-12-07 Discovery Communications, Inc. Electronic book connection to world watch live
US5335280A (en) * 1993-01-28 1994-08-02 Vobach Arnold R Random sum cipher system and method
US7865567B1 (en) 1993-12-02 2011-01-04 Discovery Patent Holdings, Llc Virtual on-demand electronic book
US8095949B1 (en) 1993-12-02 2012-01-10 Adrea, LLC Electronic book with restricted access features
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
US7861166B1 (en) 1993-12-02 2010-12-28 Discovery Patent Holding, Llc Resizing document pages to fit available hardware screens
AU2076695A (en) * 1994-03-23 1995-10-09 Chantilley Corporation Limited Apparatus for generating encryption/decryption look-up tables using a session key
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
JPH09233066A (ja) * 1996-02-23 1997-09-05 Sony Corp 暗号化/解読化方法および装置
US6041123A (en) * 1996-07-01 2000-03-21 Allsoft Distributing Incorporated Centralized secure communications system
US5841872A (en) * 1996-07-01 1998-11-24 Allsoft Distributing Incorporated Encryption enhancement system
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
US6526145B2 (en) * 1997-01-29 2003-02-25 David M. Marzahn Data encryptor/decryptor using variable in-place I/O
US6157723A (en) * 1997-03-03 2000-12-05 Motorola, Inc. Method and apparatus for secure communications with encryption key scheduling
CA2210199A1 (en) 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
US6151395A (en) * 1997-12-04 2000-11-21 Cisco Technology, Inc. System and method for regenerating secret keys in diffie-hellman communication sessions
US6035042A (en) * 1997-12-10 2000-03-07 Allegheny Teledyne Inc. High speed and method of providing high speed table generation for block encryption
ATE325478T1 (de) 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
WO1999067919A2 (en) 1998-06-03 1999-12-29 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
AU5458199A (en) 1998-07-02 2000-01-24 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
US7013389B1 (en) 1999-09-29 2006-03-14 Cisco Technology, Inc. Method and apparatus for creating a secure communication channel among multiple event service nodes
US6987855B1 (en) 1999-09-10 2006-01-17 Cisco Technology, Inc. Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups
US7434046B1 (en) 1999-09-10 2008-10-07 Cisco Technology, Inc. Method and apparatus providing secure multicast group communication
US7103185B1 (en) 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US6684331B1 (en) 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
US7181014B1 (en) 1999-09-10 2007-02-20 Cisco Technology, Inc. Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange
US7260716B1 (en) 1999-09-29 2007-08-21 Cisco Technology, Inc. Method for overcoming the single point of failure of the central group controller in a binary tree group key exchange approach
US7089211B1 (en) * 2000-01-12 2006-08-08 Cisco Technology, Inc. Directory enabled secure multicast group communications
US6941457B1 (en) 2000-06-30 2005-09-06 Cisco Technology, Inc. Establishing a new shared secret key over a broadcast channel for a multicast group based on an old shared secret key
US20040186805A1 (en) * 2000-07-01 2004-09-23 Gologorsky Steven Phillip Sealed-bid auction comprising staged bid publication
US7299207B1 (en) * 2000-08-23 2007-11-20 Demont & Breyer, Llc Data processing system that provides an auction with programmable proxy bids
US7006629B2 (en) * 2000-12-19 2006-02-28 International Business Machines Corporation Method and system for processing a data set
US7203317B2 (en) * 2001-10-31 2007-04-10 Hewlett-Packard Development Company, L.P. System for enabling lazy-revocation through recursive key generation
US7334125B1 (en) 2001-11-27 2008-02-19 Cisco Technology, Inc. Facilitating secure communications among multicast nodes in a telecommunications network
JP2005527853A (ja) * 2002-05-23 2005-09-15 アトメル・コーポレイション 高度暗号化規格(aes)のハードウェア暗号法エンジン
WO2006048703A1 (en) * 2004-11-05 2006-05-11 Synaptic Laboratories Limited Process of and apparatus for encoding a signal
KR20060081847A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 비밀키를 보호하는 스마트 카드 및 그것의 방법
JP2008530663A (ja) * 2005-02-11 2008-08-07 ユニバーサル データ プロテクション コーポレーション マイクロプロセッサのデータセキュリティの方法およびシステム
WO2007028241A2 (en) * 2005-09-07 2007-03-15 Universal Data Protection Corporation Method and system for data security of recording media
GB0601700D0 (en) * 2006-01-27 2006-03-08 Claricom Ltd Printing Method
US9251143B2 (en) 2012-01-13 2016-02-02 International Business Machines Corporation Converting data into natural language form
WO2014131546A1 (fr) * 2013-02-27 2014-09-04 Morpho Procede d'encodage de donnees sur une carte a puce par des codes de poids constant
US10021079B2 (en) 2015-05-31 2018-07-10 Awen Labs, Llc Security system, method, and apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526583A (en) * 1978-08-17 1980-02-26 Fujitsu Ltd Ciphor circuit
JPS5555385A (en) * 1978-10-18 1980-04-23 Fujitsu Ltd Cipher key control mechanism

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798359A (en) * 1971-06-30 1974-03-19 Ibm Block cipher cryptographic system
US3796830A (en) * 1971-11-02 1974-03-12 Ibm Recirculating block cipher cryptographic system
US4004089A (en) * 1975-02-28 1977-01-18 Ncr Corporation Programmable cryptic device for enciphering and deciphering data
US4160120A (en) * 1977-11-17 1979-07-03 Burroughs Corporation Link encryption device
US4193131A (en) * 1977-12-05 1980-03-11 International Business Machines Corporation Cryptographic verification of operational keys used in communication networks
US4206315A (en) * 1978-01-04 1980-06-03 International Business Machines Corporation Digital signature system and apparatus
US4322576A (en) * 1979-12-28 1982-03-30 Racal-Milgo, Inc. Message format for secure communication over data links
US4408093A (en) * 1981-06-05 1983-10-04 Itt Industries, Inc. Cryptographic encoder-decoder
US4578530A (en) * 1981-06-26 1986-03-25 Visa U.S.A., Inc. End-to-end encryption system and method of operation
US4520232A (en) * 1982-04-30 1985-05-28 Wilson William J Polygraphic encryption-decryption system
US4578531A (en) * 1982-06-09 1986-03-25 At&T Bell Laboratories Encryption system key distribution method and apparatus
US4605820A (en) * 1983-11-10 1986-08-12 Visa U.S.A. Inc. Key management system for on-line communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526583A (en) * 1978-08-17 1980-02-26 Fujitsu Ltd Ciphor circuit
JPS5555385A (en) * 1978-10-18 1980-04-23 Fujitsu Ltd Cipher key control mechanism

Also Published As

Publication number Publication date
JPS60121486A (ja) 1985-06-28
US4776011A (en) 1988-10-04

Similar Documents

Publication Publication Date Title
JPH0723984B2 (ja) 再帰的キー目録暗号化装置
TWI734368B (zh) 實現隱私保護的數據同態加解密方法及裝置
US5008935A (en) Efficient method for encrypting superblocks of data
JP3320928B2 (ja) 暗号化システム
EP0342832B1 (en) Dynamic feedback arrangement scrambling technique keystream generator
US5095525A (en) Memory transformation apparatus and method
US5003597A (en) Method and apparatus for data encryption
JP2689998B2 (ja) 暗号動作を行う装置
US5673319A (en) Block cipher mode of operation for secure, length-preserving encryption
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
US8050401B2 (en) High speed configurable cryptographic architecture
US4907275A (en) Encryption apparatus
US4538240A (en) Method and apparatus for performing hashing operations using Galois field multiplication
JPH09510591A (ja) セッションキーを用いて暗号化/解読用ルックアップテーブルを生成するための装置
EP0289086B1 (en) A method of and arrangement for digital signal encryption
JP2950485B2 (ja) ストリーム暗号処理装置
CN112134914B (zh) 一种基于密码学的分布式安全存储策略
JPH0575596A (ja) 信号撹拌装置および暗号装置
JPH10153954A (ja) 暗号装置
TW202248913A (zh) 機器學習模型檔案解密方法及用戶裝置
JP3013777B2 (ja) 循環演算にもとづく暗号の暗号鍵生成装置
JPS59167147A (ja) 暗号装置
JP3795315B2 (ja) 暗号化・復号化回路
JPH04111616A (ja) 可変長データ・パッキング装置
JPS6113233B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees