Cryptlib by Peter Gutmann is a security toolkit that allows even less experienced programmers to add strong encryption and authentication services to their programs, security features that are becoming more and more indispensable. The library attempts to hide the low-level details of encryption/decryption and authentication from programmers, allowing them to quickly make their projects more secure. Some of the symmetric encryption (private key) and authentication algorithms that cryptlib supports include the following:
The following hash algorithms are available in the library:
· MD2, MD4, MD5
· RIPEMD-160
· SHA
It offers services such as:
· S/MIME
· SSL/TLS
· ssh
It features various hashed message authentication code algorithms:
· HMAC-MD5, HMAC-SHA, HMAC-RIPEMD-160
Finally, asymmetric (public/private key) encryption algorithms such as the following are available:
· Diffie-Hellman, DSA, RSA
cryptlib can also be used with a variety of crypto devices (for example, Fortezza cards and Smart cards).
The library is free if used in personal, freeware, or shareware projects. The library is written in C. ActiveX and C++ wrappers are provided. The project is OSI Certified Open Source Software.
With the Open SSL 0.9.7c library, developers can write applications that take advantage of Secure Sockets Layer (SSL v2/v3), Transport Layer Security (TLS v1), and a full-strength general-purpose cryptography library. Security features such as data integrity, authenticity, and privacy can be implemented. To compile for Win32, Perl or compiling under Cygwin is required. Some of the encryption routines/algorithms are covered by patents.
Smilla?s .NET Communication Library is a small network protocol library for use with .NET Framework languages. The class library of Microsoft?s .NET Framework does not support certain common communication protocols, such as NNTP and POP3. Developers can use this library to add NNTP protocol support to their applications. The library is written in C#. It is distributed under the GNU Lesser General Public License.
With Lumisoft?s UI Controls 0.11, developers can choose from over a dozen basic flat controls for Windows Forms apps. The library seems occasionally somewhat buggy. With one control, the code generated when it is dragged onto a Form will not compile. The controls can be configured using the Property tab in VS.NET, but lack advanced WYSIWYG design-time support databinding capabilities. The code is written in C#.