JP2022543588A - 幾何代数およびヘンゼル符号を使用する暗号化および暗号化システムのための方法、ならびにシステム - Google Patents
幾何代数およびヘンゼル符号を使用する暗号化および暗号化システムのための方法、ならびにシステム Download PDFInfo
- Publication number
- JP2022543588A JP2022543588A JP2022506449A JP2022506449A JP2022543588A JP 2022543588 A JP2022543588 A JP 2022543588A JP 2022506449 A JP2022506449 A JP 2022506449A JP 2022506449 A JP2022506449 A JP 2022506449A JP 2022543588 A JP2022543588 A JP 2022543588A
- Authority
- JP
- Japan
- Prior art keywords
- data
- computing device
- operations
- homomorphic
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
幾何代数およびヘンゼル符号化(すなわち、有限p進算術)を使用してデータメッセージを暗号化/復号する方法及びシステムが開示される。(複数の)セキュリティ鍵、メッセージデータ、暗号文はすべて、幾何代数のマルチベクトルとして表され、個々のマルチベクトルの係数の和は、対応するメッセージまたはセキュリティ鍵の数値に等しい。メッセージおよびセキュリティ鍵のマルチベクトルによる様々な幾何代数演算は、メッセージデータを暗号化/復号するように機能する。暗号化された値に対する追加的な攪乱/拡散を提供するために、セキュリティ鍵およびメッセージのマルチベクトルの各係数は、さらにヘンゼル符号化される。結果として得られる暗号文が、復号されたときに、暗号化されていない値を使用する、対応する数学的演算に等しくなるように、幾何代数演算は、暗号文マルチベクトルの加算、減算、乗算、および除算に対する準同型演算を可能にする。マルチベクトルの係数の追加のヘンゼル符号化は、幾何代数の暗号化演算の準同型な側面を妨げない。セキュリティ鍵の更新と交換の操作についても提供される。
Description
[関連出願の相互参照]
本出願は、2019年8月1日に出願された「幾何積空間上の完全準同型暗号(Fully Homomorphic Encryption Over Geometric Product Spaces)」と題された米国仮特許出願第62/881,785号、2019年8月1日に出願された「クラウドコンピューティングアプリケーションのための外積空間上の完全準同型鍵更新および鍵交換(Fully Homomorphic Key Update and Key Exchange Over Exterior Product Spaces for Cloud Computing Applications)」と題された米国仮特許出願第62/881,793号、2019年8月7日に出願された「幾何代数上の完全準同型暗号に対する新しい手法(A New Approach Towards Fully Homomorphic Encryption Over Geometric Algebra)」と題された米国仮特許出願第62/883,988号、および2019年8月9日に出願された発明の名称が「幾何積空間上の準同型画像処理および有限P進算術(Homomorphic Image Processing Over Geometric Product Spaces and Finite P-Adic Arithmetic)」と題された米国仮特許出願第62/885,056号に基づくとともに、これらの利益を主張するものであり、これら仮出願の全ても、当該仮出願が開示および教示する全て参照することによって、具体的に、本明細書に組み入れられる。
本出願は、2019年8月1日に出願された「幾何積空間上の完全準同型暗号(Fully Homomorphic Encryption Over Geometric Product Spaces)」と題された米国仮特許出願第62/881,785号、2019年8月1日に出願された「クラウドコンピューティングアプリケーションのための外積空間上の完全準同型鍵更新および鍵交換(Fully Homomorphic Key Update and Key Exchange Over Exterior Product Spaces for Cloud Computing Applications)」と題された米国仮特許出願第62/881,793号、2019年8月7日に出願された「幾何代数上の完全準同型暗号に対する新しい手法(A New Approach Towards Fully Homomorphic Encryption Over Geometric Algebra)」と題された米国仮特許出願第62/883,988号、および2019年8月9日に出願された発明の名称が「幾何積空間上の準同型画像処理および有限P進算術(Homomorphic Image Processing Over Geometric Product Spaces and Finite P-Adic Arithmetic)」と題された米国仮特許出願第62/885,056号に基づくとともに、これらの利益を主張するものであり、これら仮出願の全ても、当該仮出願が開示および教示する全て参照することによって、具体的に、本明細書に組み入れられる。
過去数十年間において、個人向け計算機(personal computers)ならびに携帯型装置(hand-held devices)およびスマートフォン等の他の消費者向け計算装置(consumer computing devices)は、一般大衆に広く普及した。個人向け計算機および他の計算装置が急増するにつれ、計算機および他の計算装置の有用性は、様々な電子ネットワーク通信システムを介した異なる計算機/計算装置間での相互接続通信によって高度化した。公共でアクセス可能なインターネットの出現、およびインターネット上の計算機および/または他の計算装置間の共通の通信のためのワールドワイドウェブ(WWW)の確立により、公共でアクセス可能なインターネットを通じて個人識別情報および金融情報が転送されることが一般的となった。個人情報に関与することを意図していない者によって個人情報がアクセスされないことを確実にするために、インターネットを通じて転送される個人データに対しては、様々な暗号化技術が適用されてきた。公共からアクセス可能なインターネットを含むネットワーク技術を通じてデータストレージがアクセス可能となるにつれ、暗号化された形式で機密データを格納することが賢明となっている。
近代の暗号化においては、正整数もしくは二進ビットを操作する数学的手法が採用されている。RSA(Rivest-Shamir-Adleman)等の非対称暗号化は、予想通りに因数分解することが難しいとともに、暗号化鍵のサイズを大きくすることによってさらに難しくなり得る、整数論一方向関数を必要とする。DES(データ暗号化規格)およびAES(高度暗号化規格)等の対称暗号化は、レジスタ内でのビット操作を使用して、暗号文をシャッフルして「拡散」を高めるとともに、共通鍵を使用するレジスタベースの計算を行って「撹乱」を高める。拡散および撹乱は、伝送されているデータのペイロードに対する統計的エントロピーの増大に対する措置である。暗号化における拡散および撹乱の概念は、1940年代にクロード・シャノンによって最初に具体化されたものと通常知られている。拡散は、未暗号化(平文)データを暗号化(暗号文)データから生成する数学的処理を複雑化して、これによって暗号化(暗号文)データのいくつかのデータ片に対する未暗号化(平文)データの各データ片の影響を分散させることによって暗号化処理の暗号化鍵の発見を難しくするものと一般的には考えられている。このため、拡散の度合いの高い暗号化システムは、通常、未暗号化(平文)データの1つの文字を変化させるために暗号化(暗号文)データのいくつかの文字を変化させ、攻撃者が未暗号化(平文)データの変化を認識することを難しくしている。撹乱は、未暗号化(平文)データと暗号化(暗号文)データとの間の関係を不明確にするものと一般的には考えられている。このため、撹乱の度合いの高い暗号化システムは、攻撃者が暗号化方法(RSA、DES、および/またはAES等の公的な規格)の計算を認識したとしても暗号化鍵を推測することが依然として難しいような方法で未暗号化(平文)データを暗号化(暗号文)データへ大幅に変更する処理を必然的に伴う。
準同型暗号は、復号されたときに、暗号化されていない平文に対して実行された演算結果と一致する暗号化結果を生成する暗号文を、復号することなく暗号化されたままで、計算が暗号文に対して実行されることを可能にする暗号化の方式である。
より具体的には、抽象代数の場合、準同型暗号という用語は、群、環、またはベクトル空間などの、2つの代数的構造の間の構造保存写像であり得る。同型写像、自己同型写像、および自己準同型暗号は、通常、特殊なタイプの準同型暗号と見做される。準同型暗号の他のより具体的な定義の中で、代数の準同型暗号は、2つの集合の間で代数構造を保存する準同型暗号と見做され得る。
図面において、以下の点が説明されている。
準同型暗号は、復号されたときに、暗号化されていない平文に対して実行された演算結果と一致する暗号化結果を生成する暗号文を、復号することなく暗号化されたままで、計算が暗号文に対して実行されることを可能にする暗号化の方式である。
準同型暗号の本質的目的は、計算を実行するためにデータを復号することなく暗号化されたデータに対する計算を可能にすることである。このようにして、暗号化されたデータは、その暗号化されたデータが所望の計算のために処理されながら秘密のままにかつ安全なままにしておくことが可能である。したがって、有益なタスクが、信頼できない環境にある暗号化された(すなわち、秘密のかつ安全な)データに対して実行され得る。分散型計算および異種混合ネットワーキングの世界では、暗号化されたデータに対して、計算を実行する能力は、高く望まれる能力であり得る。したがって、暗号化されたデータに対する計算のための一般的な方法を見つけることが、おそらく、暗号技術に対して高く望まれる目的である。
準同型暗号の最も需要の高い適用は、クラウドコンピューティングに対してであり得る。クラウドに格納されるデータは、一般的に暗号化されておらず、クラウドに格納される暗号化されていないデータの侵害は、クラウドセキュリティアライアンスによってデータセキュリティに対する一番の脅威と見做される。クラウドに格納されるデータを暗号化することは、データが侵害によって危険にさらされる脅威を軽減し得るが、その場合、遠隔の顧客(データの所有者)は、データをクラウドに残したまま、その際に、クラウドに格納されるデータに対する演算(すなわち、加算、乗算、など)を実行することができない。クラウドに格納される暗号化されたデータに対して演算を実行するために、クラウドに格納される暗号化されたデータをダウンロードし、当該データを復号し、上述のデータに対してすべての所望の演算を局部的に行い、結果得られたデータを暗号化し、結果得られたデータをクラウドに送信し返すことが必要である。あるいは、ユーザが、クラウドサービスプロバイダに計算を実行することを要求すると、クラウドは、ユーザの暗号化鍵へのアクセスを要求することになる。セキュリティ鍵へのアクセスを有する法人が多いほど、セキュリティ鍵の侵害されやすさ、または悪徳プロバイダによるセキュリティ鍵の盗まれやすささえ、本質的に高めるので、ユーザのセキュリティ鍵へのクラウドのアクセスを提供することは、ますます望ましくなくなっている。準同型暗号は、クラウドが、復号なしに、また顧客のセキュリティ鍵へのアクセスなしに、顧客のデータに対して演算し得る。
一実施形態は、有利に幾何代数を利用して、中間計算システム(たとえば、現在、一般的に「クラウド」もしくは「クラウドコンピューティング」と称される、広域ベースの計算システム)を通じて伝送されるべき、あるいは、中間計算システムによって演算が実行されるべき、数値メッセージの暗号化および復号を提供し得る。様々な実施形態は、幾何代数の暗号化処理および復号処理を行うために生成されるマルチベクトルの各係数のヘンゼル符号化による安全暗号化、攪乱、および拡散をさらに提供する。暗号化および復号を提供するための幾何代数の使用は、一実施形態の準同型演算に数学的基礎を与える。追加的に行われる係数のヘンゼル符号化は、幾何代数の暗号化処理および復号処理の本来の準同型的な面に影響を与えない。
幾何代数は、物質界における物体の物理的な相互作用を数学的に表すことを意図して場面において、ベクトルおよび他のオブジェクトの幾何的相互作用を説明する、数学の一分野である。本明細書において使用されるように、この数学の分野は、幾何代数、共形幾何代数、およびクリフォード代数(本明細書において、これらをまとめて「幾何代数」という)を含む。概して、幾何代数は、幾何積、逆元、および単位元などの演算を規定し、本明細書に開示される様々な実施形態の多くの特徴を促進する。さらに、幾何代数は、データをマルチベクトルの「ペイロード」に編成および表現することを可能とし、ペイロード内のデータは、たとえば平文、暗号文、もしくは識別署名を表し得る。結果として、様々な実施形態は、比較的計算が単純な方法で、暗号化、復号、および中間の準同型演算を提供するように、幾何代数の特性を有効に利用するとともに、動的なデータおよび静的なデータ(たとえば、クラウドに格納されるデータ)の両方についての堅牢なセキュリティを提供する。様々な実施形態は、様々なマルチベクトルの係数のヘンゼル符号化を組み込むことによって、暗号化のセキュリティを強化し、これは、様々な実施形態の準同型的な特性に影響を与えることなく、行われ得る。
中間計算システムが、算術演算を行うより前に、暗号化されたメッセージを復号化する必要がなく、中間計算システムによって扱われる、暗号化されたメッセージに対する算術演算を可能にするために、幾何代数を使用するメッセージを暗号化および復号する一実施形態は、幾何代数の固有の代数的な準同型的性質を使用し得る。したがって、中間計算システムは、算術演算を適切に行うために、何れの暗号化/復号処理の秘密鍵に関しても、何れの情報も知る必要はない。中間計算システムによって行われる算術演算の暗号化された結果は、送信先計算装置で復号されるとき、演算が未暗号化平文メッセージに対して行われたのと同じ演算と等価な結果をもたらす。様々な実施形態は、様々な実施形態によって使用される幾何代数の固有の代数的な準同型的性質のために、暗号文(すなわち、中間の/クラウド計算機システムにおいて、送信された/格納された暗号化されたメッセージ)の非限定的な乗算および加算を可能にする暗号システムを提供する。したがって、一実施形態は、準同型的性質を達成するために「ブートストラッピング」(たとえば、暗号文に関連したノイズを低減するために再帰的な演算を行うこと)などの追加的な方法を使用する必要もなく、代数的準同型の積として、準同型的性質を提供し得る。
暗号化されたデータの値は、具体的な算術演算がユーザによって要求される時まで、中間計算システムに格納されてもよく、中間計算システムは、中間計算システムに格納される暗号文データを使用する所望の算術演算を行い得る。同様に、暗号化されたデータの値は、対象となる暗号化データ値が中間計算システムによって受信されるとすぐに、中間計算システムによって直接的に演算され得る。しかし、当業者が認識し得るように、中間計算システムで暗号化データ値を受信する処理は、直ちに使用および消去される、中間計算システムの計算サブシステムのランダムアクセスメモリ(RAM)の位置または演算レジスタの位置において、瞬時であっても、暗号化データ値を中間計算システムに格納することを本質的に含む。
様々な実施形態は、機能ブロックから構成されてもよく、各ブロックは、以下でより詳細に説明するように、範囲、性能、および安全性の目的に応じて、適合され得る。以下のセクションでは、これらの機能ブロックについて、数学的かつ数値的な説明を提供する。
様々な実施形態の中心的特徴は、過去に暗号化において利用されてなかった数学の一分野である、幾何代数を使用していることにある。本明細書中において使用される幾何代数は、幾何代数、共形幾何代数、およびクリフォード代数(本明細書中において、まとめて「幾何代数」という)を含む数学の一分野である。幾何代数は、データをマルチベクトルの「ペイロード」に組織化および表すことを可能にし、データは、たとえば、平文、暗号文、または署名であり得る。幾何代数は、様々な実施形態の暗号化/復号演算を可能にする要素である、幾何積、逆元、および単位元などの演算を規定する。
マルチベクトルは、スカラ、ベクトル、2次元ベクトル、その他n次元ベクトルを単に加法により組み合わせたものである。しかし、単位ベクトルは、四元の代数構造(ハミルトン)および非可換代数(グラスマン)に従う。これら二種類の代数により、クリフォードが、実施形態の「原始関数」のうちの1つとして、様々な実施形態において使用される幾何積を着想することを可能にした。
幾何代数の分野のより深い理解が望まれるのであれば、さらなる探求に利用できる様々な本や講座がある。
様々な実施形態に対して、「ペイロード」は、マルチベクトル要素のスカラおよび係数の値にパッキングされ得る。このパッキングの方法は、実施形態を許容する幾何代数の演算を、多くのことの中で定義し得る。たとえば、すべてのマルチベクトル係数が等しい場合、マルチベクトルに対して有理化演算を行うことによってゼロが得られる。このようなすべて等しい係数を有するマルチベクトルは、逆元を有しておらず、他のマルチベクトルとすべて等しい係数を有するこのようなマルチベクトルの幾何積は、逆元を有していない。様々な実施形態の別の態様は、復号を行うために(複数の)セキュリティ鍵のマルチベクトルの逆元を使用する復号化の方法論を含む。したがって、逆元の演算を行うときに問題を回避するために、様々な実施形態で使用される様々なマルチベクトルは、全てが等しい値である係数を持つべきではない。
暗号化されたデータメッセージのための準同型的特徴を保持するように意図される実施形態について、元の平文数値メッセージを表す「パッキング」されたマルチベクトルは、元の平文数値メッセージとの数学的関係(すなわち、準同型を保存する数学的関係)を有するという付加的な制限がある。抽象的な代数においては、「準同型暗号」との語は、群、環、またはベクトル空間などの2つの代数構造の間の構造を保存する写像のことを指す。2つの代数の間の代数準同型暗号は、代数構造を保存するものである。算術的代数演算と幾何的代数演算との間の代数構造を保存するために、それによって数がマルチベクトル要素の中に「パッキング」される方法は、元の数の表現のままでなければならない。準同型的性質を保存するような、マルチベクトルの係数をパッキングするための1つの関係は、平文数値メッセージのマルチベクトル表現の係数が、平文数値メッセージの値と、平文数値メッセージのマルチベクトル表現の係数の値のうちの少なくとも1つの値との間の数学的なデータ構成に従うことを保証することであり、この場合に、マルチベクトルの係数の1つまたは複数の値を組み込む数学的な演算は、元の平文数値メッセージの値に等しい結果を持つ。数学的な関係は、マルチベクトルの係数のうちの少なくとも1つの係数の加算と、マルチベクトルの係数のうちの少なくとも1つの係数の減算と、定数値の加算と、定数値の減算と、マルチベクトルの係数のうちの少なくとも1つの係数への定数値の乗算と、およびマルチベクトルの係数のうちの少なくとも1つの係数への定数値の除算とを含み得る。マルチベクトル表現の係数の具体的な位置付けに関連する様々な数学的演算の位置付けは、具体的な暗号化/復号経路において、マルチベクトルに変換されるすべてのソース数値データメッセージ、および特定の結果数値データ値に変換された結果マルチベクトルにも一貫して適用されるべきである。本明細書において開示される様々な実施形態に対して、選択される数学的な関係は、マルチベクトルによって表現される数値データの値に等しいマルチベクトルの係数の和を単純に有するものである。
[暗号化データ転送の実施形態についてのハードウエアの実装(図1)]
図1は、暗号化データ転送の一実施形態についてのハードウエアの実装のブロック図100である。図1に示される実施形態は、幾何代数の使用によって許容される準同型的特徴を組み込んでいないが、暗号化システムの最も基本的な態様である、メッセージを暗号化し、転送し、および復号する能力を示していない。幾何代数暗号化および復号の準同型的性質を組み込む実施形態の記載については、図3に関する以下の記載を参照せよ。暗号化処理および復号処理の演算は、準同型計算が行われるときには変わらず、したがって、この最も基本的な暗号化および復号の実施形態は、準同型計算を実際に支援する様々な実施形態の特徴を本質的に組み込む。
図1は、暗号化データ転送の一実施形態についてのハードウエアの実装のブロック図100である。図1に示される実施形態は、幾何代数の使用によって許容される準同型的特徴を組み込んでいないが、暗号化システムの最も基本的な態様である、メッセージを暗号化し、転送し、および復号する能力を示していない。幾何代数暗号化および復号の準同型的性質を組み込む実施形態の記載については、図3に関する以下の記載を参照せよ。暗号化処理および復号処理の演算は、準同型計算が行われるときには変わらず、したがって、この最も基本的な暗号化および復号の実施形態は、準同型計算を実際に支援する様々な実施形態の特徴を本質的に組み込む。
図1に示されるブロック図100に戻って、第1の計算装置102は、電子ネットワーク/バス接続108を介して、第2の計算装置104および第3の計算装置106に接続される。図1に示される実施形態において、第1の計算装置102は、ネットワーク/バス接続108を介して、暗号化データ110を送信する送信元計算装置102の役割を果たす。第2の計算装置104は、ネットワーク/バス接続108から暗号化データ110を受信する送信先計算装置106の役割を果たす。第3の計算装置106は、暗号化処理および復号処理に必要な秘密および公開鍵情報112を作成し、その他の計算装置102および104に供給する秘密鍵計算装置106である。一般的に、暗号化された通信を含む通信は、第1の計算装置102、第2の計算装置104、および第3の計算装置106が、計算装置102、104、および106の間において往来するデータの転送に適応するために、必要に応じて送信元計算装置102、送信先計算装置104、および秘密鍵計算装置106としての役割を変更し得るように双方向のものである。さらに、計算装置102、104、および106は、図1では別々の装置として示されているが、送信元計算装置102または送信先計算装置104が、秘密および公開鍵情報112を準備および伝播するように、秘密鍵計算装置の役割も果たす可能性が高いことはもちろん、多くの場合、1つの装置の要素の間のデータの転送を暗号化することが望ましいので、送信元計算装置102、送信先計算装置104、および/または秘密鍵計算装置106の機能は、ただ1つの計算装置上で、または2つの計算装置の間で共有され得る。
さらに、図1に示されるように、第1の計算装置102は、ラップトップ型計算機(laptop computer)として示され、第2のおよび第3の計算装置104および106は、タブレット装置として示される。概して、任意の形態の電子ネットワークまたはバス通信プラットフォームを介して通信可能にする何れの計算装置も、第1の計算装置102、第2の計算装置104、および/または第3の計算装置106のうちの1つ、2つ、またはすべての装置であり得る。さらに、第1の、第2の、および第3の計算装置102、104、および106は、実際には、内部のバス接続部104を介して、自身と通信を行う同一の物理的な計算装置であり得るが、暗号化されていないフォーマットにおける機密のデータ通信を得るために、攻撃者が内部の通信バス104を監視し得ないことを保証するために、暗号化された通信が、さらに望まれる。また、秘密の暗号化情報を把握している装置の数を制限するために、送信元および/または送信先計算装置102および/または104が秘密鍵計算装置106の処理を行うことは、全く一般的なことであり得る。
様々な実施形態は、第1の計算装置102、第2の計算装置104、および、または第3の計算装置106の間で電子データを転送可能な任意の通信チャネル108を使用して、ネットワーク/バス通信チャネル108を実装し得る。たとえば、ネットワーク/バス通信接続部108は、第1の計算装置102、第2の計算装置104、および/または第3の計算装置106の間から送信中に、1つまたは複数の異なる通信チャネルを経由するインターネット接続部であり得る。同様に、ネットワーク/バス通信接続部108は、計算装置の内部の通信バスであり得るか、または、メモリチップまたは中央計算処理装置(CPU)チップなどの処理用またはメモリ格納用の集積回路(IC)チップの内部バスであり得る。ネットワーク/バス通信チャネル108は、有線通信、電磁気的な無線通信、光ファイバケーブル通信、光/レーザ通信、超音波/音波通信など、およびそれらの様々な通信チャネルの任意の組み合わせを含むが、これらに限定されない、電子データ通信を送信可能な任意の媒体を使用し得る。
様々な実施形態は、第1の計算装置102、第2の計算装置104、および/または第3の計算装置106上で動作するアプリケーションを介して、ここで詳細に述べられる制御および管理関数を提供し得る。第1の計算装置102、第2の計算装置104、および/または第3の計算装置106は各々、計算機もしくは計算機システム、または実施形態の通信および計算を行うことが可能な任意の他の電子装置であり得る。第1の計算装置102、第2の計算装置104、および/または第3の計算装置106には、汎用計算機、ラップトップ/携帯型計算機、タブレット装置、スマートフォン、産業制御計算機、データストレージシステム制御部、CPU、グラフィカル処理ユニット(GPU)、特定用途向け集積回路(ASI)、および/またはフィールドプログラマブルゲートアレイ(FPGA)を含み得るが、これらには限定されない。とりわけ、第1の計算装置102、第2の計算装置104、および/または第3の計算装置106は、攻撃者が未暗号化データにこれまでアクセスできた能力を制限するようにデータストレージ媒体へと/から送達されるデータが、常に暗号化されるようなデータストレージ媒体のストレージ制御部(たとえば、ハードディスクドライブ用の制御部)であり得る。実施形態は、様々な実施形態に基づく単一もしくは複数の処理を行うために計算機(もしくは他の電子装置)または計算機システムをプログラミング/操作するために使用され得る命令を格納した計算機によって読み取り可能もしくは機械によって読み取り可能媒体を含み得る計算機プログラム製品として提供され得る。計算機によって読み取り可能媒体は、ハードディスクドライブ、フロッピーディスク、光ディスク、コンパクトディスク読取可能メモリ(CD-ROM)、デジタル多用途ディスクROM(DVD-ROM)、ユニバーサルシリアルバス(USB)メモリスティック、光磁気ディスク、ROM、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルROM(EPROM)、電気的消去可能なプログラマブルROM(EEPROM)、磁気光カード、フラッシュメモリ、または電子命令を格納するのに適した他の種類の媒体/機械読み取り可能な媒体を含み得るが、これらには限定されない。計算機プログラム命令は、単一の計算機/電子装置に存在して動作し得るか、または様々な部分が、コンピュータシステムを構成する複数のコンピュータ/装置に分散され得る。また、実施形態は、計算機プログラム製品としてダウンロードされ得て、プログラムは、通信リンク(たとえば、有線/ケーブル接続および無線接続の両方を含む、モデムもしくはネットワーク接続)を介して搬送波もしくは他の伝搬媒体で具現化されるデータ信号によって、遠隔計算機から、要求元計算機へ転送され得る。
当業者は、様々な実施形態の幾何代数およびヘンゼル符号化の概念の使用を維持しながら、様々な実施形態の幾何代数およびヘンゼル符号化の特徴に数学的な違いを加えるための手法が、ほとんど際限なくあることを理解するであろう。したがって、本明細書においてあらゆる可能な変形例を議論する意図はないが、代わりに、本明細書は、様々な実施形態の基本的な要素を開示し、違いを加えることは、暗号化システムの設計者/実装者に任せる。
さらに、図2A~Cに関して上述されるフローチャートおよびフローチャートの詳細は、方法や処理として、具現化され得る方法を説明しているが、別の実施形態は、計算機システムとして、および/または送信元計算装置、送信先計算装置、および/または、図2A~Cのフローチャートおよびフローチャートの詳細に関して上述される処理を実行することによって、データを暗号化し、データを転送し、データを復号する秘密鍵計算装置として、理解され得る。さらに、データを暗号化し、データを転送し、データを復号する、計算装置、および/または送信元計算装置、送信先計算装置、および/または秘密鍵計算装置を説明するに際し、その方法論について上述される1つまたは複数の個々の処理は、分解されて、全体の暗号化計算機システムのサブシステムとして表現され得る。データを暗号化し、データを転送し、データを復号する、計算機システム、および/または送信元計算機システムおよび送信先計算機システムのサブシステムは、全体的または部分的に、特定用途向け集積回路(dedicated Application Specific Integrated Circuit:ASIC)または現場でプログラム可能なゲートアレイ(Field Programmable Gate Array:FPGA)などの特定のハードウエアに実装されるシステムに割り当てられ得る。代替的に、1つまたは複数のサブシステムは、全体的にまたは部分的に、ソフトウエアまたはファームウエアの命令として実装される1つまたは複数のサブシステムに特に関連して、計算機システムの動作を規定するソフトウエアまたはファームウエアの命令として実装され得る。ソフトウエアまたはファームウエアの命令によって、中央計算処理装置、メモリ、および/または計算機システムの他のシステムは、具体的な1つまたは複数の指定された機能に応じて、具体的に動作し得る。
準同型演算は、上述の図1および図2A~Cに関して開示される暗号化されたデータの転送の基本的な実施形態への拡張である。大部分に対して、準同型演算を支援するための拡張は、暗号化データ転送の基本的な実施形態の暗号化/復号関数の一部である幾何代数の基礎の内在する代数的準同型暗号に依存する。たとえば、実際の暗号化演算および復号演算を行う幾何代数の幾何積演算は、暗号化されたデータの単純な転送と準同型暗号の実施形態との両方に対して同じままである。実施形態についての潜在的な準同型演算は、暗号化された加算/減算、スカラの加算/減算、暗号化された乗算、およびスカラの乗算など、複数の演算を含み得るが、これらに限定されない。
様々な実施形態の準同型的特徴の以下の説明は、加法的な準同型演算の演算対象である数値がそこで生じる実在物(たとえば、計算装置/システム)に対して「送信元」との語を一般的に使用し、加法的な準同型演算の結果を受信する実在物(たとえば、計算装置/システム)に対して「送信先」との語を一般的に使用する。「中間の」との語は、送信元と送信先との間で、送信元の実在物で生じた暗号化された数値の演算対象に作用する「中間にある」実在物を一般的に定義する。あるいは、「顧客」という用語は、演算対象および/または結果のデータの所有者(すなわち、送信元および/送信先計算装置/システム)を説明するのに使用され得る一方、「クラウド」という一般的な用語は、信用できない環境(すなわち、中間計算システム/装置)に保管されるデータに対して使用され得る。いくつかの点で、「顧客」および「クラウド」という用語は、送信元および送信先が同じ実在体であって、格納するためにデータを「中間の」クラウドに送信し、顧客によって必要とされるときに、クラウドから演算(たとえば、クラウド上に暗号化された形式で格納される取引ドルの量の総和)を要求するような実世界への応用をより密接に反映し得る。究極的には、「送信元」、「送信先」、および「中間の」との語は、計算システム/装置によって行われる相対的な演算を反映し、概して計算システム/装置を必ずしも定義しない。したがって、送信元の演算/システム、送信先の演算/システム、および中間の演算/システムは、1つまたは複数の計算システム/装置において、具体的なアプリケーションとして存在し得る。送信元システム/装置、送信先システム/装置、および中間計算システム/装置は、同時に複数のアプリケーションを動作させることが可能な汎用計算システムであり得るので、送信元の演算、送信先の演算、および中間の演算は、1つのコンピューティン装置/システム上で動作する別々のアプリケーション/機能のうちの1つ、2つ、またはその全てを可能にし得る別々のアプリケーション/機能として包含される。また、1人の所有者/顧客の1つの相互接続された計算機システムは、所有者/顧客のデジタルの安全な境界の外側の所有者/顧客自身の端点装置に保管されている(すなわち、格納されている)データを含む、信頼できない環境を有し得る。
暗号化されたデータ上に準同型演算を実行する様々な実施形態について、幾何代数を利用してメッセージを暗号化および復号する方法およびシステムは、中間計算システムが算術演算および他の比較演算を実行する前に、暗号化されたメッセージを復号する必要なく、中間計算システムによって扱われる暗号化されたメッセージに対して、算術を許容にするために、内在する幾何代数の代数的な準同型の特徴を使用し得る。したがって、中間計算システムは、算術演算および他の比較演算を適切に実行するために、暗号化/復号処理の任意の秘密セキュリティ鍵に関する何れの情報も知る必要がない。中間計算システムによって実行される算術演算および他の比較演算の暗号化された結果は、送信先計算装置において復号されたときに、演算が未暗号化平文メッセージに対して実行された場合と同じ演算と等価な結果をもたらす。中間の算術演算に対して準同型の効果を適切に達成するために、そのような準同型の性質(すなわち、暗号化処理において使用されたベクトルと、暗号化された元の平文メッセージとの間の数学的関係)を保存する適切なデータ構成の方法(すなわち、係数をマルチベクトルの中へパッキングすること/分配すること)は、平文メッセージを表すベクトルに対する係数の選択に強制されるべきである。様々な実施形態における準同型暗号は、図1および2A~Cに関する暗号化および復号の原理の幾何代数の演算の可換性に基づいて構築される。したがって、分配/パッキングデータの配置は、暗号化された元の数値との可換性の数学的関係も保存するべきである。算術と幾何代数の演算との間の代数的構造を保存するために、数がマルチベクトルに「パッキング」される方法は、元の数の表現のままでなければならない。準同型の性質を保存する、マルチベクトルの係数をパッキングするためのそのような1つの関係は、平文数値メッセージのマルチベクトル表現の係数が、平文数値メッセージの値と、平文数値メッセージのマルチベクトル表現の係数の値のうちの少なくとも1つとの間の数学的なデータ編成に従うということを保証することであり、この場合においては、マルチベクトルの係数の1つまたは複数の値を組み込む数学的演算は、元の平文数値メッセージの値(すなわち、準同型を保存する数学的関係)に等しい結果を有する。数学的関係は、マルチベクトルの係数のうちの少なくとも1つの係数の加算と、マルチベクトルの係数のうちの少なくとも1つの係数の減算と、定数の加算と、定数の減算と、マルチベクトルの係数のうちの少なくとも1つの係数に定数を掛ける乗算と、マルチベクトルの係数のうちの少なくとも1つの係数を定数で割る除算とを含む。マルチベクトル表現の係数の具体的な位置付けに関連する様々な数学的演算の位置付けは、具体的な暗号化/復号化経路において、マルチベクトルに変換されるすべてのソース数値データメッセージ、および特定の結果数値データ値に変換された結果マルチベクトルにも一貫して適用されるべきである。平文数値メッセージのベクトル表現の係数が準同型を保存する数学的関係の上述の定義を満たすことを保証することは、暗号化/復号処理の幾何代数の演算の準同型の性質を保存する適切な可換データ構成(すなわち、パッキングする/分配する)の方法を提供する。
[準同型の実施形態についてのハードウエアの実装(図3)]
図3は、準同型暗号化の実施形態についてのハードウエアの実装のブロック図300である。送信元計算装置302は、電子ネットワーク/バス接続308によって、中間の(たとえば、クラウド)計算システム306に接続される。同様に、送信先計算装置304も、電子ネットワーク/バス接続308によって、中間計算システム306に接続される。図3に示される実施形態において、送信元計算装置302は、暗号文マルチベクトル310を送信先計算装置304へと直接送信するより、むしろ暗号文マルチベクトル310を中間計算システム306に送信する。中間計算システム306は、加算および乗算などの準同型演算を実行するために、中間計算システム306において使用され得る、中間計算システムにおいて、他の暗号化されたデータが存在するように、中間計算システム306に格納される他の暗号文マルチベクトルも有してもよく、このことは、減算および乗算がそれぞれ、加算演算および乗算演算の特別な場合であるので、準同型減算および除算を実行する可能性を意味する。中間計算システム306は、暗号化された暗号文310に対する秘密鍵か、または他の秘密データを把握していないが、暗号化された準同型計算結果マルチベクトル312が送信先計算装置304によって数値に復号および復号化されるときに、正確/等価な数学的結果を達成するために、暗号化されたデータに対して、準同型の数学的演算をなお実行し得る。
図3は、準同型暗号化の実施形態についてのハードウエアの実装のブロック図300である。送信元計算装置302は、電子ネットワーク/バス接続308によって、中間の(たとえば、クラウド)計算システム306に接続される。同様に、送信先計算装置304も、電子ネットワーク/バス接続308によって、中間計算システム306に接続される。図3に示される実施形態において、送信元計算装置302は、暗号文マルチベクトル310を送信先計算装置304へと直接送信するより、むしろ暗号文マルチベクトル310を中間計算システム306に送信する。中間計算システム306は、加算および乗算などの準同型演算を実行するために、中間計算システム306において使用され得る、中間計算システムにおいて、他の暗号化されたデータが存在するように、中間計算システム306に格納される他の暗号文マルチベクトルも有してもよく、このことは、減算および乗算がそれぞれ、加算演算および乗算演算の特別な場合であるので、準同型減算および除算を実行する可能性を意味する。中間計算システム306は、暗号化された暗号文310に対する秘密鍵か、または他の秘密データを把握していないが、暗号化された準同型計算結果マルチベクトル312が送信先計算装置304によって数値に復号および復号化されるときに、正確/等価な数学的結果を達成するために、暗号化されたデータに対して、準同型の数学的演算をなお実行し得る。
中間計算システム306は、暗号文マルチベクトル310が中間計算システム306によって受信されるとすぐに、暗号文マルチベクトル310を使用して、準同型の数学的演算を直ちに実行し得るか、または中間計算システム306は、中間計算システム306が準同型数学的演算を実行するように指示される時まで、暗号文マルチベクトル310を格納し得る。一度、準同型数学的演算が中間計算システム306によって完了されると、中間計算システム306は、ネットワーク/バス通信接続部308によって、暗号化された準同型計算結果マルチベクトル312を送信先計算システム304に送信する。送信先計算システム304は、ネットワーク/バス通信接続部308から暗号化された準同型計算結果マルチベクトル312を受信し、所望の平文の計算結果を得るために暗号化された準同型計算結果マルチベクトル312を復号する。
一般的に、通信は、暗号化通信を含み、中間計算システム306での準同型数学的演算の計算に対してと同様に、送信元計算装置302と送信先計算装置304との間において往来するデータの転送に適用する必要に応じて、送信元計算装置302、中間計算システム306、および/または送信先計算装置304として動作するように、送信元計算装置302、中間計算システム306、および/または送信先計算装置304が役割を変えることができるように双方向である。図3の準同型暗号化の実施形態については、図1および2A~Cに関する暗号化されたデータの単純な転送の実施形態と比べて、送信元計算装置302からの暗号文は、送信先計算装置304より、むしろ中間計算システム306に送信され、中間計算システム306は、暗号文マルチベクトル310より、むしろ暗号化された準同型計算結果312を、送信先計算装置304に送信する。
さらに、図3に示されるように、送信元計算装置302は、ラップトップ型計算機として示され、送信先計算装置304は、タブレット装置として示される。概して、任意の形態の電子ネットワークまたはバス通信プラットフォーム308を介して通信可能な任意の計算装置は、送信元計算装置302、中間計算システム306、および/または送信先計算装置304のうちの1つ、複数、またはそれら全てであり得る。なお、さらに、送信元計算装置/システム302、中間計算装置/システム306、および送信先計算装置/システム304は、実際には、内部のバス接続部304によって自身と通信を行う同一の物理的な計算装置であってよいが、攻撃者が、暗号化されていないフォーマットで機密データの通信を得るために、内部の通信バス304を監視し、計算システム(すなわち、中間の部分306)の保護されていない領域を不正侵入し得ないことを保証するために、暗号化された通信が、さらに望まれる。
様々な実施形態は、送信元計算装置/システム302、中間計算装置/システム306、および/または送信先計算装置/システム304の間において、電子データを転送可能な任意の通信チャネル308を使用して、ネットワーク/バス通信チャネル308を実装し得る。たとえば、ネットワーク/バス通信接続部308は、送信元302から中間計算システム306を通って送信先計算装置304への送信の間に1つまたは複数の異なる通信チャネルを経由するインターネット接続部であってよい。同様に、ネットワーク/バス通信接続部308は、計算装置の内部の通信バスであり得るか、またはメモリチップまたは中央計算処理装置(CPU)チップなどの、処理用またはメモリ格納用の集積回路(IC)チップの内部のバスで得る。ネットワーク/バス通信チャネル308は、有線通信、電磁気的な無線通信、光ファイバケーブル通信、光/レーザ通信、超音波/音波通信など、およびそれらの様々な通信チャネルの任意の組み合わせを含むが、これらに限定されない、電子データ通信を送信可能な任意の媒体を使用し得る。
様々な実施形態は、送信元、中間の、および/または送信先計算装置/システム302、306、および/または304上で動作するアプリケーションを介して、ここで記載された制御および管理関数を提供し得る。送信元、中間の、および/または送信先計算装置/システム302、306、および/または304は各々、計算機もしくは計算機システム、または実施形態の通信および計算を行うことが可能な任意の他の電子装置であり得る。送信元、中間の、および/または送信先計算装置/システム302、306、および/または304には、汎用計算機、ラップトップ/携帯型計算機、タブレット装置、スマートフォン、産業制御計算機、データストレージシステム制御部、CPU、グラフィカル処理ユニット(GPU)、特定用途向け集積回路(ASI)、および/またはフィールドプログラマブルゲートアレイ(FPGA)を含み得るが、これらには限定されない。とりわけ、送信元および送信先計算装置302および304は、攻撃者が未暗号化データにこれまでアクセスできた能力を制限するようにデータ格納媒体へと/から送達されるデータが、常に暗号化されるようなデータストレージ媒体のストレージ制御部(たとえば、ハードディスクドライブ用の制御部)であり得る。実施形態は、様々な実施形態に基づく単一もしくは複数の処理を行うために計算機(もしくは他の電子装置)または計算機システムをプログラミング/操作するために使用され得る命令を格納した計算機によって読み取り可能もしくは機械によって読み取り可能媒体を含み得る計算機プログラム製品として提供され得る。計算機によって読み取り可能媒体は、ハードディスクドライブ、フロッピーディスク、光ディスク、コンパクトディスク読み取り可能メモリ(CD-ROM)、デジタル多用途ディスクROM(DVD-ROM)、ユニバーサルシリアルバス(USB)メモリスティック、光磁気ディスク、ROM、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルROM(EPROM)、電気的消去可能なプログラマブルROM(EEPROM)、磁気光カード、フラッシュメモリ、または電子命令を格納するのに適した他の種類の媒体/機械読み取り可能媒体を含み得るが、これらには限定されない。計算機プログラム命令は、単一の計算機/電子装置上に存在して動作し得るか、または様々な部分が、コンピュータシステムを構成する複数のコンピュータ/装置に分散され得る。また、実施形態は、計算機プログラム製品としてダウンロードされ得て、プログラムは、通信リンク(たとえば、有線/ケーブル接続および無線接続の両方を含む、モデムもしくはネットワーク接続)を介して搬送波もしくは他の伝搬媒体で具現化されるデータ信号によって、遠隔計算機から、要求元計算機へ転送され得る。
さらに、図4に関するフローチャートおよびフローチャートの詳細は、方法や処理として具現化され得る方法を説明しているが、別の実施形態は計算機システムとして、および/または、図4のフローチャートおよびフローチャートの詳細に関する処理を実行することによって、暗号化されたデータを格納し、および/または暗号化されたデータの準同型演算を実行する中間計算装置として、理解され得る。さらに、計算システム、および/または中間計算システムの説明において、その方法について上述される1つまたは複数の個々の処理は、分解されて、全体の暗号化計算機システムのサブシステムとして表現され得る。計算機システムのサブシステムは、全体的または部分的に、特定用途向け集積回路(dedicated Application Specific Integrated Circuit:ASIC)または現場でプログラム可能なゲートアレイ(Field Programmable Gate Array:FPGA)などの特定のハードウエアに実装されるシステムに割り当てられ得る。代替的に、1つまたは複数のサブシステムは、全体的にまたは部分的に、ソフトウエアまたはファームウエアの命令として実装される1つまたは複数のサブシステムに特に関連して、計算機システムの動作を規定するソフトウエアまたはファームウエアの命令として実装され得る。ソフトウエアまたはファームウエアの命令によって、中央計算処理装置、メモリ、および/または計算機システムの他のシステムは、具体的な1つまたは複数の指定された機能に応じて、具体的に動作し得る。
[暗号化鍵の更新の実施形態についてのハードウエアの実装(図5)]
図5は、暗号化鍵の更新の実施形態についての、ハードウエアの実装のブロック図500である。鍵更新の実施形態に必要なハードウエアは、鍵更新計算システム502だけであるため、比較的単純である。鍵更新計算システム502は、生成されたトークンを他の計算システム/装置に送信して、それらの他の計算システム/装置が、これらの他の計算システム/装置の1つまたは複数に格納された暗号文の秘密鍵マルチベクトルを更新可能にすることも可能である。
図5は、暗号化鍵の更新の実施形態についての、ハードウエアの実装のブロック図500である。鍵更新の実施形態に必要なハードウエアは、鍵更新計算システム502だけであるため、比較的単純である。鍵更新計算システム502は、生成されたトークンを他の計算システム/装置に送信して、それらの他の計算システム/装置が、これらの他の計算システム/装置の1つまたは複数に格納された暗号文の秘密鍵マルチベクトルを更新可能にすることも可能である。
様々な実施形態は、鍵更新計算装置/システム502上で動作するアプリケーションを介して、ここに記載された制御および管理関数を提供し得る。鍵更新計算装置/システム502は、計算機もしくは計算機システム、または実施形態の通信および計算を行うことが可能な他の任意の電子装置であり得る。鍵更新計算装置/システム502には、汎用計算機、ラップトップ/携帯型計算機、タブレット装置、スマートフォン、産業制御計算機、データストレージシステム制御部、CPU、グラフィカル処理ユニット(GPU)、特定用途向け集積回路(ASI)、および/またはフィールドプログラマブルゲートアレイ(FPGA)からなり得るが、これらには限定されない。実施形態は、様々な実施形態に基づく単一もしくは複数の処理を行うために計算機(もしくは他の電子装置)または計算機システムをプログラミング/操作するために使用され得る命令を格納した計算機によって読み取り可能もしくは機械によって読み取り可能媒体を含み得る計算機プログラム製品として提供され得る。計算機可読媒体は、ハードディスクドライブ、フロッピーディスク、光ディスク、コンパクトディスク読み取り可能メモリ(CD-ROM)、デジタル多用途ディスクROM(DVD-ROM)、ユニバーサルシリアルバス(USB)メモリスティック、光磁気ディスク、ROM、ランダムアクセスメモリ(RAM)、消去可能プログラマブルROM(EPROM)、電気的消去可能なプログラマブルROM(EEPROM)、磁気光カード、フラッシュメモリ、または電子的命令を格納するのに適した他の種類の媒体/機械読み取り可能媒体を含み得るが、これらには限定されない。計算機プログラム命令は、単一の計算機/電子装置に存在して動作し得るか、または様々な部分が、コンピュータシステムを構成する複数のコンピュータ/装置に分散され得る。また、実施形態は、計算機プログラム製品としてダウンロードされ得て、プログラムは、通信リンク(たとえば、有線/ケーブル接続および無線接続の両方を含む、モデムもしくはネットワーク接続)を介して搬送波もしくは他の伝搬媒体で具現化されるデータ信号によって、遠隔計算機から、要求元計算機へと転送され得る。
さらに、図6に関するフローチャートおよびフローチャートの詳細は、方法や処理として具現化され得る方法を説明しているが、別の実施形態は計算機システムとして、および/または、図6のフローチャートおよびフローチャートの詳細に関して上述した処理を実行することによって、鍵置換動作を行う鍵更新計算機システムとして、理解され得る。さらに、計算システム、および/または鍵更新計算機システムの説明において、方法について上述される1つまたは複数の個々の処理は、分解されて、全体の暗号化計算機システムのサブシステムとして表現され得る。計算機システムのサブシステムは、全体的または部分的に、特定用途向け集積回路(dedicated Application Specific Integrated Circuit:ASIC)または現場でプログラム可能なゲートアレイ(Field Programmable Gate Array:FPGA)などの特定のハードウエアに実装されるシステムに割り当てられ得る。代替的に、1つまたは複数のサブシステムは、全体的にまたは部分的に、ソフトウエアまたはファームウエアの命令として実装される1つまたは複数のサブシステムに特に関連して、計算機システムの動作を規定するソフトウエアまたはファームウエアの命令として実装され得る。ソフトウエアまたはファームウエアの命令によって、中央計算処理装置、メモリ、および/または計算機システムの他のシステムは、具体的な1つまたは複数の指定された機能に応じて、具体的に動作し得る。
さらに、図7に示されるように、第1の計算機システム702は、ラップトップ型計算機として示され、第2の計算機システム704は、タブレット装置として示される。概して、任意の形態の電子ネットワークまたはバス通信プラットフォーム706を介して通信可能な任意の計算装置は、第1の計算機システム702および/または第2の計算機システム704のうちの1つ、またはその両方であり得る。なお、さらに、第1のおよび第2の計算機システム702および704は、実際には、内部のバス接続部706によって自身と通信を行う同一の物理的な計算装置であってよい。
様々な実施形態は、第1の計算機システム702および第2の計算機システム704の間で電子データを転送可能な任意の通信チャネル706を使用するネットワーク/バス通信チャネル706を実装し得る。たとえば、ネットワーク/バス通信接続部706は、第1のおよび第2の計算システム702および704から送信中に1つまたは複数の異なる通信チャネルを経由するインターネット接続部であり得る。同様に、ネットワーク/バス通信接続部706は、計算装置の内部の通信バスであり得るか、または、メモリチップまたは中央計算処理装置(CPU)チップなどの処理用またはメモリ格納用の集積回路(IC)チップの内部バスであり得る。ネットワーク/バス通信チャネル706は、有線通信、電磁気的な無線通信、光ファイバケーブル通信、光/レーザ通信、超音波/音波通信など、およびそれらの様々な通信チャネルの任意の組み合わせを含むが、これらに限定されない、電子データ通信を送信可能な任意の媒体を使用し得る。
様々な実施形態は、第1および第2の計算機システム702および704上で動作するアプリケーションを介して、ここで詳細に述べられる制御および管理関数を提供し得る。第1および第2の計算機システム702および704は各々、計算機もしくは計算機システム、または実施形態の通信および計算を行うことが可能な他の任意の電子装置であり得る。第1のおよび第2の計算機システム702および704は、汎用計算機、ラップトップ型/携帯計算機、タブレット装置、スマートフォン、産業制御計算機、データストレージシステム制御部、CPU、グラフィカル処理ユニット(GPU)、特定用途向け集積回路(ASI)、および/またはフィールドプログラマブルゲートアレイ(FPGA)を含み得るが、これらには限定されない。実施形態は、様々な実施形態に基づく単一もしくは複数の処理を行うために計算機(もしくは他の電子装置)または計算機システムをプログラミング/操作するために使用され得る命令を格納した計算機によって読み取り可能もしくは機械によって読み取り可能媒体を含み得る計算機プログラム製品として提供され得る。計算機によって読み取り可能媒体は、ハードディスクドライブ、フロッピーディスク、光ディスク、コンパクトディスク読み取り可能メモリ(CD-ROM)、デジタル多用途ディスクROM(DVD-ROM)、ユニバーサルシリアルバス(USB)メモリスティック、光磁気ディスク、ROM、ランダムアクセスメモリ(RAM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、磁気光カード、フラッシュメモリ、または電子命令を格納するのに適した他の種類の媒体/機械読み取り可能媒体を含み得るが、これらには限定されない。計算機プログラム命令は、単一の計算機/電子装置に存在して動作し得るか、または様々な部分が、コンピュータシステムを構成する複数のコンピュータ/装置に分散され得る。また、実施形態は、計算機プログラム製品としてダウンロードされ得て、プログラムは、通信リンク(たとえば、有線/ケーブル接続および無線接続の両方を含む、モデムまたはネットワーク接続)を介して搬送波もしくは他の伝搬媒体で具現化されるデータ信号によって遠隔計算機から、要求元計算機へ転送され得る。
さらに、図8に関して上述されるフローチャートおよびフローチャートの詳細は、方法や処理として具現化され得る方法を説明しているが、別の実施形態は、計算機システムとして、および/または、図8のフローチャートおよびフローチャートの詳細に関して上述される処理を実行することによって、暗号化されたデータを格納し、および/または暗号化されたデータの準同型演算を実行する中間計算装置として理解され得る。さらに、計算システム、および/または中間計算システムの説明において、その方法について上述される1つまたは複数の個々の処理は、分解されて、全体の暗号化計算機システムのサブシステムとして表現され得る。計算機システムのサブシステムは、全体的または部分的に、特定用途向け集積回路(dedicated Application Specific Integrated Circuit:ASIC)または現場でプログラム可能なゲートアレイ(Field Programmable Gate Array:FPGA)などの特定のハードウエアに実装されるシステムに割り当てられ得る。代替的に、1つまたは複数のサブシステムは、全体的にまたは部分的に、ソフトウエアまたはファームウエアの命令として実装される1つまたは複数のサブシステムに特に関連して、計算機システムの動作を規定するソフトウエアまたはファームウエアの命令として実装され得る。ソフトウエアまたはファームウエアの命令によって、中央計算処理装置、メモリ、および/または計算機システムの他のシステムは、具体的な1つまたは複数の指定された機能に応じて、具体的に動作し得る。
本発明についての上記説明は、例示および説明を目的としたものである。本発明を余すところなく伝えること、および開示された形態に正確に限定することは意図していない。また、上記教示内容に照らして、他の変形や変更を行うことは可能である。実施形態は、本発明の原理およびその実際の適用を最も良く説明するために選択および説明され、それにより、当業者は、予期される具体的な使用に適した様々な実施形態および様々な修正において、本発明を最もよく利用し得る。
Claims (18)
- 前記幾何代数の加算演算、減算演算、乗算演算、または除算演算は、少なくとも1つの暗号化された画像に対して、画像処理を行うために使用される、請求項3記載の方法。
- 前記既知の追加の符号化演算は、冪剰余または中国剰余定理(CRT)から選択される群のうちの少なくとも1つからなる、請求項5記載の方法。
- 前記幾何代数の加算演算、減算演算、乗算演算、または除算演算は、少なくとも1つの暗号化された画像に対して、画像処理を行うために使用される、請求項12記載の暗号化システム。
- 前記既知の追加の符号化演算は、冪剰余または中国剰余定理(CRT)から選択される群のうちの少なくとも1つからなる、請求項14記載の暗号化システム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962883988P | 2019-08-07 | 2019-08-07 | |
US62/883,988 | 2019-08-07 | ||
US201962885056P | 2019-08-09 | 2019-08-09 | |
US62/885,056 | 2019-08-09 | ||
US16/984,117 US11323255B2 (en) | 2019-08-01 | 2020-08-03 | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes |
US16/984,117 | 2020-08-03 | ||
PCT/US2020/044808 WO2021022261A2 (en) | 2019-08-01 | 2020-08-04 | Methods and systems for encryption and homomorphic encryption systems using geometric algebra and hensel codes |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022543588A true JP2022543588A (ja) | 2022-10-13 |
Family
ID=81983917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022506449A Pending JP2022543588A (ja) | 2019-08-07 | 2020-08-04 | 幾何代数およびヘンゼル符号を使用する暗号化および暗号化システムのための方法、ならびにシステム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2022543588A (ja) |
KR (1) | KR20220079522A (ja) |
CN (1) | CN114731268A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801308B (zh) * | 2022-09-16 | 2023-08-29 | 北京瑞莱智慧科技有限公司 | 数据处理方法、相关装置及存储介质 |
CN117221018B (zh) * | 2023-11-09 | 2024-01-30 | 北京睿航至臻科技有限公司 | 一种基于数据编码的数据安全传输方法及系统 |
-
2020
- 2020-08-04 KR KR1020227007069A patent/KR20220079522A/ko unknown
- 2020-08-04 CN CN202080070226.2A patent/CN114731268A/zh active Pending
- 2020-08-04 JP JP2022506449A patent/JP2022543588A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20220079522A (ko) | 2022-06-13 |
CN114731268A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
CN111034117B (zh) | 单节点多方加密 | |
KR100373669B1 (ko) | 비밀 정보의 처리 장치, 비밀 정보의 처리 프로그램을 기록한 기록 매체 및 처리 시스템 | |
Thabit et al. | A Novel Effective Lightweight Homomorphic Cryptographic Algorithm for data security in cloud computing | |
JP6974461B2 (ja) | 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム | |
KR100259179B1 (ko) | 암호화 통신 처리 | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
US20190109701A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption sorting using geometric algebra | |
US20190044697A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra | |
CN102904713A (zh) | 用于密钥加密通信系统中的密钥交换方法 | |
US20180294951A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
US8976960B2 (en) | Methods and apparatus for correlation protected processing of cryptographic operations | |
US11323240B2 (en) | Interactive techniques for accelerating homomorphic linear operations on encrypted data | |
KR101233682B1 (ko) | 타원곡선암호를 위한 연산 장치 및 방법 | |
WO2020018454A1 (en) | Cryptography operations for secure post-quantum communications | |
JP2022543588A (ja) | 幾何代数およびヘンゼル符号を使用する暗号化および暗号化システムのための方法、ならびにシステム | |
JPH11317734A (ja) | デ―タの暗号化復号化方法および、それを用いたネットワ―クシステム | |
Mendonca | Data security in cloud using AES | |
CN108599941A (zh) | 随机非对称扩充字节通信数据加密方法 | |
JP4706811B2 (ja) | 依頼計算を用いた演算装置、及び記録媒体 | |
JP6397921B2 (ja) | 暗号アルゴリズムにおける演算子リフティング | |
CN113645022A (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
WO2018187604A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
Sasikaladevi et al. | SNAP-compressive lossless sensitive image authentication and protection scheme based on Genus-2 hyper elliptic curve | |
CN115865531B (zh) | 一种代理重加密数字资产授权方法 |