新興技術としてのブロックチェーンは、より広範な注目を集めており、分散データストレージテクノロジー、コンセンサス、暗号化メカニズムなど、インターネット時代の従来のテクノロジーの新しいアプリケーションです。 さまざまなブロックチェーン研究連合の作成により、関連する研究はますます多くのスタッフのサポートとサポートを受けています。 ハッシュアルゴリズム、知識のゼロ証明、リングの署名、およびブロックチェーンで使用されるその他の暗号化アルゴリズム:
ハッシュアルゴリズム
基本的なブロックチェーン技術として、ハッシュ関数の本質はデータセット - 長さ(限定)の長さの長さのセットにマッピングされました。 これらの関数が両方を満たしている場合:
(1)入力の一連のデータハッシュ値の計算は非常に簡単です。 同じデータのハッシュ値を持っている人は、カウントするのが困難です。
上記の2つのプロパティを満たすハッシュ関数は、暗号化されたハッシュ関数とも呼ばれます。 ハッシュ関数の場合、衝突と呼ばれるものを見つけます。 現在のハッシュ機能には、MD5、SHA1、SHA2、SHA3が含まれます。
ビットコインはSHA256を使用し、ほとんどのブロックチェーンシステムはSHA256アルゴリズムを使用します。 ここでは、SHA256を最初に紹介します。
1。 メッセージが入力されているため、メッセージの長さが448モード512(長さ= 448mod512)に並んでいます。 。 64ビットで表されるメッセージの最初のビット(パディングの前)の長さは、ステップ1の結果の後に添付されます(下位バイトが推奨されます)。
ステップ3:初期化をキャッシュします。 256ビットキャッシュを使用して、ハッシュ関数の中央と端を保存します。
ステップ4:512ビットプロセス(16ワード)パケットパッケージ。 アルゴリズムは、64段階の繰り返し操作で構成される6つの基本ロジック関数を使用します。 各ステップは、256ビットのキャッシュ値を入力として取得し、キャッシュコンテンツを更新します。 各ステップは、32ビット定数と32ビット定数値を使用します。 ここで、WTはパケット後のパケットです、t = 1.2、 、16。 256-メッセージ - メッセージ - ビット。
暗号化システムと署名のコアアルゴリズムとして、ハッシュ機能セキュリティは、ブロックチェーンシステム全体の基本的なセキュリティに関連しています。 したがって、ハッシュ関数の現在の研究状況に注意を払う必要があります。
2。 1つの例(機能衝突MD4、MD5、HAVAL-128およびRIPEMD、RumblesofCrypto2004、Howto BreakMD5およびその他のハッシュ、EuroCrypt2005)。 攻撃は非常に複雑で、通常のコンピューターでは数秒しかかかりません。 2005年、Wang Xiaoyun教授と彼の同僚は、SHA-1アルゴリズムの衝突アルゴリズムを提案しましたが、計算の複雑さは2からパワー63です。
2017年2月23日、Google Securityブログは世界で最初のハッシュSHA-1衝突をリリースしました。 同じSHA-1メッセージが研究Webサイトで消化されました。 つまり、理論的研究の後、SHA-1アルゴリズムにはリスクがあると警告したことを意味します。 アルゴリズムの実際の攻撃のSHA-1症例も現れます。 また、Sha-algorithm 1の終わりをマークします。
NISTは、2007年にアルゴリズムを収集して、次世代の世界を収集し、SHA-3競争を開催することを公式に発表しました。 新しいハッシュアルゴリズムはSHA-3と呼ばれ、新しい安全ハッシュ標準と呼ばれ、既存のFIPS180-2標準を強化します。 アルゴリズムの提出は2008年10月に終了します。 NISTは2つを保持します2009年と2010年の会議のラウンド。 オープン競争のプロセス全体が、高度な暗号化AE需要プロセスの需要に従います。 2012年10月2日、コーラスはNISTコンペティションの勝者に選ばれ、SHA-3になりました。
扇動アルゴリズムは、2008年10月にSHA-3の候補者によって提出されました。 シャックルは革新的な「スポンジエンジン」メッセージメッセージを実践しました。 設計が簡単で実装が簡単です。 スキルは、2nの最小複雑さで攻撃に耐えることができました。 ここで、nはハッシュのサイズです。 安全マージンが広くなっています。 これまでのところ、3番目のパーティパスワード分析によると、懐疑論には深刻な弱点がないことが示されています。
Kangarootwelveアルゴリズムは、最近の新しい提案されたバリアントです。
Zero-knowledgeProof
暗号化では、Zero-knowledgeProof(ZKP)は、ある当事者が他の当事者に使用するタイプの用途であり、他の当事者に、彼が何かを開示する特定の戦略メッセージを知っていることを証明するために別の当事者に証明する一種です。 Xに関連するその他のコンテンツ。 前者はProverと呼ばれ、最後は検証と呼ばれます。 システム内のシナリオを想像してください。 すべてのユーザーが独自のファイルを持ち、個人のキーを使用してシステムに暗号化および開示します。 ある時点で、アリスのユーザーはボブユーザーにファイルの一部を提供したいと考えています。 現時点で問題が発生しているのは、アリスが正しいファイルを送信したことをボブに納得させた方法です。 これに対処する簡単な方法は、アリスにアリスがアリスのコンテンツを簡単に簡単に入手できるため、アリスが選択したくない戦略であるボブにアリスを送ることです。 知識のゼロ証明は、上記の問題を解決するために使用できるソリューションです。 知識のゼロの証拠は複雑さの理論に基づいており、暗号化には幅広い理論的なつながりがあります。 複雑さの理論では、ゼロ知識の証拠を適用するために使用できる言語について説明しますが、暗号化では、さまざまなゼロ知識証拠ソリューションを構築し、非常に良好で効率的にする方法について説明します。
署名署名署名
1。 他のデジタル署名と同様に、グループ署名は公然と確認でき、1つの公開キーだけで検証できます。 グループ署名の一般的なプロセス:
(1)初期化、グループマネージャーはグループリソースを設定し、グループメンバー、検証、グループ全体のすべてのユーザーに対して同じパブリックグループとグループパーソナルグループ(groupprivatey)を生成します。 等
(2)メンバーが参加すると、グループマネージャーはグループメンバーにグループ証明書(利害関係者のグループ)を発行します。
(3)署名、グループのメンバーは、得られたグループ証明書を使用してファイルに署名してグループ署名を生成します。
(4)確認、同時に、検証は、グループの公開鍵を使用して生成されたグループの署名の正確性のみを確認することができますが、グループの公式署名を決定することはできません。
(5)一般に、グループマネージャーはグループの秘密鍵を使用して、グループユーザーによって生成されたグループの署名を検出し、署名者のアイデンティティを開示することができます。
2。 これは、リングとマネージャーのみを備えた単純化されたグループ署名であり、リングメンバー間に協力はありません。 リングの署名スキームでは、最初の署名者は、署名者を含む一時的な署名者のセットを選択します。 その後、署名は、署名コレクションの個人および他の人の鍵を使用して、他の人の助けなしに独立して署名を作成できます。 署名者コレクションのメンバーは、それらが含まれていることを知らないかもしれません。
リング署名スキームは、次のセクションで構成されています。
(1)メイン生成。 メインペア(PKIメインPKI、スキーキープライベート)は、裁判所の各メンバーに対して生成されます。
(2)署名。 署名者は、独自の個人キーとnリングメンバー(それ自体を含む)を使用して、Mメッセージの署名を作成します。
(3)署名確認。 確認により、署名がリングの署名とメッセージmに基づいてリングメンバーによって署名されているかどうかを確認します。
リング署名の署名が出会う:
(1)無条件の不確実性:攻撃者は、リングメンバーの秘密鍵が取得されたとしても、作成されたメンバーの署名メンバーを決定することはできません、確率は1/nを超えません。
(2)精度:署名は他のすべての人によって認定されている必要があります。
(3)クラッシュではありません。 リング内の他のメンバーは実際の署名を形成することはできず、外部攻撃者は有効なリング署名を取得してもメッセージmの署名を作成できません。
3。 比較
(1)不確実性。 それらはすべて、個人がグループ署名を表すシステムです。
(2)信頼性。 グループ署名では、グループ管理者の存在により、署名の署名が保証されます。 グループ管理者は、署名をキャンセルして、実際の署名を開示することができます。 リング自体の署名は、署名者自体が署名に追加情報を開示または追加したい場合を除き、署名者を開示することはできません。 認定リング署名スキームが提案されています。
(3)管理システム。 グループ署名はグループ管理者によって管理されており、リング署名を管理する必要はありません。
Xushu Blockchain Innovation Technology Workstation Lianqiao Education Onlineは、教育省教育計画、建設開発センターによって承認された唯一の「ブロックチェーンテクノロジー」です。 Professional Guideは、学生にさまざまな成長経路を提供し、トレーニングモデルの改革を奨励し、専門的な学位研究の生産、学術、研究を組み込み、使用済みの人材トレーニングシステムと化合物を構築します。
2018-09-18 xiaobai Learn blockchain-hask lock1。 ハッシュキーは何ですか?
最も典型的なハッシュキー代表は、ビットコインフラッシュネットワークです。 取引トークンを使用し、受信者が合意された時間前に暗号化の証拠を作成できるようにします。 これは、以前に合意したハッシュ値に沿っていますが、トランザクションは解決できます。 要するに、両方のチェーンは、指定された時間内にロック解除情報を受け取り、その後資産を送信します。
2。 おそらくチェーン間。
弱点:クロスクロスされた資産の譲渡は実現されておらず、クロスバウンド契約の実装は実現できないため、アプリケーションシナリオは非常に限られています。
2つの田舎のコードをスキャンする/手動でキーを入力します。
1。 月または火星でさえ、インターネットである限り、ブロックチェーン資産の転送を実行できます。 従来の転送と比較して、ブロックチェーン資産も非常に速く到着し、通常は数分から1時間以内に到着します。
未確認のブロックチェーン資産の2番目の重要な機能。 ブロックチェーン資産の不確実性は異なる程度に分かれており、誰も利用可能なブロックチェーン資産の数と誰に送金したかを知ることができません。 ブロックチェーンはコンセンサスベースの規範とプロトコル(オープンで透明なアルゴリズムのセットなど)を採用して、システム全体のすべてのノードが信頼できない環境で自由かつ安全にデータを変換できるようにするため、人々への信頼が変化しました。 機械になります。 人間の介入は機能しません。 このアカウントブックはネットワーク全体によって維持されており、各ノードには非常に透明で公正なバックアップがあるため、転送またはアカウントデータが失われるため、レコードは統合されません。 ブロックチェーン資産の移転は、1,000元の価値があります。 1,000元資産はアカウントAからアカウントBに転送され、この資産を所有しなくなります。 、システムと法律。 このために、全世界は真実です - 理論的な準備と制度的議論はありません。 最も成熟したブロックチェーンアプリケーションを備えたビットコインでさえ、さまざまな国で異なる態度を持っているため、ブロックチェーン技術のアプリケーションと開発を必然的に妨げています。 明らかにこのような問題を解決するために。
ブロックチェーン:PIを初めて適切にロックする方法は? 欠陥を維持する方法非常に重要なことが2つあります。 まず、合理的にロックする方法と注意を払う方法です。
ロックメカニズムが発表されると、誰もが非常に心配しており、より多くの人々が理解できる理由を解釈し始めます。
このロックメカニズムがまだ制限されるのではないかと心配していますか? 結局のところ、Circle SecurityとT Team Pass K Yes Cである限り、バランスの量はコンバーチブルバランスに変換できることを知っています。 多くの人がこの質問をする必要があります。
1。 ロックスキームを選択するときは、これに注意を払う必要があります。 言い換えれば、残高はアカウントに転送することはできません。 いつでも送信できます。 メインネットで録音。
最初の移転可能なバランスはMainNetで始まり、誰もが移転可能なバランスについて選択することができます。 1.循環に参加するために、すべてのロック、すべての伝送、暗号化されたウォレットへの転送なし。 2。 キーを選択します。 最小キーは25%で、最大は200%です。 ロック後、メインネットで確認されたら、撤回することができず、有効期限が切れてのみロックできます(現在はベータレベルで、遺言で動作できます。 )ロック解除後、移転可能なバランスになります。 ここでは、期限切れにならない場合はすぐにロックし続けることができ、次のキーが開始するのを待たなければならないことを明確にする必要があります。
転送/配達キー2回目は役員によって決定されます。
言い換えれば、アカウントはK YACによって保証されていますが、すぐに移動/ロックすることはできませんが、次の配達を待つ必要があります。 。 クローズドネットワークの生態学的建設期間が長い場合、トランスファー/ロックが遅れて発生するのは2回目で、3か月に1回、または年に1回しか開きません。
したがって、2週間または6か月間ロックすることを選択した人は、この要因を考慮する必要があります。 有効期限が切れた後、2週間をとることを選択した場合、転送可能なバランスが次の転送/キーが開くのを待つ必要がある場合があります。 今回は非常に短く、おそらく非常に長いかもしれませんが、これは変動的です。 したがって、1年と3年を選択するのはとても良いことです。
この時点で、メインネット上の循環を十分に制御でき、欠乏を決定できます。 これは、ウェブサイトの発表情報に記載されています。
2。 ネットワーク遷移期間の目的は、公式のメインネットを安定させると同時に、エコシステムがネットワーク全体をサポートできるようにすることです。
最初のクローズドネットワーク遷移期間中、エントリの数は初期転送可能なバランスから得られます。 この段階で、私たちの多く生態学的構築に正式に参加し、お互いにお金を移すことができます。
閉じたネットワーク遷移期間がどのくらいの期間になるかについて、生態学的構造に依存します。 それが非常に成熟している場合にのみ、適切に分布することができます - 完全に分散化されます。
生態学的構造は非常に重要なリンクです。 したがって、誰もが積極的に注意を払い、建設に参加できることが非常に重要です。
エコロジーが表示されます。
各フィールドに必要なホット製品は1つだけで、エコシステム全体が増加します。
生態学的ネットワーク全体が現れた後、必要な循環はより大きく大きくなります。
この場合、家は最初のロックを行う方法を知っている必要があります。 私のアドバイスは、最初は90%、1年、または3年をロックできることです。 もちろん、それは単なる提案です。
グループで行われるため、パーセンテージをリセットできます。
一部の人々は、バランスを別の数に転送できるかどうかは、内部転送が後でアクティブになるかどうかに応じて別の数値に転送できると言います。 内部回転がアクティブになっている場合、実行できます。 しかし、財布が分散型で循環に入っているため、開いていない場合は財布を使用します。 不可能です。 残りの残高はメインネットに入っていないため、説明する必要があります。
内部転送は、コードでお金を転送することであり、ウォレットは暗号化されたアドレスを使用して実行されます。
生態学的構造のプロセスを通じて、タイムリーな伝送コントロールは、ネットワークの総循環を制御し、不足を達成し、誰もが同じ繁栄を達成できるようにすることができます。
ビジネスを始めて、生態学的ネットワークで仕事を見つけることができます。 これは、医師が貧困を排除し、より多くの人々の生活をより良くしたいというビジョンです。
3。 しかし、これは私たちが医者で何をするかについて信頼できない状況を引き起こします。
だから、医師が前向きな見方で何をしているのかを見なければなりません。
辛抱強く待つとすべてが来るでしょう。
この機能を実行するために使用されるテクノロジーは何ですか? dpos、pbft、paxosなど ブロックチェーンシステムには中心がないため、データ処理に関する一致に到達するためにすべてのノードを導くプリセットルールがあり、すべてのデータインタラクションは厳格なルールとコンセンサスに従って実行する必要があります。2番目のタイプは暗号化技術です。
3番目のタイプは分散ストレージです。 分散ストレージの利点は、特に2つの側面で従来の中央ストレージとは異なります。 データ情報は各ノードでサポートされており、1つの障害によって引き起こされるデータの損失を回避します。 履歴データ。
スマートコントラクト:スマートコントラクトは、サードパーティのない信頼できるトランザクションを許可します。 透明性、信頼、自動実装、および強制コンプライアンスの利点があります。 ブロックチェーンテクノロジーには、ユニークな創造物になり、探索する無制限のビジョンを提供する多くのユニークな機能があります。
+▂+ブロックチェーンで暗号化とはどういう意味ですか(ブロックチェーン暗号化アルゴリズムとは何ですか)
ブロックチェーンの対称暗号化とは何ですか? 非対称暗号化とは何ですか?対称暗号化アルゴリズムは、暗号化と復号化時の同じ秘密キーの使用を指します。 対称暗号化アルゴリズムとは異なり、非対称暗号化アルゴリズムにはパブリックキーとプライベートキーが必要です。 公開キーと秘密鍵は、データが公開キーで暗号化されている場合、対応する秘密鍵でのみ復号化できます。
非対称暗号化は、対称暗号化よりもセキュリティで優れています。 対称的に暗号化されたコミュニケーションの両当事者は、1つの当事者の秘密の鍵を漏らした場合、コミュニケーション全体がクラックされます。
非対称暗号化の代わりに、秘密のキーのペア、1つは暗号化用、もう1つは復号化用です。 公開鍵は公開されており、シークレットキーはそれ自体で保存されるため、同期する必要はありません。 コミュニケーション前の秘密の鍵。
P2P、暗号化、ネットワーク、プロトコルなど、学習および理解されています。 直接要約しましょう。秘密のキー割り当ての問題は、キーが対称である場合、キー交換のみをオフラインで実行できます。 キーがオンラインで送信されると、傍受される可能性があります。 したがって、非対称暗号化が使用され、2つのキー、1つの秘密鍵が単独で保持され、もう1つの公開キーが開示されます。 パブリックキーはオンラインで送信できます。 オフライントランザクションは必要ありません。 データのセキュリティを確保します。
上の図に示すように、ノードAはデータをノードBに送信し、現時点では公開キーの暗号化が使用されます。 ノードAは、プレーンテキストデータを暗号化するために独自の公開鍵からノードBの公開キーを取得し、ciphertextを取得し、ノードBに送信します。 ノードBは、独自の秘密鍵を使用して復号化します。
2。
上記のように、ノードAは暗号化にBの公開鍵を使用し、次に暗号文をノードBに送信します。 ノードBは、ノードAの公開キーを取り、暗号文を復号化します。
1は、Aの公開キーが公開されているため、オンラインハッカーがメッセージをインターセプトすると、Ciphertextは役に立ちません。 率直に言って、メッセージが傍受される限り、この暗号化方法は解決できます。
2。 メッセージのソースとメッセージの改ざんを決定できないこともあります。
上の図に示すように、データを送信する前に、ノードAは最初にBの公開キーを使用してCiphertext 1を暗号化し、次にAの秘密キーを使用してCiphertext 1を暗号化してCiphertext 2を取得します。 Node BがCiphertextを取得した後、最初にAの公開キーでそれを復号化してCiphertext 1を取得し、次にBの秘密キーで復号化してプレーンテキストを取得します。
1は、aの公開キーが公開されているため、aの公開キーであるため、ネットワーク上で傍受されると、aの公開キーで復号化でき、ciphertext 1が取得されます。 したがって、これは二重暗号化のように見えますが、実際には、最後のレイヤーの秘密鍵署名は無効です。 一般的に言えば、私たちは皆、署名を最も元のデータに署名することを望んでいます。 署名の背後に配置されている場合、公開鍵が公開されているため、署名にはセキュリティがありません。
2パフォーマンスの問題があり、非対称暗号化自体は非常に非効率的であり、2つの暗号化プロセスが実行されました。
上記のように、ノードAは最初にAの秘密鍵で暗号化され、次にBの公開キーで暗号化されます。 メッセージを受信した後、ノードBは最初にBの秘密鍵を使用して復号化し、次にAの公開キーを使用して復号化します。
1.Ciphertext2がハッカーによって傍受されると、ciphertext 2はbの秘密キーでのみ復号化でき、Bの秘密鍵だけがそれを持っているため、他の人は機密にすることはできません。 したがって、安全性は最高です。
2ノードBがciphertext 1を復号化すると、Aの公開鍵のみを使用できます。 Aの秘密鍵によって暗号化されたデータのみが、Aの公開キーのみを備えています。
2つの非対称暗号化の後、パフォーマンスの問題は比較的深刻です。
データの改ざんの上記の問題に基づいて、メッセージ認証を導入しました。 メッセージ認証後の暗号化プロセスは次のとおりです。
ノードAがメッセージを送信する前に、プレーンテキストデータでハッシュ計算を実行する必要があります。 要約を取得し、元のデータと同時に照明をノードBに送信します。 ノードBがメッセージを受信すると、メッセージが復号化されます。 ハッシュの要約と元のデータは解析され、その後、元のデータで同じハッシュ計算が実行され、要約1を取得し、要約は要約1と比較されます。 同じである場合、それは改ざんされていません、それが異なる場合、それは改ざんされていることを意味します。
伝送中プロセス中、Ciphertext 2が改ざんされている限り、ハッシュとハッシュ1は最終的に異なります。
署名の問題は解決できません。 つまり、双方が互いに攻撃します。 彼が送信するメッセージを決して認めない。 たとえば、Aはbにエラーメッセージを送信し、Bに損失を被ります。 しかし、Aの否定は自分で送信されませんでした。
(iii)のプロセスでは、両当事者間の相互攻撃を解決する方法はありません。 それはどういう意味ですか? Aから送信されたメッセージがノードAに適していないためであり、後にAがメッセージが送信されなかったことを否定したためかもしれません。
この問題を解決するために、署名が導入されました。 ここでは、(ii)-4の暗号化方法をメッセージ署名と統合します。
上記の図では、ノードAの秘密鍵を使用して送信する要約情報に署名し、署名 +オリジナルテキストを暗号化し、Bの公開キーを使用して暗号化します。 Bが暗号文を取得した後、彼は最初にBの秘密キーでそれを復号化し、次にAの公開キーでダイジェストを復号化します。 これは、改ざんの問題を回避するだけでなく、両側間の攻撃を回避します。 情報に署名したため、拒否することはできません。
データを非対称に暗号化するときにパフォーマンスの問題を解決するために、ハイブリッド暗号化がよく使用されます。 ここでは、次の図に示すように、対称暗号化を導入する必要があります:
データを暗号化する場合、両当事者が共有する対称キーを使用して暗号化します。 損失を避けるために、ネットワーク上に対称キーを送信しないようにしてください。 ここで共有された対称キーは、独自の秘密鍵と相手の公開キーに基づいて計算され、その後、対称キーを使用してデータが暗号化されます。 相手がデータを受信すると、対称キーも計算し、暗号文を復号化します。
上記の対称キーは安全ではありません。 Aの秘密鍵とBの公開キーは一般に短期間で固定されているため、共有対称キーも固定されています。 セキュリティを強化するために、最良の方法は、各インタラクションの一時的な共有対称キーを生成することです。 それでは、送信なしで各相互作用にランダムな対称キーを生成するにはどうすればよいですか?
では、暗号化のランダム共有キーを生成する方法は?
送信者ノードAの場合、送信するたびに一時的な非対称キーペアが生成され、ノードBの公開キーと一時的な非対称秘密キーに基づいて計算できます。 Ka algorithm-Keyagreement)。 次に、共有キーのプロセスを使用してデータを暗号化します。
送信データを受信すると、ノードAのランダムな公開キーが解析されます対称キー(KAアルゴリズム)は、ノードAのランダムな公開キーとノードB自体の秘密鍵を使用して計算されます。 次に、対称キーの機密データを使用します。
上記の暗号化方法には、再生攻撃を避ける方法(メッセージに非CEを追加)や、虹のテーブルなどの問題など、多くの問題があります(解決するKDFメカニズムを参照)。 時間と能力が限られているため、一時的に無視されます。
では、どのような暗号化を使用する必要がありますか?
主に、送信されるデータのセキュリティレベルに基づいて考慮されます。 実際、重要でないデータを認証および署名するには十分ですが、非常に重要なデータには、比較的高いセキュリティレベルの暗号化ソリューションが必要です。
パスワードスイートは、ネットワークプロトコルの概念です。 主に、アイデンティティ認証、暗号化、メッセージ認証(MAC)、キー交換などのアルゴリズムが含まれます。
ネットワーク全体の伝送プロセスでは、暗号スイートによると、以下のアルゴリズムのカテゴリは主に次のカテゴリに分割されます。 RSA。 主に、クライアントとサーバーの握手を認証する方法に使用されます。
メッセージ認証アルゴリズム:SHA1、SHA2、SHA3など。 主にメッセージダイジェストに使用されます。
バッチ暗号化アルゴリズム:たとえば、AESは、主に情報フローを暗号化するために使用されます。
擬似ランダム番号アルゴリズム:たとえば、TLS1.2の擬似ランダム関数は、MACアルゴリズムのハッシュ関数を使用して、両当事者が共有する48バイトの秘密キーを作成します。 マスターキーは、セッションキー(Macの作成など)を作成するときにエントロピーのソースとして機能します。
ネットワークでは、メッセージの送信には、一般に、メッセージの安全で信頼できる送信を確保するために、次の4つの段階で暗号化が必要です。
ハンドシェイク/ネットワーク交渉段階:
2つの当事者間の握手段階では、リンク交渉が必要です。 主な暗号化アルゴリズムには、RSA、DH、ECDHなどが含まれますP> ID認証段階:
ID認証段階、送信されたメッセージのソースを決定する必要があります。 使用される主な暗号化方法には、RSA、DSA、ECDSA(ECC暗号化、DSA署名)などが含まれます。
メッセージ暗号化段階:
メッセージ暗号化とは、送信された情報フローの暗号化を指します。 使用される主な暗号化方法には、DES、RC4、AESなどが含まれます。
メッセージID認証段階/改ざん防止段階:
主な目的は、伝送中にメッセージが改ざんされていないことを確認することです。 主な暗号化方法には、MD5、SHA1、SHA2、SHA3などが含まれます。
ECC:EllipticCurvesCryptography、楕円曲線暗号化。 これは、楕円のDOT製品に基づいてパブリックキーとプライベートキーを生成するアルゴリズムです。 官民キーを生成するために使用されます。
ECDSA:デジタル署名に使用されるのは、デジタル署名アルゴリズムです。 効果的なデジタル署名は、メッセージが既知の送信者によって作成されたと信じる理由を受信者に与えます。 そのため、送信者はメッセージが送信され(認証され、否定できない)ことを否定できません。 ECDSA署名アルゴリズムは、signatureプロセス全体がDSAに似ていることです。 主にID認証段階で使用されます。
ECDH:ECDHを介したHoffman Treeキーでもあり、両当事者は秘密を共有せずに共有秘密を交渉できます。 ランダムに、通信が中断されるとキーは消えます。 主に握手コンサルテーション段階で使用されています。
ecies:ハイブリッド暗号化スキームとしても知られる統合された暗号化スキームであり、選択したプレーンテキストと選択されたパスワードテキスト攻撃に対してセマンティックセキュリティを提供します。 ECIEは、キー交渉関数(KA)、キー誘導関数(KDF)、対称暗号化スキーム(ENC)、ハッシュ関数(ハッシュ)、およびH-MAC関数(MAC)のさまざまなタイプの関数を使用できます。
ECCは楕円暗号化アルゴリズムであり、主に楕円形での生成方法と秘密鍵に応じて生成する方法を示し、不可逆的です。 ECDSAは主にECCアルゴリズムを使用して署名しますが、ECDHはECCアルゴリズムを使用して対称キーを生成します。 上記の3つはすべて、ECC暗号化アルゴリズムのアプリケーションです。 実際のシナリオでは、ハイブリッド暗号化(対称暗号化、非対称暗号化の組み合わせ、署名技術など)を使用します。 ECIESは、基礎となるECCアルゴリズムによって提供される統合(ハイブリッド)暗号化ソリューションです。 これには、非対称暗号化、対称暗号化、署名関数が含まれます。
metacharset = "utf-8"
この予約注文条件は、曲線に特異性が含まれていないことを確認することです。
したがって、曲線パラメーターaとbが変化し続けるにつれて、曲線は異なる形状にもなります。 たとえば、
すべての非対称暗号化の基本原則は、基本的に式k = kgに基づいています。 Kは公開キーを表し、Kは秘密鍵を表し、Gは選択された基底ポイントを表します。 非対称暗号化のアルゴリズムは、式を反比例させることができないことを確認することです(つまり、g/kは計算できません)。 *
ECCはどのようにパブリックキーと秘密鍵を計算しますか? ここで私はそれを私自身の理解に従って説明します。
ECCのコアアイデアは次のとおりであることを理解しています。 曲線上の基底ポイントGを選択し、ECC曲線で(秘密鍵として)ポイントkをランダムに取得し、パブリックを計算しますKgに基づくキーK。 また、公開キーKも曲線上にある必要があることを確認してください。 *
では、kgを計算する方法は? KGを計算して、最終結果が不可逆的であることを確認する方法は? これは、ECCアルゴリズムを解決する必要があるものです。
最初に、次の曲線を取得するには、a = -3、b = 7をランダムに選択します。
この曲線では、2つのポイントをランダムに選択します。 2つのポイントの乗算を計算する方法は? 22 = 2+2、35 = 5+5+5など、加算をすべて表現できます。 次に、曲線上の追加を計算できる限り、理論的には乗算を計算できます。 したがって、この曲線に計算を追加できる限り、理論的に乗算を計算し、k*gなどの式の値を理論的に計算できます。
曲線上の2つのポイントの追加を計算する方法は? ここでは、不可逆性を確保するために、ECCは曲線上の追加システムをカスタマイズします。
実際には、1+1 = 2、2+2 = 4ですが、ECCアルゴリズムでは、理解している追加システムは不可能です。 したがって、この曲線に適したカスタム追加システムが必要です。 グラフの
ECC定義マシンは、3つのポイントでECC曲線と交差する直線を見つけます(そしてまた2つのポイントである可能性があります)、これらの3つのポイントはP、Q、およびRです。
その後、P+Q+r = 0。 ここで、0は軸上の0ポイントではなく、ECCの無限点です。 つまり、インフィニティポイントは0ポイントとして定義されます。
同様に、p+q = -rを取得できます。 Rと-RはX軸について対称であるため、曲線上の座標を見つけることができます。
p+r+q = 0、したがって、上記の図に示すように、p+r = -q。
上記は、ECC曲線の世界で追加される方法を説明しています。
上の図から、直線と曲線の間には2つの交点しかないことがわかります。 つまり、直線が曲線の接線であることがわかります。 この時点で、PとRは重複しています。
は、上記のECC追加システムによると、P+R+Q = 2P+Q = 2R+Q = 0を取得できます。
したがって、2p = -qを取得します(非対称アルゴリズムの式k = kgに近づいています)。
したがって、乗算は計算できるという結論に達しましたが、乗算はポイントが接線である場合にのみ計算でき、2の乗算としてのみ計算できます。
2を乗算のために任意の数に変更できる場合、乗算操作をECC曲線で実行できることを意味し、ECCアルゴリズムは非対称暗号化アルゴリズムの要件を満たすことができます。
では、任意の数の乗算をランダムに計算できますか? 答えはイエスです。 つまり、DOT製品計算方法です。
乱数kを選択してください。 それで、k*pは何ですか?
コンピューターの世界では、すべてがバイナリであることがわかっています。 k = 151 =10010111
の場合、2p = -q、kpはこの方法で計算されます。 これは、マルチジェネレーションアルゴリズムのポイントです。 したがって、ECC曲線システムでは、乗算を計算できるため、この非対称暗号化方法が実行可能であると考えられています。
この計算が不可逆的である理由について。 これには多くの控除が必要であり、私もそれを理解していません。 しかし、私はこのように理解できると思います:
私たちの時計には一般的に時間スケールがあります。 1990年1月1日の0:00:00を出発点として取ると、1年が経過するまでの時間が経過したことをお知らせした場合、表示される時間、つまり、つまり、それは計算できます。 時計、1分、2番目のポインターは00:00:00を指すことができます。 しかし、一方で、私は時計の時間、秒針が00:00:00を指していると言いました。
ECDSA署名アルゴリズムは、基本的に他のDSASおよびRSAに似ており、どちらも秘密キーシグネチャと公開キー検証を使用しています。 ただし、アルゴリズムシステムはECCアルゴリズムを使用します。 相互作用の両当事者は、同じパラメーターシステムを採用する必要があります。 署名の原則は次のとおりです。
基底ポイントg =(x、y)として、曲線上の無限点を選択します。 曲線上の小さなkを秘密鍵としてランダムに取り、k = k*gは公開キーを計算します。
署名プロセス:
乱数rを作成し、rg。
ランダム数r、メッセージmのハッシュ値h、および
を計算します。 秘密キーkは、署名s =(h+kx)/r。
を計算します。 メッセージm、rg、sを受信機に送信します。
署名検証プロセス:
メッセージを受信するm、rg、s
メッセージに基づいてハッシュ値hを計算します
送信者計算の公開キーKはHg/S+XK/sを計算し、計算結果はRgと比較されます。 等しい場合、検証は成功します。
式推論:
hg/s+xk/s = hg/s+x(kg)/s =(h+xk)/gs = rg
原則を導入する前に、ECCが結合法と交換法の法則、つまりA+b+c = a+c+b =(a+c)+bを満たしていることを説明させてください。
共有された秘密の鍵を生成する方法を説明するためのWikiの例を次に示します。
アリスとボブはコミュニケーションをとる必要があり、両当事者は、同じパラメーターシステムに基づいてECCによって生成されるパブリックキーおよびプライベートキーであるという前提を持っています。 したがって、ECCがあり、共通の基底ポイントGがあります。
シークレットキー生成段階:
アリスは、公開キーアルゴリズムka = ka*gを使用して、公開キーKAと秘密鍵KAを生成し、公開キーKAが開示されています。
BOBは、公開キーアルゴリズムKB = KB*Gを使用して、公開キーKBと秘密キーKB、および公開キーKBを生成します。
コンピューティングECDH段階:
アリスは計算式q = ka*kbを使用して秘密キーqを計算します。
ボブは計算式q '= kb*kaを使用して秘密のキーq'を計算します。
共有キー検証:
q = kakb = ka*kb*g = ka*g*kb = ka*kb = kb*ka = q '
したがって、両当事者によって計算された共有秘密の鍵は、開示なしでQを使用して暗号化できます。 Qを共有キーと呼びます。
Ethereumでは、ECIEC暗号化スリーブが使用されますその他のコンテンツ:
1。
署名アルゴリズムは、ECDSAを使用しますここで言及されています
H-MACは、Hash BasedMessageAuthenticationCodeと呼ばれます。 使用され、拡張されています。
最初に、EthereumのUDP通信の構造は次のとおりです。
ここで、SIGは秘密キーで暗号化された署名情報です。 Macはメッセージ全体のダイジェストであり、PTYPEはメッセージのイベントタイプであり、データはRLPによってエンコードされた伝送データです。
そのUDPの暗号化、認証、および署名モデル全体が次のとおりです。
ブロックチェーン暗号化テクノロジーデジタル暗号化スキルは、ブロックチェーンスキルの使用と開発の鍵です。 暗号化方法がクラックされると、ブロックチェーンのデータセキュリティに挑戦され、ブロックチェーンの改ざんは存在しなくなります。 暗号化アルゴリズムは、対称暗号化アルゴリズムと非対称暗号化アルゴリズムに分割されます。 ブロックチェーンは、最初に非対称暗号化アルゴリズムを使用します。 非対称暗号化アルゴリズムの公開キー暗号システムは、一般に、基になっている問題に基づいて3つのカテゴリに分割されます。 大規模な分化問題、離散対数問題、楕円曲線の問題です。 まず、ブロックチェーン暗号化スキル暗号化アルゴリズムの導入は、一般に対称暗号化と非対称暗号化に分割されます。 非対称暗号化とは、ブロックチェーンに統合された暗号化スキルを指し、セキュリティ要件と所有検証要件を満たします。 非対称暗号化は通常、パブリックキーとプライベートキーと呼ばれる暗号化と復号化プロセスで2つの非対称パスワードを使用します。 非対称キーペアには2つの特性があります。 1つは、1つのキー(パブリックキーまたは秘密鍵)が暗号化された後、もう1つの対応するキーのみを復号化できることです。 第二に、公開鍵は他の人に明らかにすることができますが、秘密鍵は機密であり、他の人は公開鍵を介して対応する秘密鍵を計算することはできません。 非対称暗号化は、一般に、大きな整数分化問題、離散対数問題、楕円曲線の問題の3つの主要なタイプに分けられます。 大規模な整数分化の問題クラスとは、2つの大きな素数の積を暗号化された数字として使用することを指します。 素数の発生は不規則であるため、継続的な試験計算により解決策のみを見つけることができます。 離散対数問題クラスとは、離散対数の難しさと強力な一方向ハッシュ関数に基づく非対称分散暗号化アルゴリズムを指します。 楕円曲線は、平面楕円曲線の使用を指し、非対称の特殊値のセットを計算し、ビットコインはこの暗号化アルゴリズムを使用します。 ブロックチェーンの非対称暗号化の使用シナリオには、主に情報暗号化、デジタル署名、ログイン認証が含まれます。 (1)情報暗号化シナリオでは、送信者(a)がレシーバーの公開鍵(bを示します)で情報を暗号化し、Bに送信します。 これは、ビットコイントランザクション暗号化のシナリオです。 (2)デジタル署名シナリオでは、送信者Aは独自の秘密鍵を使用して情報を暗号化し、Bに送信します。 BはAの公開キーを使用して情報を復号化し、Aが情報をAに送信することを確認します。 (3)ログイン認証シナリオでは、クライアントはプライベートキーを使用してログイン情報を暗号化してサーバーに送信し、サーバーがクライアントの公開キーを使用して認証ログイン情報を復号化します。 上記の3つの暗号化計画の違いに注意してください。 情報暗号化は、情報のセキュリティを確保するための公開キー暗号化と秘密のキーの復号化です。 秘密鍵暗号化、公開キーの復号化を認証します。 ビットコインシステムを例にとると、その非対称暗号化メカニズムを図1に示します。 ビットコインシステムは一般に、オペレーティングシステムの下部に乱数ジェネレーターを呼び出すことにより、秘密鍵として256ビットの乱数を生成します。 ビットコインのプライベートキーの総量は大きく、すべてのプライベートキースペースを横断してビットコインのプライベートキーを取得することは非常に困難です。 そのため、パスワード科学は安全です。 簡単に識別するために、256ビットのバイナリビットコイン秘密キーがSHA256ハッシュアルゴリズムとBase58を介して変換され、50文字の秘密キーを形成します。 Bitcoinの公開キーは、SECP256K1楕円曲線アルゴリズムを介して秘密鍵によって生成される65バイトの乱数です。 公開キーを使用して、ビットコイントランザクションで使用されるアドレスを生成できます。 生成プロセスは、公開キーがSHA256とRIPEMD160によって最初にハッシュされ、20バイトの概要結果(つまり、Hash160の結果)を生成し、SHA256 HashアルゴリズムとBase58を介して33文字のビットコインアドレスを形成することです。 公開鍵の世代showは不可逆的です。 つまり、秘密鍵を公開鍵から推測することはできません。 ビットコインのパブリックキーとプライベートキーは通常、ビットコインウォレットファイルに保存され、プライベートキーが最も重要です。 秘密鍵を失うということは、対応するアドレスですべてのビットコインプロパティを失うことを意味します。 既存のビットコインおよびブロックチェーンシステムでは、マルチシグネチャなどのますます敏感で混oticとしたシナリオを満たすために、実用的な使用要件に基づいてマルチプライベートの主要な暗号化スキルが導き出されています。
╯▂╰ブロックチェーン暗号化に使用されるアルゴリズム(ブロックチェーン暗号化方法)
ブロックチェーン暗号化テクノロジーデジタル暗号化スキルは、ブロックチェーンスキルの使用と開発の鍵です。 暗号化方法がクラックされると、ブロックチェーンのデータセキュリティに挑戦され、ブロックチェーンの改ざんは存在しなくなります。 暗号化アルゴリズムは、対称暗号化アルゴリズムと非対称暗号化アルゴリズムに分割されます。 ブロックチェーンは、最初に非対称暗号化アルゴリズムを使用します。 非対称暗号化アルゴリズムの公開キー暗号システムは、一般に、基になっている問題に基づいて3つのカテゴリに分割されます。 大規模な分化問題、離散対数問題、楕円曲線の問題です。 まず、ブロックチェーン暗号化スキル暗号化アルゴリズムの導入は、一般に対称暗号化と非対称暗号化に分割されます。 非対称暗号化とは、ブロックチェーンに統合された暗号化スキルを指し、セキュリティ要件と所有検証要件を満たします。 非対称暗号化は通常、パブリックキーとプライベートキーと呼ばれる暗号化と復号化プロセスで2つの非対称パスワードを使用します。 非対称キーペアには2つの特性があります。 1つは、1つのキー(パブリックキーまたは秘密鍵)が暗号化された後、もう1つの対応するキーのみを復号化できることです。 第二に、公開鍵は他の人に明らかにすることができますが、秘密鍵は機密であり、他の人は公開鍵を介して対応する秘密鍵を計算することはできません。 非対称暗号化は、一般に、大きな整数分化問題、離散対数問題、楕円曲線の問題の3つの主要なタイプに分けられます。 大規模な整数分化の問題クラスとは、2つの大きな素数の積を暗号化された数字として使用することを指します。 素数の発生は不規則であるため、継続的な試験計算により解決策のみを見つけることができます。 離散対数問題クラスとは、離散対数の難しさと強力な一方向ハッシュ関数に基づく非対称分散暗号化アルゴリズムを指します。 楕円曲線は、平面楕円曲線の使用を指し、非対称の特殊値のセットを計算し、ビットコインはこの暗号化アルゴリズムを使用します。 ブロックチェーンの非対称暗号化の使用シナリオには、主に情報暗号化、デジタル署名、ログイン認証が含まれます。 (1)情報暗号化シナリオでは、送信者(a)がレシーバーの公開鍵(bを示します)で情報を暗号化し、Bに送信します。 これは、ビットコイントランザクション暗号化のシナリオです。 (2)デジタル署名シナリオでは、送信者Aは独自の秘密鍵を使用して情報を暗号化し、Bに送信します。 BはAの公開キーを使用して情報を復号化し、A。 によって情報が送信されることを確認します。 )ログイン認証シナリオでは、クライアントはプライベートキーを使用してログイン情報を暗号化してサーバーに送信し、サーバーがクライアントの公開キーを使用して認証ログイン情報を復号化します。 上記の3つの暗号化計画の違いに注意してください。 情報暗号化は、情報のセキュリティを確保するための公開キー暗号化と秘密鍵の復号化です。 デジタル署名は、デジタル署名の所有権を確保するための秘密キー暗号化と公開キーの復号化です。 秘密鍵暗号化、公開キーの復号化を認証します。 ビットコインシステムを例にとると、その非対称暗号化メカニズムを図1に示します。 ビットコインシステムは一般に、オペレーティングシステムの下部に乱数ジェネレーターを呼び出すことにより、秘密鍵として256ビットの乱数を生成します。 ビットコインのプライベートキーの合計量は大きく、すべてのプライベートキースペースを横断してビットコインのプライベートキーを取得することは非常に困難です。 安全。 簡単に識別するために、256ビットのバイナリビットコイン秘密キーがSHA256ハッシュアルゴリズムとBase58を介して変換され、50文字の秘密キーを形成します。 Bitcoinの公開キーは、SECP256K1楕円曲線アルゴリズムを介して秘密鍵によって生成される65バイトの乱数です。 公開キーを使用して、ビットコイントランザクションで使用されるアドレスを生成できます。 生成プロセスは、公開キーがSHA256とRIPEMD160によって最初にハッシュされ、20バイトの概要結果(つまり、Hash160の結果)を生成し、SHA256 HashアルゴリズムとBase58を介して33文字のビットコインアドレスを形成することです。 公開キーの生成プロセスは不可逆的です。 つまり、秘密鍵を公開鍵から推測することはできません。 ビットコインのパブリックキーとプライベートキーは通常、ビットコインウォレットファイルに保存され、プライベートキーが最も重要です。 秘密鍵を失うということは、対応するアドレスですべてのビットコインプロパティを失うことを意味します。 既存のビットコインおよびブロックチェーンシステムでは、マルチシグネチャなどのますます敏感で混oticとしたシナリオを満たすために、実用的な使用要件に基づいてマルチプライベートの主要な暗号化スキルが導き出されています。
ブロックチェーン暗号化アルゴリズムとは何ですか?
ブロックチェーン暗号化アルゴリズム(encryptionAlgorithm)
非対称暗号化アルゴリズムは、暗号化キーを使用して元のプレーンテキストファイルまたはデータを読み取れない傍観文字コードの文字列に変換する関数です。 暗号化プロセスは不可逆的です。 対応する復号化キーを保持することにより、暗号化された情報を読み取り可能なプレーンテキストに復号化できます。 暗号化により、プライベートデータを低リスクのパブリックネットワークを介して送信することができ、データを保護し、サードパーティが盗まれて読むことができます。
ブロックチェーンテクノロジーの中心的な利点は分散化であり、データ暗号化、タイムスタンプ、分散コンセンサス、経済的インセンティブを使用してノードが互いに信頼する必要がない分散システムで分散化を達成できます。 集中信用のピアツーピアトランザクション、調整、およびコラボレーションは、集中施設で一般的な高コスト、非効率性、データストレージの不安の問題を解決するためのソリューションを提供します。
ブロックチェーンのアプリケーションフィールドには、デジタル通貨、トークン、財務、対立防止とトレーサビリティ、プライバシー保護、サプライチェーン、エンターテイメントなどが含まれます。 ブロックチェーンとビットコインが活況を呈しており、多くの関連するトップドメイン名はすべて そのうち登録されており、ドメイン名業界に比較的大きな影響を与えています。
ブロックチェーンの暗号化技術は、ブロックチェーン技術の中核です。 ブロックチェーン暗号化技術には、デジタル署名アルゴリズムとハッシュアルゴリズムが含まれます。デジタル署名アルゴリズム
デジタル署名アルゴリズムは、デジタル署名標準のサブセットであり、デジタル署名としてのみ使用される特定の公開キーアルゴリズムを表します。 キーは、SHA-1:署名を確認するために生成されたメッセージで実行されます。 メッセージのハッシュが再計算され、署名が公開キーを使用して復号化され、結果が比較されます。 略語はDSAです。
?
デジタル署名は、特別な形式の電子署名です。 これまでのところ、少なくとも20か国以上が、欧州連合や米国を含む電子署名を認めるために法律を可決しました。 私たちの国の電子署名法は、2004年8月28日に第10回全国議会の常任委員会の第11回会議で採択されました。 デジタル署名は、ISO 7498-2規格で定義されています。 。 人(受信者など)。 デジタル署名メカニズムは、偽造、拒否、なりすまし、改ざんの問題を解決するための認証方法を提供します。 データ暗号化テクノロジーとデータ変換テクノロジーを使用して、送信者と受信データの両方を有効にして、2つの条件を満たしています。 受信者は、送信者が主張するものを識別できます。 身元; 送信者は、将来データを送信したという事実を否定することはできません。
デジタル署名は、暗号理論の重要な分野です。 従来の紙の文書に手書きの署名を置き換えるために電子文書に署名することが提案されたため、5つの特性が必要です。
(1)署名は信頼できます。
(2)署名を偽造できません。
(3)署名は再利用できません。
(4)署名されたファイルは変更できません。
(5)署名は否定できません。
ハッシュ(ハッシュ)アルゴリズム
ハッシュは、ハッシュアルゴリズムを介して、任意の長さ(プレイメージとも呼ばれます)の出力を固定長の出力に変換するため、出力はハッシュ値です。 この変換は圧縮マップであり、ハッシュ値の空間は通常、入力のスペースよりもはるかに小さく、異なる入力が同じ出力にハッシュされる可能性がありますが、入力値は不可逆的に導出されます。 簡単に言えば、それは任意の長さのメッセージを固定長のメッセージダイジェストに圧縮する関数です。
ハッシュ(ハッシュ)アルゴリズム、これは一元配置暗号システムです。 つまり、暗号化プロセスのみ、復号化プロセスを備えた、プレーンテキストから暗号テキストへの不可逆的なマッピングです。 同時に、ハッシュ関数は、任意の長さの入力を変更して、固定長の出力を取得できます。 ハッシュ関数と固定出力データ長機能のこの一元配置機能により、メッセージまたはデータを生成できます。
ビットコインブロックチェーンで表されます。 このブロックチェーンでは、SHA(SHA256(k))やRipemd160(SHA256(k))など、作業の証明およびキーエンコーディング中に二次ハッシュが複数回使用されます。 このアプローチは、プロトコルについて明確にすることなく、ワークロードを増加させるか、亀裂の難しさを増加させることです。
ビットコインブロックチェーンで表される、主に使用される2つのハッシュ関数は次のとおりです。
2.Ripemd160、主にビットコインアドレスを生成するために使用されます。 以下の図1に示すように、ビットコインは公開キーのアドレスプロセスから生成されます。
ブロックチェーン:改ざん防止ハッシュ暗号化アルゴリズム学生aとBは、教室にコインを投げ、掃除する人を賭け、前面が上向き、次に掃除、逆方向が上に向かっています。 クリーンズ、これは戦略に問題はありません。
ただし、状況がオンラインチャットルームに移動した場合、AとBもコインを投げるゲームをプレイしている場合、Bはコインを投げるとき、BがBが推測しないかどうかを推測しないため、Bはおそらく同意しません。 それは推測です
Aは、Bが前面または逆であるときに誤って推測したと言うことができます。
この問題を解決する方法は? 最初にコイントスの結果を暗号化してから、Bを推測してみませんか? この方法を試すことができます。
奇数がコインの前面を表し、偶数が背面を表すとします。 Aは375番について考え、その後258を掛け、結果を96750に伝え、Aが375を鍵と思うと宣言し、彼が保持していると宣言します。
次に結果を確認すると、258が彼が思う数であることを嘘つき、375が鍵であり、Aはまだ無敵です。 AがBに事前にキーを伝えた場合はどうなりますか? bは元の数値を直接計算できます。 これにより、機密性の効果が失われます。
この種の復号化方法は、復号化方法が明らかに機能していないことを知っているので、暗号化方法がまだそれを復元できないことを知った後、元のテキストを復元できない方法がありますか?
明らかに、暗号化中に不可逆的な操作を追加しても構いませんプロセス。 新しい暗号化方法の設計:
数字が375であると考え、暗号化すると仮定します:
b 120943。 情報の一部を捨てる暗号化方法は、ハッシュアルゴリズムとも呼ばれる「一方向」暗号化と呼ばれます。
問題があります:
これは可能ですが、解決できます。 これは、上記のアルゴリズムの難易度を高めるため、A。 < /p>
上記のステートメントによると、信頼できるハッシュアルゴリズムが満たす必要があります。
暗号化のハッシュ関数には、衝突抵抗と不可逆的な元の画像、つまり衝突抵抗と不可逆的な元の画像を備えています。 、問題に優しい。
衝突とは、学生Aが奇妙で事前に、ハッシュ結果を一貫していることを意味しますが、これは計算では実行不可能です。
まず、大きなスペースサウナのメッセージを小さなスペースに圧縮し、衝突が存在する必要があります。 ハッシュの長さが256ビットに固定されていると仮定すると、順序が1、2、2256+1を取得すると、これらの2256+1の入力値が1つずつ計算され、2つの入力値を見つけて作成できます。 彼らのハッシュも同じです。 。
クラスA、これを見ても幸せにならないでください。 あなたはそれを計算する時間が必要なので、それはあなたのものです。 なぜそう言うのですか?
誕生日のパラドックスによると、2130+1の入力がランダムに選択されている場合、少なくとも1つの衝突入力が見つかる可能性が99.8%あります。 次に、256のハッシュ長を持つハッシュ関数の場合、衝突ペアを見つけるために平均2128ハッシュ計算が必要です。 コンピューターが1秒あたり10,000ハッシュ計算を実行すると、2,128のハッシュ計算を完了するには約1、027年かかります。
クラスA、不正行為について考えないでください、あなたはおそらくそれほど長く生きていないでしょう。 もちろん、コンピューターのコンピューティング能力が大幅に改善された場合、可能です。
では、他にどのような用途が整合性ですか?
は、情報の整合性を検証するために使用されます。 これは、伝送プロセス中に情報が改ざんされていない場合、ハッシュ計算を実行することで得られるハッシュ値は元のハッシュ値とは異なるためです。
したがって、ブロックチェーンでは、ハッシュ関数の衝突抵抗を使用して、ブロックとトランザクションの完全性を検証できます。
ハッシュ値は数え切れないほどの平文に対応するため、理論的にはどちらがわかりません。 4+5 = 9および2+7 = 9の結果と同じように、入力した結果は9であることがわかりますが、入力した数値を知ることができますか?
メッセージmをハッシュすると、ランダムなプレフィックスrが導入され、ハッシュ値h(r || m)に基づいて、ハッシュ関数を表すメッセージmを回復することが困難な場合 値はメッセージmを隠します。
したがって、結果に基づいて元のデータを反転させたい場合は、干し草スタックに針を見つけることはまずありません。
困難な親しみやすさとは、特別な要件を満たすハッシュ値を生成するための便利な方法がないことを指します。 それはどういう意味ですか? 素人の用語では、ショートカットはなく、段階的に計算する必要があります。 ハッシュの結果がいくつかの0から始める必要がある場合、最初の3ビットで見つかったハッシュ値と最初の6ビットに見られるハッシュ値と最初の6ビットに見られるハッシュ値は、 HAHASが必要です。 計算の数は特定の量の関係にあります。
これはどのように使用できますか? ブロックチェーンでは、コンセンサスアルゴリズムの作業証明として使用できます。
主に、ハッシュ関数の3つの重要な特性を説明しています。 衝突抵抗、元の画像の不可逆性、および問題にやさしいことです。
これらの重要な特性、ブロックチェーンのブロックやトランザクションの整合性の検証などの機能、作業の証明のためコンセンサスアルゴリズムなどは、ハッシュ関数を使用して実装されます。
[1]。 Zou Jun、Zhang Haining。 ブロックチェーンテクノロジーのガイド[M]。 北京:Machinery Press、2016.11
[2]。 チャン・ズー、ハン・フェン。 ブロックチェーンは、デジタル通貨から信用社会に移動します[M]。 北京:Citic Publishing House、2016.7
[3]。 チャン・ジアン。 ブロックチェーンは、将来の金融と経済の新しいパターンを定義します[M]。 北京:Machinery Industry Press、2016.6
ブロックチェーン技術の6つのコアアルゴリズムブロックチェーンテクノロジーの6つのコアアルゴリズム
ブロックチェーンのコアアルゴリズム:ビザンチン協定
ビザンチンはおそらくこれを言っています:ビザンチン帝国には大きな富があり、周囲の10人の隣人は長い間存在していましたが、 ビザンチンの壁は背が高く、岩のようにしっかりしていて、隣人が正常に侵入することはできませんでした。 一人の隣人の侵入は失敗し、他の9人の隣人によって侵略される可能性もあります。 ビザンチン帝国には非常に強力な防衛能力があったため、近隣諸国の少なくとも半分以上が、それが可能になる前に同時に攻撃しなければなりませんでした。 ただし、近隣の州の1つまたは複数が一緒に攻撃することに同意しているが、実際のプロセスに裏切りがある場合、侵略者は一掃される可能性があります。 そのため、各側は慎重に行動し、近隣諸国を簡単に信頼することを敢えてしませんでした。 これはビザンチン将軍の質問です。
この分散ネットワークでは、各将軍には、リアルタイムで他の将軍と同期されるメッセージ元帳があります。 アカウントブックの各将軍の署名は、身元を確認できます。 一貫性のないメッセージがある場合、どの将軍が一貫性がないかを知ることができます。 一貫性のないニュースにもかかわらず、彼らの半数以上が攻撃に同意する限り、少数派は多数派に従い、コンセンサスに達します。
分散システムでは、悪者にもかかわらず、悪者は応答しない、エラーメッセージの送信、異なるノードへの異なる決定の送信など、何でもできます(プロトコル制限の対象ではありません)。 間違ったノードが悪いことをするように団結するなど。 しかし、ほとんどの人が良い人である限り、コンセンサスを達成することは完全に可能です
ブロックチェーンのコアアルゴリズム2: 上記のビザンチン協定では、非対称暗号化技術
10人の将軍のいくつかが同時にメッセージを開始すると、必然的にシステムの混乱を引き起こし、各人に攻撃時間計画について話し合うことができます。 アクションと一致するのは難しいでしょう。 誰でも攻撃的なメッセージを起動できますが、誰がそれを送りますか? 実際、このコストのみを追加できます。 つまり、1つのノードのみが一定期間情報を広めることができます。 ノードが統一された攻撃メッセージを送信するとき、各ノードは、それぞれのアイデンティティを確認するために、イニシエーターからメッセージに署名してシールする必要があります。
現在の観点から、非対称暗号化技術はこの署名の問題を完全に解決できます。 非対称暗号化アルゴリズムの暗号化と復号化は、2つの異なるキーを使用します。 これらの2つのキーは、「公開鍵」と「秘密鍵」としてよく聞くものです。 一般に、パブリックキーとプライベートキーがペアで表示されます。 メッセージが公開キーで暗号化されている場合、解読するには公開キーに対応する秘密鍵が必要です。 同様に、メッセージが秘密鍵で暗号化されている場合、秘密鍵に対応する公開鍵が解読するには必要です。
ブロックチェーンコアアルゴリズムIII:フォールトトレランスの問題
このネットワークでは、メッセージが失われ、損傷し、遅延し、繰り返し送信される可能性があると仮定します。 。 さらに、ノードの動作は任意のものになる可能性があります。 いつでもネットワークを結合して終了することができ、メッセージを破棄したり、メッセージを偽造したり、動作を停止したり、さまざまな人間または非人間の障害があります。 起こる。 当社のアルゴリズムは、セキュリティと可用性の両方を含み、あらゆるネットワーク環境に適したコンセンサスノードで構成されるコンセンサスシステムに対するフォールトトレランスを提供します。
ブロックチェーン4のコアアルゴリズム:Paxosアルゴリズム(一貫性アルゴリズム)
Paxosアルゴリズムによって解決される問題は、分散システムが特定の値(解像度)に同意する方法です。 典型的なシナリオは、分散データベースシステムでは、各ノードの初期状態が一貫しており、各ノードが同じ操作シーケンスを実行すると、最終的に一貫性のあるものを取得できることです。 各ノードが同じコマンドシーケンスを実行するようにするために、各命令で実行するために「一貫性アルゴリズム」が各ノードで見られる命令が一貫していることを確認するために必要です。 一般的な一貫性アルゴリズムは、多くのシナリオに適用でき、分散コンピューティングにおいて重要な問題です。 ノード通信には、共有メモリとメッセージングの2つのモデルがあります。 Paxosアルゴリズムは、メッセージングモデルに基づいた一貫性アルゴリズムです。
ブロックチェーンコアアルゴリズム5:コンセンサスメカニズム
ブロックチェーンコンセンサスアルゴリズムには、主に仕事の証明と株式証明が含まれます。 例としてビットコインを取ります。 実際、技術的な観点から、捕虜は再利用されたハッシュカッシュと見なすことができます。 作業証明を生成することは、確率の観点からランダムなプロセスです。 新しい機密通貨をマイニングするとき、ブロックを生成するとき、すべての参加者はすべての参加者の同意を取得する必要があり、マイナーはブロック内のすべてのデータのPOW作業証明を取得する必要があります。 同時に、ネットワークの要件は平均10分ごとに1つのブロックを生成することであるため、鉱山労働者は常にこの作業を調整することの難しさを観察する必要があります。
ブロックチェーンコアアルゴリズム6:分散ストレージ
分散ストレージは、ネットワークを介して各マシンのディスクスペースを使用し、これらのストレージリソースを仮想ストレージデバイスを形成するデータストレージテクノロジーであり、 データは、ネットワークのさまざまなコーナーに保存されます。 したがって、分散ストレージテクノロジーはすべてのコンピューターに完全なデータを保存するのではなく、データをカットして異なるコンピューターに保存します。 同じバスケットではなく、100個の卵を保管するのと同じように、さまざまな場所で開かれ、それらの合計は100個です。
ブロックチェーンテクノロジーのハッシュアルゴリズムは何ですか?1.1。 はじめに
コンピューター業界の実践者は、ハッシュという言葉に非常に精通している必要があります。 ハッシュは、ある次元から別の次元へのデータのマッピングを実現できます。 このマッピングは通常、ハッシュ関数を使用して達成されます。 。 通常、業界はy = hash(x)を使用してそれを表現し、ハッシュ関数はxの計算を実装してハッシュ値yを計算します。
ブロックチェーンのハッシュ関数の特性:
関数サイズ出力。
効率的な計算。
衝突フリーとは、競合の確率が小さいことを意味します:x!= y = hash(x)!= hash(y)
元の情報を非表示: ブロックチェーンのノードは、トランザクションを検証するには、元の情報を比較せずに、トランザクションの情報エントロピーを確認する必要があります。 ノードは、トランザクションの元のデータを送信する必要があります。 トランザクションのハッシュのみを送信します。 一般的なアルゴリズムには、SHAシリーズとMD5アルゴリズム
1.2が含まれます。 ハッシュの使用
ハッシュはブロックチェーンで広く使用されています。 まず、ハッシュポインターと呼びます。
ハッシュポインターは、実際のデータから計算され、実際のデータの位置を指す変数の値を指します。 つまり、実際のデータコンテンツと実際のデータのストレージ場所の両方を表すことができます。 次の図は、ハッシュポインターの概略図
ハッシュポインターが主にブロックチェーンで使用されています。 1つ目は、ブロックチェーンデータ構造を構築することです。 ブロックチェーンを理解している読者は、ブロックチェーンデータ構造がジェネシスブロックからポインターを介して後方に接続されていることを知っている必要がありますブロック間。 このポインターは、図に示されているハッシュポインターを使用します。 各ブロックには前のブロックが保存されます。 ブロック用のハッシュポインター。 このようなデータ構造の利点は、後続のブロックが以前のすべてのブロックで情報を検索できることです。 ブロックのハッシュポインター計算には、以前のブロックの情報が含まれているため、ブロックチェーンの不当な改ざん特性がある程度保証されます。 2番目の目的は、Merkletreeを構築することです。 Merkletreeのさまざまなノードは、Hashpointerを使用して構築されています。 後続の記事で、ブロックチェーンデータ構造とMerkletreeのをさらに紹介します。
ハッシュは、トランザクション検証やデジタル署名などの他のテクノロジーでも使用されます。
2。 暗号化アルゴリズム
2.1簡単な説明
暗号化とは、単にアルゴリズム手段を介して元の情報を変換することを意味し、情報の受信者は秘密の鍵を介して暗号文を復号化するプロセスを取得するプロセスを意味します。 元のテキスト。 暗号化当事者と復号化パーティが同じ秘密キーを持っているかどうかによると、暗号化アルゴリズムは3つのサブタイプに大まかに分割できます:
対称暗号化
暗号化は同じシークレットキーを使用します。 この方法の利点は、暗号化と復号化速度が高速であることですが、秘密キーの安全な分布はより困難です。 一般的な対称暗号化アルゴリズムには、DES、AES、
非対称暗号化
非対称暗号化システムは、公開キーシステムとも呼ばれます。 暗号化と復号化の場合、暗号化業者には公開鍵と秘密鍵があり、暗号家は公開鍵を他の関連当事者に送信でき、秘密鍵は自分で厳密に保持されます。 たとえば、銀行が個々のユーザーに発行した秘密鍵は、個人のUシールドに保存されます。 非対称暗号化は秘密鍵によって暗号化される可能性があり、他の人は公開キーを使用して復号化することができます。 非対称暗号化アルゴリズムは一般に、比較的対称的な暗号化が長くなるのにより複雑です。 利点は、重要な分布の問題です。 他の一般的な非対称暗号化アルゴリズムには、RSAとECCが含まれます。 ECC楕円曲線アルゴリズムは、主にブロックチェーンで使用されます。
対称暗号化と非対称暗号化の組み合わせ
この方法は、暗号化プロセスを2つの段階に分割します。 最初のステップは、非対称暗号化を使用してシークレットキーを配布して、相手が対称暗号化の秘密鍵をセキュリティに取得できるようにすることです。 元のテキストは、フェーズ2の対称暗号化を使用して暗号化および復号化されます。 > 2.2デジタル署名
公開キーデジタル署名としても知られるデジタル署名は、紙に書かれた物理的な署名です。 デジタル署名は、主に署名者の識別に使用され、データの変更に対する反復防止に使用されます。 デジタル署名には3つの重要な機能が含まれています。
独自のデジタル署名に署名できますが、署名があなたによって発行されたかどうかを確認できます。 デジタル文書。 実際には、あなたの署名が紙のメディアに縛られるべきであるように。 デジタル署名は偽造できません。 非対称暗号化メカニズムへの依存は、上記の3つの特性を簡単に達成できます。
最初に、個人のパブリックと秘密のキーペアを生成する必要があります:
(SK、pk):= generateKeys(keysize)、ユーザーはSK秘密鍵を自分で保持し、 PK公開キーは他の人に配布できます
次に、SK:
sig:= sign(sk、message)を介して特定のメッセージに署名できます。 サイン sig
最後に、署名公開キーを所有するパーティーは署名検証を実行できます:
isvalid:= verify(pk、message、sig)
それぞれ ブロックチェーンシステムですべてのデータトランザクションには署名が必要であり、ユーザーの公開キーは、ビットコイン設計プロセス中にユーザーのビットコインアドレスを表すために直接使用されます。 このようにして、ユーザーが転送などのビットコイントランザクションを開始したときに、ユーザートランザクションの合法性検証を便利に実行できます。
2.3デジタル証明書および認定センター
2.3.1デジタル証明書(デジタル証明書)
デジタル証明書は「デジタルIDカード」および「ネットワークとしても知られています IDカード "これは、認定センターによって承認され、公開キーの所有者と公開鍵に関連する情報を含む認定センターによってデジタル的に署名された電子ファイルであり、デジタル証明書所有者の身元を決定するために使用できます。
デジタル証明書には、公開キー、証明書名情報、証明書の発行機関のデジタル署名、およびマッチングプライベートキー
証明書は、ネットワーク上のデータベースに保存できます。 ユーザーは、ネットワークを使用して互いに証明書を交換できます。 証明書が取り消された後、証明書を発行したCAは、将来的に可能な紛争を解決するために、証明書のコピーを保持しています。
2.3.2証明書権限
証明書センターは、一般にcaと呼ばれます。 CAは一般に、認識され、信頼できるサードパーティ機関であり、その機能は主に各ユーザーに1つを発行することです。 名前と公開キーを含む一意のデジタル証明書。
2.4一般的な暗号化アルゴリズムの比較