web-dev-qa-db-ja.com

ランダムなキーを生成する場合、暗号化/復号化はどのように機能しますか?

私はこれに不慣れで、基本的な質問をしたいと思います。パスワードを使用したとします(「ABC123」と言います)
PBKDF2アルゴリズム(またはそのようなアルゴリズム)を使用してキーを生成します。ファイルを暗号化するために
パスワードを入力すると、キーが生成されます。このキーは、暗号化を実行するために使用されます。
ここで、同じファイルを復号化する場合、パスワード( "ABC123")をもう一度入力する必要があると仮定します。
復号化を行うために鍵が再生成されます。
私の質問は、暗号化と復号化中に生成されるキーは同じですか?

1
tausif

PBKDF2は、パスワードからpseudo-randomキーを生成します。 PBKDF2を使用してパスワードから生成されたキーは、元のパスワード(およびソルト)がある場合はいつでも生成(または「導出」)できる一方で、ランダムキーを格納および回復する必要があるため、疑似ランダムとランダムの違いは重要です。 。ランダムなプロセスでは同じ出力が確実に生成されないため、真にランダムなキーを単純に再生成することはできません。

そして、はい、対称キー暗号化方式を使用している場合、暗号化と復号化に同じキーを使用します。

1
Slartibartfast

これは暗号化のタイプによって異なります。 対称鍵暗号 を探しているように思えます。あなたが言ったように、1つのパスワードは暗号化および復号化します。

彼らがこれをどのように行うかを知るために、いくつかの一般的なアルゴリズムを読むことをお勧めします。そのようなアルゴリズムには以下が含まれます。

代替案は 非対称暗号 です。この場合、privateキーとpublicキーがあります。このタイプの暗号化では、秘密鍵で暗号化された情報は公開鍵でのみ復号化でき、その逆も可能です。

これがあなたがより興味を持っている種類のセキュリティである場合は、 RSA(業界標準) および Diffie–Hellman鍵交換 を確認してください。

0
user41341