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で何か重要なことを見逃したのでしょうか?SealOpen