Uso de las Extensiones Criptográficas de Java

Contenido

 * 1) Nota:
 * 2) Descripción general
 * 3) Algoritmos de cifrado simétrico proporcionados por SunJCE
 * 4) Modos de cifrado
 * 5) Algoritmos de cifrado asimétricos implementadas por SunJCE
 * 6) hashing / Message Digest algoritmos implementados por SunJCE
 * 7) Ejemplos
 * 8) Seguridad Randómica
 * 9) AES de cifrado y descifrado
 * 10) DES cifrado y descifrado

Nota:
El código incluido en este artículo no ha sido revisado y no se debe utilizar sin un análisis adecuado. Si ha revisado el código incluido (o partes de ellos), por favor enviar sus conclusiones a esta página o a: stephen [at] corsaire.com.

Descripción General
Extensiones Criptográficas Java (JCE) es un conjunto de API’s de Java, que proporciona servicios criptográficos como el cifrado, la generación de claves secretas, código de autenticación de mensajes y el Acuerdo clave. Los sistemas de cifrado soportados por JCE incluyen simetría, asimetría, bloque y cifrado de flujos. JCE fue un paquete opcional para JDK v 1.2.x y 1.3.x. JCE ha sido integrado en JDK v1.4.

JCE API’s se implementan los proveedores de servicios criptográficos. Cada uno de estos proveedores de servicios criptográficos implementa la interfaz del proveedor de servicio que especifican las funcionalidades que deben ser implementadas por los proveedores de servicios. Los programadores pueden obtener los plugin de cualquier proveedor de servicios para la realización de funcionalidades criptográficas proporcionadas por JCE. J2SE viene con un proveedor predeterminado, llamado SunJCE.

Algoritmos simétricos de cifrado proporcionadas por SunJCE

 * 1) 	DES - KeyLength predeterminado de 56 bits (longitud)
 * 2) 	AES
 * 3) 	RC2, RC4 y RC5
 * 4) 	IDEA
 * 5) 	Triple DES - KeyLength por defecto 112 bits
 * 6) 	Blowfish - KeyLength defecto 56 bits
 * 7) 	PBE con MD5 y DES
 * 8) 	PBE con HmacSHA1 y DESede
 * 9) 	DES ede

Modos de Encriptación

 * 1) 	BCE
 * 2) 	CBC
 * 3) 	CFB
 * 4) 	OFB
 * 5) 	PCBC

Algoritmos de cifrado asimétricos implementados por SunJCE

 * 1) 	RSA
 * 2) 	Diffie-Hellman - KeyLength defecto 1024 bits

Hashing / Message Digest algoritmos implementados por SunJCE

 * 1) 	MD5 - por defecto 64 bytes de tamaño
 * 2) 	SHA1 - por defecto 64 bytes de tamaño

TRADUCIDO POR ABALCO DAVID Y CASTRO WILSON

 * 1) ESCUELA POLITÉCNICA NACIONAL
 * 2) APLICACIONES EN AMBIENTES LIBRES
 * 3) TUTOR: TITO ARMAS
 * 4) 15/11/2012
 * 5) QUITO-ECUADOR