IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ エヌチェーン ホールディングス リミテッドの特許一覧

<>
  • 特開-秘密を通信する方法及びシステム 図1
  • 特開-秘密を通信する方法及びシステム 図2
  • 特開-秘密を通信する方法及びシステム 図3
  • 特開-秘密を通信する方法及びシステム 図4
  • 特開-秘密を通信する方法及びシステム 図5
  • 特開-秘密を通信する方法及びシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024097995
(43)【公開日】2024-07-19
(54)【発明の名称】秘密を通信する方法及びシステム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20240711BHJP
【FI】
H04L9/08 C
H04L9/08 E
【審査請求】有
【請求項の数】19
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024079125
(22)【出願日】2024-05-15
(62)【分割の表示】P 2020562740の分割
【原出願日】2019-05-13
(31)【優先権主張番号】1807822.0
(32)【優先日】2018-05-14
(33)【優先権主張国・地域又は機関】GB
(31)【優先権主張番号】PCT/IB2018/053359
(32)【優先日】2018-05-14
(33)【優先権主張国・地域又は機関】IB
(71)【出願人】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ライト,クレイグ スティーヴン
(57)【要約】
【課題】ビットコインブロックチェーン上で秘密(k0,k1)を通信する方法が開示される。
【解決手段】当該方法は、受信者により選択可能な複数の秘密を識別する情報を送信するステップと、受信者によるアクセスのために選択される第1の秘密(Si)に対応する、楕円曲線暗号システムの第1の公開鍵(Ui)を受信するステップとを含み、第1の秘密鍵(m)は、受信者にアクセス可能である。受信者によるアクセスのために選択されていない第2の秘密に対応する第2の公開鍵(U1-i)が受信され、対応する第2の秘密鍵は、受信者に利用可能でない。それぞれの第1及び第2の公開鍵(X0,X1)によって暗号化された第1及び第2の秘密は受信者に送信され、第1の秘密は、第1の秘密鍵によって受信者にアクセス可能であり、第2の秘密は、受信者にアクセス不可能であり、送信者は、第1の秘密と第2の秘密とを区別できない。
【選択図】図5
【特許請求の範囲】
【請求項1】
第1の計算デバイスから第2の計算デバイスに秘密を通信するコンピュータ実施方法であり、前記第1の計算デバイス及び前記第2の計算デバイスのそれぞれは、それぞれの公開鍵/秘密鍵ペアを有する、方法であって、
前記第1の計算デバイスにおいて、
前記第2の計算デバイスと連携して、前記第1及び第2の計算デバイスのそれぞれの公開鍵に基づいて秘密値を生成するステップと、
複数の秘密を識別する情報を前記第2の計算デバイスに送信するステップと、
前記第2の計算デバイスから、前記複数の秘密のうち第1の秘密に対応する第1の公開鍵を受信するステップであり、前記第1の公開鍵は、楕円曲線暗号システムの公開鍵/秘密鍵ペアの一部であり、前記第1の公開鍵に対応する第1の秘密鍵は、前記第2の計算デバイスにアクセス可能であり、前記第1の公開鍵は、前記第2の計算デバイスによりその公開鍵/秘密鍵ペアから生成されている、ステップと、
前記第2の計算デバイスから、前記複数の秘密のうち第2の秘密に対応する第2の公開鍵を受信するステップであり、前記第2の公開鍵は、前記楕円曲線暗号システムの公開鍵であり、前記第2の公開鍵に対応する第2の秘密鍵は、前記第2の計算デバイスに利用可能でなく、前記第2の公開鍵は、前記第2の計算デバイスにより、前記第1の公開鍵及び前記秘密値から生成されている、ステップと、
前記第1の公開鍵によって暗号化された前記第1の秘密を前記第2の計算デバイスに送信するステップと、
前記第2の公開鍵によって暗号化された前記第2の秘密を前記第2の計算デバイスに送信するステップと
を含み、
前記第1の秘密は、前記対応する第1の秘密鍵によって前記第2の計算デバイスにアクセス可能であり、前記第2の秘密は、前記第2の計算デバイスにアクセス不可能であり、前記第1の計算デバイスは、どの秘密が前記第2の計算デバイスにアクセス可能であるかを識別できない、方法。
【請求項2】
前記第1の公開鍵によって前記第1の秘密を暗号化し、前記第2の公開鍵によって前記第2の秘密を暗号化するステップを更に含む、請求項1に記載の方法。
【請求項3】
前記第1の秘密は、楕円曲線点の追加によって第1の暗号項に追加される、前記楕円曲線暗号システムの楕円曲線生成点の、前記第1の計算デバイスに既知の第1のマスキング整数により、スカラー乗算の結果を含む第1のマスキング項を含む前記第1の公開鍵から導出された第3の公開鍵によって暗号化される、請求項1又は2に記載の方法。
【請求項4】
前記第1の暗号項は、前記第1の公開鍵に依存した第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項3に記載の方法。
【請求項5】
前記第3の暗号整数は、前記第1の公開鍵のハッシュ値である、請求項4に記載の方法。
【請求項6】
前記第2の秘密は、楕円曲線点の追加によって第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記第1の計算デバイスに既知の第2のマスキング整数により、スカラー乗算の結果を含む第2のマスキング項を含む第4の公開鍵によって暗号化される、請求項3乃至5のうちいずれか1項に記載の方法。
【請求項7】
前記第2の暗号項は、前記第2の公開鍵に依存した第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項6に記載の方法。
【請求項8】
前記第4の暗号整数は、前記第2の公開鍵のハッシュ値である、請求項7に記載の方法。
【請求項9】
前記第2の秘密鍵による前記第1の公開鍵のスカラー乗算の結果は、前記第1の秘密鍵による前記第2の公開鍵のスカラー乗算の結果と等しい、請求項1乃至8のうちいずれか1項に記載の方法。
【請求項10】
請求項1乃至9のうちいずれか1項に記載の方法を実行するように構成されたプロセッサを含むシステム。
【請求項11】
第2の計算デバイスにおいて第1の計算デバイスから秘密を受信するコンピュータ実施方法であり、前記第1の計算デバイス及び前記第2の計算デバイスのそれぞれは、それぞれの公開鍵/秘密鍵ペアを有する、方法であって、
前記第2の計算デバイスにおいて、
前記第1の計算デバイスと連携して、前記第1及び第2の計算デバイスのそれぞれの公開鍵に基づいて秘密値を生成するステップと、
前記第1の計算デバイスから複数の秘密を識別する情報を受信し、前記複数の秘密のうち第1の秘密を選択するステップと、
前記第2の計算デバイスの公開鍵/秘密鍵ペアから第1の公開鍵及び対応する第1の秘密鍵を生成するステップと、
第2の公開鍵に対応する第2の秘密鍵が前記第2の計算デバイスに利用可能でないように、前記第1の公開鍵及び前記秘密値から前記第2の公開鍵を生成するステップと、
前記第1の秘密に対応する前記第1の公開鍵と、前記複数の秘密のうち第2の秘密に対応する前記第2の公開鍵とを前記第1の計算デバイスに送信するステップと、
前記第1の計算デバイスから、前記第1の公開鍵によって暗号化された前記第1の秘密と、前記第2の公開鍵によって暗号化された前記第2の秘密とを受信するステップと
を含み、
前記第1の秘密は、前記第1の秘密鍵によって前記第2の計算デバイスにアクセス可能であり、前記第2の秘密は、前記第2の計算デバイスにアクセス不可能であり、前記第1の計算デバイスは、どの秘密が前記第2の計算デバイスにアクセス可能であるかを識別できない、方法。
【請求項12】
前記第1の秘密は、楕円曲線点の追加によって第1の暗号項に追加される、楕円曲線暗号システムの楕円曲線生成点の、前記第1の計算デバイスに既知の第1のマスキング整数により、スカラー乗算の結果を含む第1のマスキング項を含む第3の公開鍵によって暗号化される、請求項11に記載の方法。
【請求項13】
前記第1の暗号項は、前記第1の公開鍵に依存した第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項3に記載の方法。
【請求項14】
前記第3の暗号整数は、前記第1の公開鍵のハッシュ値である、請求項13に記載の方法。
【請求項15】
前記第2の秘密は、楕円曲線点の追加によって第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記第1の計算デバイスに既知の第2の整数により、スカラー乗算の結果を含む第2のマスキング項を含む第4の公開鍵によって暗号化される、請求項12乃至14のうちいずれか1項に記載の方法。
【請求項16】
前記第2の暗号項は、前記第2の公開鍵に依存した第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、請求項15に記載の方法。
【請求項17】
前記第4の暗号整数は、前記第2の公開鍵のハッシュ値である、請求項16に記載の方法。
【請求項18】
前記第2の秘密鍵による前記第1の公開鍵のスカラー乗算の結果は、前記第1の秘密鍵による前記第2の公開鍵のスカラー乗算の結果と等しい、請求項11乃至17のうちいずれか1項に記載の方法。
【請求項19】
請求項11乃至18のうちいずれか1項に記載の方法を実行するように構成されたプロセッサを含むシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ実施システム及び方法に関し、より詳細には、デジタル資産を転送するコンピュータ実施システム及び方法に関する。本開示は、ブロックチェーンに基づくデータ転送システムに特に適しているが、これに限定されない。
【背景技術】
【0002】
この文献では、全ての形式の電子的なコンピュータに基づく分散型の台帳を含む「ブロックチェーン(blockchain)」という用語を使用する。これらは、コンセンサスに基づくブロックチェーン及びトランザクションチェーン技術、プライベート型(permissioned)及びパブリック型(un-permissioned)台帳、共有台帳及びこれらの変形を含む。ブロックチェーン技術の最も広く知られているアプリケーションはビットコイン台帳であるが、他のブロックチェーンの実装も提案されて開発されている。ここでは、便宜上及び説明上の目的でビットコインが参照されることがあるが、本開示は、ビットコインブロックチェーンでの使用に限定されず、代替のブロックチェーンの実装及びプロトコルも、本開示の範囲内に入る点に留意すべきである。「ユーザ」という用語は、ここでは人間又はプロセッサに基づくリソースを示すことがある。
【0003】
ブロックチェーンは、ピアツーピアの電子台帳であり、これは、結果としてトランザクションで構成される、ブロックで構成されるコンピュータに基づく非集中的な分散型システムとして実装される。各トランザクションは、ブロックチェーンシステム内の参加者の間のデジタル資産の制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは、前のブロックのハッシュを含み、それにより、ブロックチェーンの開始以降にブロックチェーンに書き込まれた全てのトランザクションの永続的で修正不可能なレコードを作成するように、ブロックが一緒につながれる。トランザクションは、トランザクションのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さいプログラムを含み、これは、トランザクションのアウトプットがどのように誰によってアクセスできるかを指定する。ビットコインプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を使用して記述される。
【0004】
トランザクションがブロックチェーンに書き込まれるために、これは「承認され(validated)」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを確保するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、ロック及びロック解除スクリプトを実行することにより、未使用トランザクション(unspent transaction, UTXO)に対してこの承認作業を実行する。ロック及びロック解除スクリプトの実行がTRUEに評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるために、これは、i)トランザクションを受信した最初のノードにより承認されなければならず、トランザクションが承認された場合、ノードはそれをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新たなブロックに追加されなければならず、且つ、iii)マイニングされなければならず、すなわち、過去のトランザクションの公開台帳に追加されなければならない。
【0005】
ブロックチェーン技術は、暗号通貨の実装の使用にとって最も広く知られているが、デジタル起業家は、新たなシステムを実装するために、ビットコインが基礎となる暗号セキュリティシステムと、ブロックチェーンに記憶できるデータとの双方の使用を調査し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動化タスク及びプロセスに使用され得る場合には、非常に有利になる。このような解決策は、ブロックチェーンの利点(例えば、イベントの永続的な改ざん防止記録、分散処理等)を利用することができる一方で、これらの用途においてより多目的になることができる。
【0006】
関係者の間でのデータの交換の場合、データファイルの受信者は、選択肢から1つ又は限られた数のファイルにのみにアクセスできる一方で、どのファイルがアクセスされたかをデータの送信者が認識できないようにすることがしばしば望ましい。この構成は、紛失通信(Oblivious Transfer)として知られており、図1図3を参照して以下に説明する。
【0007】
図1を参照すると、紛失通信は、リソース(ファイル、データベースレコード又はいずれかの他のデジタル資産)のアクセスを制御し、向上したプライバシーでそのリソースを転送する方法である。紛失通信の基本的な問題は、送信者が受信者に送信された多くのファイルのうち、受信者がどれを開くかを習得すべきでないメカニズムを定義することである。Aliceは送信者であり、Bobは受信者であり、mはメッセージであり、bはメッセージのインデックスである。Aliceは多数のメッセージを送信し、Bobはどれかのメッセージを受信して復号することを望むかを選択する。Aliceは、Bobがどれを選択するかを認識しない。
【0008】
基本的なメカニズムは、図2を参照してディフィー・ヘルマン(Diffie-Hellman, DH)鍵交換[10]を考慮することにより定義できる。図2に示すように、コア・ディフィー・ヘルマン(Core Diffie Hellman, CDH)鍵交換では、どの鍵が交換されているか、したがって、ディフィー・ヘルマンプロトコルの結果としてどのメッセージが解読されるかが明らかであることが分かる。Cは暗号化されたメッセージであり、Eは秘密鍵Kの引数をとる暗号化関数であり、Dは暗号化されたメッセージC及び秘密鍵Kの引数をとる解読関数である。どのメッセージが解読されているかという第三者による認識は、特定の状況では低減したデータのセキュリティをもたらし、これは、許可されていない者がデータにアクセスすることをもたらす可能性がある。
【0009】
次に図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はメッセージペアの一方のみを解読でき、他方の組み合わせは「ダミー」であり、動作しない。
【0010】
ディフィー・ヘルマンメカニズムの変形を使用して、AliceはBobが解読するメッセージを「紛失している(oblivious)」ままであることが分かる。この例では、Bobが解読できる2つの可能なメッセージのうちの1つのみが存在する。
【0011】
したがって、ブロックチェーンに適用可能な紛失通信メカニズムを提供することにより、データセキュリティを改善することが望ましい。
【0012】
現在、このような改善された解決策が考案されている。
【発明の概要】
【0013】
したがって、本開示によれば、添付の特許請求の範囲に定義される方法及びシステムが提供される。
【0014】
少なくとも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の秘密とを区別できない。
【0015】
送信者から受信者に送信された少なくとも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の秘密とを区別できない。
【0016】
システムが提供されてもよく、当該システムは、
プロセッサと、
プロセッサによる実行の結果として、システムにここに記載のコンピュータ実施方法のいずれかの実施形態を実行させる実行可能命令を含むメモリと
を含む。
【0017】
コンピュータシステムのプロセッサによって実行された結果として、コンピュータシステムにここに記載のコンピュータ実施方法の実施形態を少なくとも実行させる実行可能命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体が提供されてもよい。
【図面の簡単な説明】
【0018】
本開示に従った様々な実施形態について、図面を参照して説明する。
図1】送信者と受信者との間のメッセージ転送を示す。
図2】ディフィー・ヘルマン鍵交換の動作を示す。
図3】紛失通信の動作の原理を示す。
図4】紛失通信プロセスを示す。
図5】紛失通信プロセスを示す。
図6】様々な実施形態が実装できる計算環境を示す概略図である。
【発明を実施するための形態】
【0019】
図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つの鍵のみにアクセスできることを確保することを要求する。
【0020】
当該プロセスは、Alice及びBobが(ビットコイン等を用いた)楕円曲線暗号(elliptic curve cryptography, ECC)/楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm, ECDSA)システムのための曲線パラメータを設定することにより開始する。
【0021】
ECDSAメカニズムから、dAQB=dAdBG=dBdAG=dBQAである。
【0022】
ここで、Aliceは点(xK,yk)=dAQBを計算する。Bobは点(xK,yK)=dBQAを計算する。xKは共有の秘密である。dA及びdBはそれぞれAlice及びBobの秘密鍵である。QA及びQBはそれぞれの公開鍵である。
【0023】
この基本的なアルゴリズムから、数字のペアを交換するメソッドが作成できる。このロジックは、n個の値のうち1つを選択するためにlog2(n)回繰り返されることができる。これは、交換された一対の鍵のみが有効であることを確保することにより行われる。
【0024】
この第1のステップは、Aliceが2つの可能な選択肢k0及びk1から1つの値のみを選択することを可能にする。
【0025】
1.Alice及びBobは、値Cに合意することにより始める。Alice及びBobは、現在のブロック高さ及びそれらのマスター鍵により生成された秘密のハッシュを選択するために、ECDSA交換を使用する。このような交換については、国際特許出願WO2017/145016により詳細に記載されており、C=h(BH|S)又はC=h(BH|S|Blockhash)である。
【0026】
ここで、h()はハッシュ関数であり、|は連結演算子である。
【0027】
BHはブロック高さである。
【0028】
Sは、例えば、国際特許出願WO2017/145016に開示されている方法によって生成された共有の秘密である。
【0029】
Blockhash=ブロックハッシュである。
【0030】
いずれかのランダム値が使用できるが、ブロック高さは外部の同意されたランダム性の好適なソースである点に留意すべきである。
【0031】
2.Aliceは値を選択する。Aliceはこれを自分で保持する。この値(i)はBobがkiにおいて作成した鍵を表す。
【0032】
3.次いで、Aliceは、国際特許出願WO2017/145016の方法によってAliceのマスター鍵ペアdA/QAからサブ鍵を作成し、ここでQA0を有する。ここで、QAはQA0のマスター鍵である。
【0033】
Aliceはまず、ECDSA交換を使用してBobにQA0を知らせる。Bobは暗号化する。BobはAliceの選択肢kiを暗号化する。
【0034】
Bobがi=0又は1のどちらをAliceが選択したかを知らないことを確保するために、Aliceはおとり公開鍵QA1も作成する。
【0035】
4.Bobはどちらが真の値であるか分からない。
【0036】
Aliceが選択された値を解読するために秘密鍵dA0を使用することを望む場合、Aliceは公開鍵QA0=(xA0,yA0)に対応するサブ鍵dA0を作成する。
【0037】
AliceはdA0を認識しており、したがって、QA0を認識している。
【0038】
Aliceはまた、dA0QA1=dA0dA1G=dA1dA0G=QA0dA1を認識している。
【0039】
AliceはdA0を認識しているが、dA1を計算できない。
【0040】
次に、Bobは、C≡xA0=dA0QA1=dA1QA0を要求する。
【0041】
AliceはdA0を認識しており、QA1を計算できる。QA0はdA0の積であり、Aliceに認識されている。
【0042】
5.仮にAliceがQA0について暗号化された情報のみを復号できるとしても、Aliceは双方の鍵QA0及びQA1をBobに与える。すなわち、Aliceは、QA0についての秘密鍵dA0を有するが、QA1についての秘密鍵dA1は有さない。
【0043】
6.BobはAliceに対してkiを暗号化する。この例では、k0はAliceが解読できるものである。すなわち、BobはQA0に対してk0を暗号化してQA1に対してk1を暗号化するので、BobはAliceがk0又はk1を望むか否かを認識しないが、BobはAliceがパケットを解読するために必要な鍵dA0又はdA1のうち1つのみを有することを認識している。
【0044】
7.Bobは2つのランダムな値r0及びr1を選択する。Bobは2つの鍵Qr0=r0G、Qr1=r1Gを計算し、これらをAliceに送信する。
【0045】
8.Bobはh(QA0)及びh(QA1)を計算する。
【0046】
9.Bobは公開鍵QAB0=(h(QA0)+r0)G、QAB1=(h(QA1)+r1)Gを作る。
【0047】
BobはそれぞれQAB0及びQAB1でk0及びk1を暗号化する。BobはQr0=r0G及びQr1=r1GをAliceに送信する。
【0048】
10.Aliceはr0又はr1を得るように反対にできない。
【0049】
11.Aliceは1つの値を決定する必要があるが、1つの値のみを解読できる(ブランク鍵は使用されない)。Alice及びBobの双方は以下のように制限される。Aliceは双方ではなくk0又はk1を解読(受信)することを選択でき、Bobはどちらかを認識せず、Bobは双方をAliceに送信できる。
【0050】
2つのシステムのうち1つでは、Aliceは2つの秘密を有するが、これらのうち1つを開示することを要求する。同時に、Bobは、2つの秘密のうち、どちらが欲しいかをAliceに知られたくない。Bobは、Aliceの秘密のうちの1つのみに興味があるが、どちらであるかをAliceに知られたくない。Bobは、Bobが何に答えたいのかをAliceが認識しない一方で、1つの回答のみを受け取る。
【0051】
図5は、非インタラクティブ紛失通信プロトコルの動作を示しており、Aliceは2つの値k0及びk1をBobに送信することにより始める。これらはBobの公開鍵及び秘密鍵の関数として送信され、それにより、Bobは2つの鍵のうち1つのみを抽出できる。
【0052】
素数として(p)を有する有限場Zp上の楕円曲線が使用される。全ての値は0と(p-1)との間にあり、全ての計算はモジュロpで完了する。
【0053】
楕円曲線の式の一般的な形式はy2modp=(x3+ax+b)modpである。
【0054】
楕円曲線の式を満たす(x,y)の点の集合は、Ep(a,b)により与えられる。楕円曲線上の点T=(x1,y1)の次数(order)rは、rT=0であるような最小の正の整数rとして定義され、ここで0は無限大の点である。
【0055】
点GはEp(a,b)における基準点である。この値は、次数rが非常に大きくなるように選択される。システムのセキュリティは、楕円曲線離散対数問題(elliptic curve discrete logarithm problem, ECDLP)に基づいており、解くことは実施できないほど困難である。点QのECDLPを解くことは、Q=kP(又はQ=kG)のような整数kを解くことと等価である。ここで、Q及びPは既知である。
【0056】
Alice及びBobの双方は、同じ楕円曲線及び基準点Gを使用する。Aliceは2つの値k0及びk1を選択し、2つの点P0=k0G及びP1=k1Gを生成する。
【0057】
値k0及びk1はBobに認識されるべきでなく、Aliceにより保持される秘密鍵として機能する。
【0058】
これらの値は、国際特許出願WO2017/145016に記載されている交換プロセスを使用して決定できる。
【0059】
Aliceがksaのマスター鍵を有する場合、値k0及びk1は、ksa+v0=k0、ksa+v1=k1のようにksaにリンクできる。
【0060】
ここで、v0及びv1はAliceにより認識されている値である。このプロセスは、紛失通信メッセージ交換の前に完了できる。
【0061】
プロトコルは以下のように定義される。
【0062】
図5を参照して、基準点G並びに点P0及びP1で始まる。
【0063】
P=P0+P1とし、i∈{0,1}とする。
【0064】
1.Bobは、ランダムな整数mを選択してUi=mGを設定することにより、公開鍵(U0,U1)を作成する。ここで、Uiは、U0又はU1のどちらが、Bobが選択したk0又はk1に対応するかを表す。Bobは公開鍵U0及びU1をAliceに送信する。
【0065】
次に、Ub=mG-Pi、U1-i=P1-i-Ubとする。
【0066】
Bobの秘密鍵はmである。mは国際特許出願WO2017/145016に記載されているプロセスを使用して導出できる。
【0067】
2.Aliceは2つのランダムな整数a0及びa1を選択し、V0=a0G及びV1=a1Gを計算する。
【0068】
次いで、AliceはW0=a0U0及びW1=a1U1を計算する。
【0069】
AliceはV0及びV1をBobに送信する。
【0070】
次いで、Aliceは
【0071】
【数1】
及び
【0072】
【数2】
を計算する。
【0073】
ここで、
【0074】
【数3】
は暗号化鍵としてのWiのバイナリ表現を有する排他的論理和暗号を用いた秘密の値Siのバイナリ表現の暗号化を表す。
【0075】
Aliceはまた、X0及びX1をBobに送信する。
【0076】
3.Bobは値mVi=maiG=Wiを計算する。
【0077】
これは、Bobが
【0078】
【数4】
としてSiを抽出することを可能にする。
【0079】
Siは第iの秘密である。
【0080】
Bobはnを計算できないので、S1-iを抽出できない点に留意すべきであり、ここで、U1-i=nGである。Aliceは、Bobがmの値を決定できるように、U0又はU1のうちどちらの値がmGに等しいかを認識しない。したがって、Aliceは、2つの秘密のうちのどちらをBobが受け取ったかを認識しない。
【0081】
Aliceは、Bobの公開鍵が以下の方式で正しく形成されていることを検証できる。
【0082】
1.Ui+U1-i=Pであることを検査する。
【0083】
2.Ub=Ui-Piを計算する。
【0084】
これは、U1-i-P1-iの負であるか否かを検証するために使用される。
【0085】
プロトコルのセキュリティ側面は以下の通りである。
【0086】
1.Aliceは2つの秘密のうちどちらをBobが受け取ったかを推定できない。
【0087】
2.プロトコルのセキュリティは、楕円曲線について離散対数問題(discrete logarithm problem, DLP)が成立する場合に成立する。
【0088】
3.Aliceがプロトコルに従う場合、BobはAliceの秘密のうち1つのみを見つけることができる。
【0089】
このシステムは、交換に対する公正な管理を可能にする。Bob及びAliceは、何が交換されたかを認識せずに情報を交換できる。これは、データ又は情報の全ての閲覧、データベースへのアクセス、及び他の記録(例えば、医療ファイル)を制御するために使用でき、この情報は、どの関係者がどの情報を見たかという記録と共に、ビット毎に分割されて公表できる。これにより、信頼されるサーバ又は第三者の必要を除去できる。
【0090】
次に図6を参照すると、本開示の少なくとも1つの実施形態を実施するために使用され得る計算デバイス2600の簡略化したブロック図が例として提供される。様々な実施形態では、計算デバイス2600は、上記に示して説明した実施システムのいずれかを実装するために使用されてもよい。例えば、計算デバイス2600は、データサーバ、ウェブサーバ、ポータブル計算デバイス、パーソナルコンピュータ又はいずれかの電子計算デバイスとして使用するために構成されてもよい。図6に示すように、計算デバイス2600は、1つ以上のレベルのキャッシュメモリを有する1つ以上のプロセッサと、メインメモリ2608及び永続ストレージ2610を含む記憶サブシステム2606と通信するように構成できるメモリコントローラ(併せて2602とラベル付けされる)とを含んでもよい。メインメモリ2608は、図示のように、ダイナミックランダムアクセスメモリ(DRAM)2618及び読み取り専用メモリ(ROM)2620を含んでもよい。記憶サブシステム2606及びキャッシュメモリ2602は、本開示に記載のトランザクション及びブロックに関連する詳細のような情報の記憶のために使用されてもよい。プロセッサ2602は、本開示に記載のいずれかの実施形態のステップ又は機能を提供するために利用されてもよい。
【0091】
プロセッサ2602はまた、1つ以上のユーザインタフェース入力デバイス2612、1つ以上のユーザインタフェース出力デバイス2614及びネットワークインタフェースサブシステム2616と通信できる。
【0092】
バスサブシステム2604は、計算デバイス2600の様々な構成要素及びサブシステムが、意図したように相互に通信することを可能にする機構を提供してもよい。バスサブシステム2604は、単一のバスとして概略的に示されているが、バスサブシステムの代替実施形態は、複数のバスを利用してもよい。
【0093】
ネットワークインタフェースサブシステム2616は、他の計算デバイス及びネットワークへのインタフェースを提供してもよい。ネットワークインタフェースサブシステム2616は、他のシステムからデータを受信し、計算デバイス2600から他のシステムにデータを送信するためのインタフェースとして機能してもよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、データセンタのような遠隔地にいる間に、データをデバイスに送信し、デバイスからデータを受信することができるように、デバイスをネットワークに接続することを可能にしてもよい。
【0094】
ユーザインタフェース入力デバイス2612は、キーボードのような1つ以上のユーザ入力デバイスと、統合マウス、トラックボール、タッチパッド又はグラフィックスタブレットのようなポインティングデバイスと、スキャナと、バーコードスキャナと、ディスプレイに組み込まれたタッチスクリーンと、音声認識システム、マイクロフォンのようなオーディオ入力デバイスと、他のタイプの入力デバイスとを含んでもよい。一般的に、「入力デバイス」という用語の使用は、情報を計算デバイス2600に入力するための全ての可能な種類のデバイス及び機構を含むことを意図する。
【0095】
1つ以上のユーザインタフェース出力デバイス2614は、表示サブシステム、プリンタ、又はオーディオ出力デバイス等のような非視覚的ディスプレイを含んでもよい。表示サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイのようなフラットパネルデバイス、又は投影若しくは他の表示デバイスでもよい。一般的に、「出力デバイス」という用語の使用は、計算デバイス2600から情報を出力するための全ての可能な種類のデバイス及び機構を含むことを意図する。1つ以上のユーザインタフェース出力デバイス2614は、例えば、ユーザ相互作用が適切になり得るときに、ここに記載のプロセス及びその変形を実行するアプリケーションとのユーザ相互作用を実現するように、ユーザインタフェースを提示するために使用されてもよい。
【0096】
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供し得る基本的なプログラミング及びデータ構成を記憶するためのコンピュータ読み取り可能記憶媒体を提供してもよい。アプリケーション(プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されたとき、本開示の1つ以上の実施形態の機能を提供してもよく、記憶サブシステム2606に記憶されてもよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてもよい。記憶サブシステム2606は、本開示に従って使用されるデータを記憶するためのリポジトリを更に提供してもよい。例えば、メインメモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性ストレージを提供できる。永続ストレージ2610は、プログラム及びデータのための永続的な(不揮発性)ストレージを提供でき、フラッシュメモリと、1つ以上のソリッドステートドライブと、1つ以上の磁気ハードディスクドライブと、関連する取り外し可能媒体を有する1つ以上のフロッピーディスクドライブと、関連する取り外し可能媒体を有する1つ以上の光ドライブ(例えば、CD-ROM又はDVD又はブルーレイ)ドライブと、他の同様の記憶媒体とを含んでもよい。このようなプログラム及びデータは、本開示に記載の1つ以上の実施形態のステップを実行するためのプログラムと、本開示に記載のトランザクション及びブロックに関連するデータとを含むことができる。
【0097】
計算デバイス2600は、ポータブルコンピュータデバイス、タブレットコンピュータ、ワークステーション、又は以下に記載のいずれかの他のデバイスを含む、様々な種類のものでもよい。さらに、計算デバイス2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、ライトニングコネクタ等)を通じて計算デバイス2600に接続され得る他のデバイスを含んでもよい。計算デバイス2600に接続され得るデバイスは、光ファイバコネクタを受け入れるように構成された複数のポートを含んでもよい。したがって、このデバイスは、光信号を電気信号に変換するように構成されてもよく、電気信号は、処理のために当該デバイスを計算デバイス2600に接続するポートを通じて送信されてもよい。コンピュータ及びネットワークの絶えず変化する性質のため、図6に示す計算デバイス2600の説明は、デバイスの好ましい実施形態を説明する目的のための特定の例としてのみ意図されている。図6に示すシステムよりも多くの構成要素又は少ない構成要素を有する多くの他の構成が可能である。
【0098】
[例示的な実施形態の列挙]
本開示の実施形態の例は、以下の項目を考慮して記載できる。
【0099】
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の秘密とを区別できない、方法。
【0100】
これは、どのメッセージに受信者がアクセスしたかを送信者が認識することを妨げつつ、受信者が限られた数のメッセージにアクセスすることのみを可能にすることにより、当該方法のデータのセキュリティを改善する利点を提供する。
【0101】
2.対応する前記第1の公開鍵によって少なくとも1つの前記第1の秘密を暗号化し、対応する前記第2の公開鍵によって少なくとも1つの前記第2の秘密を暗号化するステップを更に含む、項目1に記載の方法。
【0102】
3.少なくとも1つの前記第1の秘密及び少なくとも1つの前記第2の秘密は、それぞれの排他的論理和暗号によって暗号化される、項目2に記載の方法。
【0103】
これは、迅速且つ効率的な暗号化及び解読を可能にする利点を提供する。
【0104】
4.少なくとも1つの前記排他的論理和暗号は、対応する前記第1又は第2の公開鍵に基づくそれぞれの暗号化鍵を有する、項目3に記載の方法。
【0105】
5.少なくとも1つの前記暗号化鍵は、スカラー楕円曲線点の乗算によって、前記送信者に既知の、それぞれの第1又は第2の暗号整数により乗算された対応する前記第1又は第2の公開鍵を含む、項目4に記載の方法。
【0106】
6.対応する前記第1又は第2の公開鍵によって暗号化された少なくとも1つの前記第1及び/又は第2の暗号整数を前記送信者から前記受信者に送信するステップを更に含む、項目5に記載の方法。
【0107】
7.少なくとも1つの前記第1の秘密は、楕円曲線点の追加によってそれぞれの第1の暗号項に追加される、前記楕円曲線暗号システムの楕円曲線生成点の、前記送信者に既知のそれぞれの第1のマスキング整数により、スカラー乗算の結果を含むそれぞれの第1のマスキング項を含むそれぞれの第3の公開鍵によって暗号化される、項目1乃至6のうちいずれか1項に記載の方法。
【0108】
8.少なくとも1つの前記第1の暗号項は、対応する前記第1の公開鍵に依存したそれぞれの第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目7に記載の方法。
【0109】
9.少なくとも1つの前記第3の暗号整数は、対応する前記第1の公開鍵のハッシュ値である、項目8に記載の方法。
【0110】
10.少なくとも1つの前記第2の秘密は、楕円曲線点の追加によってそれぞれの第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記送信者に既知のそれぞれの第2のマスキング整数により、スカラー乗算の結果を含むそれぞれの第2のマスキング項を含むそれぞれの第4の公開鍵によって暗号化される、項目7乃至9のうちいずれか1項に記載の方法。
【0111】
11.少なくとも1つの前記第2の暗号項は、対応する前記第2の公開鍵に依存したそれぞれの第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目10に記載の方法。
【0112】
12.少なくとも1つの前記第4の暗号整数は、対応する前記第2の公開鍵のハッシュ値である、項目11に記載の方法。
【0113】
13.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び/又は第1の公開鍵から決定できる、項目1乃至12のうちいずれか1項に記載の方法。
【0114】
14.前記送信者と前記受信者との間で共有されるべき少なくとも1つの第3の秘密を生成するステップを更に含む、項目1乃至13のうちいずれか1項に記載の方法。
【0115】
15.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び第1の公開鍵と、少なくとも1つの前記第3の秘密とに基づく、項目13及び14に記載の方法。
【0116】
16.前記送信者において、前記受信者から受信した対応する前記第2及び/又は第1の公開鍵で、前記受信者から受信した少なくとも1つの前記第1及び/又は第2の公開鍵の整合性を検査するステップを更に含む、項目1乃至15のうちいずれか1項に記載の方法。
【0117】
17.前記第2の秘密鍵による少なくとも1つの前記第1の公開鍵のスカラー乗算の結果は、それぞれの前記第1の秘密鍵によるそれぞれの前記第2の公開鍵のスカラー乗算の結果と等しい、項目1乃至16のうちいずれか1項に記載の方法。
【0118】
18.少なくとも1つの前記第1の秘密鍵及び少なくとも1つの前記第2の秘密鍵は、前記送信者に既知の前記楕円曲線暗号システムの秘密鍵から決定論的に導出される、項目1乃至17のうちいずれか1項に記載の方法。
【0119】
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の秘密とを区別できない、方法。
【0120】
20.少なくとも1つの前記第1の秘密及び少なくとも1つの前記第2の秘密は、それぞれの排他的論理和暗号によって暗号化される、項目19に記載の方法。
【0121】
21.少なくとも1つの前記排他的論理和暗号は、対応する前記第1又は第2の公開鍵に基づくそれぞれの暗号化鍵を有する、項目20に記載の方法。
【0122】
22.少なくとも1つの前記暗号化鍵は、スカラー楕円曲線点の乗算によって、前記送信者に既知の、それぞれの第1又は第2の暗号整数により乗算された対応する前記第1又は第2の公開鍵を含む、項目21に記載の方法。
【0123】
23.前記受信者において、前記送信者から、対応する前記第1又は第2の公開鍵によって暗号化された少なくとも1つの前記第1及び/又は第2の暗号整数を受信するステップを更に含む、項目22に記載の方法。
【0124】
24.少なくとも1つの前記第1の秘密は、楕円曲線点の追加によってそれぞれの第1の暗号項に追加される、前記楕円曲線暗号システムの楕円曲線生成点の、前記送信者に既知のそれぞれの第1のマスキング整数により、スカラー乗算の結果を含むそれぞれの第1のマスキング項を含むそれぞれの第3の公開鍵によって暗号化される、項目19乃至23のうちいずれか1項に記載の方法。
【0125】
25.少なくとも1つの前記第1の暗号項は、対応する前記第1の公開鍵に依存したそれぞれの第3の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目24に記載の方法。
【0126】
26.少なくとも1つの前記第3の暗号整数は、対応する前記第1の公開鍵のハッシュ値である、項目25に記載の方法。
【0127】
27.少なくとも1つの前記第2の秘密は、楕円曲線点の追加によってそれぞれの第2の暗号項に追加される、前記楕円曲線暗号システムの前記楕円曲線生成点の、前記送信者に既知のそれぞれの第2の整数により、スカラー乗算の結果を含むそれぞれの第2のマスキング項を含むそれぞれの第4の公開鍵によって暗号化される、項目24乃至26のうちいずれか1項に記載の方法。
【0128】
28.少なくとも1つの前記第2の暗号項は、対応する前記第2の公開鍵に依存したそれぞれの第4の暗号整数による前記楕円曲線生成点のスカラー乗算の結果を含む、項目27に記載の方法。
【0129】
29.少なくとも1つの前記第4の暗号整数は、対応する前記第2の公開鍵のハッシュ値である、項目28に記載の方法。
【0130】
30.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び/又は第1の公開鍵から決定できる、項目19乃至29のうちいずれか1項に記載の方法。
【0131】
31.前記送信者と前記受信者との間で共有されるべき少なくとも1つの第3の秘密を生成するステップを更に含む、項目19乃至30のうちいずれか1項に記載の方法。
【0132】
32.少なくとも1つの前記第1及び/又は第2の公開鍵は、対応する前記第2及び第1の公開鍵と、少なくとも1つの前記第3の秘密とに基づく、項目30及び31に記載の方法。
【0133】
33.前記第2の秘密鍵による少なくとも1つの前記第1の公開鍵のスカラー乗算の結果は、それぞれの前記第1の秘密鍵によるそれぞれの第2の公開鍵のスカラー乗算の結果と等しい、項目19乃至32のうちいずれか1項に記載の方法。
【0134】
項目1乃至33のうちいずれか1項に記載の方法を実行するように構成されたコンピュータ実施システム。
【0135】
上記の実施形態は、本発明を限定するものではなく例示するものであり、当業者は、添付の特許請求の範囲により定義される本開示の範囲から逸脱することなく、多くの代替実施形態を設計できる点に留意すべきである。特許請求の範囲において、括弧内に付したいずれかの参照符号は、特許請求の範囲を限定するものと解釈されないものとする。「含む(comprising)」及び「含む(comprises)」等の用語は、全体としていずれかの請求項又は明細書に列挙されたもの以外の要素又はステップの存在を除外しない。本明細書において、「含む(comprises)」とは、「含む(includes)又はからなる(consists of)」を意味し、「含む(comprising)」とは、「含む(comprising)又はからなる(consisting of)」を意味する。要素の単数形の参照は、このような要素の複数形の参照を除外するものではなく、逆も同様である。本発明は、いくつかの別個の要素を含むハードウェアにより、且つ、適切にプログラムされたコンピュータにより実装されてもよい。いくつかの手段を列挙するデバイスの請求項において、これらの手段のいくつかは、1つの同じハードウェアアイテムにより具体化されてもよい。特定の手段が相互に異なる従属項に記載されているという単なる事実は、これらの手段の組み合わせが有利に利用できないことを示すものではない。
【0136】
[参考文献]
[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”
図1
図2
図3
図4
図5
図6
【外国語明細書】