End-to-end encryption is at the core of Proton Drive. It’s what keeps your files private, so only you and the people you choose can access them — not even us. Because every file operation is protected this way in our cloud storage apps, cryptographic performance has a direct impact on how fast uploads and downloads feel.
After our previous SDK performance improvements across uploads and downloads, this latest update builds on that work by making Proton Drive’s core encryption layer even more efficient.
Proton Drive uses the OpenPGP standard to encrypt file contents, and we’ve now adopted a cryptographic advance introduced in an update to the standard. A big part of building the SDK throughout this year has been moving Drive’s file operations onto a shared foundation, making the apps faster and smoother across all platforms. The result is an up to 4x boost in performance for file uploads. It also lays the groundwork for the next generation of Drive features.
Performance impact
Encryption has a major impact on how smooth the app feels during everyday use, so cutting that cost by up to 4x makes file uploads feel much faster, especially on the devices where performance matters most:
- On mobile, our benchmarks show encryption of a 4MB file that used to take 97ms now takes 32ms.
- On more powerful processors, the same operation that used to take 12ms now takes 3ms.
Encrypting an HD movie or 1,000 high-resolution photos used to take your phone about a minute and a half, or a fast desktop around 12 seconds. With this update, the same work finishes in about 30 seconds on mobile and around 3 seconds on a desktop.
How Proton Drive become faster
The structure that Proton Drive uses is a file node, which can have many revisions, each representing a version of the file. The contents are then chunked into blocks. The node contains cryptographic material which is used to encrypt the blocks. This cryptographic material on the file node consists of the node key (a locked PGP secret key) and a content key packet (a PKESK encrypted with the node key).

The PGP messages that Proton Drive uses for file contents consist of two packets:
- A public key encrypted session key (PKESK): This is the node’s content key packet, shared for all blocks.
- A symmetrically encrypted integrity protected data packet (SEIPD): This is the encrypted block contents.
The new encryption scheme
Before this cryptography update, uploaded files used a v3 PKESK and a v1 SEIPD. Now, the encryption algorithm requires a v6 PKESK and a v2 SEIPD. The symmetric encryption used for content is AES-GCM, which makes full use of hardware encryption on most modern devices.
Because the session key is shared between revisions when files are updated, all revisions on a file must match the encryption scheme used by the first one. This means clients must be updated to take the PKESK version into account when making a change to a file and uploading a new revision. Clients built on the Proton Drive SDK will handle this automatically, as the information is carried in the session key. The key is generated here(new window) and used when encrypting the blocks(new window).
To avoid issues with decryption later, revisions submitted with the wrong version will be rejected. This means that clients which don’t support the feature will not be able to update files uploaded after this change comes into effect. Make sure to update your Proton Drive clients to get all the performance benefits.
What’s next
This is an big step in evolving Proton Drive’s shared core model toward more performant, more capable cloud storage protected by end-to-end encryption. The SDK gives every Drive client a shared cryptographic core, making changes of this scope possible — and helping us move faster on what comes next. Stay tuned for more improvements this year.
Thank you for your continued support,
The Proton Drive engineering team






