tink-crypto / tink-go

Go implementation of Tink
https://developers.google.com/tink
Apache License 2.0
129 stars 6 forks source link

Streaming hybrid encryption/decryption API #11

Open charredlot opened 3 years ago

charredlot commented 3 years ago

Hi

I was wondering if y'all were planning on adding a streaming hybrid encryption/decryption API (similar to the existing streamingaead)? It would be useful for encrypting and decrypting large files.

Is your feature request related to a problem?

The existing HybridEncrypt API requires loading the entire plaintext into a slice which isn't great for large files.

Describe the solution you'd like

A streaming HybridEncrypt API that takes an io.Writer (and corresponding streaming HybridDecrypt of course) similar to streamingaead

Describe alternatives you've considered

Additional context

kste commented 3 years ago

Yes, it's definitely something we want to add and we have someone looking into this.

gdbelvin commented 2 years ago

I'd like to add my support for this.

lucastheisen commented 1 month ago

Has there been any movement on this? I am also very interested in being able to encrypt large files with they hybrid approach. Also it would be nice if there was a way to know encrypted size ahead of time. Many data streaming libraries need to know the size of content before beginning the write.