cryptlib’s high level of portability and configurability makes it ideal for use in embedded systems with limited resources or specialised requirements.
The code is fully independent of any underlying storage or I/O mechanisms. It works just as easily with abstractions like named memory segments in flash memory as it does with standard key files on disk. It has been deployed on embedded systems without any conventional I/O capabilities or dynamic memory allocation facilities, with proprietary operating system architectures and services including ATMs, printers, web-enabled devices, POS systems, embedded device controllers, and similar environments, and even in devices with no operating system at all. cryptlib runs on the bare metal.
Because cryptlib functions identically across all supported environments, it’s possible to perform application development in a fully-featured environment such as Windows or Unix and when the application is complete and tested, move it to the embedded system. This flexibility greatly reduces the amount of time that needs to be spent with embedded systems debuggers or in-circuit emulators since most of the development and code testing can be done on the host system of choice. See the FAQ for more details.