JP2008513811A - 計算変換の方法及びシステム - Google Patents

計算変換の方法及びシステム Download PDF

Info

Publication number
JP2008513811A
JP2008513811A JP2007530852A JP2007530852A JP2008513811A JP 2008513811 A JP2008513811 A JP 2008513811A JP 2007530852 A JP2007530852 A JP 2007530852A JP 2007530852 A JP2007530852 A JP 2007530852A JP 2008513811 A JP2008513811 A JP 2008513811A
Authority
JP
Japan
Prior art keywords
key set
bit block
input data
column
conversion
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
JP2007530852A
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 シンガナマラ,ピー・プララド
Publication of JP2008513811A publication Critical patent/JP2008513811A/ja
Pending 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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

本発明は、一般的に、暗号法、乱数発生、ハッシュ・コード発生などに応用を有する計算変換プロセスに関する。計算変換モジュールは、2次元アレイとして設計されたキーセットを使用する。本発明で使用される順方向変換プロセスは、対称暗号プロセスであるから、通信ネットワークを介してデータを安全に送るために使用されるのであれば、データを暗号化する送信コンピュータ、及び逆方向変換によってデータを解読する受信コンピュータに、同じキーセットが存在しなければならない。入力データの最初の「n」ビット・ブロックが、出力データの最初の「m」ビット・ブロックへ変換されるとき、キーセット上の非線形又は単方向変換に基づいて、キーセットが、異なるキーセットへ変換される。次の入力ブロックは、変換されたキーセットを使用して暗号化され、したがってシャノンの完全秘密理論を満足させる。乱数及び一意のハッシュ・コードの作成は、パラメータ及び操作を追加した同じ論理を使用する。計算変換プロセスは単向プロセスである。単向プロセスは、入力値「x」が与えられると、関数F、即ち、F(x)=yを使用して、「x」を「y」へ変換することが容易であるという原理に基づいている。しかし、Fの範囲で「y」が与えられるとすれば、F(x)=yであるようなxを発見するのは困難である。このシステムにおいて、定値が変更されるだけで、暗号化及び解読の双方で同じ変換関数及び同じキーセットが使用される。

Description

本発明は、一般的に、暗号の分野に関する。具体的には、本発明は、真の単向関数を使用する対称暗号化及び解読、乱数生成、及びハッシュ・コード発生器の方法及びシステムに関する。
本発明は、暗号化通信、及び通信路上の安全な通信を提供し、計算システム上にデータを安全に記憶する方法に関する。コンピュータ技術及び情報技術におけるネットワーク方法の出現と共に、情報は地球を横切って瞬時に利用可能となる。情報技術の上で発展及び繁栄してきた様々な情報集中ビジネスが存在する。
正しい情報を高速で通信することは、様々なビジネス分野で高度に必要である。少数の名前を挙げると、銀行業、電子メール、データ処理、及び戦略的コンサルタント業などである。安全な電子通信は、この情報技術時代に存在するほとんど全てのビジネス形態及びビジネス単位の核心である。既存の電子通信路を通る情報の流れは日に日に速くなっているが、このデータは電子盗聴者によって監視されやすい。更に、通信路で送られる電子データの源のオーセンチケーション及びその検証のような問題にも対処して、電子署名の潜在的偽造を管理する必要がある。そのような偽造は、署名を検証して譲渡された署名者から文書が来ており、偽物でないことを確認しなければならないトランザクション、例えば、銀行為替手形又は有価証券の預託に不利な効果を有するかも知れない。これは、安全な通信路を有する必要性を強調して示す。安全な通信路は、電子盗聴者からの安全を通信データに提供し、トランザクション文書上の電子署名のために真のオーセンチケーションとして作用することができる。
通信路で送られた電子データの安全な伝送、オーセンチケーション、及び検証のための暗号システムが存在したが、今日まで応用されたそれらの各々は、或る一定の欠点を有した。非対称及び対称暗号システムが存在した。全てのこれらの暗号符号化及び解読方法は、或る程度のプライバシーの保護を確実にする。
対称暗号は、暗号化及び解読プロセスの双方のために同じキーセットが使用されるアルゴリズムを使用する。生成されたキーは、秘密に保持されなければならず、メッセージの送信者及び受信者によって共有される。例えば、Microsoft Word 文書で使用されたパスワードは、対称暗号化手法を使用する。その場合、ファイルを暗号化及び解読するために使用されるパスワードは同じであり、盗聴者からファイルを安全に保護するために使用される。ファイルをパスワードで暗号化する人は、直接又は任意の他の手段によって、パスワードを受信者に通知し、受信者がファイルを解読できるようにしなければならない。
対称キー暗号は、ストリーム暗号とブロック暗号へ分けることができる。ストリーム暗号はメッセージのビットを一時に1つだけ暗号化し、ブロック暗号は或る数のビットを取って、それらを1つの単位として暗号化する。典型的には、64ビットのブロックが使用される。対称キーアルゴリズムは、一般的に、非対称暗号化アルゴリズムよりも、はるかに速く実行する。しかし、対称キーアルゴリズムは、或る一定の落とし穴を有する。1つは、送信端と受信端で、1つのコピーで共有された秘密キーを必要とすることである。キーは暗号敵対者によって発見されやすいので、それらのキーは頻繁に変更される必要があり、配布及び使用の間、安全に保持される必要がある。この代替方法は、非対称暗号を使用してデータを暗号化するか、パスワードを転送して対称暗号化を実行することである。
使用されるべき最初の暗号通信方法の1つは、National Bureau of Standards,Federal Register,Mar. 17,1975,Volume 40,No. 52 及び Aug. 1,1975,Vol. 40,No. 149 によって採用されたデータ暗号化標準ツールであった。
暗号通信路は、通常、暗号化システム及び解読システムを含み、これらのシステムは通信路へ結合される。メッセージは、通信路の1つの端で暗号化システムを使用して暗号化され、通信路を横切って送信され、通信路の他の端で解読通信路によって解読される。ディジタル・システムの場合、メッセージは、数字文字によって表されたディジタル・メッセージとして定義される。これらの文字は、一般的に、0と1との2進表記文字である。使用される暗号化システムは、本質的に、符号化されるべきディジタル・メッセージMの上で符号化キー又は作用素Kを使用することを強調し、メッセージMを符号化バージョンEへ符号化する。ここで、K及びEも、Mと同じ表記法で表された数字文字のディジタル系列である。このようにして、暗号化装置は、入力としてM及びKを取り、Kを使用してMの上で作用し、MをEへ暗号化する。
他方、解読装置は、入力としてE及び解読キー又は作用素K’を取り、K’を使用してEの上に作用し、解読されたテキストM’へEを解読する。ここで、K’及びM’も、Mと同じ表記法で表された数字文字のディジタル系列である。ここで、暗号化及び解読キー又は作用素、即ち、K及びK’は、M’=Mとなるように選択される。
暗号システム、例えば、公開キー暗号化システムの利用可能な文献では、「New directions in cryptography」,IEEE Transactions on Information Theory (Nov. 1976) で Diffie 及び Hellman によって説明されているように、公開キー及び秘密キーを使用して、通信されるべきデータを暗号化し、更にそれを解読することについて、詳細に説明されている。Diffie 及び Hellman によって上記の文献で呈示された暗号化方法は、公開キー(KP)を使用してメッセージMを暗号化することを強調する。暗号文Eからメッセージを解読するため、秘密キーKPrが使用される。
公開キー及び秘密キーは、M’=Mとなるように選択される。公開キー(KP)はユーザの公開ファイル・システムで入手可能であり、秘密キー(KPr)はユーザによって所持される。ユーザBが暗号化メッセージをユーザAへ送らなければならないとき、常に、メッセージMはユーザAの公開キーを使用して暗号化される。次に、ユーザAは、自分だけが知っいる秘密キーを使用して、暗号化メッセージを解読する。この方法は、更に、電子署名の権限付与として作用するように使用される。上記で説明した Diffie 及び Hellman の方法を成功裏に実行するためには、秘密キーの慎重な選択を行うことが絶対に必要である。なぜなら、この選択は、盗聴者への暗号化メッセージの脆弱性を決定するからである。選択されたキーは、計算するのに計算的に困難でなければならない。しかし、常に、ユーザの秘密キーを計算するための暴力的方法が存在するであろう。1つのそのような方法は、1つのMがKP(M)=Eとなるまで、全ての可能なメッセージMをリストし、次にKPr(E)=Mを使用して、KPrを計算することである。
RSA特許、即ち、米国特許第4,405,829号は、素因数分解に基づいてユーザのために秘密キーを生成し、盗聴者による秘密キーの計算を計算的に非常に困難にするスキーム(計算的に高価なプロセス)を使用した。暗号化及び解読のRSA方法は、Diffie 及び Hellman システムと同じ公開キー及び秘密キーの概念を使用してメッセージを暗号化及び解読する。メッセージを暗号文へ暗号化するためメッセージの上で実行される操作は、メッセージを等価数として表現することを含む。ここで、等価数は合成数nよりも小さい非負の数である。合成数nは2つの素因数を有する。即ち、n=p.qである。ここで、p及びqは素数である。
しかし、これらの既存のシステムは、盗聴者からの完全な安全を提供しない。もっとも、それらのシステムは、暗号化メッセージを解読するために必要な秘密キーの計算を含み、この計算は、異なる段階での素数計算を含むので非常に困難である。また、素因数を発見しなければならない数のサイズが増加すると、プロセスは益々高価になる。しかし、スーパーコンピュータ及び高速計算の出現によって、素数発見アルゴリズムは、はるかに高速な実行が可能となり、したがって暗号化メッセージは、盗聴者による解読、妨害、偽造が可能となる。更に、これらの暗号化・解読モジュールは、全ての人が入手できる公開キーを含み、ユーザのみによって所持される秘密キーを生成することが仕事となる。
更に、完全秘密又は未知条件のシャノンの理論によれば、暗号が破られないようにするため、暗号を暗号化するために必要なキーセットは、メッセージごとに一意でなければならず、キーセットの長さは、通信されるべきメッセージの長さよりも大きいか等しくなければならない。暗号化通信方法は、前記のスキームを使用するまで、全面的に安全ではあり得ない。
提案されたシステム及び方法は、既存の技術の全ての欠点を克服して、完全保証の破られない対称キー暗号を提供しようとする。システム及び方法は、更に、乱数及び一意のハッシュ・コードを生成する必要性に対処するために使用される。
本発明の目的及び利点の多くは、以下の詳細な説明及び添付の図面を精査した後で当業者に明らかとなるであろう。
本発明は、幾つかの形態、構造、及び方法で具体化されてよい。下記で提供される説明及び図面は、本発明の例示的実施形態を示す。当業者は、本発明が、下記で示されていない他の形態、構造、及び方法で具体化されてよいことを理解するであろう。本発明は、特許請求の範囲の完全な範囲を有し、下記で示される実施形態によっては限定されない。
順方向変換及び逆方向変換の実施形態の1つは、それぞれ暗号化及び解読のプロセスである。暗号化及び解読は、通信路でデータを安全に伝送するための必須のプロセスであり、計算システムにデータ又は情報を安全に記憶するためにも使用される。暗号化及び解読の幾つかの既存の技術は、本発明の背景で説明された。しかし、本発明は、初期及び現在の暗号化メカニズム及びテクノロジにおける核心問題に対処して、それを克服する。
本発明は、順方向変換及び逆方向変換のために真の単向プロセスを使用する。即ち、本発明の実施形態においてデータを暗号化及び解読する。真の単向関数とは、入力「x」が与えられたとき、F(x)を計算して「y」を取得することが容易であるような関数である。ここで、F(x)=yであり、Fは単向関数である。しかし、Fの性質/記述を知り、「y」を知っていても、「x」を取得するのは困難である。これは、1つの方向で関数の結果を計算することは可能であるが、出力及び関数を知っていても、関数の元の入力を取り戻すことは困難であることを意味する。本発明の核心機能は、下記で説明される。
本発明の変換関数は、一般的に、次のように表される。
f(x,k,0)=y,k’
ここで、「y」は出力データであり、「x」は入力データであり、定数ゼロは順方向変換を表す。しかし、逆方向変換の間、定数は1へ設定され、出力「y」は関数への入力として取られる。このプロセスは順方向変換のプロセスを逆方向にし、元の入力データを生成する。即ち、f(y,k,1)=x,k’である。
上記から分かるように、順方向変換及び逆方向変換のプロセスで同じ関数「f」が使用され、使用されるキーセットは双方の場合で同じであり、唯一の変化はインディケータ値の変化である。ここで、インディケータは、実行されるべき変換の種類を表す。順方向変換及び逆方向変換の双方において、関数「f」は1つの方向へのみ進行する。即ち、kからk’へ、即ち、一次キーセット(k)から二次キーセット(k’)へ進行する。kからk’への変換は真の単向プロセスであり、順方向変換及び逆方向変換で同じである。
ケース1: 入力データ「x」、出力データ「y」、二次キーセット「k’」、及び関数「f」が与えられると、一次キーセットkを取得することは理論的に非常に困難であり、実際には不可能である。
ケース2: 出力データ「y」及び関数「f」が与えられると、入力データ「x」及び一次キーセットkを発見するのは理論的及び実際的に不可能である。なぜなら、生成された組み合わせから入力データの正しいパターンを選択することは不可能だからである。本発明のこの実施形態は、下記で詳細に説明される。
図1は、通信路110、及び通信路へ結合された2つの計算端末105及び115を示す。通信路は、例えば、広域ネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、又は基地局及び移動局を含む無線ネットワークを含んでよい。計算端末は、例えば、コンピュータ又はハンドヘルド装置、例えば、移動電話又はパーソナル・ディジタル・アシスタント(PDA)を含んでよい。本発明の1つの実施形態では、前記の装置の任意のものを使用することによって、本発明で実現される技術を使用して通信路でデータを安全に送ることができる。
図2は、計算端末205における本発明のアーキテクチャを示す。本発明を使用して、通信路でデータを安全に送り、また独立型コンピュータにデータを安全に記憶することができる。各々の計算端末は、プロセッサで読み取り可能又は短期のメモリ210、プロセッサ215、長期メモリ220、及びトランシーバを含み、各々は他のものと通信する。計算変換モジュール225は、計算端末205の長期メモリ220の中に記憶される。トランシーバは、1つの計算端末から他の計算端末へデータを送信及び受信するために使用される。この実施形態において、アプリケーションによって作り出されたデータ、例えば、ワード・ファイル又はエクセル・スプレッドシート又は他のアプリケーションからのデータは、入力データの「n」ビット・ブロックの形態で取られる。このデータは、計算端末205ではビット及びバイトの形態で表される。本発明のこの実施形態において、計算変換モジュール225は入力データを出力データへ変換する責任を有する。出力データは、入力データが計算変換モジュール225を通過するときに受け取られる出力である。出力データは、暗号化された入力データの1つの形態であり、その暗号化は、入力データの上で順方向変換を実行して、意味のないデータに見えるようにすることによって行われる。1つの実施形態において、この暗号化されたデータは、計算端末205にも記憶して、誤った使用からデータを保護するか、ユーザのプライバシーを維持することができる。他の実施形態において、暗号化されたデータは、他の計算端末へ送信可能である。それは暗号化された形態で送られ、盗聴者又は他の第三者が元のデータへアクセスできないようにする。出力データは、他の計算端末の上で、逆方向変換のプロセスを実行され、即ち、解読される。それは、受信計算端末の上で出力データを計算変換モジュールへ通すことによって、元の入力データを回収するためである。暗号化及び解読のプロセスとしての本発明の実施形態は対称プロセスであり、通信ネットワーク110でデータを安全に送るために使用されるのであれば、同じキーセットが、データを暗号化するため送信コンピュータ105に存在し、またデータを解読するため受信コンピュータ115に存在しなければならない。
1つの実施形態において、計算変換モジュール225は、入力データのブロックを暗号化するために使用されるキーセットを含む。本発明は「n」ビット・ブロック変換方法である。ここで、「n」は少なくとも1ビットの長さである。サイズ「n」が増加するにつれて、計算リソース、例えば、必要なメモリ及びプロセッサの速度は増加し、したがって変換プロセスを遅くするであろう。今日のシステムにおいて、「n」の理想のサイズは8ビットである。本発明は、異なった一意のキーセットを使用して、入力データの各々のビットを変換することができる。代替的に、所定数のビット、即ち、ブロックを、一度に暗号化することもできる。入力データの入力ブロックは「n」ビット・ブロックと呼ばれ、出力データの出力ブロックは「m」ビット・ブロックと呼ばれる。例えば、入力データは3ビットの「n」ビット・ブロックへ変換可能であり、各々の「n」ビット・ブロックは一意のキーセットを使用して暗号化可能であり、出力データの「m」ビット・ブロックが取得される。キーセットの設計は、入力データを暗号化するために使用される入力データの「n」ビット・ブロックのサイズに基づく。図3はキーセットの1つの実施形態を示す。その場合、キーセットは2つの列を有する2次元アレイであり、行の数は2nに等しい。ここで、「n」は入力データの入力ブロックのビットの数で、サイズを表す。入力ブロックは「n」ビット・ブロックと呼ばれる。図3で示されるように、2次元アレイの行番号は、0から始まって(2n−1)まで続く。例えば、図3で示されるように、3ビットから成る1つのブロックを暗号化するためには、23の行、即ち、8つの行が存在する。2次元アレイの第1の列305は一意の「n」ビットの数を含み、参照列1(「Ref1」)と呼ばれる。図3で示されるキーセットは入力データの3ビットの1つのブロックを暗号化するために使用されるから、Ref1はゼロから7までの数を任意の順序で含む。2次元アレイの第2の列310は乱数を含み、エネルギー値列(「E−Val」)と呼ばれる。乱数は、「v」ビットから成る任意の所定のサイズであってよい。ここで、「v」はE−Val列のサイズをビットで表す。例えば、図3で示されるキーセットの第2の列310のサイズは8ビットである。デフォルトの状態において、これらの乱数はゼロから2vまでの数を含む。即ち、E−Val列が含むことのできる最大の数は2v、即ち28=256である。ここで、v=8である。キーセットのE−Val列は、任意の並べ替えアルゴリズムを使用してソートされる。1つの実施形態において、第2の列310の数は降順又は昇順又は任意の所定の順序にソートされる。図3で示されるような2つの列を有するキーセット構造において、一意であって順序を有する、即ち、ゼロから7までの順序にあるアレイの行番号は、変換のプロセスで他の隠された参照列として使用される。この構造は、キーセットの構造の1つの実施形態を表す。
他の実施形態において、3つの列及び2n行を有する2次元アレイが使用され、図3で示される。ここで、「n」は入力データの入力ブロックのビットの数でサイズを表す。アレイの第1の列315及び第2の列320は一意の2nビット数を含み、それぞれ参照列1(「Ref1」)及び参照列2(「Ref2」)と呼ばれ、3番目の列325は乱数を含み、エネルギー値列(「E−Val」)と呼ばれる。乱数は「v」ビットの任意の所定のサイズであってよい。ここで、「v」はE−Val列のサイズをビットで表す。Ref1列及びRef2列にある数は任意の順序であってよく、これは、2列キーセット構造を有する2次元アレイと比較されたとき、変換された出力データへ更なる複雑性を追加する。アレイの行数は、入力データの「n」ビット・ブロックのサイズによって決定され、図3で示される実施形態では、23であって8に等しい。なぜなら、3が入力データの「n」ビットのサイズだからである。このようにして、キーセットは8つの行から成る。
他の実施形態において、変換のプロセス、この場合、計算変換モジュール225は、入力データの「n」ビット・ブロック、及びゼロか1の値を有するインディケータを入力される。入力データの「n」ビット・ブロックは、一次キーセットを使用して出力データの「m」ビット・ブロックへ変換される。このプロセスが達成されると、一次キーセットは二次キーセットへ変換され、入力データの全てのブロックが出力データの出力ブロックへ変換されるまで、入力データの次の「n」ビット・ブロックを変換するために二次キーセットが使用される。ゼロ又は1の値を有するインディケータは、計算変換モジュール225が順方向又は逆方向変換を実行する必要があるかどうかを表す。順方向及び逆方向変換のプロセスは、以下で詳細に説明する。
図4は、本発明の実施形態に従って、入力データを出力データへ変換する暗号化プロセスの流れ図を示す。本発明の1つの実施形態として、順方向変換及び逆方向変換のプロセスは、3つの基本ステップでキーセットを使用して実行される。インディケータは、実行される必要がある変換のタイプを示す。例えば、ゼロの値を有するインディケータは順方向変換を表し、1は逆方向変換を表す。順方向変換のプロセスが完了され、出力データが受信コンピュータへ送信されたとき、受信コンピュータはインディケータを逆にして逆方向変換を実行し、元の入力データを回収する必要がある。1つの実施形態において、インディケータは、入力データの「n」ビット・ブロックごとに動的に変更されてよい。例えば、入力データの最初の「n」ブロックは、順方向変換プロセスで説明されたプロセスを使用して変換され、入力データの2番目の「n」ビット・ブロックは、逆方向変換プロセスについて説明したプロセスを使用して変換される。しかし、入力データを回収するためには、同じステップが受信コンピュータで逆にされる必要がある。即ち、出力データの最初の「m」ビット・ブロックが逆方向変換を使用して変換され、出力データの2番目の「m」ビット・ブロックが順方向変換を使用して変換される。含まれる変換のステップは、順序づけ、置換、及び非順序づけを含む。これらのステップは任意の順序、例えば、置換、非順序づけ、順序づけとして実行されてよい。しかし、注意すべきは、元のデータを回収するため、順方向変換端と逆方向変換端で同じプロセスに従わなければならないことである。全てのステップは、下記で詳細に説明される。本発明で説明される実施形態は、置換、非順序づけ、及び順序づけを使用する。
キーセットの変換410、420、425、及び入力データから出力データへの変換405、415、430を説明する流れ図が、図4に示される。最初のステップ405において、入力データの等価2進数が「n」ビット・ブロックへ分割される。次のステップ410で、好ましい「n」ビット・ブロックのサイズに基づいて、キーセットが作り出される。例えば、ビットごとの暗号化が望まれるならば、キーセットは21、即ち、2に等しい行、即ち、行0及び行1を必要とする。データ又は情報は、少なくとも8ビットを使用して表されるから、キーセットの構造は28、即ち256の行、即ち、行0から行255までを有し、また2つ又は3つの列を有するように作成される。2列アレイ及び3列アレイの構造は図3に示される。しかし、図に示された実施形態において、入力ブロックは3ビットであるように選択され、したがってキーセットは8つの行及び2つの列を有するように作成される。作成された最初のキーセットはデフォルトのキーセットと呼ばれ、計算端末ごとに一意のキーセットであってよい。
図5に示される例において、暗号化されるべき入力データは100101である。一度入力データが「n」ビット・ブロックへ分離又は分解されると、最初の「n」ビット・ブロックが暗号化のために選択される。置換のプロセスは次のとおりである。図5に示される実施形態において、入力データの最初の「n」ビット・ブロックが、その等価10進数へ変換され、「n」ビット・ブロックの等価10進数と等しい行番号まで、キーセットのRef1列505を全探索する。例えば、示された例において、暗号化されるべき入力データの最初の「n」ビット・ブロックは100である。入力データの「n」ビット・ブロックの等価10進数は4に等しい。キーセットは行番号4、即ち、Ref1列505の5番目の行まで全探索され、Ref1列の行番号4の値が選択される。図5で示されるように、Ref1の行番号4の数は001である。入力データの「n」ビット・ブロック、即ち、100は、001と置換される。001は、出力データの「m」ビット・ブロックである。このプロセスにおいて、入力データの最初の「n」ビット・ブロックは、デフォルトのキーセットを使用して出力データの「m」ビット・ブロックへ変換される。
「完全機密又は未知条件のシャノンの定理」によれば、暗号が破られないためには、必要なキーセットはメッセージごとに一意でなければならず、キーセットの長さはメッセージの長さよりも大きいか等しくなければならない。したがって、シャノンの理論に従って、キーセットは、本発明の1つの実施形態である単向プロセスを使用して、異なるキーセットへ変換される。変換されたキーセットは二次キーセットと呼ばれる。
非順序づけ及び順序づけのプロセスは、次のとおりである。本発明の1つの実施形態において、((2n/2)−2)の値が計算される。ここで、「n」は入力データの「n」ビット・ブロックのサイズを表す。図5で示された例において、値は((23/2)−2)=2である。他の実施形態において、「((2n/2)−2)」は動的な数、例えば、入力データの先行する「n」ビット・ブロック、又は出力データの「m」ビット・ブロック、又は入力データの「n」ビット・ブロックと出力データの「m」ビット・ブロックとの排他的ORの等価10進数によって置換されてよい。これは、より動的なプロセスを提供する。なぜなら、入力データの「n」ビット・ブロック及び出力データの「m」ビット・ブロックの等価10進数は、各々の変換の後に変化できるからである。一次キーセットのE−Val列510は行番号2まで全探索される。このようにして、図5で示されるように、行番号2、即ち、3番目の行の値が取られる。図5によれば、128のこの値は除数になり、一時的な列515の中に記憶される。Ref1列505の各々の行に記憶された数は、E−Val列510の対応する行の中に記憶された数へ加えられ、合計は被除数と呼ばれる。例えば、Ref1列の行番号2の数、即ち、3は、E−Val列の行番号2に記憶された数、即ち、128へ加えられ、被除数と呼ばれる合計が計算される。本発明の1つの実施形態において、被除数と除数との間のモデュラス、即ち、被除数mod除数が計算される。上記で示された例では、(3+128)mod128=3となり、E−Val列525の各々の行の数は、この数、即ち、被除数mod除数で置換される。3の最終結果は、E−Val列525の行番号2の数と置き換わる。この変換の間、Ref1列520は不変である。他の実施形態において、排他的OR又はXOR関数又は任意の他の類似の非線形関数が使用されてよい。非線形関数は、算術及び論理操作、例えば、足し算、掛け算、又は排他的OR関数の1つ又は組み合わせであってよい。例えば、除数XOR被除数を計算することによって取得された数は、E−Val列525の各々の行に記憶された数と置き換わるように使用されてよい。このプロセスは、非順序づけ操作と呼ばれる。一度E−Val列525の各々の行の数が置換されると、全体のE−Val列535が、任意の並べ替えアルゴリズムを使用してソートされる。並べ替えは整頓の1つの方式を表し、プロセスはE−Val列に順序づけを生成する。このプロセスは順序づけ操作と呼ばれる。順序づけの他の手段も使用されてよい。好ましい実施形態において、列は降順又は昇順にソートされる。この並べ替え操作を実行している間、Ref1列530もE−Val列535に基づいてソートされる。これは、E−Val列525の中の各々の数が移動する位置に従って、対応するRef1列520の数も移動されることを意味する。例えば、図5において、E−Val列525は降順にソートされ、したがってE−Val列525の行番号2に記憶された数は行番号1まで移動する。このプロセスにおいて、Ref1列520の行番号2に記憶された数、即ち、5も、最初の行へ移動する。このようにして、非線形並べ替えがRef1列の上で実行される。当業者は、Ref1列を非線形的又は数学操作を使用してソートできる方法が存在すること、及び非線形並べ替えのこれらの他の形式が本発明の範囲の中にあることを理解するであろう。これらの変換を実行することによって形成された新しいキーセットは一意のキーセットであり、二次キーセット530及び535と呼ばれる。所与のキーセットから新しいキーセットへの変換のこのプロセスは、真に単向である。
この二次キーセットは、入力データの次の「n」ビット・ブロックのために一次キーセットとして使用される。本発明において、本発明の実施形態に従って、入力データの2番目の「n」ビット・ブロックは101である。入力データの「n」ビット・ブロックは、その等価10進数へ変換され、キーセットのRef1は、等価10進数に対応する行番号まで全探索される。例えば、示された例において、暗号化されるべき入力データの2番目の「n」ビット・ブロックは101である。入力データの「n」ビット・ブロックの等価10進数は5に等しい。キーセットは、Ref1列530の行番号5、即ち、5とマークされた行番号へ全探索され、Ref1の行番号5の値が選択される。図5で示されるように、Ref1 530の行番号5の数は111である。入力データの「n」ビット・ブロック、即ち、101は、111で置換される。111は出力データの「m」ビット・ブロックである。このプロセスにおいて、入力データの2番目の「n」ビット・ブロックは、一次キーセットを使用して暗号化される。
キーセットは、前述した操作を使用して新しい二次キーセットへ再び変換される。このキーセットは、一次キーセットとして再び使用され、入力データの次の「n」ビット・ブロックが暗号化される。このプロセスは、入力データの全体が出力データへ変換されるまで継続する。入力データの最後のブロックの中のビットの数が、入力データの前の「n」ビット・ブロックのサイズよりも小さい場合、ゼロがビットの前に付加され、残りのビットを形成する。例えば、図5で示される例において、入力データの「n」ビット・ブロックのサイズは3ビットである。しかし、入力データの最後の「n」ビット・ブロックが2ビットだけであれば、ビットの前にゼロが付加され、欠けているビットを形成する。
ここで、出力データは、ユーザ情報を予防又は防護するか、安全な方法で他の計算端末へ送信するため、計算端末205に記憶されてよい。データを不法に取得しようと試みる盗聴者又は第三者は、出力データのみを受け取る。しかし、キーセットがないので、それらの者は元の入力データを計算及び回収することはできない。データが送信される場合、受信コンピュータ端末も同じキーセットを有しなければならない。このキーセットは、データを暗号化し、それを解読するために使用される。
図6は、本発明の実施形態に従って、出力データの「m」ビット・ブロックから入力データの「n」ビット・ブロックへの変換605、615、630、及び一次キーセットを二次キーセットへ変換する変換実行610、620、625のための逆方向変換プロセスの流れ図を示す。キーセットの変換プロセス、及び出力データの「m」ビット・ブロックから入力データの「n」ビット・ブロックへの変換の例は、図7に示される。1つの実施形態において、出力データの「m」ビット・ブロックは、トランシーバ及び通信路110を介して送信される。受信コンピュータも、順方向変換プロセスで使用されたデフォルトのキーセットと同じものを備えている。
図7で示される例において、変換されるべき出力データは001111である。一度出力データが、出力データの「m」ビット・ブロックへ分離されると、出力データの「m」ビット・ブロックが逆方向変換のために選択される。ここで出力データの「m」ビット・ブロックは、順方向変換プロセスで使用された入力データの「n」ビット・ブロックと同じサイズである。例えば、順方向変換プロセスにおける入力データの「n」ビット・ブロックのサイズは3であり、したがって逆方向変換プロセスにおける出力データの「m」ビット・ブロックのサイズも3である。
「m」ビット・ブロック、即ち、001は、Ref1列705の中で探索される。例えば、図7において、「m」ビット・ブロック001は行番号4にある。4の等価2進数、即ち、100が、出力データの最初の「m」ビット・ブロックに対応する入力データの「n」ビット・ブロックとして返却される。この最初のステップは、出力データの最初の「m」ビット・ブロックについて入力データの「n」ビット・ブロックを決定する。
出力データの次の「m」ビット・ブロックが解読又は変換される前に、順方向変換プロセスの間にキーセット上で実行された同じ変換が再び実行される。変換のプロセスにおいて、本発明の1つの実施形態では、((2n/2)−2)の値が計算される。ここで、「n」は入力データの「n」ビット・ブロックのサイズを表す。図7で示された例において、値は((23/2)−2)=2である。他の実施形態において、「((2n/2)−2)」は任意の動的な数、例えば、入力データの先行する「n」ビット・ブロックの等価10進数、又は出力データの「m」ビット・ブロック、又は入力データの「n」ビット・ブロックと出力データの「m」ビット・ブロックとの間の排他的ORによって置換されてよい。これは、より動的なプロセスを提供する。なぜなら、入力データの「n」ビット・ブロック及び出力データの「m」ビット・ブロックの等価10進数は、各々の変換の後に変化できるからである。一次キーセットのE−Val列710は、行番号((23/2)−2)、即ち、行番号2へ全探索される。このようにして、図7で示される行番号2の値が取られ、一時的な列715の中に記憶される。図7によれば、この値128は除数となる。Ref1 705の各々の行に記憶された数は、E−Val列710の対応する行に記憶された数へ加えられ、合計は被除数と呼ばれる。例えば、Ref1列705の行番号2の数、即ち、3は、E−Val列710の行番号2に記憶された数、即ち、128へ加えられ、被除数と呼ばれる合計が計算される。本発明の1つの実施形態において、被除数と除数との間のモデュラス、即ち、被除数mod除数が計算される。これは、上記で示された例において、(3+128)mod128であり、これは3である。E−Val列725の各々の行にある数は、この数、即ち、被除数mod除数で置換される。3の最終結果は、E−Val列725の行番号2の数と置き換わる。Ref1列720は、このステップの間、不変である。他の実施形態では、排他的OR又はXOR関数又は任意の他の類似の関数も使用されてよい。非線形関数は、算術及び論理操作、例えば、足し算、掛け算、又は排他的OR関数の1つ又は組み合わせであってよい。例えば、除数XOR被除数を計算することによって取得される数が、E−Val列725の各々の行に記憶された数と置き換わるために使用されてよい。このプロセスは非順序づけと呼ばれる。非順序づけ操作は、順方向変換で実行された操作と同じである。一度E−Val列の各々の行にある数が置換されると、任意の並べ替えアルゴリズムを使用して、全体のE−Val列725がソートされる。並べ替えは整頓の1つの方式を表し、プロセスはE−Val列で順序づけを生成する。順序づけの他の手段も使用可能である。好ましい実施形態において、列は降順又は昇順にソートされる。好ましい実施形態において、列は降順又は昇順にソートされる。順方向変換で実行された操作と同じ順序づけ操作が実行されるべきである。この並べ替え操作を実行している間、Ref1列720もE−Val列725に基づいてソートされる。これは、E−Val位置725の中の各々の数が移動する位置へ、対応するRef1 720の数も移動されることを意味する。例えば、図7において、E−Val列735は降順にソートされ、したがってE−Val列735の行番号2に記憶された数は行番号6へ移動する。このプロセスにおいて、Ref1 720に記憶された数、即ち、3も、行番号6へ移動する。このようにして、非線形並べ替えがRef1 730で実行される。当業者は、Ref1列を非線形的にソートする方法が存在すること、及び非線形整頓操作のこれらの他の形式が本発明の範囲の中にあることを理解するであろう。これらの変換を実行することによって形成された新しいキーセットは、一意のキーセットであり、二次キーセットと呼ばれる。
この二次キーセットは、出力データの次の「m」ビット・ブロックのために一次キーセットとして使用される。本発明では、本発明の実施形態に従って、出力データの2番目の「m」ビット・ブロックは111である。出力データのこの「m」ビット・ブロックの探索は、Ref1 730で実行される。例えば、図7において、出力データ111の「m」ビット・ブロックは行番号5にある。5の等価2進数、即ち、101は、入力データの「n」ビット・ブロックである。このようにして、一度このプロセスが完了すると、001111の出力データが、順方向変換プロセスで使用された同じアルゴリズム及びキーセットを使用する受信コンピュータで、100101の元の入力データへ変換される。これは、図5及び図7で示されるように、インディケータ値を変化させて、暗号化及び解読プロセスの双方で同じプロセスを使用するメカニズムを示す。
キーセットは、前述した操作を使用して新しい二次キーセットへ再び変換され、このキーセットは、出力データの次の「m」ビット・ブロックを暗号化するための一次キーセットとして再び使用される。このプロセスは、出力データの全体が入力データへ変換されて元の情報が回収されるまで継続する。出力データの最後のブロックにおけるビットの数が、出力データの前の「m」ビット・ブロックのサイズよりも小さい場合、ビットの前にゼロが付加されて残りのビットを形成する。
図8〜図11は、本発明の実施形態のスクリーンショットを示し、計算変換モジュールの実行を示す。図8の最初のスクリーンショット805は、順方向変換又は暗号化プロセスの開始を示す。図9は、初期条件の設定を示す。スクリーンショットに示されたパラメータ905は、順方向変換プロセスへ更なる複雑性を付加するために設定可能である。付加されることのできる複雑性の幾つかの例は、所定数の乱数を入力データへ加えること、入力データの各々の「n」ビット・ブロックについて複数回の反復を実行することなどを含む。前述した条件に基づいて、デフォルトのキーセット又はユーザ定義キーセットのいずれかを使用することができる。図10で示されるように、計算変換モジュールは入力データ文字を受け取る。図10によれば、順方向変換プロセスの働きをテストするため、同じ文字の文字列、即ち、図10の「g」が入力データ1005として入力され、計算変換モジュールが、図5で説明された順方向変換を実行し、図11の出力データ1105の出力を生成する。入力文字は同じ、即ち、反復するパターンであるが、出力データである出力は、文字の無意味又は無作為の文字列である。これは、各々の変換に新しいキーセットが使用されることを示す。次に、出力データは受信コンピュータへ送られる。
図12〜図15は、本発明の実施形態のスクリーンショットを示し、逆方向変換プロセスにおける計算変換モジュールの実行を示す。図12は、逆方向変換又は解読プロセス1205の開始を示す。図13は、初期条件1305の設定を示す。指定される初期条件は、順方向変換プロセスで使用された条件と同じでなければならず、キーセットも同じでなければならない。
複雑性を増加するため、設定及び修正できる幾つかの初期条件が存在する。しかし、受信コンピュータも、プロセスを逆方向にして元の情報を回復するために、初期条件を知る必要があることに注意すべきである。本発明の実施形態に従って、図13で示される初期条件の例はユーザ特定パスワードである。このパスワードは、前述した暗号化手順のように、システム・デフォルト組み込みキーセットを一次キーセットとして使用して暗号化される。ユーザ特定パスワードを暗号化した後に生成される後続の二次キーセットは、出力データの「m」ビット・ブロックへ変換されるべき入力データの「n」ビット・ブロックを暗号化するための一次キーセットとして使用される。パスワードは、ユーザ定義パスワードであるか、特定のオプションを選択することによって計算変換システムを実行するため、システムの長期メモリに記憶された任意のファイルから取られてよい。暗号化の間の入力データの最初のブロックのキーセット、及び解読の間の出力データの最初のブロックのキーセットは、同じでなければならない。このキーセットを取得するため、デフォルトのキーセットを使用するユーザ特定パスワードの変換が、暗号化及び解読の双方でインディケータ値を同じくして実行される。
他の実施形態において、第三者の乱数発生器を使用するか、本発明で説明されたプロセスを使用して、ユーザ定義数の乱数を生成して入力データへ加えることができる。パスワードは、システム・デフォルトキーセットを一次キーセットとして使用して暗号化されてよい。これは、変換された出力データの複雑性を強化する。パスワードを暗号化し、実際の一次キーを生成することを目的とする計算変換システムの反復回数も変更可能である。キーセット上の変換の複数反復は、入力データの各々のブロックが出力データのブロックへ変換される前に実行可能である。パスワード上で実行された計算変換の反復回数は、入力データの「n」ビット・ブロックを暗号化する実際の一次キーとして潜在的に使用可能である。指定された反復回数の終わりに受け取られた出力データの「m」ビット・ブロックは、受信機へ送られる最終出力データとして使用可能である。
他の実施形態において、一次キーセットから二次キーセットへの変換は、入れ替えメカニズムを使用して行ってよい。即ち、動的データ、即ち、入力データの先行する「n」ビット・ブロック、又は出力データ値の「m」ビット・ブロック、又はこれらの双方、又は暗号化及び解読のプロセスの間に取得可能な動的値に基づいて、アレイの第1の列の数を相互の間で入れ替え、即ち、交換する。3列構造を有するキーセットの場合、入れ替えメカニズムは、双方の列、即ち、「Ref1」及び「Ref2」に適用可能である。このプロセスは、入力データから出力データへの変換へ複雑性を追加する。
システムの他の実施形態において、ユーザ特定パスワードの上に計算変換方式を実行してユーザ特定パスワードを更に複雑にするため、ユーザは、無作為のシステム・ファイル、例えば、実行可能ファイル又は無作為のデータ・ファイル、又はシステムの長期メモリに記憶された任意のファイルからのデータをパスワードへ付加することができる。データの具体的なブロックは、ロケーション、即ち、ユーザによって指定される開始位置及び終了位置を指定することによって、無作為のシステム・ファイルから取られてよい。他の実施形態において、ユーザが行動レベル数を指定してよく、ユーザによって指定された行動レベル数の回数だけ、計算変換がパスワードの上で実行されてよい。このプロセスは、一次システム・デフォルトキーから、ユーザによって指定された行動レベル数と等しい数のパスワード特定キーセットを生成する。次に、入力データの最初の「n」ビット・ブロックが、ユーザ特定パスワードへの計算変換方式操作から取得された最初の二次キーを使用して暗号化され、次に、この操作によって取得された、いわゆる出力データの「m」ビット・ブロックが、ユーザ特定パスワードへの後続の計算変換方式操作から取得された2番目の二次キーを使用して暗号化される。このプロセスは、ユーザによって指定された行動レベル数と同じ回数だけ反復され、これら全ての反復の後に取得された最終出力データが受信者へ送られる。ユーザは、実行されて複雑性を変換プロセスへ付加する前述した1つ又は複数の初期条件を選択し、入力データ上の順方向変換を破られないようにすることができる。しかし、変換で指定された条件は、変換プロセスを逆方向にして元の入力データ情報を取得するため、受信コンピュータでもエミュレートされなければならない。
他の実施形態において、入力データの各々の「n」ビット・ブロックの計算変換を実行した後、所定数のブロックを変換することができる。例えば、デフォルトのキーセットを使用してパスワードの上で実行された変換を保存することができ、この変換されたパスワードは新しい変換パスワードへ再び変換され、入力データの最初の「n」ビット・ブロックが変換された後、前の変換パスワードに重ね書きしてキーセットを新しいキーセットへ変更する。パスワードを新しい変換パスワードへ変換し、それによってキーセットを変更するこのプロセスは、入力データの各々の「n」ビット・ブロックの変換の後に反復されてよい。受信コンピュータも、パスワードのコピーを有し、出力データの「m」ビット・ブロック変換とキーセットを変更するパスワード変換とを交互に行う同じプロセスを使用して、元の入力データを回収しなければならない。
他の実施形態において、入力データは、出力データのユーザ所望サイズへ拡張可能である。例えば、出力データの8ビット・ブロックは、その等価10進数へ変換される。等価10進数の各々の数字は、更に、8ビット・フォーマットで表され、それによって出力データの各々の8ビット・ブロックのサイズが3倍に増加する。増加した出力データは変換プロセスの入力データとして使用される。出力データの所望サイズを生成するため、所定の操作が反復ごとに使用され、元の入力データを回収するため、受信端で所定の操作が逆方向にされる。これは、各々の8ビット・ブロックをその等価10進数へ変換し、取得された全体の数を出力データの8ビット・ブロックとして表すことによって行われる。このプロセスは、変換プロセスの複雑性を増加させ、送信された情報を盗聴者が取得することを非常に困難にする。
本発明の他の実施形態において、変換プロセスが順方向変換か逆方向変換かを識別するため、定数が「0」か「1」の値を割り当てられる。定数の値に依存して、システムは、実行されるべき変換を順方向変換又は逆方向変換として認識する。
ユーザ定義キーセットが使用される場合、個人的に直接会うことによって、又は他の暗号化プロセス、例えば、非対称暗号化によって、キーセットを交換する必要がある。図14で示されるように、計算変換モジュールは出力データ1405を受け取り、計算変換モジュールは、図7で説明されるような逆方向変換を実行し、図15のような入力データ1505を生成する。出力データは、順方向変換プロセスで使用された元の入力データと同じものである。
計算変換モジュールは真の単向プロセスを使用し、実施形態のように順方向変換及び逆方向変換プロセスを実行する。盗聴者は、出力データ及び二次キーセットが知られていても、入力データ、又は入力データの最初のブロックの一次キーセットを取得することはできない。1つの実施形態において、利用可能な技術として既に存在する非対称暗号化技術、例えば、RSAアルゴリズムを使用するか、個人的にキーセットを直接交換することによって、一次キーセットを受信コンピュータへ転送することができる。
計算変換モジュールの幾つかの他の応用が存在する。様々な他の応用を示すモジュールの実施形態の幾つかが、下記で詳細に説明される。
例えば、本発明の他の実施形態では、順方向変換及び逆方向変換の実施形態で使用されたような単向プロセスを使用して、乱数である出力データを生成するために計算変換モジュールが使用される。乱数を生成するために使用される計算変換モジュールと、順方向変換及び逆方向変換プロセスで使用される計算変換モジュールとの間の差異は、順方向変換及び逆方向変換プロセスで使用される計算変換モジュールが可逆タイプであるのに対して、乱数生成で使用される計算変換モジュールが非可逆タイプであることである。
この実施形態は、前の実施形態では一次キーセットと呼ばれたデフォルトのキーセットを使用し、計算変換を実行している計算装置の動的パラメータに非可逆計算変換を実行する。システム・パラメータは動的パラメータであり、動的パラメータの幾つかは散発的及び或る程度周期的に変化する。これは、乱数の生成を真に無作為にすることを助ける。システム・パラメータは、例えば、現在の時間を秒で示した数値、システム上の日付、プロセッサのクロック・スピード、及び他の類似のパラメータである。
乱数を生成するプロセスが開始される度に、システム・パラメータの組み合わせが値を生成し、この値は計算変換モジュールへの入力データとして使用され、動的パラメータに基づいて複数回の反復が実行される。例えば、特定の時点で全てのシステム・パラメータを相互に加えて、入力データを取得することができる。入力データのサイズ、即ち、ビットの数に基づいて、乱数が生成される。
キーセットを使用して入力データから乱数を生成するプロセスは、図5で示される。最初のステップにおいて、入力データの等価2進数が、キーセットの設計に基づいて入力データの「n」ビット・ブロックへ分解される。キーセットは、好ましい入力データの「n」ビット・ブロックのサイズに基づいて作成される。例えば、乱数がビットごとに作成される必要があれば、キーセットは21、即ち、2つの行を必要とする。しかし、図で示される実施形態において、「n」ビット・ブロックは3ビットであるように選択され、このようにしてキーセットは8行を有するように作成される。作成された最初のキーセットはデフォルトキーセットと呼ばれ、計算端末ごとに異なる一意のキーセットであってよい。
一度入力データが、入力データの「n」ビット・ブロックとして分割されると、入力データの最初の「n」ビット・ブロックが選択される。図5で示された実施形態において、入力データの最初の「n」ビット・ブロックは、その等価10進数へ変換され、キーセットのRef1は、等価10進数に対応する行番号へ全探索される。例えば、示された例において、入力データの最初の「n」ビット・ブロックは100である。部分的入力ブロックの等価10進数は4に等しい。キーセットはRef1列の行番号4へ全探索され、Ref1列505の行番号4の値が選択される。図5で示されるように、Ref1の行番号4の数は001である。部分的入力ブロック、即ち、100は001で置換される。ここで、001は出力データの中間「m」ビット・ブロックを表す。次のステップは、入力データの「n」ビット・ブロックとキーセットの行に存在する値との間のモデュラス操作を実行することを含む。例えば、上記の場合、100mod001である。結果、即ち、0又は000が取得され、一時的な値として記憶される。次のステップでは、乱数発生器がRef1列の行番号0へ全探索し、一時的な値と出力データの中間「m」ビット・ブロックとの間で排他的OR又はXOR操作、即ち、000 XOR 111を実行し000を生じる。これは最終出力データである。このプロセスは、入力データのブロック全体が出力データの無作為ブロックへ変換されるまで継続する。出力データは、乱数又は無作為データと呼ばれ、入力データとしてシステム・パラメータの組み合わせに基づいて生成される。
他の応用において、本発明はハッシュ・コード発生器として使用される。その場合、前の実施形態で説明された方法と同じように、計算変換モジュールを入力データへ適用することができ、取得された最終出力データは、ハッシュ・コードとして働くことができる。本発明の1つの実施形態として、ハッシュ・コードを生成する必要がある内容は、入力データの「n」ビット・ブロックへ変換され、前述したプロセスと同じプロセスに従って、出力データの「m」ビット・ブロックが生成される。出力データの「m」ビット・ブロックは、ビット文字列が偶数の長さの場合、2つの等しい半分へ分割され、入力データが奇数個のブロックから作られていれば、所定のブロックが付加される。所定数のビットに達するまで、2つの半分の間で排他的OR又はXOR操作が実行される。各々のXOR操作の後でブロックを2つの等しい半分へ分割するので、ブロックの数は縮小され、したがって所定値が設定され、このプロセスはそこで終了する。最終出力データは、入力データに対するハッシュ・コードである。
他の実施形態において、ハッシュ・コードを生成する必要がある内容は、ブロックの入力データへ変換され、前述したプロセスと同じプロセスが取られて、出力データの「m」ビット・ブロックが生成される。しかし、この実施形態の差異は、排他的OR操作の結果が中間出力として記憶され、計算変換モジュールを使用して出力データへ変換されることである。次に、ビット文字列が偶数の長さの場合、出力データの「m」ビット・ブロックが2つの等しい半分へ分割される。入力データが奇数個のビットから作られていれば、所定のブロックが付加される。所定数のビットに達するまで、排他的OR又はXOR操作が2つの半分の間で実行される。排他的OR操作の結果は中間出力を生じる。中間出力は変換の入力データとして使用可能である。次に、再び2つの等しい半分へ分割され、出力データの上で排他的OR操作が実行される。各々の変換の後にビットを2つの等しい半分へ分割し、計算変換モジュールを使用してブロックを出力データへ変換する各々の段階で、ビットの数は縮小し、したがって所定値が設定される。反復プロセスはそこで終了する。出力データは、入力データに対するハッシュ・コードである。このプロセスは前の実施形態よりも遅いが、前の実施形態と比較して、一意のハッシュ・コードを生成する正確度は高い。
通信路のブロック図を示す。 本発明の実施形態に従ったシステムのアーキテクチャのブロック図を示す。 キーセットの構造の実施形態のブロック図を示す。 本発明の実施形態に従って順方向変換で実行されるステップの流れ図を示す。 本発明の実施形態に従って、キーセットの上で実行される順方向変換の段階、及び入力データを出力データへ変換するプロセスのブロック図を示す。 本発明の実施形態に従って逆方向変換の間に実行されるステップの流れ図を示す。 本発明の実施形態に従って、キーセットの上で実行される逆方向変換の段階、及び出力データを入力データへ変換するプロセスのブロック図を示す。 本発明の1つの実施形態に従った順方向変換プロセスにおける計算変換プロセス・モジュールの開始スクリーンショットを示す。 本発明の1つの実施形態に従った順方向変換プロセスにおける計算変換プロセス・モジュールの初期条件スクリーンショットを示す。 本発明の1つの実施形態に従った順方向変換プロセスの間に計算変換プロセス・モジュールへ入力される入力データの内容のスクリーンショットを示す。 本発明の1つの実施形態に従った順方向変換プロセスの間に計算変換プロセスから出力される出力データの内容のスクリーンショットを示す。 本発明の1つの実施形態に従った逆方向変換プロセスにおける計算変換プロセス・モジュールの開始スクリーンショットを示す。 本発明の1つの実施形態に従った逆方向変換プロセスにおける計算変換プロセス・モジュールの初期条件スクリーンショットを示す。 本発明の1つの実施形態に従った逆方向変換プロセスの間に計算変換プロセス・モジュールへ入力される出力データの内容のスクリーンショットを示す。 本発明の1つの実施形態に従った逆方向変換プロセスの間に計算変換プロセス・モジュールから出力される入力データの内容のスクリーンショットを示す。

Claims (53)

  1. 変換方法であって、
    a.入力データの最初の「n」ビット・ブロックを受け取るステップと、
    b.一次キーセット及び順方向変換を表す第1のインディケータ又は逆方向変換を表す第2のインディケータに基づいて、前記入力データの「n」ビット・ブロックを出力データの対応する「m」ビット・ブロックで置換するステップであって、前記出力ブロックのサイズが前記入力ブロックのサイズよりも大きいか等しく、最初の前記一次キーセットがデフォルトのキーセットであるステップと、
    c.前記一次キーセットの上の操作の所定の集合に基づいて、前記一次キーセットを二次キーセットへ変換するステップであって、前記二次キーセットが次の入力ブロックのために前記一次キーセットとして使用されるステップと、
    d.入力データの全てのブロックが出力データの対応するブロックで置換されてしまうまで、各々の後続の「n」ビット・ブロックについてステップaからcを反復するステップと、を含み、
    これによって、動的に生成された異なるキーセットを使用して、入力データの各々の「n」ビット・ブロックを出力データの「m」ビット・ブロックへ変換することを特徴とする方法。
  2. 前記デフォルトのキーセットがユーザによって変更可能であり、またユーザごとに異なってよいことを特徴とする、請求項1に記載の方法。
  3. 各々の「n」ビット・ブロックを変換した後、前記インディケータを所定の方法で動的に変更することができ、同じ所定の方法が、「n」ビット・ブロックへ逆変換される間に実行されることを特徴とする、請求項1に記載の方法。
  4. 前記変換されたデータを通信ネットワークで安全に送り、前記変換されたデータを受信端で逆変換して元の入力データを回収し、前記受信端が送信端と同じデフォルトのキーセットを備え、また送信端と同じ変換をデフォルトのキーセットの上で実行するため、暗号化又は解読型の変換方法が使用可能であることを特徴とする、請求項1に記載の方法。
  5. 前記キーセットが、少なくとも2n個の行及び少なくとも2つの列を有する2次元アレイ型のデータ構造を含み、行番号が0から始まって(2n−1)まで続き、前記2次元アレイの第1の列が一意の「n」ビット数を任意の順序で含み、第2の列が第1の列へ結合され、第2の列が乱数を含むことを特徴とする、請求項1に記載の方法。
  6. 前記第2の列の乱数が、任意の所定のビット・サイズであってよいことを特徴とする、請求項5に記載の方法。
  7. 前記置換するステップが、更に、
    a.前記一次キーセットの前記第1の列を「n」ビット・ブロックの等価10進数と等しい行番号まで全探索するステップと、
    b.前記第1の列の行に記憶された「m」ビットを読み取るステップと、
    c.前記「n」ビット・ブロックを前記「m」ビット・ブロックで置換するステップと、
    d.前記「m」ビット・ブロックについて前記一次キーセットの前記第1の列を探索するステップと、
    e.前記一次キーセットの前記第1の列の行で前記「m」ビット・ブロックを突き止めるステップと、
    f.前記行番号を読み取りかつ該行番号を「n」ビットで表すステップであって、該「n」ビットが前記「n」ビット・ブロックであるステップと、
    g.前記「m」ビット・ブロックを前記「n」ビット・ブロックで置換するステップと、を含み、
    順方向変換の場合に、ステップa〜ステップcが実行され、逆方向変換の場合にステップd〜ステップgが実行されることを特徴とする、請求項5に記載の方法。
  8. 前記ステップaからc又は前記ステップdからgが所定の回数だけ実行可能であり、生成された複数の中間出力ブロックが、前記所定の回数が達成されるまで後続の反復のために入力ブロックとして使用されることを特徴とする、請求項7に記載の方法。
  9. 順方向変換及び逆方向変換で実行される前記ステップが、相互に交換されて作動可能であることを特徴とする、請求項7に記載の方法。
  10. 前記一次キーセットを二次キーセットへ変換するステップにおいて、更に、
    前記キーセットの第2の列で少なくとも1つの所定の数学操作を実行するステップと、
    前記第2の列を所定の順序に整頓するとともに、そのプロセスにおいて、前記第2の列で実行された整頓に対応して前記第1の列を整頓し、それによって前記一次キーセットから二次キーセットへの単向変換を達成するステップと、
    含むことを特徴とする、請求項7に記載の方法。
  11. 前記一次キーセットを二次キーセットへ変換するステップにおいて、更に、
    所定の操作に基づいて、前記第1の列の番号を、それら自体の間で入れ替えるステップと、
    を含むことを特徴とする、請求項7に記載の方法。
  12. 前記数学操作を実行するステップ及び前記第2の列を整頓するステップが、次のブロックを受け取る前に、数学操作の異なった集合及び整頓の異なった集合を実行して所定の回数だけ反復可能であることを特徴とする、請求項10に記載の方法。
  13. 前記数学操作が、算術又は論理操作、例えば、モデュラス操作、排他的OR操作、足し算操作、又は掛け算操作の1つ又は組み合わせであってよいことを特徴とする、請求項10に記載の方法。
  14. 前記整頓操作が、昇順、降順、又は任意の所定の順序にソートすることを含んでよいことを特徴とする、請求項10に記載の方法。
  15. 更に、前記デフォルトのキーセットを使用して任意の長さ及びフォーマットのユーザ定義パスワードの最初の変換を実行するステップと、そのプロセスにおいて、前記デフォルトのキーセットをパスワード特定キーセットへ変換するステップと、入力データの前記最初の「n」ビット・ブロックのために、前記パスワード特定キーセットを前記一次キーセットとして使用するステップと、を含むことを特徴とする、請求項1に記載の方法。
  16. 前記ユーザ定義パスワードの変換が、複数の反復で実行されてよいことを特徴とする、請求項15に記載の方法。
  17. 前記変換が、ユーザ定義数の行動レベルについて前記ユーザ定義パスワードの上で実行され、前記ユーザ定義数の行動レベルが前記パスワード特定キーセットを生成し、前記パスワード特定キーセットがメモリの中に記憶されることを特徴とする、請求項15に記載の方法。
  18. 入力データから出力データへの前記変換が、前記パスワード特定キーセットを所定の順序で使用して実行されることを特徴とする、請求項17に記載の方法。
  19. 前記所定の順序が、前記パスワード特定キーセットが生成及び記憶される順序であることを特徴とする、請求項18に記載の方法。
  20. 変換の複数の反復が、1つ又は複数のキーセットを使用して、前記入力データの各々の「n」ビット・ブロックの上で実行されてよいことを特徴とする、請求項1に記載の方法。
  21. 前記出力データのビット・サイズを増加するため、所定の操作が該出力データの上で実行されてよく、その増加された出力データが前記変換プロセスの前記入力データとして使用され、前記出力データの所望のサイズを生成するため、前記所定の操作が反復ごとに使用され、前記元の入力データを回収するため、所定の操作が受信端で逆にされることを特徴とする、請求項1に記載の方法。
  22. 所定数の乱数が前記入力データへ加えられてよいことを特徴とする、請求項1に記載の方法。
  23. 所定のファイルの第1のロケーションから第2のロケーションまでのデータがパスワードへ付加されてよく、前記所定のファイルのコピーが受信コンピュータに存在することを特徴とする、請求項1に記載の方法。
  24. ハッシュ・コード数を生成するため前記順方向又は逆方向変換プロセスが実行されてよく、そのプロセスが、更に、
    a.前記出力データを2つの半分、即ち、第1の半分及び第2の半分へ分割するステップと、
    b.前記第1の半分と第2の半分との間で排他的OR操作を実行し、該排他的OR操作が中間出力を生成するステップと、
    c.ビット文字列の所定の長さに達するまでステップaからbを実行し、それによって最終結果が一意のハッシュ・コードとなるステップと、
    を含むことを特徴とする、請求項1に記載の方法。
  25. ハッシュ・コード数を生成するため、前記順方向又は逆方向変換プロセスが実行されてよく、そのプロセスが、更に、
    a.前記出力データを2つの半分、即ち、第1の半分及び第2の半分へ分割するステップと、
    b.前記第1の半分と第2の半分との間で排他的OR操作を実行し、該排他的OR操作が中間出力を生成するステップと、
    c.前記中間出力を変換プロセスの入力データとして使用して出力データを生成するステップと、
    d.ビット文字列の所定の長さに達するまでステップaからcを実行し、それによって最終結果が一意のハッシュ・コードとなるステップと、
    を含むことを特徴とする、請求項1に記載の方法。
  26. 入力データの各々の「n」ビット・ブロックの変換の後、前記入力データの次の「n」ビット・ブロックの変換のために異なる二次キーセットを取得するため、順方向変換が所定数のブロックの上で実行されてよく、前記受信端が、前記出力データの各々の「m」ビット・ブロックの変換の後、前記同じ所定数のブロックの上で前記逆方向変換を実行して前記元の入力データを回収することを特徴とする、請求項1に記載の方法。
  27. 変換システムであって、
    相互に通信する長期メモリ、プロセッサ読み取り可能メモリ、及びプロセッサを含み、前記長期メモリが計算変換モジュールを含み、前記プロセッサ及びプロセッサ読み取り可能メモリと通信する前記計算変換モジュールが、一次キーセット及び順方向変換を表す第1のインディケータ及び逆方向変換を表す第2のインディケータに基づいて、入力データの最初の「n」ビット・ブロックを受け取り、該入力データの「n」ビット・ブロックを出力データの対応する「m」ビット・ブロックで置換し、該出力データの「m」ビット・ブロックが前記入力データの「n」ビット・ブロックと等しいサイズであり、最初の前記一次キーセットがデフォルトのキーセットであるように構成され、操作の所定の集合に基づいて前記一次キーセットを二次キーセットで置換し、該二次キーセットが前記一次キーセットとして使用され、その後で入力データの各々の後続の「n」ビット・ブロックを出力データの対応する「m」ビット・ブロックへ置換するプロセスを反復するように構成され、各々の置換が、前記入力データの全てのブロックが出力データの対応するブロックで置換されてしまうまで、動的に生成された異なるキーセットに基づいて実行される計算システムを備えることを特徴とする、変換システム。
  28. 変換されたデータを通信ネットワークで安全に送信し、前記変換されたデータを受信端で逆に変換して元の情報を回収し、前記受信端が送信端と同じデフォルトのキーセットを備えて、同じ変換をデフォルトの前記キーセットの上で実行するため、暗号化及び解読型の変換が使用可能であることを特徴とする、請求項27に記載のシステム。
  29. 前記インディケータが所定の方法で変化することができ、同じ該所定の方法が前記受信端で実行されることを特徴とする、請求項28に記載のシステム。
  30. 前記キーセットが、少なくとも2n個の行及び少なくとも2つの列を有する2次元アレイ型のデータ構造を含み、前記行番号が0から開始して(2n−1)まで続き、2次元アレイの第1の列が一意の「n」ビット数を含み、第2の列が第1の列に結合され、前記第2の列が無作為にソートされた数を含むことを特徴とする、請求項27に記載のシステム。
  31. 前記第2の列の乱数が所定のサイズであってよいことを特徴とする、請求項30に記載のシステム。
  32. 前記計算変換モジュールを使用して前記置換が達成され、前記計算変換モジュールが、更に、順方向変換の場合、入力データの「n」ビット・ブロックの等価10進数と等しい行番号まで前記一次キーセットの前記第1の列を全探索し、前記行に記憶された「m」ビット・ブロックを読み取り、その後で入力データの「n」ビット・ブロックを出力データの「m」ビット・ブロックで置換するか、又は逆方向変換の場合、出力データの「m」ビット・ブロックについて前記一次キーセットの前記第1の列を探索し、前記一次キーセットの前記第1の列の行で前記「m」ビット・ブロックを突き止め、前記行番号を読み取って該行番号を「n」ビットで表し、該「n」ビット・ブロックが前記入力データの「n」ビット・ブロックであり、その後で前記出力データの「m」ビット・ブロックを前記入力データの「n」ビット・ブロックで置換することを特徴とする、請求項30に記載のシステム。
  33. 前記順方向変換のステップ又は逆方向変換のステップは、所定の回数だけ実行可能であり、該所定の回数が達成されてしまうまで、生成された複数の中間出力ブロックが後続の反復のために入力データとして使用されることを特徴とする、請求項32に記載のシステム。
  34. 前記計算変換モジュールが、少なくとも1つの数学操作を前記キーセットの前記第2の列の上で実行することを前記プロセッサに命令するように構成され、前記計算変換モジュールが前記プロセッサと一緒になって前記キーセットの前記第2の列の上で整頓操作を実行し、その結果として、前記キーセットの前記第1の列の上で順序づけが達成されることを特徴とする、請求項32に記載のシステム。
  35. 前記第1の列にある数の、それら数の間の入れ替えが、所定の操作に基づいて実行可能であることを特徴とする、請求項34に記載のシステム。
  36. 前記数学操作が、算術及び論理操作、例えば、モデュラス操作、排他的OR操作、足し算操作、及び掛け算操作の1つ又は組み合わせであってよいことを特徴とする、請求項34に記載のシステム。
  37. 前記整頓操作が昇順並べ替え、降順並べ替え、又は任意の所定の順序づけであってよいことを特徴とする、請求項34に記載のシステム。
  38. 更に、前記プロセッサが、前記デフォルトのキーセットを使用して任意の長さ及びフォーマットのユーザ定義パスワードに最初の変換を実行するように命令され、そのプロセスにおいて、前記デフォルトのキーセットをパスワード特定キーセットへ変換し、該パスワード特定キーセットを前記入力データの一次キーセットとして使用することを特徴とする、請求項27に記載のシステム。
  39. 前記ユーザ定義パスワードの変換が、複数回の反復で実行可能であることを特徴とする、請求項38に記載のシステム。
  40. 前記変換が、ユーザ定義数の行動レベルについて前記ユーザ定義パスワードの上で実行され、前記ユーザ定義数の行動レベルが前記パスワード特定キーセットを生成する、請求項38に記載のシステム。
  41. 生成された前記パスワード特定キーセットの少なくとも1つを使用し、前記入力データの上で変換プロセスを実行することによって、前記出力データが前記入力データから取得され、前記パスワード特定キーセットがメモリの中に記憶されて所定の順序で使用されることを特徴とする、請求項40に記載のシステム。
  42. 前記所定の順序が、前記パスワード特定キーセットが生成及び記憶される順序であることを特徴とする、請求項41に記載のシステム。
  43. 前記変換を実行することによって生成された前記複数のパスワード特定キーセットが、メモリの中に記憶されることを特徴とする、請求項42に記載のシステム。
  44. 前記入力データの各々のビットが前記出力データの各々のビットへ変換される前に、複数回の反復が前記キーセットの上で実行可能である、請求項27に記載のシステム。
  45. 前記出力データのビット・サイズを増加するため所定の操作が該出力データの上で実行可能であり、増加された前記出力データが前記変換プロセスの前記入力データとして使用され、前記出力データの所望のサイズを生成するため所定の操作が反復ごとに使用され、前記元の入力データを回収するため前記所定の操作が前記受信端で逆にされる、請求項27に記載のシステム。
  46. 所定数の乱数が入力データへ加えられてよいことを特徴とする、請求項27に記載のシステム。
  47. 所定のファイルの第1のロケーションから第2ロケーションまでのデータが前記パスワードへ付加されてよく、前記ファイルのコピーが前記受信コンピュータに存在することを特徴とする、請求項27に記載のシステム。
  48. 入力データの各々の「n」ビット・ブロックの変換の後に所定数のブロックの上で順方向変換が実行されて、入力データの前記次の「n」ビット・ブロックの変換のために、異なった二次キーセットを取得してよく、前記受信端が、出力データの各々の「m」ビット・ブロックの変換の後に同じ前記所定数のブロックの上で前記逆方向変換を実行して前記元の入力データを回収することを特徴とする、請求項27に記載のシステム。
  49. 乱数を生成する方法であって、
    a.入力データの最初の「n」ビット・ブロックを受け取るステップであって、前記入力データが任意の所定の動的システム・パラメータに基づいているステップと、
    b.キーセットの第1の列で入力データの最初の前記「n」ビット・ブロックの等価10進数と等しい行番号まで全探索するステップであって、前記キーセットが少なくとも2n個の行及び少なくとも2つの列を有する2次元アレイ型であり、前記行番号が0から始まって(2n−1)まで続き、前記2次元アレイの第1の列が一意の「n」ビット番号を任意の順序で含み、第2の列が前記第1の列へ結合され、前記第2の列が所定のサイズの乱数の所定の集合を含むステップと、
    c.前記キーセットの前記第1の列で前記行番号に記憶された前記「m」ビットを決定し、
    d.前記「n」ビット・ブロックと前記「m」ビット・ブロックとの間でモデュラス操作を実行し、その結果が最初の一時的な値として記憶されるステップと、
    e.前記キーセットの第1の列で前記一時的な値の等価10進数に等しい行番号まで全探索するステップと、
    f.(e)の前記行番号に記憶された数を決定するステップと、
    g.前記「m」ビット・ブロックと前記(f)の数との間で排他的OR操作を実行するステップと、
    h.前記キーセットの上で所定の操作を実行するステップと、
    i.全ての後続の前記「n」ビット・ブロックについてステップaからgを反復して、前記乱数の集合を取得するステップと、
    を含むことを特徴とする方法。
  50. 前記キーセットの上に所定の操作を実行するステップが、更に、
    前記キーセットの前記第2の列の上に数学操作を実行するステップと、
    前記第2の列を所定の順序に整頓し、そのプロセスにおいて、該第2の列で実行された整頓に対応して前記第1の列を整頓するするステップと、
    を含むことを特徴とする、請求項49に記載の方法。
  51. 前記数学操作が、算術又は論理操作、例えば、モデュラス操作、排他的OR操作、足し算操作、又は掛け算操作の1つ又は組み合わせであってよいことを特徴とする、請求項50に記載の方法。
  52. 前記整頓操作が、昇順、降順、又は任意の所定の順序にソートすることを含んでよいことを特徴とする、請求項51に記載の方法。
  53. 入力データを出力データへ変換する応用であって、
    相互に通信する長期メモリ、プロセッサ読み取り可能メモリ、及びプロセッサを含み、前記長期メモリが計算変換モジュールを含み、該計算変換モジュールが前記プロセッサ及び前記プロセッサ読み取り可能メモリと通信し、ユーザが前記計算変換モジュールを実行するとき、(a)前記計算変換モジュールが、前記入力データの最初の「n」ビット・ブロックを受け取り、一次キーセット及び順方向変換を表す第1のインディケータ及び逆方向変換を表す第2のインディケータに基づいて、前記入力データの「n」ビット・ブロックを出力データの対応する「m」ビット・ブロックで置換し、該出力データの「m」ビット・ブロックが前記入力データの「n」ビット・ブロックと等しいサイズであり、最初の前記一次キーセットがデフォルトのキーセットであり、操作の所定の集合に基づいて前記一次キーセットを二次キーセットで置換し、該二次キーセットが前記一次キーセットとして使用され、その後で前記入力データの各々の後続の「n」ビット・ブロックを前記出力データの対応する「m」ビット・ブロックへ置換するプロセスを反復するように構成され、各々の置換が、前記入力データの全てのブロックが前記出力データの対応するブロックで置換されてしまうまで、動的に生成された異なるキーセットに基づいて実行され、前記計算変換モジュールがメディアの中に記憶され、前記プロセッサ読み取り可能メモリ及び前記プロセッサを含むシステムと一緒に前記メディアが使用されるとき、前記計算変換モジュールが前記システムのプロセッサ読み取り可能メモリへ転送されることを含む応用。
JP2007530852A 2004-09-14 2004-09-14 計算変換の方法及びシステム Pending JP2008513811A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IN2004/000287 WO2006030447A1 (en) 2004-09-14 2004-09-14 A method and system for computational transformation

Publications (1)

Publication Number Publication Date
JP2008513811A true JP2008513811A (ja) 2008-05-01

Family

ID=36059738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007530852A Pending JP2008513811A (ja) 2004-09-14 2004-09-14 計算変換の方法及びシステム

Country Status (5)

Country Link
US (1) US8180048B2 (ja)
EP (1) EP1790115A1 (ja)
JP (1) JP2008513811A (ja)
CN (1) CN101019367A (ja)
WO (1) WO2006030447A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8183980B2 (en) * 2005-08-31 2012-05-22 Assa Abloy Ab Device authentication using a unidirectional protocol
JP2007235323A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 高度機密情報の保存/記録方法、高度機密情報を利用する再生装置および高度機密情報を格納するメモリ
US7916863B2 (en) 2007-11-30 2011-03-29 Hewlett-Packard Development Company, L.P. Security printing method and system for enhancing security printing
EP2316180A4 (en) 2008-08-11 2011-12-28 Assa Abloy Ab SECURE WIEGAND INTERFACE COMMUNICATIONS
US9430297B2 (en) * 2008-12-15 2016-08-30 International Business Machines Corporation Load balancing of adapters on a multi-adapter node
US10447474B2 (en) * 2009-04-20 2019-10-15 Pure Storage, Inc. Dispersed data storage system data decoding and decryption
US9207911B2 (en) * 2009-07-31 2015-12-08 Cassy Holdings Llc Modular uncertainty random value generator and method
US8472534B2 (en) * 2009-12-21 2013-06-25 Astrapi Corporation Telecommunication signaling using nonlinear functions
CA2826005C (en) 2011-04-15 2016-05-31 Astrapi Corporation Methods and systems for communicating
CN103377347B (zh) * 2012-04-24 2016-01-06 腾讯科技(深圳)有限公司 文件加密、解密方法及装置
WO2014021837A1 (en) * 2012-07-31 2014-02-06 Empire Technology Development Llc Entropy coding and decoding using polar codes
US9305067B2 (en) 2013-07-19 2016-04-05 International Business Machines Corporation Creation of change-based data integration jobs
AT515097B1 (de) * 2014-03-31 2015-06-15 Hödl Josef Verschlüsselungsverfahren und Pseudo-Zufallszahlengenerator
US11824694B2 (en) 2015-09-02 2023-11-21 Astrapi Corporation Systems, devices, and methods employing instantaneous spectral analysis in the transmission of signals
WO2017040996A1 (en) 2015-09-02 2017-03-09 Astrapi Corporation Spiral polynomial division multiplexing
CN106817220A (zh) * 2015-11-30 2017-06-09 北大方正集团有限公司 一种通信数据加密的方法、装置及加密设备
CN109479043B (zh) 2016-05-23 2021-12-14 埃斯莱普有限公司 波形带宽压缩传输数据的方法和系统
WO2018047120A1 (en) * 2016-09-10 2018-03-15 Singanamala Prahlad P A system and method for data block modification detection and authentication codes
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485
US10848364B2 (en) 2019-03-06 2020-11-24 Astrapi Corporation Devices, systems, and methods employing polynomial symbol waveforms
US11184201B2 (en) 2019-05-15 2021-11-23 Astrapi Corporation Communication devices, systems, software and methods employing symbol waveform hopping
CN115496626B (zh) * 2022-10-24 2023-05-16 国网浙江省电力有限公司象山县供电公司 一种配网图模异动的识别处理方法及识别处理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0313054A (ja) * 1989-06-12 1991-01-22 Hitachi Terekomu Technol:Kk 通話課金装置の料金清算方式
JPH09270786A (ja) * 1996-03-29 1997-10-14 Hitachi Software Eng Co Ltd 暗号化通信方法
JP2001203685A (ja) * 2000-01-18 2001-07-27 Nec Corp 乱数表を用いた暗号化によるデータ送信方式およびデータ交換方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4078152A (en) * 1976-04-26 1978-03-07 International Business Machines Corporation Block-cipher cryptographic system with chaining
US4979832A (en) * 1989-11-01 1990-12-25 Ritter Terry F Dynamic substitution combiner and extractor
US7046802B2 (en) * 2000-10-12 2006-05-16 Rogaway Phillip W Method and apparatus for facilitating efficient authenticated encryption
US7003108B2 (en) * 2001-02-02 2006-02-21 Asier Technology Corporation Data encryption methodology
US6937727B2 (en) * 2001-06-08 2005-08-30 Corrent Corporation Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels
GB0211812D0 (en) * 2002-05-23 2002-07-03 Koninkl Philips Electronics Nv S-box encryption in block cipher implementations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0313054A (ja) * 1989-06-12 1991-01-22 Hitachi Terekomu Technol:Kk 通話課金装置の料金清算方式
JPH09270786A (ja) * 1996-03-29 1997-10-14 Hitachi Software Eng Co Ltd 暗号化通信方法
JP2001203685A (ja) * 2000-01-18 2001-07-27 Nec Corp 乱数表を用いた暗号化によるデータ送信方式およびデータ交換方式

Also Published As

Publication number Publication date
EP1790115A1 (en) 2007-05-30
US20070195952A1 (en) 2007-08-23
WO2006030447A1 (en) 2006-03-23
CN101019367A (zh) 2007-08-15
US8180048B2 (en) 2012-05-15

Similar Documents

Publication Publication Date Title
US7657033B2 (en) Cryptography related to keys
US8180048B2 (en) Method and system for computational transformation
AU702766B2 (en) A non-deterministic public key encryption system
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
US20100046755A1 (en) Cryptography related to keys with signature
CN110795762B (zh) 基于流密码的保留格式加密方法
US8462939B2 (en) RNS-based cryptographic system and method
JP2006506668A (ja) 複数鍵を用いたストリーム暗号の生成方法
CN113711564A (zh) 用于加密数据的计算机实现的方法和系统
Singh Modified Vigenere encryption algorithm and its hybrid implementation with Base64 and AES
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
Vyakaranal et al. Performance analysis of symmetric key cryptographic algorithms
Joshy et al. Text to image encryption technique using RGB substitution and AES
Ahmad et al. A secure network communication protocol based on text to barcode encryption algorithm
JP2004258667A (ja) N個のデジットを含むワードの擬似ランダム置換の生成方法
Sakib Analysis of Fundamental Algebraic Concepts and Information Security System
WO2013187887A1 (en) A method of cryption
Gorbenko et al. Methods of building general parameters and keys for NTRU Prime Ukraine of 5 th–7 th levels of stability. Product form
CN113726512A (zh) 密钥生成和分发方法、密钥生成装置、密钥管理系统
Mohanty et al. A secured cryptographic hashing algorithm
JP2001509608A (ja) デジタル・データのlビットの入力ブロックをlビットの出力ブロックに暗号変換するための方法
Varghese et al. A Novel Method for Mapping Plaintext Characters to Elliptic Curve Affine points over Prime Field and Pseudorandom Number Generation
Balilo et al. CipherBit192: Encryption Technique for Securing Data
Singh et al. 3D—Playfair cipher using Linear Feedback Shift Register
Abbas et al. Audio cryptosystem based on LFSH and Chaotic map with ECC key management

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110624