Huge Integer Math and Encryption library.
- A cryptography toolkit for Windows with public key and secret key encryption, data security and digital signatures with one-way secure hash functions.
- Public (asymmetric) key encryption and digital signatures with RSA. Optional PKCS#1 v1.5 RSA padding.
- Secret (symmetric) key encryption with AES (Rijndael) or ArcFour (RC4 compatible).
- Hash functions: SHA-512, SHA-256, SHA-1, MD5, CRC32.
- FIPS 198 HMAC.
- Huge prime number generation, factoring and cryptographically secure random number generation (a.o. Blum-Blum-Shub). True random number data from an internet server.
- Diffie-Hellman key exchange algorithm.
- Compression / decompression with multiple compression algorithms.
- Thread-safe for use in multi-threaded applications.
- Functions for converting data between various formats: huge integer, Base64, decimal, hex, ascii binary.
- Securely erasing disk files and free disk space.
- Huge integer number mathematical, bit manipulation and boolean functions can serve as building blocks for implementing other public key encryption schemes or performing math calculations with arbitrary precision.
- Number theory applications.
- A huge integer number in HIME can be hundreds of millions of digits long; 2^31 (2147483648) bits long. MILLIONS of decimal digits!
- HIME is a 32 bits dll. Every programming language that can access a standard Win32 dll can use HIME: C, C++, C#, Visual Basic 5/6, VBA, VB.Net, Delphi, PowerBASIC, PureBASIC, Liberty Basic, Euphoria, Java, Macromedia Director (with GLU32)..
- .NET (dot NET) languages can use HIME as an 'unmanaged code dll'.
- Demo and test programs (including their source code) to show HIMEs performance and as an example of how to use HIME.
- Demo code in Visual Basic 5/6, C++, C#, VB.Net, Liberty Basic, Delphi, PowerBASIC and PureBASIC are also included.
HIME was written in PowerBASIC (*) and inline assembler.
HIME is designed to support all Windows versions.