No announcement yet.

HIME update: V2.04 (Huge Integer Math and Encryption library)

  • Filter
  • Time
  • Show
Clear All
new posts

  • HIME update: V2.04 (Huge Integer Math and Encryption library)

    Dear all,

    DevOTechS is pleased to announce the release of HIME V2.04 !
    (If you are unfamiliar with HIME, please read on)

    What's new in HIME V2.04?

    * The HIME helpfile now comes in two formats: a HTML Help (.chm) file and a WinHelp (.hlp) file.

    * New functions:
    ** Encryption related functions:
    hi_HMAC_FIPS198 : Calculates a HMAC according to NIST FIPS 198a
    hi_RSA_Pad_PKCS1_1_5 : Increase the plaintext security before encrypting it with RSA
    hi_RSA_Unpad_PKCS1_1_5 : Remove padding to retrieve the original plaintext after RSA decryption

    ** Math / number theory related functions:
    hi_Root_N : Calculate the Nth root of a huge integer number
    hi_Root_Sqrt : Calculate the square root of a huge integer number
    hi_Factor_TrialDiv : Find a factor of a huge integer by dividing it by prime numbers
    hi_Factor_Pollards_Rho : Find a factor of a huge integer number by implementing Pollard's Rho algorithm
    hi_Factors : Find all factors of a given huge integer number
    hi_GetPrimeFromTable : Get a lower prime number from the internal predefined primes table.

    ** Data security related function:
    hi_ShredDisk : Securely delete the free space of a disk

    ** Miscellaneous functions:
    hi_FormatAsHuge : Make datalength a multiple of 4 bytes, according to the huge integer format
    hi_GetRegDword : Get 4 bytes from a register as a dword (32 bits unsigned integer)
    hi_GetRegLong : Get 4 bytes from a register as a long (32 bits signed integer)
    hi_PutRegDword : Store a dword (32 bits unsigned integer) into a HIME register
    hi_PutRegLong : Store a long (32 bits signed integer) into a HIME register

    * Improved functions:
    hi_ShredFile : This function can now be executed in asynchronous or in synchronous mode. Function parameters have changed since V2.03 !
    hi_Incr : Improved for speed
    hi_Decr : Improved for speed

    What is HIME ?
    HIME stands for Huge Integer Math and Encryption library.
    It is a cryptography and huge integer (bignum) math toolkit for Windows programmers.

    * HIME allows to implement public key encryption, secret key encryption, data security and digital signatures using one of the many one-way secure hash functions in your programs.

    * Public (asymmetric) key encryption and digital signatures with RSA ; standard version or the CRT (Chinese Remainder Theorem) version. Optional RSA padding according to PKCS#1 v1.5 .

    * Secret (symmetric) key encryption with AES (Rijndael) in 3 different block cipher modes or ArcFour (RC4 compatible) (**).

    * Hash functions: SHA-512, SHA-256, SHA-1, MD5, CRC32 (**).

    * Keyed-Hash message authentication code (HMAC) according to FIPS 198.

    * HIME also contains functions for huge prime number generation, factoring and cryptographically secure random number generation (a.o. Blum-Blum-Shub and RSA). True random number data can be retrieved from an internet server.

    * The Diffie-Hellman key exchange algorithm to securely exchange session keys.

    * HIME has compression and decompression functions with multiple compression algorithms to choose from.

    * HIME is thread-safe (re-entrant) for use in multi-threaded applications or concurrent environments.

    * HIME has functions for easily handling data, arranged as records with fields.

    * HIME has functions for converting data between various formats: huge integer, Base64, decimal, hex, ascii binary.

    * HIME has functions for securely erasing disk files and free disk space.

    * HIMEs 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.

    * HIMEs huge integer math functions are ideal for number theory applications.

    * A huge integer number in HIME can be hundreds of millions of digits long; 2^31 (2147483648) bits long to be exact. That's over 268 MILLION decimal digits!

    * HIME is a 32 bits dll, so every programming language that can access a standard Win32 dll can use HIME: C, C++, C#, Visual Basic 5/6, 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'.

    * HIME comes with 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 operating systems.
    (tested on Windows 98, XP and Vista)

    (*) PowerBASIC is copyright of PowerBASIC, Inc.

    (**) RC4 and MD5 are trademarks of RSA Data Security Inc.

    Check out the complete list of HIME functions here:

    Or the HIME history:

    Direct download link of the HIME zip file:

    If there are still some missing features or functions that you would like to see in HIME, just send a mail to [email protected] .

    If you have any questions about anything concerning HIME, send a mail to [email protected]

    If you are a HIME customer and you have not received a notification e-mail, please report your current e-mail to [email protected] .

    Kind regards
    Van Esch