私は両親にビットコインの基本を説明しようとしています。
ビットコインのコアコンポーネントの1つは、身元を偽装できないようにトランザクションに署名することです。したがって、単純化された非対称暗号を説明する必要があります。
例として使用できる非常に単純な非対称暗号とは何ですか?
この簡略化された暗号を署名に使用するにはどうすればよいですか?
私は両親にビットコインの基本を説明しようとしています。
ビットコインのコアコンポーネントの1つは、身元を偽装できないようにトランザクションに署名することです。したがって、単純化された非対称暗号を説明する必要があります。
例として使用できる非常に単純な非対称暗号とは何ですか?
この簡略化された暗号を署名に使用するにはどうすればよいですか?
回答:
親または友人に公開鍵暗号を提示する場合は、いくつかのガイドラインに従うことをお勧めします。まず、特定の機能については話さないでください。SHAxxxについては誰も気にせず、話を概念的にしてください。公開キー暗号化によって解決される問題は、これまで会ったことのない二者が公開チャンネルで安全に情報を交換できるようにすることです。これを、デジタル署名や認証などの公開キー暗号化によって実現される他のアプリケーションと混同しないでください。
私が見たこのことを説明する簡単な説明は次のとおりです。2つのパーティがバケツといくつかの色を持ち、特定の秘密の化合物について合意したいとします。特定の化合物を含むバケツを互いに送信することは許可されていますが、送信されたものはすべて悪の敵にさらされています。下線の仮定は、色の混合は簡単ですが、混合物をその成分に分解するのは難しいということです。この仮定(物事の正式な側面と簡単に結びついています)により、目標を達成することができます。パブリックカラーを選択し、両当事者が秘密の色を選択できるようにします。それらを示します。次に、最初のパーティは混合物のバケットを送信します。同様に、2番目のパーティは、。最後に、それぞれの側は受け取った混合物に彼のプライベートな色を追加し、今では両当事者は混合物を持っています。これの正式なバージョンは、Diffie-Hellman鍵交換プロトコルです。これは、離散ログの硬度に依存しています。
現在、ビットコインプロトコルの私の理解は限られていますが、それについてあなたの両親に話すとき、私は暗号学に入る理由を見つけません。私が見た人気のある説明のほとんどは、実装の詳細を不必要に掘り下げ、結果が個のゼロを持つようにハッシュのプリイメージを見つけることについて話し始め、実際の問題を見失います。前と同じように、話を概念的にすることをお勧めします。ビットコインはどのような問題を解決しようとしていますか?なぜこれは簡単ではないのですか?私の理解では、ビットコインは分散台帳を維持する問題を解決し、特に二重支出を回避します問題。動機は中央の権限を持つことを避けることであり、これは各参加者がトランザクションを承認できるようにすることで達成できます(この権限を銀行に与える代わりに)。敵対的な参加者が自分の無効なトランザクションを承認するのを避けるために、作業証明の概念が導入されています。POWはハッシュをブラックボックスとして使用するため、特定の候補者について言及することを避けることができます。
私がよく聞く比hearは、南京錠の束を製造し、すべてのキーを保持し、開いている南京錠を欲しい人に送ることです。そのような南京錠を持っている人は誰でも、秘密のメッセージを箱に入れて、あなたに送る前に南京錠の一つを使ってそれをロックすることであなたに秘密のメッセージを送ることができます。誰も鍵を持っているわけではないので、送信者でさえも、ロックされた後にボックスのロックを解除することはできません。特に、郵便サービスはメッセージをまったく覗き見ることができません。彼らもあなたから南京錠を持っているかもしれませんが、それは彼らが箱のロックを解除するのに役立ちません。
(この例は、ビットコインの説明に実際に役立つかどうかについて特に意見を述べることなく、前述の質問に答えるために提供しています。)
非対称暗号の説明に関する問題(およびほとんどのポップ説明が実際に何も説明できない理由)は、計算の複雑さの背後にある考えの1つである(おそらく)扱いにくい問題が存在するという考えと絡み合っていることです。
一度その点を理解すれば、非対称暗号は、「簡単に」計算することはできますが、逆にするのは難しいと思われる関数です。独自に作成することもできます。Diffie-Hellmanキー交換の元の実装を参照してください。
簡単に実証できる非対称暗号化システムはないと思います。代わりに、それがどのように行われるかではなく、何を行うかを説明してください。実際、PGPがどのように機能するかを説明するために、最近これを行う必要がありました。BitCoinの場合は、メッセージに署名する2番目の部分に集中してください。
関連する2つの番号を作成できます。一つは、呼び出された秘密鍵、他の公開鍵。私は最初の秘密を守り、みんなに2番目を教えます。私にメッセージを送りたい人はだれでも私の公開鍵を受け取り、それを使ってメッセージを暗号化します。それが完了すると、誰もメッセージを解読できず、送信者も解読できません。メッセージを受け取ったら、秘密鍵で解読できます。
または、秘密鍵を使用してメッセージを暗号化し、暗号化されたメッセージと暗号化されていないメッセージの両方を別の人に送信することができます。彼らが私の公開鍵を持っている場合、彼らはメッセージの暗号化された部分を解読することができ、それは暗号化されていない部分と同じになります。これは、私がメッセージを暗号化した人物であることを示しています。
キーの生成方法を尋ねられたら、次のように言います
2つの非常に大きな素数を考え、それらを数学関数で変換します。秘密鍵と公開鍵を吐き出します。
もちろん、これは非対称暗号化が通常メッセージ自体ではなく、セッションキー(暗号化用)またはハッシュ(署名検証)で機能しないという事実を暗示しています。また、あなたがすることは非常に重要な要件無視しなければなりませんプライベートあなたの秘密鍵を維持する-それはへのアクセス権を持つ誰もがあなたのふりをすることができます。