Name

CYGPKG_CRYPT_LIBTOMCRYPT — Cryptography

Description

CYGPKG_CRYPT_LIBTOMCRYPT is a port to eCos of the Tom St Denis LibTomCrypt cryptography library. Full documentation on this library can be found in the file crypt.pdf in the package's doc subdirectory.

The port to eCos has involved only very minor changes to the generic LibTomCrypt sources. Appropriate CDL has been added to turn the library into an eCos package. The package's src subdirectory has essentially the same contents as a LibTomCrypt tarball. The exported headers have been moved from the src/headers subdirectory to the package's include subdirectory in accordance with eCos conventions. Some of these headers have had minor modifications to allow the package to be built and used within an eCos configuration. The prebuilt documentation file crypt.pdf has been moved to the doc subdirectory.

The package has no architectural dependencies so can be added to any eCos configuration. However it does depend on dynamic memory allocation support from CYGPKG_MEMALLOC, on standard C library support from CYGPKG_LIBC_STDLIB, CYGPKG_LIBC_I18N, CYGPKG_LIBC_STRING, CYGPKG_LIBC_TIME, and on the multi-precision arithmetic support provided by CYGPKG_LIBTOMMATH.

The package provides three CDL configuration options. CYGIMP_CRYPT_LIBTOMCRYPT_SMALL_CODE corresponds to the libtomcrypt LTC_SMALL_CODE option and selects for smaller but slower code. Similarly CYGIMP_CRYPT_LIBTOMCRYPT_NO_TABLES corresponds to LTC_NO_TABLES and also selects for smaller but slower code. CYGDBG_CRYPT_LIBTOMCRYPT_ARGCHK determines what argument checking gets performed. By default in a debug build (CYGPKG_INFRA_DEBUG enabled) invalid arguments result in an assertion failure, and in a normal build argument checking is disabled.

[Caution]Caution

In some jurisdictions use of this library may be subject to patent and trademark restrictions. More information on this can be found in section 1.4 of the crypt.pdf document. It is the application developer's responsibility to consider the legal issues before using this library.