Showing posts with label Firmas Digitales. Show all posts
Showing posts with label Firmas Digitales. Show all posts

Saturday, May 2, 2009

Encriptaciòn, Criptografia y Firmas Digitales en JAVA.

Hola como estan, en esta oportunidad postearè sobre Encriptaciòn, Criptografia y Firmas Digitales en JAVA , por ese motivo estoy compartiendo un par de clases especiales ('ManejoEncriptacion.java') para el manejo de encriptacion y desencriptacion de datos y manejo de firmas digitales, utilizando los algoritmos 'SHA1, MD5, BASE64, CIPHER, SHA1PRNG, SUNJCE, BLOWFISH' . Esta muy bien detalla y ordenada. El manejo de este par de clases seria simplemente instanciandolas y accediendo a los mètodos respectivos, segun convenga. He creado dentro de cada clase un mètodo "main" que muestra la forma como llamar a los mètodos para ver su funcionamiento y lo que imprime al ejecutarce dichas clases:

I.- Ejecuciòn clase: 'ManejoEncriptacion.java' Al ejecutarce esta clase se muestran la aplicaciòn de los algoritmos respectivos, ya antes comentados.


/*******************************************************************************/
Dato Original a Encriptar: Cesar Ricardo Guerra Arnaiz ==> 'JAVAMAN'

- Dato Encriptado utilizando 'SHA1': 963B634E2A2A74399D521545372C590640F6328FF615
- Dato Encriptado utilizando 'MD5': 9B47DE66E257144C9A6C4BA463DC673C1C67
- Dato Encriptado utilizando 'BASE64': Q2VzYXIgUmljYXJkbyBHdWVycmEgQXJuYWl6ID09PiAnSkFWQU1BTic=
- Dato Encriptado utilizando 'CIPHER': rqYOA80r41UjlAdaIq32MSW8ZBzh1ue/qUux9Z9TvDFclqWrG8e55mTxVE9ohJ2u

- Dato Comparado Existente 'SHA1': true
- Dato Comparado Existente 'MD5': true
- Dato Desencryptado utilizando 'BASE64': Cesar Ricardo Guerra Arnaiz ==> 'JAVAMAN'
- Dato Desencryptado utilizando 'CIPHER': Cesar Ricardo Guerra Arnaiz ==> 'JAVAMAN'
/*******************************************************************************/


II.- Ejecuciòn clase: 'ManejoCriptografia_FirmasDigitales.java'
Esta clase al ejecutarce guardara en la ruta: C:\\Encriptacion\\
4 archivos '.txt' ( CriptografiaPrivada.txt, CriptografiaPublica.txt,CriptografiaSecreta.txt, FirmaDigital.txt ), con las llaves pùblica, privada, secreta y la firma digital generada respectivamente.


/*******************************************************************************/
Llave Privada: Sun DSA Private Key
parameters:
p:
fca682ce 8e12caba 26efccf7 110e526d b078b05e decbcd1e b4a208f3 ae1617ae
01f35b91 a47e6df6 3413c5e1 2ed0899b cd132acd 50d99151 bdc43ee7 37592e17
q:
962eddcc 369cba8e bb260ee6 b6a126d9 346e38c5
g:
678471b2 7a9cf44e e91a49c5 147db1a9 aaf244f0 5a434d64 86931d2d 14271b9e
35030b71 fd73da17 9069b32e 2935630e 1c206235 4d0da20a 6c416e50 be794ca4

x: 05d1cd9b f2a50d95 ebd60b1f 92a6c366 b48c5246

Llave Publica: Sun DSA Public Key
Parameters:
p:
fca682ce 8e12caba 26efccf7 110e526d b078b05e decbcd1e b4a208f3 ae1617ae
01f35b91 a47e6df6 3413c5e1 2ed0899b cd132acd 50d99151 bdc43ee7 37592e17
q:
962eddcc 369cba8e bb260ee6 b6a126d9 346e38c5
g:
678471b2 7a9cf44e e91a49c5 147db1a9 aaf244f0 5a434d64 86931d2d 14271b9e
35030b71 fd73da17 9069b32e 2935630e 1c206235 4d0da20a 6c416e50 be794ca4

y:
d13969c4 4a72fc75 34c8a901 f9a7385c c5e0f58a f7e4ff2f 86c81303 34c88ead
174e69a5 2e419e0b 075af7f1 0b0ee3af 7e701dee 8e392760 afb42e5b 051bf3f3


Llave Secreta: com.sun.crypto.provider.DESKey@fffe78e4

DSA 'Llave Privada' 'DATOS ESPECIFICOS'
g: 5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796
p: 13232376895198612407547930718267435757728527029623408872245156039757713029036368719146452186041204237350521785240337048752071462798273003935646236777459223
q: 857393771208094202104259627990318636601332086981
x (Private Key): 33223720685525160964687769090827582703053591110

DSA 'Llave Publica' 'DATOS ESPECIFICOS'
g: 5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796
p: 13232376895198612407547930718267435757728527029623408872245156039757713029036368719146452186041204237350521785240337048752071462798273003935646236777459223
q: 857393771208094202104259627990318636601332086981
y (Public Key): 10957964172216934477577618607139934551345542158063249939755549047479274223759870433197949180499126827884422297601943888110924226391334218853590138250589171

Mensaje Transacciòn: Clave 'Privada' Guardada
Mensaje Transacciòn: Clave 'Publica' Guardada
Mensaje Transacciòn: Clave 'Secreta' Guardada

Mensaje Transacciòn: Clave 'Privada' Recuperada
Mensaje Transacciòn: Clave 'Publica' Recuperada
Mensaje Transacciòn: Clave 'Secreta' Recuperada

Mensaje Transacciòn: 'Firma Digital' Creada
Mensaje Transacciòn: 'Firma Digital' Guardada en Archivo
Firma Digital: 0, 5lE?Í"0Y"ššµ?
¬Dêãå± r“ ×)”f¡îM)ÕÃu†å1dXà
Existe Firma Digital: false
Mensaje Transacciòn: 'Firma Digital' Recuperada de Archivo
Obteniendo Firma Digital 'Archivo': 0, 5lE?Í"0Y"ššµ?
¬Dêãå± r“ ×)”f¡îM)ÕÃu†å1dXà

Listado Algoritmos 'KeyPairGenerator': [ECIES, GOST3410, ECGOST3410, EC, DIFFIEHELLMAN, ECDSA, DSA, ECDH, ECDHC, RSA, DH, ELGAMAL]
Listado Algoritmos 'Signature': [SHA256WITHRSAENCRYPTION, RSASSA-PSS, MD5WITHRSA/ISO9796-2, SHA256WITHECDSA, SHA384WITHECDSA, ECGOST3410, SHA256WITHRSA/PSS, DSA, ECDSA, MD4WITHRSAENCRYPTION, SHA384WITHRSA, RIPEMD128WITHRSAENCRYPTION, RIPEMD160WITHRSAENCRYPTION, SHA384WITHRSAENCRYPTION, SHA512WITHRSA, SHA224WITHECDSA, MD2WITHRSA, NONEWITHDSA, SHA256WITHECNR, SHA224WITHRSAENCRYPTION, SHA256WITHDSA, RIPEMD256WITHRSAENCRYPTION, SHA224WITHECNR, MD5WITHRSA, SHA1WITHRSAENCRYPTION, SHA256WITHRSA, SHA512WITHECDSA, SHA512WITHRSAENCRYPTION, SHA384WITHRSA/PSS, GOST3410, SHA1WITHRSA/PSS, SHA1WITHECNR, SHA1WITHDSA, SHA1WITHRSA/ISO9796-2, SHA512WITHRSA/PSS, SHA224WITHRSA/PSS, SHA224WITHDSA, SHA512WITHDSA, SHA1WITHRSA, MD5ANDSHA1WITHRSA, RIPEMD160WITHRSA/ISO9796-2, SHA512WITHECNR, SHA384WITHDSA, MD5WITHRSAENCRYPTION, MD2WITHRSAENCRYPTION, SHA384WITHECNR, 1.2.840.113549.1.1.10]

Lista Proveedores Encriptacion:
--------------------------------
SUN version 1.6
SunRsaSign version 1.5
SunJSSE version 1.6
SunJCE version 1.6
SunJGSS version 1.0
SunSASL version 1.5
XMLDSig version 1.0
SunPCSC version 1.6
SunMSCAPI version 1.6
BC version 1.36
/*******************************************************************************/


Para descargar el paquete completo: pulsar AQUI #1. - AQUI #2.