JP6974461B2 - 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム - Google Patents

幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム Download PDF

Info

Publication number
JP6974461B2
JP6974461B2 JP2019527770A JP2019527770A JP6974461B2 JP 6974461 B2 JP6974461 B2 JP 6974461B2 JP 2019527770 A JP2019527770 A JP 2019527770A JP 2019527770 A JP2019527770 A JP 2019527770A JP 6974461 B2 JP6974461 B2 JP 6974461B2
Authority
JP
Japan
Prior art keywords
vector
data
edce
encryption
operations
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.)
Active
Application number
JP2019527770A
Other languages
English (en)
Other versions
JP2019528028A (ja
Inventor
デ アラウージョ、カルロス エー パツ
Original Assignee
エックス−ロゴス、エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エックス−ロゴス、エルエルシー filed Critical エックス−ロゴス、エルエルシー
Publication of JP2019528028A publication Critical patent/JP2019528028A/ja
Application granted granted Critical
Publication of JP6974461B2 publication Critical patent/JP6974461B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/722Modular multiplication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

[関連出願の相互参照]
本出願は、2016年8月2日に出願された「幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム(Methods and Systems for Enhanced Data-Centric Encryption Systems Using Geometric Algebra)」と題された米国特許仮出願第62/370,183号、2017年1月30日に出願された「幾何代数を用いた高度データ中心型暗号化加法準同形システムのための方法およびシステム(Methods and Systems for Enhanced Data-Centric Encryption Additive Homomorphic Systems Using Geometric Algebra)」と題された米国特許仮出願第62/452,246号、および2017年4月7日に出願された「幾何代数を用いた強化データ中心スカラ乗法準同形暗号化システムのための方法およびシステム(Methods and Systems for Enhanced Data-Centric Scalar Multiplicative Homomorphic Encryption Systems Using Geometric Algebra)」と題された米国特許仮出願第62/483,227号に基づくとともに、これらの優先権を主張するものであり、これらの仮出願は、その開示および教示のすべてについて、本明細書中において具体的に引用により援用される。
過去数十年間において、パーソナルコンピュータならびに携帯型装置およびスマートフォン等の他の消費者向け演算装置は、一般大衆に広く普及した。パーソナルコンピュータおよび他の演算装置が急増するにつれ、コンピュータおよびパーソナルコンピュータの有用性は、様々な電子的ネットワーク通信システムを介した異なるコンピュータ/演算装置間での相互接続通信によって高度化した。公共でアクセス可能なインターネットの出現、およびインターネット上のコンピュータおよび/または他の演算装置間の共通の通信のためのワールドワイドウェブ(WWW)の確立により、公共でアクセス可能なインターネットを通じて個人識別情報および金融情報が転送されることが一般的となった。個人情報に関与することを意図していない者によって個人情報がアクセスされないことを確実にするために、インターネットを通じて転送される個人データに対しては、様々な暗号化技術が適用されてきた。公共からアクセス可能なインターネットを含むネットワーク技術を通じてデータストレージがアクセス可能となるにつれ、暗号化された形式で機密データを記憶することが賢明となっている。
近代の暗号化においては、正整数もしくは二進ビットを操作する数学的手法が採用されている。RSA(Rivest−Shamir−Adleman)等の非対称暗号化は、予想通りに因数分解することが難しいとともに暗号化鍵のサイズを大きくすることによってさらに難しくなり得る、整数論一方向関数を必要とする。DES(データ暗号化規格)およびAES(高度暗号化規格)等の対称暗号化は、レジスタ内でのビット操作を用いて暗号原文をシャッフルして「拡散」を高めるとともに、共通鍵を用いたレジスタベースの演算を行って「撹乱」を高める。拡散および撹乱は、伝送されているデータのペイロードに対する統計的エントロピーの増加に対する措置である。暗号化における拡散および撹乱の概念は、1940年代にクロード・シャノンによって最初に特定されたものと通常知られている。拡散は、未暗号化(平文)データを暗号化(暗号原文)データから生成する数学的処理を複雑化して、これによって暗号化(暗号原文)データのいくつかのデータ片に対する未暗号化(平文)データの各データ片の影響を分散させることによって暗号化処理の暗号化鍵の発見を難しくするものと一般的には考えられている。このため、拡散の度合いの高い暗号化システムは、通常、未暗号化(平文)データの1つの文字を変化させるために暗号化(暗号原文)データのいくつかの文字を変化させ、攻撃者が未暗号化(平文)データの変化を認識することを難しくしている。撹乱は、未暗号化(平文)データと暗号化(暗号原文)データとの間の関係を不明確にするものと一般的には考えられている。このため、撹乱の度合いの高い暗号化システムは、攻撃者が暗号化方法(RSA、DES、および/またはAES等の公的な規格)の演算を認識したとしても暗号化鍵を推測することが依然として難しいような方法で未暗号化(平文)データを暗号化(暗号原文)データへ大幅に変更する処理を必然的に伴う。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
実施形態に係るハードウェア実装を示すブロック図である。 実施形態に係る演算の概略を示すフローチャートである。 実施形態に係る送信元演算装置の対称鍵演算のフローチャートである。 実施形態に係る送信先演算装置の対称鍵演算のフローチャートである。 実施形態に係る送信元演算装置の対称鍵および暗号原文マスキング演算のフローチャートである。 実施形態に係る送信先演算装置の対称鍵および暗号原文マスキング演算のフローチャートである。 幾何積「sandwich」を用いる高度データ中心型暗号化(EDCE)暗号化/復号化の実施形態のフローチャートである。 シルベスター方程式を用いるEDCE暗号化/復号化、および/またはEDCEセキュアメッセージ配列インデックスの実施形態のフローチャートである。 実施形態に係る当初の共有秘密マルチベクトルからの第2共有秘密鍵の生成/抽出/取得を示すブロック図である。
実施形態は、有利に幾何代数を利用して、中間演算システム(例えば、現在一般的に「クラウド」もしくは「クラウドコンピューティング」と称される、広域ベースの演算システム)を通じて伝送され得る、および記憶され得る数値メッセージの暗号化および復号化を提供し得る。幾何代数ベースの暗号化/復号化を用いて送信元/送信側システムから送信先/受信側システムへデータを安全に転送する暗号化/復号化機能を実行する幾何代数暗号化/復号化システムの実施形態は、「高度データ中心型暗号化(EDCE)システム」と称され得る。
幾何代数は、物理的な世界における物体の物理的相互作用を数学的に表すことを意図してベクトルおよび他のオブジェクトの幾何的相互作用を説明する、数学の領域である。暗号への幾何代数の使用は、本来の現実の物理的な世界における物体の物理的な相互作用を表す幾何代数の基礎からは完全に離れた目的のために生み出された新しい幾何代数の用法である。本明細書において使用されるように、数学のこの領域は、幾何代数、共形幾何代数、およびクリフォード代数(本明細書において、これらをまとめて「幾何代数」という)を含む。概して、幾何代数は、幾何積、逆元、および単位元などの演算を規定し、本明細書に開示される例示的なEDCEシステム実施形態の実施形態の多くの特徴を促進する。さらに、幾何代数は、データをマルチベクトルの「ペイロード」に組織化および表現することを可能とし、ペイロード内のデータは、例えば平文、暗号原文、もしくは識別署名を表し得る。このため、EDCEシステムの実施形態は、幾何代数の特性を上手く利用することで、演算が比較的単純な方法での暗号化および復号化演算を提供するとともに、動的なデータおよび静的なデータ(例えば、クラウドに記憶されているデータ)についての堅牢な保護を提供する。
暗号化データが中間演算システムを介して転送される場合、例えばクラウドベースの演算で行われる場合、送信元演算装置から中間演算システムを介して暗号化データ値をユーザが伝達したい時またはネットワークに接続して伝達を行う時まで、暗号化データ値は中間演算システムに保存され得る。代替的に、暗号化データ値は、対象となる暗号化データ値が中間演算システムによって受信されるとすぐに中間演算システムによって送信先演算装置へ転送され得る。しかし、当業者が認識し得るように、中間演算システムで暗号化データ値を受信する処理は、本質的に、すぐに使用および消去される中間演算システムの演算サブシステムのランダムアクセスメモリ(RAM)箇所または演算レジスタ箇所での束の間の使用であったとしても暗号化データ値を中間演算システムに記憶することを含む。
EDCEシステム実施形態の実施形態は、機能ブロックから構成され得て、各ブロックは、以下でより詳細に説明するように、範囲、性能、および安全性の目的に応じて、適合され得る。以下のセクションにおいては、これらの機能ブロックについて、数学的かつ数値的な説明をする。
本明細書において記載される複雑な主題についての混乱を最小限とするために、以下の説明は、EDCEシステムの実施形態に関する様々な基本的なトピックを別個にカバーするよう分けられている。このような点から、セクション1では、EDCEシステムの基礎的な演算の実施形態の概要について説明する。セクション2では、マルチベクトルへの情報のパッキング、このようなマルチベクトルの暗号化および復号化、ならびに当初の情報を復元するアンパッキングを含む、基礎的なEDCEシステムの実施形態についてさらに説明する。付録Aは、幾何代数の概要を提供する。概して、この説明において、典型的な慣例のように、演算の特定の例については、アリス(Alice)およびボブ(Bob)が、送信/送信元主体および受信/送信先主体としてそれぞれ使用される。したがって、本開示の配置は、以下のように要約される。
セクション1:EDCEメッセージ暗号化/復号化の概要
A.EDCE実施形態のハードウェアでの実施(図1)
B.EDCE演算の概略フローチャート(図2〜図4)
セクション2:EDCEメッセージ暗号化/復号化についてのさらなる説明
A.マルチベクトルのパッキングおよびアンパッキング
1)テキストから数字
2)数字からテキスト
3)マルチベクトルデータ構造
4)数字からマルチベクトル
5)マルチベクトルから数字
B.共有秘密
C.暗号原文作成
D.復号化
E.EDCEフローチャート(図5〜図6)
F.0ブレード換算演算からの対称鍵ペア暗号化/復号化(図7)
*0ブレード換算演算
*幾何代数暗号化原始関数
*3次元における二重共有秘密を用いた暗号化および復号化の数字例
G.幾何代数および算術関数を用いる解読不能原始関数
*秘密共有および3Dマルチベクトルの例
付録A:幾何代数の概要
セクション1:EDCEメッセージ暗号化/復号化の概要
インターネットおよび多くの形態の携帯装置の到来により、暗号化データの容量が指数関数的に増加している。「サムドライブ」、「スマートカード」、およびソリッドステートディスク(SSD)のような携帯装置は、平文および/または暗号化「受動型」データストレージの両方を含む。受動型データストレージは、インターネット・オブ・シングス(IoT)のための小さな装置ならびにサーバファームにおける大きなメモリに設けられる。
データがストレージを離れ、動いている時には、データはより攻撃を受けやすい。現在の暗号化技術は、ネットワークセキュリティインフラとともに進化してきたわけではなく、動いている莫大な量のデータに良好に適してはいない。我々が「クラウドコンピューティング」に向けて動き、携帯装置が我々を「外周のない」ネットワークセキュリティへと動かすにつれ、産業はネットワーク、サーバ、もしくはアプリケーションのセキュリティをただ信頼することから離れ、データ中心型暗号化に注目する。データ中心型暗号化および認証を用いると、制御はアプリケーション層もしくはネットワークにおける最終送信先でただ行われるのではなく、データとともに移動する。
しかし、この動くデータの流動性は、現在の暗号化インフラの核心であり続ける演算集約的な数学によって失速する。RSA(Rivest−Shamir−Adleman)、DES(データ暗号化規格)、および/またはAES(高度暗号化規格)等の暗号は、通信効率を行き詰まらせる静的「マシン」と大差はない。実際の問題は非常に大きい。以下の場合にどのように堅牢なセキュリティが提供できるのかである。
a)拠点演算リソースが限られている(例えば、インターネット・オブ・シングス(IoT))。
b)暗号化/復号化がほぼリアルタイムでなければならない。
c)送信元および送信先の認証が継続的に示されなければならない。
実施形態は、高度データ中心型暗号化もしくはEDCEとして説明され得る。現在の暗号化スキームと比較すると、EDCEは、通信チャネルのスパンにわたって堅牢なセキュリティを提供しながらも、演算が単純である。EDCEセキュリティは、小さな埋め込みIoT(インターネット・オブ・シングス)装置からサーバファームまで拡張可能である。EDCE機能により、現在の方法よりも速度および帯域幅が有利な多くの暗号スキームを可能にする。データの暗号化/復号化における速度の向上をもたらすEDCEの一局面は、EDCE暗号化/復号化が加法、減法、乗法、および除法の基本的な算術演算を用いて実施され得ることである。とりわけ、EDCEは、複雑な演算、大きな素数の選択、対数関数の演算、自然対数関数の演算、および/または他の複雑かつ演算集約的な数学的関数の演算を必要としない(すなわち、本明細書中で開示される幾何代数演算においては、素数、対数、自然対数、および/または他の複雑な数学的演算は必要ではない)。
様々な実施形態の中心的特徴は、過去に暗号化において利用されてこなかった数学の領域である幾何代数を使用していることにある。本明細書中において使用される幾何代数は、幾何代数、共形幾何代数、およびクリフォード代数(本明細書中において、まとめて「幾何代数」という)を含む数学の領域である。幾何代数は、データをマルチベクトルの「ペイロード」に組織化および表現することを可能にし、データは、例えば、平文、暗号原文、または署名であり得る。幾何代数は、様々な実施形態の暗号化/復号化演算を可能にする要素である、幾何積、逆元、および単位元等の演算を規定する。
マルチベクトルは、スカラ、ベクトル、2次元ベクトル、その他n次元ベクトルを単に加法により組み合わせたものである。しかし、単位ベクトルは、四元の代数構造(ハミルトン)および非可換代数(グラスマン)に従う。これら二種類の代数により、クリフォードは、EDCEシステムの実施形態の「原始関数」のうちの1つとしての、様々な実施形態において使用される幾何積を着想した。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
様々な実施形態において、「ペイロード」は、マルチベクトル要素のスカラおよび係数の値においてパッキングされ得る。EDCEシステムが適切に動作することを確実にするためには、マルチベクトルのために選択される係数値にいくつかの制限を加える必要がある。例えば、すべてのマルチベクトル係数が等しい場合、マルチベクトルに対して有理化演算を行うことによってゼロが得られる。すべてが等しい係数を有するこのようなマルチベクトルは、逆元を有しておらず、他のマルチベクトルとすべて等しい係数を有するこのようなマルチベクトルの幾何積は、逆元を有していない。以下でより詳細に説明するように、EDCEシステムの復号化方法は、復号化されている暗号原文マルチベクトルの逆元およびセキュリティ鍵マルチベクトルの逆元を利用して、復号化を行う。このため、復号化されている暗号原文マルチベクトルは、すべて等しい値の係数を有するべきではない。復号化されている暗号原文マルチベクトルがすべて等しい値の係数を有さないことを確実にするための1つの手段は、パッキング/係数分配方法により、共有セキュリティマルチベクトルおよびデータメッセージマルチベクトルの作成時にすべての係数が互いに等しくない(すなわち、少なくとも1つの係数が他の係数とは異なる必要がある)ことを確実にすることである。データメッセージを単純に転送するEDCEの実施形態については、共有セキュリティマルチベクトルおよびデータメッセージマルチベクトルの作成時にすべての係数が互いに等しくないことを確実にすることにより、復号化される暗号原文マルチベクトルがすべて等しい係数を有さないことが確実となる。
加えて、別個のマルチベクトルが、共有秘密(以下で定義される)、認証情報、およびタイムスタンプ等の多くの目的のためにコード化され得る。メッセージの暗号化および復号化に加えて、EDCE実施形態におけるEDCEマルチベクトル形式および幾何代数の基礎により、単一の伝送において、単に暗号原文だけでなく、暗号化セキュリティを向上させるためのダミーデータ、追加の演算のためのコマンド指示、および/または追加の演算のための構成データを含むことが可能になる。
A.EDCE実施形態のハードウェア実装(図1)
図1は、実施形態に係るハードウェア実装を示すブロック図100である。第1演算装置102は、電子的なネットワーク/バス接続104を介して第2演算装置106に接続される。図1に示される実施形態において、第1演算装置102は、ネットワーク/バス接続104を介して暗号化メッセージ108を送信する送信元装置102である。第2演算装置106は、ネットワーク/バス接続104から暗号化メッセージ108を受信する送信先装置106である。概して、暗号化通信を含む通信は、第1演算装置102および第2演算装置106が必要に応じて送信元装置102および送信先装置106としての役割を変更して第1演算装置102と第2演算装置106との間でのデータの相互の転送が可能となるように、双方向である。
さらに、図1に示されるように、第1演算装置102はラップトップコンピュータとして示され、第2演算装置106はタブレット装置として示される。概して、任意の形態の電子的ネットワークもしくはバス通信プラットフォームを介して通信可能な演算装置であれば、第1演算装置102および第2演算装置106の一方または両方であっても良い。さらに、第1演算装置102および第2演算装置106は、実際には、内部バス接続104を通じて自身と通信するが未暗号化形式の機密データ通信を得るために攻撃者が内部通信バス104をモニタリングできないことを確実にするために暗号化通信を必要とする同一の物理演算装置であり得る。
様々な実施形態は、第1演算装置102と第2演算装置106との間で電子データを転送可能な任意の通信チャネル104を用いてネットワーク/バス通信チャネル104を実施し得る。例えば、ネットワーク/バス通信接続104は、第1演算装置102から第2演算装置106への伝送時に1つ以上の異なる通信チャネルを介してルーティングされたインターネット接続であり得る。同様に、ネットワーク/バス通信接続104は、演算装置の内部通信バス、またはメモリチップもしくは中央処理装置(CPU)チップ等の処理もしくはメモリストレージ集積回路(IC)チップの内部バスであり得る。ネットワーク/バス通信チャネル104は、優先通信、無線電磁通信、光ファイバーケーブル通信、光/レーザ通信、音波/音通信等、およびこれらの様々な通信チャネルの任意の組み合わせを含むがこれらに限定されない通信で電子データを伝送することが可能な任意の媒体を利用し得る。
様々な実施形態は、第1演算装置102および/または第2演算装置106上で動作するアプリケーションを介して、本明細書において詳述される制御および管理関数を提供し得る。第1演算装置102および/または第2演算装置106の各々は、コンピュータもしくはコンピュータシステム、または実施形態の通信および演算を行うことが可能な任意の他の電子装置であり得る。第1演算装置102および第2演算装置104は、汎用コンピュータ、ラップトップ/携帯型コンピュータ、タブレット装置、スマートフォン、産業制御コンピュータ、データストレージシステム制御部、CPU、グラフィカル処理ユニット(GPU)、特定用途向け集積回路(ASI)、および/またはフィールドプログラマブルゲートアレイ(FPGA)を含み得るが、これらに限定されない。とりわけ、第1演算装置102および第2演算装置106は、攻撃者が未暗号化データにアクセスする能力を制限するようにデータストレージ媒体に対して送達されるデータが常に暗号化されるようなデータストレージ媒体のストレージ制御部(例えば、ハードディスクドライブ用の制御部)であり得る。実施形態は、様々な実施形態に基づく単一もしくは複数の処理を行うためにコンピュータ(もしくは他の電子装置)またはコンピュータシステムをプログラミング/操作するために使用され得る命令を記憶したコンピュータ読み取り可能もしくは機械読み取り可能媒体を含み得るコンピュータプログラム製品として提供され得る。コンピュータ読み取り可能媒体は、ハードディスクドライブ、フロッピーディスク、光ディスク、コンパクトディスク読み取り可能メモリ(CD−ROM)、デジタル多用途ディスクROMS(DVD−ROM)、ユニバーサルシリアルバス(USB)メモリスティック、光磁気ディスク、ROM、ランダムアクセスメモリ(RAM)、消去可能プログラム可能ROM(EPROM)、電気的消去可能プログラム可能ROM(EEPROM)、磁気光カード、フラッシュメモリ、または電子命令を記憶するのに適した他の種類の媒体/機械読み取り可能媒体を含み得るが、これらに限定されない。コンピュータプログラム命令は、単一のコンピュータ/電子装置上で常駐して動作し得る、または様々な部分が、コンピュータシステムを備える複数のコンピュータ/装置にわたって分散し得る。また、実施形態は、コンピュータプログラム製品としてダウンロードされ得て、プログラムは、通信リンク(例えば、有線/ケーブル接続および無線接続の両方を含む、モデムもしくはネットワーク接続)を介して搬送波もしくは他の伝搬媒体で具現化されるデータ信号によって遠隔コンピュータから要求元コンピュータへ転送され得る。
B.概略的なEDCE演算のフローチャート(図2〜図4)
Figure 0006974461
Figure 0006974461
再び、様々な実施形態について、「ペイロード」は、スカラの値およびマルチベクトル要素の係数においてパッキングされ得る。EDCEシステムが適切に動作することを確実とするために、マルチベクトルについて選択される係数値に対していくつかの制限をかける必要がある。例えば、すべてのマルチベクトル係数が等しい場合、マルチベクトルに対する有理化演算ではゼロが得られる。すべて等しい係数を有するこのようなマルチベクトルは逆元を有さず、すべて等しい係数を有するこのようなマルチベクトルの幾何積は逆元を有さない。以下でより詳細に説明するように、EDCEシステムのための暗号化方法は、暗号化されている暗号原文マルチベクトルの逆元およびセキュリティ鍵のマルチベクトルの逆元を利用して暗号化を行う。このため、復号化されている暗号原文マルチベクトルはすべて等しい値の係数を有するべきではない。復号化されている暗号原文マルチベクトルがすべて等しい値の係数を有さないことを確実にするための1つの手段は、パッキング/係数分配方法により、共有セキュリティマルチベクトルおよびデータメッセージマルチベクトルの作成時にすべての係数が互いに等しくない(すなわち、少なくとも1つの係数が他の係数とは異なる必要がある)ことを確実にすることである。データメッセージを単純に転送するEDCEの実施形態については、共有セキュリティマルチベクトルおよびデータメッセージマルチベクトルの作成時にすべての係数が互いに等しくないことを確実にすることにより、復号化される暗号原文マルチベクトルがすべて等しい係数を有さないことが確実となる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
加えて、フローチャートおよび図2〜図4に関して上で説明したフローチャートの詳細は、方法もしくは処理として具現化され得る方法を記載したものであるが、他の実施形態は、フローチャートおよび図2〜図4の詳細に係るフローチャートで説明した処理を実施することによってデータの暗号化、データの転送、およびデータの復号化を行う、コンピュータシステムとして、および/または送信元コンピュータシステムおよび送信先コンピュータシステムとして認識され得る。さらに、データの暗号化、データの転送、およびデータの復号化を行う、コンピュータシステム、および/または送信元コンピュータシステムおよび送信先コンピュータシステムの説明において、上記の方法のための上記の1つ以上の個別の処理は、分けられて、全体の暗号化コンピュータシステムのサブシステムとして表され得る。データの暗号化、データの転送、およびデータの復号化を行う、コンピュータシステム、および/または送信元コンピュータシステムおよび送信先コンピュータシステムのサブシステムは、その全体もしくは一部において、用途特定集積回路(ASIC)もしくはフィールドプログラマブルゲートアレイ(FPGA)等の特定のハードウェア実装システムに割り当てられる。1つ以上のサブシステムは、その全体もしくは一部において、ソフトウェアもしくはファームウェア命令として実施される1つ以上のサブシステムに関して具体的なコンピュータシステムの演算を規定するソフトウェアもしくはファームウェア命令として代替的に実施され得る。ソフトウェアもしくはファームウェア命令により、コンピュータシステムの中央処理装置、メモリ、および/または他のシステムが特定の1つ以上のサブシステム割当特徴に基づいて動作し得る。
セクション2:EDCEメッセージ暗号化/復号化についてのさらなる説明
以下の開示は、EDCE実施形態の動作中の演算およびデータの関係の単純化された例を提供する。例において示され記載されるデータの量、データの種類、および特定のデータ値は、特定の現実のシステムを表す意図はなく、実施形態の演算およびデータの関係を示すのみの目的のために提供される。さらに、以下に記載の実施形態は、特定のデータ種類、暗号化共有秘密鍵交換技術、テキストから数字およびその逆の変換技術、および/または数字からマルチベクトル係数割当技術に演算を限定する意図はない。
新しい暗号化原始関数としての幾何代数幾何積の利用に加え、様々な実施形態は、機能ブロックからなり得て、各機能ブロックは、範囲、性能、およびセキュリティの目的によって記載されるように適合され得る。以下のセクションは、これらの機能ブロックの1つ以上の例示的な実施形態の数学的および数的な説明を提供する。例における数的結果は、概してCプログラミング言語を実行する幾何代数から得られる。
A.マルチベクトルのパッキングおよびアンパッキング
内容
1)テキストから数字
2)数字からテキスト
3)マルチベクトルデータ構造
4)数字からマルチベクトル
5)マルチベクトルから数字
1)テキストから数字
本明細書中に記載の例示的なEDCE実施形態について、各テキストメッセージは、すべてのEDCE演算のための有効な演算単位とするために、数字に変換される必要がある。本明細書中に示される実施形態については、数字は、典型的に10進数で示されるが、様々な実施形態では、システム設計者によって他の所望の進数が選択され得る。例えば、ASCII規格はxFFの16進数によって表される典型的な8ビットよりも1つ小さい2のべき乗(すなわち、16進数は28である)である0〜127(すなわち、27)に基づく表現を有していることから、16進(16進数)表現により、ASCIIの数的表現に対応する場合には、特定の利点が得られる。ASCII文字コード化スキームによれば、a、b、cの文字等の記号は、他の形式(2進数、10進数、8進数、100進数等)で表され、これらは、形式間の関係を示す表であるASCII印字可能コードチャートに記載されている。このため、文字「a」、「b」、および「c」は、ASCII10進コードでは、それぞれ97、98、および99となる。
例えば、平文メッセージが「message」であるとする。ASCII10進コードでは、以下のように示される。
message
109 101 115 115 97 103 101
この記号と10進数との関係により、テキスト「message」を用いた10進数でのテキストから文字への変換が、以下のように行われる。
変数nは、テキストから数字への変換の最後の数を表す。この変数をゼロと規定して開始する。このため、n=0である。
そして、メッセージの各文字についてASCII10進むコードで列を作成する。
text=“message”
ASCII_array_from_“message” = [109, 101, 115, 115, 97, 103, 101]
この列は、7つの要素のサイズを有することから、列サイズは7である。
そして、ASCII文字の列の各値について、繰り返し、以下を行う。
(i)nを256で掛け合わせる。(256が選択されたのは、ASCII印字可能コードチャートにおいて最大の数よりも2つ大きい乗数であるためであり、28=256であることから8ビットのスペースを確保している。)
(ii)同等のASCII10進コードで合計し、結果を同じ初期n変数に以下のように割り当てる。
For i=0; i < array_size; i++
n = n * 256 + ascii_array_from_message[i]
各反復の詳細は以下のとおりである。
Figure 0006974461
上記の演算を行うことにより、nの最後の値は30792318992869221となる。
このため、平文「message」は10進数では30792318992869221に等しい。ひとたび10進数を得ると、本明細書中に記載のメッセージ暗号化の演算を行うことができる。望む場合は、加法もしくは剰余演算等、ASCIIコード上の変換を行うことによってこのステップにエントロピーを加えても良い。以下の例においては、このようなエントロピーを追加する変換は使用されない。
2)数字からテキスト
様々な演算を行ったあと、10進数が伝送されて受信される。メッセージマルチベクトルの上記の例から、係数が繋がれて数列が形成される。この数列への「数字からテキスト」変換処理では、ASCII印字可能コードチャートが使用されるが、復元ルーティンは「テキストから数字」変換とは異なる。以下に手順を記載する。
入力数字から復元される最終テキストとなる空列である変数から開始する。(記号“ “” ”は、C言語で使用されるものであり、空列を意味する。)
s=“”
入力数字は30792318992869221である。
n=30792318992869221
ここで、この数字が実際のテキストメッセージを参照することから、nが空となるまでループを実行する。つまり、nがゼロになったときにループが止まる。各ループ反復において、最後から最初まで復元を行い、各ASCII10進コードは、復元しているテキストに対応する。このために、値0xFF(16進数形式もしくは16進数である256−1)を用いてビット単位のAND演算を行う。コードを文字記号に変換し、現在の列に繋ぎ、常に最も最近の復元された文字を列の前に置く。最後に、8ビットの右シフトを行うことにより、nの値を更新する。
関数「get_char」は、ASCII10進コードを文字記号に変換する。
手順は以下の通りである。
while n > 0
s = get_char(n AND 0xFF) + s
各反復の詳細は以下の通りである。
s = “”
n = 30792318992869221
while n > 0
s = get_char(n AND 0xFF) + s
Figure 0006974461
このため、数字30792318992869221は、テキスト列「message」に変換され、当初の平文と一致する。
3)マルチベクトルデータ構造
本明細書中で説明される例示的な実施形態について、任意の10進数の数字がマルチベクトル要素の係数であり得る。マルチベクトルは、無作為データ、または一連の演算の結果であるデータを含み得る。10進数は、マルチベクトルにおける係数にこの数列の部分を分配することによってマルチベクトルの形態でも表され得る。2Dであるマルチベクトルは、この数列の部分とともにパッキングに利用可能な4つの要素/係数を有し、3Dマルチベクトルは8つの要素、4Dは16の要素を有する。EDCEは、7Dまでで表現される。16の要素を有する4Dマルチベクトルは、以下の通り記載される。
Figure 0006974461
4)数字からマルチベクトル
10進数列が30792318992869221とする場合、この列は、以下の通り、2Dマルチベクトルの単一の係数であり得る。
Figure 0006974461
EDCEは、マルチベクトルの要素へ分配される数列が4,000桁を超えるものが示された。しかし、この例における10進数は、以下のように、すべてのマルチベクトルにわたって典型的にその場限りで「分配」される。
Figure 0006974461
上記の分配は、「数字からマルチベクトル」と呼ばれる。EDCE実施形態について、数列を分配する方法は、方法が送信主体および受信主体の両方に認識されて使用されるのであれば、様々なアルゴリズムのうちの任意のものに基づき得る。暗号の「撹乱」を増加させるために、分配アルゴリズムは、要素への割当のシャッフリング、要素に割り当てられた数字に対する関数演算の実行、または会話におけるメッセージ間でのアルゴリズムの変更を含み得る。さらなる演算により、暗号化エントロピーが増加する。
再び、様々な実施形態について、「ペイロード」は、マルチベクトル要素のスカラおよび係数の値においてパッキングされ得る。EDCEシステムが適切に動作することを確実にするために、マルチベクトルに選択された係数値に制限を設ける必要がある。例えば、すべてのマルチベクトル係数が等しい場合、マルチベクトルに対する有理化演算の結果はゼロとなる。すべて等しい係数を有するこのようなマルチベクトルは逆元を有さず、すべて等しい係数を有するこのようなマルチベクトルの幾何積は逆元を有さない。以下でより詳細に説明するように、EDCEシステムのための暗号化方法は、暗号化されている暗号原文マルチベクトルの逆元およびセキュリティ鍵のマルチベクトルの逆元を利用して復号化を行う。このため、復号化されている暗号原文マルチベクトルはすべて等しい値の係数を有するべきではない。復号化されている暗号原文マルチベクトルがすべて等しい値の係数を有さないことを確実にするための1つの手段は、共有セキュリティマルチベクトルおよびデータメッセージマルチベクトルの作成時に、パッキング/係数分配方法によって、すべての係数が互いに等しいわけではない(すなわち、少なくとも1つの係数が他の係数とは異なっている)ことを確実にすることである。データメッセージを単に転送するEDCEの実施形態については、共有セキュリティマルチベクトルおよびデータメッセージマルチベクトルの作成時にすべての係数が互いに等しいわけではないことを確実にすることにより、復号化される暗号原文マルチベクトルがすべて同等の係数を有さないことが確実となる。
加えて、共有秘密(以下で定義する)、認証情報、およびタイムスタンプ等の多くの目的のために、別個のマルチベクトルがコード化され得る。メッセージの暗号化および復号化に加えて、EDCE実施形態のEDCEマルチベクトル形式および幾何代数の基礎により、単に暗号原文のみならず暗号化セキュリティを向上させるためのダミーデータ、追加の演算のためのコマンド指示、および/または追加の演算のための構成データを含むような単一伝送が可能になり得る。
Figure 0006974461
Figure 0006974461
Figure 0006974461
そして、当初の10進数およびそのサイズ(17)、マルチベクトル構造(2D、8つの要素)、および各要素の長さ(5)を得た。新しいマルチベクトルの係数として各部分を分配するために、10進数を「スライス」する必要がある。
演算上、手順は以下の通りである。
Figure 0006974461
これにより、以下のマルチベクトルが作成される。
Figure 0006974461
第1の代替的な「数字からマルチベクトル」分配方法
エントロピーを増加させるために、数字からマルチベクトルへの変換は、10進数表現の桁をシャッフルする中間ステップを含み得る。
上記のように、10進数=30792318992869221とする。この数字が奇数の桁(17)であるが、以下の通りに2つの数字列に分けることができる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
上記のマルチベクトルから当初の数字を復元する手順は以下の通りである。
現在のマルチベクトルが2Dであることから、数字列を2段階で復元する。ステップの数は、数字列の数に等しい。数字列を復元するために、二値演算子である論理積(AND)および右シフト(>>)を用いて以下の式を適用する。
Figure 0006974461
Figure 0006974461
Figure 0006974461
第2代替的な「数字からマルチベクトル」分配方法
マルチベクトルの係数をパッキングするための他の関係は、平文数値メッセージのマルチベクトル表現の係数が平文数値メッセージの値と平文数値メッセージのマルチベクトル表現の係数の値のうちの少なくとも1つとの数学的データ組織化に従うことを確実にすることであり、ここでマルチベクトル係数の1つ以上の値を組み込む数学的演算は、当初の平文数値メッセージの値に等しい結果を有する。数学的関係は、マルチベクトル係数の少なくとも1つの係数の加算、マルチベクトル係数の少なくとも1つの係数の減算、一定値の加算、一定値の減算、マルチベクトル係数の少なくとも1つの係数と一定値の乗算、マルチベクトル係数の少なくとも1つの係数と一定値との除算を含む。マルチベクトル表現における係数の特定の箇所に対する様々な数学的演算の箇所は、マルチベクトルに変換されたすべての送信元数値データメッセージ、および特定の暗号化/復号化経路における結果としての数値データ値へ変換されたマルチベクトルに対して一貫して適用されるべきである。例えば、加算および減算の演算の両方を含む数学的、およびマルチベクトル表現に8つの可能な係数を有する3次元マルチベクトル(例えば、各係数に感付けられた単位ベクトルに対応するように番号が振られたc0、c1、c2、c3、c12、c13、c23、およびc123)については、e2およびe12単位ベクトルの係数(すなわち、c2およびc12)が送信元数値データメッセージをマルチベクトルに変換する数学的関係の演算において減算される場合、送信先数値メッセージは、同じ数学的関係でマルチベクトルから数字の変換を行う時に、c2およびc12係数が減算されたものと扱うべきである。実際、数学的関係を用いて「パッキングされる」数値データメッセージマルチベクトルの係数から数値を取得することは、比較的単純かつ明確である。数値データメッセージ値を取得するために、数学的関係式に関連付けられたマルチベクトル係数の値を用いて、数値データメッセージマルチベクトルについての数学的関係式が単に実行される。係数の数学的関係における加算および減算の箇所以外では、暗号化されている当初の数値に数学的関係が等しくなるように、ユーザが望んだ場合には係数の実際の値が選択され得る。当業者は、上述の基準/制限が満たされ、上述の基準/制限が実際に満たされるように満足なEDCE実施形態をこれらの方法によって実現される係数値を選択する方法は多くあり、およそ無限にあるということを認識するであろう。
特殊なケースの扱い
分配の方法に関わらず、いかなる係数においても最初の桁は非ゼロとしなければならない。例えば、マルチベクトルへ変換される数字は、30792318990869221とする。上に示す分配方法を適用すると、以下のとおりとなる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
以下のEDCE実施形態の例において使用される分配方法は、以下の通りである。
10進数の列表現をパースして係数値を取得するための、上に開示の分配(すなわち、「パッキング」)方法について、マルチベクトルの10進数への変換は、10進数を形成するためにマルチベクトルの係数を繋ぐ処理と単に逆の処理である。
例えば、以下の通りである。
Figure 0006974461
Figure 0006974461
B.共有秘密
A.「共有秘密」は、暗号における基本的な要素である。共有秘密により、2つ以上の主体間で安全な通信が可能となる。様々な実施形態について、共有秘密は、上記の方法でマルチベクトルにパッキングされ得る桁の数列である。「共有秘密マルチベクトル」は、共有秘密マルチベクトルとメッセージマルチベクトルとの幾何積を作成するなど、他のマルチベクトルに対して演算を行うために使用され得る。
送信元と送信先との間の共有秘密を確立するための様々な方法が既に実施されている。本明細書中に開示されるように、「共有秘密」数字から「共有秘密マルチベクトル」への変換は完全に新規である。通信拠点装置は、システム管理者のみに認識される固有の識別子(数列)を用いて「事前調整」され得る。RSA等の公開/秘密鍵環境において、共有秘密は、送信先の公開鍵のみを用いて送信元によって暗号化され得る。この例において使用される以下の方法は、ディフィー・ヘルマン鍵交換プロトコルである。これは、数列共有秘密を確立するための、便利かつ広く採用されている方法である。しかし、様々な実施形態との使用には、安全に共有数列を作成する任意の方法が適している。
ディフィー・ヘルマンプロトコルは、整数剰余pの乗法群を使用し(例えば、https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n参照)、pは素数であり(例えば、https://en.wikipedia.org/wiki/Prime_number参照)、gは原始関数根剰余pである(例えば、https://en.wikipedia.org/wiki/Primitive_root_modulo_nおよびhttps://en.wikipedia.org/wiki/Modular_arithmetic参照)。これら2つの値は、得られた共有秘密が1からp−1の値を確実にとるように、この方法により選択される。ディフィー・ヘルマンの単純な例は、以下の通りである。
・アリスとボブは、同じ根剰余pおよび基本数gを用いることに最初に同意する。
Figure 0006974461
Figure 0006974461
Figure 0006974461
・アリスとボブによって演算された鍵は同じである。これが共有秘密である。
なお、ディフィー・ヘルマンプロトコルは、2つのみの参加者による鍵共有の交渉に限定されない。任意の数のユーザが、プロトコルの反復および中間データの交換を行うことによってこの同意に参加することができる。
数字例
以下を想定する。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
上記の共有秘密数列は、上記のように分配され、共有秘密マルチベクトルが作成され得る。
Figure 0006974461
Figure 0006974461
C.暗号原文作成
暗号原文は、メッセージマルチベクトルと1つ以上の他のマルチベクトルとの幾何積であるEDCE原始関数を用いて作成される。最も基本的な形態において、暗号原文マルチベクトルは、メッセージマルチベクトルと共有秘密マルチベクトルとの幾何積であり得る。
手順は、以下の通りに規定される。平文メッセージが「this is a test」とする。「テキストから数字」変換を適用することにより、平文メッセージを以下の数字として得る。
2361031878030638688519054699098996
2Dマルチベクトル構造を用いる「数字からマルチベクトル」変換を適用することにより、平文マルチベクトルは以下の通りとなる。
Figure 0006974461
上で定められた共有秘密マルチベクトルを用いて、以下を得る。
Figure 0006974461
暗号原文マルチベクトルは、以下の幾何積として定義され得る。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
D.復号化
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
従って、以下が得られる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
最後に、この数字は、上記の「数字からテキスト」手順を用いてテキストに変換され、以下が得られる。
Figure 0006974461
E.EDCEフローチャート(図5〜図6)
図5は、幾何積「sandwich」を用いることによって行われる高度データ中心型暗号化(EDCE)暗号化/復号化についての実施形態に係るフローチャート500である。
設定(502):署名および共有秘密マルチベクトルを確立することにより、数字列が開始される。ここで、ディフィー・ヘルマン手順508が示されるが、RSA等の他の非対称鍵暗号を使用して、送信元504および送信先506のみに認識される数列を生成してもよい。代替的に、拠点装置は、セッションマルチベクトルが構築され得る、システム管理者のみに認識される秘密(数列)を用いて「事前調整」され得る。ディフィー・ヘルマン手順508により、共有秘密鍵510が設定/作成され、そして、設定502により、マルチベクトル設定512においてディフィー・ヘルマン鍵510のマルチベクトルが作成される。
送信元(504):メッセージASCIIコード列を数列に繋ぎ、その数字を514においてメッセージマルチベクトルの係数に分配することにより、メッセージマルチベクトル516がメッセージ作成演算516において構築される。係数への分配の方法では、送信元504および送信先506の両方に認識されて使用される所定のアルゴリズムが使用される。
Figure 0006974461
Figure 0006974461
図6は、シルベスター方程式を用いたEDCE暗号化/復号化についての実施形態のフローチャート600である。
設定(602):数字列は、署名および共有秘密マルチベクトルを確立することによって開始される。ここで、ディフィー・ヘルマン手順608が示されるが、RSA等の他の非対称鍵暗号を使用して、送信元604および送信先606のみによって認識される数列を生成しても良い。代替的に、代替的に、拠点装置は、セッションマルチベクトルが構築され得る、システム管理者のみに認識される秘密(数列)を用いて「事前調整」され得る。ディフィー・ヘルマン手順608により、共有秘密鍵610が設定/作成され、そして、設定602により、マルチベクトル設定612においてディフィー・ヘルマン鍵のマルチベクトル612が作成される。
送信元(604):メッセージASCIIコード列を数列に繋ぎ、その数字を614においてメッセージマルチベクトルの係数に分配することにより、メッセージマルチベクトル616がメッセージ作成演算614において構築される。係数への分配方法では、送信元604および送信先606の両方に認識されて使用される所定のアルゴリズムが使用される。
Figure 0006974461
Figure 0006974461
F.0ブレード換算演算からの対称鍵ペア暗号化/復号化(図7)
0ブレード換算演算
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
幾何代数暗号化原始関数
原始関数1−「Sandwich」/三重積
暗号化
第1暗号化原始関数は、以下のように、0ブレード換算演算(本明細書中において、上で説明した)によって生成された鍵のペアを用いた幾何積の数字列を通じて作成することができる。
Figure 0006974461
復号化
復号化処理では、以下のように、事前に定義された逆元マルチベクトルが使用される。
Figure 0006974461
原始関数2−マルチベクトルベースのシルベスター方程式
暗号化
ここで、周知のシルベスター方程式が採用され、第2暗号化原始関数が生成される。ここでも、0ブレード換算演算によって、対称暗号化鍵のペアが以下のように生成される(本明細書中において、上で説明した)。
Figure 0006974461
復号化
復号化演算には、以下のように、3次元マルチベクトルについてのシルベスター方程式の閉解が伴う。
Figure 0006974461
Figure 0006974461
3次元における二重共有秘密を用いた暗号化および復号化の数値例
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
幾何積「sandwich」または幾何三重積
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
マルチベクトルベースのシルベスター方程式
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
G.幾何代数および算術関数を用いた解読不能原始関数
秘密共有および3Dマルチベクトルの例
設定
マルチベクトルは、多次元およびクリフォードkベクトルの成分が得られるような幾何代数として機能し得る。例えば、以下の通りである。
Figure 0006974461
ここで、以下の成分が示される。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
解読不能原始関数
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
なお、他のマルチベクトルのバリエーションも可能である。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
ここまでで、暗号化は、既知の暗号原文攻撃のペアを受けやすかった。しかし、以下で部分的に示すように、最終的な解読不能性が実現された。
解読不能暗号を用いた暗号化原始関数
原始関数1−「Sandwich」/三重積
暗号化
第1暗号化原始関数は、以下のように、0ブレード換算演算(上に記載)によって生成された鍵のペアを用いる幾何積の数字列によって作成され得る。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
復号化
復号化処理は、以下のステップを含み得る。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
原始関数2−マルチベクトルベースのシルベスター方程式
暗号化
ここでは、以下のように、0ブレード換算演算(上で説明)によって生成された対称共有秘密鍵のペアを用いる第2暗号化原子関数を生成するためにマルチベクトルベースのシルベスター方程式採用がされ得る。
Figure 0006974461
「sandwich」/三重積を用いる暗号化原子関数について上で行ったように、XORマスキングのために上記の同じ処理を使用することによってセキュリティの他の層を追加することが好ましい。
Figure 0006974461
復号化ion
復号化演算には、3次元マルチベクトル空間についてのマルチベクトルベースのシルベスター方程式の閉解を伴い、XORは、上記の「sandwich」/三重積について「アンマスク」する。処理の概要は、以下の通りである。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
メッセージマルチベクトルは、マルチベクトルベースのシルベスター方程式についての以下の閉解を用いて復元される。
Figure 0006974461
Figure 0006974461
付録A:幾何代数の概要
Figure 0006974461
Figure 0006974461
Figure 0006974461
単純な二次元ベクトルのペアは以下の通りである。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
結果として、以下となる。
Figure 0006974461
Figure 0006974461
例えば、以下とする。
Figure 0006974461
Figure 0006974461
Figure 0006974461
マルチベクトル間の幾何積を演算する他の方法では、上で示したドット積およびウェッジ積の規則が組み合わされ、一般的な幾何積を拡大して、以下の規則が定義される。
Figure 0006974461
Figure 0006974461
Figure 0006974461
マルチベクトルおよびブレードの定義
マルチベクトルを形成するオブジェクト(もしくは要素)を記載する他の方法は、「ブレード」もしくは「kブレード」の定義を使用することである。この取り決めにおいて、例えば、k=0ではスカラを得て、k=1ではベクトルを得て、k=2では二重ベクトルを得る。
マルチベクトルは、以下によって形成される。
Figure 0006974461
nは、マルチベクトルの次元である。
上記の例において示されたように、2つの1ブレードマルチベクトルの幾何積により、0ブレードに2ブレードマルチベクトルを加えたものが得られる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
上記の特定の例において、以下が得られる。
Figure 0006974461
Figure 0006974461
マルチベクトル演算
実施形態は、一部が幾何代数マルチベクトル演算の固有の特徴に依存している。演算における鍵は、以下の通りである。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
従って、以下となる。
Figure 0006974461
2ブレードもしくは3ブレードのマルチベクトルの振幅は、以下のとおり演算される。
Figure 0006974461
例えば、2ブレードのマルチベクトルについて考える。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
このため、以下が得られる。
Figure 0006974461
マルチベクトル転置は、以下の通り規定される。
Figure 0006974461
これにより、以下が得られる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
このため、以下が得られる。

Figure 0006974461
Figure 0006974461
マルチベクトルが1ブレードの下位代数となるような特殊なケースにおいて、逆元は、以下の関係による逆転を用いても演算され得る。
Figure 0006974461
例えば、以下のマルチベクトルについて考える。
Figure 0006974461
この場合の逆転は、以下の通りである。
Figure 0006974461
これは、当初のマルチベクトルと同一である。その逆元を演算すると、以下の通りとなる。
Figure 0006974461
これは、以下の理由による。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
この一般式の例として、以下がある。
Figure 0006974461
このクリフォード結合は、以下により得られる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
クリフォード結合によって規定される当初の逆元式を用いて、以下が得られる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
マルチベクトル逆元の使用は、様々な実施形態において重要である。逆元を演算するために使用される幾何代数におけるアルゴリズムは、マルチベクトルの空間次元nによって異なる。この幾何代数の概要は、余すところなく記載することを意図しておらず、単に本明細書において示される実施形態の特徴および例についての説明に充分とすることを意図したものである。より余すところのない詳述については、「参考文献1」を参考にされたい。
署名、封止、送達メッセージにおけるシルベスター方程式の使用
暗号原文の「署名および封止」の方法においては、シルベスター方程式「参考文献2」と呼ばれる数学の分野における周知の行列方程式を用いる。
Figure 0006974461
Figure 0006974461
Figure 0006974461
これは、以下の形態のマルチベクトルに対する線形関数を規定した場合に得られる。
Figure 0006974461
ここで、シルベスター方程式の要素は、以下の通りに定義される。
Figure 0006974461
Figure 0006974461
Figure 0006974461
Figure 0006974461
「参考文献2」における四次元数もしくは行列を用いた結果に類似の解は、以下のように「参考文献1」に記載されている。
Figure 0006974461
そして、復号化処理の前に暗号原文をアンパックするために送信先によって使用される。
[参考文献1]「Functions of Multivector Variables」 PLOS ONE | DOI:10.1371/journal.pone.0116943 March 16, 2015, James M. Chappell, Azhar Iqbal, Lachlan J. Gunn, Derek Abbott, School of Electrical and Electronic Engineering, University of Adelaide, Adelaide, South Australia, Australia}
[参考文献2]Janovska D, Opfer G (2008) Linear equations in quaternionic variables. Mitt Math Ges Hamburg 27: 223-234
本発明についての上記の説明は、例示および説明を目的としたものである。本発明を余すところなく伝えることや開示された形態に正確に限定することは意図していない。また、上記の教示を元に他の変形や変更を行うことは可能である。実施形態は、本発明の減速およびその実施につい対して最良となるように選択および記載されたものであり、考えられる特定の使用に適するように様々な実施形態および様々な変形例で本発明を他の当業者が実施できるものである。添付の本発明に関する先生は、先行技術によって限定されない範囲で本発明の他の代替的な実施形態を含むものと解釈されることを意図している。

Claims (50)

  1. Figure 0006974461
  2. 幾何代数幾何積およびマルチベクトルの逆元の評価は、加算、減算、乗算、および除算の基本的な算術演算を用いて、前記送信元演算装置および前記送信先演算装置に対して実施される、請求項1に記載の方法。
  3. 前記送信元演算装置および前記送信先演算装置上での前記幾何代数幾何積およびマルチベクトルの逆元の実施は、素数の選択、対数関数の演算、および/または自然対数関数の複雑な演算を含まない、請求項2に記載の方法。
  4. Figure 0006974461
  5. 前記標準的なコンピュータ文字コード化特徴は、前記当初の英数字テキストメッセージのテキスト文字についてのASCII(情報交換用米国標準コード)コードである、請求項4に記載の方法。
  6. Figure 0006974461
  7. Figure 0006974461
  8. Figure 0006974461
  9. Figure 0006974461
  10. Figure 0006974461
  11. Figure 0006974461
  12. Figure 0006974461
  13. Figure 0006974461
  14. Figure 0006974461
  15. 前記追加の特徴データは、暗号化セキュリティを向上させるためのダミーデータと、追加の演算のためのコマンド指示と、前記追加の演算のための構成データとを含む群から選択される少なくとも1つからなる、請求項14に記載の方法。
  16. Figure 0006974461
  17. Figure 0006974461
  18. Figure 0006974461
  19. Figure 0006974461
  20. Figure 0006974461

    Figure 0006974461
  21. Figure 0006974461
  22. Figure 0006974461
  23. Figure 0006974461
  24. Figure 0006974461
  25. Figure 0006974461
  26. Figure 0006974461
  27. 幾何代数幾何積およびマルチベクトルの逆元の評価は、前記送信元演算装置および前記送信先演算装置によって、加算、減算、乗算、および除算の基本的な算術演算を用いて実施される、請求項26に記載のEDCEシステム。
  28. 前記送信元演算装置および前記送信先演算装置上での前記幾何代数幾何積およびマルチベクトルの逆元の実施は、素数の選択、対数関数の演算、および/または自然対数関数の複雑な演算を含まない、請求項27に記載のEDCEシステム。
  29. Figure 0006974461
  30. 前記標準的なコンピュータ文字コード化特徴は、前記当初の英数字テキストメッセージのテキスト文字についてのASCII(情報交換用米国標準コード)コードである、請求項29に記載のEDCEシステム。
  31. Figure 0006974461
  32. Figure 0006974461
  33. Figure 0006974461
  34. Figure 0006974461
  35. Figure 0006974461
  36. Figure 0006974461
  37. Figure 0006974461
  38. Figure 0006974461
  39. Figure 0006974461
  40. 前記追加の特徴データは、暗号化セキュリティを向上させるためのダミーデータと、追加の演算のためのコマンド指示と、前記追加の演算のための構成データとを含む群から選択される少なくとも1つからなる、請求項39に記載のEDCEシステム。
  41. Figure 0006974461
  42. Figure 0006974461
  43. Figure 0006974461
  44. Figure 0006974461
  45. Figure 0006974461
  46. Figure 0006974461
  47. Figure 0006974461
  48. Figure 0006974461
  49. Figure 0006974461
  50. Figure 0006974461
JP2019527770A 2016-08-02 2017-08-02 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム Active JP6974461B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662370183P 2016-08-02 2016-08-02
US62/370,183 2016-08-02
US201762452246P 2017-01-30 2017-01-30
US62/452,246 2017-01-30
US201762483227P 2017-04-07 2017-04-07
US62/483,227 2017-04-07
PCT/US2017/045141 WO2018026944A1 (en) 2016-08-02 2017-08-02 Methods and systems for enhanced data-centric encryption systems using geometric algebra

Publications (2)

Publication Number Publication Date
JP2019528028A JP2019528028A (ja) 2019-10-03
JP6974461B2 true JP6974461B2 (ja) 2021-12-01

Family

ID=61070166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019527770A Active JP6974461B2 (ja) 2016-08-02 2017-08-02 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム

Country Status (6)

Country Link
US (1) US10728227B2 (ja)
EP (1) EP3494663B8 (ja)
JP (1) JP6974461B2 (ja)
KR (1) KR102520502B1 (ja)
CN (1) CN109792383B (ja)
WO (1) WO2018026944A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159498B1 (en) * 2018-03-21 2021-10-26 Amazon Technologies, Inc. Information security proxy service
US11323255B2 (en) * 2019-08-01 2022-05-03 X-Logos, LLC Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes
CN111859035B (zh) * 2020-08-12 2022-02-18 华控清交信息科技(北京)有限公司 数据处理方法及装置
EP4050471A1 (en) * 2021-02-26 2022-08-31 Zama SAS Encrypted scalar multiplication
CN113434876A (zh) * 2021-06-22 2021-09-24 海光信息技术股份有限公司 一种数据加密方法、装置、内存控制器、芯片及电子设备
CN114153854B (zh) * 2022-02-09 2022-05-10 支付宝(杭州)信息技术有限公司 一种基于秘密分享的多键分组信息获取方法和系统
CN117473540A (zh) * 2023-12-28 2024-01-30 北京天健源达科技股份有限公司 文件字符加密方法和装置

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US200240A (en) * 1878-02-12 Improvement in nails for boots and shoes
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US5220606A (en) * 1992-02-10 1993-06-15 Harold Greenberg Cryptographic system and method
SG42847A1 (en) * 1993-05-05 1997-10-17 Zunquan Liu Device and method for data encryption
US5577124A (en) * 1995-03-09 1996-11-19 Arithmetica, Inc. Multi-purpose high speed cryptographically secure sequence generator based on zeta-one-way functions
US6961427B1 (en) * 1999-11-23 2005-11-01 General Instrument Corporation Methods and apparatus for keystream generation
JP2001255814A (ja) * 2000-03-10 2001-09-21 Murata Mach Ltd 復号方法、復号装置、及び復号プログラムの記録媒体
US6853964B1 (en) 2000-06-30 2005-02-08 Alyn Rockwood System for encoding and manipulating models of objects
US20030223579A1 (en) * 2000-07-13 2003-12-04 Eran Kanter Secure and linear public-key cryptosystem based on parity-check error-correcting
US7308469B2 (en) 2001-06-15 2007-12-11 Robert Joseph Harley Method for generating secure elliptic curves using an arithmetic-geometric mean iteration
EP1271951A1 (en) * 2001-06-22 2003-01-02 Octalis S.A. Conditional access system for digital data by key decryption and re-encryption
US20040105546A1 (en) * 2002-11-19 2004-06-03 Leon Chernyak Geometry-Based Symmetric Cryptosystem Method
JP2005122484A (ja) 2003-10-16 2005-05-12 Sony Corp 私的情報管理装置及び私的情報管理方法
JP4282546B2 (ja) * 2004-05-19 2009-06-24 株式会社東芝 暗号装置、復号装置、鍵生成装置、プログラム及び方法
US20060036861A1 (en) * 2004-07-04 2006-02-16 Leon Chernyak Method and apparatus for algebro-geometric key establishment protocols based on matrices over topological monoids
US8331559B2 (en) * 2004-10-12 2012-12-11 Chiou-Haun Lee Diffused data encryption/decryption processing method
US7587396B2 (en) 2004-11-24 2009-09-08 Oracle International Corporation Encoding data to be sorted
US8719324B1 (en) 2005-04-28 2014-05-06 Cetin K. Koc Spectral modular arithmetic method and apparatus
JP4575283B2 (ja) * 2005-11-15 2010-11-04 株式会社東芝 暗号装置、復号装置、プログラム及び方法
JP4197710B2 (ja) * 2006-07-19 2008-12-17 株式会社東芝 暗号装置、復号装置、プログラム及び方法
US7912213B2 (en) 2006-10-11 2011-03-22 Frank Rubin Device, system and method for fast secure message encryption without key distribution
JP2009116183A (ja) * 2007-11-08 2009-05-28 Toshiba Corp 暗号装置、復号装置、鍵生成装置及びプログラム
US8498415B2 (en) 2007-11-27 2013-07-30 Bon K. Sy Method for preserving privacy of a reputation inquiry in a peer-to-peer communication environment
JP2009175197A (ja) * 2008-01-21 2009-08-06 Toshiba Corp 暗号装置、復号装置、鍵生成装置及びプログラム
EP2264941A1 (en) 2008-04-09 2010-12-22 Panasonic Corporation Signature and verification method, signature generation device, and signature verification device
JP2010204466A (ja) * 2009-03-04 2010-09-16 Toshiba Corp 暗号装置、復号装置、鍵生成装置及びプログラム
EP2495908A4 (en) * 2009-10-29 2017-07-19 Mitsubishi Electric Corporation Data processing device
US8626242B2 (en) * 2009-11-02 2014-01-07 Panasonic Corporation Adaptive array antenna and wireless communication apparatus including adaptive array antenna
US8630422B2 (en) 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8515058B1 (en) 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
US8351601B2 (en) * 2010-02-18 2013-01-08 King Fahd University Of Petroleum And Minerals Elliptic polynomial cryptography with secret key embedding
JP5424974B2 (ja) * 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
US8903083B2 (en) * 2010-08-16 2014-12-02 International Business Machines Corporation Fast evaluation of many polynomials with small coefficients on the same point
US8756410B2 (en) * 2010-12-08 2014-06-17 Microsoft Corporation Polynomial evaluation delegation
EP2697932A2 (en) * 2011-04-09 2014-02-19 Universität Zürich Method and apparatus for public-key cryptography based on error correcting codes
US9137250B2 (en) * 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9083526B2 (en) 2011-04-29 2015-07-14 International Business Machines Corporation Fully homomorphic encryption
JP6069852B2 (ja) * 2011-08-29 2017-02-01 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
BR112014028274A2 (pt) 2012-05-14 2017-07-18 Guido Meardi decomposição de dados residuais durante a codificação, decodificação e reconstrução do sinal em uma hierarquia em níveis
JP6019453B2 (ja) * 2012-07-05 2016-11-02 株式会社クリプト・ベーシック 暗号化装置、復号化装置、及びプログラム
CN104429019B (zh) * 2012-07-05 2017-06-20 日本电信电话株式会社 秘密分散系统、数据分散装置、分散数据变换装置以及秘密分散方法
JP5814880B2 (ja) * 2012-07-31 2015-11-17 三菱電機株式会社 暗号システム、暗号方法、暗号プログラム及び復号装置
EP2915279B1 (en) 2012-10-30 2019-05-01 Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO Method and system for protected exchange of data
WO2015017787A2 (en) 2013-08-01 2015-02-05 Visa International Service Association Homomorphic database operations apparatuses, methods and systems
EP2860905A1 (en) 2013-10-09 2015-04-15 Thomson Licensing Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
US9524392B2 (en) * 2013-11-30 2016-12-20 Microsoft Technology Licensing, Llc Encrypting genomic data for storage and genomic computations
JP6173904B2 (ja) * 2013-12-13 2017-08-02 株式会社東芝 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム
WO2015094245A1 (en) 2013-12-18 2015-06-25 Intel Corporation Technologies for collecting advertising statistics in a privacy sensitive manner
US9749128B2 (en) * 2014-05-15 2017-08-29 Xerox Corporation Compact fuzzy private matching using a fully-homomorphic encryption scheme
JP6417727B2 (ja) * 2014-06-09 2018-11-07 富士通株式会社 情報集約システム、プログラム、および方法
JP2016012111A (ja) 2014-06-30 2016-01-21 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
CN104113543B (zh) * 2014-07-18 2017-03-15 中国科学院软件研究所 一种基于分组密码的消息鉴别方法
US9819650B2 (en) 2014-07-22 2017-11-14 Nanthealth, Inc. Homomorphic encryption in a healthcare network environment, system and methods
US9553723B2 (en) * 2014-11-14 2017-01-24 Unsene, ehf. Multi-dimensional encryption
WO2016135726A1 (en) * 2015-02-25 2016-09-01 Secret Double Octopus Ltd. Method and system for authenticating and preserving the integrity of communication, secured by secret sharing
US9813243B1 (en) * 2015-03-30 2017-11-07 EMC IP Holding Company LLC Methods and apparatus for password-based secret sharing schemes
CN106160995B (zh) * 2015-04-21 2019-04-16 郑珂威 基于系数映射变换的多项式完全同态加密方法及系统
GB2549981B (en) * 2016-05-05 2018-10-10 Jung Tjhai Cen A public key cryptosystem based on the partitioning of elements of vectors

Also Published As

Publication number Publication date
US20180041481A1 (en) 2018-02-08
KR102520502B1 (ko) 2023-04-12
KR20190034631A (ko) 2019-04-02
EP3494663B8 (en) 2023-11-01
EP3494663C0 (en) 2023-08-30
US10728227B2 (en) 2020-07-28
CN109792383A (zh) 2019-05-21
EP3494663A1 (en) 2019-06-12
EP3494663B1 (en) 2023-08-30
WO2018026944A1 (en) 2018-02-08
EP3494663A4 (en) 2019-12-25
JP2019528028A (ja) 2019-10-03
CN109792383B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
JP6974461B2 (ja) 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
JP6720424B1 (ja) 鍵共有デバイス及び方法
CN110419194B (zh) 密钥交换设备和方法
US20190109701A1 (en) Methods and systems for enhanced data-centric homomorphic encryption sorting using geometric algebra
Amounas et al. Fast mapping method based on matrix approach for elliptic curve cryptography
US11323255B2 (en) Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes
US20190044697A1 (en) Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra
CN107359979B (zh) 基于截断多项式的对称全同态加密方法
US20180294951A1 (en) Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra
WO2009026771A1 (fr) Procédé pour négocier une clé, chiffrer et déchiffrer des informations, signer et authentifier les informations
EP2742644B1 (en) Encryption and decryption method
WO2020018454A1 (en) Cryptography operations for secure post-quantum communications
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
KR20220079522A (ko) 기하 대수 및 헨젤 코드들을 이용한 암호화를 위한 방법들 및 시스템들과 동형 암호화 시스템들
JP2018036418A (ja) 暗号システム、暗号方法及び暗号プログラム
Terada et al. Password-based authenticated key exchange from standard isogeny assumptions
WO2019079355A1 (en) METHODS AND SYSTEMS FOR HOMOMORPHE ENCRYPTION SORTING BASED ON ENHANCED DATA USING GEOMETRIC ALGEBRA
WO2018187604A1 (en) Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra
US20220094532A1 (en) Methods and systems for homomorphic data representation and concealment powered by clifford geometric algebra
WO2018011825A1 (en) Encryption and decryption of messages
Hafidi et al. Fast Hybrid Cryptosystem for Enhancing Cloud Data Security Using Elliptic Curve Cryptography and DNA Computing
Amounas et al. A novel approach for enciphering data based ecc using catalan numbers
Sasikumar et al. Comprehensive Review and Analysis of Cryptography Techniques in Cloud Computing
WO2018140961A1 (en) Methods and systems for enhanced data-centric additive homomorphic encryption systems using geometric algebra
KR20210066695A (ko) 래티스를 기반으로 하는 신원 기반 암호화 방법

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20190401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211104

R150 Certificate of patent or registration of utility model

Ref document number: 6974461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150