JPH09120260A - 暗号化または復号の方法 - Google Patents

暗号化または復号の方法

Info

Publication number
JPH09120260A
JPH09120260A JP8250770A JP25077096A JPH09120260A JP H09120260 A JPH09120260 A JP H09120260A JP 8250770 A JP8250770 A JP 8250770A JP 25077096 A JP25077096 A JP 25077096A JP H09120260 A JPH09120260 A JP H09120260A
Authority
JP
Japan
Prior art keywords
byte
block
state vector
bytes
rotation state
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.)
Pending
Application number
JP8250770A
Other languages
English (en)
Inventor
James Alexander Reeds Iii
アレキサンダー リーズ ザサード ジェームズ
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.)
A T and T I P M CORP
AT&T Corp
Original Assignee
A T and T I P M CORP
AT&T Corp
AT&T IPM 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 A T and T I P M CORP, AT&T Corp, AT&T IPM Corp filed Critical A T and T I P M CORP
Publication of JPH09120260A publication Critical patent/JPH09120260A/ja
Pending 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
    • 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

Landscapes

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

Abstract

(57)【要約】 【課題】 個人部門のアプリケーションで十分なレベル
の機密性を提供する低コストで容易に実装可能な暗号化
法および暗号化装置を実現する。 【解決手段】 回転状態ベクトルが1次元配列として実
装され、配列の各要素の値は平文のバイトの暗号化後に
変更(更新)される。暗号化後の回転状態ベクトルの変
更(更新)は、暗号のアルファベット間の関係を変え
る。実施例では、ストリーム暗号が回転状態を用いて平
文バイトを暗号化し暗号文バイトを生成する。回転状態
ベクトルは、その各要素の値を暗号文バイトまたは平文
バイトの関数として変更することによって自動鍵化され
る。第2実施例では、ブロック暗号が、回転状態ベクト
ルを用いて、情報ブロックを暗号化し、暗号化された情
報のブロックを生成する。この場合、回転状態ベクトル
は、情報ブロックのバイト、暗号化された情報ブロック
の暗号化バイトまたは鍵の関数として更新される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号の分野に関す
る。
【0002】
【従来の技術】暗号系および暗号法は、通信を、意図し
た受け手以外のすべての者にとって理解不能にするよう
に設計される。最近まで、暗号系および暗号法の使用
は、主に政府の軍事および外交上の応用に制限されてき
た。しかし、電子メールに関する情報や、商品、サービ
スおよび金融上の信用や支払などの交換に関連する取引
に関する情報の転送、蓄積および処理の手段として個人
部門によって通信ネットワークの使用(例えば、セルラ
方式、コンピュータネットワーク、ケーブルテレビジョ
ン方式)により、これらの通信ネットワークにおける情
報を、権限のない開示あるいは改変から保護する必要性
が生じている。
【0003】この必要性は、このような通信ネットワー
クにおける個人部門による暗号系および暗号法の開発を
引き起こしている。例えば、セルラ通信ネットワーク
は、米国特許第5,159,634号に開示されている
ような通信の秘密を保障する暗号系を使用することが可
能である。他の通信ネットワーク(例えば、ネットワー
ク接続による現金自動預け払い機)は、周知のデータ暗
号化規格(DES)を用いて情報を暗号化する(Nation
al Bureau of Standards(米国規格局), "DataEncrypt
ion Standard", Fed. Inf. Process. Stand. Publ. 46,
Jan. 1977 参照)。暗号系は、例えば、専用チップ、
汎用パーソナルコンピュータ、あるいは消費者電子製品
に埋め込まれた専用マイクロプロセッサ内に実装され
る。暗号法は、CやFORTRANなどのさまざまなプ
ログラミング言語によるプログラムコードによって実行
されることが可能である。
【0004】暗号化されるべき情報を「平文」という。
平文は、アルファベットから選択される記号からなる。
アルファベットとは、一定の順序に配列された記号の集
合である。例えば現代英語のアルファベットでは、記号
は{A,B,...,Z}と配列された文字である。アル
ファベットのもう1つの例は、{00,01,10,1
1}と配列された4個の2進記号のアルファベットであ
る。平文は、「鍵」というパラメータで特徴づけられる
関数によって「暗号文」に変換される。
【0005】非常に古い暗号の1つにシーザー暗号があ
る。これは、ユリウス・カエサル(ジュリアス・シーザ
ー)による単純換字暗号である。シーザー暗号では、与
えられた1つのアルファベットに対して、平文中の各記
号を指定した数だけずらして(シフトして)暗号文中の
対応する記号を生成する。例えば、記号A〜Zからなる
アルファベットに対して、平文が「DOG」であり、記
号シフトすなわち鍵を3と指定した場合、暗号文は「G
RJ」である。なぜならば、記号G、RおよびJはそれ
ぞれD、OおよびGから3文字分右にあるためである。
この場合、平文を暗号文に変換する関数は一対一写像で
ある。単純換字暗号は、平文記号の頻度分布を暗号文中
に保存する。従って、このような暗号は、自然言語の統
計的性質を利用することによって、および、暗号文中の
記号の相対頻度および記号の組合せに注目することによ
って(例えば、EおよびTは英語において最も頻繁に現
れる文字であるので、平文記号EおよびTを試みに最も
多い暗号文記号に割り当てることによって)、容易に解
読される(破られる)。
【0006】暗号をより破りにくくする1つの方法は、
暗号文中の記号の頻度を平坦化して、暗号を破る際に言
語の統計的性質を利用しにくくすることである。これ
は、回転で用いる複数の暗号アルファベットを使用する
ことにより多表式暗号を作成することにより実現される
(例えば、D. Denning, "Cryptography and Data Secur
ity", Addison-Wesley Pub. Co., Reading, Massachuse
tts, U.S.A., 1982 参照)。第二次世界大戦でドイツに
よって使用されたエニグマ機械のようなロータ機械すな
わち配線符号輪機械が、多表式換字暗号を実現する。ロ
ータ機械はロータのバンクからなる。各ロータの周囲
は、前後両面に一連の電気接点(例えば、各文字A〜Z
に対する接点)を有する。前面の各接点が後面の接点と
接続されて、平文文字から暗号文文字への一対一写像が
実現される。各ロータは26個の位置へ回転可能であ
り、ロータは、各平文文字が暗号化された後の動きのタ
イプ(例えば、走行距離計タイプの動き)に従って回転
される。
【0007】ロータ機械でメッセージを暗号化するため
には、1つの平文文字(平文記号)をロータバンクの一
端に入力し、次々とロータを通じて移動させると、他端
に暗号文記号(暗号文文字)として現れる。このような
ロータ機械の鍵は、一般に、どのロータがロータバンク
を構成するか、ロータバンクにおけるロータの順序、ロ
ータの始点などを指定する。鍵は、ロータの動きのパラ
メータを指定することも可能である。例えば走行距離計
タイプのロータの動きの場合、鍵は、ロータバンク内の
1つのロータにより、バンク内のもう1つのロータが前
進する点(例えば記号「Q」)を指定することが可能で
ある。暗号文を解読するのは困難である。なぜならば、
一般的に、ロータ機構の状態(すなわち、各ロータにお
ける一対一写像の配線、ロータの相対的な始動位置、お
よび、暗号化後のロータの相対的な動き)は未知である
からである。
【0008】しかし、ロータ機械暗号化方式はいくつか
の欠点を有する。第1に、暗号化の速度は、ロータ機構
の速度および信頼性によって制限される。第2に、各平
文文字(平文記号)が暗号化された後のロータの動きが
同じである(これは、機械的制約により必要となること
がある)場合、暗号文を解読しやすくなる。これらの2
つの問題点は、暗号化方式をソフトウェアで実装するこ
とによって解決されるかもしれないが、それでも別の問
題が残る。特に、ロータ機械は高度の機密性を提供する
ことができるが(ドイツのエニグマ暗号は多大な労力に
より第二次世界大戦の連合国によって解読されたが、連
合国によって使用されたロータ暗号のうちには今日も未
解読のままと思われるものがある)、暗号がどのくらい
解読が困難であるかを設計プロセス中に予測することが
難しいことが多い。
【0009】情報を暗号化するもう1つの技術は自動鍵
暗号を用いるものである。その名前から示唆されるよう
に、自動鍵暗号とは、暗号化プロセスで使用されるパラ
メータ(例えば鍵)が、例えば平文もしくは暗号文また
はその両方に基づいて自動的に変更あるいは更新される
ような暗号である。自動鍵暗号の簡単な例として、初期
鍵「BLUE」を用いて平文「FLY AT ONC
E」を暗号化する場合を考える。鍵の4個の文字を平文
の初めの4文字と揃えて(すなわち、BとF、LとL、
UとY、および、EとA)並べる。並んだ文字の各対を
次のような意味で(26を法として)「加算」する。す
なわち、Bはアルファベットの1番目の文字(Aは0番
目の文字であると仮定する)であり、Fは5番目の文字
であり、1+5は6であるから、平文Fは6番目の文字
Gとして暗号化される。同様に、Lはアルファベットの
11番目の文字であり、11+11は22であるから、
メッセージ内の平文Lは、アルファベットの22番目の
文字であるWとして暗号化される。最初の4個の平文文
字に対してこの手続きを続けると、「FLY A」は暗
号文「GWSE」となる。平文の次の4文字「T ON
C」を暗号化するために、鍵として、前の暗号文の4文
字すなわち「GWSE」を選ぶ。自動鍵暗号は、伝送中
の1文字の破損が残りのメッセージに影響を及ぼす、す
なわち、残りのメッセージ中に誤りを引き起こすという
欠点を有する。その結果、伝送中の低い誤り確率を保証
する技術(例えば誤り訂正符号の使用)が最近になって
利用可能になるまでは、自動鍵暗号は有利ではなかっ
た。
【0010】暗号は、暗号化法を組み合わせることによ
って生成することも可能である。例えば、米国特許第
1,502,376号(発行日:1924年7月22
日)には、特定の平文文字の暗号化の後に、符号輪のバ
ンクの通常の動きを停止または中断する(すなわち、自
動鍵と同様)ロータ機械暗号システムが記載されてい
る。
【0011】情報を暗号化するために用いられる個々の
システムあるいは技術は、要求される機密性のレベル
(すなわち、意図しない受け手が暗号化された情報を解
読する(破る)のをどの程度困難なものにすべきか)、
実装のコストおよび複雑さ、暗号化されるデータの形式
あるいは書式(フォーマット)などのような事項に左右
される。情報が二進数すなわちビットの列として表現さ
れる場合、ストリームとして(例えば、1バイトが1個
以上の二進数からなるとして、バイトごとに)暗号化す
ることができる。ストリーム暗号では、前の平文のバイ
トの暗号化が、後のバイトの暗号化に影響する。すなわ
ち、後のバイトは、前の平文のバイトおよびそれに対応
する暗号文の関数として暗号化される。別の場合、暗号
化されるデータは、固定長ブロックの情報(例えば、指
定したバイト数の情報からなる)か、または、可能な長
さの集合に制限される長さを有するブロックのいずれか
のフォーマットを有する。
【0012】情報のブロックを暗号化し、その暗号化の
結果は他のブロックの暗号化とは独立であるような暗号
系あるいは暗号化法をブロック暗号という。ブロック暗
号では、ある1ビットの暗号化は、そのブロック内の他
のビットの関数ではあるが、他のブロックのビットの関
数ではない。例えば、上記のDESは、64ビットのブ
ロック内の情報を暗号化するブロック暗号であり、64
ビットブロック内の1ビットの暗号化は、そのブロック
内の他の63ビットのそれぞれの関数であるが、他のブ
ロックのビットの関数ではない。ブロック暗号は、例え
ば、プロトコルアプリケーションでも用いられることが
あるが、その場合、例えば、顧客がした金融取引に関す
る情報を要求するため、あるいは、ある取引を実行する
よう指令するために、ネットワークに接続する。このよ
うな状況では、ネットワークは、顧客の要求や指令に応
じる前に、ネットワークからの一連のプロンプト(入力
要求)への応答のセットを返すよう顧客に要求する。こ
のような応用には、口座番号を指定するものや、身元識
別情報を提供するものなどが含まれる。すべての応答を
暗号化する必要はないが、いくつかの特定の応答(例え
ば、身元識別情報)は、プライバシーの理由でおそらく
は暗号化される。身元識別情報は固定長であることが多
く(例えば、米国における社会保障番号や4桁の個人識
別番号)、このような固定長の情報は、プロトコルによ
って入力要求される応答のセットの既知の時点で送信さ
れるように意図され、ブロック暗号で暗号化されること
が可能である。
【0013】
【発明が解決しようとする課題】さまざまな暗号化法お
よびそれらの方法に対する実装の選択肢にもかかわら
ず、個人部門のアプリケーションで十分なレベルの機密
性を提供する低コストで容易に実装可能な暗号化法およ
び暗号化装置が必要とされている。
【0014】
【課題を解決するための手段】本発明によれば、多表式
暗号のアルファベット間の関係を特定のタイプの動きに
関して定義あるいは固定する代わりに、自動鍵化された
回転する状態ベクトルを用いて、暗号化プロセス中の暗
号のアルファベット間の関係を変えることが可能であ
る。回転状態ベクトルは、それぞれある値をとる要素か
らなる1次元配列として実装され、それらの値は平文の
バイトの暗号化後に変更(更新)される。暗号化後の回
転状態ベクトルの変更(更新)は、暗号のアルファベッ
ト間の関係を変え、これにより、暗号を破ることが困難
となる。特に、本発明の方法の一実施例では、ストリー
ム暗号が回転状態を用いて平文バイトを暗号化し暗号文
バイトを生成する。回転状態ベクトルは、その回転状態
ベクトルのそれぞれの要素の値を変更することによって
自動鍵化される。この変更は、暗号文バイトまたは平文
バイトの関数である。第2実施例では、ブロック暗号
が、回転状態ベクトルを用いて、情報のブロックを暗号
化し、暗号化された情報のブロックを生成する。この場
合、回転状態ベクトルは、情報ブロックのバイト、暗号
化された情報ブロックの暗号化バイトまたは鍵の関数と
して更新される。
【0015】
【発明の実施の形態】図1に、本発明の方法および装置
が使用されるシステムを示す。図1のシステムは、広帯
域信号によって、中央局120から、エンドポイント1
40l,mからなる近傍180lへ、情報(例えば、音声、
テキスト、データ、映像を表す信号)を伝える。各エン
ドポイントは、例えば、広帯域信号で情報を送受信する
通信装置(例えば、電話機、テレビ、パーソナルコンピ
ュータ)を有する事業所あるいは住居である。広帯域信
号は、(電話網に接続された電話交換機/プロセッサ1
21によって提供される従来型電話サービスのような)
電話サービスと、(例えば、サービスプロバイダ110
1によって提供されるケーブルテレビチャネルや双方向
テレビサービスのような)サービスプロバイダ110j
からの他の情報とを両方とも、光スイッチ122で結合
する。広帯域信号は光ファイバケーブル125を通じて
ファイバノード160へ伝送され、続いて、広帯域信号
は、同軸ケーブル135lを通じて近傍180lへ伝送さ
れる。また、同軸ケーブル135lおよび光ファイバケ
ーブル125は、エンドポイント140l,mからの、電
話信号、双方向サービス信号などからなる復帰信号を伝
送する。
【0016】図1のシステムに例示されているように、
中央局120は、近傍180lへの伝送のために広帯域
信号を生成する。近傍180l内のすべてのエンドポイ
ントによって要求される情報からなる広帯域信号は、近
傍180l内のあらゆるエンドポイントに接続された同
軸ケーブル135lを通じて伝送される。略言すれば、
近傍180l内のいずれか1つのエンドポイントによっ
て要求されるあらゆる電話呼およびあらゆるケーブルテ
レビチャネルが同軸ケーブル135lを通じて伝送され
る。従って、個々のエンドポイントがそのエンドポイン
ト宛の情報のみを受信することを保証するために、情報
は中央局120で暗号化される。各エンドポイントには
固有の鍵(中央局120によって割り当てられる)が提
供され、これにより、個々のエンドポイントは、そのエ
ンドポイント宛の情報のみを復号することが可能とな
る。同様に、個々のエンドポイントからの復帰信号はそ
のエンドポイントに割り当てられた鍵を用いて暗号化さ
れ、もともとその鍵を割り当てたのは中央局であるた
め、中央局は適当な鍵を用いて復帰信号を復号すること
ができる。
【0017】中央局120から送信される暗号化された
情報は、エンドポイント140l,mにおいて、ネットワ
ークインタフェースユニット(NIU)150l,mで復
号される。NIU150l,mは、復号した情報を、エン
ドポイント140l,m内の適当な通信装置(例えば、電
話機160l,m、テレビ170l,m、パーソナルコンピュ
ータ180l,m)に提供する。同様に、エンドポイント
140l,mからの情報は、NIU150l,mにおいて、中
央局120へ送信する前に暗号化される。ここで、暗号
化は、以下のような目的で用いられる。すなわち、
(1)中央局120と個々のエンドポイント内の通信装
置との間で伝送される情報が他のエンドポイントからは
アクセスできないという意味でのプライバシーを確保す
るため、および、(2)サービス(例えば、高級ケーブ
ルテレビチャネル)に対する料金を支払ったエンドポイ
ントのみがサービスを受けることを保証するためであ
る。このように、NIU150l,mにおける暗号化(お
よび対応する復号)の方法および装置は、プライバシー
を確保するとともに、サービスの窃盗を防止しなければ
ならないが、このような方法および装置は、個人部門で
商業的に実現可能なように直ちにかつ容易に実装されな
ければならない。
【0018】以下で説明する本発明の暗号化法および暗
号化装置は、図1のシステムのNIU150l,mに実装
される。本発明は、自動鍵法と、ロータ暗号化法を組み
合わせたものである。特に、本発明の方法はストリーム
暗号として用いられることが可能である。平文バイトを
暗号化して暗号文バイトを生成するために用いられる回
転状態ベクトルの要素の値が、暗号文バイトまたは平文
バイトの関数として変更される。回転状態ベクトルは、
値の系列であり、上記のロータ機械におけるロータのバ
ンクに似ている。また、本発明の方法は、複数のバイト
からなる情報のブロックを暗号化するためのブロック暗
号として用いられることも可能である。この場合、ま
ず、鍵の関数として回転状態ベクトルを初期化する。次
に、複数のバイトの各バイトは、非線形変換および線形
変換の交互カスケードによって処理され、暗号化された
情報のブロック内の対応する暗号化されたバイトを生成
する。ここで、線形変換は、回転状態ベクトルの関数で
ある。次に、回転状態ベクトルが、情報ブロック内のバ
イト、暗号化された情報のブロック内の暗号化されたバ
イト、または、鍵の関数として更新される。ブロック暗
号の場合、更新には、回転状態ベクトルの要素の値を変
更しないことも含まれる。
【0019】本発明の方法および装置は、8085や6
80xのような8ビットマイクロプロセッサを用い、数
百バイトのプログラム(例えばC言語のコード)および
永久データ(例えば、読み出し専用メモリに記憶された
データ)と、数十バイトのランダムアクセスメモリとを
用いて実装可能である。特に、以下の実施例で説明する
本発明の方法では、暗号化(または復号)される情報
が、長さnの8ビットバイトからなるバッファに記憶さ
れると仮定する。すなわち、「ブロック」の長さはnバ
イトである。当業者には認識されるように、「バイト」
は任意数のビットからなることが可能であるが、ここで
は8ビットバイトを用いる。バッファに含まれる情報は
一連の変換を受ける。バッファの最終内容は暗号化(ま
たは復号)されたデータである。以下の説明では、バッ
ファ内の情報のバイトは左から右へ(buf[0], buf[1],
..., buf[n-1])と番号づけられると仮定する。ここで
各バイトは8ビットからなる。各8ビットバイトは、0
から255までの範囲内(両端を含む)の整数を表すと
みなされるが、8ビットバイトはASCIIコードとし
て用いられて文字や記号を表すことも可能である。これ
らのバイトに対する算術が実行されるときには、その算
術は256を法とし(8ビットの2の補数ともいう)、
結果もバイトになるようにする。また、鍵(k)は12
バイトであり、(k[0], k[1], ..., k[11])と表すこと
も仮定する。
【0020】図2は、本発明の方法を用いた暗号化法の
流れ図であり、図8および図9は、本発明の方法を実装
するCのコードリストである。本発明の方法は、図2の
ステップ220および240で実行され、以下で詳細に
説明するが、他の暗号化ステップ(例えば、ステップ2
10、230および250)と組み合わせることによ
り、暗号化された情報の意図しない受け手が情報を復号
することをさらに困難にすることができる。
【0021】図2において、aは暗号化される情報(平
文)のブロックを表す。ステップ210で、平文のブロ
ックは長さnのバッファに入力され、バッファの内容が
鍵(k)から減算される。その結果は、暗号化された情
報のブロックb(「ブロックb」)である。簡単のた
め、ブロック210における演算をb=k−aと考える
ことが可能である。鍵は、上記のように12バイトで記
憶されたパラメータの集合であり、減算は、バッファ内
の平文の各バイトが暗号化されるまで巡回的に続けて鍵
の12バイトすべてを用いる256を法とする減算によ
るビジネル暗号である。バッファ内のi番目のバイトbu
f[i]はk[j]-buf[i]で置き換えられる。ただし、jは1
2を法としてiに等しい。図8のコードの「210」の
部分が、図2のステップ210に対応する。
【0022】ステップ220では、バッファ内のブロッ
クbをとり、自動鍵とロータ暗号化を組み合わせた本発
明の方法を用いて暗号文ブロックcを出力する。簡単の
ため、ステップ220の演算をM1で表し、c=M1bと
する。図8のコードの「220」の部分が、図2のステ
ップ220に対応する。
【0023】図3は、ステップ220の演算を実行する
システムのブロック図である。これにより、ブロックb
内の1個の8ビット平文バイトが暗号化され、ブロック
c内の1個の暗号化された8ビット暗号文バイトが生成
されるとともに、回転状態ベクトルの要素の値の系列が
暗号化プロセスで用いられて、ブロックc内の暗号化さ
れた8ビット暗号文バイト、ブロックb内の8ビット平
文バイト、または暗号の鍵の関数として、変更(システ
ムがストリーム暗号で使用される場合)または更新(シ
ステムがブロック暗号で使用される場合)される。ステ
ップ220の演算と、上記のように第二次世界大戦でド
イツによって使用された配線符号輪との類似性により
「回転状態ベクトル」という用語を使用するが、本発明
の方法および装置を実現する際に配線符号輪を用いる必
要はない。回転状態ベクトルの要素の値の系列を用い
て、各ロータの現在の回転位置を表すことが可能であ
り、一連の算術演算およびテーブル参照を用いて、ロー
タのバンクを通る電流の効果をシミュレートする(すな
わち、一対一写像の配線を表す)ことが可能である。各
値は8ビットバイトとして記憶され、バイトはメモリ装
置に1次元配列すなわちベクトルとして記憶される。回
転状態ベクトルの要素の値の更新(ブロック暗号の場
合)または変更(ストリーム暗号の場合)は、ロータの
相対的な移動あるいは回転と等価である。
【0024】図3において、暗号化プロセッサ320
は、b内の文の1バイトを暗号化し、変換テーブル33
0および回転状態ベクトル310からの入力を用いてc
内の暗号文の1バイトを生成する。その後、平文のスト
リームを暗号化する場合、回転状態ベクトルの要素の値
は、平文バイトまたは暗号文バイトの関数として変更さ
れる。図3のシステムを用いて複数のワードからなる情
報のブロックを暗号化する場合、回転状態ベクトルは、
暗号化されたバイト、平文バイトまたは鍵の関数として
更新(これは、回転状態ベクトルの要素の値を変更しな
い場合を含む)される。
【0025】図4の流れ図は、ステップ220および図
3のシステムの演算の詳細を示す。ステップ405で、
回転状態ベクトルは鍵の関数として初期化される。例え
ば、回転状態ベクトルの4個の成分(図8および図9の
コードリストでは(p[0], p[1], p[2], p[3])で表す)
が、鍵の最初の4ワードを用いて初期化される。ステッ
プ407、408および409は、長さnのバッファの
各バイトが順に暗号化されることを保証するために用い
られる係数パラメータiおよびjを初期化する。ステッ
プ420で、i番目のバイトが、変換テーブル(詳細は
後述)および回転状態ベクトルをそれぞれ用いた非線形
変換および線形変換の交互の系列によって暗号化され
る。ステップ420については、変換の交互カスケード
を示す図5でさらに詳細に説明する。線形演算(例えば
加算や減算)と非線形演算(例えば変換テーブルの参
照)を交互に行うことによって、鍵の効果は増幅され
る。すなわち、非線形テーブル参照を介在させることに
より、暗号化プロセスの後のほうで減算される鍵の値
は、先に加えられる同じ鍵の値を相殺しない。この変換
の交互系列は、5個の参照演算および4個の算術ステッ
プからなる。変換(演算)の交互系列は次の形をとる。
【0026】第iバイトの値をxにセーブする。テーブ
ルRにより第iバイトを変換し結果を第iバイトに格納
する。第1回転状態ベクトルから第iバイトを減算し結
果を第iバイトにセーブする。テーブルRにより第iバ
イトを変換し結果を第iバイトに格納する。第2回転状
態ベクトルから第iバイトを減算し結果を第iバイトに
セーブする。テーブルRにより第iバイトを変換し結果
を第iバイトに格納する。第3回転状態ベクトルから第
iバイトを減算し結果を第iバイトにセーブする。テー
ブルRにより第iバイトを変換し結果を第iバイトに格
納する。第4回転状態ベクトルから第iバイトを減算し
結果を第iバイトにセーブする。
【0027】図8および図のコードリストに示されてい
るように、変数yは、buf[i]の値の一時記憶としても使
用される。ステップ430で、回転状態ベクトルは、暗
号文、平文または鍵の関数として更新される。回転状態
ベクトルの更新の例を図8および図9のコードリストに
示す。コードの例に示されているように、バッファ内の
文bの次のバイトを暗号化する前に、暗号化したばかり
のバイトのもとの値(一時的にxに格納されている)が
回転状態ベクトルの第1および第3成分に加算され、暗
号化されたバイトの最終値が回転状態ベクトルの第2お
よび第4成分に加算される。鍵の第jバイトk[j](j=
i+4 mod 12)も、回転状態ベクトルの第2成
分に加算される。ステップ440で、係数パラメータが
更新され、ステップ450で、バッファ内のすべての文
が暗号化されるまで暗号化プロセスを継続するように指
令される。
【0028】図2に戻って、ステップ230で、文cを
保持するバッファ内のバイトは「フリップ」されてバッ
ファ内に文dを生成する。フリップ演算とは、第1バイ
トと最終バイトの内容を交換し、第2バイトと最後から
2番目のバイトの内容を交換し、以下同様とするもので
ある。例えば、バッファが、文「CARBON」のAS
CII表現と等価な0と255の間の整数を表す6個の
8ビットバイトを含む場合、フリップ演算により、バッ
ファの内容は、ASCII文「NOBRAC」に対応す
る6個の8ビットバイトとなる。図8のコードの「23
0」の部分が、図2のステップ230に対応する。この
ように、ステップ230は、ステップ220によって暗
号化される後のほうのバイトが、ステップ220によっ
て先に暗号化されるバイトの暗号化に影響を及ぼすこと
を保証する。
【0029】ステップ240で、M2というもう1つの
左から右への自動鍵ロータ暗号化演算を用いて、バッフ
ァ内の文dを暗号化し、バッファ内に文eを生成する。
すなわち、e=M2dである。この暗号化は、変換テー
ブルRI(後述)と4バイトの回転状態ベクトルを使用
して、M2暗号化がステップ220のM1暗号化の「逆」
になるようにする。逆とは、ステップ220のM1暗号
化がバッファの内容に適用され、ステップ240のM2
暗号化が(介在するステップ230なしで)直ちに続い
た場合に、バッファの内容に正味の変更が生じないこと
を意味する。上記のステップ220と同様に、ステップ
240は、i番目のバイトに対して、逆変換テーブルお
よび回転状態ベクトルを用いた変換あるいは演算の交互
系列により、buf[i]の内容を暗号化する。ステップ24
0の演算の交互系列は次の形をとる。
【0030】第iバイトの値をyにセーブする。テーブ
ルRIにより第iバイトを変換し結果を第iバイトに格
納する。第4回転状態ベクトルから第iバイトを減算し
結果を第iバイトにセーブする。テーブルRIにより第
iバイトを変換し結果を第iバイトに格納する。第3回
転状態ベクトルから第iバイトを減算し結果を第iバイ
トにセーブする。テーブルRIにより第iバイトを変換
し結果を第iバイトに格納する。第2回転状態ベクトル
から第iバイトを減算し結果を第iバイトにセーブす
る。テーブルRIにより第iバイトを変換し結果を第i
バイトに格納する。第1回転状態ベクトルから第iバイ
トを減算し結果を第iバイトにセーブする。
【0031】M2演算のステップは、図3に示したステ
ップ220のM1演算の実装と同様にして実装可能であ
る。図9のコードの「240」の部分が、図2のステッ
プ240に対応する。
【0032】ステップ250で、文eが鍵から減算さ
れ、最終暗号文(k−eで表す)が生成される。特に、
ステップ250は、文eの各バイトが暗号化されるまで
巡回的に続けて鍵の12バイトすべてを用いる256を
法とする減算によるビジネル暗号である。これは、本質
的にステップ210と同じ演算である。図9のコードの
「250」の部分が、図2のステップ250に対応す
る。
【0033】注意すべき点であるが、図8および図9の
コードを比較的小さく保とうとする結果として、本発明
の方法は包合的である。すなわち、与えられた鍵による
暗号化演算は、同じ鍵による復号法と同一である。図6
に、図2の方法を用いて暗号化された情報を復号する方
法のステップを例示することによってこの原理を示す。
ステップ610で、暗号文(ステップ250の出力であ
るk−e)が鍵から減算される。このような演算は、k
−(k−e)と表されているとおり、文eを生成する。
この減算は、ステップ210の減算と同一である。ステ
ップ620は、バッファ内の暗号文eをとり、ステップ
220のM1演算によって実行されたような本発明の自
動鍵およびロータ暗号化法を用いて式M1e=M12
=dによって示されるように文dを生成することによ
り、暗号文dを出力する。想起すべき点であるが、M1
とM2は互いに逆であり、(ステップ240から)e=
2dである。ステップ630は、ステップ230につ
いて説明したようにしてバッファ内の文dの内容をフリ
ップする。ステップ630は単にステップ230を元に
戻すだけであるため、フリップされたバッファ内容はc
である。ステップ640はバッファ内容に対してM2
算を実行し、バッファ内容bを生成する。これは、M2
c=M21b=bを観察することによって理解されると
おりである。M2演算はステップ240で説明した演算
と同様である。最後に、ステップ650で、鍵からbを
減算する(k−b=k−(k−a)=a)ことによって
もとの平文aが復元される。この減算はステップ250
で用いたものと同様である。このように、与えられた鍵
による図2の暗号化演算は、同じ鍵による図6の復号法
と同一である。
【0034】注意すべき点であるが、上記の方法は、そ
れぞれサイズが256バイトの1対の読み出し専用変換
テーブルRおよびRIを利用する。テーブルRは、25
6バイトの値の置換を保持する。すなわち、Rは置換テ
ーブルである。テーブルRIはテーブルRの逆を保持す
る。テーブルRとラベルされた表1のCコードを考え
る。テーブルRの内容(エントリ)は、「0x」という
プレフィクスによって示されるように、2桁の16進
(16を底とする)数値である。テーブルRの行0列f
の位置(すなわち、座標(0,f)、ただし16進数の
「f」は10進数の15に対応する)のエントリは0x
04であり、これは、テーブルRIの行0列4を指定す
る座標(0,4)の内容が0x0f、すなわち、テーブ
ルRの内容の逆であることを示す。注意すべき点である
が、上記の方法は、RとRIが1つの同じテーブルであ
るような自己逆置換テーブルを用いて実装することも可
能である。
【表1】
【0035】図7に、NIU150l,mにおいて上記の
暗号化法および復号法を実装するシステムを示す。シス
テムは、以下の要素、すなわち、マイクロプロセッサ7
15、読み出し専用メモリ(ROM)725およびラン
ダムアクセスメモリ(RAM)735からなる。これら
の要素は、要素間でデータを転送するとともに制御信号
を送受信する手段を提供するアドレス・データバス74
5によって接続される。オプションとして、図7では、
同軸インタフェースユニット705を使用して、同軸線
上の信号をバス745上での使用に適するようにしてい
る。また、バス745は、中央局120から受信した情
報を復号したものを利用し、あるいは、中央局120へ
送信する前に暗号化すべき情報を生成する通信装置にも
接続される。RAM735は、回転状態ベクトル、鍵、
および、暗号化または復号のための文を含むバッファの
ような、更新されるあるいは動的な情報を記憶するため
に使用される。ROM725は、変換テーブルおよびそ
の逆と、マイクロプロセッサ715によって実行される
演算のプログラムコードリストのような、変化しないパ
ラメータあるいは情報を記憶する。当業者には認識され
るように、RAM735およびROM725の代わりに
他のメモリ装置(例えばEPROM)も使用可能であ
り、マイクロプロセッサ715の代わりに専用ハードウ
ェアを使用することも可能である。
【0036】以上、暗号化の方法および装置について説
明した。本発明の方法および装置について、特定のハー
ドウェアやソフトウェアを参照せずに説明した。その代
わりに、本発明の方法および装置について、当業者であ
ればそのようなハードウェアまたはソフトウェアを個々
の応用例で利用可能なあるいは好適なように直ちに適合
させることができるように説明した。本発明についての
上記の説明は、中央局とエンドポイントの間で伝送され
る8ビットバイトの情報を暗号化することに関するもの
であるが、当業者には認識されるように、これを他の特
定の状況に適用することが可能である。例えば、上記の
方法は、例えば16ビットまたは32ビットのマイクロ
プロセッサの使用により、それぞれ16ビットまたは3
2ビットのワードの暗号化を行うように直ちに拡張され
る。さらに、256を法としての加減算の代わりに、他
の算術演算(例えば、排他的演算、すなわち、2進n空
間における「加算」)を使用することも可能である。さ
らに、ラテン方格を形成する演算表を有する任意の2進
演算(必ずしも交換性や結合性がなくともよい)を使用
することも可能である。本発明の方法は、例えば無線シ
ステムにおける伝送の暗号化のような、図1に示したシ
ステム以外のシステムでも使用可能である。注意すべき
点であるが、図8および図9のコードでは、高度のデー
タセキュリティを犠牲にして、実行速度およびプログラ
ムサイズの短縮に重点を置いている。図8および図9の
コードは通常の程度の機密性を要求する応用例には十分
に機密性が高いと考えられるが、例えばステップ220
および240における変換の数を増やすことによって、
図8および図9のコードを長くして機密性を向上させる
ことが可能である。同様に、自動鍵ロータ演算(すなわ
ちステップ220および240)の数を2個に制限する
必要はない。3個以上のパスを作り、ステップ230の
フリップ演算、あるいは、自動鍵ロータ演算となるよう
なさらに複雑な演算を分散させることにより、さらに機
密性を向上させることが可能である。
【図面の簡単な説明】
【図1】本発明の方法および装置が用いられるシステム
例の図である。
【図2】本発明の方法を用いて文を暗号化する流れ図で
ある。
【図3】更新される回転状態ベクトルを用いて文を暗号
化するシステムのブロック図である。
【図4】自動鍵化を用いて回転状態ベクトルを更新する
本発明の方法のステップの流れ図である。
【図5】平文のバイトを暗号化するステップの流れ図で
ある。
【図6】本発明の方法を用いて文を復号する流れ図であ
る。
【図7】本発明の方法を実装するシステムの図である。
【図8】図2のステップ210〜230に対応する、文
を暗号化するコードリストの図である。
【図9】図2のステップ240〜250に対応する、文
を暗号化する、図8に続くコードリストの図である。
【符号の説明】
110 サービスプロバイダ 120 中央局 121 電話交換機/プロセッサ 122 光スイッチ 125 光ファイバケーブル 130 ファイバノード 135 同軸ケーブル 140 エンドポイント 150 ネットワークインタフェースユニット(NI
U) 160 電話機 170 テレビ 180l 近傍 180l,m パーソナルコンピュータ 310 回転状態ベクトル 320 暗号化プロセッサ 330 変換テーブル 705 同軸インタフェースユニット 715 マイクロプロセッサ 725 読み出し専用メモリ(ROM) 735 ランダムアクセスメモリ(RAM) 745 アドレス・データバス

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 鍵に基づいて平文バイトを暗号化して暗
    号文バイトを生成するために使用された回転状態ベクト
    ルの要素の値を、前記暗号文バイトもしくは前記平文バ
    イトまたはその両方の関数として更新するステップから
    なることを特徴とする、暗号化または復号の方法。
  2. 【請求項2】 前記暗号文バイトは、 非線形変換と、前記回転状態ベクトルの関数である線形
    変換との交互系列により前記平文バイトを処理するステ
    ップによって生成されることを特徴とする請求項1の方
    法。
  3. 【請求項3】 前記非線形変換は置換テーブルの参照操
    作であることを特徴とする請求項2の方法。
  4. 【請求項4】 前記回転状態ベクトルの要素の値は前記
    鍵の関数として初期化されることを特徴とする請求項1
    の方法。
  5. 【請求項5】 (a)鍵と、回転状態ベクトルの要素の
    値とに基づいて、平文バイトを暗号化して暗号文バイト
    を生成するステップと、 (b)前記平文バイトもしくは前記暗号文バイトまたは
    その両方に基づいて前記回転ベクトルの要素の値を変更
    するステップとからなることを特徴とする、暗号化また
    は復号の方法。
  6. 【請求項6】 前記ステップaは、 非線形変換と、前記回転状態ベクトルの関数である線形
    変換との交互系列により前記平文バイトを処理するステ
    ップからなることを特徴とする請求項5の方法。
  7. 【請求項7】 前記非線形変換は置換テーブルの参照操
    作であることを特徴とする請求項6の方法。
  8. 【請求項8】 前記回転状態ベクトルの要素の値は前記
    鍵の関数として初期化されることを特徴とする請求項5
    の方法。
  9. 【請求項9】 (a)回転状態ベクトルおよび鍵を使用
    するブロック暗号を用いて平文のブロックを暗号化して
    暗号文のブロックを生成するステップと、 (b)前記平文のブロック内のバイト、前記暗号文のブ
    ロック内のバイトまたは前記鍵のうちの1つ以上のもの
    の関数として前記回転状態ベクトルの要素の値を更新す
    るステップとからなることを特徴とする、暗号化または
    復号の方法。
  10. 【請求項10】 前記ステップaは、 非線形変換と、前記回転状態ベクトルの関数である線形
    変換との交互系列により前記平文のブロック内のバイト
    を処理するステップからなることを特徴とする請求項9
    の方法。
  11. 【請求項11】 前記非線形変換は置換テーブルの参照
    操作であることを特徴とする請求項10の方法。
  12. 【請求項12】 前記回転状態ベクトルの要素の値は前
    記鍵の関数として初期化されることを特徴とする請求項
    9の方法。
  13. 【請求項13】 複数のバイトからなる情報のブロック
    を暗号化して、複数の最終的に暗号化されたバイトから
    なる暗号化された情報の最終的ブロックを生成する方法
    において、 (a)前記複数のバイトの各バイトごとに、非線形変換
    と、回転状態ベクトルの関数である線形変換との交互系
    列により該バイトを処理して、暗号化された情報の中間
    的ブロック内の対応する中間的に暗号化されたバイトを
    生成した後、前記情報のブロック内のバイト、前記暗号
    化された情報の中間的ブロック内の中間的に暗号化され
    たバイトまたは鍵のうちの1つ以上のものの関数として
    前記回転状態ベクトルを更新するステップと、 (b)前記暗号化された情報の中間的ブロック内の中間
    的に暗号化されたバイトごとに、前記複数のバイト内の
    少なくとも1つの他のバイトの関数として該中間的に暗
    号化されたバイトを処理して、暗号化された情報の最終
    的ブロック内の対応する最終的バイトを生成するステッ
    プとからなることを特徴とする暗号化方法。
  14. 【請求項14】 前記回転状態ベクトルを初期化するス
    テップをさらに有することを特徴とする請求項13の方
    法。
  15. 【請求項15】 前記回転状態ベクトルは前記鍵の関数
    として初期化されることを特徴とする請求項14の方
    法。
  16. 【請求項16】 前記非線形変換は置換テーブルの参照
    操作であることを特徴とする請求項13の方法。
  17. 【請求項17】 第1ブロックのバイトを暗号化する方
    法において、 (a)前記第1ブロックの各バイトごとに、該バイトを
    鍵の引き続くバイトから巡回的に減算して第2ブロック
    のバイトを生成するステップと、 (b)前記第2ブロックの各バイトごとに、非線形変換
    と、回転状態ベクトルの関数である線形変換との交互系
    列により該バイトを処理して第3ブロックのバイトを生
    成した後、該第3ブロック内のバイトの集合、前記第2
    ブロック内のバイトの集合または前記鍵のうちの1つ以
    上のものの関数として前記回転状態ベクトルを更新する
    ステップと、 (c)前記第3ブロック内のバイトの順序を逆にして第
    4ブロックのバイトを生成するステップと、 (d)前記第4ブロックの各バイトごとに、非線形変換
    と、回転状態ベクトルの関数である線形変換との交互系
    列により該バイトを処理して第5ブロックのバイトを生
    成した後、該第5ブロック内のバイトの集合、前記第4
    ブロック内のバイトの集合または前記鍵のうちの1つ以
    上のものの関数として前記回転状態ベクトルを更新する
    ステップと、 (e)前記第5ブロックの各バイトごとに、該バイトを
    鍵の引き続くバイトから巡回的に減算して第6ブロック
    のバイトを生成するステップとからなることを特徴とす
    る暗号化方法。
  18. 【請求項18】 前記回転状態ベクトルは前記鍵の関数
    として初期化されることを特徴とする請求項17の方
    法。
  19. 【請求項19】 前記非線形変換は置換テーブルの参照
    操作であることを特徴とする請求項17の方法。
  20. 【請求項20】 鍵と、回転状態ベクトルの要素の値と
    に基づいて、平文バイトを暗号化して暗号文バイトを生
    成する暗号化手段と、 前記平文バイトもしくは前記暗号文バイトまたはその両
    方に基づいて前記回転ベクトルの要素の値を変更する手
    段とからなることを特徴とする、暗号化または復号の装
    置。
  21. 【請求項21】 前記暗号化手段は、 非線形変換と、前記回転状態ベクトルの関数である線形
    変換との交互系列により前記平文バイトを処理する処理
    手段からなることを特徴とする請求項20の装置。
  22. 【請求項22】 前記回転状態ベクトルの要素の値を前
    記鍵の関数として初期化する手段をさらに有することを
    特徴とする請求項20の装置。
  23. 【請求項23】 前記処理手段は置換テーブルからなる
    ことを特徴とする請求項20の装置。
  24. 【請求項24】 回転状態ベクトルおよび鍵を使用する
    ブロック暗号を用いて平文のブロックを暗号化して暗号
    文のブロックを生成する暗号化手段と、 前記平文のブロック内のバイト、前記暗号文のブロック
    内のバイトまたは前記鍵のうちの1つ以上のものの関数
    として前記回転状態ベクトルの要素の値を更新する手段
    とからなることを特徴とする、暗号化または復号の装
    置。
  25. 【請求項25】 前記暗号化手段は、 非線形変換と、前記回転状態ベクトルの関数である線形
    変換との交互系列により前記平文のブロック内のバイト
    を処理する処理手段からなることを特徴とする請求項2
    4の装置。
  26. 【請求項26】 前記処理手段は置換テーブルからなる
    ことを特徴とする請求項25の装置。
JP8250770A 1995-08-17 1996-08-19 暗号化または復号の方法 Pending JPH09120260A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US516369 1990-04-30
US08/516,369 US5724427A (en) 1995-08-17 1995-08-17 Method and apparatus for autokey rotor encryption

Publications (1)

Publication Number Publication Date
JPH09120260A true JPH09120260A (ja) 1997-05-06

Family

ID=24055259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8250770A Pending JPH09120260A (ja) 1995-08-17 1996-08-19 暗号化または復号の方法

Country Status (4)

Country Link
US (1) US5724427A (ja)
EP (1) EP0759669A2 (ja)
JP (1) JPH09120260A (ja)
CA (1) CA2183021A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012527190A (ja) * 2009-05-13 2012-11-01 リビア テクノロジーズ,エルエルシー 対称暗号化システムにおいてデバイスを安全に識別し認証するためのシステムおよび方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731754B1 (en) 1996-06-21 2004-05-04 Netcomsec Co., Ltd. Apparatus and method for maintaining and transmitting secret contents of a signal
US6845159B1 (en) 1998-10-07 2005-01-18 Protego Information Ab Processing method and apparatus for converting information from a first format into a second format
EP0993143A1 (en) * 1998-10-07 2000-04-12 Lateca Computer Inc. N.V. Processing method and apparatus for converting information from a first format into a second format
AU1517600A (en) * 1998-10-28 2000-05-15 L-3 Communications Corporation Encryption and authentication methods and apparatus for securing telephone communications
US6957330B1 (en) 1999-03-01 2005-10-18 Storage Technology Corporation Method and system for secure information handling
JP4519963B2 (ja) * 1999-06-21 2010-08-04 富士通株式会社 生体情報の暗号化・復号化方法および装置並びに、生体情報を利用した本人認証システム
US7280663B1 (en) * 2000-05-22 2007-10-09 University Of Southern California Encryption system based on crossed inverse quasigroups
US20020159588A1 (en) * 2001-04-27 2002-10-31 Kauffman Jason R. Cryptography with unconditional security for the internet, commercial intranets, and data storage
GB2379587B (en) * 2001-09-10 2003-08-20 Simon Alan Spacey A method and apparatus for securing electronic information
JP4045777B2 (ja) * 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
US7593525B1 (en) * 2002-08-02 2009-09-22 Multiple Shift Key, Inc. Patternless encryption and decryption system and method
AU2003275041A1 (en) * 2002-09-17 2004-04-08 Soundview Technology Group, Inc. System and method for message communication
FR2848752A1 (fr) * 2002-12-17 2004-06-18 France Telecom Procede de chiffrement par permutations de suites de longueur fixee
US7346160B2 (en) * 2003-04-23 2008-03-18 Michaelsen David L Randomization-based encryption apparatus and method
US20040243467A1 (en) * 2003-06-02 2004-12-02 American Express Travel Related Services Company, Inc. System and method for facilitating distribution of incentives from a merchant to a parent
US7257225B2 (en) * 2003-12-29 2007-08-14 American Express Travel Related Services Company, Inc. System and method for high speed reversible data encryption
US7505588B2 (en) * 2004-03-31 2009-03-17 Microsoft Corporation Stream cipher design with revolving buffers
JP2007233590A (ja) * 2006-02-28 2007-09-13 Oki Electric Ind Co Ltd 携帯型電子装置、個人認証システム、個人認証方法、及び半導体装置の製造方法
US9354890B1 (en) 2007-10-23 2016-05-31 Marvell International Ltd. Call stack structure for enabling execution of code outside of a subroutine and between call stack frames
US9442758B1 (en) 2008-01-21 2016-09-13 Marvell International Ltd. Dynamic processor core switching
US9582443B1 (en) 2010-02-12 2017-02-28 Marvell International Ltd. Serial control channel processor for executing time-based instructions
GB2491896A (en) * 2011-06-17 2012-12-19 Univ Bruxelles Secret key generation
US9098694B1 (en) * 2011-07-06 2015-08-04 Marvell International Ltd. Clone-resistant logic
US20140112469A1 (en) * 2012-10-22 2014-04-24 John M. Layne Novel encryption processes based upon irrational numbers and devices to accomplish the same
DE102013108424A1 (de) * 2013-08-05 2015-02-05 Deutsche Telekom Ag Verfahren zur Verschlüsselung von Zeichenketten
CN106133810B (zh) * 2014-03-28 2020-02-07 索尼公司 加密处理装置、加密处理方法
US10157289B2 (en) 2016-09-26 2018-12-18 Bank Of America Corporation Progressive key rotation for format preserving encryption (FPE)
US10148424B2 (en) * 2016-09-26 2018-12-04 Bank Of America Corporation Progressive key rotation for format preserving encryption (FPE)
US10523642B2 (en) * 2016-10-14 2019-12-31 Gideon Samid Skeleton network: physical corner stone for the towering cyber house
EP3419212B1 (en) * 2017-06-23 2020-03-11 Vestel Elektronik Sanayi ve Ticaret A.S. Computer implemented method, computer system and computer readable computer program product
WO2020036126A1 (ja) * 2018-08-13 2020-02-20 日本電信電話株式会社 秘密結合システム、この方法、秘密計算装置及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US30957A (en) * 1860-12-18 Improved steam-boiler
US1502376A (en) * 1920-04-02 1924-07-22 Damm Arvid Gerhard Production of ciphers
USRE30957E (en) 1973-10-15 1982-06-01 International Business Machines Corporation Variant key matrix cipher system
DE2658065A1 (de) * 1976-12-22 1978-07-06 Ibm Deutschland Maschinelles chiffrieren und dechiffrieren
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
US4979832A (en) * 1989-11-01 1990-12-25 Ritter Terry F Dynamic substitution combiner and extractor
JP2862030B2 (ja) * 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
US5159634A (en) * 1991-09-13 1992-10-27 At&T Bell Laboratories Cryptosystem for cellular telephony
US5452358A (en) * 1994-02-08 1995-09-19 Apple Computer, Inc. Method and apparatus for improving the security of an electronic codebook encryption scheme utilizing a data dependent encryption function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012527190A (ja) * 2009-05-13 2012-11-01 リビア テクノロジーズ,エルエルシー 対称暗号化システムにおいてデバイスを安全に識別し認証するためのシステムおよび方法

Also Published As

Publication number Publication date
EP0759669A2 (en) 1997-02-26
US5724427A (en) 1998-03-03
CA2183021A1 (en) 1997-02-18

Similar Documents

Publication Publication Date Title
JPH09120260A (ja) 暗号化または復号の方法
US7254232B2 (en) Method and system for selecting encryption keys from a plurality of encryption keys
US6504930B2 (en) Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm
US6831979B2 (en) Cryptographic accelerator
US6185304B1 (en) Method and apparatus for a symmetric block cipher using multiple stages
US6243470B1 (en) Method and apparatus for advanced symmetric key block cipher with variable length key and block
Coppersmith et al. A proposed mode for triple-DES encryption
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
EP0966809B1 (en) Method of and apparatus for encrypting signals for transmission
KR100331863B1 (ko) 네트워크암호화장치및방법
EP2197144A1 (en) Methods and devices for a chained encryption mode
JPH1022994A (ja) 暗号化装置および復号化装置、暗号化方法および復号化方法、ならびにそれらを用いた通信システム
Joshy et al. Text to image encryption technique using RGB substitution and AES
CN109218013A (zh) 掩盖明文符号边界的二进制数据通信加密法
CN116707771A (zh) 一种基于数据加密的通讯方法
KR100456599B1 (ko) 병렬 디이에스 구조를 갖는 암호 장치
JPH0946332A (ja) Rsa型手順により暗号化された通信文用通信システム
JP3466204B2 (ja) 強化変換を使用する強化cmea用の方法および装置
Kadry et al. An improvement of RC4 cipher using vigenère cipher
JP2003263108A (ja) 通信デバイスにより処理される呼におけるメッセージの強化された暗号処理方法
JP2001016197A (ja) 自己同期型ストリーム暗号システム及びこれを用いたmac生成方法
US6418224B1 (en) Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages
US20230299940A1 (en) Single stream one time pad with encryption with expanded entropy
Ramesh et al. A novel block-cipher mechanism for information security in cloud system
JPH10153954A (ja) 暗号装置