web-dev-qa-db-ja.com

68GBより大きいファイルで機能する安全な暗号化アルゴリズム

私のJavaアプリケーションでは、暗号化にAES/GCM/NoPaddingアルゴリズムを使用しましたが、68GBを超えるファイルを暗号化しようとすると例外がスローされます。私が読んだところ、 GCMを使用して暗号化できるデータ。

大きなファイルを分割してマージする可能性があることは知っていますが、これは複雑な解決策のようです。 GCMと同じくらい安全ですが、大容量ファイルを処理するアルゴリズムはありますか?

私はCBCをテストしましたが、これはより大きなファイルでも機能しますが、認証が不足しているため、それは〜40yoであり、安全ではないことを読みました。それは本当に安全上の問題を引き起こしますか?代替案はありますか?

編集:ありがとうございます。 SonarがCBCを危険であるとマークし、上級設計者から注文した結果、アプリケーションでファイル分割/ GCMとのマージを実装しました。

4

GCMモードは、CTR(カウンター)モードと [〜#〜] mac [〜#〜] と呼ばれる [〜#〜] ghash [〜#〜] を組み合わせたものです。 MACと組み合わせると、事実上すべての標準ブロックモードを使用できます。たとえば、認証に暗号化ハッシュを使用するMAC [〜#〜] hmac [〜#〜] も使用する場合、CESまたはCTRモードでAESを使用できます。常に最初に暗号化してから、暗号文にHMACを適用する方が常に優れています。これは Encrypt-then-MAC (EtM)と呼ばれる構成です。

2
forest