どのように暗号化の一つのメッセージ複数の人?
-
09-06-2019 - |
質問
その基礎めのデータ暗号化を正確に二つのキーがパスワードベース)が必要とみられる二つの鍵を復号するデータはもらえますか?
例えば、データは暗号化されたユーザーのパスワードが会社のパスワード、又はその会社で復号データです。いっその他のパスワードになります。一つのコピーは暗号化されたデータが格納されています。
言っていました公開鍵があります。う通鍵暗号ともこのようなものXORingのキーを使用して暗号化したファイルに保存す.
更新:をもって解決策を見いていない保存キーです。
解決
のことが通常行われ、単一の対称鍵を暗号化します。その暗号化の鍵と受け手のキーまたはパスワードで復号化で使い易くすることを心がけています。S/MIME(実際には暗号化メッセージ書式によるS/MIMEでは使用です。
このように、い店舗一のコピーは暗号化されたメッセージが複数のコピーがその鍵となる。
他のヒント
一般的に、いくには暗号化データとランダムに生成された鍵を追加バージョンのランダムにキーとして暗号化された全て知られる。でも有効なキーを発見するこのキーに使用した暗号化のデータです。
ばかなことが分かって良かったで正しくないデータを希望の暗号化、暗号化キー splitted n'キ'.(場合と2個入)
めることができることを利用のXORに基づく分割は以下の通りです:を提供するのに必要な個数nの秘密鍵–K.をn個のキーを作成する必要があります(n–1)乱数:R1、R2、R3、...→Rn−1に示します。のために利用できる、SecureRandom数ジェネレータは、しかし、このキャッシュにより、重複している。そしてまずはご相談くださいXOR機能これらのRn-1枚入り、キー K:
Rn=R1⊕R2⊕R3⊕...⊕Rn−1⊕K
しかし、これらのごn個:R1,R2,R3,...,Rn-1,Rn合を破壊しK.作可能に広がるコードまたは送られます。
モーグ博士のアイディアの源キーを使用していまXOR操作を当社のRn個:
K=R1⊕R2⊕R3⊕...⊕Rn−1⊕Rn
とのXOR機能(⊕)各作品は本質的に重要なの復興の鍵の場合、任意のビットの曲の変更、そのキーがないの減損の有無を検討しています。
のための詳細情報、コードをご覧になることができるAndroid用に書いたその目的:
GitHubのプロジェクト: https://github.com/aivarsda/Secret-Key-Split-Util
きみの秘密鍵のスプリッターデモアプリを利用するユーティリティ:
GooglePlay: https://play.google.com/store/apps/details?id=com.aivarsda.keysplitter
と思うと思ったソリューションにする:
D = data to encrypt
h1 = hash(userpassword)
h2 = hash(companyPassword)
k = h1 concat h2
E = function to encrypt
//C is the encrypted data
C = E_h1(h2) concat E_h2(h1) concat E_k(D)
次のいずれかの条件が成立する人ョンのハッシュのその他の人が、その後、さらにそれらを組み合わせて復号のデータです。
あのシーンをこれ以上のもの?
により一般の場合には、秘密(このアプリケーションや、暗号解読鍵データ)に分割株式ることにな閾値の数がこれらの株式のに要します。このとして知られる秘密鍵共有またはn株式およびしきい値の、ソフトウェア(t,n)-しきい値スキームです。
一方この機能は成多項式のt-1の設定を秘密として最初の係数および選定の係数かせとなります。その後、nのランダム点でこの曲を選定し、株とする。