TMS Cryptography Pack

Software library that provides various algorithms used to encrypt, sign and hash data


v4.3.2.2 (December 21, 2021)

Version history

Version History



  • Fixed: Issue with IDE version reporting for RAD Studio 11


  • Fixed: Issue with installer for cross platform support in RAD Studio 11


  • Fixed: Support for Delphi 11 and C Builder 11 added


  • : Fixed: issue in PAdES with Unicode characters in certificate fields
  • : Fixed: issue in CAdES verification for enveloping signature
  • : Fixed: components available on all platforms
  • New: useDeprecatedSalt property in TArgon2KeyDerivation to use deprecated SetStringSalt method


  • Fixed: compilation issue in Android 32 bits


  • : Fixed: issue in PAdES to sign a document with particular format
  • Fixed: issue in date in generation of self-signed certificates


  • : Fixed: Compilation issue on Linux platform
  • Fixed: Issue in TAdes.Destroy


  • : Fixed: SPECK issue with incorrect decrypted string on Windows platform
  • Fixed: compilation issue of RSAObj.pas on OSX platform


  • New : TLSH component an algorithm to compare files based on the similarity of their hashes
  • Fixed : compilation issues on Linux platform
  • : Fixed: memory leak issue in TX509Certificate
  • : Fixed: SPECK issue with incorrect decrypted string


  • : Improved: More explicit error messages when certificate signature algorithm is not supported
  • : Fixed: bugs in certificate parsing in XAdESObj, PAdESObj and CadesObj units
  • Fixed: bug in TConvert.FormatToChar method


  • : Fixed: issue in unicode support in TArgon2KeyDerivation.SetStringSalt method
  • : Fixed: issue in setting public exponent in TRSAEncSign.FromPublicKey method
  • Fixed: issue in TAdES.Destroy method


  • : Fixed: issue in unicode support in RSA
  • : Fixed: issue in base64 decoding
  • New: FromPublicKey method to import RSA public key with PEM format


  • Fixed: Issue in TConvert.FormatToChar method


  • Fixed: Issue in Unicode support in RSA and ECC


  • Fixed: Regression for AES encryption in base64


  • Fixed: Issue on TAESEncryption.Decrypt


  • Fixed: issue in TX509Obj.RSAExtractPrivateKey method


  • New : Import public key from PEM public key in TECCEncSign component
  • : Fixed: Issues in CSR generation and signing


  • : Fixed: Bugs in demos
  • : Fixed: Bug in unicode string support in HKDF
  • New: Unicode support for certificate generation and parsing


  • New : Support for Dephi 10.4 Sydney and C Builder 10.4 Sydney added


  • Fixed : Issue in SHA-3 HMAC raising exception
  • New: TAESEncryption decryption method to return an error code if it fails


  • New : Methods in TRSAEncSign to import keys from string
  • Fixed : Bug in TArgon2KeyDerivation


  • New : Signature algorithm on elliptic curve ed448


  • New : Methods to import keys in TRSAEncSign and TECCEncSign from certificate and private key file or string
  • New : ECryptoPack exception in all TMS Cryptography Pack functions
  • Fixed : Bug in PKCS11Obj


  • New : boolean UseOldGCM for backward compatibility in TAESGCM class
  • Fixed : 32-bit DLL can be used on 64-bit platform (and vice versa) in TPKCS11 class


  • Fixed : Issue with Argon2 GenerateKey function for macOS64


  • New : Support for Android64 in Delphi 10.3.3 Rio


  • Fixed : Issues in ECC and RSA for Android platform


  • Improved : Documentation
  • Fixed : Issues in RSA-PSS
  • Fixed : Issues in PKCS11 class


  • Fixed : Bugs in stream encryption for MacOS 64 bits platform


  • Fixed : Issue with installer for macOSX64 support


  • New : pssSaltLen property to set the length of the salt in RSA PSS
  • New : XAdES CAdES and PAdES signature with token
  • New : PKCS#11 token support (Windows ONLY) with new TPKCS11 component
  • New : OSX64 platform support
  • New : Method to change the signature location in XAdES
  • Fixed : Interoperability for ECC key generation
  • Fixed : Interoperability for AES GCM
  • Fixed : Delete an example in Demo VCL
  • Fixed : Bugs in XML unicode characters parsing
  • Fixed : Bugs in ECDH


  • New : base64 base64url and base32 formats accept strings without = complement
  • New : Multiple signature of PDFs with PAdES
  • Fixed : Bugs in conversion functions
  • Fixed : Bugs in XAdES


  • Fixed : issues in TX509Certificate and TX509CSR handling
  • Fixed : Issues in TX509Certificate and TX509CSR handling


  • New : HKDF algorithm key derivation function based on HMAC
  • Fixed : issues in TX509Certificate and TX509CSR handling
  • Fixed : bug in ECDH
  • : Fixed: bug in ECDH
  • New: HKDF algorithm, key derivation function based on HMAC


  • Fixed : Issue with ECC key generation under Linux


  • Fixed : Issue with RSA key generation


  • : Improved: RSA key generation speed
  • : Fixed: bugs in TX509CSR
  • New: ECDH algorithm for P-256, P-384, P-521 curves in TECCEncSign class


  • : Fixed: bugs in CAdES
  • : Fixed: Compilation of X509Obj.pas on Linux
  • Fixed: Ensure backward compatibility of TEncryptedIniFile with version < 2.5.1 by adding a new constructor


  • : Fixed: Issue in MiscObj.pas


  • Fixed : Removed iOS simulator support


  • New : TX509CSR component to generate and decode Certificate Signing Request
  • New : SignCSR method in TX509Certificate class to sign Certificate Signing Request
  • New : Conditional compilation options are in


  • : Fixed: Issue with RSA decryption output


  • : Fixed: bug in TX509Certificate.LoadCertAndKeyFromPKCS12
  • : New: KeyStr property in TX509Certificate to use the private key in string format


  • : Fixed: bug in PAdES


  • New : Generation of PDF signatures from stream in PAdES
  • : Fixed: bug in FormatToString method on Linux platform


  • : Fixed: bugs in Ed25519 on Linux platform
  • : Fixed: bugs in PAdES


  • : Fixed: bugs in PDF parser for PAdES
  • : New: another RSA key generator with additional outputs for interoperability with other libraries


  • Fixed : Issue with PAdES
  • Fixed : Issue in Unicode conversion


  • Fixed : Issue in TSHA3Hash.HashStream for streams with length > 10000.


  • Fixed : Two issues with use of cryptography functions on Linux


  • Fixed : Issue with using cryptography functions on iOS


  • New : Support for Delphi 10.3 Rio and C Builder 10.3 Rio added


  • Fixed : Issue in PAdES CAdES signature calculation


  • New : TLockFile component to generate an executable able to self-decrypt itself
  • New : Property CrtStr to import directly the certificate string in TX509Certificate class
  • New : Methods to import and export a certificate to a PFX file in TX509Certificate class (using OpenSSL Windows command line)
  • Improved : Minor changes in TX509Certificate for more consistency
  • Fixed : Bug in AdES signatures with ECDSA algorithm


  • Fixed : Issue with GenerateSelfSigned in X509


  • New : PAdES (PDF Advanced Electronic Signatures)
  • New : New: CAdES (CMS Advanced Electronic Signatures)
  • New : Enveloped XAdES (XML Advanced Electronic Signatures)
  • Fixed : Bug fixed in StringToBufferA


  • : Fixed: Issue with overflow in TConvert.FormatToChar function on mobile devices


  • : Fixed: Issues with converting functions


  • : New: Hash algorithm SHA-384
  • : New: Generation of random string in TConvert class
  • : New: Generation of certificates with RSA SHA-384, RSA SHA-512, ECDSA SHA-256, ECDSA SHA-384 and ECDSA SHA-512
  • : New: Generation and verification of XAdES-BES signatures with detached and enveloping format
  • : New: Decoding of certificates with RSA SHA-1, RSA SHA-384, RSA SHA-512, ECDSA SHA-256, ECDSA SHA-384 and ECDSA SHA-512
  • : Fixed: Bugs related to unicode conversion in TConvert methods
  • : New: NIST elliptic curves p-256, p-384 and p-521 for ECDSA


  • Fixed : Output path issue in package for Android target


  • Fixed : bug in RSA padding schemes


  • Fixed : TNotifyEvent initialisation bug fixed.


  • Improved : Faster RSA
  • Fixed : minor bugs in RSA OAEP and PSS
  • : New: progress variables in AES, SPECK, Salsa, SHA2, SHA3, Blake2 and RIPEMD algorithms for file encryption/decryption/hashing
  • : New: X509 certificate generation and parsing (parsing only on mobile platforms)
  • : New: On RAD Studio version 10.2.1 and up, possibility to use the components without Random DLL on Win64 platforms


  • New : With RSA and EdDSA we can sign and verify a signature of a file
  • New : Import of an RSA public key/key pair from an OpenSSL file
  • Fixed : bugs fixed in stream processes for large stream sizes.


  • New : Introduction of TComponent derived classes to have components on the tool palette
  • New : A hash function is used to hash a message before signing in the RSA signature


  • Improved : Optimization of some functions in MiscObj.pas
  • Fixed : Bugs fixed in constructors and destructors


  • New : Destructors in all encryption classes to set to zero the sensitive data
  • New : Conversion functions from TBytes to String and vice-versa
  • Fixed : Overflow fixed in Argon2
  • Fixed : Issue in constructor of TEncryptedIniFile


  • New : PBKDF2 SHA2 256 and SHA3
  • New : HMAC for SHA3
  • Fixed : Bug fixed in PBKDF2 SHA2 512


  • Fixed : Bug fixed in the paths from the .pas files to the .obj files
  • Fixed : Bug fixed in AES and SPECK stream encryption/decryption when using strings containing a zero


  • New : Stream hashing functions for SHA2, SHA3, Blake2b, RIPEMD-160
  • New : Stream encryption/decryption functions for AES, SPECK, Salsa
  • New : SHA3 derived functions: cSHAKE, KMAC and TupleHash
  • New : File encryption/decryption/hashing functions support now Unicode characters into file name.
  • New : File encryption/decryption functions for Salsa
  • New : Class constructor overloads that allow to set all parameters in all classes.
  • Fixed : Bugs fixed in conversion functions


  • New : Raw format in TConvert class
  • New : NaCl property in ECC class to have interoperable functions with NaCl software library
  • New : All crypto functions with buffer input support unicode in this buffer


  • New : TMSEncryptIniFile class added for VCL
  • New : Base32 converter added
  • Improved : More flexibility in CTR mode of AES
  • Fixed : Bugs and memory leaks fixed in AES and TConvert Class


  • New : Section in documentation on how to use the random generators properly
  • New : Base64url encoder and decoder added in TConvert class
  • Fixed : Issue in random generator for Android, iOS and MacOS targets


  • New : Support of iOS (iOS32, iOS64)
  • New : Properties added in AES and SPECK to give choice of IV and padding to user


  • New : Base58 encoder and decoder added in TConvert class
  • Fixed : Issue in TConvert class
  • Fixed : Issue in TAESEncryption


  • New : RIPEMD-160, a hashing function used in Bitcoin
  • New : Demo for C++
  • New : Blake2, a fast hashing function
  • New : Argon2, a key derivation function, winner of the Password Hashing Competition


  • New : 2 new functions in Converter class: to convert an RSA key in OpenSSL format to an RSA key that can be used in TRSAEncSign class and vice versa
  • Improved : Optimization of AES, SPECK, SHA3 and SHA2, especially to the functions dealing with files.
  • Fixed : Issue with Android support


  • Fixed : Issue in VCL demo with older Delphi versions


  • New : Support for OSX target (from Delphi XE7 or newer)


  • New : Support for Win64 (VCL/FMX) and Win32(VCL/FMX)
  • New : Support for Android
  • New : Overloaded AES, SPECK EncryptFile/DecryptFile methods to specify output path
  • New : HMAC-SHA2 method added into SHA2 class
  • New : Converter class to convert from raw format to hexadecimal format or base64 format and vice versa

Buy online

TMS Cryptography Pack

for Delphi XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria, C++Builder XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria (Professional/Enterprise/Architect)

View licensing FAQ
  • License for commercial use: Single developer license, Site license
  • Free 1 year updates and new releases
  • After 1 year, a 70% discount renewal is offered for a one year extension (offer valid for 30 days)
  • Free priority support through email and forum

Single developer license

license for 1 developer € 95

order now
add to cart

Site license

unlimited developers in the company € 395

order now
add to cart

CreditCards and PayPal Accepted

This product is also available in the following bundle(s):