2016-11-01 5 views
2

複数のユーザーがさまざまなファイルを暗号化できるようにする方法が必要ですが、1つの当事者だけがそれらをすべて読み取ることができました。私は様々なオンラインの例を以下で行くでプログラムを書きましたが、私は次のエラーを得たいくつかの点で:Goの適切な非対称ファイル暗号化

Error from encryption: crypto/rsa: message too long for RSA public key size

RSAは行くには間違った方法ですか?ファイルを複数のチャンクに分割して暗号化しても問題ありませんか?私が簡単に使うことができる非対称ブロック暗号がありますか?

私はディスカッションhereを読んでおり、RSAは適切な方法ではないと言われています。

例も提供できますか?

+0

相当なユーザーを抱える深刻なプロジェクトであれば、暗号化ドメインの専門家を関与させる必要がありますが、セキュリティを正すのは非常に難しいです。 – zaph

答えて

0

私はGPGを使用してしまいました。私のサービスには一意の秘密鍵が1つあり、ユーザーと公開鍵を共有しています。

0

キーサイズを超えるデータに対して公開鍵非対称暗号化が必要な場合は、ハイブリッド暗号化を使用する必要があります。基本的には、HTTPSの仕組みです。

Hybrid encryptionは、データがAESなどの対称鍵暗号化で暗号化され、その鍵がRSAまたはEC(Elliptic Curve)暗号化などの非対称鍵暗号化で暗号化されています。

ファイルを複数のチャンクに分割して暗号化しないでください。

+0

こんにちは! PGPが私の仕事をするようなことはありますか?私はgolangがコアライブラリのPGP実装をサポートしていることを知っています:https://godoc.org/golang.org/x/crypto/openpgp –

関連する問題