Homepage The News The Weblinks Contact Us EDIT THE FILE LINKS.PHP # # # F.A.Q.
 
 
 
Menú principal
Inicio
Lo que prefiero
Documentación
Listas de Correo
Histórico
.................
LinuxToday
BarraPunto
DistroWatch
Slashdot
 
Inicio arrow Lo que prefiero arrow Libreria de Ciframiento en C
Libreria de Ciframiento en C
Definicion: Consideramos una libreria de ciframiento aquella que tiene funciones relacionadas: ciframiento, hash, ..etc.

Que Quiero Conseguir

  • Una libreria que tenga al menos:  AES, 3DES, SHA*, MD5 y BASE64
  • Escrita en ANSI C o C++ (aunque prefiero C)
  • GPL o LGPL
  • Probada en Windows y GNU/Linux
  • Portable a 64 bits (transparente a la arquitectura)

NOTA

Estos SON mis requerimientos, no implica que lo que descarto es malo o que no son útiles.
Simplemente NO son lo que YO quiero según mi deseos.

Candidatos

Despues de  buscar en Freshmeat, Sourceforge y Free Software Directory de GNU tenemos (en el orden que las encontre):


1. Beecrypt
BeeCrypt is a cryptography library that contains highly optimized C and assembler implementations of many well-known algorithms including Blowfish, MD5, SHA-1, Diffie-Hellman, and ElGamal. Unlike some other crypto libraries, BeeCrypt is not designed to solve one specific problem, like file encryption, but to be a general purpose toolkit which can be used in a variety of applications. There are also no patent or royalty issues associated with BeeCrypt. 

2. XySSL - PolarSSL
CensorNet is an Internet Management Appliance designed to control and monitor individuals accessing Internet resources on a  the individual or workstation concerned has the correct access profile to allow the request to be completed.

3. YaSSL/TaoCrypt/CyaSSL
TaoCrypt is a portable, fast, cryptographic library for most needs. Its features include one way hash functions: SHA-1, MD2, MD4, MD5, RIPEMD-160; message authentication codes: HMAC; block ciphers: DES, Triple-DES, AES, Blowfish, Twofish; stream ciphers: ARC4; public key cryptography: RSA, DSA, Diffie-Hellman; password based key derivation: PBKDF2 from PKCS #5; a pseudo random number generator and large integer support. There is also support for Base 16/64 encoding/decoding, DER encoding/decoding, and X.509 processing.

The CyaSSL software package is a fast, dual-licensed implementation of SSL for embedded and small footprint devices. It includes SSL client libraries and an SSL server implementation. It supports multiple APIs including an OpenSSL compatibility interface. TLS 1.1 is supported along with cipher suites for AES, 3DES, RC4, HC-128, and RABBIT.

4. Botan
Botan (formerly OpenCL) is a library of cryptographic algorithms. It includes a wide selection of block and stream ciphers, public key algorithms, hash functions, and message authentication codes, plus a high level filter-based interface. The home page has a list of supported algorithms.

5. LibTomCrypt
LibTomCrypt is a cryptographic toolkit that gives developers an array of well known published block ciphers, one-way hash functions, chaining modes, pseudo- random number generators, public key cryptography, and many other routines.

6. Nettle
Nettle is a cryptographic library designed to fit any context: in crypto toolkits for object-oriented languages, in applications like LSH or GNUPG, or even in kernel space. Users need to keep track of available algorithms and their properties and variants. The algorithm selection process is dictated by the protocol you want to implement. Also, requirements of applications differ, so an API that fits one application well may be useless for another (which is why so many different cryptographic libraries exist).

7. Mcrypt
mcrypt is a program for encrypting files or streams. It is intended to be a replacement for the old UNIX crypt. It uses well-known and well-tested algorithms like DES, BLOWFISH, TWOFISH, ARCFOUR, CAST-128, and more in several modes (CBC, CFB, etc.). It also has a compatibility mode with the old UNIX crypt and Solaris des.

Libmcrypt is a library which provides a uniform interface to several symmetric encryption algorithms. It is intended to have a simple interface to access encryption algorithms in ofb, cbc, cfb, and ecb modes. The algorithms it supports are DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+, and more. The algorithms and modes are also modular so you can add and remove them on the fly without recompiling the library.

8. GNU-Crytpo
GNU Crypto, part of the GNU project, released under the aegis of GNU, aims at providing free, versatile, high-quality, and provably correct implementations of cryptographic primitives and tools in the Java programming language for use by both programmers and end-users.

9. CCrypt
ccrypt is a utility for encrypting and decrypting files and streams. It was designed to replace the standard Unix 'crypt' utility, which is notorious for using a very weak encryption algorithm. 'ccrypt' is based on the Rijndael cipher, which is the U.S. government's chosen candidate for the Advanced Encryption Standard (AES). This cipher is believed to provide very strong security.

10. CryptoTools
CryptoTools is a suite of encryption libraries to help programmers add encryption to their applications. Components for all encryption algorithms and all programming languages are available in one single package.

11. CryptoMX Tools
CryptoMX Tools is a set of encryption, conversion, hashing, cipher, and steganography tools designed to work on any operating system with any Javascript-capable browser.

12. Keyczar
Keyczar is a cryptographic toolkit designed to make it easier and safer for developers to use cryptography in their applications. It supports authentication and encryption with both symmetric and asymmetric keys. Cryptography is easy to get wrong. Developers can choose improper cipher modes, use obsolete algorithms, compose primitives in an unsafe manner, or fail to anticipate the need for key rotation. Keyczar abstracts some of these details by choosing safe defaults, automatically tagging outputs with key version information, and providing a simple programming interface.

13. Libgcrypt
Libgcrypt is a general-purpose cryptographic library based on the code from GnuPG. It provides functions for all cryptographic building blocks: symmetric ciphers (AES, DES, Blowfish, CAST5, Twofish, and Arcfour), hash algorithms (MD4, MD5, RIPE-MD160, SHA-1, and TIGER-192), MACs (HMAC for all hash algorithms), public key algorithms (RSA, ElGamal, and DSA), large integer functions, random numbers, and a lot of supporting functions.

14. MatrixSSL
PeerSec MatrixSSL is an embedded SSL implementation designed for small footprint devices and applications requiring low overhead per connection. The library is less than 50K on disk with cipher suites. It includes SSL client and SSL server support, session resumption, and implementations of RSA, 3DES, ARC4, SHA1, and MD5. The source is well documented and contains portability layers for additional operating systems, cipher suites, and cryptography providers.

15. ocf-linux
A Linux port of the OpenBSD/FreeBSD Cryptographic Framework (OCF). This port aims to bring full asynchronous HW/SW crypto acceleration to the Linux kernel, OpenSwan, OpenSSL and applications using DES, 3DES, AES, MD5, SHA, PublicKey, RNGs and more.

16. libv
A portable C library of common data types and algorithms (such as linked lists, dynamic arrays, binary trees, stacks and queues, base64 encoder/decoder, MD5). Efficient, stable, fast, secure and extremely well documented.

17. vilahuaer
C code to encrypt files or strings using AES 256 , AES 256 CTR or RC4 encryption methods ,the code is optimized to very fast code execution on Win32 when new AMD or Intel processors are available ,public domain

Evaluación

Pero entonces aqui comienza la seleccion. OJO una vez encuentro alguna caracteristica que descarte dejo de evaluar esa distribución.

 Licen
 Actualizado VersionTam Lang  CompilaTest
64bits
Other
 Resultado
 BeecryptLGPL
2004-12-21 4.2.1 862kC No en 64
?
 No - Solo 32bits
 XySSL/PolarSSLGPL/BSD
2008-05-17 (0.9) 0.11207K
COk OkSi
  
 YaSSL/TaoCrypt  GPL2008-11-131.9.6
 873k C++
 OkOk
Si
  Lenguaje
 Botan BSD 2009-07-12 1.8.42.9M
 C++    Lenguaje
 LibTomCrypt GPL ??
2006-12-22 1.161.6M
C    Abandonado
 Nettle GPL/LGPL2009-06-08
2.0 867k
C
     
 Mcrypt LGPL2009-06-19
 2.5.81.3M
C
   No Base64
 No sirve
 GNU-CrytpoGPL 2004-02-112.0.1
 3.8MJava-
-
-
- Lenguaje
 CCrypt GPL2009-06-05
1.8
650K
C
    No libreria
 CryptoToolsComercial
2009-06-09
-
1.3MTodos
 ---
-
Comercial
 CryptoMX ToolsGPL
2006-01-121.5.8245k
 JavaScript-
-
-
-
 Abandonado
 KeyczarApache
2009-06-290.6b105k
Java/Python
-
-
-
-
Lenguaje
 LibgcryptComercial
 ?? ?? - --
 - - - Comercial
 MatrixSSL GPL/Com 2009-06-241.8.7b --
-
 - --
 Comercial
 ocf-linuxBSD ?
2008-09-27
20080917220k-No
 - - -Primitivo
 libvGPL
2007-08-19
 --
C
  -  -  - Solo HashNo sirve
 vilahuaer - - ---
 --
-
-
 Abandonado

 

Los finalistas

 PolarSSL y  Nettle

 

 
< Anterior   Siguiente >