AES256-GCM は、 https://gist.github.com/cannium/c167a19030f2a3c6adbb5a5174bea3ffとして実装できます。
ただし、Seal
インターフェイスのメソッドにcipher.AEAD
は署名があります。
Seal(dst, nonce, plaintext, additionalData []byte) []byte
そのため、非常に大きなファイルの場合、すべてのファイルの内容をメモリに読み込まなければならず、これは受け入れられません。
可能な方法はとにReader
/Writer
インターフェイスを実装することですが、それは AEAD のブロック暗号「モード」によって解決されるべきではありませんか? これはgolang cipher libの設計ミスなのか、それともGCMで何か重要なことを見逃したのでしょうか?Seal
Open