JP2021523620A - 秘密を通信する方法及びシステム - Google Patents

秘密を通信する方法及びシステム Download PDF

Info

Publication number
JP2021523620A
JP2021523620A JP2020562740A JP2020562740A JP2021523620A JP 2021523620 A JP2021523620 A JP 2021523620A JP 2020562740 A JP2020562740 A JP 2020562740A JP 2020562740 A JP2020562740 A JP 2020562740A JP 2021523620 A JP2021523620 A JP 2021523620A
Authority
JP
Japan
Prior art keywords
secret
public key
sender
elliptic curve
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020562740A
Other languages
English (en)
Inventor
スティーヴン ライト,クレイグ
スティーヴン ライト,クレイグ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
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
Priority claimed from GBGB1807822.0A external-priority patent/GB201807822D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2021523620A publication Critical patent/JP2021523620A/ja
Pending legal-status Critical Current

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
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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)
    • H04L9/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/32Cryptographic 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

ビットコインブロックチェーン上で秘密(k0,k1)を通信する方法が開示される。当該方法は、受信者により選択可能な複数の秘密を識別する情報を送信するステップと、受信者によるアクセスのために選択される第1の秘密(Si)に対応する、楕円曲線暗号システムの第1の公開鍵(Ui)を受信するステップとを含み、第1の秘密鍵(m)は、受信者にアクセス可能である。受信者によるアクセスのために選択されていない第2の秘密に対応する第2の公開鍵(U1-i)が受信され、対応する第2の秘密鍵は、受信者に利用可能でない。それぞれの第1及び第2の公開鍵(X0,X1)によって暗号化された第1及び第2の秘密は受信者に送信され、第1の秘密は、第1の秘密鍵によって受信者にアクセス可能であり、第2の秘密は、受信者にアクセス不可能であり、送信者は、第1の秘密と第2の秘密とを区別できない。

Description

本開示は、コンピュータ実施システム及び方法に関し、より詳細には、デジタル資産を転送するコンピュータ実施システム及び方法に関する。本開示は、ブロックチェーンに基づくデータ転送システムに特に適しているが、これに限定されない。
この文献では、全ての形式の電子的なコンピュータに基づく分散型の台帳を含む「ブロックチェーン(blockchain)」という用語を使用する。これらは、コンセンサスに基づくブロックチェーン及びトランザクションチェーン技術、プライベート型(permissioned)及びパブリック型(un-permissioned)台帳、共有台帳及びこれらの変形を含む。ブロックチェーン技術の最も広く知られているアプリケーションはビットコイン台帳であるが、他のブロックチェーンの実装も提案されて開発されている。ここでは、便宜上及び説明上の目的でビットコインが参照されることがあるが、本開示は、ビットコインブロックチェーンでの使用に限定されず、代替のブロックチェーンの実装及びプロトコルも、本開示の範囲内に入る点に留意すべきである。「ユーザ」という用語は、ここでは人間又はプロセッサに基づくリソースを示すことがある。
ブロックチェーンは、ピアツーピアの電子台帳であり、これは、結果としてトランザクションで構成される、ブロックで構成されるコンピュータに基づく非集中的な分散型システムとして実装される。各トランザクションは、ブロックチェーンシステム内の参加者の間のデジタル資産の制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは、前のブロックのハッシュを含み、それにより、ブロックチェーンの開始以降にブロックチェーンに書き込まれた全てのトランザクションの永続的で修正不可能なレコードを作成するように、ブロックが一緒につながれる。トランザクションは、トランザクションのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さいプログラムを含み、これは、トランザクションのアウトプットがどのように誰によってアクセスできるかを指定する。ビットコインプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を使用して記述される。
トランザクションがブロックチェーンに書き込まれるために、これは「承認され(validated)」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを確保するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、ロック及びロック解除スクリプトを実行することにより、未使用トランザクション(unspent transaction, UTXO)に対してこの承認作業を実行する。ロック及びロック解除スクリプトの実行がTRUEに評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるために、これは、i)トランザクションを受信した最初のノードにより承認されなければならず、トランザクションが承認された場合、ノードはそれをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新たなブロックに追加されなければならず、且つ、iii)マイニングされなければならず、すなわち、過去のトランザクションの公開台帳に追加されなければならない。
ブロックチェーン技術は、暗号通貨の実装の使用にとって最も広く知られているが、デジタル起業家は、新たなシステムを実装するために、ビットコインが基礎となる暗号セキュリティシステムと、ブロックチェーンに記憶できるデータとの双方の使用を調査し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動化タスク及びプロセスに使用され得る場合には、非常に有利になる。このような解決策は、ブロックチェーンの利点(例えば、イベントの永続的な改ざん防止記録、分散処理等)を利用することができる一方で、これらの用途においてより多目的になることができる。
関係者の間でのデータの交換の場合、データファイルの受信者は、選択肢から1つ又は限られた数のファイルにのみにアクセスできる一方で、どのファイルがアクセスされたかをデータの送信者が認識できないようにすることがしばしば望ましい。この構成は、紛失通信(Oblivious Transfer)として知られており、図1〜図3を参照して以下に説明する。
図1を参照すると、紛失通信は、リソース(ファイル、データベースレコード又はいずれかの他のデジタル資産)のアクセスを制御し、向上したプライバシーでそのリソースを転送する方法である。紛失通信の基本的な問題は、送信者が受信者に送信された多くのファイルのうち、受信者がどれを開くかを習得すべきでないメカニズムを定義することである。Aliceは送信者であり、Bobは受信者であり、mはメッセージであり、bはメッセージのインデックスである。Aliceは多数のメッセージを送信し、Bobはどれかのメッセージを受信して復号することを望むかを選択する。Aliceは、Bobがどれを選択するかを認識しない。
基本的なメカニズムは、図2を参照してディフィー・ヘルマン(Diffie-Hellman, DH)鍵交換[10]を考慮することにより定義できる。図2に示すように、コア・ディフィー・ヘルマン(Core Diffie Hellman, CDH)鍵交換では、どの鍵が交換されているか、したがって、ディフィー・ヘルマンプロトコルの結果としてどのメッセージが解読されるかが明らかであることが分かる。Cは暗号化されたメッセージであり、Eは秘密鍵Kの引数をとる暗号化関数であり、Dは暗号化されたメッセージC及び秘密鍵Kの引数をとる解読関数である。どのメッセージが解読されているかという第三者による認識は、特定の状況では低減したデータのセキュリティをもたらし、これは、許可されていない者がデータにアクセスすることをもたらす可能性がある。
次に図3を参照して、紛失通信に適応するためのDHメカニズムの変形について説明する。受信者は複数の鍵を送信者に返信するが、1つの鍵のみが本物であり、他のものが「ダミー」又は冗長であることが分かる。図3に示す構成と図2に示す標準的なコア・ディフィー・ヘルマン(core Diffie Hellman, CDH)プロトコルとの間の主な違いは、BobからAliceに戻される鍵がビット'b'の値に依存するということである。この計算はBobにより行われる。次いで、AliceはBobから受信した鍵に基づいて2つの鍵を構築する。Aliceはこれらの2つの鍵をBobに返信する。Bobは、Aliceから受信した鍵と、AliceがBobに渡した前の値からBobが計算した鍵とを使用して、Aliceから受信したメッセージを解読できる。図2の構成の場合と同様に、Eは暗号化アルゴリズムであり、Dは解読アルゴリズムである。Bobはメッセージペアの一方のみを解読でき、他方の組み合わせは「ダミー」であり、動作しない。
ディフィー・ヘルマンメカニズムの変形を使用して、AliceはBobが解読するメッセージを「紛失している(oblivious)」ままであることが分かる。この例では、Bobが解読できる2つの可能なメッセージのうちの1つのみが存在する。
したがって、ブロックチェーンに適用可能な紛失通信メカニズムを提供することにより、データセキュリティを改善することが望ましい。
現在、このような改善された解決策が考案されている。
したがって、本開示によれば、添付の特許請求の範囲に定義される方法及びシステムが提供される。
少なくとも1つの秘密を送信者から受信者に通信する方法が提供されてもよく、当該方法は、
受信者により選択可能な複数の秘密を識別する情報を送信者から受信者に送信するステップと、
送信者において、受信者から、受信者によるアクセスのために選択されるそれぞれの第1の前記秘密に対応する少なくとも1つの第1の公開鍵を受信するステップであり、前記第1の公開鍵又はそれぞれの前記第1の公開鍵は、楕円曲線暗号システムの公開鍵/秘密鍵ペアの一部であり、前記第1の公開鍵に対応する第1の秘密鍵は、受信者にアクセス可能である、ステップと、
送信者において、受信者から、受信者によるアクセスのために選択されていないそれぞれの第2の前記秘密に対応する少なくとも1つの第2の公開鍵を受信するステップであり、前記第2の公開鍵又はそれぞれの前記第2の公開鍵は、前記楕円曲線暗号システムの公開鍵であり、前記第2の公開鍵に対応するそれぞれの第2の秘密鍵は、受信者に利用可能でない、ステップと、
対応する前記第1の公開鍵によって暗号化された少なくとも1つの前記第1の秘密を送信者から受信者に送信するステップと、
対応する前記第2の公開鍵によって暗号化された少なくとも1つの前記第2の秘密を送信者から受信者に送信するステップと
を含み、
前記第1の秘密又はそれぞれの前記第1の秘密は、対応する前記第1の秘密鍵によって前記受信者にアクセス可能であり、前記第2の秘密又はそれぞれの前記第2の秘密は、前記受信者にアクセス不可能であり、前記送信者は、前記第1の秘密と前記第2の秘密とを区別できない。
送信者から受信者に送信された少なくとも1つの秘密を受信する方法が提供されてもよく、当該方法は、
受信者において、受信者により選択可能な複数の秘密を識別する情報を受信するステップと、
受信者によるアクセスのために選択されたそれぞれの第1の前記秘密に対応する少なくとも1つの第1の公開鍵を受信者から送信者に送信するステップであり、前記第1の公開鍵又はそれぞれの前記第1の公開鍵は、楕円曲線暗号システムの公開鍵/秘密鍵ペアの一部であり、前記第1の公開鍵に対応する第1の秘密鍵は、受信者にアクセス可能である、ステップと、
受信者によるアクセスのために選択されていないそれぞれの第2の前記秘密に対応する少なくとも1つの第2の公開鍵を受信者から送信者に送信するステップであり、前記第2の公開鍵又はそれぞれの前記第2の公開鍵は、前記楕円曲線暗号システムの公開鍵であり、前記第2の公開鍵に対応するそれぞれの第2の秘密鍵は、受信者に利用可能でない、ステップと、
受信者において、送信者から、対応する前記第1の公開鍵によって暗号化された少なくとも1つの前記第1の秘密を受信するステップと、
受信者において、送信者から、対応する前記第2の公開鍵によって暗号化された少なくとも1つの前記第2の秘密を受信するステップと
を含み、
前記第1の秘密又はそれぞれの前記第1の秘密は、対応する前記第1の秘密鍵によって前記受信者にアクセス可能であり、前記第2の秘密又はそれぞれの前記第2の秘密は、前記受信者にアクセス不可能であり、前記送信者は、前記第1の秘密と前記第2の秘密とを区別できない。
システムが提供されてもよく、当該システムは、
プロセッサと、
プロセッサによる実行の結果として、システムにここに記載のコンピュータ実施方法のいずれかの実施形態を実行させる実行可能命令を含むメモリと
を含む。
コンピュータシステムのプロセッサによって実行された結果として、コンピュータシステムにここに記載のコンピュータ実施方法の実施形態を少なくとも実行させる実行可能命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体が提供されてもよい。
本開示に従った様々な実施形態について、図面を参照して説明する。
送信者と受信者との間のメッセージ転送を示す。 ディフィー・ヘルマン鍵交換の動作を示す。 紛失通信の動作の原理を示す。 紛失通信プロセスを示す。 紛失通信プロセスを示す。 様々な実施形態が実装できる計算環境を示す概略図である。
図4を参照すると、ビットコインブロックチェーン上で送信者Bobから受信者Aliceへの紛失通信プロセスを実行する方法が示されている。Bobは、n個の鍵{k1,k2,...,kn}を作成することにより始める。これらは、国際特許出願WO2017/145016に開示された方法によって、楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm, ECDSA)マスター鍵k0のサブ鍵として決定論的に作成される。これらのn個の鍵は、n個の異なる値を暗号化する際に使用される。Aliceは、どれが選択されたかをBobに知らせることなく、これらの値のうち1つのみにアクセスすることを要求する。Bobは、Aliceがそれぞれの交換において単一の値と及び1つの鍵のみにアクセスできることを確保することを要求する。
当該プロセスは、Alice及びBobが(ビットコイン等を用いた)楕円曲線暗号(elliptic curve cryptography, ECC)/楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm, ECDSA)システムのための曲線パラメータを設定することにより開始する。
ECDSAメカニズムから、dAQB=dAdBG=dBdAG=dBQAである。
ここで、Aliceは点(xK,yk)=dAQBを計算する。Bobは点(xK,yK)=dBQAを計算する。xKは共有の秘密である。dA及びdBはそれぞれAlice及びBobの秘密鍵である。QA及びQBはそれぞれの公開鍵である。
この基本的なアルゴリズムから、数字のペアを交換するメソッドが作成できる。このロジックは、n個の値のうち1つを選択するためにlog2(n)回繰り返されることができる。これは、交換された一対の鍵のみが有効であることを確保することにより行われる。
この第1のステップは、Aliceが2つの可能な選択肢k0及びk1から1つの値のみを選択することを可能にする。
1.Alice及びBobは、値Cに合意することにより始める。Alice及びBobは、現在のブロック高さ及びそれらのマスター鍵により生成された秘密のハッシュを選択するために、ECDSA交換を使用する。このような交換については、国際特許出願WO2017/145016により詳細に記載されており、C=h(BH|S)又はC=h(BH|S|Blockhash)である。
ここで、h()はハッシュ関数であり、|は連結演算子である。
BHはブロック高さである。
Sは、例えば、国際特許出願WO2017/145016に開示されている方法によって生成された共有の秘密である。
Blockhash=ブロックハッシュである。
いずれかのランダム値が使用できるが、ブロック高さは外部の同意されたランダム性の好適なソースである点に留意すべきである。
2.Aliceは値を選択する。Aliceはこれを自分で保持する。この値(i)はBobがkiにおいて作成した鍵を表す。
3.次いで、Aliceは、国際特許出願WO2017/145016の方法によってAliceのマスター鍵ペアdA/QAからサブ鍵を作成し、ここでQA0を有する。ここで、QAはQA0のマスター鍵である。
Aliceはまず、ECDSA交換を使用してBobにQA0を知らせる。Bobは暗号化する。BobはAliceの選択肢kiを暗号化する。
Bobがi=0又は1のどちらをAliceが選択したかを知らないことを確保するために、Aliceはおとり公開鍵QA1も作成する。
4.Bobはどちらが真の値であるか分からない。
Aliceが選択された値を解読するために秘密鍵dA0を使用することを望む場合、Aliceは公開鍵QA0=(xA0,yA0)に対応するサブ鍵dA0を作成する。
AliceはdA0を認識しており、したがって、QA0を認識している。
Aliceはまた、dA0QA1=dA0dA1G=dA1dA0G=QA0dA1を認識している。
AliceはdA0を認識しているが、dA1を計算できない。
次に、Bobは、C≡xA0=dA0QA1=dA1QA0を要求する。
AliceはdA0を認識しており、QA1を計算できる。QA0はdA0の積であり、Aliceに認識されている。
5.仮にAliceがQA0について暗号化された情報のみを復号できるとしても、Aliceは双方の鍵QA0及びQA1をBobに与える。すなわち、Aliceは、QA0についての秘密鍵dA0を有するが、QA1についての秘密鍵dA1は有さない。
6.BobはAliceに対してkiを暗号化する。この例では、k0はAliceが解読できるものである。すなわち、BobはQA0に対してk0を暗号化してQA1に対してk1を暗号化するので、BobはAliceがk0又はk1を望むか否かを認識しないが、BobはAliceがパケットを解読するために必要な鍵dA0又はdA1のうち1つのみを有することを認識している。
7.Bobは2つのランダムな値r0及びr1を選択する。Bobは2つの鍵Qr0=r0G、Qr1=r1Gを計算し、これらをAliceに送信する。
8.Bobはh(QA0)及びh(QA1)を計算する。
9.Bobは公開鍵QAB0=(h(QA0)+r0)G、QAB1=(h(QA1)+r1)Gを作る。
BobはそれぞれQAB0及びQAB1でk0及びk1を暗号化する。BobはQr0=r0G及びQr1=r1GをAliceに送信する。
10.Aliceはr0又はr1を得るように反対にできない。
11.Aliceは1つの値を決定する必要があるが、1つの値のみを解読できる(ブランク鍵は使用されない)。Alice及びBobの双方は以下のように制限される。Aliceは双方ではなくk0又はk1を解読(受信)することを選択でき、Bobはどちらかを認識せず、Bobは双方をAliceに送信できる。
2つのシステムのうち1つでは、Aliceは2つの秘密を有するが、これらのうち1つを開示することを要求する。同時に、Bobは、2つの秘密のうち、どちらが欲しいかをAliceに知られたくない。Bobは、Aliceの秘密のうちの1つのみに興味があるが、どちらであるかをAliceに知られたくない。Bobは、Bobが何に答えたいのかをAliceが認識しない一方で、1つの回答のみを受け取る。
図5は、非インタラクティブ紛失通信プロトコルの動作を示しており、Aliceは2つの値k0及びk1をBobに送信することにより始める。これらはBobの公開鍵及び秘密鍵の関数として送信され、それにより、Bobは2つの鍵のうち1つのみを抽出できる。
素数として(p)を有する有限場Zp上の楕円曲線が使用される。全ての値は0と(p-1)との間にあり、全ての計算はモジュロpで完了する。
楕円曲線の式の一般的な形式はy2modp=(x3+ax+b)modpである。
楕円曲線の式を満たす(x,y)の点の集合は、Ep(a,b)により与えられる。楕円曲線上の点T=(x1,y1)の次数(order)rは、rT=0であるような最小の正の整数rとして定義され、ここで0は無限大の点である。
点GはEp(a,b)における基準点である。この値は、次数rが非常に大きくなるように選択される。システムのセキュリティは、楕円曲線離散対数問題(elliptic curve discrete logarithm problem, ECDLP)に基づいており、解くことは実施できないほど困難である。点QのECDLPを解くことは、Q=kP(又はQ=kG)のような整数kを解くことと等価である。ここで、Q及びPは既知である。
Alice及びBobの双方は、同じ楕円曲線及び基準点Gを使用する。Aliceは2つの値k0及びk1を選択し、2つの点P0=k0G及びP1=k1Gを生成する。
値k0及びk1はBobに認識されるべきでなく、Aliceにより保持される秘密鍵として機能する。
これらの値は、国際特許出願WO2017/145016に記載されている交換プロセスを使用して決定できる。
Aliceがksaのマスター鍵を有する場合、値k0及びk1は、ksa+v0=k0、ksa+v1=k1のようにksaにリンクできる。
ここで、v0及びv1はAliceにより認識されている値である。このプロセスは、紛失通信メッセージ交換の前に完了できる。
プロトコルは以下のように定義される。
図5を参照して、基準点G並びに点P0及びP1で始まる。
P=P0+P1とし、i∈{0,1}とする。
1.Bobは、ランダムな整数mを選択してUi=mGを設定することにより、公開鍵(U0,U1)を作成する。ここで、Uiは、U0又はU1のどちらが、Bobが選択したk0又はk1に対応するかを表す。Bobは公開鍵U0及びU1をAliceに送信する。
次に、Ub=mG-Pi、U1-i=P1-i-Ubとする。
Bobの秘密鍵はmである。mは国際特許出願WO2017/145016に記載されているプロセスを使用して導出できる。
2.Aliceは2つのランダムな整数a0及びa1を選択し、V0=a0G及びV1=a1Gを計算する。
次いで、AliceはW0=a0U0及びW1=a1U1を計算する。
AliceはV0及びV1をBobに送信する。
次いで、Aliceは
Figure 2021523620
及び
Figure 2021523620
を計算する。
ここで、
Figure 2021523620
は暗号化鍵としてのWiのバイナリ表現を有する排他的論理和暗号を用いた秘密の値Siのバイナリ表現の暗号化を表す。
Aliceはまた、X0及びX1をBobに送信する。
3.Bobは値mVi=maiG=Wiを計算する。
これは、Bobが
Figure 2021523620
としてSiを抽出することを可能にする。
Siは第iの秘密である。
Bobはnを計算できないので、S1-iを抽出できない点に留意すべきであり、ここで、U1-i=nGである。Aliceは、Bobがmの値を決定できるように、U0又はU1のうちどちらの値がmGに等しいかを認識しない。したがって、Aliceは、2つの秘密のうちのどちらをBobが受け取ったかを認識しない。
Aliceは、Bobの公開鍵が以下の方式で正しく形成されていることを検証できる。
1.Ui+U1-i=Pであることを検査する。
2.Ub=Ui-Piを計算する。
これは、U1-i-P1-iの負であるか否かを検証するために使用される。
プロトコルのセキュリティ側面は以下の通りである。
1.Aliceは2つの秘密のうちどちらをBobが受け取ったかを推定できない。
2.プロトコルのセキュリティは、楕円曲線について離散対数問題(discrete logarithm problem, DLP)が成立する場合に成立する。
3.Aliceがプロトコルに従う場合、BobはAliceの秘密のうち1つのみを見つけることができる。
このシステムは、交換に対する公正な管理を可能にする。Bob及びAliceは、何が交換されたかを認識せずに情報を交換できる。これは、データ又は情報の全ての閲覧、データベースへのアクセス、及び他の記録(例えば、医療ファイル)を制御するために使用でき、この情報は、どの関係者がどの情報を見たかという記録と共に、ビット毎に分割されて公表できる。これにより、信頼されるサーバ又は第三者の必要を除去できる。
次に図6を参照すると、本開示の少なくとも1つの実施形態を実施するために使用され得る計算デバイス2600の簡略化したブロック図が例として提供される。様々な実施形態では、計算デバイス2600は、上記に示して説明した実施システムのいずれかを実装するために使用されてもよい。例えば、計算デバイス2600は、データサーバ、ウェブサーバ、ポータブル計算デバイス、パーソナルコンピュータ又はいずれかの電子計算デバイスとして使用するために構成されてもよい。図6に示すように、計算デバイス2600は、1つ以上のレベルのキャッシュメモリを有する1つ以上のプロセッサと、メインメモリ2608及び永続ストレージ2610を含む記憶サブシステム2606と通信するように構成できるメモリコントローラ(併せて2602とラベル付けされる)とを含んでもよい。メインメモリ2608は、図示のように、ダイナミックランダムアクセスメモリ(DRAM)2618及び読み取り専用メモリ(ROM)2620を含んでもよい。記憶サブシステム2606及びキャッシュメモリ2602は、本開示に記載のトランザクション及びブロックに関連する詳細のような情報の記憶のために使用されてもよい。プロセッサ2602は、本開示に記載のいずれかの実施形態のステップ又は機能を提供するために利用されてもよい。
プロセッサ2602はまた、1つ以上のユーザインタフェース入力デバイス2612、1つ以上のユーザインタフェース出力デバイス2614及びネットワークインタフェースサブシステム2616と通信できる。
バスサブシステム2604は、計算デバイス2600の様々な構成要素及びサブシステムが、意図したように相互に通信することを可能にする機構を提供してもよい。バスサブシステム2604は、単一のバスとして概略的に示されているが、バスサブシステムの代替実施形態は、複数のバスを利用してもよい。
ネットワークインタフェースサブシステム2616は、他の計算デバイス及びネットワークへのインタフェースを提供してもよい。ネットワークインタフェースサブシステム2616は、他のシステムからデータを受信し、計算デバイス2600から他のシステムにデータを送信するためのインタフェースとして機能してもよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、データセンタのような遠隔地にいる間に、データをデバイスに送信し、デバイスからデータを受信することができるように、デバイスをネットワークに接続することを可能にしてもよい。
ユーザインタフェース入力デバイス2612は、キーボードのような1つ以上のユーザ入力デバイスと、統合マウス、トラックボール、タッチパッド又はグラフィックスタブレットのようなポインティングデバイスと、スキャナと、バーコードスキャナと、ディスプレイに組み込まれたタッチスクリーンと、音声認識システム、マイクロフォンのようなオーディオ入力デバイスと、他のタイプの入力デバイスとを含んでもよい。一般的に、「入力デバイス」という用語の使用は、情報を計算デバイス2600に入力するための全ての可能な種類のデバイス及び機構を含むことを意図する。
1つ以上のユーザインタフェース出力デバイス2614は、表示サブシステム、プリンタ、又はオーディオ出力デバイス等のような非視覚的ディスプレイを含んでもよい。表示サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイのようなフラットパネルデバイス、又は投影若しくは他の表示デバイスでもよい。一般的に、「出力デバイス」という用語の使用は、計算デバイス2600から情報を出力するための全ての可能な種類のデバイス及び機構を含むことを意図する。1つ以上のユーザインタフェース出力デバイス2614は、例えば、ユーザ相互作用が適切になり得るときに、ここに記載のプロセス及びその変形を実行するアプリケーションとのユーザ相互作用を実現するように、ユーザインタフェースを提示するために使用されてもよい。
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供し得る基本的なプログラミング及びデータ構成を記憶するためのコンピュータ読み取り可能記憶媒体を提供してもよい。アプリケーション(プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されたとき、本開示の1つ以上の実施形態の機能を提供してもよく、記憶サブシステム2606に記憶されてもよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてもよい。記憶サブシステム2606は、本開示に従って使用されるデータを記憶するためのリポジトリを更に提供してもよい。例えば、メインメモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性ストレージを提供できる。永続ストレージ2610は、プログラム及びデータのための永続的な(不揮発性)ストレージを提供でき、フラッシュメモリと、1つ以上のソリッドステートドライブと、1つ以上の磁気ハードディスクドライブと、関連する取り外し可能媒体を有する1つ以上のフロッピーディスクドライブと、関連する取り外し可能媒体を有する1つ以上の光ドライブ(例えば、CD-ROM又はDVD又はブルーレイ)ドライブと、他の同様の記憶媒体とを含んでもよい。このようなプログラム及びデータは、本開示に記載の1つ以上の実施形態のステップを実行するためのプログラムと、本開示に記載のトランザクション及びブロックに関連するデータとを含むことができる。
計算デバイス2600は、ポータブルコンピュータデバイス、タブレットコンピュータ、ワークステーション、又は以下に記載のいずれかの他のデバイスを含む、様々な種類のものでもよい。さらに、計算デバイス2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、ライトニングコネクタ等)を通じて計算デバイス2600に接続され得る他のデバイスを含んでもよい。計算デバイス2600に接続され得るデバイスは、光ファイバコネクタを受け入れるように構成された複数のポートを含んでもよい。したがって、このデバイスは、光信号を電気信号に変換するように構成されてもよく、電気信号は、処理のために当該デバイスを計算デバイス2600に接続するポートを通じて送信されてもよい。コンピュータ及びネットワークの絶えず変化する性質のため、図6に示す計算デバイス2600の説明は、デバイスの好ましい実施形態を説明する目的のための特定の例としてのみ意図されている。図6に示すシステムよりも多くの構成要素又は少ない構成要素を有する多くの他の構成が可能である。
[例示的な実施形態の列挙]
本開示の実施形態の例は、以下の項目を考慮して記載できる。
1.少なくとも1つの秘密を送信者から受信者に通信する方法であって、
前記受信者により選択可能な複数の秘密を識別する情報を前記送信者から前記受信者に送信するステップと、
前記送信者において、前記受信者から、前記受信者によるアクセスのために選択されるそれぞれの第1の前記秘密に対応する少なくとも1つの第1の公開鍵を受信するステップであり、前記第1の公開鍵又はそれぞれの前記第1の公開鍵は、楕円曲線暗号システムの公開鍵/秘密鍵ペアの一部であり、前記第1の公開鍵に対応する第1の秘密鍵は、前記受信者にアクセス可能である、ステップと、
前記送信者において、前記受信者から、前記受信者によるアクセスのために選択されていないそれぞれの第2の前記秘密に対応する少なくとも1つの第2の公開鍵を受信するステップであり、前記第2の公開鍵又はそれぞれの前記第2の公開鍵は、前記楕円曲線暗号システムの公開鍵であり、前記第2の公開鍵に対応するそれぞれの第2の秘密鍵は、前記受信者に利用可能でない、ステップと、
対応する前記第1の公開鍵によって暗号化された少なくとも1つの前記第1の秘密を前記送信者から前記受信者に送信するステップと、
対応する前記第2の公開鍵によって暗号化された少なくとも1つの前記第2の秘密を前記送信者から前記受信者に送信するステップと
を含み、
前記第1の秘密又はそれぞれの前記第1の秘密は、対応する前記第1の秘密鍵によって前記受信者にアクセス可能であり、前記第2の秘密又はそれぞれの前記第2の秘密は、前記受信者にアクセス不可能であり、前記送信者は、前記第1の秘密と前記第2の秘密とを区別できない、方法。
これは、どのメッセージに受信者がアクセスしたかを送信者が認識することを妨げつつ、受信者が限られた数のメッセージにアクセスすることのみを可能にすることにより、当該方法のデータのセキュリティを改善する利点を提供する。
2.対応する前記第1の公開鍵によって少なくとも1つの前記第1の秘密を暗号化し、対応する前記第2の公開鍵によって少なくとも1つの前記第2の秘密を暗号化するステップを更に含む、項目1に記載の方法。
3.少なくとも1つの前記第1の秘密及び少なくとも1つの前記第2の秘密は、それぞれの排他的論理和暗号によって暗号化される、項目2に記載の方法。
これは、迅速且つ効率的な暗号化及び解読を可能にする利点を提供する。
4.少なくとも1つの前記排他的論理和暗号は、対応する前記第1又は第2の公開鍵に基づくそれぞれの暗号化鍵を有する、項目3に記載の方法。
5.少なくとも1つの前記暗号化鍵は、スカラー楕円曲線点の乗算によって、前記送信者に既知の、それぞれの第1又は第2の暗号整数により乗算された対応する前記第1又は第2の公開鍵を含む、項目4に記載の方法。
6.対応する前記第1又は第2の公開鍵によって暗号化された少なくとも1つの前記第1及び/又は第2の暗号整数を前記送信者から前記受信者に送信するステップを更に含む、項目5に記載の方法。
7.少なくとも1つの前記第1の秘密は、楕円曲線点の追加によってそれぞれの第1の暗号項に追加される、前記楕円曲線暗号システムの楕円曲線生成点の、前記送信者に既知のそれぞれの第1のマスキング整数により、スカラー乗算の結果を含むそれぞれの第1のマスキング項を含むそれぞれの第3の公開鍵によって暗号化される、項目1乃至6のうちいずれか1項に記載の方法。
8.少なくとも1つの前記第1の暗号項は、対応する前記第1の公開鍵に依存したそれぞれの第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目7に記載の方法。
9.少なくとも1つの前記第3の暗号整数は、対応する前記第1の公開鍵のハッシュ値である、項目8に記載の方法。
10.少なくとも1つの前記第2の秘密は、楕円曲線点の追加によってそれぞれの第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記送信者に既知のそれぞれの第2のマスキング整数により、スカラー乗算の結果を含むそれぞれの第2のマスキング項を含むそれぞれの第4の公開鍵によって暗号化される、項目7乃至9のうちいずれか1項に記載の方法。
11.少なくとも1つの前記第2の暗号項は、対応する前記第2の公開鍵に依存したそれぞれの第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目10に記載の方法。
12.少なくとも1つの前記第4の暗号整数は、対応する前記第2の公開鍵のハッシュ値である、項目11に記載の方法。
13.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び/又は第1の公開鍵から決定できる、項目1乃至12のうちいずれか1項に記載の方法。
14.前記送信者と前記受信者との間で共有されるべき少なくとも1つの第3の秘密を生成するステップを更に含む、項目1乃至13のうちいずれか1項に記載の方法。
15.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び第1の公開鍵と、少なくとも1つの前記第3の秘密とに基づく、項目13及び14に記載の方法。
16.前記送信者において、前記受信者から受信した対応する前記第2及び/又は第1の公開鍵で、前記受信者から受信した少なくとも1つの前記第1及び/又は第2の公開鍵の整合性を検査するステップを更に含む、項目1乃至15のうちいずれか1項に記載の方法。
17.前記第2の秘密鍵による少なくとも1つの前記第1の公開鍵のスカラー乗算の結果は、それぞれの前記第1の秘密鍵によるそれぞれの前記第2の公開鍵のスカラー乗算の結果と等しい、項目1乃至16のうちいずれか1項に記載の方法。
18.少なくとも1つの前記第1の秘密鍵及び少なくとも1つの前記第2の秘密鍵は、前記送信者に既知の前記楕円曲線暗号システムの秘密鍵から決定論的に導出される、項目1乃至17のうちいずれか1項に記載の方法。
19.送信者から受信者に送信された少なくとも1つの秘密を受信する方法であって、
前記受信者において、前記受信者により選択可能な複数の秘密を識別する情報を受信するステップと、
前記受信者によるアクセスのために選択されたそれぞれの第1の前記秘密に対応する少なくとも1つの第1の公開鍵を前記受信者から前記送信者に送信するステップであり、前記第1の公開鍵又はそれぞれの前記第1の公開鍵は、楕円曲線暗号システムの公開鍵/秘密鍵ペアの一部であり、前記第1の公開鍵に対応する第1の秘密鍵は、前記受信者にアクセス可能である、ステップと、
前記受信者によるアクセスのために選択されていないそれぞれの第2の前記秘密に対応する少なくとも1つの第2の公開鍵を前記受信者から前記送信者に送信するステップであり、前記第2の公開鍵又はそれぞれの前記第2の公開鍵は、前記楕円曲線暗号システムの公開鍵であり、前記第2の公開鍵に対応するそれぞれの第2の秘密鍵は、前記受信者に利用可能でない、ステップと、
前記受信者において、前記送信者から、対応する前記第1の公開鍵によって暗号化された少なくとも1つの前記第1の秘密を受信するステップと、
前記受信者において、前記送信者から、対応する前記第2の公開鍵によって暗号化された少なくとも1つの前記第2の秘密を受信するステップと
を含み、
前記第1の秘密又はそれぞれの前記第1の秘密は、対応する前記第1の秘密鍵によって前記受信者にアクセス可能であり、前記第2の秘密又はそれぞれの前記第2の秘密は、前記受信者にアクセス不可能であり、前記送信者は、前記第1の秘密と前記第2の秘密とを区別できない、方法。
20.少なくとも1つの前記第1の秘密及び少なくとも1つの前記第2の秘密は、それぞれの排他的論理和暗号によって暗号化される、項目19に記載の方法。
21.少なくとも1つの前記排他的論理和暗号は、対応する前記第1又は第2の公開鍵に基づくそれぞれの暗号化鍵を有する、項目20に記載の方法。
22.少なくとも1つの前記暗号化鍵は、スカラー楕円曲線点の乗算によって、前記送信者に既知の、それぞれの第1又は第2の暗号整数により乗算された対応する前記第1又は第2の公開鍵を含む、項目21に記載の方法。
23.前記受信者において、前記送信者から、対応する前記第1又は第2の公開鍵によって暗号化された少なくとも1つの前記第1及び/又は第2の暗号整数を受信するステップを更に含む、項目22に記載の方法。
24.少なくとも1つの前記第1の秘密は、楕円曲線点の追加によってそれぞれの第1の暗号項に追加される、前記楕円曲線暗号システムの楕円曲線生成点の、前記送信者に既知のそれぞれの第1のマスキング整数により、スカラー乗算の結果を含むそれぞれの第1のマスキング項を含むそれぞれの第3の公開鍵によって暗号化される、項目19乃至23のうちいずれか1項に記載の方法。
25.少なくとも1つの前記第1の暗号項は、対応する前記第1の公開鍵に依存したそれぞれの第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目24に記載の方法。
26.少なくとも1つの前記第3の暗号整数は、対応する前記第1の公開鍵のハッシュ値である、項目25に記載の方法。
27.少なくとも1つの前記第2の秘密は、楕円曲線点の追加によってそれぞれの第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記送信者に既知のそれぞれの第2の整数により、スカラー乗算の結果を含むそれぞれの第2のマスキング項を含むそれぞれの第4の公開鍵によって暗号化される、項目24乃至26のうちいずれか1項に記載の方法。
28.少なくとも1つの前記第2の暗号項は、対応する前記第2の公開鍵に依存したそれぞれの第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目27に記載の方法。
29.少なくとも1つの前記第4の暗号整数は、対応する前記第2の公開鍵のハッシュ値である、項目28に記載の方法。
30.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び/又は第1の公開鍵から決定できる、項目19乃至29のうちいずれか1項に記載の方法。
31.前記送信者と前記受信者との間で共有されるべき少なくとも1つの第3の秘密を生成するステップを更に含む、項目19乃至30のうちいずれか1項に記載の方法。
32.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び第1の公開鍵と、少なくとも1つの前記第3の秘密とに基づく、項目30及び31に記載の方法。
33.前記第2の秘密鍵による少なくとも1つの前記第1の公開鍵のスカラー乗算の結果は、それぞれの前記第1の秘密鍵によるそれぞれの第2の公開鍵のスカラー乗算の結果と等しい、項目19乃至32のうちいずれか1項に記載の方法。
項目1乃至33のうちいずれか1項に記載の方法を実行するように構成されたコンピュータ実施システム。
上記の実施形態は、本発明を限定するものではなく例示するものであり、当業者は、添付の特許請求の範囲により定義される本開示の範囲から逸脱することなく、多くの代替実施形態を設計できる点に留意すべきである。特許請求の範囲において、括弧内に付したいずれかの参照符号は、特許請求の範囲を限定するものと解釈されないものとする。「含む(comprising)」及び「含む(comprises)」等の用語は、全体としていずれかの請求項又は明細書に列挙されたもの以外の要素又はステップの存在を除外しない。本明細書において、「含む(comprises)」とは、「含む(includes)又はからなる(consists of)」を意味し、「含む(comprising)」とは、「含む(comprising)又はからなる(consisting of)」を意味する。要素の単数形の参照は、このような要素の複数形の参照を除外するものではなく、逆も同様である。本発明は、いくつかの別個の要素を含むハードウェアにより、且つ、適切にプログラムされたコンピュータにより実装されてもよい。いくつかの手段を列挙するデバイスの請求項において、これらの手段のいくつかは、1つの同じハードウェアアイテムにより具体化されてもよい。特定の手段が相互に異なる従属項に記載されているという単なる事実は、これらの手段の組み合わせが有利に利用できないことを示すものではない。
[参考文献]
[1] “Generalised Oblivious Transfer Protocol”, Partha Sarathi Roy, Department of Pure mathematics, University Cacutta India
[2] “Generalised oblivious transfer by secret sharing” Tamir Tassa
[3] “Computationally secure oblivious transfer” Moni Naor, Benny Pinkas
[4] “The simplest protocol for oblivious transfer” Tung Chou and Claudio Orlandi
[5] “Smooth projective hashing and two message oblivious transfer” Yuri Tauman KAlai MIT
[6] “Oblivious Transfer with Access Control” Jan Camenisch, Maria Dubovitskaya, Gregory Neven
[7] “Practical Fully Simulatable Oblivious Transfer with Sub-linear communication” BingSheng Zhang, Helger Lipmaa, Cong Wang, Kuri Ren
[8] Rabin (1981) for papers on oblivious transfer
[9] Bellare M.; Micalli, S. [1989] “Non-Interactive Oblivious Transfer and Applications” : Proc. On Adv in Cryptography CRYPTO 89. PP 547-557.
[10] Diffie, W.; Hellman, M. (1976). "New directions in cryptography" (PDF). IEEE Transactions on Information Theory. 22 (6): 644-654. doi:10.1109/TIT.1976.1055638.
[11] Prof Bill Buchanan, www.asecuritysite.com
[12] Boneh, Franklin, “Identity-Based Encryption from the Weil Pairing”. Appears in SIAM J. of Computing, Vol. 32, No. 3, pp. 586-615, 2003. An extended abstract of this paper appears in the Proceedings of Crypto 2001, volume 2139 of Lecture Notes in Computer Science, pages 213-229, Springer-Verlag, 2001. “Bilinear paring”

Claims (34)

  1. 少なくとも1つの秘密を送信者から受信者に通信する方法であって、
    前記受信者により選択可能な複数の秘密を識別する情報を前記送信者から前記受信者に送信するステップと、
    前記送信者において、前記受信者から、前記受信者によるアクセスのために選択されるそれぞれの第1の前記秘密に対応する少なくとも1つの第1の公開鍵を受信するステップであり、前記第1の公開鍵又はそれぞれの前記第1の公開鍵は、楕円曲線暗号システムの公開鍵/秘密鍵ペアの一部であり、前記第1の公開鍵に対応する第1の秘密鍵は、前記受信者にアクセス可能である、ステップと、
    前記送信者において、前記受信者から、前記受信者によるアクセスのために選択されていないそれぞれの第2の前記秘密に対応する少なくとも1つの第2の公開鍵を受信するステップであり、前記第2の公開鍵又はそれぞれの前記第2の公開鍵は、前記楕円曲線暗号システムの公開鍵であり、前記第2の公開鍵に対応するそれぞれの第2の秘密鍵は、前記受信者に利用可能でない、ステップと、
    対応する前記第1の公開鍵によって暗号化された少なくとも1つの前記第1の秘密を前記送信者から前記受信者に送信するステップと、
    対応する前記第2の公開鍵によって暗号化された少なくとも1つの第2の秘密を前記送信者から前記受信者に送信するステップと
    を含み、
    前記第1の秘密又はそれぞれの前記第1の秘密は、対応する前記第1の秘密鍵によって前記受信者にアクセス可能であり、前記第2の秘密又はそれぞれの前記第2の秘密は、前記受信者にアクセス不可能であり、前記送信者は、前記第1の秘密と前記第2の秘密とを区別できない、方法。
  2. 対応する前記第1の公開鍵によって少なくとも1つの前記第1の秘密を暗号化し、対応する前記第2の公開鍵によって少なくとも1つの前記第2の秘密を暗号化するステップを更に含む、請求項1に記載の方法。
  3. 少なくとも1つの前記第1の秘密及び少なくとも1つの前記第2の秘密は、それぞれの排他的論理和暗号によって暗号化される、請求項2に記載の方法。
  4. 少なくとも1つの前記排他的論理和暗号は、対応する前記第1又は第2の公開鍵に基づくそれぞれの暗号化鍵を有する、請求項3に記載の方法。
  5. 少なくとも1つの前記暗号化鍵は、スカラー楕円曲線点の乗算によって、前記送信者に既知の、それぞれの第1又は第2の暗号整数により乗算された対応する前記第1又は第2の公開鍵を含む、請求項4に記載の方法。
  6. 対応する前記第1又は第2の公開鍵によって暗号化された少なくとも1つの前記第1及び/又は第2の暗号整数を前記送信者から前記受信者に送信するステップを更に含む、請求項5に記載の方法。
  7. 少なくとも1つの前記第1の秘密は、楕円曲線点の追加によってそれぞれの第1の暗号項に追加される、前記楕円曲線暗号システムの楕円曲線生成点の、前記送信者に既知のそれぞれの第1のマスキング整数により、スカラー乗算の結果を含むそれぞれの第1のマスキング項を含むそれぞれの第3の公開鍵によって暗号化される、請求項1乃至6のうちいずれか1項に記載の方法。
  8. 少なくとも1つの前記第1の暗号項は、対応する前記第1の公開鍵に依存したそれぞれの第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項7に記載の方法。
  9. 少なくとも1つの前記第3の暗号整数は、対応する前記第1の公開鍵のハッシュ値である、請求項8に記載の方法。
  10. 少なくとも1つの前記第2の秘密は、楕円曲線点の追加によってそれぞれの第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記送信者に既知のそれぞれの第2のマスキング整数により、スカラー乗算の結果を含むそれぞれの第2のマスキング項を含むそれぞれの第4の公開鍵によって暗号化される、請求項7乃至9のうちいずれか1項に記載の方法。
  11. 少なくとも1つの前記第2の暗号項は、対応する前記第2の公開鍵に依存したそれぞれの第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項10に記載の方法。
  12. 少なくとも1つの前記第4の暗号整数は、対応する前記第2の公開鍵のハッシュ値である、請求項11に記載の方法。
  13. 少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び/又は第1の公開鍵から決定できる、請求項1乃至12のうちいずれか1項に記載の方法。
  14. 前記送信者と前記受信者との間で共有されるべき少なくとも1つの第3の秘密を生成するステップを更に含む、請求項1乃至13のうちいずれか1項に記載の方法。
  15. 少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び第1の公開鍵と、少なくとも1つの前記第3の秘密とに基づく、請求項13及び14に記載の方法。
  16. 前記送信者において、前記受信者から受信した対応する前記第2及び/又は第1の公開鍵で、前記受信者から受信した少なくとも1つの前記第1及び/又は第2の公開鍵の整合性を検査するステップを更に含む、請求項1乃至15のうちいずれか1項に記載の方法。
  17. 前記第2の秘密鍵による少なくとも1つの前記第1の公開鍵のスカラー乗算の結果は、それぞれの前記第1の秘密鍵によるそれぞれの前記第2の公開鍵のスカラー乗算の結果と等しい、請求項1乃至16のうちいずれか1項に記載の方法。
  18. 少なくとも1つの前記第1の秘密鍵及び少なくとも1つの前記第2の秘密鍵は、前記送信者に既知の前記楕円曲線暗号システムの秘密鍵から決定論的に導出される、請求項1乃至17のうちいずれか1項に記載の方法。
  19. 送信者から受信者に送信された少なくとも1つの秘密を受信する方法であって、
    前記受信者において、前記受信者により選択可能な複数の秘密を識別する情報を受信するステップと、
    前記受信者によるアクセスのために選択されたそれぞれの第1の前記秘密に対応する少なくとも1つの第1の公開鍵を前記受信者から前記送信者に送信するステップであり、前記第1の公開鍵又はそれぞれの前記第1の公開鍵は、楕円曲線暗号システムの公開鍵/秘密鍵ペアの一部であり、前記第1の公開鍵に対応する第1の秘密鍵は、前記受信者にアクセス可能である、ステップと、
    前記受信者によるアクセスのために選択されていないそれぞれの第2の前記秘密に対応する少なくとも1つの第2の公開鍵を前記受信者から前記送信者に送信するステップであり、前記第2の公開鍵又はそれぞれの前記第2の公開鍵は、前記楕円曲線暗号システムの公開鍵であり、前記第2の公開鍵に対応するそれぞれの第2の秘密鍵は、前記受信者に利用可能でない、ステップと、
    前記受信者において、前記送信者から、対応する前記第1の公開鍵によって暗号化された少なくとも1つの第1の秘密を受信するステップと、
    前記受信者において、前記送信者から、対応する前記第2の公開鍵によって暗号化された少なくとも1つの第2の秘密を受信するステップと
    を含み、
    前記第1の秘密又はそれぞれの前記第1の秘密は、対応する前記第1の秘密鍵によって前記受信者にアクセス可能であり、前記第2の秘密又はそれぞれの前記第2の秘密は、前記受信者にアクセス不可能であり、前記送信者は、前記第1の秘密と前記第2の秘密とを区別できない、方法。
  20. 少なくとも1つの前記第1の秘密及び少なくとも1つの前記第2の秘密は、それぞれの排他的論理和暗号によって暗号化される、請求項19に記載の方法。
  21. 少なくとも1つの前記排他的論理和暗号は、対応する前記第1又は第2の公開鍵に基づくそれぞれの暗号化鍵を有する、請求項20に記載の方法。
  22. 少なくとも1つの前記暗号化鍵は、スカラー楕円曲線点の乗算によって、前記送信者に既知の、それぞれの第1又は第2の暗号整数により乗算された対応する前記第1又は第2の公開鍵を含む、請求項21に記載の方法。
  23. 前記受信者において、前記送信者から、対応する前記第1又は第2の公開鍵によって暗号化された少なくとも1つの前記第1及び/又は第2の暗号整数を受信するステップを更に含む、請求項22に記載の方法。
  24. 少なくとも1つの前記第1の秘密は、楕円曲線点の追加によってそれぞれの第1の暗号項に追加される、前記楕円曲線暗号システムの楕円曲線生成点の、前記送信者に既知のそれぞれの第1のマスキング整数により、スカラー乗算の結果を含むそれぞれの第1のマスキング項を含むそれぞれの第3の公開鍵によって暗号化される、請求項19乃至23のうちいずれか1項に記載の方法。
  25. 少なくとも1つの前記第1の暗号項は、対応する前記第1の公開鍵に依存したそれぞれの第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項24に記載の方法。
  26. 少なくとも1つの前記第3の暗号整数は、対応する前記第1の公開鍵のハッシュ値である、請求項25に記載の方法。
  27. 少なくとも1つの前記第2の秘密は、楕円曲線点の追加によってそれぞれの第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記送信者に既知のそれぞれの第2の整数により、スカラー乗算の結果を含むそれぞれの第2のマスキング項を含むそれぞれの第4の公開鍵によって暗号化される、請求項24乃至26のうちいずれか1項に記載の方法。
  28. 少なくとも1つの前記第2の暗号項は、対応する前記第2の公開鍵に依存したそれぞれの第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項27に記載の方法。
  29. 少なくとも1つの前記第4の暗号整数は、対応する前記第2の公開鍵のハッシュ値である、請求項28に記載の方法。
  30. 少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び/又は第1の公開鍵から決定できる、請求項19乃至29のうちいずれか1項に記載の方法。
  31. 前記送信者と前記受信者との間で共有されるべき少なくとも1つの第3の秘密を生成するステップを更に含む、請求項19乃至30のうちいずれか1項に記載の方法。
  32. 少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び第1の公開鍵と、少なくとも1つの前記第3の秘密とに基づく、請求項30及び31に記載の方法。
  33. 前記第2の秘密鍵による少なくとも1つの前記第1の公開鍵のスカラー乗算の結果は、それぞれの前記第1の秘密鍵によるそれぞれの第2の公開鍵のスカラー乗算の結果と等しい、請求項19乃至32のうちいずれか1項に記載の方法。
  34. 請求項1乃至33のうちいずれか1項に記載の方法を実行するように構成されたコンピュータ実施システム。
JP2020562740A 2018-05-14 2019-05-13 秘密を通信する方法及びシステム Pending JP2021523620A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1807822.0 2018-05-14
IB2018053359 2018-05-14
IBPCT/IB2018/053359 2018-05-14
GBGB1807822.0A GB201807822D0 (en) 2018-05-14 2018-05-14 Computer-implemented system and method
PCT/IB2019/053909 WO2019220298A1 (en) 2018-05-14 2019-05-13 Method and system for communicating a secret

Publications (1)

Publication Number Publication Date
JP2021523620A true JP2021523620A (ja) 2021-09-02

Family

ID=66597636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020562740A Pending JP2021523620A (ja) 2018-05-14 2019-05-13 秘密を通信する方法及びシステム

Country Status (5)

Country Link
US (1) US11451382B2 (ja)
EP (1) EP3794762A1 (ja)
JP (1) JP2021523620A (ja)
CN (1) CN112119609A (ja)
WO (1) WO2019220298A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4087180A4 (en) * 2020-02-24 2023-01-04 Huawei Technologies Co., Ltd. DATA ENCRYPTION METHOD, DATA DECRYPTION METHOD, DEVICE AND ELECTRONIC DEVICE
CN111431710B (zh) * 2020-03-24 2021-09-10 数据通信科学技术研究所 一种发送方可查阅且第三方可监管的加密方法和装置
FR3111038B1 (fr) * 2020-05-27 2023-05-12 Idemia France Traitements cryptographiques pour chiffrer ou déchiffrer des données
WO2023059495A1 (en) * 2021-10-08 2023-04-13 Visa International Service Association Statistically receiver private oblivious transfer from cdh
CN114338038B (zh) * 2021-12-27 2023-06-23 内蒙古科技大学 区块链数据保密查询的存储系统及不经意传输方法
CN114301594B (zh) * 2022-03-01 2022-05-17 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
GB2618314A (en) 2022-04-25 2023-11-08 Nchain Licensing Ag Computer implemented methods & systems
CN115412246B (zh) * 2022-11-01 2023-01-31 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN116418602B (zh) * 2023-06-09 2023-08-25 武汉大学 一种基于可信硬件的元数据保护匿名通信方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748410B1 (en) * 1997-05-04 2004-06-08 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication
FR2786049B1 (fr) * 1998-11-12 2001-02-09 Jean Pierre Roland Pau Lefevre Procede de cryptographie a cle dynamique
US6834272B1 (en) * 1999-08-10 2004-12-21 Yeda Research And Development Company Ltd. Privacy preserving negotiation and computation
US7602907B2 (en) * 2005-07-01 2009-10-13 Microsoft Corporation Elliptic curve point multiplication
US8923519B2 (en) * 2009-05-29 2014-12-30 Alcatel Lucent Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
US8699701B2 (en) * 2010-12-01 2014-04-15 King Fahd University Method of performing XZ-elliptic curve cryptography for use with network security protocols
US8837715B2 (en) * 2011-02-17 2014-09-16 Gradiant, Centro Tecnolóxico de Telecomunicacións de Galica Method and apparatus for secure iterative processing and adaptive filtering
US8868910B2 (en) * 2012-02-09 2014-10-21 Hewlett-Packard Development Company, L.P. Elliptic curve cryptographic signature
EP4027576B1 (en) * 2014-01-13 2023-11-22 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
US9736128B2 (en) 2014-05-21 2017-08-15 The Board Of Regents, The University Of Texas System System and method for a practical, secure and verifiable cloud computing for mobile systems
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
US9846785B2 (en) 2015-11-25 2017-12-19 International Business Machines Corporation Efficient two party oblivious transfer using a leveled fully homomorphic encryption
SG11201805472RA (en) * 2016-02-23 2018-07-30 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys

Also Published As

Publication number Publication date
CN112119609A (zh) 2020-12-22
WO2019220298A1 (en) 2019-11-21
US11451382B2 (en) 2022-09-20
US20210211274A1 (en) 2021-07-08
EP3794762A1 (en) 2021-03-24
US20230179408A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US11451382B2 (en) Method and system for communicating a secret
JP7492508B2 (ja) コンピュータにより実施される、デジタル署名されたデータのシェアを分配するシステム及び方法
JP2019507510A (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
TWI821248B (zh) 用以移轉數位資產支配權之電腦實施方法及系統
JP7316283B2 (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
JP2022547876A (ja) メッセージの署名のためのシステムおよび方法
JP7091322B2 (ja) 複合デジタル署名
WO2020212796A1 (en) Computer implemented method and system for encrypting data
KR20230141845A (ko) 임계값 키 교환
KR20210063378A (ko) 공통 비밀을 공유하는 컴퓨터 구현 시스템 및 방법
US12010221B2 (en) Method and system for communicating a secret
Bene et al. Public Key Infrastructure in the Post-Quantum Era
Kanwal et al. Lightweight noncommutative key exchange protocol for IoT environments
Deligiannidis Implementing elliptic curve cryptography
Sangamkumar et al. Improved Scheme of ECC and as Intrusion Detector.
Visalakshi et al. Secure Cloud-based Access Control Optimization (SCACO)
Ferretti et al. Blockchain-based end-to-end encryption for Matrix instant messaging

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231023

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240116