質問

グループが何らかの情報を暗号化し、情報を復号化するためにグループの合意が必要な方法で、グループのメンバー間で暗号化キーを共有したいとします。私は、全会一致から絶対多数まで幅広いコンセンサスが得られるさまざまなシナリオに興味があります。便利な手法は、対称キー、秘密キー、またはその両方に適用できます。

多くの SO メンバーができるように、私も独自の方法を実践することに挑戦することができました。しかし、この質問の目的のために、私は興味があります のみ 広く公開されており、暗号解読の専門家による精査に耐えた手法によるものです。雑誌の引用も良いですが、学術情報源の解釈も非常に役立ちます。

役に立ちましたか?

解決

私はいつもこの秘密共有テクニックに魅了されてきました。これを実装するコードをインターネット上で見たことがありますが、実際のアプリケーションは見たことがありません。 シャミールの秘密共有 ウィキペディアの記事は、元の学術論文だけでなく、実際のコードにもリンクしています。

他のヒント

あなたが説明している内容は、「秘​​密の分割」によく似ています (セクション 12.1.暗号技術の紹介。トラップ&ワシントン。第 2 版) 基本的な考え方は、「秘密」 (キー) を線上の点として含む多項式を考え出すことができるということです。この多項式上の他の点を選択することで、「シェア」を配布できます。2 つの点は f(x) = ax + b の形式の直線を定義し、3 つの点は f(x) = ax^2 + bx + c の形式の多項式を定義し、4 つの点は f(x) の形式の何かを定義します。 = ax^3 + bx^2 + cx + d など。秘密を点として含む多項式と、N 人がそれを再構成できるのに十分な多項式の次数を選択できます。

これは、「シャミール閾値スキーム」として知られる基本的な考え方です。

ウィキペディアを参照してください 秘密の分割 そして シャミールの秘密の共有 ウィキペディアのページには、GPL 化されたコードなど、このアイデアの実装へのリンクがいくつかあります。 ウィンドウズ そして UNIX.

これは簡単に実装できます 誤り訂正符号. 。次のようなコマンドライン ツールを使用できます。 パー2 (ただし、これはさまざまなサイズの回復ブロックを生成するため、この特定の目的には正確には適していません)。(n+m) 人の投票者がいて、n 票の定足数が必要だとします。n 個の秘密鍵 K₁∘、K₂、... を生成します。Kn を計算し、同じサイズの追加の m 個の ECC ブロック Pₓ を生成します。そうすれば、任意の n ブロックで暗号 K₁∘K₂∘...∘Kn を再構成できます。

Shamir の秘密共有の数学的基礎と、それが持つ実際的な応用の種類についての簡単な説明については、ここを参照してください。ページを下にスクロールして、多項式と秘密分散に関する講義ノートを表示します。たぶんVです。この地域の基本的な概要ですが、あなたにとっては非常に興味深い内容になるはずです。離散数学ノート

Lotus Notes は、「サイロ パスワード」の実用的な実装を提供します。これにより、一部のリソース (データ/情報/ドキュメント) へのアクセスが「共有 ID」にロックされます。ID (RSA に基づいていると思われる認証済み PKI システムの一部) が設定されます。 2 つ以上 (最大 16 個までだと思います) の個別のユーザー パスワードを使用します。認証者/管理者は、有効な使用のために ID を「開く」ためには、利用可能なパスワードのうちの任意の数またはすべてのパスワードが必要となるスキームを設定します。このプロセスは一般に、組織または OU の証明書を 5 人中 2 人または 5 人中 3 人の管理者/企業役員にロックダウンしてアクセス権を付与するために使用され、高レベルの証明書の使用/アクセスを制御し、管理者の不在を回避できるようにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top