JP2003500898A - 複数の数値を基数とする対応するxorを用いたエンコーダ/デコーダ - Google Patents

複数の数値を基数とする対応するxorを用いたエンコーダ/デコーダ

Info

Publication number
JP2003500898A
JP2003500898A JP2000619155A JP2000619155A JP2003500898A JP 2003500898 A JP2003500898 A JP 2003500898A JP 2000619155 A JP2000619155 A JP 2000619155A JP 2000619155 A JP2000619155 A JP 2000619155A JP 2003500898 A JP2003500898 A JP 2003500898A
Authority
JP
Japan
Prior art keywords
array
radix
encryption
random number
decryption device
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
JP2000619155A
Other languages
English (en)
Inventor
サターフィールド,リチャード,シー
Original Assignee
サターフィールド,リチャード,シー
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 サターフィールド,リチャード,シー filed Critical サターフィールド,リチャード,シー
Priority claimed from PCT/US1999/010929 external-priority patent/WO2000070818A1/en
Publication of JP2003500898A publication Critical patent/JP2003500898A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 プレーンテキスト要素及びマスクアレイ要素が別の基数のディジットへと変換される(ステップ2)。その結果として得られるディジットが新たな基数を法として組み合わされ、その結果が元の基数を用いた要素へと変換されて、暗号テキスト要素が得られる(ステップ4)。プレーンテキストの回復のために、暗号テキスト要素及びマスクアレイ要素が再び変換されて暗号化に使用されたものと同一の基数のディジットが生成され、新たな基数を法として該ディジットの逆の算術的な組み合わせが採用され、該組み合わせの結果が元の基数の要素へと変換されて、元のプレーンテキスト要素が得られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は一般に暗号テキストを生成する暗号化及び解読のための装置及び方法
に関し、特に対称プライベートキー暗号化を使用することに関する。送信側及び
受信側が交換されたキー情報を有すると、送信側によるメッセージの暗号化及び
受信側による解読が直接的な態様で達成される。
【0002】
【従来の技術】
1917年に、Vernanは、電信暗号システム(telegraphic cipher system)(1919
年7月22日発行の米国特許第1,310,719号)を創作した。該システムは、ループ状
のキーテープ上のキャラクタに対する紙テープ上のメッセージキャラクタの値の
付加を用いるものであり、それらの値の和が暗号キャラクタとして送信される。
該方法のセキュリティは極めて長いキーテープに依存するものであることがすぐ
に判明した。その後、過度に長いキーテープをなくすために、Morehouse(1918
年)は、2つのVernanの電信装置を互いに結合させ、その2つの別個のループ状
のキーテープを利用して、その第1出力が第2の出力を変更し、該組み合わせら
れた出力がメッセージテープをエンコードして、暗号化メッセージを生成する。
これらの2つのループは互いに長さの異なるものであり、その一方のテープ上の
全てのキャラクタに対して他方のテープ上の全てのキャラクタが並べ換えられる
ことになる。このため、2つの短いテープは、それらよりも遙かに長いテープを
採用する場合を模倣するものとなる。Mauborgneは、キーテープ(又は2つのテ
ープの並べ換えによるもの)が、暗号化されるべき平文(clear text)に匹敵する
長さを有すると共にそれが1回のみ使用される場合にしかMorehouseのシステム
は暗号化装置として安全なものとならない、ということを示した。1メッセージ
内でキーの反復使用又は他のメッセージを暗号化するためのキーの反復使用は、
それが如何なる種類のキーであっても、キーテープの信頼性を低下させるものと
なる。また、メッセージ自体と同一のサイズを有するが一貫性を有するテキスト
からなる暗号キーを使用して作成された暗号テキスト(ciphertext)は解読され
得るものである。しかし、該暗号キーがランダムなキャラクタの集まりである場
合には、該暗号キーを使用して作成された暗号テキストは、解読できないものと
なる。
【0003】 Man Young Rhee博士は、彼自身の著書「Cryptography and Seure Communicat
ions (McGraw-Hill, 1994)」の12頁で、「如何に大量の計算が許容されようとも
あらゆる暗号解析攻撃(cryptanalytic attack)に抗することができる暗号システ
ムは、無条件に安全なものであると言われる」と述べている。ワンタイムパッド
は、実際に使用されている唯一の無条件に安全な暗号化方式である。最も注目す
べき暗号化方式の1つがワンタイムパッドであり、この場合、暗号テキストは、
プレーンテキスト(すなわち平文)と、同一長さで反復することのないキースト
リームとのビット単位の排他的論理和(modulo-two sum)となる。しかし、その非
反復キーのサイズが大きいため、ワンタイムパッドは殆どの用途において実際的
なものでなくなる。
【0004】 1992年5月12日発行の「RANDOM CHOICE CIPHER SYSTEM AND METHOD」と題する
米国特許第5,133,444号では、「第1に、乱数ストリングは比較的不十分なもの
である。第2に、受信側は、送信側が使用した乱数と厳密に同じ乱数を手元に有
していなければならず、又は該乱数シーケンスを再生できなければならない。前
者は、膨大な量のキー情報を共有することを必要とする。膨大な量のキー情報の
共有は実際的なものではない。また後者は実施不可能である。」と述べられてい
る。かかる記述に対する2つの結論は不正確なものである。ディジタルソースの
サンプリング(詳細には16ビットのサウンドファイル)の統計的な分析の結果は
、ディジタル/コンピュータ環境ではランダム又は任意の数又はバイトを容易に
得ることができることを示している。このランダムな数を容易に得ることができ
るという事実は、当業者及び暗号化技術の専門家による教示及び意見に相反する
ものである。
【0005】 当業者の間で一般的であるもう1つの見方として、殆どの疑似乱数は、それが
式に基づいて生成されるものであるが故に固有の弱点を有しており、該式を再構
成して数値を順次予測することが可能である、ということが挙げられる。
【0006】 別の暗号化技術が、「RANDOM CODING CIPHER SYSTEM AND METHOD」と題する
米国特許第5,133,444号及び米国特許第5,307,412号に開示されており、これらは
、シソーラス及びシノニムを算術/論理演算と共に使用してデータ及びマスクを
結合させてエンコード/デコードを達成している。したがって、これらの特許は
、シソーラス及びシノニムの使用により制限されるものとなる。
【0007】 「RESIDUE NUMBER ENCRYPTION AND DECRYPTION SYSTEM」と題する米国特許
第5,077,793号は(第3カラム第40行〜第4カラム第8行において)、「モジューロ
(又は法(moduli))が互いに素(prime)になるよう選択される場合には、ゼロ〜(
モジューロの積−1)までの範囲の全ての整数を一意に表すことができる」と教
示している。数値プロセスに対する残余数(residue number)システムの重要性は
、加算、減算、及び乗算をモジューロ間の桁上げ操作を使用することなく実行で
きることにある。換言すれば、nチュープル中の各ディジットを独立して並列に
操作することができる。同特許はまた、ディジットX,Yの和Zについて、i番目
のディジットを式 Zi=(Xi+Yi)mod mi により与えることが可能であること
、及び「5つのモジューロ5,7,11,13,17を使用して残余数システムで16ビットの
2進数を表すことができる」ことを示している。モジューロ(mi)は、互いに相
対的に素になるよう選択される。同特許明細書中の記載は続いてカラム5,6にお
いて、Z=(X+Y)modM(M=全モジューロの積(すなわちM=m1×m2×...
×mn))がビジネル(Vigenere)暗号化方式を一般化したものであることを規定
している。Yを使用してXを暗号化するためにZ=(X−Y)modMを使用する場
合には、X=(Y−Z)modM(ビューフォート(Beaufort)暗号化方式を一般化し
たもの)によりZからXを回復させることが可能である。該特許により説明され
る方法は、暗号化された数を一意に規定するために受信側へ送信される複数の異
なる残余を計算するために多数の異なるモジューロを同時に使用しなければなら
ないものである。本書で解説する暗号化方法は、多数のモジューロを使用するも
のではなく、該特許とは異なるものである。異なるモジューロを使用しないため
、その暗号化/解読装置は、設計上、より単純なものとなる。
【0008】 1996年のBruce Schneier, John Wiley, & Sons, Inc.による「Applied Crypto
graphy, Second Edition」の13〜15頁には、ビジネル暗号化方法に固有のセキュ
リティに関する次のような論評が記載されている。 「単純なXORアルゴリズムは、本当に困惑の種であり、ビジネルのポリアルフ
ァベティック暗号方式に過ぎないものである。」 「真のセキュリティはそこには存在しない。この種の暗号化は容易に解くことが
可能なものである。コンピュータを使用すればほんの数秒である。プレーンテキ
ストが英語であると仮定する。更に、キー長さが小さなバイト数のものであると
仮定する。暗号を解く方法は次の通りである。 1.同時計数法(counting coincidence)として知られる手順によりキーの長さ
を見つける。暗号テキストとそれ自体を様々なバイト数だけシフトさせたものと
のXORを計算し、それらのバイトで等しいものをカウントする。その変位がキ
ー長さの倍数である場合には、該バイトの内の6%を越える何らかが等しいこと
になる。前記変位がキー長さの倍数でない場合には、該バイトの内の0.4%未満
が等しいことになる(ランダムキーが通常のASCIIテキストを暗号化するものと
仮定すると、他のプレーンテキストが異なる数字を有することになる)。これは
、同時索引(index of coincidence)と呼ばれている。キー長さの倍数を示す変位
のうち最も小さいものがキー長さである。 2.該キー長さにより暗号テキストをシフトさせ、該結果とそれ自体とのXOR
を計算する。これにより、キーが除去され、該キーの長さだけシフトされたプレ
ーンテキストとXORされたプレーンテキストが得られる。英語は、1バイトに
つき1.3ビットの実情報(real information)を有するため、一意の解読を決定す
るのに余計な部分が大量に存在する。」 ビジネル暗号を解くための上記方法は、XOR(base2)がそれ自体を反転した
ものであること、及び暗号キー(マスクバイト)が多数回繰り返されるという事実
に依存するものである。XORがそれ自体の反転であるのは、A XOR B X
OR B=Aだからである。本発明の目的は、ビジネル及びその変種であるビュ
ーフォートの暗号化方式を、それらをキャラクタに直接適用するのではなく、該
キャラクタを別の数字ベースで表現するディジットに適用することにより、改善
することにある。
【0009】 Jennifer Seberry 及び Josef Pieprzyk (Prentice Hall, 1989)による「Cryp
tography : An Introduction to Computer Security」の70〜71頁には次のよう
に記載されている。 「ビジネル暗号方式。そのキーは、一連の文字:K=k1,..,kdにより指定され
る(ki(i=1,..,d)はi番目のアルファベットのシフト量を与えるものであり、す
なわち:fi(a)=a+ki(mod n))。」 「変種ビューフォート暗号化方式。この場合には式fi(a)=a+ki)(mod n)が
使用される。a−ki=a+(n−ki)(mod n)であるため、変種ビューフォート
暗号化方式は、キーキャラクタn−kiに関してはビジネル暗号化方式と等価で
ある。実際に、変種ビューフォート暗号化方式はビジネル暗号化方式の逆関数と
なる。これは、その一方を使用して暗号化を行った場合にその他方を使用して解
読を行うからである。」 歴史的には、ビジネル暗号化方式及びビューフォート暗号化方式は、文字全体
又はキャラクタ全体に適用されてきた。すなわち、キャラクタの値(アルファベ
ット中の位置)は、それ自体に対して加算又は減算された数(アルファベットの
長さを法(modulo)とするもの)を有しており、結果的に得られる数が、アルファ
ベット中のキャラクタ位置を指定するために使用され、該位置におけるキャラク
タが暗号化キャラクタとして送られる。
【0010】 本書において、BCNは、2進数から基数nへの数値変換、並びに2進法で示
されるディジットとして基数nの数字を表現することを意味する。一般的な例(
基数10)がBCD(binary coded decimal)であり、この場合には値0〜9は4つ
の2進ビットで表現される。
【0011】 本書では、1バイトを2つ又は3つ以上のビットとして定義する。典型的な用
法では、1バイトは8ビットとみなされる(が、これに限定されるものではない
)。
【0012】 また本書では、アレイ(又はマスク)を複数の要素から構成されるものとして
説明する。かかる要素は、任意の実際の又は論理的なグループ(例えば任意長さ
の1ビット、1ニブル、1バイト、又は1ワード)として定義されるものである
【0013】
【発明が解決しようとする課題】
本発明の目的は、シソーラス及び/又はシノニム及び/又はその他の形態のル
ックアップテーブルの使用に依存することのない、暗号化/解読装置及び方法を
提供することにある。
【0014】 本発明の更なる目的は、1つの数字を基数とするキャラクタの表現をそれに対
応する別の数字をベースとする表現へと変換する、暗号化/解読機構を提供する
ことにある。
【0015】
【課題を解決するための手段】
上記目的は、複数の要素又はキャラクタとして表現されたメッセージ又は情報
を送信のために暗号化する暗号化/解読装置であって該メッセージが解読される
ことになるもう1つの装置へと送信する暗号化/解読装置により達成される。該
要素又はキャラクタのマスクが定義されてその暗号化/解読で使用される。該メ
ッセージ要素およびマスク要素は、別の新たな2進でない基数のシステムにおい
て対応する複数の要素へと変換される。該変換されたメッセージ要素およびマス
ク要素が各要素毎にそれぞれ組み合わされて、暗号テキストとして定義される新
たな一組の要素が形成される。
【0016】 この暗号テキストは、送信に適した更に別の基数で一組の要素へと変換するこ
とが可能である。
【0017】 暗号テキストをデコードするために、マスク要素(暗号化に使用されたものと
同一のもの)が別の基数(暗号テキストの複数のディジットの基数と同じ基数)
の対応する要素へと変換される。次いで、それらの要素が、暗号化に使用された
要素を反転させたものを使用して各要素毎にそれぞれ組み合わされて、新たな一
組の要素が形成される。該一組の要素を元のメッセージの基数の数値へと変換す
るとプレーンテキストメッセージとなる。
【0018】 ここで、XORn(XOR+及びXOR−)は、(m個のディジットについて)
基数nの数値A,Bを定義すると、次のような排他的論理和演算(基数n)を示
すものである。
【0019】
【数1】
【0020】 次いで、好適な実施形態では、要素A,Bを次式に従って組み合わせることが可
能である。
【0021】
【数2】
【0022】
【数3】
【0023】 基数2の場合には、XORnは標準的なXOR演算と同一となる。2進数のj個
のディジット(基数n)への変換は、該数値のnによる連続的な除算により行わ
れる。この場合、各除算の剰余がi番目(i=0〜j-1)のディジットとなる。該
数値(基数n)の複数のディジットは、和=0に設定し、次いでi=j-1〜0につい
て和=(和×n)+ディジットiを実行することにより、2進数に戻るよう変換
される。これが完了すると、その結果が和となる。
【0024】 本発明の利点は、XOR(基数2)を採用した暗号化方法が、2よりも大きな
基数を使用することにより強力になる点にある。これは、A XORn B XO
Rn BがAに等しくならないからである。
【0025】 本発明の別の利点は、一好適実施形態における暗号化されるべき各バイト及び
各マスクバイト(キーバイト)が2進数から基数n(n>2)の複数のディジッ
ト又は要素からなるストリングへと変換され、かかるディジットに数2及び数3
の演算が体系的に適用される点にある。一度に使用される基数又はモジューロは
1つだけである。
【0026】 本発明の一好適実施形態では、数2及び数3は有利に使用される。これは、2
進マスクバイトを別の基数のディジットへと変換した結果として得られる一連の
ディジットがキーとなるため反復するキーが(通常考えられるキーとして)存在
しないからである。マスクバイトストリングは、少数のキャラクタに限定される
ものではなく、極めて長い連続する複数バイトとすることができる。マスクバイ
トが反復するシーケンスに従う場合には反復する一連のディジットを用いること
も依然として可能であるが、コンピュータ環境における任意のマスクバイトの取
得の容易性により、かかる状況が生じる可能性は低減されよう。これらのバイト
を、ディジタルソースのサンプリング、数値的なハッシュ関数の適用、疑似乱数
の生成、及びその他の数値演算を含む幾つかのディジタルソースから導出するこ
とが可能である(が、これらに限定されるものではない)。
【0027】 一好適実施形態では、数2が暗号化に使用され、数3が解読に使用される。こ
れらが逆の暗号化であるため、別の好適実施形態では、数3が暗号化に使用され
、数2が解読に使用される。明朗化のため前者の方法のみを示す。後者の機構の
実施については当業者には理解されよう。
【0028】 任意の及び乱数は、通常のディジタルプロセスにより生成される。(CD−R
OMに見られる)最もディジタル化された音楽は、レート44.1kHzでサンプリン
グされた16ビットステレオである。これは、1分間につき10.5メガバイトを生成
するものとなる。その約1/2(すなわち5メガバイト/分)は任意のデータバ
イトとして使用することが可能である。音楽を構成するディジタルデータストリ
ームを読み出して上位8ビットを棄却しサウンドの下位8ビットのみをサンプリ
ングして任意の又はランダムな数値を生成することにより、妥当にランダムなデ
ータバイトが生成される。その結果として得られるバイトストリームについてフ
ーリエ解析を行っても特定のパターンは全く見られない。静かな楽節(silent p
assages)は回避されることになる、ということに留意されたい。音楽のあらゆ
るバイトを順に取得するのが望ましくない場合には、nが11〜17の間の小さな値
を有するのであれば、n番目毎のバイトを使用しても全く問題ない。留意すべき
は、音楽CD−ROMに固有のエラー訂正は完全なものではなく、ユーザは、C
D−ROM音楽形式からWAVE(.WAV)ファイル形式へと変換を行い、次いでモ
デム、大容量リムーバブルドライブ、ディジタル磁気テープカートリッジにより
、又は該WAVE(.WAV)ファイルを含むディジタルCD−ROMを作成すること
により、該WAVE(.WAV)ファイルを第三者へ送ることを望む可能性がある、と
いう点である。
【0029】 任意の又はランダムなディジタル数の別のソースは、PHOTO CD−RO
Mからの幾つかのピクチャのピクセル単位での修正(排他的論理和、加算、減算
)に見いだすことができる。この場合にも下位バイトが考慮対象となる。コンピ
ュータによるZIPされた(.zip)ファイルやその他の圧縮されたファイル形式を
使用することも可能である。
【0030】 送信側及び受信側は、マスクバイトのために使用されるソースについて、及び
かかるソースをサンプリングし及び/又は組み合わせてメッセージの暗号化及び
解読に使用するためのマスクバイトを生成する態様について、予め同意しなけれ
ばならない。
【0031】 別の好適な実施形態では、ディジタルソースのインテリジェントサンプリング
を有利に使用して、暗号化に使用するバイトストリームの再構築を低減させるこ
とが可能である。加えて、暗号化アルゴリズム及びハッシュアルゴリズムを使用
して、ディジタルソースをその利用に先立って変更することが可能である。更に
、テーブル、アレイ、及び/又はマスクのための疑似乱数の変更を有利に使用す
ることも可能である。
【0032】 本発明の他の特徴及び利点は、以下の本発明の好適な実施形態の詳細な説明を
添付図面と共に参照することにより明らかとなろう。
【0033】
【発明の実施の形態】
図1Aは、2進値をエンコードするための各ステップの一好適実施形態である
。ステップ1で、エンコードすべき2進情報(A)がステップ2のためにエンコーダ
へ提供される。ステップ2で、該2進情報が、別の基数Nで表現された複数キャ
ラクタのディジット(A')へと変換される。ステップ3のディジット又はキャラク
タ(B')がステップ4で数2に従ってディジットA'と組み合わされ、その結果と
して基数Nで表現されたディジットC'が得られる。該ディジットC'は、元の情
報Aを暗号化した形のものである。ステップ5で、これらディジットC'が2進数
(C)へと変換される。これは、受信側へ送るのに都合の良い基数である。
【0034】 図1Bは、図1Aに示すようにして送信されたディジットの受信側が、受信し
たエンコード済ディジットをデコードするのに必要な各ステップを示したもので
ある。ステップ7で、ディジットCが基数Nのディジットへと変換されてディジ
ットC'が生成される。ステップ8でディジットB'が格納される。該ディジット
C',B'がステップ9で数3に従って組み合わされ、その結果としてディジットA
'が得られる。ステップ10で、ディジットA'が変換されて元の2進数Aへと戻さ
れる。
【0035】 図1A及び図1Bに示したプロセスにおいて、数2及び数3の使用順を逆にす
ることが可能であり、この場合には数3が図1Aのステップ4で使用され、数2
が図1Bのステップ9で使用されることになる。
【0036】 更に図1A及び図1Bを参照すると、2進情報Aは、8ビットバイトとして表
現することが可能であるが、任意のサイズのバイトを使用することが可能である
。A',B',C'は、基数Nのディジットとして表現された数値である。ソースB'
の情報もまた、本書で説明するように、あらゆるランダム形式又は疑似ランダム
形式のものとすること、又は任意のソースとすることが可能である。
【0037】 図2は、エンコーダ/デコーダを示す基本的なブロック図である。以下の説明
は、2進入力(N3=2)の2進マスクバイト(N4=2)を用いた2進出力(N2
=2)への処理に関するものである。N1は、2よりも大きい任意の値となる。
Mバイトのプレーンテキストがライン21を介して入力データバッファ2へロード
される。加えて、M個のマスクバイトがライン22を介してデータマスクバッファ
3へロードされる。アドレスカウンタであるデータアドレスカウンタ1、マスクア
ドレスカウンタ14、及び出力アドレスカウンタ15は、全て0に初期化される。こ
れらのカウンタは、バッファ全体を処理するために、M回クロックされることに
なる。EDは、エンコーダ/デコーダにより何れの数式(#1又は#2)が使用さ
れることになるかを示すために使用される1ビットの2進フラグである。エンコ
ードを行う場合にはED=0にセットされ、デコードを行う場合にはED=1に
セットされる。N1 7は、XOR演算に使用されるべき基数である。N2 10は
、ディジット(基数N1)を変換して出力バッファに入力すべきバイトへと戻す
ために使用すべき基数である。N3 13は、入力データバイトの基数であり、2
進入力バイトの場合には通常は2である。ディジット変換器(4,5)及び数値変換
器9のための内部的なディジットの数は、ライン32を介してディジット(ディジ
ットの数)12により供給される。必要とされるディジット数は、XOR演算のた
めの基数、及び処理されるバイトのビット幅によって決定される。ディジット12
の値は次のようにして計算される。 ディジット≧In(2(ビット数)−1)/In(N1) ビット数が8(28−1=255)であり、XORnのための基数が15である場合に
は、3ディジットが必要となる。これは、In(255)/In(15)=2.04であり、該値
が次の整数値3へと切り上げられるからである。
【0038】 データアドレスカウンタ1は、ライン20を介して入力データバッファ2へ送られ
る。マスクアドレスカウンタ14は、ライン36を介してデータマスクバッファ3へ
送られる。出力アドレスカウンタ15は、ライン37を介して出力データバッファ11
へ送られる。これらのカウンタは、入力データバッファ2及びデータマスクバッ
ファ3からどのバイトを選択するか、及び結果的に得られるバイトを出力データ
バッファ11内の何処に配置するかを指定するために使用される。入力データバッ
ファ2からのバイトは、ライン24を介してディジット変換器5へ送られる。同様に
、データマスクバッファ3からのバイトは、ライン23を介してディジット変換器4
へ送られる。N1(XORn演算のための基数)は、ライン25を介してディジッ
ト変換器4の「base」入力及び数値変換器9の「i base」入力へ送られる。N3 1
3(入力データバイトの基数)は、この場合には2(2進用)にセットされ、ラ
イン34を介してディジット変換器5へ送られる。同様に、N4 16(マスクバイト
の基数)もまた、この場合には2(2進用)にセットされ、ライン35を介してデ
ィジット変換器4へ送られる。ディジット12の数値は、ライン32を介してディジ
ット変換器4,5及び数値変換器9の「#dig」入力へ送られる。
【0039】 2進入力データバイトは、ディジット変換器5において基数N1のディジット
へと変換され、その結果として得られるディジットがライン27を介してモジュー
ロN加算器/減算器6の「A」入力へ送られる。2進数のjディジット(基数n)
への変換は、該2進数のnによる連続的な除算により行われ、この場合、各除算
の剰余がi番目(i=0〜j-1)のディジットとなる。この変換は、予め計算され
たテーブルのテーブルルックアップにより達成することも可能である。同様に、
2進マスクバイトがディジット変換器4において基数N1のディジットへと変換
され、その結果として得られるディジットがライン26を介してモジューロN加算
器/減算器6の「B」入力へ送られる。ED8は、ライン28を介してモジューロN
加算器/減算器6の「e/d」入力へ送られる。ED=0の場合には、各「j」ディ
ジット毎に、Cj=(Aj+Bj)mod N1となる。またED=1の場合には、各
ディジット毎に、Cj=(N1+Aj−Bj)mod N1となる。モジューロN加算
器/減算器6内での演算の結果として得られたディジット(Cj)は、ライン29を
介して数値変換器9の入力に送られる。随意選択的に、モジューロN加算器/減
算器6の出力ディジットを(2進値に変換する代わりに)一連の暗号テキスト出
力ディジットとみなすことが可能である。これらのディジットは、受信側への送
信のための何らかの他のプロセスにより使用することが可能である。ED=1の
場合に、モジューロN加算器/減算器6の出力を(受信側に対し変換して戻す代
わりに)一連の暗号テキスト出力ディジットとみなすことが可能である。ED=
1の場合には、モジューロN加算器/減算器6の出力は、元のプレーンテキスト
を表すディジットとなる。なお、この実施形態の場合には、数値変換器9での2
進数への変換後にのみ2進プレーンテキストとなる。
【0040】 出力基数N2の値は、ライン30を介して数値変換器9の「ok base」入力へ送ら
れる。N2=2の場合には、数値変換器9に送られたディジットは、和=0にセ
ットし、次いでj=(ディジット−1)〜0について和=(和×N1)+Cj(Cj
j XORn Bjの結果)を実行することにより変換されて2進値へと戻される
。これが完了すると、その結果が和となる。この基数変換はまた、予め計算され
たテーブルを使用してテーブルルックアップにより達成することが可能である。
N2=2(2進)の場合には、結果として得られる和の2進値が、ライン31を介
して出力データバッファ11へ送られる。
【0041】 N2=2でない場合には、該和の2進値が、(上述の方法により)基数N2の
ディジットへと変換され、該ディジットが使用されて出力バイト中のBCNディ
ジットが形成され、次いで該(BCN形式の)出力バイトがライン31を介して出
力データバッファ11へ送られる。
【0042】 入力バッファ中の全バイトが処理されて出力バッファ内に配置されるまで上記
の各ステップが繰り返される。次いで暗号テキストがライン33を介してユーザへ
送られる。ED=1の場合には、出力バッファはプレーンテキストを含む。
【0043】 入力及び出力に(2進以外の)基数を使用することにより、エンコーダ/デコ
ーダの演算を変更することができる。以下の実施形態は全て、2よりも大きい基
数を使用するものである。
【0044】 N2(出力結果の基数)がN1(XORn演算の基数)と等しい場合には、該
XORn演算の結果として得られるディジットは、その変更を伴うことなくライ
ン31を介して出力データバッファ11内に配置される。これは、出力データバッフ
ァ11のサイズが入力データバッファ2のサイズよりも大きいことを必要とする(
出力バイト中にディジット値を保持するため)。また、出力アドレスカウンタ15
は、一層多くのアドレスを出力データバッファ11に送らなければならない(格納
されている追加情報を取り扱うため)。結果的に得られる暗号テキストは、実施
形態に応じてディジット又はBCN形式にすることが可能である。
【0045】 プレーンテキスト21又はデータマスク22が、ディジット又はBCN形式であり
、これら入力の何れかの基数がXORn演算の基数と同一(N3又はN4≠N1
)である場合には、これらのディジット(≠N1)は、それぞれのディジット変
換器4又は5を介して変更なしで送られる。この場合には、それぞれのアドレスカ
ウンタを適当な追加回数だけインクリメントして、必要とされる数のディジット
をモジューロN加算器/減算器6へ送ることが必要となる。
【0046】 プレーンテキスト21又はデータマスク22が、BCN又はディジット形式であり
、N3又はN4=N1である場合には、最初に適当な入力(=N1)がそれぞれ
のディジット変換器4又は5により内部的に2進値へと変換された後、基数N1の
ディジットへと変換される。
【0047】 実施形態によっては、基数nのディジットへのバイトの変換は、nによるバイ
トの反復的な除算の代わりにテーブルルックアップにより達成される。加えて、
2進その他の基数へのディジット(基数n)の変換もまたテーブルルックアップ
により達成される。
【0048】 別の一好適実施形態(図示せず)では、入力データ及びマスクデータバイトが
16ビット幅を有し、その他のカウンタ、テーブル、変数、又はアレイが、モジュ
ーロN加算器/減算器のe/d入力を変更するために使用され、これにより、バッ
ファが処理されている間にディジットの組み合わせ方法が(数2及び数3の形式
間で)変更される。別の一好適実施形態では、入力及び出力バッファ中のデータ
バイトが、該バッファ中の全てのビットがあたかも1つの極めて大きなバイトを
構成するかのように処理される。別の一好適実施形態は、16ビットよりも大きな
バイト幅を使用する。
【0049】 上記開示の文面及び思想から逸脱することなく本発明の範囲内で他の実施形態
、改善、細部、及び使用を実施可能であることは、当業者には自明であろう。本
発明の範囲は、上記教示内容及びそれと等価なものを含めて、特許法により解釈
される特許請求の範囲によってのみ制限されるものである。
【図面の簡単な説明】
【図1A】 本発明の一好適実施形態のエンコーダプロセスの概要を示すフローチャートで
ある。
【図1B】 本発明の一好適実施形態のデコーダプロセスの概要を示すフローチャートであ
る。
【図2】 エンコーダ/デコーダを示すブロック図である。

Claims (31)

    【特許請求の範囲】
  1. 【請求項1】 暗号化/解読装置であって、 a. 暗号化/解読を行うべき情報であって基数Mで表現された第1要素のアレイ
    D1を規定する情報を取り出す手段と、 b. 前記アレイD1の前記第1要素の暗号化/解読を行うために使用される情報
    であって第2要素のアレイD2を規定する情報を取り出す手段と、 c. 前記アレイD1の前記第1要素を、該第1要素を2よりも大きい基数Nで表
    現したものである第3要素のアレイD3へと変換する、第1手段と、 d. 前記アレイD2の前記第2要素を、該第2要素を2よりも大きい基数Nで表
    現したものである第4要素のアレイD4へと変換する、第2手段と、 e. 前記アレイD3及びD4をモジューロNで組み合わせてアレイD5の第5要
    素を形成する組み合わせ手段と、 f. 基数Nの前記アレイD5の前記第5要素を、エンコード時には暗号テキスト
    となりデコード時にはプレーンテキストとなる、基数Mで表現した第6要素のア
    レイD6へと変換する手段と を備えている、暗号化/解読装置。
  2. 【請求項2】 前記組み合わせ手段が、Nを法として前記アレイD3の第3要素を前記アレイ
    D4の第4要素に加算して前記アレイD5の第5要素を形成する手段からなる、
    請求項1に記載の暗号化/解読装置。
  3. 【請求項3】 前記組み合わせ手段が、Nを法としてNを前記アレイD3の第3要素に加算し
    前記アレイD4の第4要素を減算して前記アレイD5の第5要素を形成する手段
    からなる、請求項1に記載の暗号化/解読装置。
  4. 【請求項4】 前記アレイD5の第5要素から前記アレイD6の第6要素を形成するために使
    用される基数がM'(M'≠M)である、請求項1に記載の暗号化/解読装置。
  5. 【請求項5】 前記アレイD5の第5要素から前記アレイD6の第6要素を形成するためにテ
    ーブルルックアップが使用される、請求項1に記載の暗号化/解読装置。
  6. 【請求項6】 前記アレイD2の第2要素が、テーブルルックアップによりアレイD4の第4
    要素へと変換される、請求項1に記載の暗号化/解読装置。
  7. 【請求項7】 前記アレイD1の第1要素が、テーブルルックアップによりアレイD3の第3
    要素へと変換される、請求項1に記載の暗号化/解読装置。
  8. 【請求項8】 高い信頼性で取り出すことができるディジタル数の任意のソースから前記アレ
    イD2の第2要素を取り出す手段を更に備えている、請求項1に記載の暗号化/
    解読装置。
  9. 【請求項9】 前記アレイD4の第4要素となる情報を取り出す手段を備えており、前記ステ
    ップb,dを使用しない、請求項1に記載の暗号化/解読装置。
  10. 【請求項10】 前記ディジタル数のソースが、疑似乱数、乱数、又は疑似乱数及び乱数の両者
    を含む、請求項6に記載の暗号化/解読装置。
  11. 【請求項11】 暗号化装置であって、 a. 暗号化/解読を行うべきプレーンテキスト情報であって基数Mで表現された
    第1要素のアレイD1を規定するプレーンテキスト情報を取り出す手段と、 b. 前記アレイD1の前記第1要素の暗号化/解読を行うために使用される情報
    であって第2要素のアレイD2を規定する情報を取り出す手段と、 c. 前記アレイD1の前記第1要素を、該第1要素を2よりも大きい基数Nで表
    現したものである第3要素のアレイD3へと変換する、第1手段と、 d. 前記アレイD2の前記第2要素を、該第2要素を2よりも大きい基数Nで表
    現したものである第4要素のアレイD4へと変換する、第2手段と、 e. 前記アレイD3及びD4をモジューロNで組み合わせて暗号テキストである
    アレイD5の第5要素を形成する組み合わせ手段と、 f. 基数Nの前記アレイD5の前記第5要素を、エンコード時には暗号テキスト
    となりデコード時にはプレーンテキストとなる、基数Mで表現した第6要素のア
    レイD6へと変換する手段と を備えている、暗号化装置。
  12. 【請求項12】 前記アレイD5の第5要素が暗号テキストを形成する、請求項11に記載の暗
    号化装置。
  13. 【請求項13】 前記アレイD1の第1要素が、テーブルルックアップにより前記アレイD3の
    第3要素へと変換される、請求項11に記載の暗号化装置。
  14. 【請求項14】 前記アレイD2の第2要素が、テーブルルックアップにより前記アレイD4の
    第4要素へと変換される、請求項11に記載の暗号化装置。
  15. 【請求項15】 前記組み合わせ手段が、Nを法として前記アレイD3の第3要素を前記アレイ
    D4の第4要素に加算して前記アレイD5の第5要素を形成する手段からなる、
    請求項11に記載の暗号化装置。
  16. 【請求項16】 前記組み合わせ手段が、Nを法としてNを前記アレイD3の第3要素に加算し
    前記アレイD4の第4要素を減算して前記アレイD5の第5要素を形成する手段
    からなる、請求項11に記載の暗号化装置。
  17. 【請求項17】 高い信頼性で取り出すことができるディジタル数の任意のソースから前記アレ
    イD2の第2要素を取り出す手段を更に備えている、請求項11に記載の暗号化
    装置。
  18. 【請求項18】 前記ディジタル数のソースが、疑似乱数、乱数、又は疑似乱数及び乱数の両者
    を含む、請求項11に記載の暗号化装置。
  19. 【請求項19】 高い信頼性で取り出すことができるディジタル数の任意のソースから前記アレ
    イD4の第4要素を取り出す手段を更に備えている、請求項11に記載の暗号化
    装置。
  20. 【請求項20】 前記ディジタル数のソースが、疑似乱数、乱数、又は疑似乱数及び乱数の両者
    を含む、請求項19に記載の暗号化装置。
  21. 【請求項21】 暗号解読装置であって、 a. 解読を行うべき暗号テキスト情報であって基数Nで表現された第3要素のア
    レイD3を規定する暗号テキスト情報を取り出す第1手段と、 b. 前記アレイD2の第2要素を、該第2要素を2よりも大きい基数Nで表現し
    たものである第4要素のアレイD4へと変換する、第2手段と、 c. 前記アレイD3及びD4をモジューロNで組み合わせて基数Nのプレーンテ
    キストであるアレイD5の第5要素を形成する組み合わせ手段と、 d. 基数Nの前記アレイD5の第5要素を、元のプレーンテキストである基数M
    で表現されたアレイD6の第6要素へと変換する手段と を備えている、暗号解読装置。
  22. 【請求項22】 前記アレイD5の第5要素が元のプレーンテキストメッセージからなる、請求
    項21に記載の暗号解読装置。
  23. 【請求項23】 前記アレイD2の第2要素が、テーブルルックアップにより前記アレイD4の
    第4要素へと変換される、請求項21に記載の暗号解読装置。
  24. 【請求項24】 前記組み合わせ手段が、Nを法として前記アレイD3の第3要素を前記アレイ
    D4の第4要素に加算して前記アレイD5の第5要素を形成する手段からなる、
    請求項21に記載の暗号解読装置。
  25. 【請求項25】 前記組み合わせ手段が、Nを法としてNを前記アレイD3の第3要素に加算し
    前記アレイD4の第4要素を減算して前記アレイD5の第5要素を形成する手段
    からなる、請求項21に記載の暗号解読装置。
  26. 【請求項26】 高い信頼性で取り出すことができるディジタル数の任意のソースから前記アレ
    イD2の第2要素を取り出す手段を更に備えている、請求項21に記載の暗号解
    読装置。
  27. 【請求項27】 前記ディジタル数のソースが、疑似乱数、乱数、又は疑似乱数及び乱数の両者
    を含む、請求項26に記載の暗号解読装置。
  28. 【請求項28】 前記アレイD5の第5要素から前記アレイD6の第6要素を形成するためにテ
    ーブルルックアップが使用される、請求項21に記載の暗号解読装置。
  29. 【請求項29】 高い信頼性で取り出すことができるディジタル数の任意のソースから前記アレ
    イD4の第4要素を取り出す手段を更に備えている、請求項21に記載の暗号解
    読装置。
  30. 【請求項30】 前記ディジタル数のソースが、疑似乱数、乱数、又は疑似乱数及び乱数の両者
    を含む、請求項29に記載の暗号解読装置。
  31. 【請求項31】 前記アレイD5の第5要素から前記アレイD6の第6要素を形成するためにテ
    ーブルルックアップが使用される、請求項21に記載の暗号解読装置。
JP2000619155A 1999-05-18 1999-05-18 複数の数値を基数とする対応するxorを用いたエンコーダ/デコーダ Pending JP2003500898A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1999/010929 WO2000070818A1 (en) 1998-02-07 1999-05-18 Multiple number base encoder/decoder using corresponding xor

Publications (1)

Publication Number Publication Date
JP2003500898A true JP2003500898A (ja) 2003-01-07

Family

ID=22272778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000619155A Pending JP2003500898A (ja) 1999-05-18 1999-05-18 複数の数値を基数とする対応するxorを用いたエンコーダ/デコーダ

Country Status (3)

Country Link
EP (1) EP1183819A4 (ja)
JP (1) JP2003500898A (ja)
CA (1) CA2371446A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717760A (en) * 1994-11-09 1998-02-10 Channel One Communications, Inc. Message protection system and method

Also Published As

Publication number Publication date
CA2371446A1 (en) 2000-11-23
EP1183819A1 (en) 2002-03-06
EP1183819A4 (en) 2003-04-16

Similar Documents

Publication Publication Date Title
KR101246490B1 (ko) 갈루아 폐체 암호 시스템
AU729638B2 (en) A non-deterministic public key encryption system
US5751811A (en) 32N +D bit key encryption-decryption system using chaos
US7190791B2 (en) Method of encryption using multi-key process to create a variable-length key
US20060129811A1 (en) Cryptography related to keys
US8180048B2 (en) Method and system for computational transformation
Katti et al. On the security of randomized arithmetic codes against ciphertext-only attacks
US6128386A (en) Multiple number base encoder/decoder using a corresponding exclusive or function
CA2410421A1 (en) Parallel modulo arithmetic using bitwise logical operations
EP1287641B1 (en) A method of validating an encrypted message
EP1287638B1 (en) Decoding of cipher polynomials
CA2413381A1 (en) A method of protecting a cryptosystem from a multiple transmission attack
US20030165242A1 (en) Confusion encryption
WO2001093493A2 (en) End of message markers
Belmeguenai et al. Speech encryption using stream cipher
JP2000047581A (ja) 暗号化方法,暗号化・復号装置及び暗号通信システム
JP2003500898A (ja) 複数の数値を基数とする対応するxorを用いたエンコーダ/デコーダ
JP2002252610A (ja) 暗号装置および復号装置並びに公開鍵暗号方式および公開鍵復号方式
JPH09288565A (ja) 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、鍵系列生成装置及び方法、並びに記憶媒体
Kumar et al. Novel encryption schemes based on Catalan numbers
KR20110031822A (ko) 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치
JPH11161164A (ja) 公開鍵暗号方式と暗号化装置および復号装置
Abbas et al. Audio cryptosystem based on LFSH and Chaotic map with ECC key management
AU750408B2 (en) A method of combining a serial keystream output with binary information
WO2000064096A1 (fr) Systeme de communications cryptees