Unknown key-share attack とは

Blake-Wilson&Menezes(1999)で定義されているように、認証済み鍵合意(AK)または鍵確認(AKC)プロトコルによる認証済み鍵合意に対する未知の鍵共有(UKS)攻撃は、エンティティ A {\displaystyle A} が終了する攻撃です彼女は B {\displaystyle B} とキーを共有していると信じていますが、これは事実ですが、 B {\displaystyle B} はそのキーが代わりにエンティティと共有されていると誤って信じています E A {\displaystyle E\neq A}
言い換えれば、英国では、相手が、イヴと言うと、正直なパーティのアリスとボブに、アリスとボブの少なくとも1人が秘密鍵が共有されていることを知らない秘密鍵を確立するよう強制します。たとえば、EveはBobをEveと共有していると信じるようにBobを強制するかもしれませんが、実際にはAliceと鍵を共有しています。アリスとの "キーシェア"はボブには未知です。

Mask generation function とは

マスク生成関数(MGF)は、ハッシュ関数の出力が固定サイズである一方で、可変長の出力をサポートするという点を除いて、暗号ハッシュ関数と同様の暗号プリミティブである。この点で、MGFは一回使用のスポンジ機能と見なすことができ、任意の長さの入力を吸収して処理して、任意の長さの出力を生成することができます。マスク生成関数は完全に決定論的です。任意の入力および所望の出力長に対して、出力は常に同じである。

Server-based signatures とは

暗号化では、サーバーベースの署名は、公開されているサーバーが署名作成プロセスに参加するデジタル署名です。これは、公開鍵暗号と公開鍵インフラストラクチャに基づいた従来のデジタル署名とは対照的です。これにより、署名者は、サーバーとの通信なしに署名を生成するために、個人的な信頼できるコンピューティングベースを使用することを前提としています。
4つの異なるクラスのサーバベースの署名が提案されている。
ラムポートワンタイムシグネチャ。 Leslie Lamportによって1979年に提案されました。 Lamportのワンタイムシグネチャは、暗号化ハッシュ関数に基づいています。署名者は、メッセージに署名するために、公開サーバにハッシュ値のリスト(ハッシュ関数の出力)を送信するだけなので、署名の処理は非常に高速ですが、通常の公開鍵と比較して、主要な署名方式。
2.オンライン/オフラインデジタル署名。 1989年にEven、Goldreich、Micaliによって最初に提案されたのは、シグネチャの作成手順をスピードアップするためです。これは、検証よりもはるかに時間がかかります。 RSAの場合、検証よりも1000倍遅い場合があります。オンライン/オフラインのデジタル署名は、2つのフェーズで作成されます。第1段階は、署名されるべきメッセージが分かる前に、オフラインで行われる。第2の(メッセージ依存の)フェーズは、オンラインで実行され、サーバとの通信を含む。第1(オフライン)段階では、署名者は、従来の公開鍵デジタル署名方式を使用して、Lamportワンタイム署名方式の公開鍵に署名する。第2段階では、メッセージはLamport署名方式を使用して署名されます。後のいくつかの研究では、Even et al。
3.サーバーサポートシグネチャー(SSS)。クライアント(普通のユーザー)からサーバーに時間のかかる非対称暗号化操作の使用を委任するために、1996年にAsokan、Tsudik、Waidnerによって提案されました。通常のユーザの場合、非対称暗号の使用は署名検証に限定され、すなわち、オンライン/オフライン署名の場合のような事前計算段階は存在しない。主な動機は、RSAなどの一般的な公開鍵デジタル署名を作成するには、そのようなデバイスが遅すぎる可能性があることを考慮して、デジタル署名を作成するための低性能モバイルデバイスの使用でした。クライアントはハッシュチェーンに基づく認証を使用して、メッセージを認証された方法で署名サーバーに送信し、サーバーは通常の公開キー電子署名方式を使用してデジタル署名を作成します。 SSSでは、ハッシュチェーン認証フェーズのトランスクリプトを非否認目的で使用できるため、署名サーバーは信頼できる第三者(TTP)であるとはみなされません。 SSSでは、サーバーはクライアントの名前で署名を作成できません。
4.代理サーバ(DS)。個人の秘密鍵に関連する問題やコストを削減するため、2002年にPerrin、Bruns、Moreh、Olkinによって提案されました。彼らのソリューションでは、クライアント(一般ユーザー)は、プライベート暗号操作を委任サーバー(DS)に委任します。ユーザーはDSに対して認証を行い、サーバーの秘密キーを使用してメッセージに署名するように要求します。 DSの背後にある主な動機は、秘密鍵が一般ユーザーにとって使いにくく、攻撃者が悪用しやすいことです。秘密鍵は、パスワードのような記憶に残るものではなく、バイオメトリクスのような人から派生したものであり、パスワードのようなキーボードからは入力できません。秘密鍵は、コンピュータやスマートカードにファイルとして保存されることが多く、攻撃者によって盗まれたり、オフラインで悪用される可能性があります。 2003年に、BuldasとSaareperaは、しきい値暗号システムを使用して信頼をしきい値信頼に置き換えることによって信頼問題に対処する委任サーバーの2レベルアーキテクチャを提案しました。

Digital signature forgery とは

暗号デジタル署名またはMACシステムでは、デジタル署名偽造は m {\displaystyle m} に対して有効なメッセージ m {\displaystyle m} と署名(またはMAC) σ {\displaystyle \sigma } からなるペアを作成する能力であり、 1]は合法的署名者によって過去に署名されていない。偽造には3つのタイプがあります:実在性、選択性、普遍性。

Trapdoor function とは

トラップドア関数は、一方向に計算するのは簡単ですが、トラップドアと呼ばれる特別な情報なしに反対方向に計算することは難しい(その逆行列を求める)関数です。トラップドア機能は、暗号化に広く使用されています。
数学的には、fがトラップドア関数である場合、与えられたf(x)とyのようないくつかの秘密情報yが存在し、xを計算することは容易である。南京錠とその鍵を考えてみましょう。シャックルをロック機構に押し込むことで、キーを使わずにパドロックをオープンからクローズに変更することは自明です。しかし、錠前を簡単に開くには、キーを使用する必要があります。ここで鍵はトラップドアであり、パドロックはトラップドア機能です。
単純な数学的なトラップドアの例は、「6895601は2つの素数の積であり、その数字は何ですか?典型的な解決方法は、答えを見つけるまで6895601をいくつかの素数で割ってみることです。しかし、1931が数字の1つであると言われれば、 "6895601÷1931"を任意の電卓に入力することで答えを見つけることができます。この例は、頑丈なトラップドア機能ではありません。現代のコンピュータは、すべての可能な回答を1秒以内に推測することができますが、このサンプルの問題は、2つの大きな素数の積を使用することによって改善できます。
1970年代半ば、Diffie、Hellman、Merkleによる非対称(または公開鍵)暗号化技術の公開により、トラップドアの機能が暗号の目立つようになりました。確かに、Diffie&Hellman(1976)はこの言葉を作った。いくつかの機能クラスが提案されており、当初考えられていたよりもトラップドア機能が見つけにくいことがすぐ明らかになりました。例えば、初期の提案は、部分集合和問題に基づくスキームを使用することでした。これは不適切であることが判明しました。
2004年現在で最もよく知られているトラップドア機能(家族)の候補は、RSAとRabinファミリーの機能です。どちらも複合数を法とする累乗として書かれており、どちらも素因数分解の問題に関連しています。
効率的な計算を可能にするグループについて知られていない「トラップドア」情報がないので、離散対数問題(楕円曲線上で定義された、または素数を剰余として扱う)の硬度に関連する関数はトラップドア関数では知られていない離散対数の
暗号のトラップドアは、前述した非常に具体的な意味を持ち、バックドアと混同してはいけません(これらは頻繁に入れ替えて使用されますが、間違っています)。バックドアとは、例えば、1つまたは複数の権限のない当事者がセキュリティを迂回または破壊することを可能にする、暗号アルゴリズム(たとえば、鍵ペア生成アルゴリズム、デジタル署名アルゴリズムなど)またはオペレーティングシステムに追加される意図的なメカニズムです。いくつかの方法でシステム。

Security through obscurity とは

セキュリティ工学では、あいまいさ(またはあいまいさによるセキュリティ)によるセキュリティは、システムまたはシステムのコンポーネントにセキュリティを提供する主な方法として、設計または実装の秘密性に依存します。あいまいさに頼っているシステムやコンポーネントには、理論的または実際のセキュリティ上の脆弱性があるかもしれませんが、その所有者または設計者は、欠陥がわからない場合、攻撃を成功させるには十分であると信じています。セキュリティ専門家は、1851年にさかのぼるこの見解を拒否し、曖昧さが決して唯一のセキュリティメカニズムであるべきではないとアドバイスしている。

Proof of knowledge とは

暗号では、知識の証拠は、証明者が何かを知っている検証者に「確信する」ことに成功するという対話的証明である。機械が「何かを知る」ことが意味することは、計算の観点から定義されます。機械が入力として与えられると、何かを計算することができれば、機械は「何かを知っている」。証明者のプログラムが必ずしも知識自体を吐き出すわけではないので(ゼロ知識証明の場合のように)、知識抽出プログラムと呼ばれる異なるプログラムを持つマシンが導入され、このアイデアを捕捉する。私たちは、多項式の時間限定機械によって証明できるものに大部分興味を持っています。この場合、一連の知識要素は、NPのある言語の目撃者の集合に限定される。
x {\displaystyle x} をNPの言語 L {\displaystyle L} の言語要素とし、 W ( x ) {\displaystyle W(x)} xの証人を受け入れなければならない証拠とする。これは、以下の関係を定義することを可能にする: R = { ( x , w ) : x L , w W ( x ) } {\displaystyle R=\{(x,w):x\in L,w\in W(x)\}}
知識エラー κ {\displaystyle \kappa } を伴う関係 R {\displaystyle R} に関する知識の証拠は、証明者 P {\displaystyle P} と検証者 V {\displaystyle V} との2者プロトコルであり、以下の2つの特性を有する。
 完全性: ( x , w ) R {\displaystyle (x,w)\in R} ならば、証人 w {\displaystyle w} を知っている証明者Pは、検証者 V {\displaystyle V} に彼の知識を納得させることに成功する。より正式に:妥当性:妥当性は、潜在的に悪意のある証明者 P ~ {\displaystyle {\tilde {P}}} へのオラクルアクセスを与えられた証人を抽出する知識抽出者 E {\displaystyle E} の成功確率が、少なくとも証明者に納得させるための証明者 P ~ {\displaystyle {\tilde {P}}} 。このプロパティは、証人を知らない証明者が検証者を納得させることができないことを保証します。

Quantum Byzantine agreement とは

ビザンチンフォールトトレラントプロトコルは、分散アルゴリズムにおける任意のタイプの障害に対して堅牢なアルゴリズムです。インターネットの出現と普及に伴い、常に正しく動作することを保証する集中制御を必要としないアルゴリズムを開発する必要があります。ビザンティン合意プロトコルは、この作業の不可欠な部分です。この記事では、一定時間で動作するByzantineプロトコルの量子版について説明します。

Database encryption とは

データベースの暗号化は、データベースに格納されたデータを暗号化せずに理解できない「暗号テキスト」に変換するアルゴリズムを使用するプロセスとして一般的に定義できます。したがって、データベース暗号化の目的は、潜在的に「悪意のある」意図を持つ個人がアクセスすることから、データベースに格納されたデータを保護することです。データベースを暗号化する行為は、「無意味な」暗号化されたデータがハッカーのためにほとんど使用されないため、前述のデータベースをハックするインセンティブも減少させます。データベースの暗号化には、複数の手法と技術がありますが、その中で最も重要なものはこの記事で詳しく説明します。

Ethash とは

Ethashは、Ethereumベースのブロックチェーン通貨における作業証明機能です。それは最終的にSHA-3に標準化されたハッシュ関数であるKeccakを使用します。これらの2つは異なっており、混乱させるべきではありません。バージョン1.0以来、Ethashはメモリ硬度(特殊なASICチップに実装するのが難しい)で容易に検証可能なASIC耐性を持つように設計されています。また、以前のDaggerとHashimotoハッシュのわずかに変更されたバージョンを使用して、計算上のオーバーヘッドを削除します。以前はDagger-Hashimotoと呼ばれていましたが、Ethash関数は時間とともに進化しました。 Ethashは、Ethash DAGと呼ばれる最初の1 GBのデータセットと、ライトクライアントが保持する16 MBのキャッシュを使用します。これらは、エポックとして知られている30,000ブロック毎に再生されます。マイナーはDAGのスライスをつかんで、トランザクションとレシートのデータと、ダイナミックターゲットの難しさの下でハッシュを生成する暗号ノンスを使ってミックスハッシュを生成します。