0

Visual Basic .NET を使い始めたばかりで、現在、次の問題に悩まされています。非対称暗号化を使用してファイルを暗号化/復号化するにはどうすればよいですか?

基本的に、VB で次の疑似コードを記述する方法を見つけようとしています。

Function EncryptFile(path_to_file_to_encrypt, public_key)
  file = ReadFile(path_to_file_to_encrypt)
  encrypted_file = Encrypt(file, public_key)
  SaveToDisk(encrypted_file, "C:\Encrypted\encryptedfile.xxx")
End Function

Function DecryptFile(path_to_encrypted_file, private_key)
  encrypted_file = ReadFile(path_to_encrypted_file)
  file = Decrypt(file, private_key)
  SaveToDisk(file, "C:\Decrypted\file.xxx")
End Function

私が暗号化/復号化しているファイルは、Access データベース ファイル (つまり、バイナリ) です。

秘密鍵用のコンテナーがあることは理解していますが、この点を理解するにはMSDN のチュートリアルで十分なようです。コードに公開鍵をハードコードできると思います (変更されません)。

どんな助けでも大歓迎です!

4

1 に答える 1

1

通常、RSA「キー暗号化キー」は、対称アルゴリズムの「コンテンツ暗号化キー」を暗号化するために使用されます。そのコンテンツ暗号化キーは、ファイルの暗号化に使用されます。

SSL、S/MIME、PGP などのプロトコルは、このアプローチを使用できます (キー トランスポートと呼ばれることもあります)。非対称暗号化は、対称アルゴリズムに比べて非常に遅いです。

Chilkat のVB.NET 用 S/MIME ライブラリのようなもので、このタスクを処理できます。

于 2009-10-16T18:48:57.233 に答える