Cryptography is a method of protecting information and communications through some mechanism, so that only those for whom the information is intended can read and process it. Its become mandatory need to secure your communication between sender and receiver in this information age. Delphi/C++ Builder inbuilt comes with key hashing mechanisms to secure your communications. How about having more Cryptography Algorithms options for your Delphi applications?
Symmetric Key encryption : The encryption process where same keys are used for encrypting and decrypting the information. Primarily used for privacy and confidentiality.
- Block Ciphers Supported :AES (128, 192, and 256), Rijndael, Blowfish, Speck.
- Block Ciphers Operation Mode :ECB,CBC,CFB,CTR,CTS,OFB,SIC.
- Block Ciphers Padding Schemes: ISO 10126-2,ISO 7816-4,Bit (ISO/IEC 9797-1),PKCS#5,PKCS#7,TBC (Trailing Bit Complement),ANSI X9.23,Zero
- Stream Ciphers Supported: ChaCha, (X)Salsa20.
Symmetric cryptography was well suited for organizations such as governments, military, and big financial corporations were involved in the classified communication.
With the spread of more unsecure computer networks in last few decades, a genuine need was felt to use cryptography at larger scale. The symmetric key was found to be non-practical due to challenges it faced for key management. This gave rise to the public key cryptosystems.
Asymmetric Key Encryption: The encryption process where different keys are used for encrypting and decrypting the information. Primarily used for authentication, non-repudiation, and key exchange. This library supports, DSA, (DET)ECDSA(supported curves: NIST, X9.62, SEC2, Brainpool), ECNR,ECSchnorr, EdDSA (Ed25519, Ed25519Blake2B)
Hash Functions: Uses a mathematical transformation to irreversibly “encrypt” information, providing a digital fingerprint. Primarily used for message integrity. This library supports, D2,MD4,MD5,SHA-1,SHA-2(224, 256, 384, 512, 512-224, 512-256),Gost3411,Gost3411-2012 (256, 512),RIPEMD (128, 160, 256, 256, 320),Tiger,WhirlPool,Blake2B (160, 256, 384, 512),Blake2S (128, 160, 224, 256),SHA-3 (224, 256, 384, 512),Keccak (224, 256, 288, 384, 512)
Explore this sample ..\CryptoLib4Pascal-master\CryptoLib.Samples\Delphi.Samples\UsageSamples.dproj.
This Library depends upon HashLib4Pascal and SimpleBaseLib4Pascal which is also an Open Source Library.
Supported Platform: Windows XP+, Linux (Including Android and Raspberry PI), Mac OS X, iOS 2.0+, (Oracle) Solaris, OpenBSD.