13
Programación 3 Chat con Encriptación en Java Edisson Sigua Emily Arteaga Christian Salinas 19/01/2017

Chat con encriptación en java

Embed Size (px)

Citation preview

Page 1: Chat con encriptación  en java

Programación 3

Chat con Encriptación en Java

Edisson SiguaEmily Arteaga Christian Salinas

19/01/2017

Page 2: Chat con encriptación  en java

Encriptacion en Java

Java abarca muchas áreas, tales como seguridad, incluyendo criptografía, la infraestructura de clave, la autentificación, comunicación segura. Estas áreas están definidas dentro de un conjunto de APIs de java, esto permite a los desarrolladores integrar fácilmente los mecanismo de seguridad en el código de la aplicación.

Page 3: Chat con encriptación  en java

RC2RC2 es un algoritmo de cifrado por bloques de clave de tamaño variable y es tipo de encriptacion simetrica.

El Algoritmo trabaja con bloques de 64 bits y entre dos o tres veces más rápido que el DES en software. Este algoritmo esta diseñado para reemplazar al DES.

El tamaño de la clave puede ser entre 8 y 128 bits, (entre multiplos de 8 bits, como 8, 16, 32, 64, 128).

Page 4: Chat con encriptación  en java

La diferencia de este algoritmo con los otros es que aunque usa una calve con bloque de 64 bits, realmente la longitud de la clave puede ser variable, es decir no obliga a que sean exactamente claves de 64 bits, lo cual dificulta su decodificación, como se dijo, la clave puede estar entre 8 y 128 bits

RC2 es un algoritmo de cifrado por bloques de clave de tamaño variable y es tipo de encriptacion simetrica.

El Algoritmo trabaja con bloques de 64 bits y entre dos o tres veces más rápido que el DES en software. Este algoritmo esta diseñado para reemplazar al DES.

El tamaño de la clave puede ser entre 8 y 128 bits, (entre multiplos de 8 bits, como 8, 16, 32, 64, 128).

RC2

Page 5: Chat con encriptación  en java

SimetricaClave secreta (simétrica).

Utiliza una clave para la encriptación y desencriptación del mensaje. Ambos extremos deben tener la misma clave para cumplir con le proceso.

Page 6: Chat con encriptación  en java

EncriptaciónLa encriptacion en java se puede realizar mediante la clase Cipher, junto con el método getInstance, de la siguiente manera:

Cipher cipher = Cipher.getInstance(“RC2”);

GetInstance devuelve un Cipher objeto que implementa la transformación que se especifique.

Page 7: Chat con encriptación  en java

EncriptaciónPara crear una clave se utiliza un new SecretKeySpec(), que ya se encuentra en java.

key = new SecretKeySpec(Arrays.copyOf(valuebytes,keySize),‘‘RC2’’);

Page 8: Chat con encriptación  en java

EncriptaciónPara crear una clave se utiliza un new SecretKeySpec(), que ya se encuentra en java.

key = new SecretKeySpec(Arrays.copyOf(valuebytes,keySize),‘‘RC2’’);

Se inicializa el cifrado con la clave key.

cipher.init(Cipher.ENCRYPT_MODE , key);

Page 9: Chat con encriptación  en java

EncriptaciónPara crear una clave se utiliza un new SecretKeySpec(), que ya se encuentra en java.

key = new SecretKeySpec(Arrays.copyOf(valuebytes,keySize),‘‘RC2’’);

Se inicializa el cifrado con la clave key.

cipher.init(Cipher.ENCRYPT_MODE , key);

Page 10: Chat con encriptación  en java

EncriptaciónPara crear una clave se utiliza un new SecretKeySpec(), que ya se encuentra en java.

key = new SecretKeySpec(Arrays.copyOf(valuebytes,keySize),‘‘RC2’’);

Se inicializa el cifrado con la clave key.

cipher.init(Cipher.ENCRYPT_MODE , key);

Se utiliza la clase BASE64Encoder, el cual es un codificador para manejar datos de byte

Page 11: Chat con encriptación  en java

DesencriptarPara desencriptar se inicializa nuevamente el proceso con la misma clave.

cipher.init(Cipher.DECRYPT_MODE , key);

Page 12: Chat con encriptación  en java

DesencriptarPara desencriptar se inicializa nuevamente el proceso con la misma clave.

cipher.init(Cipher.DECRYPT_MODE , key);

Desencripta los datos en una cadena de bytes, para poder mostrarlo.

Byte[] cipherbytes = cipher.doFinal(value);String mensaje = new String(cipherbytes);

Page 13: Chat con encriptación  en java

Bibliografia

https://itzeelitaa.wordpress.com/2012/11/15/algoritmos-de-encriptacion-simetricos-y-asimetricos/

Docs.oracle.com. (2017). Java Cryptography Architecture Oracle ProvidersDocumentation. [online] Disponible en: http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html

Jc-mouse.net. (2017). Encriptación simétrica en java. [online] Disponible en: http://www.jc-mouse.net/java/encriptacion-simetrica-en-java.