Install dependencies: ``` GOBIN=$GOPATH/bin go get . ``` Run: ``` go run ./kv_to_s3.go ``` ## Scratchpad - https://golang.org/pkg/crypto/cipher/ --> c'est pas clé en main, c'est soit streaming soit authentication - https://www.imperialviolet.org/2014/06/27/streamingencryption.html --> gpg ne fait pas l'authentication correctement - https://github.com/FiloSottile/age --> age fait de l'authentication et du streaming - https://rclone.org/crypt/ --> rclone fait de l'auth+streaming de la même manière que age mais avec un format de fichier différent (stockage du nonce, infos sur les algos utilisés) - https://neilmadden.blog/2019/12/30/a-few-comments-on-age/ --> une critique plutôt négative de age qui ne me donne pas envie de l'utiliser, pas plus que rclone du coup - https://moxie.org/2011/12/13/the-cryptographic-doom-principle.html --> cité par l'article précédent, je ne comprends pas trop mais je crois que pas simple - https://godoc.org/golang.org/x/crypto/nacl/box --> du coup je pense me limiter à un lib très reconnue comme nacl/sodium, si possible une implem officielle. Mais là pas de streaming, à nous de chunker et de gérer la rotation des nonces - Est ce qu'on a besoin d'authentication ?