特許第6934963号(P6934963)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハーの特許一覧

<>
  • 特許6934963-データを暗号化する方法およびシステム 図000002
  • 特許6934963-データを暗号化する方法およびシステム 図000003
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6934963
(24)【登録日】2021年8月26日
(45)【発行日】2021年9月15日
(54)【発明の名称】データを暗号化する方法およびシステム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20210906BHJP
【FI】
   G09C1/00 610A
【請求項の数】5
【全頁数】11
(21)【出願番号】特願2020-16067(P2020-16067)
(22)【出願日】2020年2月3日
(62)【分割の表示】特願2017-194880(P2017-194880)の分割
【原出願日】2014年4月24日
(65)【公開番号】特開2020-74039(P2020-74039A)
(43)【公開日】2020年5月14日
【審査請求日】2020年2月3日
(31)【優先権主張番号】13165184.6
(32)【優先日】2013年4月24日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】517451940
【氏名又は名称】エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】カラメ、ガッサン
(72)【発明者】
【氏名】ソリエンテ、クラウディオ
(72)【発明者】
【氏名】カプクン、スルジャン
【審査官】 行田 悦資
(56)【参考文献】
【文献】 特開2009−139990(JP,A)
【文献】 米国特許出願公開第2012/0250856(US,A1)
【文献】 Valer Canda and Tran van Trung,A New Mode of Using All-Or-Nothing Transforms,2002 IEEE International Symposium on Information Theory,米国,IEEE Information Theory Society,2002年07月30日,p.296
【文献】 D. R. Stinson,Something About All or Nothing (Transforms), [online],2001年 月 日,p.1-6,[平成27年7月19日検索]、インターネット<URL:https://www.semanticscholar.org/paper/Something-
【文献】 Ronald L. Rivest,All-or-Nothing Encryption and the Package Transform,Fast Software Encryption, 4th International Workshop, FSE'97 Haifa, Israel, January 20-22, 1997, Pro,ドイツ,Springer Berlin Heidelberg,1997年01月20日,p.210-218
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
オールオアナッシング暗号化に基づいてデータを暗号化する方法において、
a)入力モジュールが、暗号化すべきデータと、公開でもよい暗号化鍵とを提供するステップと、
b)暗号化モジュールが、前記データをそれぞれ同じサイズの奇数個のブロックに分割するステップと、
c)前記暗号化モジュールが、前記ブロックを前記暗号化鍵で暗号化することにより、暗号化ブロックを含む中間暗号文を得るステップであって、前記中間暗号文の対応するブロックとなる前の回に暗号化された平文ブロックと、現在の回の各平文ブロックと、を組み合わせたものを、前記暗号化鍵を用いて再帰的に暗号化し、すべての中間暗号文ブロックを直和するステップと、
d)前記中間暗号文を表すベクトルと行列の単一の乗算を用いて変換モジュールによって前記中間暗号文を線型変換することにより最終暗号文を得るステップであって、前記ベクトル行列乗算がXORおよびAND演算を用いて実行され、前記行列が可逆かつその逆行列と等しく、前記最終暗号文がブロックを含み、各ブロックが、ステップd)の前の前記中間暗号文内の同じ位置に対応する暗号化ブロック以外の、ステップd)の前の前記中間暗号文のすべての暗号化ブロックの和によって表されるステップと
を備え、
前記最終暗号文のブロックが、少なくとも2つの相異なるストレージサーバに分散され、各ストレージサーバが前記最終暗号文の少なくとも2個のブロックを保存し、
偶数番目の中間暗号文ブロックが、対応する平文ブロックランダムシードおよび当該偶数の暗号化の結果とのXOR演算に基づいて生成され、奇数番目の暗号文ブロックが、対応する平文ブロック前に生成された偶数番目の中間暗号文ブロックとのXOR演算の暗号化の結果である、
ことを特徴とする、データを暗号化する方法。
【請求項2】
前記最終暗号文のブロックが、前記中間暗号文ブロックの和と前記中間暗号文の対応するブロックとを直和することによって生成されることを特徴とする請求項1に記載の方法。
【請求項3】
ランダムデータが前記中間暗号文内にブロックとして追加されることを特徴とする請求
項1ないし2のいずれか1項に記載の方法。
【請求項4】
ステップb)による暗号化を実行するため、意味論的に安全な暗号化および対称暗号化の方式が使用されることを特徴とする請求項1ないし3のいずれか1項に記載の方法。
【請求項5】
オールオアナッシング暗号化に基づいてデータを暗号化するシステムにおいて、
暗号化すべきデータと、公開でもよい暗号化鍵とを提供するように動作可能な入力モジュールと、
前記入力モジュールによって提供される前記データをそれぞれ同じサイズの奇数個のブロックに分割し、前記ブロックを前記暗号化鍵で暗号化することにより、暗号化ブロックを含む中間暗号文を得るように動作可能な暗号化モジュールであって、前記中間暗号文の対応するブロックとなる前の回に暗号化された平文ブロックと、現在の回の各平文ブロックと、を組み合わせたものを、前記暗号化鍵を用いて再帰的に暗号化し、すべての中間暗号文ブロックを直和する、暗号化モジュールと、
前記中間暗号文を表すベクトルと行列の単一の乗算を用いて前記中間暗号文を線型変換することにより最終暗号文を得るように動作可能な変換モジュールであって、前記ベクトル行列乗算がXORおよびAND演算を用いて実行され、前記行列が可逆かつその逆行列と等しく、前記最終暗号文がブロックを含み、各ブロックが、前記線型変換の前の前記中間暗号文内の同じ位置に対応する暗号化ブロック以外の、前記線型変換の前の前記中間暗号文のすべての暗号化ブロックの和によって表される、変換モジュールと
を備え、
前記最終暗号文のブロックが、少なくとも2つの相異なるストレージサーバに分散され、各ストレージサーバが前記最終暗号文の少なくとも2個のブロックを保存し、
偶数番目の中間暗号文ブロックが、対応する平文ブロックランダムシードおよび当該偶数の暗号化の結果とのXOR演算に基づいて生成され、奇数番目の暗号文ブロックが、対応する平文ブロック前に生成された偶数番目の中間暗号文ブロックとのXOR演算の暗号化の結果である、
ことを特徴とする、データを暗号化するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オールオアナッシング(all-or-nothing)暗号化に基づいてデータを暗号化する方法に関する。
【0002】
また、本発明は、オールオアナッシング暗号化に基づいてデータを暗号化するシステムであって、好ましくはコンピュータ、1個以上のプロセッサおよび/またはセキュリティモジュールの形態で、好ましくは請求項1ないし12のいずれか1項に記載の方法を実行するシステムに関する。
【背景技術】
【0003】
本発明は、セキュリティ一般に適用可能であるが、以下ではクラウドセキュリティに関して説明する。
【0004】
今日、クラウドセキュリティは、多くのアプリケーションおよびサービスにおいてますます重要になってきている。クラウドに保存されたデータの機密性を強化するために使用可能な重要技術の1つとして、いわゆるオールオアナッシング暗号化がある。オールオアナッシング暗号化は、データの意味論的セキュリティを提供しながら、所与のクライアントにとって、暗号文のすべてのブロックがダウンロード可能または既知である場合に限ってデータが復元可能であることを保証する。したがって、オールオアナッシング暗号化は、データの暗号化鍵の秘匿性のみに依拠するのではない。入力平文の有意味な情報を取得するためには、いかなる敵も、暗号文のすべてのデータまたはブロックにアクセス可能であることが要求される。したがって、オールオアナッシング暗号化は、透過的な鍵管理プロセスを保証し、クラウドストレージのような分散ストレージに効率的にデータを保存するために使用可能な情報分散技術を自然に補完する。
【0005】
従来のオールオアナッシング暗号化は、例えば非特許文献1や非特許文献2に開示されている。
【0006】
もう1つの従来のオールオアナッシング暗号化が、非特許文献3に開示されている。
【0007】
これらの従来技術のほとんどは、オールオアナッシング暗号化のオールオアナッシング変換の後に、暗号化層を追加している。したがって、従来のオールオアナッシング暗号化は、少なくとも2回の暗号化を必要し、オールオアナッシング変換が暗号化を用いて実現されるため、これらの従来のオールオアナッシング暗号化は、特に大規模なファイルを扱う際に非効率的である。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】R. Rivest, "All-or-Nothing Encryption and The Package Transform", In Procedings of Fast Software Encryption, pages 210-218, 1997
【非特許文献2】Victor Boyko, "On the Security Properties of OAEP as an All-or-Nothing Transform", CRYPTO 1999: 503-518. 1998
【非特許文献3】D. R. Stinson, "Something About All or Nothing (Transforms)", In Designs, Codes and Crypthography, pages 133-138, 2001
【発明の概要】
【発明が解決しようとする課題】
【0009】
したがって、本発明の目的は、オールオアナッシング暗号化に基づいてデータを暗号化する方法およびシステムにおいて、より効率的で、特に従来のオールオアナッシング暗号化と比べてパフォーマンスを改善した方法およびシステムを提供することである。
【0010】
また、本発明の目的は、オールオアナッシング暗号化に基づいてデータを暗号化する方法およびシステムにおいて、意味論的に安全であって、暗号化鍵が敵に知られても平文の復元が不可能な方法およびシステムを提供することである。
【課題を解決するための手段】
【0011】
上記の目的は、請求項1の方法および請求項12のシステムによって達成される。
【0012】
請求項1には、オールオアナッシング暗号化に基づいてデータを暗号化する方法が規定される。
【0013】
請求項1によれば、本方法は、
a)入力モジュールが、暗号化すべきデータと、公開でもよい暗号化鍵とを提供するステップと、
b)暗号化モジュールが、前記データをそれぞれ同じサイズの奇数個のブロックに分割するステップと、
c)前記暗号化モジュールが、前記ブロックを前記暗号化鍵で暗号化することにより、暗号化ブロックを含む中間暗号文を得るステップであって、前記中間暗号文の対応するブロックとなる前の回に暗号化された平文ブロックと、現在の回の各平文ブロックと、を組み合わせたものを、前記暗号化鍵を用いて再帰的に暗号化し、すべての中間暗号文ブロックを直和するステップと、
d)前記中間暗号文を表すベクトルと行列の単一の乗算を用いて変換モジュールによって前記中間暗号文を線型変換することにより最終暗号文を得るステップであって、前記ベクトル行列乗算がXORおよびAND演算を用いて実行され、前記行列が可逆かつその逆行列と等しく、前記最終暗号文がブロックを含み、各ブロックが、ステップd)の前の前記中間暗号文内の同じ位置に対応する暗号化ブロック以外の、ステップd)の前の前記中間暗号文のすべての暗号化ブロックの和によって表されるステップと
を備え、
前記最終暗号文のブロックが、少なくとも2つの相異なるストレージサーバに分散され、各ストレージサーバが前記最終暗号文の少なくとも2個のブロックを保存し、
偶数番目の中間暗号文ブロックが、対応する平文ブロックランダムシードおよび当該偶数の暗号化の結果とのXOR演算に基づいて生成され、奇数番目の暗号文ブロックが、対応する平文ブロック前に生成された偶数番目の中間暗号文ブロックとのXOR演算の暗号化の結果である、
ことを特徴とする。
【0014】
オールオアナッシング暗号化に基づいてデータを暗号化するシステムであって、好ましくはコンピュータ、1個以上のプロセッサおよび/またはセキュリティモジュールの形態で、好ましくは請求項に記載の方法を実行するシステムが規定される。
【0015】
請求項5によれば、本システムは、
暗号化すべきデータと、公開でもよい暗号化鍵とを提供するように動作可能な入力モジュールと、
前記入力モジュールによって提供される前記データをそれぞれ同じサイズの奇数個のブロックに分割し、前記ブロックを前記暗号化鍵で暗号化することにより、暗号化ブロックを含む中間暗号文を得るように動作可能な暗号化モジュールであって、前記中間暗号文の対応するブロックとなる前の回に暗号化された平文ブロックと、現在の回の各平文ブロックと、を組み合わせたものを、前記暗号化鍵を用いて再帰的に暗号化し、すべての中間暗号文ブロックを直和する、暗号化モジュールと、
前記中間暗号文を表すベクトルと行列の単一の乗算を用いて前記中間暗号文を線型変換することにより最終暗号文を得るように動作可能な変換モジュールであって、前記ベクトル行列乗算がXORおよびAND演算を用いて実行され、前記行列が可逆かつその逆行列と等しく、前記最終暗号文がブロックを含み、各ブロックが、前記線型変換の前の前記中間暗号文内の同じ位置に対応する暗号化ブロック以外の、前記線型変換の前の前記中間暗号文のすべての暗号化ブロックの和によって表される、変換モジュールと
を備え、
前記最終暗号文のブロックが、少なくとも2つの相異なるストレージサーバに分散され、各ストレージサーバが前記最終暗号文の少なくとも2個のブロックを保存し、
偶数番目の中間暗号文ブロックが、対応する平文ブロックランダムシードおよび当該偶数の暗号化の結果とのXOR演算に基づいて生成され、奇数番目の暗号文ブロックが、対応する平文ブロック前に生成された偶数番目の中間暗号文ブロックとのXOR演算の暗号化の結果である、
ことを特徴とする。
【0016】
本発明によって認識されたこととして、必要なのは1回の暗号化および1回の排他的論理和演算のみであるため、効率が向上する。
【0017】
また、本発明によって認識されたこととして、効率的な線型変換により、効率的な意味論的セキュリティ方式、好ましくは対称暗号化方式が提供される。
【0018】
また、本発明によって認識されたこととして、提供される方法およびシステムは、暗号化鍵が敵に知られても平文の復元は不可能である。特に、暗号化鍵が公開されても、提供される方法およびシステムは依然として意味論的セキュリティを備える。
【0019】
すなわち、平文ビット列および暗号化鍵Kの入力後、平文はブロックp1,...,pに分割される。ただしNは奇数であり、各ブロックサイズはサイズIであり、Iは好ましくは、使用される特定のブロック暗号のブロックサイズである。次に、入力ブロックp,...,pのセットが暗号化鍵Kの下で暗号化されることにより、中間暗号文c′={S,c′,...,c′}が得られる。好ましくはSは乱数シードであり、c′と置かれる。中間暗号文に線型変換が適用されると、排他的論理和演算によって最終暗号文が得られる。好ましくは、加法および乗法は、それぞれXORおよびAND演算によって実現される。
【0020】
暗号化鍵Kが与えられると、中間暗号文c′は、線型変換の対応する逆演算を用いて最終暗号文cによって計算することができ、暗号化鍵Kで中間暗号文c′を復号することができる。
【0021】
以下、本発明による方法およびシステムがオールオアナッシング暗号化に基づくことを示す。中間暗号文がc′=c′,...,c′であり、Nが奇数であり、暗号文cがパラメータc′,...,c′によるオールオアナッシング暗号化である場合、最終暗号文cのどのN個のブロックが与えられても、敵は中間暗号文c′の1ブロックしか復元することができない。
【0022】
一般性を失うことなく、敵にはブロックc,...,c(N−1)が与えられると仮定してよい。Nは奇数なので、c′=c XOR c XOR ...c(N−1)を計算するのは容易である。
【0023】
残りの未知ブロックすなわちc′,...,c(N−1)′のセットは、[c...c]*Mとして計算することができる。ただしMは、対角成分の値を0、他の成分の値を1としたN×N行列である。行列MのランクはN−1である。というのは、例えば、最後列ははじめのN−1列のXORをとることで計算できるからである。行列のランクがフルでなく、提供される方法のステップa)−d)の出力が擬似ランダムであるので、敵がすべての未知のc′,...,c(N−1)′を復元することは計算量的に実行不可能である。
【0024】
なお、最終暗号文ブロックc,...,c(N−1)が与えられ、中間暗号文ブロックc′が復元されても、他の任意のブロックを復元することは計算量的に実行不可能であることをさらに示すことができる。
【0025】
敵がある中間暗号文ブロックc′を正しく計算することが可能であれば、その敵は他のすべての未知の中間暗号文ブロックc′,...,c(N−1)′を正しく計算することが可能である、と仮定することができる。しかし、これは上記の観察、すなわち、最終暗号文cのN個の要素が与えられた場合、中間暗号文c′内のすべての要素を復元するのは計算量的に実行不可能である、という観察と矛盾する。
【0026】
したがって、最終暗号文cのN個のブロックが与えられた場合、中間暗号文c′内の1個以外のすべてのブロックは不確定である、と結論することができる。
【0027】
以下、次のことが示される。すなわち、Fをブロック暗号とし、与えられたF()に対してi≠jとして平文のブロックがp=F(c,c)であるとき、本発明による方法およびシステムによれば、1個以外のすべての最終暗号文ブロックと、暗号化鍵Kとを有する敵は、いかなる平文ブロックをも取得することができない、ということが保証される。
【0028】
したがって、最終暗号文cの任意のN個のブロックが与えられた場合に、中間暗号文の1個のブロックc′のみを復元することができるという上記のことに基づくと、敵に暗号化鍵Kおよび中間暗号文の1個のブロックc′が与えられた場合に、以下の状況が起こり得ると仮定することができる。
・p=F(c,c′)であり、c′は敵には未知のサイズIの擬似ランダムビット列であるので、平文ブロックpを計算することは計算量的に実行不可能である。
・i<jのとき、pはc′とは(計算量的に)独立であるので、平文ブロックpを計算することは計算量的に実行不可能である。
・k<j+1のとき、pj+1=F(cj+1′,c′)であり、c′およびcj+1′は敵には未知のサイズIの擬似ランダムビット列であるので、平文ブロックpj+1を計算することは計算量的に実行不可能である。
・j>i+1のとき、p=F(c,c′)であり、c、c′は両方とも敵には未知のサイズIの2個の擬似ランダムビット列であるので、pを計算することは計算量的に実行不可能である。
【0029】
したがって、敵が秘密の暗号化鍵Kおよび最終暗号文c内の任意のN個のブロックにのみアクセス可能である場合、その敵は、平文pに関していかなる有意味な情報も取得できない。これは、平文の一方向セキュリティを保証する。さらに、暗号化鍵Kおよび最終暗号文の2個以外のすべてのブロックが与えられた場合に、平文の意味論的セキュリティを保証することが可能であることも示すことができる。
【0030】
さらなる特徴、利点および好ましい実施形態は、後続の従属請求項に記載される。
【0031】
好ましい実施形態によれば、前記暗号化鍵は公開である。これにより、例えば、暗号化鍵を鍵管理サーバあるいはシステムに提供することができ、本方法のフレキシビリティが向上するので、鍵管理の利用が可能となり、暗号化鍵の開示に対するセキュリティ制限が少なくなる。
【0032】
また、好ましい実施形態によれば、前記中間暗号文を線型変換することが、前記中間暗号文を表すベクトルとの単一の行列乗算を用いて実行される。これにより、中間暗号文の線型変換を容易に計算して最終暗号文を得ることが可能となる。さらなる利点として、線型変換を並列に実行することができる。
【0033】
また、好ましい実施形態によれば、前記行列が可逆かつその逆行列と等しく、好ましくは前記行列は、対角成分の値が0でそれ以外の値が1である対角行列の形態で与えられる。これにより、行列の各成分について1ビットのみの記憶領域を備えればよいので、中間暗号文を線型変換する際の効率がさらに向上し、行列のための記憶領域が節減される。
【0034】
また、好ましい実施形態によれば、前記ベクトル行列乗算がXORおよびAND演算を用いて実行される。これにより、ベクトル行列乗算の効率的な計算が可能となる。
【0035】
また、好ましい実施形態によれば、ステップd)の後、好ましくはベクトルの形態で表された前記最終暗号文がブロックを含み、各ブロックが、ステップd)の前の前記中間暗号文内の同じ位置に対応する暗号化ブロック以外の、ステップc)の前の前記中間暗号文のすべての暗号化ブロックの和によって表される。これにより、暗号ブロック連鎖モードでのブロック暗号化に基づくオールオアナッシング暗号化が提供される。
【0036】
また、好ましい実施形態によれば、ステップc)−d)が、
7a)前記中間暗号文の対応するブロックとなる前の回に暗号化された平文ブロックと、好ましくはXOR演算により、組み合わされた前記暗号化鍵を用いて、現在の回の各平文ブロックを再帰的に暗号化するステップと、
7b)ステップ7a)によるすべての中間暗号文ブロックを直和するステップと、
7c)ステップ7b)の結果と前記中間暗号文の対応するブロックとを直和することによって、前記最終暗号文のブロックを生成するステップと
によって実行される。
【0037】
これにより、ステップc)−d)を実行するための暗号ブロック連鎖暗号化モードが効率的に実現される。
【0038】
また、好ましい実施形態によれば、前記最終暗号文のブロックが、好ましくは少なくとも2つの相異なるストレージサービスを提供する少なくとも2つの相異なるストレージサーバに分散される。これにより、最終暗号文が、相異なるストレージサーバに分散されるので、セキュリティがさらに向上する。相異なるストレージサーバが、相異なるオペレーティングシステム上で動作する場合には、あるストレージサービスのセキュリティリークが他のストレージサーバの他のストレージサービスにアクセスするために使用可能でないため、セキュリティはさらに向上する。
【0039】
また、好ましい実施形態によれば、各ストレージサーバが前記最終暗号文の少なくとも2個のブロックを保存する。これにより、暗号化データに対する高レベルのセキュリティを損なわずに、最終暗号文のブロックを保存するために、限定された個数のサーバを効率的に使用することが可能となる。
【0040】
また、好ましい実施形態によれば、ランダムデータが前記中間暗号文内にブロックとして追加され、好ましくは前記中間暗号文の最初に追加される。これにより、中間暗号文の先頭ブロックとして、暗号化のランダムシードが容易に実現される。
【0041】
また、好ましい実施形態によれば、偶数個の中間暗号文ブロックが、対応する平文ブロックならびに前記ランダムシードおよび当該偶数の暗号化の結果とのXOR演算に基づいて生成され、奇数個の暗号文ブロックが、対応する平文ブロックの暗号化および前に生成された偶数個の中間暗号文ブロックとのXOR演算の結果である。これにより、中間暗号文ブロックの生成が並列化可能となり、さらに効率が向上する。
【0042】
また、好ましい実施形態によれば、ステップb)による暗号化を実行するため、意味論的に安全な暗号化および対称暗号化の方式が使用され、好ましくはカウンタモード暗号化、暗号ブロック連鎖モード暗号化、出力フィードバックモード暗号化および/または暗号フィードバックモード暗号化が使用される。これにより、最適な暗号化を選択することが可能となる。例えば、出力フィードバックモード暗号化を用いることにより、平文とビットごとにXORをとるためのビット列を事前に生成することが可能となる。また、ブロック連鎖モード暗号化は、平文ブロックが同一である場合に、相異なる暗号文ブロックを提供する。
【0043】
本発明を好ましい態様で実施するにはいくつもの可能性がある。このためには、一方で請求項1に従属する諸請求項を参照しつつ、他方で図面により例示された本発明の好ましい実施形態についての以下の説明を参照されたい。図面を用いて本発明の好ましい実施形態を説明する際には、本発明の教示による好ましい実施形態一般およびその変形例について説明する。
【図面の簡単な説明】
【0044】
図1】本発明の第1の実施形態によるデータのオールオアナッシング暗号化に基づく方法のステップを示す図である。
図2】本発明の第2の実施形態による方法の主なステップを示す図である。
【発明を実施するための形態】
【0045】
図1は、本発明の第1の実施形態によるデータのオールオアナッシング暗号化を示している。
【0046】
図1には、オールオアナッシング暗号化を保証する符号化手続きの具体例が示されている。
【0047】
図1において、符号化手続きは、CBCモードにおけるブロック暗号化に対応する。最初の中間暗号文ブロックとしてセットされた初期化ベクトルIVが入力されると、中間暗号の他のブロックは、i番目の平文ブロックpと、前の中間暗号ブロックci−1′との直和を暗号化鍵Kで暗号化した結果によって表される(図1の第4行参照)。そして(第6行参照)、すべての中間暗号ブロックc′,...,c′の直和を計算した後、最終暗号文ブロックcが、tと、対応する中間暗号ブロックとを直和することにより計算される(図1の第8行参照)。
【0048】
別の例として、中間暗号文c′=S,c,...,c(ただしSはランダムシード)を次のように構成してもよい。
・c′=p XOR Enc_k(S||i) i MOD 2 = 0 のとき
・c′=Enc_k(p XOR ci−1′) i MOD 2 = 1 のとき
【0049】
この場合は、カウンタモードと暗号ブロック連鎖暗号化モードとの両方の組合せとみなしてもよい。
【0050】
図2は、本発明の第2の実施形態による方法の主なステップを示している。
【0051】
図2には、別の実施形態による方法のステップが示されている。
【0052】
第1のステップで、平文pをN個の平文ブロックp,...,pに分割する。ただしNは奇数である。次に、平文ブロックp,...,pのそれぞれを例えばAESを用いて符号化することにより、中間暗号文ブロックc′,...,c′を得る。その後、すべての中間暗号文ブロックの直和を用いることにより、全中間暗号文tを計算する。次のステップで、各中間暗号文ブロックと全中間暗号文tを直和することにより、対応する最終暗号文ブロックc,...,cを得る。そして、得られた最終暗号文ブロックc,...,cを組み合わせて暗号文cとする。
【0053】
暗号化鍵kが秘密である場合、提供される暗号化方法は意味論的に安全である。暗号化鍵が公開であり、1個以外のすべての暗号文ブロックが既知である場合、本暗号化方法は一方向性である。暗号化鍵が与えられ、2個以外のすべての暗号文ブロックが既知である場合、本暗号化方法は意味論的に安全でもある。
【0054】
セキュリティをさらに向上させるには、相異なる得られた最終暗号文ブロックc,...,cを、相異なるストレージサービスを提供する分散ストレージの相異なるサーバに分散させてもよい。好ましくは、各サーバが複数の最終暗号文ブロックを保存する。
【0055】
要約すれば、本発明は、効率的な線型変換による効率的な意味論的セキュリティ方式を提供する。本発明は、従来のオールオアナッシング暗号化方法とは異なり、まず暗号化を行い、その後に線型変換を適用する。
【0056】
本発明は、高速なオールオアナッシング暗号化を提供し、1回の暗号化および1回のビットごとのXOR演算しか必要としない。本発明によれば、基礎となる暗号化が意味論的に安全であって、暗号化鍵が敵に知られても平文の復元が不可能なので、意味論的セキュリティが可能となる。特に、暗号化鍵が公開された場合でも、2個以外のすべての最終暗号文ブロックがアクセス可能であっても、本発明は依然として意味論的セキュリティを提供する。
【0057】
本発明の利点の1つとして、本発明によるオールオアナッシング暗号化は効率的であり、特に、従来のオールオアナッシング法のパフォーマンスを改善する。
【0058】
上記の説明および添付図面の記載に基づいて、当業者は本発明の多くの変形例および他の実施形態に想到し得るであろう。したがって、本発明は、開示した具体的実施形態に限定されるものではなく、変形例および他の実施形態も、添付の特許請求の範囲内に含まれるものと解すべきである。本明細書では特定の用語を用いているが、それらは総称的・説明的意味でのみ用いられており、限定を目的としたものではない。
図1
図2