Glance fell on PGP, but since I don’t know much about it, and I didn’t find any components for Delphi XE7, tell me something like this from the "Public Key Encryption" type, maybe because PGP can provide some examples or examples of analogs. It is necessary to encrypt large amounts of data 0-500 mb.
1 answer
here you can read about RSA Cryptosystem One of the most powerful cryptosystems Used as part of PGP Resilience basis - factorization complexity O (N) encryption time, O (N) key.
Code of El-Gamal ( http://www.cyberforum.ru/delphi-beginners/thread516163.html )
The classic of cryptography The basis of resilience - discrete logarithm. Time (de) encryption O (N3), key - O (N).
There are also elliptic curves . Elliptic Curves Encryption
https://stackoverflow.com/questions/2998885/delphi-asymmetric-encryption
Links to components https://www.dmoz.org/Computers/Programming/Languages/Delphi/Cryptography/
Ps. These algorithms are quite slow. Therefore, I would encrypt each file with a random password using AES, and the password itself would then encrypt it with an asymmetric cipher and append it to the encrypted message.