Please read our article "Crococrypt Product Family Status of 2021 (Quo vadis?)" for more information.
CrococryptLib for Java and Android:
The easiest way to integrate encryption into your application using a single library
With this library anybody can write encryption and other crypto services (worldwide)!
⇒ Do you know how to deal with an AES block cipher mode like CBC or parameters like initialization vectors?
⇒ Do you know how to easily encode, store and transmit encrypted data?
⇒ Do you care about secure storage of passwords or password-based encryption?
⇒ Use industry standards like PBKDF2 and PKCS #5 with auto-secure settings like HMAC, iteration count and salt.
CrococryptLib provides the most easiest way to integrate encryption into your own application. No in-depth cryptography knowledge is required, save development time & budget... .
Examples
Want to see code immediately? Take a look at our code examples which demonstrate the easy usage that we claim.
The code is included in the trial SDK download.
Features
- Compact encryption format: Auto selection and storage of security parameters in one compact format. This includes keysizes, initialization vectors, iteration counts, salt and hash lengths.
- Easy and secure hash and validation of user passwords
- Password-based encryption including key wrapping and support for password changes
- Default hash: PBKDF2 (PKCS #5), HMAC with SHA512, 512 Bit hash, 512 Bit salt
- Strong encryption by default: AES 256 Bit, CBC mode, secure auto-generation of new initialization vectors (IV)
- Any JCE-available symmetric cipher can be used alternatively - like Twofish, Serpent, Blowfish, 3DES, GOST etc.
- Easy encoding into binary (less storage space), Base64, Hex, JSON, files or arbitrary stream objects. Choose any format also for databases.
- Through the compact format all keys and encryption values can be stored in a single column, field, or property. No further management overhead.
- Every value is stored independently
- Changing the settings of the application does not require to re-hash all user passwords or re-encrypt anything, although this can be done by a batch process. Changing settings only affects newly added values.
- Individual accounts can have different algorithm strength. Example: For performance reasons you might go with a lower iteration count for user passwords, but you want a high iteration count for administration accounts. No problem using CrococryptLib!
- Support for arbitrary large data streams for files and large database objects: Efficiently write and read the compact format stream-based.
- Additional tools like file wiping and random data generation
System requirements
- CrococryptLib can be efficiently integrated in server, database, client, mobile, and desktop applications.
- Desktop/Backend/Server: Java 1.6++ is required to run CrococryptLib. A version of Bouncy Castle is required as well to use strong hash algorithms and alternate encryption algorithms like Twofish. The SDK ships with the current version of Bouncy Castle, but you can use your own.
- Android: Android version 2.2++ is required. The SDK contains everything for setting up CrococryptLib on Android.
If you have feature requests or need a support for other Java versions, feel free to contact us.
Proven Technology
Cryptography
Don't worry, we do not implement crypto algorithms like AES or SHA512 ourselves. We still use the strong technology of the Java Cryptography Extension underneath which includes crypto providers like the Oracle/Sun or the open-source "Bouncy Castle" provider.
Applications
Our freely available Crococrypt application family uses the same technology that is part of CrococryptLib. This includes two desktop applications (Windows, Linux, Mac) and two Java servlet based web applications.
Roadmap
Current Status (2024): Active
Features in the queue:
- Plain public key encryption with compact format
- PKCS #11 support for Smartcards and HSMs
Crypto Development, Customization, Consulting, and Training Services
Feel free to contact us for other crypto related development or conceptual services; or an individual offer for a full integration of CrococryptLib into your software. We are also able to provide support for hardware tokens like Smartcards and HSMs.
Moreover, we offer remote training in crypto basics - in case you require a deeper understanding of state of the art cryptographic technologies and other online security development courses.