JP3566311B2 - Block cipher based on pseudo-random nonlinear sequence generator - Google Patents

Block cipher based on pseudo-random nonlinear sequence generator Download PDF

Info

Publication number
JP3566311B2
JP3566311B2 JP02638591A JP2638591A JP3566311B2 JP 3566311 B2 JP3566311 B2 JP 3566311B2 JP 02638591 A JP02638591 A JP 02638591A JP 2638591 A JP2638591 A JP 2638591A JP 3566311 B2 JP3566311 B2 JP 3566311B2
Authority
JP
Japan
Prior art keywords
data
shift register
cycle
data processing
routine
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
JP02638591A
Other languages
Japanese (ja)
Other versions
JPH04215689A (en
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.)
Arris Technology Inc
Original Assignee
General Instrument 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 General Instrument Corp filed Critical General Instrument Corp
Publication of JPH04215689A publication Critical patent/JPH04215689A/en
Application granted granted Critical
Publication of JP3566311B2 publication Critical patent/JP3566311B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Nonlinear Science (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

A block-cipher cryptographic device that processes plaintext/encrypted input data with a key signal to provide encrypted/decrypted output data. Such device includes a shift register (10) for receiving input data (13); and data processing means (12), including a pseudorandom nonlinear sequence generator (32), for executing the following data processing routine a selected number of cycles to provide output data (15): processing (18, 22, 30) the contents (16) of said shift register with a key signal (14) to provide initially processed data (28); initializing the pseudorandom nonlinear sequence generator with the initially processed data; running the pseudorandom nonlinear sequence generator to generate a keystream (34); segregating (36, 38) portions of the keystream; processing (44) said segregated portions of said keystream with a portion of the data in the shift register to provide a block of processed data; and shifting said block of processed data into the shift register. To further increase the randomness of the pseudorandom keystream generator, and hence the encryption security, the data processing routine segregates the keystream in accordance with a routine (36) wherein the beginning of said segregated portion is provided at a time related to the beginning of the keystream in response to a duration indication (Y); segregates (38) every nth bit of the keystream from said beginning of said segregated portion for a selected number of segregated bits in response to a frequency indication (n); and provides said initially processed data by first processing (18) said shift register contents and said key signal and then rotating (22) data produced by said first processing in response to a rotation indication (X). The duration indication, the frequency indication and the rotation indication are each separately provided for each of the cycles and may be different for each of the cycles. <IMAGE> <IMAGE>

Description

【0001】
【産業上の利用分野】
本発明は、ブロック暗号装置に関する。
【0002】
【従来の技術】
DES(データ暗号化標準)アルゴリズムに基づいたブロック暗号装置は、高度の暗号の秘密性が要求される場合にしばしば使用される。しかしながら、現在DESアルゴリズムに基づいたブロック暗号装置を含む暗号化/暗号解読製品は米国からの輸出は制限されている。
【0003】
【発明が解決しようとする課題】
本発明は、DESアルゴリズムを使用するものではないが、それにもかかわらず多くの応用において充分に高度の暗号の秘密性を与えるようなブロック暗号装置を提供することを目的とするものである。
【0004】
【課題を解決するための手段】
本発明のブロック暗号装置は、暗号化または暗号解読出力データを提供するためにキー信号で普通のテキストまたは暗号化された入力データを処理する装置である。そのような装置は入力データを受けるシフトレジスタと、出力データを与えるために選択されたサイクル数だけ以下のデータ処理ルーチンを実行する疑似ランダム非線形シーケンス発生装置を含むデータ処理手段とを備えている。そのデータ処理ルーチンは、
最初に処理されたデータを出力するためにキー信号により前記シフトレジスタの内容を処理し、
最初に処理されたデータによって疑似ランダム非線形シーケンス発生装置を初期化し、
キー流を発生するため疑似ランダム非線形シーケンス発生装置を動作させ、
キー流の一部を分離し、
処理されたデータのブロックを与えるためにシフトレジスタ中のデータの一部分によりキー流の前記分離された部分を処理し、
シフトレジスタ中へ処理されたデータのブロックをシフトする処理を有している。
秘密の程度はデータ処理ルーチンの実行の選択されたサイクル数が増加するにしたがって増加する。
【0005】
疑似ランダムキー流発生装置のランダム性をさらに増加させ、したがって本発明の暗号装置によって得られる秘密性をさらに増加させるために、データ処理ルーチンは、前記分離部分の最初が期間指示に応じてキー流の開始に関係する時間を与えるルーチンにしたがってキー流を分離し、周波数指示に応じて分離されたビツトの選択された数に対して前記分離された部分の最初からn番目毎のキー流のビツトを分離し、前記シフトレジスタ内容および前記キー信号の最初の処理によって前記最初に処理されたデータを与え、ローテーション指示に応じて前記最初の処理によって生成されたデータをローテーションさせる。期間指示、周波数指示、およびローテーション指示はそれぞれ各サイクルに対してそれぞれ別々に与えられ、各サイクルに対して異なっている。
【0006】
本発明の付加的な特徴を添付図面を参照にして実施例で説明する。
【0007】
【実施例】
図1を参照すると(a)のブロック図に示された本発明の好ましい実施例の暗号装置は、Nビツトのフィードバックシフトレジスタ10およびデータ処理システム12を具備している。以下説明する部分を除いてはデータ処理システム12はマイクロプロセッサ中のファームウエアによって構成されている。
【0008】
図1の(a)に示すブロック暗号を暗号化するための暗号装置はNバイトのブロックの普通のテキスト入力データ13をMバイトの暗号キー信号14で処理してNバイトのブロックの暗号化された出力データ15を出力する。好ましい実施例ではM=7、N=8である。フィードバックシフトレジスタ10はNバイトのブロックの普通のテキスト入力データ13を受ける。
【0009】
データ処理システム12は、図1の(b)に示すように最初のデータ処理ルーチン18においてキー信号14のバイトに普通のテキストのバイト16を加算することにより普通のテキスト入力データの上位M桁のバイト16をMバイトの暗号キー信号14によって処理する。別の実施例では、この最初のデータ処理ルーチン18は例えば減算または排他的オア処理(XOR)のような加算以外の他の処理によって行われることもできる。
【0010】
最初のルーチン18によって生成されたMバイトのデータ20はローテーション指示Xに応じてバイトの数Xにより第2のデータ処理ルーチン22にしたがってデータ処理システム12によってローテーションされる。ローテーションされたバイト26と最初に生成されたバイト20との関係は、M=7による3バイトのローテーション指示に対して次の表1に示されている。
【0011】
表 1
バイト20 バイト1 バイト2 バイト3 バイト4 バイト5 バイト6 バイト7
バイト26 バイト4 バイト5 バイト6 バイト7 バイト1 バイト2 バイト3
データ処理システム12はそれからデータ伸張処理ルーチン30を実行することによって最初に処理されたデータ28のNバイトを与えるためにローテーションされ他Mバイト26を伸張する。実施例ではM=7,N=8においてN番目のバイトがMのバイトを排他的オア(XOR)処理することによって生成される。
【0012】
データ処理システム12に含まれている疑似ランダム非線形シーケンス発生装置32は最初に処理されたデータ28のNバイトによって初期化され、キー流34を発生するために動作される。実施例では、キー流を発生する疑似ランダム非線形シーケンス発生装置32はダイナミックフィードバック配置スクランブル技術(DFAST)キー流発生装置32である。それはデータ処理システム12の処理速度を増加させるためにハードウエアで構成されている。DFASTキー流発生装置は米国特許第4,860,353 号明細書(発明者David S. Brown)に記載されている。この明細書に記載されているDFASTキー流発生装置の実施例は、入力データを受けるためにダイナミック(または非線形)フィードバックシフトレジスタおよびスタチック(または線形)フィードバックシフトレジスタを備えている。上位桁のNバイト28はDFASTキー流発生装置32のダイナミックフィードバックシフトレジスタ中に受信され、一方残りのバイトは発生装置32のスタチックフィードバックシフトレジスタ中に受信される。DFASTキー流発生装置32はNバイト28の高速疑似ランダム非線形シーケンス処理を行って迅速にキー流を発生し、それから単一のバイトが次のサイクルの処理のためにフィードバックされることのできるデータを生成するために容易に分離されることができる。別の実施例では、他の形式の疑似ランダム非線形シーケンス発生装置がDFASTキー流発生装置32の代りに使用されることができる。
【0013】
次にデータ処理システム12は、廃棄ルーチン36および分離ルーチン38を実行してキー流34の部分を単一バイト40に分離する。データ処理システム12はキー流34を廃棄ルーチン36にしたがって分離し、それにおいてキー流42の分離された部分の最初はキー流34の最初のYバイトを廃棄することによって期間指示Yに応じてキー流34の最初に関係した時点において与えられる。
【0014】
データ処理システム12はさらに8ビツトが単一のバイト40を形成するために分離されるまで周波数指示nに応じて前記分離された部分の最初からキー流42のn番目のビツト毎に分離することによってキー流42を分離する。
【0015】
廃棄ルーチン36および分離ルーチン38の詳細を図2を参照にして説明する。これらのルーチンを実行するために、データ処理システムは期間指示カウンタ48、周波数指示カウンタ50、ビツトカウンタ52、バイトレジスタ54、およびオアゲート55を備えている。3個のカウンタ48,50,52の全てはDFASTキー流発生装置32をクロックするのと同じクロック信号56によってクロックされる。カウンタ48の出力はオアゲート55を介してカウンタ50の負荷入力に結合されている。カウンタ50の出力はカウンタ52のエネーブル入力およびバイトレジスタ54のエネーブル入力に供給され、またオアゲート55を介してカウンタ50の入力に結合される。キー流34はバイトレジスタ54のデータ入力に供給される。
【0016】
データ処理ルーチンの各サイクルに対して期間指示Yは期間指示カウンタ48中に負荷され、周波数指示nは周波数指示カウンタ50中に負荷される。キー流34の最初のYバイト後、スタートパルス60が期間指示カウンタ48により周波数指示カウンタ50に出力され、それはビツトカウンタ52およびバイトレジスタ54にエネーブルパルスを供給する。したがってバイトレジスタ54はキー流34の同時のビツトを登録することができるようになり、バイトレジスタ54に登録されたビツト数はビツトカウンタ52によってカウントされる。周波数指示カウンタ50は、ビツトカウンタ52のカウントが8に達するまでバイトレジスタ54のエネーブル入力およびビツトカウンタ52のエネーブル入力にパルス62をDFASTクロック信号56のn番眼のカウント毎に供給し、カウントが8に達するとき3個のカウンタ48,50,52の全てに停止パルス58が与えられる。
【0017】
再び図1のブロック暗号装置を参照すると、データ処理システム12はさらにルーチン44を実行し、それによってキー流34の部分を分離することによって形成された単一バイト40がフィードバックシフトレジスタ10のデータの最少桁バイトと排他的オア処理されて処理されたデータ46のバイトを与える。
【0018】
処理されたデータ46のバイトはフィードバックシフトレジスタ10の最大桁バイト位置にシフトされ、シフトレジスタ10中のデータはデータの最少桁バイトがシフトレジスタ10からシフトして取出されるようにシフトされる。
【0019】
これはデータ処理ルーチンの1サイクルを完成する。普通のテキストの入力データの単一ブロックの暗号化を実行するサイクル数は暗号装置の特定の適用に必要とされる暗号の秘密性の程度によって選択される。キー信号または入力データの任意の単一ビットが出力データの毎ビットに影響を与えることを保証するために、少なくとも16サイクルでなければならない。さらに付加的に秘密性を高めるためにさらに多くのサイクルが実行されることが好ましい。サイクル数は、普通のテキスト入力データが暗号化のために暗号装置に与えられる周波数に関係するデータ処理システム12の処理速度によって制限される。
【0020】
データ処理ルーチンの各サイクルに対して、ローテーション指示X、期間指示Y、および周波数指示nは分離して与えられる。したがってこれらの各指示は異なったサイクルのそれぞれにおいて異なることかできる。
【0021】
実施例において、選択されたサイクル数および異なったサイクルのそれぞれに対するローテーション指示X、期間指示Y、および周波数指示nはマイクロプロセッサのハームウエア中に予め設定される。別の実施例では、選択されたサイクル数および、または異なったサイクルのそれぞれに対するローテーション指示X、期間指示Y、および周波数指示nはマイクロプロセッサへの可変入力として与えられる。
選択されたサイクル数の処理の完了後、暗号化された出力データ15はフィードバックシフトレジスタ10から出力される。
別の実施例では、暗号化された出力データはフィードバックシフトレジスタ10とは別の部品(図示せず)に処理されたデータのバイト46を送ることによって与えられる。
【0022】
図3を参照すると、本発明によるブロック暗号解読用の暗号装置の好ましい実施例のブロック図は以下の点を除いて図1および図2を参照にして上述したブロック暗号装置と同一である。
図3に示すブロック暗号装置は、暗号解読された出力データ15’ のNバイトのブロックを出力するためにMバイトの暗号解読キー信号14によりNバイトの暗号化された入力データのブロック13’ を処理する。
フィードバックシフトレジスタ10はNバイトの暗号化された入力データのブロック13’ を受信する。
【0023】
データ処理ルーチン44においては、キー信号34の部分を分離することによって形成された単一のバイト40がフィードバックシフトレジスタ10中のデータの最大桁バイトと排他的オア処理されて処理されたデータのバイト46を与える。この処理されたデータのバイト46はシフトレジスタ10中の最小桁バイト位置へシフトされ、それによってシフトレジスタ10中のデータはデータの最大桁バイトがシフトレジスタ10からシフトして取出される。
【0024】
図3のブロック暗号装置は図1のブロック暗号装置によって与えられた暗号化されたデータを暗号解読して、そのような暗号化されたデータを図1のブロック暗号装置によって暗号化された普通のテキストデータに変換する。
【図面の簡単な説明】
【図1】本発明によるブロック暗号装置の機能ブロック図およびこの暗号装置のデータ処理システムにより実行されたデータ処理ルーチンのブロック図。
【図2】図1の暗号装置の廃棄および分離した機能の詳細を示す機能ブロック図。
【図3】本発明によるブロック暗号の暗号解読装置の機能ブロック図。
[0001]
[Industrial applications]
The present invention relates to a block cipher device.
[0002]
[Prior art]
Block ciphers based on the DES (Data Encryption Standard) algorithm are often used where a high degree of cryptographic confidentiality is required. However, currently, encryption / decryption products, including block ciphers based on the DES algorithm, are restricted from being exported from the United States.
[0003]
[Problems to be solved by the invention]
It is an object of the present invention to provide a block cipher that does not use the DES algorithm, but nevertheless provides a sufficiently high degree of cryptographic secrecy in many applications.
[0004]
[Means for Solving the Problems]
The block cipher device of the present invention is a device that processes ordinary text or encrypted input data with a key signal to provide encrypted or decrypted output data. Such an apparatus comprises a shift register for receiving input data and data processing means including a pseudo-random non-linear sequence generator for executing the following data processing routine for a selected number of cycles to provide output data. The data processing routine is
Processing the contents of the shift register with a key signal to output the first processed data;
Initialize the pseudo-random nonlinear sequence generator with the first processed data,
Operate a pseudo-random nonlinear sequence generator to generate a key flow,
Separate part of the key flow,
Processing said separated portion of the key stream with a portion of the data in the shift register to provide a block of processed data;
And processing for shifting the processed block of data into the shift register.
The degree of secrecy increases as the selected number of cycles of execution of the data processing routine increases.
[0005]
To further increase the randomness of the pseudo-random key stream generator, and thus the confidentiality provided by the cryptographic device of the present invention, the data processing routine may be such that the beginning of the separated part is a key stream in response to a period indication. The key stream is separated according to a routine which gives the time associated with the start of the key stream, and for each selected number of bits separated according to the frequency indication, the bits of the key stream from the beginning every nth of said separated part. And giving the first processed data by the first processing of the shift register contents and the key signal, and rotating the data generated by the first processing according to the rotation instruction. The period indication, the frequency indication, and the rotation indication are provided separately for each cycle, and are different for each cycle.
[0006]
Additional features of the invention will be described by way of example with reference to the accompanying drawings.
[0007]
【Example】
Referring to FIG. 1, the encryption device of the preferred embodiment of the present invention shown in the block diagram of FIG. 1A includes an N-bit feedback shift register 10 and a data processing system 12. Except for the parts described below, the data processing system 12 is constituted by firmware in a microprocessor.
[0008]
An encryption device for encrypting a block cipher shown in FIG. 1A processes an N-byte block of ordinary text input data 13 with an M-byte encryption key signal 14 to encrypt the N-byte block. The output data 15 is output. In the preferred embodiment is M = 7, N = 8. The feedback shift register 10 receives a block of normal text input data 13 of N bytes.
[0009]
The data processing system 12 adds the normal text byte 16 to the key signal 14 byte in a first data processing routine 18 as shown in FIG. The byte 16 is processed by the M-byte encryption key signal 14. In another embodiment, this initial data processing routine 18 may be performed by other processing than addition, such as, for example, subtraction or exclusive OR processing (XOR).
[0010]
The M-byte data 20 generated by the first routine 18 is rotated by the data processing system 12 according to the second data processing routine 22 by the number X of bytes according to the rotation instruction X. The relationship between the rotated byte 26 and the first generated byte 20 is shown in Table 1 below for a 3-byte rotation indication with M = 7.
[0011]
Table 1
Byte 20 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7
Byte 26 byte 4 byte 5 byte 6 byte 7 byte 1 byte 2 byte 3
Data processing system 12 then rotates to provide N bytes of data 28 that were initially processed by executing data decompression routine 30 to decompress the other M bytes 26. In the embodiment, at M = 7, N = 8, the Nth byte is generated by performing an exclusive OR (XOR) operation on the M bytes.
[0012]
The pseudo-random non-linear sequence generator 32 included in the data processing system 12 is initialized with N bytes of the first processed data 28 and is operated to generate a key stream 34. In an embodiment, the pseudo-random non-linear sequence generator 32 for generating a key stream is a dynamic feedback constellation scrambling technique (DFAST) key stream generator 32. It is configured in hardware to increase the processing speed of the data processing system 12. A DFAST key flow generator is described in U.S. Patent No. 4,860,353 (David S. Brown). The embodiments of the DFAST key flow generator described herein include a dynamic (or non-linear) feedback shift register and a static (or linear) feedback shift register for receiving input data. The upper N bytes 28 are received in the dynamic feedback shift register of the DFAST key stream generator 32, while the remaining bytes are received in the static feedback shift register of the generator 32. The DFAST key stream generator 32 performs a fast pseudo-random non-linear sequence processing of N bytes 28 to quickly generate a key stream, and then converts a single byte of data that can be fed back for processing in the next cycle. Can be easily separated to produce. In other embodiments, other types of pseudo-random non-linear sequence generators can be used in place of DFAST key flow generator 32.
[0013]
Data processing system 12 then executes a discard routine 36 and a separation routine 38 to separate portions of key stream 34 into single bytes 40. The data processing system 12 separates the key stream 34 in accordance with a discard routine 36, in which the first of the separated portions of the key stream 42 discards the first Y bytes of the key stream 34, thereby responding to the period indication Y It is provided at the time of the beginning of stream 34.
[0014]
Data processing system 12 further separates every nth bit of key stream 42 from the beginning of said separated portion in response to frequency indication n until eight bits are separated to form a single byte 40. To separate the key stream 42.
[0015]
Details of the discard routine 36 and the separation routine 38 will be described with reference to FIG. To execute these routines, the data processing system includes a period indicating counter 48, a frequency indicating counter 50, a bit counter 52, a byte register 54, and an OR gate 55. All three counters 48, 50, 52 are clocked by the same clock signal 56 that clocks the DFAST key flow generator 32. The output of counter 48 is coupled via OR gate 55 to the load input of counter 50. The output of counter 50 is provided to an enable input of counter 52 and an enable input of byte register 54, and is coupled to an input of counter 50 via OR gate 55. The key stream 34 is provided to a data input of a byte register 54.
[0016]
For each cycle of the data processing routine, the period instruction Y is loaded into the period instruction counter 48, and the frequency instruction n is loaded into the frequency instruction counter 50. After the first Y bytes of the key stream 34, a start pulse 60 is output by the period indicating counter 48 to the frequency indicating counter 50, which provides an enable pulse to the bit counter 52 and the byte register 54. Therefore, the byte register 54 can register the simultaneous bits of the key stream 34, and the number of bits registered in the byte register 54 is counted by the bit counter 52. The frequency indicating counter 50 supplies a pulse 62 to the enable input of the byte register 54 and the enable input of the bit counter 52 at every n-th count of the DFAST clock signal 56 until the count of the bit counter 52 reaches 8. Upon reaching 8, a stop pulse 58 is applied to all three counters 48, 50, 52.
[0017]
Referring again to the block cipher apparatus of FIG. 1, the data processing system 12 further executes a routine 44 whereby a single byte 40 formed by separating portions of the key stream 34 is The least-significant byte and the byte of the processed data 46 exclusive-ORed are provided.
[0018]
The bytes of processed data 46 are shifted to the most significant byte position of feedback shift register 10 and the data in shift register 10 is shifted such that the least significant bytes of data are shifted out of shift register 10.
[0019]
This completes one cycle of the data processing routine. The number of cycles to perform single block encryption of plain text input data is selected according to the degree of encryption confidentiality required for a particular application of the encryption device. It must be at least 16 cycles to ensure that any single bit of the key signal or input data affects every bit of the output data. Preferably, more cycles are performed to further increase the confidentiality. The number of cycles is limited by the processing speed of the data processing system 12, which is related to the frequency at which ordinary text input data is provided to the encryption device for encryption.
[0020]
For each cycle of the data processing routine, the rotation instruction X, the period instruction Y, and the frequency instruction n are given separately. Thus, each of these indications can be different in each of the different cycles.
[0021]
In an embodiment, the rotation number X, the period number Y, and the frequency number n for the selected number of cycles and each of the different cycles are preset in the microprocessor hardware. In another embodiment, the rotation indication X, the duration indication Y, and the frequency indication n for a selected number of cycles and / or each of the different cycles are provided as variable inputs to the microprocessor.
After the processing of the selected number of cycles is completed, the encrypted output data 15 is output from the feedback shift register 10.
In another embodiment, the encrypted output data is provided by sending bytes 46 of the processed data to a component (not shown) separate from feedback shift register 10.
[0022]
Referring to FIG. 3, a block diagram of a preferred embodiment of the encryption device for decrypting blocks according to the present invention is the same as the block encryption device described above with reference to FIGS. 1 and 2 except for the following.
The block cipher apparatus shown in FIG. 3 converts an N-byte encrypted input data block 13 'with an M-byte decryption key signal 14 to output an N-byte block of decrypted output data 15'. To process.
The feedback shift register 10 receives a block 13 'of N bytes of encrypted input data.
[0023]
In the data processing routine 44, the single byte 40 formed by separating the portion of the key signal 34 is exclusive ORed with the most significant byte of data in the feedback shift register 10 and the byte of data processed. Give 46. Byte 46 of this processed data is shifted to the least significant byte position in shift register 10 so that the data in shift register 10 is shifted out of shift register 10 with the most significant byte of data.
[0024]
The block cipher device of FIG. 3 decrypts the encrypted data provided by the block cipher device of FIG. 1 and converts such encrypted data to the ordinary data encrypted by the block cipher device of FIG. Convert to text data.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a block encryption device according to the present invention and a block diagram of a data processing routine executed by a data processing system of the encryption device.
FIG. 2 is a functional block diagram showing details of a discarded and separated function of the encryption device of FIG. 1;
FIG. 3 is a functional block diagram of a block cipher decryption device according to the present invention.

Claims (7)

暗号化した、または暗号解読された出力データをそれぞれ提供するためにキー信号により普通のテキスト入力データまたは暗号化された入力データを処理するブロック暗号装置であって
入力データを受信するシフトレジスタ 10 と、
出力データ 15 を出力するために選択されたサイクル数だけデータ処理ルーチンを実行する疑似ランダム非線形シーケンス発生装置 32 を含むデータ処理手段 12 とを具備し、
前記データ処理ルーチンは、
最初に処理されたデータ 28 を出力するために、キー信号 14 により前記シフトレジスタの内容 16 を処理し 18,22,30
最初に処理されたデータによって疑似ランダム非線形シーケンス発生装置を初期化し、
キー流 34 を発生するため疑似ランダム非線形シーケンス発生装置を動作させ、
キー流の部分を分離し 36,38
処理されたデータ 46 のブロックを与えるためにシフトレジスタ中のデータの部分により前記キー流の前記分離された部分を処理し 44 そして
シフトレジスタ中へ処理されたデータの前記ブロックをシフトすることを特徴とする装置。
Encrypted, or a block cipher apparatus for processing ordinary text input data or encrypted input data with a key signal to provide decrypted output data respectively,
A shift register ( 10 ) for receiving input data;
Data processing means ( 12 ) including a pseudo-random nonlinear sequence generator ( 32 ) for executing a data processing routine for a selected number of cycles to output output data ( 15 ) ;
The data processing routine includes:
In order to output the first processed data ( 28 ) , the contents ( 16 ) of the shift register are processed by the key signal ( 14 ) ( 18 , 22 , 30 ) ,
Pseudorandom nonlinear sequence generator initialized by the first processed data,
Operating a pseudo-random nonlinear sequence generator to generate a key stream ( 34 ) ;
Separate the key flow parts ( 36,38 ) ,
The portion of the data in the shift register to provide a block of processed data (46) processing said separated portion of said key stream (44), and
And wherein the shifting of said blocks of data processed into the shift register.
データ処理手段は、前記選択されたサイクル数だけシフトレジスタ中に前記処理されたデータのブロックの前記シフトすることにより、シフトレジスタ中前記出力データを供給する請求項1記載の装置。Data processing means, by the shifting of the processing blocks of data in only the shift register number said selected cycle apparatus of claim 1, wherein supplying the output data in the shift register. 前記データ処理ルーチンは、各サイクルに対して別々に与えられ、各サイクルに対して異なっていてもよい期間指示(Y)によって指示された時間に、前記分離された部分を開始するルーチンにしたがって前記キー流部分を分離する処理 36 を含んでいる請求項1記載の装置。The data processing routine is provided separately for each cycle, and according to a routine that starts the separated portion at a time indicated by a period indication (Y) , which may be different for each cycle. Apparatus according to claim 1, including a process ( 36 ) for separating key stream portions. 前記キー流部分を分離するルーチンは、各サイクルに対して別々に与えられ、各サイクルに対して異なっていてもよい周波数指示(n)に応じて分離されたビットの選択された数に対して前記分離された部分の開始からキー流のn番目のビツト毎に分離することによって前記分離された部分を与える請求項3記載の装置。The routine for separating the key stream portions is provided separately for each cycle, and for each selected number of bits separated according to a frequency indication (n) that may be different for each cycle. 4. The apparatus of claim 3 wherein said separated portion is provided by separating every nth bit of the key stream from the start of said separated portion. 前記データ処理ルーチンは、各サイクルに対して別々に与えられ、各サイクルに対して異なっていてもよい周波数指示(n)に応じて分離されたビットの選択された数に対して前記分離された部分の始めからキー流のn番目のビット毎に分離する 38 ことによって前記キー信号の部分を分離する処理を含んでいる請求項1記載の装置。The data processing routine is provided separately for each cycle and the separated for a selected number of bits separated according to a frequency indication (n) that may be different for each cycle. The apparatus of claim 1 including separating the key signal portion by separating ( 38 ) every nth bit of the key stream from the beginning of the portion. 前記データ処理ルーチンは、前記シフトレジスタの内容および前記キー信号を最初に処理することによって前記最初に処理されたデータを出力し、その後各サイクルに対して別々に与えられ、各サイクルに対して異なっていてもよいローテーション指示(X)に応じて前記最初の処理により生成されたデータをローテーションする処理 22 を含んでいる請求項1,3,または5のいずれか1項記載の装置。The data processing routine outputs the first processed data by first processing the contents of the shift register and the key signal, and is then provided separately for each cycle and different for each cycle. The apparatus according to any one of claims 1, 3, and 5, further comprising a step ( 22 ) of rotating data generated by the first processing in response to a rotation instruction (X) that may be performed. 前記データ処理手段は、前記キー流を発生させるためにダイナミックフィードバック配置スクランブル技術キー流発生装置 32 を具備している請求項1,3,4,5,または6のいずれか1項記載の装置。7. The method according to claim 1, wherein the data processing means comprises a dynamic feedback arrangement scrambling technique key stream generator ( 32 ) for generating the key stream. 8. apparatus.
JP02638591A 1990-02-21 1991-02-20 Block cipher based on pseudo-random nonlinear sequence generator Expired - Fee Related JP3566311B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US482644 1990-02-21
US07/482,644 US5054067A (en) 1990-02-21 1990-02-21 Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator

Publications (2)

Publication Number Publication Date
JPH04215689A JPH04215689A (en) 1992-08-06
JP3566311B2 true JP3566311B2 (en) 2004-09-15

Family

ID=23916864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02638591A Expired - Fee Related JP3566311B2 (en) 1990-02-21 1991-02-20 Block cipher based on pseudo-random nonlinear sequence generator

Country Status (10)

Country Link
US (1) US5054067A (en)
EP (1) EP0443752B1 (en)
JP (1) JP3566311B2 (en)
KR (1) KR0175663B1 (en)
AT (1) ATE130144T1 (en)
AU (1) AU634857B2 (en)
CA (1) CA2036489C (en)
DE (1) DE69114324T2 (en)
IE (1) IE69271B1 (en)
NO (1) NO303257B1 (en)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9205291D0 (en) * 1992-03-11 1992-04-22 Soundcraft Electronics Ltd Improvements in or relating to the digital control of analogue systems
US5365588A (en) * 1993-03-12 1994-11-15 Hughes Aircraft Company High speed encryption system and method
US5297207A (en) * 1993-05-24 1994-03-22 Degele Steven T Machine generation of cryptographic keys by non-linear processes similar to processes normally associated with encryption of data
US5363448A (en) * 1993-06-30 1994-11-08 United Technologies Automotive, Inc. Pseudorandom number generation and cryptographic authentication
US5377270A (en) * 1993-06-30 1994-12-27 United Technologies Automotive, Inc. Cryptographic authentication of transmitted messages using pseudorandom numbers
US5680131A (en) * 1993-10-29 1997-10-21 National Semiconductor Corporation Security system having randomized synchronization code after power up
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
ATE189570T1 (en) * 1994-02-24 2000-02-15 Merdan Group Inc METHOD AND DEVICE FOR ESTABLISHING A CRYPTOGRAPHIC CONNECTION BETWEEN ELEMENTS OF A SYSTEM
US6014446A (en) * 1995-02-24 2000-01-11 Motorola, Inc. Apparatus for providing improved encryption protection in a communication system
GB2306860A (en) * 1995-10-24 1997-05-07 Motorola Inc Encryption/decryption system encrypts data using encrypted key
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
ES2123443B1 (en) * 1996-12-27 1999-09-16 Consejo Superior Investigacion METHOD AND APPARATUS FOR DATA BLOCK ENCRYPTION.
US6049608A (en) * 1996-12-31 2000-04-11 University Technology Corporation Variable length nonlinear feedback shift registers with dynamically allocated taps
US6182216B1 (en) 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
US6215876B1 (en) 1997-12-31 2001-04-10 Transcrypt International, Inc. Apparatus for and method of detecting initialization vector errors and maintaining cryptographic synchronization without substantial increase in overhead
US6249582B1 (en) 1997-12-31 2001-06-19 Transcrypt International, Inc. Apparatus for and method of overhead reduction in a block cipher
US6108421A (en) * 1998-03-06 2000-08-22 Harris Corporation Method and apparatus for data encryption
US6269163B1 (en) 1998-06-15 2001-07-31 Rsa Security Inc. Enhanced block ciphers with data-dependent rotations
US6490353B1 (en) 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
KR20000066231A (en) * 1999-04-14 2000-11-15 유춘열 Variable Encryption System depending upon timing points and geographical points
US6304657B1 (en) * 1999-05-26 2001-10-16 Matsushita Electric Industrial Co., Ltd. Data encryption apparatus using odd number of shift-rotations and method
ATE403992T1 (en) * 1999-06-22 2008-08-15 Hitachi Ltd CRYPTOGRAPHIC APPARATUS AND METHOD
US7058817B1 (en) 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
NL1012581C2 (en) * 1999-07-13 2001-01-16 Koninkl Kpn Nv Method of protecting a portable card.
US6477252B1 (en) * 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
ATE364949T1 (en) * 2000-04-26 2007-07-15 Alcatel Lucent METHOD FOR GENERATING A PSEUDO-RANDOM SEQUENCE OF MULTI CARRIER DATA SYMBOLS AND TRANSMITTER AND RECEIVER THEREFOR
JP3770584B2 (en) 2000-10-31 2006-04-26 シャープ株式会社 Encryption key generation circuit
JP3724399B2 (en) * 2001-01-23 2005-12-07 株式会社日立製作所 Pseudorandom number generator or encryption / decryption processing device using the same
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
US7689506B2 (en) 2001-06-07 2010-03-30 Jpmorgan Chase Bank, N.A. System and method for rapid updating of credit information
KR100403820B1 (en) * 2001-07-03 2003-10-30 삼성에스디에스 주식회사 Apparatus for encrypting plane data and method thereof
US7266839B2 (en) 2001-07-12 2007-09-04 J P Morgan Chase Bank System and method for providing discriminated content to network users
GB2379587B (en) * 2001-09-10 2003-08-20 Simon Alan Spacey A method and apparatus for securing electronic information
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
KR20030067934A (en) * 2002-02-09 2003-08-19 공형윤 Security system of wireless network using random connection node convolutional technique
US20180165441A1 (en) 2002-03-25 2018-06-14 Glenn Cobourn Everhart Systems and methods for multifactor authentication
US8301493B2 (en) 2002-11-05 2012-10-30 Jpmorgan Chase Bank, N.A. System and method for providing incentives to consumers to share information
US6862446B2 (en) * 2003-01-31 2005-03-01 Flarion Technologies, Inc. Methods and apparatus for the utilization of core based nodes for state transfer
US7257225B2 (en) * 2003-12-29 2007-08-14 American Express Travel Related Services Company, Inc. System and method for high speed reversible data encryption
US7620179B2 (en) * 2004-01-29 2009-11-17 Comcast Cable Holdings, Llc System and method for security processing media streams
US20060031873A1 (en) * 2004-08-09 2006-02-09 Comcast Cable Holdings, Llc System and method for reduced hierarchy key management
WO2006034548A1 (en) * 2004-09-30 2006-04-06 Synaptic Laboratories Limited Method of and apparatus for partitioning of a bitstream
US8099369B2 (en) * 2004-12-08 2012-01-17 Ngna, Llc Method and system for securing content in media systems
KR100675837B1 (en) * 2004-12-13 2007-01-29 한국전자통신연구원 Fast-GCM-AES block encoding apparatus and method
US7383438B2 (en) * 2004-12-18 2008-06-03 Comcast Cable Holdings, Llc System and method for secure conditional access download and reconfiguration
US7933410B2 (en) * 2005-02-16 2011-04-26 Comcast Cable Holdings, Llc System and method for a variable key ladder
DE102006030325B4 (en) * 2006-06-30 2009-12-31 Gerhard Kosel Method for constructing a keystream generator for generating pseudo-random numbers for cryptographic applications
US7934083B2 (en) * 2007-09-14 2011-04-26 Kevin Norman Taylor Configurable access kernel
US8712040B2 (en) * 2010-01-22 2014-04-29 Harlan J. Brothers Data-conditioned encryption method
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US9608813B1 (en) 2013-06-13 2017-03-28 Amazon Technologies, Inc. Key rotation techniques
US9367697B1 (en) 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US10211977B1 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Secure management of information using a security module
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
US10210341B2 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Delayed data access
US9300464B1 (en) * 2013-02-12 2016-03-29 Amazon Technologies, Inc. Probabilistic key rotation
US9397835B1 (en) 2014-05-21 2016-07-19 Amazon Technologies, Inc. Web of trust management in a distributed system
US9438421B1 (en) 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
US10469247B2 (en) * 2014-12-17 2019-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Stream ciphering technique
US11115185B2 (en) * 2019-03-22 2021-09-07 Rosemount Aerospace Inc. Highly secure WAIC baseband signal transmission with byte displacement approach
US11537740B2 (en) 2021-01-04 2022-12-27 Bank Of America Corporation System for enhanced data security using versioned encryption

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4255811A (en) * 1975-03-25 1981-03-10 International Business Machines Corporation Key controlled block cipher cryptographic system
US4316055A (en) * 1976-12-30 1982-02-16 International Business Machines Corporation Stream/block cipher crytographic system
US4663500A (en) * 1982-02-22 1987-05-05 Nec Corporation Cryptographic system
DE3244537A1 (en) * 1982-12-02 1984-06-07 Ant Nachrichtentech Method for encrypting and decrypting data blocks
NL8602847A (en) * 1986-11-11 1988-06-01 Philips Nv METHOD FOR Ciphering / Deciphering and Device for Carrying Out the Method
US4860353A (en) * 1988-05-17 1989-08-22 General Instrument Corporation Dynamic feedback arrangement scrambling technique keystream generator

Also Published As

Publication number Publication date
AU7100291A (en) 1991-08-22
DE69114324T2 (en) 1996-06-20
NO910658L (en) 1991-08-22
DE69114324D1 (en) 1995-12-14
AU634857B2 (en) 1993-03-04
CA2036489A1 (en) 1991-08-22
EP0443752A3 (en) 1992-10-21
JPH04215689A (en) 1992-08-06
US5054067A (en) 1991-10-01
IE69271B1 (en) 1996-08-21
CA2036489C (en) 2001-04-17
KR0175663B1 (en) 1999-05-15
IE910405A1 (en) 1991-08-28
EP0443752B1 (en) 1995-11-08
NO303257B1 (en) 1998-06-15
NO910658D0 (en) 1991-02-19
EP0443752A2 (en) 1991-08-28
ATE130144T1 (en) 1995-11-15

Similar Documents

Publication Publication Date Title
JP3566311B2 (en) Block cipher based on pseudo-random nonlinear sequence generator
EP0615361B1 (en) System and method for high speed encryption using multiple keystream generator
US4731843A (en) Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
CN108476132B (en) Method, apparatus and computer readable medium for key sequence generation for cryptographic operations
KR900702480A (en) Communication equipment
KR970064060A (en) Encryption / Decryption Method and Device
JP3824121B2 (en) Method and apparatus for decrypting encrypted data
JPH0728407A (en) Ciphering preprocessor and deciphering postprocessor by cipher
JP2000511755A (en) How to encrypt binary code information
JP3769804B2 (en) Decoding method and electronic device
JP2003516659A (en) One&#39;s complement crypto combiner
JP2950485B2 (en) Stream cipher processor
JP4287397B2 (en) Ciphertext generation apparatus, ciphertext decryption apparatus, ciphertext generation program, and ciphertext decryption program
JP2001177518A (en) Enciphering method, and decoding method and device
JPH05249891A (en) Ciphering processor and ciphering process method using the same
KR20020071328A (en) Hardware Architecture of the pipelined SEED
JPS6281145A (en) Data ciphering system
KR100546777B1 (en) Apparatus and method for SEED Encryption/Decryption, and F function processor therefor
JPH03155591A (en) Sequential ciphering device
JPH09251267A (en) Encryption device and encryption method
JPH027080A (en) Variable enciphering device
JPH09230788A (en) Encoding method and device
JPH0435432A (en) Data ciphering system
JPH081367U (en) Sequential encryption device
JPH088897A (en) Enciphering/deciphering processing method for data and criptographic device

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees