JP2004157535A - データ暗号化方法 - Google Patents

データ暗号化方法 Download PDF

Info

Publication number
JP2004157535A
JP2004157535A JP2003369610A JP2003369610A JP2004157535A JP 2004157535 A JP2004157535 A JP 2004157535A JP 2003369610 A JP2003369610 A JP 2003369610A JP 2003369610 A JP2003369610 A JP 2003369610A JP 2004157535 A JP2004157535 A JP 2004157535A
Authority
JP
Japan
Prior art keywords
binary data
block
series
coding
encrypted
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
JP2003369610A
Other languages
English (en)
Inventor
Jin Mu Wu
チン ムー ウー
Wang Chao Li
ワン チャオ リー
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.)
Hai O Informtech Sdn Bhd
Original Assignee
Hai O Informtech Sdn Bhd
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 Hai O Informtech Sdn Bhd filed Critical Hai O Informtech Sdn Bhd
Publication of JP2004157535A publication Critical patent/JP2004157535A/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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

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

Abstract

【課題】ブロック暗号化における新しい概念とアプローチの提供。
【解決手段】ブロック暗号化とプライベートキーを使用して、バイナリコード化したデータを暗号化する方法であって、この方法は、ブロック毎に異なる暗号を該キーから生成することにより特徴付けられる。ハードウェア実現は、暗号生成段階(12、14、16、18、20)と、暗号化適用段階(24、26、28、30)とを設けている。暗号化適用段階は、AND、XOR、ORの単純な切り替え動作のみによって暗号化を実行する論理回路を使用することで、非常に高速なパフォーマンスを可能にしている。
【選択図】図1

Description

本発明は、データ暗号化方法、および関連する復号化方法に関するものである。本発明はさらに、このような方法の実現に使用する、ソフトウェア形式、ハードウェア形式、またはこれらの組み合わせの形式における製品に関する。
暗号化システムは、暗号キーと、非対称暗号化システムおよび対称暗号化システムとの特徴に基づき、技術上2つのタイプに分類されてきた。非対称暗号化システムは、デュアルキーシステムまたは公開キーシステムとも呼ばれる。公開キー暗号システムには、公開キーとプライベートキーが存在する。公開キーは公開されるが、プライベートキーは秘匿される。暗号化は公開キーを使用して実行される一方で、復号はプライベートキーを使用して実行される。公開キーとプライベートキーは全く異なるものであるため、相互を推測することで導出を行うことは困難である。そのため、暗号化機能を解読機能から分離することができる。
対称暗号化システムはシングルキーシステム、プライベートキーシステム、または旧式暗号化システムとも呼ばれる。プライベートキーシステムでは、暗号化および復号化は完全に同一に実施されるか、または相互を推測することで容易に導出できるようになっている。プライベートキーシステムは、ストリーム暗号化システムおよびブロック暗号化システムに分類できる。ストリーム暗号化システムでは、要素毎のベースで、プレーンデータが暗号化される。これに反してブロック暗号化システムでは、プレーンデータが複数の要素を含んだ各々のブロックに分割され、ブロック毎のベースで暗号化が実施される。
本発明は、全てのデジタルデータを表示できるバイナリコード情報(これ以降、単純に「バイナリデータ」と呼ぶ)のブロック上で動作する対称暗号化システムまたはプライベートキー暗号化システムである。現在のところ、DES(すなわち、データ暗号化標準規格)が最も数多く、幅広い範囲で利用されているブロック暗号化システムである。このシステムは、非機密情報を暗号化するために、1977年に米国で連邦政府基準として採用された。
DESに基づいたブロック暗号化の基本概念は、暗号化が、プレーンデータ(技術上、「平文」とも呼ばれる)から暗号化したデータ(「暗号文」)への一対一マッピングで構成され、その一方で、復号においては、暗号化したデータからプレーンデータへの前述とは逆の一対一マッピングを使用するというものである。つまりこの概念は、あらゆる所与のプレーンデータについて、暗号化したデータのバージョンはたった一つしか存在しないことを意味する。同様に、あらゆる所与の暗号化したデータについて、復号したデータのバージョンはたった一つしか存在しない。換言すれば、暗号化および復号化の最中に適用されるアルゴリズムは各々固定のものであり、変化しない。
DESは公開基準である。暗号化アルゴリズムと復号化アルゴリズムが公開され、その使用が推奨されている。その安全性は、単純に、使用可能なキーの数に基づく。ブロックサイズnについてDESを用いた場合、最大数の一対一暗号化マッピング、または最大数の一対一逆解読マッピングは2”である。DES基準内のブロックサイズは64ビット、キーは56ビットであり、これに、エラー検出のみを目的として8ビットが追加される。そのため、キーの総数は約7.2×1016となる。
近年におけるコンピュータ技術、特に膨大な量のデータを高速処理する能力の急速な進歩は、DESが計算力という点での暴力に耐えられなかったことを意味する。1990年代後半に、使用可能なキーの値を試すことにより数時間後にDESキーを復元できる、特殊な「DESクラッカー」マシンが製造された。結果的に、DESは米国において21年間にわたって利用されたが、その後1998年に使用が中止された。
2001年には、米国はAES(すなわち、次世代暗号標準)という新しいデータ暗号化標準を発表し、これが2002年5月26日より公式に認可された。しかし、この新しい標準は、先駆者であるDESにかけて理論的または技術的新規性を有していない。基本概念はDESのものと何ら変わらず、変化した点といえば、本質的にブロックサイズnが2倍になったことのみである。AES基準は、128ビットのブロックサイズと、128、192、256ビットのキーサイズを指定している。AESでは128ビットのキー値の数はDESの56ビットのキー値の数の約1021倍になったが、しかし、コンピュータ技術がさらに進歩する過程において、この新しい標準もやがては危機に晒されるであろうと予測される。これに加えて、ブロックサイズの増加は実現が面倒である。
電子メール通信のためのインターネットや、無線通信のためのフリースペースといった公共の媒体を介して送信が行われている個人および商業上の機密データ量の増加はとどまるところを知らないため、ブロック暗号化における新しい概念およびアプローチが必要であることは明白である。新しい基準は、プライバシーの保護と、個人および商業上のデータの安全性を別にした上で、将来的に危機に晒されないという優れた展望を示唆する必要がある。本発明はこのような必要性を満たすものである。
本発明によれば、ブロック暗号とプライベートキーを使用してバイナリデータを暗号化する方法であって、プライベートキーを使用して第1の一連のコーディング変換を生成し、この一連のコーディング変換が繰り返し可能な方法で生成され、第1の一連のコーディング変換の各々が、暗号化するバイナリデータブロック内の要素を変更するべく適応されており、コーディング変換を選択的に適用することで、バイナリデータブロックを暗号化する。
本発明の重要な特徴は、データブロックに使用するコーディング変換が時間と共に変化する際に、従来のプレーンデータから暗号化したデータへの一対一マッピングが多対多マッピングに置き換えられる点である。換言すれば、任意の所与のプレーンデータには多数のバージョンの暗号化データが存在する。同様に、任意の所与の暗号化データは、オリジナルプレーンデータの多数の使用可能なバージョンに関連する。暗号文がムービングターゲットを表し、異なるデータブロックに異なるコーディング変換を適用しているため、この暗号の復号は途方もない作業となる。この一連のコーディング変換は擬似ランダム特性を有することが好ましい。
好ましい実施形態では、第1の一連の異なるコーディング変換を使用して、各プレーンデータのブロックの暗号化を行う。そのため、プレーンデータに適用されたコーディングはブロックベース毎に変化する。復号を実現するために、コーディング変換の生成は繰り返し可能でなければならない。しかし、この一連のコーディング変換は、これを分析することでの再生成が不可能である。暗号文生成工程はプライベートキーによって制御される。
好ましい実施形態では、これに続いて生成された、第1の一連のコーディング変換を使用して、バイナリデータを含んだ連続ブロックの暗号化を行う。これ以外の方法、つまり、多数の連続ブロックに同一の変換を適用する方法、また、選択した変換を適用し、それ以外を破棄することで、生成した変換の全てを使用しない方法も可能である。前者の方法は、コーディング変換を計算する値を、ブロックを暗号化する値未満にするという利点を有し、後者の方法は、暗号化に複雑性が追加されるという利点を有する。
好ましい実施形態では、暗号化するブロックバイナリデータ内で要素を転置し、さらに、これら要素の1つを選択的に反転させるために、第1の一連のコーディング変換の各々を採用している。このようなコーディング変換は、転置機能を実行するための第1サブ変換として、また、反転機能を実行するための別のサブ変換として生成される。暗号化段階においてサブ変換を任意の順位で適用することができ、また、夫々別個に生成、適用することができる。ブロック内の全ての要素を暗号ブロック内の新規の位置へ転置する必要はない。特定の要素を転置せずに選択的に維持することで、応用形の総数が増加する。
別の実施形態では、第1の一連のコーディング変換を適用して、暗号化するブロック内の要素を転置する動作と、これら要素の1つを選択的に反転させる動作とのうち1つのみを実行する。
本発明の別の形態によれば、上述の方法により生成した暗号化したバイナリデータブロックの復号は、同一のプライベートキーを使用して第2の一連のコーディング変換を生成し、第2の一連のコーディング変換の各々が、第1の一連のコーディング変換における同等物に関連した反転機能を有し、暗号化段階における第1の一連のコーディング変換の場合と同じ方法で、第2の一連のコーディング変換を選択的に適用することで、暗号化したバイナリデータブロックを復号し、これにより、オリジナルのバイナリデータブロックを復元する。
復号化方法は、暗号化方法の反転によって構成される。暗号化はブロック要素の変換および反転の動作で構成されているが、暗号化の最中にはこれらの動作が逆に実行される。
本発明による暗号化および復号化方法の顕著な利点は、これらの方法を、単純な論理切り替え動作を用いて実行できることである。この特徴により、これらの方法が高速動作に適応し易くなる。これは、本願明細書中で後述している本発明のハードウェア実施形態から明白になる。さらなる利点は、DESとAESを比較した場合のブロックサイズの柔軟性である。
或るハードウェア実施形態では、本発明による暗号化方法を実行するための暗号化装置が、暗号化するバイナリデータのプレーンブロックを受信するための入力バッファと、プライベートキーを受信するための入力レジスタと、第1の一連のコーディング変換に関連し、プライベートキーを使用して、第1の一連の制御出力を生成するための演算機構と、第1の一連のコーディング変換に従って、バイナリデータの入力プレーンブロックを暗号化したバイナリデータブロックに変換するための、第1の一連の制御出力に応答する論理回路と、暗号化したバイナリデータブロックを出力するための出力バッファとを備えている。
別のハードウェア実施形態では、本発明の復号化方法を実行する復号装置が、暗号化したバイナリデータブロックを受信するための入力バッファと、プライベートキーを受信するための入力レジスタと、第2の一連のコーディング変換に関連し、プライベートキーを使用して、第2の一連の制御出力を生成するための演算機構と、第2の一連のコーディング変換に従って、暗号化したバイナリデータの入力ブロックをバイナリデータのプレーンブロックに変換するための、第2の一連の制御出力に応答する論理回路と、バイナリデータのプレーンブロックを出力するための出力バッファとを備えている。
本発明はさらに、ブロック暗号化とプライベートキーを使用して、バイナリデータを暗号化するためのコンピュータプログラム製品を提供するが、該製品は、製品内で具現化されたプログラムを計算機能、コンピュータ、またはコンピュータネットワークを装備したプロセッサ上で実行した際に、前述した暗号化方法を実行する1組の命令を構成するプログラムコードを備えている。
本発明はさらに、暗号化したバイナリデータのブロックを復号するためのコンピュータプログラム製品を提供するが、該製品は、製品内で具現化されたプログラムを、計算機能、コンピュータ、コンピュータネットワークを装備したプロセッサ上で実行した際に、前述した復号化方法を実行する1組の命令を構成するプログラムコードを備えている。
上述のコンピュータプログラム製品は、プログラムコード用の任意の適切な記憶媒体の形態、特に、電子メモリ、および磁気、磁気光学、光学メディアであってよい。本願明細書中で使用している「コンピュータプログラム製品」という用語は、ファームウェア、つまりコンピュータの読み出し専用メモリユニットに記憶された命令を包括することが理解されるだろう。
本発明はさらに、このような製品において具現化されるコンピュータプログラムにまで及ぶが、このようなプログラムは、プログラム実行時に、本願明細書中で開示した本発明の技術効果を達成するものを意味する。
次に、添付の図面と共に、以下の特定の好ましい実施形態の説明によって本発明を例証するが、本発明はこの例証に限定されるものではない。
ここでは、本発明の原理およびその実現を最も容易に開示することができる本発明のハードウェア実施形態について説明する。このハードウェア実施形態の開示により、当業者は本発明を所有することになる。このような当業者は、技術上の通常の知識と技能のみを用い、また、過度の実験を行うことなく、あるいは任意の発明力を駆使する必要なく、該原理をソフトウェアの実現へと拡張することができるであろう。このハードウェア実施形態は、例証のみの方法により、配線論理、特定用途向けIC(ASIC)、プログラマブルICの形式で実現することができる。
ハードウェア実現とソフトウェア実現のどちらを選択するかは、特定の用途によって異なり、また、速度、コスト、スペースおよび電力消費のような通常の基準が適用される。さらに、本発明の範囲内の実施形態もハードウェアとソフトウェアの混合で構成されるが、このソフトウェアはコーディング変換を生成し、ハードウェアは変換をプレーンデータまたは暗号化したデータに適用するためのものである。電子ハードウェア実施形態を例証の方法で記述しているが、本発明は光学処理技術を用いて実現してもよい。
図1を参照すると、暗号化装置は、コード生成段階とコード適用段階の2つの段階で基本的に構成されている。コード生成段階は参照符号12、14、16、18、20で示すコンポーネントを装備している。コード適用段階は、参照符号22、24、26、28、30、32で示すコンポーネントを装備している。プライベートキーをレジスタ12内に入力し、記憶させる。プライベートキーは、キーパッドのような従来のインターフェースを介して入力されるPIN(個人識別番号)で構成されている。
PINが、例えば十進数のような非バイナリである場合には、後の処理のためにバイナリ形式に変換される。あるいは、プライベートキーを、補助ソケット内に挿入されるメモリスティックまたはスマートカードのようなメモリ媒体上に記憶することもできる。ブロックの最小サイズは4ビットであり、また、DESやAESとは異なり、キーサイズがブロックサイズに厳密に依存していないので有利である。
この実施形態では、生成されたコーディング変換が、入力プレーンデータブロックX内で要素を転置し、選択的に反転するべく機能する。これらの動作は個別に実行され、バイナリデータの入力ブロックに連続して適用される。この実施形態では、まず転置動作が行われ、続いて反転動作が行われる。
演算論理機構(ALU)16(計算ユニット)が、キーレジスタ12の内容と、メモリ14内に記憶された1つまたはそれ以上の定数とに基づいて計算を実施し、この結果を、転置動作を制御する1組のレジスタ18と、反転動作を制御するレジスタ20に対して出力する。このメモリ14内に記憶された1つまたはそれ以上の定数は、任意のアプリケーションに固定するか、またはユーザが例えば同一の媒体にキーとして記憶する、あるいは該媒体と共に供給することで提供できる。
ALU16は連続した一連の出力をレジスタ18、20に対して生成する。この実施形態では、ALU16からの連続出力が入力プレーンデータブロックの配列に個別に適用されるため、各入力ブロック毎に異なった変換が実行される。またこの実施形態では、転置機能のための連続変換が先行の出力に基づいて生成され、ALU16からキーレジスタ12へのフィードバックループが形成される。反転機能を実行するためのレジスタ20への出力が、先行の転置機能結果に基づいて、転置出力とは別に、またはこれに類似して処理される。
入力プレーンデータブロックはn要素を有し、各要素はバイナリ値ゼロ(0)またはバイナリ値1(1)のいずれかを有するビットで構成されている。入力データブロックの第1、第2、...第nビットに夫々関連するnレジスタ18は合計で18個となる。コード適用段階は、入力データブロックの第1、第2、...第nビットに関連した1組のnデコーダ24を含んでいる。各デコーダが対応するレジスタ18より入力数を受信する。この数は、転置機能において入力データブロックの特定要素をマッピングする位置を決定する。各デコーダはn出力を有する。暗号化したブロック内にマッピングした位置に関連して選択した1つの出力はバイナリ値1を有し、一方、これ以外の選択されなかった出力の各々はバイナリ値0を有する。選択された出力はデコーダ24の各々について固有であり、対応するレジスタ18より受信した入力数によって決定される。
各デコーダ24は、対応するn個のANDゲート26の1組を有する。各ANDゲートは2つの入力を有し、この内1つは各出力をデコーダより受信し、これ以外の全ての入力は、入力バッファまたはレジスタ22より入力データブロックのビットを受信する。ゲート26の論理AND機能により、レジスタ22からの入力データビットが、デコーダ24より選択された出力を受信するANDゲートの出力へ送信される。こうすることで、入力データブロックの各ビットがn組の夫々のANDゲート、および、各組に選択した夫々のANDゲートに送信されることで、入力するデータビットのブロックの転置、またはシャッフリングが達成される。選択的な反転機能は、レジスタ20より出力される(nxn)ビット数を、n組のn EXCLUSIVE−OR(XOR)ゲート28と共に用いて実現される。
XORゲート28の各々は、レジスタ20より出力された数のnxnビットの各々を受信する1つの入力を有する。XORゲート28の各組のこれ以外の入力は、夫々対応したANDゲート26の出力を受信する。論理XOR動作のために、レジスタ20からの関連するビットが論理0である場合、ANDゲート26からの出力がXORゲート28によって不変のまま送られる。一方で、レジスタ20の出力ビットが論理1である場合は、ゲート28が関連するANDゲート26からの出力を反転する。最後に、各組の第1XORゲート28からの出力がORゲート30において論理的に組み合わせられ、この出力が、暗号化したデータブロックの第1ビットとして出力バッファまたはレジスタ32内に記憶される。同様に、各組の第2、...第nXORゲートからの出力が論理的に組み合わせられ、暗号化したデータブロックの第2、...、第nビットが出力バッファ32に供給される。
図1には示していないが、全ての動作がシステムクロックによって制御され、これにより、レジスタ18、20からの連続的な出力フローが、レジスタ22から、コンポーネント24、26、28、30の論理回路を介して出力バッファ32へと流れるデータブロックのフローで調整される。
nのブロックサイズを用いた場合、上述の実施形態により、合計で(n!)×2n×nの使用可能なコーディング変換が得られる。この値は、8または16のような小さな値nの場合でも適用できる暗号化方法の能力を実証する。因数(n!)はレジスタ18の出力に関連し、一方、因数2n×nはレジスタ20の出力に関連する。出力データブロックの第nビットをn!の異なるバリアント内に配列してもよい。これらのバリアントはn!の異なる方法で順序付けすることが可能であり、これにより、転置サブ変換を生成するために(n!)の使用可能な開始点が得られる。各開始点は異なるサブ変換シリーズを提供する。第2因数2n×nは、レジスタ20からの使用可能な出力の総数であり、十進法で表される。この値は0から(2n×n−1)の範囲である。
ALU16は、任意の従来または所望の方法で、レジスタ18、20に出力を生成するべく配置することができる。本発明の範囲はこれに関連して制限されるものではない。唯一の必要性は、暗号化したデータの復号に要する関連した変換を実現するために繰り返し計算を実行できるようにすることである。
図2は、図1の装置で暗号化したデータブロックの復号に使用できる復号化装置を示す。復号処理は、本質的に暗号処理を逆転させたものである。図2では、図1の装置と同一または類似の機能を有するコンポーネントには、同一の参照符号に100を追加した符号を付している。レジスタ112内に最初に記憶した同一のプライベートキーに基づいて、ALU116が、図1の暗号化装置が生成した第1の一連の出力を補助する第2の一連の出力を生成する。レジスタ118に記憶された出力は、暗号化したデータブロック内のビットをプレーンデータ内の元の位置にマッピングし直すべく機能する。レジスタ120からの(n×n)ビット数出力が、暗号化処理において反転された同一のビットに2回目の反転を実行するべく機能するが、これは、2回の連続反転動作によりオリジナルデータが復元されるためである。
図1の暗号装置の詳細な説明を考慮すれば、図2の回路要素は自明であるため、ここではその詳細な説明を省く。復号処理では、まず反転動作を逆行させ、次に転置動作を逆行させる。バッファまたはレジスタ122を用いて暗号化したデータブロックY’を入力し、処理後に、復号したデータブロックX’をバッファまたはレジスタ132から出力する。
図3、図4は、図1、図2の実施形態の変形に夫々関連する。これらの変形した実施形態では、選択的な反転機能を省略しているため、レジスタ20、120、XORゲート28、128が必要である。これ以外のコンポーネントの動作は、図1、図2の場合と同一である。
図5、図6は、図1、図2の実施形態の別の変形に夫々関連する。これら別の変形実施形態では、転置機能を省略しているため、レジスタ18、118は不要である。デコーダ24、124は保持しているが、その出力は固定されているため、時間と共に変化することはない。これ以外のコンポーネントの動作は、図1、図2について説明した動作と同一である。
図3〜図6の実施形態ではnの所与値のより少ない可能な変換回数が得られるが、これらの実施形態は、本発明の、時間と共に変化する暗号文と、本質的には暗号の復号を試みる任意の人物のムービングターゲットとを実現するという基本原理を包含している。
要するに、本発明は、既存の技術を用いて容易に実現可能な、非常に強力かつ高速で安全な暗号化システムを提供することである。本発明は非常に広範囲にわたって適用することができる。簡略的には、この技術を、バイナリコード形式で表された、暗号化が必要な任意のデータに適用することができる。多くのアプリケーションでは、傍受または盗難の危険に晒されたデータの送信または記憶を含んでいる。この非限定的な例として、データベースセキュリティ、インターネットセキュリティ、電子商取引セキュリティ、電子政府セキュリティ、固定回線の暗号化、コードレスおよびワイヤレス電話通信、速記術、知的財産保護(例えば、音楽および/またはビデオ形式の記憶あるいはダウンロード)、偽造防止技術、スマートカード、全ての文書、音楽、画像データの記憶および通信におけるアプリケーションが挙げられる。
例証のみの方法により、本発明を、インターネット(または他のネットワーク)アプリケーションにおいて、保護すべきデータを交換する端末上で実行されるプログラムの形で具現化することができる。無線電話(またはこれ以外の無線端末形式)の場合には、本発明をハンドセット(端末)のメインプロセッサ、あるいは専用チップの形で具現化することができる。SIM(加入者識別モジュール)カード上に暗号化/復号化回路を提供する場合には、その使用を特定のネットワークおよび国に限定し、ネットワークオペレータがこれを有効/無効にすることが可能である。
本発明は、添付の特許請求の範囲で定義されている通りの本発明の範囲から逸脱しない限り、ここで詳細に説明した以外の様々な形態にて具現化することができる。
本発明によるブロック暗号化を実行する装置の第1ハードウェア実施形態を示す図である。 本発明に従って、図1の装置により暗号化したデータブロックの復号を実行する装置の第1ハードウェア実施形態を示す図である。 図1の装置の変形である、暗号化装置の第2ハードウェア実施形態を示す図である。 図2の装置の変形である、復号化装置の第2ハードウェア実施形態を示す図である。 図1の装置の別の変形である、暗号化装置の第3ハードウェア実施形態を示す図である。 図2の装置の別の変形である、復号化装置の第3ハードウェア実施形態を示す図である。

Claims (11)

  1. ブロック暗号とプライベートキーを使用してバイナリデータを暗号化する方法であって、前記方法が、
    前記プライベートキーを使用して一連のコーディング変換を生成し、前記一連のコーディング変換が繰り返し可能な方法で生成され、
    前記一連のコーディング変換の各々が、暗号化する前記バイナリデータブロック内の要素を変更するべく適応されており、
    前記コーディング変換を選択的に適用することで、前記バイナリデータブロックを暗号化する、バイナリデータを暗号化する方法。
  2. 前記一連の異なるコーディング変換を使用して前記ブロックの各々を暗号化する、請求項1に記載のバイナリデータを暗号化する方法。
  3. 前記一連の連続的に生成したコーディング変換を使用して、前記バイナリデータを含む連続ブロックを暗号化する、請求項2に記載のバイナリデータを暗号化する方法。
  4. 前記一連のコーディング変換の各々を適応させて、暗号化するバイナリデータブロック内の要素を転置する、請求項1〜3のいずれか1項に記載のバイナリデータを暗号化する方法。
  5. 前記一連のコーディング変換の各々を適応させて、暗号化する前記バイナリデータブロック内の要素を選択的に反転させる、請求項1〜3のいずれか1項に記載のバイナリデータを暗号化する方法。
  6. 前記一連のコーディング変換の各々を適応させて、暗号化するバイナリデータブロック内の要素を転置し、該要素のうち1つを選択的に反転させる、請求項1〜3のいずれか1項に記載のバイナリデータを暗号化する方法。
  7. 前記一連のコーディング変換の各々が、転置機能を達成するための1つのサブ変換として、また、反転機能を達成するための別のサブ変換として生成され、
    前記サブ変換が暗号化段階に任意の順序で適用される、請求項6に記載のバイナリデータを暗号化する方法。
  8. 前記一連のコーディング変換が擬似ランダム方法で生成される、前出の請求項のうちいずれか1項に記載のバイナリデータを暗号化する方法。
  9. 請求項1〜8のいずれか1項に記載の方法を実行するための暗号化装置であって、前記装置が、
    暗号化するバイナリデータのプレーンブロックを受信するための入力バッファと、
    前記プライベートキーを受信するための入力レジスタと、
    前記一連のコーディング変換に関連し、前記プライベートキーを使用して、一連の制御出力を生成するための演算機構と、
    前記一連のコーディング変換に従って、バイナリデータの入力プレーンブロックを暗号化したバイナリデータブロックに変換するための、前記一連の制御出力に応答する論理回路と、
    前記暗号化したバイナリデータブロックを出力するための出力バッファとを備える暗号化装置。
  10. ブロック暗号化とプライベートキーを使用して、バイナリデータを暗号化するためのコンピュータプログラム製品であって、前記製品が、前記製品内で具現化された前記プログラムを計算機能、コンピュータ、またはコンピュータネットワークを装備したプロセッサ上で実行した際に、請求項1〜8のいずれか1項に記載の方法を実行する1組の命令を構成するプログラムコードを有するコンピュータプログラム製品。
  11. ブロック暗号化とプライベートキーを使用して、バイナリデータを暗号化するためのコンピュータプログラムであって、前記プログラムが、前記プログラムを計算機能、コンピュータ、またはコンピュータネットワークを装備したプロセッサ上で実行した際に、請求項1〜8のいずれか1項に記載の方法を実行する1組の命令を構成するプログラムコードを有するコンピュータプログラム。
JP2003369610A 2002-10-29 2003-10-29 データ暗号化方法 Pending JP2004157535A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
MYPI20024037 2002-10-29

Publications (1)

Publication Number Publication Date
JP2004157535A true JP2004157535A (ja) 2004-06-03

Family

ID=32089837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003369610A Pending JP2004157535A (ja) 2002-10-29 2003-10-29 データ暗号化方法

Country Status (7)

Country Link
US (1) US20040223609A1 (ja)
EP (1) EP1416664A3 (ja)
JP (1) JP2004157535A (ja)
KR (1) KR20040038777A (ja)
AU (1) AU2003257891A1 (ja)
IL (1) IL158647A0 (ja)
RU (1) RU2003131278A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788490B2 (en) * 2005-04-01 2010-08-31 Lexmark International, Inc. Methods for authenticating an identity of an article in electrical communication with a verifier system
US9866370B2 (en) * 2007-12-05 2018-01-09 Itt Manufacturing Enterprises, Llc Configurable ASIC-embedded cryptographic processing engine
US8385541B2 (en) * 2010-02-18 2013-02-26 King Fahd University Of Petroleum And Minerals Method of performing elliptic polynomial cryptography with elliptic polynomial hopping
US8189775B2 (en) * 2010-02-18 2012-05-29 King Fahd University Of Petroleum & Minerals Method of performing cipher block chaining using elliptic polynomial cryptography
US8331558B2 (en) * 2010-02-18 2012-12-11 King Fahd University Of Petroleum And Minerals Method of cipher block chaining using elliptic curve cryptography
FR2960366A1 (fr) * 2010-05-20 2011-11-25 Ingenico Sa Procede d’obtention de cles de chiffrement, terminal, serveur, et produits programmes d’ordinateurs correspondants
FR2966953B1 (fr) * 2010-11-02 2015-08-28 St Microelectronics Rousset Procede de contremesure cryptographique par derivation d'une donnee secrete
US8699701B2 (en) 2010-12-01 2014-04-15 King Fahd University Method of performing XZ-elliptic curve cryptography for use with network security protocols
US8509426B1 (en) 2010-12-01 2013-08-13 King Fahd University Of Petroleum And Minerals XZ-elliptic curve cryptography system and method
US8462939B2 (en) 2010-12-07 2013-06-11 King Fahd University Of Petroleum And Minerals RNS-based cryptographic system and method
WO2020186125A1 (en) 2019-03-13 2020-09-17 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4255811A (en) * 1975-03-25 1981-03-10 International Business Machines Corporation Key controlled block cipher cryptographic system
US4177355A (en) * 1975-04-24 1979-12-04 International Business Machines Corporation Array device for data scrambling
US4316055A (en) * 1976-12-30 1982-02-16 International Business Machines Corporation Stream/block cipher crytographic system
US4447672A (en) * 1980-10-06 1984-05-08 Nippon Electric Co., Ltd. Device for encrypting each input data bit by at least one keying bit decided by a code pattern and a bit pattern of a predetermined number of preceding encrypted bits
DE3483410D1 (de) * 1983-10-14 1990-11-22 Toshiba Kawasaki Kk Einchip mikrocomputer mit verschluesselbarer funktion des programmspeichers.
US5091782A (en) * 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US5710813A (en) * 1995-03-28 1998-01-20 Olympus Optical Co., Ltd. Digital voice recording/reproducing apparatus
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
US6259789B1 (en) * 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP2000066587A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体
US6408074B1 (en) * 1998-10-22 2002-06-18 Lucent Technologies Inc. Hardware architecture for a configurable cipher device
EP1215910A3 (en) * 2000-12-07 2003-09-10 Sony United Kingdom Limited Watermarking
US7280657B2 (en) * 2001-06-13 2007-10-09 Itt Manufacturing Enterprises, Inc. Data encryption and decryption system and method using merged ciphers
US6898288B2 (en) * 2001-10-22 2005-05-24 Telesecura Corporation Method and system for secure key exchange

Also Published As

Publication number Publication date
EP1416664A2 (en) 2004-05-06
AU2003257891A1 (en) 2004-05-20
IL158647A0 (en) 2004-09-27
US20040223609A1 (en) 2004-11-11
EP1416664A3 (en) 2005-02-16
KR20040038777A (ko) 2004-05-08
RU2003131278A (ru) 2005-04-20

Similar Documents

Publication Publication Date Title
DK1686722T3 (en) Block encryption device and block encryption method comprising rotation key programming
EP0725511B1 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC)
US7613297B2 (en) Method and apparatus for data encryption
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US5671284A (en) Data encryptor having a scalable clock
JPH1075240A (ja) データ送信を保護する方法およびデータを暗号化または解読化する装置
EP1779584A1 (en) Stream cipher combining system and method
JP2001007800A (ja) 暗号化装置および方法
KR20180081559A (ko) 암호화 동작을 위한 키 시퀀스 생성
US20060265604A1 (en) Method and device for encryption/decryption
KR20050078271A (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
JP2004157535A (ja) データ暗号化方法
JP3769804B2 (ja) 解読化方法および電子機器
JPH0946332A (ja) Rsa型手順により暗号化された通信文用通信システム
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
JP2002510058A (ja) 2進データ・ブロックの暗号変換のための方法
KR20190041900A (ko) 암호화 장치 및 복호화 장치, 이들의 동작방법
JP2013098722A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
JP5293612B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
JP4708914B2 (ja) 解読化方法
KR100965874B1 (ko) Ckc 암호화/복호화 장치 및 방법
Haunts et al. Symmetric Encryption
JP2001509608A (ja) デジタル・データのlビットの入力ブロックをlビットの出力ブロックに暗号変換するための方法
KR20040045517A (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법