[go: up one dir, main page]

JPH09230787A - 暗号化方法および装置 - Google Patents

暗号化方法および装置

Info

Publication number
JPH09230787A
JPH09230787A JP9029165A JP2916597A JPH09230787A JP H09230787 A JPH09230787 A JP H09230787A JP 9029165 A JP9029165 A JP 9029165A JP 2916597 A JP2916597 A JP 2916597A JP H09230787 A JPH09230787 A JP H09230787A
Authority
JP
Japan
Prior art keywords
block
masked
plaintext block
plaintext
encryption
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
JP9029165A
Other languages
English (en)
Inventor
Donald Byron Johnson
ドナルド・バイロン・ジョンソン
Stephen Michael Matyas Jr
スティーブン・マイケル・マチヤス・ジュニア
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH09230787A publication Critical patent/JPH09230787A/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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

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

Abstract

(57)【要約】 【課題】 平文ブロックより小さいブロック・サイズを
有するブロック暗号化アルゴリズムを使用して平文ブロ
ックを暗号化するシステムの提供。 【解決手段】 任意選択で付加データに依存し、マスク
された平文ブロックの各ビットが元の平文ブロックのす
べてのビットに依存するように定義された可逆変換を使
用して、平文ブロックをマスクされた平文ブロックに変
換する。暗号化アルゴリズムを使用してマスクされた平
文ブロックの一部を暗号化し、マスクされた平文ブロッ
クの暗号化された部分を生成する。マスクされた平文ブ
ロックのこのようにして暗号化された部分とマスクされ
た平文ブロックの残りの部分とから暗号文ブロックを生
成する。この暗号文ブロックをデータ受信者に送信し、
データ受信者はこのプロシージャを逆にたどって元の平
文ブロックを復元する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ブロック暗号化シ
ステムに関し、具体的には比較的短いブロック用に意図
された暗号化プロシージャを使用して長い平文ブロック
を暗号化する方法および装置に係わる。
【0002】
【従来の技術】暗号化方式は、対称暗号化システムと非
対称暗号化システムの2つの一般的カテゴリに分類され
る。データ暗号化規格(DES)に準拠したものなど、
対称暗号化システムでは、発信者がデータの暗号化(す
なわち平文を暗号文に変換)に使用したのと同じ鍵を使
用して、受信者が同じデータを復号する(すなわち暗号
文を平文に変換し戻す)。対称暗号化方式は、きわめて
効率的に実施可能な場合が多いが、機密保護された通信
チャネルを介して暗号化鍵を前もって交換する必要があ
るという欠点がある。
【0003】非対称暗号化システム、すなわち通常、公
開鍵暗号化システムと呼ばれるシステムは、1つの鍵を
使用してデータを暗号化し、別の鍵を使用して同じデー
タを復号する。公開鍵暗号化システムでは、公開される
暗号化鍵と、秘密にしておき、他人とは共有しない復号
鍵とから成る鍵の対を、データの意図された受信者が作
成する。これらの鍵は、秘密鍵をそれに対応する公開鍵
の知識から導き出すことができないようにして作成され
る。したがって、公開鍵を使用して作成された暗号文メ
ッセージを復号することができるのは、秘密鍵を持って
いる意図された受信者だけである。公開鍵暗号化システ
ムが対称システムに優っている重要な利点は、秘密鍵情
報を交換する必要がないことである。両当事者が作成し
た公開鍵を交換することによって機密保護された双方向
通信を確立する。このため、対称暗号化システムで必要
な秘密鍵交換に非対称暗号化システムがしばしば使用さ
れる。
【0004】最もよく知られた公開鍵暗号化システム
は、開発者の名前を取って名称を付けられたRSA暗号
化システムであろう。これについては、R.L.リベス
ト(Rivest)等の論文「A Method for Obtaining Digit
al Signatures and Public-KeyCryptosystems」(Commu
nications of the ACM, vol.21, no.2, pp.120-126, 19
78)に記載されている。RSA暗号化システムは典型的
には512ビット程度の暗号化ブロックを持ち、計算を
きわめて多用する可能性がある。しかし、最近、いわゆ
る楕円曲線システムが、N.コブリッツ(Koblitz)の
「Elliptic Curve Cryptosystems」(Mathematics of C
omputation, vol.48, no.177, pp.203-209, Jan. 198
7)およびA.メネゼス(Menezes)の「Elliptic Curve
Public KeyCryptosystems」(1993)などの参考資料に
記載されている。RSA暗号化システムと同様、楕円曲
線システムは公開暗号化鍵と秘密復号鍵を使用する公開
鍵システムである。楕円曲線システムは、典型的にはそ
れぞれ160ビット程度の比較的短い鍵と暗号化ブロッ
ク・サイズを持つが、暗号強度はより長いブロックのR
SA暗号化システムに匹敵する。したがって楕円曲線シ
ステムは、暗号強度と計算効率の魅力的な組合せになっ
ている。
【0005】
【発明が解決しようとする課題】楕円曲線暗号化システ
ムは公開鍵システムであるため、このようなシステムの
1つの用途は鍵の配布であろう。したがって、ユーザA
は、ユーザBに配布するために公開楕円曲線鍵を使用し
て対称鍵(たとえばDES鍵)を暗号化する。しかし、
対称鍵は通常、前述のように160ビット程度の楕円曲
線暗号化ブロックよりもはるかに長い鍵ブロック(たと
えば512ビット・ブロック)に含まれているため問題
が生じる。鍵ブロックを十分に小さいサイズの複数の暗
号化ブロックに分割することができるが、個々の暗号化
ブロックに必要な付加的な暗号化操作によって、計算効
率という点で楕円曲線システムの本来の利点がある程度
損なわれる。必要なのは、はるかに短い秘密楕円曲線鍵
を使用して大きな鍵ブロックを暗号化することができる
ようにする、楕円曲線アルゴリズムと共に使用可能な鍵
暗号化の方法である。
【0006】
【課題を解決するための手段】本発明の一態様は、平文
ブロックよりも小さいブロック・サイズを有するブロッ
ク暗号化アルゴリズム(楕円曲線アルゴリズムなど)を
使用して平文ブロック(鍵ブロックなど)を暗号化する
システムを企図している。本発明のこの態様によると、
任意選択で平文ブロックの外部の追加データに依存する
可逆変換を使用して平文ブロックをマスクされた平文ブ
ロックに変換する。この付加データは、制御情報、制御
ベクトル、または受信者にとって使用可能で暗号化を必
要としないその他の情報を含むことができる。この変換
は、(1)マスクされた鍵ブロックおよび任意選択の付
加情報から元の平文ブロックが復元可能であり、(2)
マスクされた平文ブロックの各ビットが元の平文ブロッ
クのすべてのビットに依存するように定義される。マス
クされた平文ブロックの一部を暗号化アルゴリズムを使
用して暗号化し、マスクされた平文ブロックの暗号化さ
れた部分を生成する。マスクされた平文ブロックのこの
ようにして暗号化された部分とマスクされた平文ブロッ
クの残りの部分とから暗号文ブロックを生成する。この
暗号文ブロックを受信者に送信し、受信者はこのプロシ
ージャを逆にたどって元の平文ブロックを復元する。
【0007】マスクされた平文ブロック全体を元の平文
ブロックに再構築する必要があるためと、暗号化部分を
残りの部分から導き出すことができないため、マスクさ
れた平文ブロックの残りの部分を非暗号化形式で受信者
に送信することができる。したがって、本発明によって
長い鍵ブロックを短い暗号化鍵を使用して暗号化するこ
とができる。一実施例では、160ビット程度のブロッ
ク・サイズを有する楕円曲線アルゴリズムを使用して、
対称暗号化鍵が入った512ビット・ブロックを暗号化
する。
【0008】本発明の他の態様によると、平文ブロック
と、任意選択で変換が依存する付加的データのどちらで
も、増分カウンタ、タイム・スタンプ、乱数、またはそ
の他の仕組みを使用して平文ブロックの暗号化ごとに固
有に修正して、特定の暗号解読攻撃を防ぐことができ
る。
【0009】
【発明の実施の形態】図1に、本発明の一般的な暗号化
プロシージャ100を示す。特定の実施態様に応じて、
図1およびその他で図示する機能ブロックは、ハードウ
ェア要素、ソフトウェア・コード、またはその2つの何
らかの組合せとすることができる。通例どおり、「ソフ
トウェア・コード」とは、説明する方法手段を行うため
に機械(サーバまたはクライアント・ワークステーショ
ンなど)によって実行可能な機械可読プログラム記憶装
置(磁気ディスクまたは光ディスク)上にある命令のプ
ログラムを意味する。機械およびそのようなソフトウェ
ア実施態様のプログラム記憶装置は、まったく従来通り
のものであり、したがって図示しない。
【0010】暗号化プロシージャ100はその入力デー
タとして図の鍵ブロック110のような長い平文ブロッ
クを有する。一般に、鍵ブロック110は対称暗号化鍵
など任意の所望のデータで構成することができる。しか
し、鍵ブロック110は、試し尽くされるのを防ぎ、敵
対者が後述するマスキング・プロシージャを逆にたどる
のを防ぐ十分な長さの秘密値(たとえば秘密DES鍵ま
たは秘密乱数)を含む必要がある。説明のために、この
秘密値はその値を見つけるための試し尽くし攻撃を防止
するのに十分な独立したビット、たとえば128ビット
を有するものとする。しかし、本発明はこの秘密値につ
いて特定のビット数を企図しない。
【0011】鍵ブロック110は、(たとえば上位ビッ
トをゼロに設定するなど)暗号化プロセスに必要な特定
の固定ビットまたは(たとえば区切りバイトの使用な
ど)構文解析アルゴリズムに必要な特定の固定ビットを
含むこともできる。しかし、鍵ブロック110は、非可
鍛性のために使用する他の固定または予測可能ビットも
含むことが好ましい。これらのビットを使用して、鍵ブ
ロックが正しく復元されたことを検証することができ
る。
【0012】図5に、鍵ブロック110の形式として可
能な形式を示す。鍵ブロック110は、復元プロセスを
検証するための固定情報が入った第1のフィールド50
1と、対称暗号化鍵または受信者に伝達するその他の秘
密情報が入った第2のフィールド502と、平文ブロッ
クの暗号化のたびに増加する(505)カウンタ504
からのカウントが入った任意選択の第3のフィールド5
03を含む。
【0013】カウント・フィールド503によって、鍵
ブロック110は平文ブロックの暗号化ごとに確実に固
有のものになる。同様の目的のためにランダムに生成さ
れた数値を使用することもできるが、カウントを使用す
ることによって同じ鍵ブロック110が決定論的に防止
される。それに対して、乱数は同じ鍵ブロックを防ぐ確
率を提供するに過ぎない。鍵ブロック110自体にカウ
ントを持たせる代わりに、後述するように、マスキング
変換が任意選択で依存する鍵ブロックの外部にある付加
データ・フィールドにカウントを挿入することもでき
る。
【0014】図1を再び参照すると、暗号化プロシージ
ャ100において鍵ブロック110はまず「マスク」さ
れる。すなわち、マスキング・プロシージャ120を使
用して同じサイズのマスクされた鍵ブロック130に変
換される。マスキング・プロシージャ120の詳細につ
いては後述するが、マスキング・プロシージャは以下の
暗号文特性を有するように定義された可逆変換である。 1.マスクされた鍵ブロック130の各ビットは、鍵ブ
ロック110内の1つ1つのすべてのビットの関数であ
る(すなわち強力なシンボル間独立性がある)。 2.(敵対者がマスクされた鍵ブロックの未知のビット
を試し尽くすことができる場合を除き)マスクされた鍵
ブロック130内のすべてのビットがわかっているかま
たは入手可能でない限り、鍵ブロック110内のどのビ
ットも判別することができない。
【0015】上記の特性を有するマスキング・プロシー
ジャ120によって生成されたマスクされた鍵ブロック
130は、鍵の長さが試し尽くし型の攻撃を抑止するの
に十分な長さである限り、その任意の一部を暗号化する
ことによって保護することができる。
【0016】次に、マスクされた鍵ブロック130の一
部131を、暗号化鍵141を有する暗号化プロシージ
ャ140を使用して暗号化し、暗号文ブロック150の
暗号化部分151を生成する。暗号化プロシージャ14
0は、160ビット程度の鍵(および暗号化ブロック)
サイズを有する楕円曲線プロシージャなどの公開鍵プロ
シージャであることが好ましい。使用する楕円曲線プロ
シージャの詳細は本発明の一部を形成しないが、上記で
引用した参考資料に記載されている。楕円曲線プロシー
ジャは、そのブロック・サイズの割合に暗号強度が高い
ためきわめて好ましいが、一般には、暗号化プロシージ
ャ140の代わりに他のどのような公開鍵プロシージャ
またはDESなどの秘密鍵プロシージャでも使用するこ
とができる。
【0017】暗号文ブロックの残りの部分152は、マ
スクされた平文ブロック130の対応する部分132か
ら、それを暗号化せずに単純に取ることができる。ある
いは、マスクされた鍵ブロック130の残りの部分13
2の全部または一部を、1つまたは複数の鍵と1つまた
は複数の暗号化アルゴリズムを使用して、1つまたは複
数のブロックまたは部分として暗号化することもでき
る。やはり、1つまたは複数の鍵と1つまたは複数の暗
号化アルゴリズムを使用して、暗号化パイプラインに従
って同じデータを多様に暗号化することもできる。
【0018】図2にマスキング・プロシージャ120を
示す。マスキング・プロシージャはまず、鍵ブロック1
10を第1の部分202(部分A)と第2の部分204
(部分B)に分割する。図では部分Aを部分Bの左側に
図示してあるが、この2つの部分にビットを割り当てる
他のどのような方式も使用することができる。ビットの
順序と場所は重要ではない。部分A(202)およびB
(204)の長さは等しくても異なっていてもよい。し
かし、部分202、204の長さを等しくするかまたは
ほぼ等しくすればセキュリティ上有利である。
【0019】部分202、204のうちの少なくとも1
つに、秘密鍵または秘密乱数などの秘密値が含まれてい
るものとする。しかし、この秘密値は、一部を部分20
2に一部を部分204に分けることできる。
【0020】一般に、マスキング・プロシージャ120
は以下のステップを含む。 1.部分A(202)を部分B(204)でマスクして
中間段階の部分A(212)を生成する。 2.部分B(204)をその中間段階の部分A(21
2)でマスクしてマスクされた部分B(220)を生成
する。 3.中間段階の部分A(212)をマスクされた部分B
(220)でマスクして最終的なマスクされた部分A
(228)を生成する。 4.任意選択により、所望の場合または必要な場合はマ
スキングをさらに繰り返す(図示せず)。
【0021】マスクされた鍵ブロック130内の各ビッ
トを(マスクされていない)鍵ブロック110内の各ブ
ロックの関数にするには、マスキングを3回繰り返す必
要がある。適切に行われたマスキングの3回の繰り返し
は、マスクされた鍵ブロック130内の各ビットを元の
鍵ブロック110内の各ビットに依存させるのにも十分
であるはずである。これによって完全なシンボル間依存
性が得られる。
【0022】以下に、マスキング・プロシージャについ
て詳述する。マスキング・プロシージャ120は、第1
の生成関数(G1)206を使用して部分B(204)
について第1のマスク値208(マスク1)を算出す
る。マスク1(208)の長さは部分A(202)の長
さと等しい。
【0023】次にマスク1(208)を部分A(20
2)と結合して(210)中間段階の部分A(212)
を生成する。この結合演算210は、図のように排他的
論理和(XOR)、すなわちビット単位のモジュロ2加
算とすることができる。具体的には、結合演算210
は、nビット・ブロックに対するモジュロ加算など、任
意の可逆演算を含むことができる。
【0024】次に、第2の生成関数214(G2)を使
用して中間段階の部分A(212)について第2のマス
ク値216(マスク2)を計算する。マスク2(21
6)の長さは部分B(204)の長さに等しい。マスク
2(216)と部分B(204)との排他的論理和(2
18)をとって、マスクされた部分B(220)を生成
する。
【0025】最後に、マスクされた部分B(204)に
ついて第3の生成関数222(G3)を使用して第3の
マスク値224(マスク3)を計算する。マスク3(2
24)の長さは部分A(202)の長さと等しい。マス
ク3(224)と中間段階の部分A(212)との排他
的論理和(226)をとって、最終的なマスクされた部
分A(228)を生成する。
【0026】生成関数G1〜G3のそれぞれは、mビッ
トの入力値からnビットの出力値を計算する暗号文片方
向関数である(ただしmおよびnは生成関数への入力変
数である)。暗号で従来使用される意味の「片方向」関
数とは、その逆関数によってその関数のほとんどどのよ
うな出力値も計算することができない関数を意味する。
生成関数G1〜G3の可能な一実施態様は、FIPS Publi
caion 180-1セキュア・ハッシュ規格(SHS)に記載
されているNISTセキュア・ハッシュ・アルゴリズム
・リビジョン1(SHA−1)、R.L.Revest「The MD5
Message DigestAlgorithm」(RFC 1321, Apr. 1992)に
記載されているRSAメッセージ・ダイジェスト・アル
ゴリズム5(MD5)、またはブラクトル等の米国特許
第4908861号に記載されているIBM修正検出コ
ード・アルゴリズム(MDC−2/4)などの強力な暗
号ハッシュ関数Hを使用することであろう。
【0027】以下の例では、128ビットのハッシュ値
を生成するMD5をハッシュ関数Hに使用するものとす
る。簡略化するための前提として、部分202および2
04の長さは128ビット(16バイト)の倍数である
ものとする。さらに、説明のために、部分A(202)
は3つの16バイト・ブロックから成り、部分B(20
4)は2つの16バイト・ブロックから成るものとす
る。
【0028】図3を参照すると、第1のマスク値208
(マスク1)は以下のようにして関数G1(206)を
使用して計算される。 1.固有値302(値1)を部分B(204)と連結
し、その結果値をH(308)を使用してハッシュして
128ビットの値314(X1)を得る。 2.固有値304(値2)を部分B(204)と連結
し、その結果値をH(310)を使用してハッシュして
128ビットの値316(X2)を得る。 3.固有値306(値3)を部分B(204)と連結
し、その結果値をH(312)を使用してハッシュして
128ビットの値318(X3)を得る。
【0029】マスク1(208)は、値314、31
6、318(X1〜X3)の連結として定義される。マ
スク1(208)の長さは、それとの排他的論理和をと
るために使用した部分A(202)の長さと同じ3×1
6=48バイトである。
【0030】図4を参照すると、関数G2(214)を
使用して以下のように第2のマスク値216(マスク
2)を計算する。 1.固有値402(値4)を中間段階の部分A(21
2)と連結し、その結果値をH(406)を使用してハ
ッシュして128ビットの値410(X4)を得る。 2.固有値404(値5)を中間段階の部分A(21
2)と連結し、その結果値をH(408)を使用してハ
ッシュして128ビットの値412(X5)を得る。
【0031】マスク2(216)は、値410、412
(X4〜X5)の連結として定義される。マスク2(2
16)の長さは、それとの排他的論理和をとった部分B
(204)の長さと同じ2×16=32バイトである。
【0032】図の実施例では、関数G3(222)は関
数G1(206)と同じであり、この2つの関数の唯一
の相違は、関数G3がその入力値をマスクされていない
部分B(204)ではなくマスクされた部分B(22
0)から受け取ることである。これは単に実施の効率の
ために過ぎないが、一般には、G3はG1とは異なる。
また、関数G2は関数G1およびG3とは異なるが、こ
れは部分202と204の長さが異なるために過ぎな
い。2つの部分の長さが同じであれば、これらの関数G
1〜G3はすべて同じとなることができる。
【0033】値302〜306および402〜404は
互いに異なるが、関数G1〜G3のそれぞれの呼出しに
ついて同じままとすることができる。あるいは、増分カ
ウンタまたはその他の適合する機構を使用して、生成関
数のそれぞれの連続した呼出しごとにこれらの値のそれ
ぞれを変更することもできる。
【0034】部分202または204の値がハッシュ関
数Hの長さ(上記の例では16バイト)の倍数でない場
合、(1)ハッシュ関数Hの長さの倍数であり、(2)
マスクしようとするデータより長いマスク値を計算す
る。その場合、マスクの一部と入力データとの排他的論
理和をとる。データをハッシュする前に入力データの埋
込みが必要な場合もある。しかし、これは生成関数の設
計には実質的影響を与えない。
【0035】図6に、暗号文ブロック150から元の鍵
ブロックを復元するために使用するプロシージャ600
を示す。プロシージャ600は、復号プロシージャ61
0を使用して暗号文ブロック150の暗号化部分151
を復号して、再生されたマスクされた鍵ブロック620
の第1の部分621を生成する。復号プロシージャ61
0は、暗号化プロシージャ140の逆に過ぎない。暗号
化プロシージャ140が公開暗号化鍵141を有する公
開鍵プロシージャである場合、復号プロシージャ610
は、受信者だけが知っている対応する秘密復号鍵611
を有する。暗号化プロシージャ140が対称プロシージ
ャの場合、復号鍵611は(秘密)暗号化鍵141と同
じである。再生されたマスクされた鍵ブロック620の
残りの部分622は、暗号文ブロック150の残りの部
分152から変更なしに単純に取り出される。次にマス
ク解除プロシージャ630によって、再生されたマスク
された鍵ブロック620を、元の鍵ブロック110と一
致するマスク解除された鍵ブロック640に変換する。
【0036】図7に、マスク解除プロシージャ630を
示す。これはマスキング・プロシージャ120の逆に過
ぎない。プロシージャ630はまず、再生されたマスク
された鍵ブロック620を、部分202および204
(図2)とそれぞれ長さが対応するマスクされた部分A
(702)と部分B(704)とに分割する。プロシー
ジャ630は次に、生成関数G3(706)を使用し
て、マスクされた部分B(704)からマスク3(70
8)を再生する。次に、マスク3(708)をマスクさ
れた部分A(702)と結合して(710)中間段階の
部分A(712)を再生する。次に、生成関数G2(7
14)を使用して中間段階の部分A(712)からマス
ク2(716)を生成する。マスク2(716)をマス
クされた部分B(704)と結合して(718)、元の
部分B(720)を再生する。最後に、生成関数G1
(722)を使用して元の部分B(720)からマスク
1(724)を生成する。マスク1(724)を中間段
階の部分A(712)と結合して(726)、最終的な
マスク解除された部分A(728)を生成する。
【0037】結合演算710、718、および726は
それぞれ、マスキング・プロシージャ120の演算22
6、218、および210の逆になるように構成されて
いる。マスキング・プロシージャ120における結合演
算がXOR演算である図の実施例では、その逆の結合演
算710、718、および726もXOR演算である。
【0038】本実施例のように関数G1とG3が同じ場
合、マスク解除プロシージャ630(図6〜図7)はマ
スキング・プロシージャ120(図1〜図4)と同じで
ある。すなわち、マスキング・プロシージャ120を2
回適用することによって、元の出力が得られる。しか
し、これは特殊な場合であって、一般にはマスキング・
プロシージャ120は逆のマスク解除プロシージャ63
0と異なることがある。
【0039】制御情報、初期設定ベクトルまたはカウン
トなど、鍵に関連づけたり結合したりしたいデータがあ
るが、鍵ブロック自体には入れておきたくない状況が存
在する場合がある。これは、平文ブロックを分割した部
分のうちの1つに当該データまたは当該データのハッシ
ュを付加し、その拡張部分についてマスク値を計算する
ことによって行うことができる。それ以外は、この方法
は前述の通りである。
【0040】図8に、部分B(204)を付加データ・
フィールド801(「その他のデータ」)に連結して拡
張された部分B(204')を生成することによって修
正されたマスク1(208')を計算する修正されたマ
スキング・プロシージャ120'を示す。付加データ・
フィールド801は制御情報、初期設定ベクトル、連続
した暗号化ごとに増加するカウント、または受信者が使
用可能なその他の情報または受信者が作成可能なその他
の情報に基づく。付加データ・フィールド801には、
未修正形式の情報を入れるか、またはそのような情報の
ハッシュ関数に基づくことができる。付加データ・フィ
ールド801は部分B(204)の右に付加されるよう
に図示されているが、多くの場合に好ましいことである
が、部分Bの左に付加することもできる。拡張された部
分B(204')に応答して、修正された関数G1(2
06')は、修正されたマスク1(208')を生成し、
それが部分A(204)と結合されて(210)、修正
された中間段階の部分A(212')が生成される。
【0041】修正されたマスキング・プロシージャ12
0'の残りの部分は、(修正された入力値を受け取る以
外は)図2に図示するマスキング・プロシージャ120
と同じであり、したがって図示していない。この修正さ
れたマスキング・プロシージャ120'に対応するマス
ク解除プロシージャはマスク解除プロシージャ630と
同様であるが、付加データ・フィールド801を考慮に
入れるための適切な修正が加えられる。
【0042】図8に示す修正されたマスキング・プロシ
ージャ120'では、マスキング値を付加データ・フィ
ールド801に依存させるように修正されているのは最
初のマスキング段階(部分Bを使用して部分Aをマスク
する)である。しかし、別法として、または追加とし
て、それに続く2つのマスキング段階のいずれか一方あ
るいは両方を、付加データ・フィールド801を使用す
るように修正することもできる。したがって、元のブロ
ック部分を付加データ・フィールドと連結することによ
って作成された拡張鍵ブロック部分に依存するように、
生成関数G2(214)およびG3(222)のいずれ
か一方または両方を修正することができる。前者の場
合、付加データ・フィールド801は部分Bではなく部
分Aと連結されて、関数G2への入力値を供給すること
になる。
【0043】この修正は、マスクされた鍵ブロック13
0が、元の鍵ブロック110だけでなく付加データ・フ
ィールド801内の余分のデータ(またはそのようなデ
ータのハッシュ)の関数でもあるという利点を有する。
しかし、この余分のデータは鍵ブロック110自体の一
部ではなく、したがってマスクされない。
【0044】前述のように、鍵ブロック110と付加デ
ータ・フィールド801のいずれか一方(または両方)
が、平文ブロックの暗号化ごとに固有でなければならな
い。これは、鍵ブロック110または付加データ・フィ
ールド801に固有のカウントを挿入するか、または前
述のようにタイム・スタンプ、乱数、またはその他の機
構を使用することによって実現することができる。
【0045】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0046】(1)平文ブロックよりも小さいブロック
・サイズを有するブロック暗号化プロシージャを使用し
て前記平文データ・ブロックを暗号化する方法であっ
て、マスクされた平文ブロックの各ビットが元の平文ブ
ロックの1つ1つのビットに依存するように定義された
所定の可逆変換を使用して前記平文ブロックを前記マス
クされた平文ブロックに変換するステップと、前記暗号
化プロシージャを使用して前記ブロック・サイズを有す
る前記マスクされた平文ブロックの一部を暗号化して、
前記マスクされた平文ブロックの暗号化された部分を生
成するステップと、前記マスクされた平文ブロックの前
記暗号化された部分と前記マスクされた平文ブロックの
残りの部分とから暗号文ブロックを生成するステップと
を含む方法。 (2)前記暗号文ブロックを受信者に送信するステップ
をさらに含む、上記(1)に記載の方法。 (3)前記暗号文ブロックが前記マスクされた平文ブロ
ックの残りの部分を暗号化することによって生成される
ことを特徴とする、上記(1)に記載の方法。 (4)前記マスクされたブロックの前記残りの部分が、
前記マスクされた平文ブロックの前記一部を暗号化する
ために使用する暗号化プロシージャとは異なる暗号化プ
ロシージャを使用して暗号化されることを特徴とする、
上記(3)に記載の方法。 (5)前記マスクされた平文ブロックの残りの部分を暗
号化することなく前記平文ブロックが生成されることを
特徴とする、上記(1)に記載の方法。 (6)前記平文ブロックから元の平文ブロックを復元す
るステップをさらに含む、上記(1)に記載の方法。 (7)前記復元ステップが、前記平文ブロックから前記
マスクされた平文ブロックを再生するステップを含み、
前記再生ステップは前記マスクされた平文ブロックの前
記暗号化された部分を復号するステップを含み、前記復
元ステップは、前記所定の変換を逆に行うことによっ
て、再生されたマスクされた平文ブロックから元の平文
ブロックを再生するステップを含むことを特徴とする、
上記(6)に記載の方法。 (8)前記暗号化プロシージャが、公開暗号化鍵と公開
復号鍵とを有する対称暗号化プロシージャを含むことを
特徴とする、上記(1)に記載の方法。 (9)前記暗号化プロシージャが楕円曲線プロシージャ
を含むことを特徴とする、上記(1)に記載の方法。 (10)前記平文ブロックが第1および第2の部分を含
み、前記変換ステップが、前記第2の部分を使用して前
記第1の部分をマスクして中間段階の第1の部分を生成
するステップと、前記中間段階の第1の部分を使用して
前記第2の部分をマスクしてマスクされた第2の部分を
生成するステップと、前記マスクされた第2の部分を使
用して前記中間段階の第1の部分をマスクしてマスクさ
れた第1の部分を生成するステップとを含み、前記マス
クされた部分のうちの一方を使用して前記マスクされた
平文ブロックの第1の部分が生成され、前記マスクされ
た部分のうちの他方を使用して前記マスクされた平文ブ
ロックの第2の部分が生成されることを特徴とする、上
記(1)に記載の方法。 (11)前記マスキング・ステップのうちの少なくとも
1つのステップが、前記部分のうちの一方を前記鍵ブロ
ックの外部の付加データと連結して拡張された部分を生
成するステップと、前記部分のうちの他方を前記拡張さ
れた部分を使用してマスクするステップとを含むことを
特徴とする、上記(10)に記載の方法。 (12)前記マスクされた第1の部分が前記マスクされ
た平文ブロックの前記第1の部分を形成し、前記マスク
された第2の部分が前記マスクされた平文ブロックの前
記第2の部分を形成することを特徴とする、上記(1
0)に記載の方法。 (13)前記平文ブロックが第1および第2の部分を含
み、前記変換ステップが、第1の変換を使用して前記第
2の部分から第1のマスク値を生成するステップと、前
記第1のマスク値を前記第1の部分と結合して中間段階
の第1の部分を生成するステップと、第2の変換を使用
して前記中間段階の第1の部分から第2のマスク値を生
成するステップと、前記第1のマスク値を前記第2の部
分と結合してマスクされた第2の部分を生成するステッ
プと、第3の変換を使用して前記マスクされた第2の部
分から第3のマスク値を生成するステップと、前記第3
のマスク値を前記中間段階の第1の部分と結合してマス
クされた第1の部分を生成するステップとを含み、前記
マスクされた部分のうちの一方を使用して前記マスクさ
れた平文ブロックの第1の部分が生成され、前記マスク
された部分のうちの他方を使用して前記マスクされた平
文ブロックの第2の部分が生成されることを特徴とす
る、上記(1)に記載の方法。 (14)前記マスク値が片方向関数を使用して生成され
ることを特徴とする、上記(13)に記載の方法。 (15)前記結合ステップが、モジュロ加算を使用して
nビットのブロックを結合することによって行われるこ
とを特徴とする、上記(13)に記載の方法。 (16)前記結合ステップがビット単位のモジュロ2加
算を使用して行われることを特徴とする、上記(15)
に記載の方法。 (17)前記マスクされた平文ブロックが前記平文ブロ
ックと任意選択の付加データに応じて生成され、前記方
法が、平文ブロックの暗号化ごとに前記平文ブロックと
任意選択の付加データのうちの少なくとも一方を固有に
修正するステップをさらに含み、前記変換ステップが前
記修正された平文ブロックに対して行われることを特徴
とする、上記(1)に記載の方法。 (18)ブロック暗号化プロシージャを使用して平文ブ
ロックを暗号化する方法であって、元の平文ブロックが
前記マスクされた平文ブロックおよび任意選択の付加デ
ータから復元可能であるように定義された所定の可逆変
換を使用して、マスクされた平文ブロックを前記平文ブ
ロックと任意選択の付加データに応じて生成するステッ
プと、前記マスクされた平文ブロックの少なくとも一部
を前記暗号化プロシージャを使用して暗号化して暗号文
ブロックを生成するステップと、平文ブロックの暗号化
ごとに、前記マスクされた平文ブロックの生成の前に前
記平文ブロックと前記任意選択の付加データのうちの少
なくとも一方を固有に修正するステップとを含む方法。 (19)平文ブロックの暗号化ごとに前記マスクされた
平文ブロックの生成の前に前記平文ブロックが固有に修
正されることを特徴とする、上記(18)に記載の方
法。 (20)平文ブロックの暗号化ごとに前記マスクされた
平文ブロックの生成の前に前記付加データが固有に修正
されることを特徴とする、上記(18)に記載の方法。 (21)前記平文ブロックと前記任意選択の付加データ
のうちの前記少なくとも一方が、平文ブロックの暗号化
ごとに増加するカウントを含むことを特徴とする、上記
(18)に記載の方法。 (22)前記平文ブロックと前記任意選択の付加データ
のうちの前記少なくとも一方が、平文ブロックの暗号化
ごとに異なるタイム・スタンプを含むことを特徴とす
る、上記(18)に記載の方法。 (23)前記平文ブロックと前記任意選択の付加データ
のうちの前記少なくとも一方が、平文ブロックの暗号化
ごとにランダムに生成される値を含むことを特徴とす
る、上記(18)に記載の方法。 (24)平文ブロックよりも小さいブロック・サイズを
有するブロック暗号化プロシージャを使用して前記平文
データ・ブロックを暗号化する装置であって、マスクさ
れた平文ブロックの各ビットが元の平文ブロックの1つ
1つのビットに依存するように定義された所定の可逆変
換を使用して前記平文ブロックを前記マスクされた平文
ブロックに変換する手段と、前記暗号化プロシージャを
使用して前記ブロック・サイズを有する前記マスクされ
た平文ブロックの一部を暗号化して、前記マスクされた
平文ブロックの暗号化された部分を生成する手段と、前
記マスクされた平文ブロックの前記暗号化された部分と
前記マスクされた平文ブロックの残りの部分とから暗号
文ブロックを生成する手段とを含む装置。 (25)前記平文ブロックが第1および第2の部分を含
み、前記変換手段が、前記第2の部分を使用して前記第
1の部分をマスクして中間段階の第1の部分を生成する
手段と、前記中間段階の第1の部分を使用して前記第2
の部分をマスクしてマスクされた第2の部分を生成する
手段と、前記マスクされた第2の部分を使用して前記中
間段階の第1の部分をマスクしてマスクされた第1の部
分を生成する手段とを含み、前記マスクされた部分のう
ちの一方を使用して前記マスクされた平文ブロックの第
1の部分が生成され、前記マスクされた部分のうちの他
方を使用して前記マスクされた平文ブロックの第2の部
分が生成されることを特徴とする、上記(24)に記載
の装置。 (26)前記平文ブロックが第1および第2の部分を含
み、前記変換手段が、第1の変換を使用して前記第2の
部分から第1のマスク値を生成する手段と、前記第1の
マスク値を前記第1の部分と結合して中間段階の第1の
部分を生成する手段と、第2の変換を使用して前記中間
段階の第1の部分から第2のマスク値を生成する手段
と、前記第1のマスク値を前記第2の部分と結合してマ
スクされた第2の部分を生成する手段と、第3の変換を
使用して前記マスクされた第2の部分から第3のマスク
値を生成する手段と、前記第3のマスク値を前記中間段
階の第1の部分と結合してマスクされた第1の部分を生
成する手段とを含み、前記マスクされた部分のうちの一
方を使用して前記マスクされた平文ブロックの第1の部
分が生成され、前記マスクされた部分のうちの他方を使
用して前記マスクされた平文ブロックの第2の部分が生
成されることを特徴とする、上記(24)に記載の装
置。 (27)ブロック暗号化プロシージャを使用して平文ブ
ロックを暗号化する装置であって、元の平文ブロックが
前記マスクされた平文ブロックおよび任意選択の付加デ
ータから復元可能であるように定義された所定の可逆変
換を使用して、マスクされた平文ブロックを前記平文ブ
ロックと任意選択の付加データに応じて生成する手段
と、前記マスクされた平文ブロックの少なくとも一部を
前記暗号化プロシージャを使用して暗号化して暗号文ブ
ロックを生成する手段と、平文ブロックの暗号化ごと
に、前記マスクされた平文ブロックの生成の前に前記平
文ブロックと前記任意選択の付加データのうちの少なく
とも一方を固有に修正する手段とを含む装置。 (28)平文ブロックより小さいブロック・サイズを有
するブロック暗号化プロシージャを使用して前記平文デ
ータ・ブロックを暗号化する方法ステップを実行するた
めに機械によって実行可能な命令のプログラムを有形に
実施する、機械によって読取り可能なプログラム記憶装
置であって、前記方法ステップは、マスクされた平文ブ
ロックの各ビットが元の平文ブロックの1つ1つのビッ
トに依存するように定義された所定の可逆変換を使用し
て前記平文ブロックを前記マスクされた平文ブロックに
変換するステップと、前記暗号化プロシージャを使用し
て前記ブロック・サイズを有する前記マスクされた平文
ブロックの一部を暗号化して、前記マスクされた平文ブ
ロックの暗号化された部分を生成するステップと、前記
マスクされた平文ブロックの前記暗号化された部分と前
記マスクされた平文ブロックの残りの部分とから暗号文
ブロックを生成するステップとを含む、プログラム記憶
装置。 (29)ブロック暗号化プロシージャを使用して平文ブ
ロックを暗号化する方法ステップを実行するために、機
械によって実行可能な命令のプログラムを有形に実施す
る、機械によって実行可能なプログラム記憶装置であっ
て、前記方法ステップは、元の平文ブロックが前記マス
クされた平文ブロックと任意選択の付加データとから復
元可能なように定義された所定の可逆変換を使用して、
前記平文ブロックおよび任意の付加データに応じてマス
クされた平文ブロックを生成するステップと、前記暗号
化プロシージャを使用して前記マスクされた平文ブロッ
クの少なくとも一部を暗号化して暗号文ブロックを生成
するステップと、平文ブロックの暗号化ごとに前記マス
クされた平文ブロックの生成の前に前記平文ブロックと
前記任意選択の付加データのうちの少なくとも一方を固
有に修正するステップとを含む、プログラム記憶装置。 (30)ブロック暗号化プロシージャを使用して平文ブ
ロックを暗号化する方法であって、元の平文ブロックが
前記マスクされた平文ブロックと任意選択の付加データ
とから復元可能なように定義された所定の可逆変換を使
用して前記平文ブロックと付加データに応じてマスクさ
れた平文ブロックを生成するステップと、前記暗号化プ
ロシージャを使用して前記マスクされた平文ブロックの
少なくとも一部を暗号化して暗号文ブロックを生成する
ステップとを含む方法。
【図面の簡単な説明】
【図1】本発明の暗号化プロシージャを示す略ブロック
図である。
【図2】図1に示す暗号化プロシージャで使用するマス
キング・プロシージャを示す略ブロック図である。
【図3】図2に示すマスキング・プロシージャで使用す
る第1の生成機構関数を示す略ブロック図である。
【図4】図2の示すマスキング・プロシージャで使用す
る第2の生成機構関数を示す略ブロック図である。
【図5】鍵ブロックの形式を示す略ブロック図である。
【図6】本発明の復号プロシージャを示す略ブロック図
である。
【図7】図6に示す復号プロシージャで使用するマスク
解除プロシージャを示す略ブロック図である。
【図8】鍵ブロック外部の付加的データを使用する修正
されたマスキング・プロシージャを示す略ブロック図で
ある。
【符号の説明】
100 暗号化プロシージャ 110 鍵ブロック 120 マスキング・プロシージャ 130 マスクされた鍵ブロック 140 暗号化プロシージャ 141 暗号化鍵 150 暗号文ブロック 151 暗号化部分
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スティーブン・マイケル・マチヤス・ジュ ニア アメリカ合衆国12601 ニューヨーク州ポ キープシー バルキル・ドライブ 25

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】平文ブロックよりも小さいブロック・サイ
    ズを有するブロック暗号化プロシージャを使用して前記
    平文データ・ブロックを暗号化する方法であって、 マスクされた平文ブロックの各ビットが元の平文ブロッ
    クの1つ1つのビットに依存するように定義された所定
    の可逆変換を使用して前記平文ブロックを前記マスクさ
    れた平文ブロックに変換するステップと、 前記暗号化プロシージャを使用して前記ブロック・サイ
    ズを有する前記マスクされた平文ブロックの一部を暗号
    化して、前記マスクされた平文ブロックの暗号化された
    部分を生成するステップと、 前記マスクされた平文ブロックの前記暗号化された部分
    と前記マスクされた平文ブロックの残りの部分とから暗
    号文ブロックを生成するステップとを含む方法。
  2. 【請求項2】前記暗号文ブロックを受信者に送信するス
    テップをさらに含む、請求項1に記載の方法。
  3. 【請求項3】前記暗号文ブロックが前記マスクされた平
    文ブロックの残りの部分を暗号化することによって生成
    されることを特徴とする、請求項1に記載の方法。
  4. 【請求項4】前記マスクされたブロックの前記残りの部
    分が、前記マスクされた平文ブロックの前記一部を暗号
    化するために使用する暗号化プロシージャとは異なる暗
    号化プロシージャを使用して暗号化されることを特徴と
    する、請求項3に記載の方法。
  5. 【請求項5】前記マスクされた平文ブロックの残りの部
    分を暗号化することなく前記平文ブロックが生成される
    ことを特徴とする、請求項1に記載の方法。
  6. 【請求項6】前記平文ブロックから元の平文ブロックを
    復元するステップをさらに含む、請求項1に記載の方
    法。
  7. 【請求項7】前記復元ステップが、 前記平文ブロックから前記マスクされた平文ブロックを
    再生するステップを含み、前記再生ステップは前記マス
    クされた平文ブロックの前記暗号化された部分を復号す
    るステップを含み、 前記復元ステップは、 前記所定の変換を逆に行うことによって、再生されたマ
    スクされた平文ブロックから元の平文ブロックを再生す
    るステップを含むことを特徴とする、請求項6に記載の
    方法。
  8. 【請求項8】前記暗号化プロシージャが、公開暗号化鍵
    と公開復号鍵とを有する対称暗号化プロシージャを含む
    ことを特徴とする、請求項1に記載の方法。
  9. 【請求項9】前記暗号化プロシージャが楕円曲線プロシ
    ージャを含むことを特徴とする、請求項1に記載の方
    法。
  10. 【請求項10】前記平文ブロックが第1および第2の部
    分を含み、前記変換ステップが、 前記第2の部分を使用して前記第1の部分をマスクして
    中間段階の第1の部分を生成するステップと、 前記中間段階の第1の部分を使用して前記第2の部分を
    マスクしてマスクされた第2の部分を生成するステップ
    と、 前記マスクされた第2の部分を使用して前記中間段階の
    第1の部分をマスクしてマスクされた第1の部分を生成
    するステップとを含み、前記マスクされた部分のうちの
    一方を使用して前記マスクされた平文ブロックの第1の
    部分が生成され、前記マスクされた部分のうちの他方を
    使用して前記マスクされた平文ブロックの第2の部分が
    生成されることを特徴とする、請求項1に記載の方法。
  11. 【請求項11】前記マスキング・ステップのうちの少な
    くとも1つのステップが、 前記部分のうちの一方を前記鍵ブロックの外部の付加デ
    ータと連結して拡張された部分を生成するステップと、 前記部分のうちの他方を前記拡張された部分を使用して
    マスクするステップとを含むことを特徴とする、請求項
    10に記載の方法。
  12. 【請求項12】前記マスクされた第1の部分が前記マス
    クされた平文ブロックの前記第1の部分を形成し、前記
    マスクされた第2の部分が前記マスクされた平文ブロッ
    クの前記第2の部分を形成することを特徴とする、請求
    項10に記載の方法。
  13. 【請求項13】前記平文ブロックが第1および第2の部
    分を含み、前記変換ステップが、 第1の変換を使用して前記第2の部分から第1のマスク
    値を生成するステップと、 前記第1のマスク値を前記第1の部分と結合して中間段
    階の第1の部分を生成するステップと、 第2の変換を使用して前記中間段階の第1の部分から第
    2のマスク値を生成するステップと、 前記第1のマスク値を前記第2の部分と結合してマスク
    された第2の部分を生成するステップと、 第3の変換を使用して前記マスクされた第2の部分から
    第3のマスク値を生成するステップと、 前記第3のマスク値を前記中間段階の第1の部分と結合
    してマスクされた第1の部分を生成するステップとを含
    み、前記マスクされた部分のうちの一方を使用して前記
    マスクされた平文ブロックの第1の部分が生成され、前
    記マスクされた部分のうちの他方を使用して前記マスク
    された平文ブロックの第2の部分が生成されることを特
    徴とする、請求項1に記載の方法。
  14. 【請求項14】前記マスク値が片方向関数を使用して生
    成されることを特徴とする、請求項13に記載の方法。
  15. 【請求項15】前記結合ステップが、モジュロ加算を使
    用してnビットのブロックを結合することによって行わ
    れることを特徴とする、請求項13に記載の方法。
  16. 【請求項16】前記結合ステップがビット単位のモジュ
    ロ2加算を使用して行われることを特徴とする、請求項
    15に記載の方法。
  17. 【請求項17】前記マスクされた平文ブロックが前記平
    文ブロックと任意選択の付加データに応じて生成され、
    前記方法が、平文ブロックの暗号化ごとに前記平文ブロ
    ックと任意選択の付加データのうちの少なくとも一方を
    固有に修正するステップをさらに含み、前記変換ステッ
    プが前記修正された平文ブロックに対して行われること
    を特徴とする、請求項1に記載の方法。
  18. 【請求項18】ブロック暗号化プロシージャを使用して
    平文ブロックを暗号化する方法であって、 元の平文ブロックが前記マスクされた平文ブロックおよ
    び任意選択の付加データから復元可能であるように定義
    された所定の可逆変換を使用して、マスクされた平文ブ
    ロックを前記平文ブロックと任意選択の付加データに応
    じて生成するステップと、 前記マスクされた平文ブロックの少なくとも一部を前記
    暗号化プロシージャを使用して暗号化して暗号文ブロッ
    クを生成するステップと、 平文ブロックの暗号化ごとに、前記マスクされた平文ブ
    ロックの生成の前に前記平文ブロックと前記任意選択の
    付加データのうちの少なくとも一方を固有に修正するス
    テップとを含む方法。
  19. 【請求項19】平文ブロックの暗号化ごとに前記マスク
    された平文ブロックの生成の前に前記平文ブロックが固
    有に修正されることを特徴とする、請求項18に記載の
    方法。
  20. 【請求項20】平文ブロックの暗号化ごとに前記マスク
    された平文ブロックの生成の前に前記付加データが固有
    に修正されることを特徴とする、請求項18に記載の方
    法。
  21. 【請求項21】前記平文ブロックと前記任意選択の付加
    データのうちの前記少なくとも一方が、平文ブロックの
    暗号化ごとに増加するカウントを含むことを特徴とす
    る、請求項18に記載の方法。
  22. 【請求項22】前記平文ブロックと前記任意選択の付加
    データのうちの前記少なくとも一方が、平文ブロックの
    暗号化ごとに異なるタイム・スタンプを含むことを特徴
    とする、請求項18に記載の方法。
  23. 【請求項23】前記平文ブロックと前記任意選択の付加
    データのうちの前記少なくとも一方が、平文ブロックの
    暗号化ごとにランダムに生成される値を含むことを特徴
    とする、請求項18に記載の方法。
  24. 【請求項24】平文ブロックよりも小さいブロック・サ
    イズを有するブロック暗号化プロシージャを使用して前
    記平文データ・ブロックを暗号化する装置であって、 マスクされた平文ブロックの各ビットが元の平文ブロッ
    クの1つ1つのビットに依存するように定義された所定
    の可逆変換を使用して前記平文ブロックを前記マスクさ
    れた平文ブロックに変換する手段と、 前記暗号化プロシージャを使用して前記ブロック・サイ
    ズを有する前記マスクされた平文ブロックの一部を暗号
    化して、前記マスクされた平文ブロックの暗号化された
    部分を生成する手段と、 前記マスクされた平文ブロックの前記暗号化された部分
    と前記マスクされた平文ブロックの残りの部分とから暗
    号文ブロックを生成する手段とを含む装置。
  25. 【請求項25】前記平文ブロックが第1および第2の部
    分を含み、前記変換手段が、 前記第2の部分を使用して前記第1の部分をマスクして
    中間段階の第1の部分を生成する手段と、 前記中間段階の第1の部分を使用して前記第2の部分を
    マスクしてマスクされた第2の部分を生成する手段と、 前記マスクされた第2の部分を使用して前記中間段階の
    第1の部分をマスクしてマスクされた第1の部分を生成
    する手段とを含み、前記マスクされた部分のうちの一方
    を使用して前記マスクされた平文ブロックの第1の部分
    が生成され、前記マスクされた部分のうちの他方を使用
    して前記マスクされた平文ブロックの第2の部分が生成
    されることを特徴とする、請求項24に記載の装置。
  26. 【請求項26】前記平文ブロックが第1および第2の部
    分を含み、前記変換手段が、 第1の変換を使用して前記第2の部分から第1のマスク
    値を生成する手段と、 前記第1のマスク値を前記第1の部分と結合して中間段
    階の第1の部分を生成する手段と、 第2の変換を使用して前記中間段階の第1の部分から第
    2のマスク値を生成する手段と、 前記第1のマスク値を前記第2の部分と結合してマスク
    された第2の部分を生成する手段と、 第3の変換を使用して前記マスクされた第2の部分から
    第3のマスク値を生成する手段と、 前記第3のマスク値を前記中間段階の第1の部分と結合
    してマスクされた第1の部分を生成する手段とを含み、
    前記マスクされた部分のうちの一方を使用して前記マス
    クされた平文ブロックの第1の部分が生成され、前記マ
    スクされた部分のうちの他方を使用して前記マスクされ
    た平文ブロックの第2の部分が生成されることを特徴と
    する、請求項24に記載の装置。
  27. 【請求項27】ブロック暗号化プロシージャを使用して
    平文ブロックを暗号化する装置であって、 元の平文ブロックが前記マスクされた平文ブロックおよ
    び任意選択の付加データから復元可能であるように定義
    された所定の可逆変換を使用して、マスクされた平文ブ
    ロックを前記平文ブロックと任意選択の付加データに応
    じて生成する手段と、 前記マスクされた平文ブロックの少なくとも一部を前記
    暗号化プロシージャを使用して暗号化して暗号文ブロッ
    クを生成する手段と、 平文ブロックの暗号化ごとに、前記マスクされた平文ブ
    ロックの生成の前に前記平文ブロックと前記任意選択の
    付加データのうちの少なくとも一方を固有に修正する手
    段とを含む装置。
  28. 【請求項28】平文ブロックより小さいブロック・サイ
    ズを有するブロック暗号化プロシージャを使用して前記
    平文データ・ブロックを暗号化する方法ステップを実行
    するために機械によって実行可能な命令のプログラムを
    有形に実施する、機械によって読取り可能なプログラム
    記憶装置であって、前記方法ステップは、 マスクされた平文ブロックの各ビットが元の平文ブロッ
    クの1つ1つのビットに依存するように定義された所定
    の可逆変換を使用して前記平文ブロックを前記マスクさ
    れた平文ブロックに変換するステップと、 前記暗号化プロシージャを使用して前記ブロック・サイ
    ズを有する前記マスクされた平文ブロックの一部を暗号
    化して、前記マスクされた平文ブロックの暗号化された
    部分を生成するステップと、 前記マスクされた平文ブロックの前記暗号化された部分
    と前記マスクされた平文ブロックの残りの部分とから暗
    号文ブロックを生成するステップとを含む、プログラム
    記憶装置。
  29. 【請求項29】ブロック暗号化プロシージャを使用して
    平文ブロックを暗号化する方法ステップを実行するため
    に、機械によって実行可能な命令のプログラムを有形に
    実施する、機械によって実行可能なプログラム記憶装置
    であって、前記方法ステップは、 元の平文ブロックが前記マスクされた平文ブロックと任
    意選択の付加データとから復元可能なように定義された
    所定の可逆変換を使用して、前記平文ブロックおよび任
    意の付加データに応じてマスクされた平文ブロックを生
    成するステップと、 前記暗号化プロシージャを使用して前記マスクされた平
    文ブロックの少なくとも一部を暗号化して暗号文ブロッ
    クを生成するステップと、 平文ブロックの暗号化ごとに前記マスクされた平文ブロ
    ックの生成の前に前記平文ブロックと前記任意選択の付
    加データのうちの少なくとも一方を固有に修正するステ
    ップとを含む、プログラム記憶装置。
  30. 【請求項30】ブロック暗号化プロシージャを使用して
    平文ブロックを暗号化する方法であって、 元の平文ブロックが前記マスクされた平文ブロックと任
    意選択の付加データとから復元可能なように定義された
    所定の可逆変換を使用して前記平文ブロックと付加デー
    タに応じてマスクされた平文ブロックを生成するステッ
    プと、 前記暗号化プロシージャを使用して前記マスクされた平
    文ブロックの少なくとも一部を暗号化して暗号文ブロッ
    クを生成するステップとを含む方法。
JP9029165A 1996-02-20 1997-02-13 暗号化方法および装置 Pending JPH09230787A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/603771 1996-02-20
US08/603,771 US5870470A (en) 1996-02-20 1996-02-20 Method and apparatus for encrypting long blocks using a short-block encryption procedure

Publications (1)

Publication Number Publication Date
JPH09230787A true JPH09230787A (ja) 1997-09-05

Family

ID=24416843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9029165A Pending JPH09230787A (ja) 1996-02-20 1997-02-13 暗号化方法および装置

Country Status (4)

Country Link
US (2) US5870470A (ja)
EP (1) EP0792041B1 (ja)
JP (1) JPH09230787A (ja)
DE (1) DE69739887D1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005519527A (ja) * 2002-03-07 2005-06-30 アクサルト・エス・アー 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
JP2006311383A (ja) * 2005-04-28 2006-11-09 Trusted Solutions Kk データ管理方法、データ管理システムおよびデータ管理装置
JP5964460B2 (ja) * 2013-01-11 2016-08-03 株式会社日立製作所 データの暗号化記憶システム
JPWO2016088453A1 (ja) * 2014-12-04 2017-09-14 日本電気株式会社 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
JP2020109938A (ja) * 2018-11-16 2020-07-16 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ファイルを誤り訂正符号化し暗号化するコンピュータ実行方法

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064738A (en) * 1996-12-10 2000-05-16 The Research Foundation Of State University Of New York Method for encrypting and decrypting data using chaotic maps
GB2321741B (en) 1997-02-03 2000-10-04 Certicom Corp Data card verification system
US6144739A (en) * 1998-01-20 2000-11-07 Motorola, Inc. Computer network protection using cryptographic sealing software agents and objects
JP3812123B2 (ja) * 1998-02-12 2006-08-23 富士ゼロックス株式会社 認証方法および装置
US5974144A (en) * 1998-02-25 1999-10-26 Cipheractive Ltd. System for encryption of partitioned data blocks utilizing public key methods and random numbers
US6088800A (en) * 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
US6470454B1 (en) * 1998-03-31 2002-10-22 International Business Machines Corporation Method and apparatus for establishing computer configuration protection passwords for protecting computer configurations
US6504941B2 (en) * 1998-04-30 2003-01-07 Hewlett-Packard Company Method and apparatus for digital watermarking of images
US6266412B1 (en) * 1998-06-15 2001-07-24 Lucent Technologies Inc. Encrypting speech coder
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
FR2789776B1 (fr) * 1999-02-17 2001-04-06 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
US6668323B1 (en) 1999-03-03 2003-12-23 International Business Machines Corporation Method and system for password protection of a data processing system that permit a user-selected password to be recovered
US6715077B1 (en) * 1999-03-23 2004-03-30 International Business Machines Corporation System and method to support varying maximum cryptographic strength for common data security architecture (CDSA) applications
US6697490B1 (en) * 1999-10-19 2004-02-24 Lucent Technologies Inc. Automatic resynchronization of crypto-sync information
WO2001041357A1 (en) * 1999-12-03 2001-06-07 Cipheractive Communication Security Ltd. Encryption of partitioned data blocks utilizing public key methods and random numbers
US6865550B1 (en) * 2000-02-03 2005-03-08 Eastman Kodak Company System for secure distribution and playback of digital data
US8234203B1 (en) 2000-05-12 2012-07-31 Adventive, Inc. E-commerce system including online automatable inventory monitor and control system
US6978378B1 (en) 2000-05-12 2005-12-20 Bluetie, Inc. Secure file transfer system
US6768942B1 (en) * 2000-09-18 2004-07-27 Navigation Technologies Corp. Navigation system with decryption functions and secure geographic database
US7613917B1 (en) 2000-09-18 2009-11-03 Navteq North America, Llc Method and system for mass distribution of geographic data for navigation systems
JP3770584B2 (ja) * 2000-10-31 2006-04-26 シャープ株式会社 暗号鍵生成回路
JP2002149396A (ja) * 2000-11-07 2002-05-24 Hitachi Ltd データプロセッサ、半導体集積回路及びcpu
FR2820576B1 (fr) * 2001-02-08 2003-06-20 St Microelectronics Sa Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
DE10129285C2 (de) * 2001-06-18 2003-01-09 Hans-Joachim Mueschenborn Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
GB2377514B (en) * 2001-07-05 2005-04-27 Hewlett Packard Co Document encryption
GB2374260B (en) 2001-10-12 2003-08-13 F Secure Oyj Data encryption
US8204929B2 (en) * 2001-10-25 2012-06-19 International Business Machines Corporation Hiding sensitive information
CA2364174A1 (en) * 2001-11-27 2003-05-27 Bayer Inc. Filled elastomeric butyl compounds with improved scorch safety
AU2003251803A1 (en) * 2002-07-09 2004-01-23 Kaleidescape, Inc. Content and key distribution system for digital content representing media streams
US7274792B2 (en) * 2002-08-09 2007-09-25 Broadcom Corporation Methods and apparatus for initialization vector processing
RU2003131278A (ru) * 2002-10-29 2005-04-20 Хай-О Информтех Эсдиэн Биэйчди (MY) Способ шифрования данных
DE10303723B4 (de) * 2003-01-30 2006-02-16 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen von verschlüsselten Daten aus unverschlüsselten Daten oder von unverschlüsselten Daten aus verschlüsselten Daten
WO2004070585A2 (en) * 2003-01-31 2004-08-19 Kaleidescape, Inc. Detecting collusion among multiple recipients of fingerprinted information
US7900055B2 (en) * 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US8060755B2 (en) * 2003-04-18 2011-11-15 Via Technologies, Inc Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
US7925891B2 (en) * 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7321910B2 (en) * 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7539876B2 (en) * 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7392400B2 (en) * 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7519833B2 (en) * 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7542566B2 (en) * 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7529367B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7536560B2 (en) * 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7529368B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7502943B2 (en) * 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7844053B2 (en) * 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7310421B2 (en) * 2003-10-06 2007-12-18 National Institute Of Information And Communications Technology Particular plaintext detector
FR2881900B1 (fr) * 2005-02-09 2007-04-27 Algoril Holding Sa Procede de cryptographie de messages a cle privee, et application a une installation
CA2593441A1 (en) * 2005-02-11 2006-08-17 Universal Data Protection Corporation Method and system for microprocessor data security
US8995653B2 (en) * 2005-07-12 2015-03-31 International Business Machines Corporation Generating a secret key from an asymmetric private key
WO2007028241A2 (en) * 2005-09-07 2007-03-15 Universal Data Protection Corporation Method and system for data security of recording media
US20070083467A1 (en) * 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
US8260924B2 (en) 2006-05-03 2012-09-04 Bluetie, Inc. User load balancing systems and methods thereof
US8056082B2 (en) 2006-05-31 2011-11-08 Bluetie, Inc. Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
US9767460B2 (en) 2006-09-18 2017-09-19 Adventive, Inc. Methods for integrating revenue generating features within a software application and systems thereof
US20080091726A1 (en) * 2006-10-16 2008-04-17 Bluetie, Inc. Methods for scheduling and completing reservations within an application and systems thereof
JP4154444B2 (ja) * 2006-10-16 2008-09-24 シャープ株式会社 情報記録装置、情報再生装置、プログラム、及び記録媒体
US8769279B2 (en) * 2006-10-17 2014-07-01 Verifone, Inc. System and method for variable length encryption
US20080097815A1 (en) * 2006-10-23 2008-04-24 Bluetie, Inc. Methods for employing temporary time zones and predictive locations and systems thereof
US20080098000A1 (en) * 2006-10-23 2008-04-24 Blue Tie, Inc. System and method for storing user data in a centralized database and intelligently reducing data entry
US10430845B2 (en) * 2006-10-23 2019-10-01 Adventive, Inc. Systems and methods for automated purchase requests
EP1921858A1 (en) * 2006-11-09 2008-05-14 Thomson Licensing Method and device for managing a transmission of keys
US20080120570A1 (en) * 2006-11-22 2008-05-22 Bluetie, Inc. Methods for managing windows within an internet environment and systems thereof
US20080137859A1 (en) * 2006-12-06 2008-06-12 Ramanathan Jagadeesan Public key passing
US9489177B2 (en) * 2008-02-25 2016-11-08 Adventive, Inc. Methods for integrating and managing one or more features in an application and systems thereof
US8601259B2 (en) * 2009-04-20 2013-12-03 Cleversafe, Inc. Securing data in a dispersed storage network using security sentinel value
US9274976B2 (en) * 2010-11-05 2016-03-01 Apple Inc. Code tampering protection for insecure environments
JP2016513825A (ja) * 2013-03-14 2016-05-16 マサチューセッツ インスティテュート オブ テクノロジー 安全通信方法および装置
ES2613881B1 (es) * 2016-06-13 2018-04-02 Alvaro DIAZ BAÑO Método híbrido de cifrado y descifrado de documentos electrónicos
US10680801B2 (en) * 2017-11-15 2020-06-09 International Business Machines Corporation Data distribution against credential information leak
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
CN112035573A (zh) * 2020-08-26 2020-12-04 深圳壹账通智能科技有限公司 基于区块链网络的数据处理方法、设备、节点及存储介质
CN113630386B (zh) * 2021-07-15 2023-05-09 金杉 一种加解密方法、装置及其通信系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3956615A (en) * 1974-06-25 1976-05-11 Ibm Corporation Transaction execution system with secure data storage and communications
DE69113245D1 (de) * 1991-03-14 1995-10-26 Omnisec Ag Regensdorf Verschlüsselungssystem mit öffentlichem Schlüssel unter Verwendung elliptischer Kurven über Ringe.
US5351297A (en) * 1991-06-28 1994-09-27 Matsushita Electric Industrial Co., Ltd. Method of privacy communication using elliptic curves
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US5159632A (en) * 1991-09-17 1992-10-27 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5351299A (en) * 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
US5442707A (en) * 1992-09-28 1995-08-15 Matsushita Electric Industrial Co., Ltd. Method for generating and verifying electronic signatures and privacy communication using elliptic curves
WO1994015423A1 (en) * 1992-12-22 1994-07-07 Telstra Corporation Limited A cryptographic method
EP0624013B1 (en) * 1993-05-05 1998-12-02 Zunquan Liu Device and method for data encryption
US5425103A (en) * 1994-03-14 1995-06-13 Shaw; William Y. Variable-key cryptography system
US5511123A (en) * 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption
US5696823A (en) * 1995-03-31 1997-12-09 Lucent Technologies Inc. High-bandwidth encryption system with low-bandwidth cryptographic modules
US5675653A (en) * 1995-11-06 1997-10-07 Nelson, Jr.; Douglas Valmore Method and apparatus for digital encryption
US5684876A (en) * 1995-11-15 1997-11-04 Scientific-Atlanta, Inc. Apparatus and method for cipher stealing when encrypting MPEG transport packets

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005519527A (ja) * 2002-03-07 2005-06-30 アクサルト・エス・アー 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
JP2006311383A (ja) * 2005-04-28 2006-11-09 Trusted Solutions Kk データ管理方法、データ管理システムおよびデータ管理装置
JP5964460B2 (ja) * 2013-01-11 2016-08-03 株式会社日立製作所 データの暗号化記憶システム
JPWO2016088453A1 (ja) * 2014-12-04 2017-09-14 日本電気株式会社 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
JP2020109938A (ja) * 2018-11-16 2020-07-16 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ファイルを誤り訂正符号化し暗号化するコンピュータ実行方法
US11196447B2 (en) 2018-11-16 2021-12-07 Siemens Aktiengesellschaft Computer-implemented method for error-correction-encoding and encrypting of a file
JP2022071033A (ja) * 2018-11-16 2022-05-13 シーメンス アクチエンゲゼルシヤフト ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム

Also Published As

Publication number Publication date
DE69739887D1 (de) 2010-07-08
US5870470A (en) 1999-02-09
US5987124A (en) 1999-11-16
EP0792041A3 (en) 2000-08-02
EP0792041A2 (en) 1997-08-27
EP0792041B1 (en) 2010-05-26

Similar Documents

Publication Publication Date Title
US5870470A (en) Method and apparatus for encrypting long blocks using a short-block encryption procedure
Jutla Encryption modes with almost free message integrity
JP3901909B2 (ja) 暗号化装置およびプログラムを記録した記録媒体
US7200227B2 (en) Method and apparatus for facilitating efficient authenticated encryption
US8503670B2 (en) Parallelizable integrity-aware encryption technique
JP4712017B2 (ja) ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法
US7110545B2 (en) Method and apparatus for symmetric-key encryption
US7054445B2 (en) Authentication method and schemes for data integrity protection
US7046802B2 (en) Method and apparatus for facilitating efficient authenticated encryption
Nevelsteen et al. Software performance of universal hash functions
US20020048364A1 (en) Parallel block encryption method and modes for data confidentiality and integrity protection
US7899184B2 (en) Ends-messaging protocol that recovers and has backward security
CN101202623B (zh) 消息验证码产生方法、验证/加密和验证/解密方法
US8107620B2 (en) Simple and efficient one-pass authenticated encryption scheme
Jakobsson et al. Scramble all, encrypt small
CN118337498B (zh) 一种基于对称密钥池的数据传输方法
JP4317593B2 (ja) データの非相関化方法
KR100551992B1 (ko) 어플리케이션 데이터의 암호화 및 복호화 방법
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
CN113141248B (zh) 基于同态加密的门限解密方法、系统及可读存储介质
Blelloch Introduction to Cryptography
Piper Recent Developments in Cryptography
Barlow Symmetric encryption with multiple keys: techniques and applications
BSAFE Wireless Core