Although the creator of scrypt has written an "example implementation", it
doesn't satisfy the "simple library" requirement that prompts developers to
implement it. Therefore, I've written my adaptation, which quite simply pulls
the relevant parts from the original implementation, then adds a number of
harnesses and simplified interfaces. The hope is that through this, any
developer can utilise scrypt.
libsecret is a library for storing and retrieving passwords and other
secrets. It communicates with the "Secret Service" using DBus.
gnome-keyring and ksecretservice are both implementations of a Secret
Service; libsecret replaces libgnome-keyring.
libgnomesu is a library for providing superuser privileges to GNOME
applications. It supports consolehelper, PAM and su.
libgnomesu will use one the following services (in order of priority),
depending on which one is available:
- consolehelper
- PAM
- su
libgnomesu will use the su-based backend as final fallback, if no other
services are available. This service uses a backend which is a modified
version of GNU su.
libgnomesu comes with the GUI frontend 'gnomesu' and a Nautilus component
for Nautilus integration.
libsparkcrypto is a formally verified implementation of several widely used
symmetric cryptographic algorithms using the SPARK programming language and
toolset. For the complete library proofs of the absence of run-time errors
like type range violations, division by zero and numerical overflows are
available. Some of its subprograms include proofs of partial correctness.
The distribution contains test cases for all implemented algorithms and a
benchmark to compare its performance with the OpenSSL library. The achieved
speed has been found to be very close to the optimized C and Assembler
implementations of OpenSSL.
The ssh library was designed to be used by programmers needing a working SSH
implementation by the mean of a library. The complete control of the client is
made by the programmer. With libssh, you can remotely execute programs, transfer
files, use a secure and transparent tunnel for your remote programs.
With its Secure FTP implementation, you can play with remote files easily,
without third-party programs others than libcrypto (from openssl).
libssh features:
* Full C library functions for manipulating a client-side SSH connection
* SSH2 and SSH1 protocol compliant
* Fully configurable sessions
* Server support, SSH agent authentication support
* Support for AES-128, AES-192, AES-256, Blowfish, 3DES in CBC mode
* Use multiple SSH connections in a same process, at same time
* Use multiple channels in the same connection
* Thread safety when using different sessions at same time
* POSIX-like SFTP implementation with openssh extension support
* SCP implementation
* RSA and DSS server public key supported
* Compression support (with zlib)
* Public key (RSA and DSS), password and keyboard-interactive authentication
libssh2 is a client-side C library implementing the SSH2 protocol. It supports
regular terminal, SCP and SFTP sessions; port forwarding; password, key-based
and keyboard-interactive authentication.
libtasn1 library was developed for ASN1 (Abstract Syntax Notation One)
structures management.
The main features of this library are:
- on-line ASN1 structure management that does not require any C code
file generation;
- off-line ASN1 structure management with C code file generation
containing an array;
- DER (Distinguish Encoding Rules) encoding;
- no limits for INTEGER and ENUMERATED values
LibTomCrypt is a portable ANSI C cryptographic library that supports symmetric
ciphers, one-way hashes, pseudo-random number generators, public key
cryptography (via RSA,DH or ECC/DH) and a plethora of support routines.
libmcrypt is a cryptographic library that conveniently brings together
a variety of ciphers for convenient use.
In particular, having libmcrypt allows you to build PHP with
encryption.
This is a very small Elliptic Curve Cryptography library.