Actividad Evaluativa Eje 3
Criptografía Y Mecanismos De Seguridad
Integrante:
Luisa Fernanda Mendivelso Solarte
Docente:
Yashin Alberto Rueda Matos
Fundación Universitaria Del Área Andina
Ingeniería De Sistemas
Colombia
2024
TABLA DE CONTENIDO
Introducción……………………………………………………………………………….2
Objetivo……………………………………………………………………………………2
Desarrollo de la actividad evaluativa…………………………………………………..3
Conclusión………………………………………………………………………………..7
Referencias……………………………………………………………………………….7
1
INTRODUCCIÓN
La criptografía es un campo fundamental en el ámbito de la seguridad informática, y
Java ofrece potentes herramientas y librerías para implementar algoritmos de
cifrado y descifrado. En este lenguaje, podemos realizar una amplia gama de
operaciones criptográficas, como generar claves, cifrar y descifrar datos, firmar y
verificar firmas digitales, entre otras.
Java provee soporte integrado para una amplia variedad de algoritmos criptográficos
estándar, como AES, RSA, HMAC, y muchos más. La implementación de estos
algoritmos es accesible a través del paquete javax.crypto, que incluye clases para
trabajar con claves, cifrar y descifrar datos.
OBJETIVO
Crear un formulario de autenticación, usando las clases criptográficas, expuestas en
el módulo.
2
DESARROLLO DE LA ACTIVIDAD EVALUATIVA
Es útil tener un entendimiento básico de Java y programación orientada a objetos.
Además, comprender los conceptos fundamentales de la criptografía, como cifrado
simétrico y asimétrico, funciones hash, firmas digitales, etc., será beneficioso.
Importar las librerías necesarias: Para trabajar con criptografía en Java,
necesitaremos importar las clases del paquete javax.crypto. Esto se hace al
principio de nuestro archivo Java.
Generación de una clave simétrica: Para cifrado simétrico (como AES),
necesitamos generar una clave secreta. Aquí está un ejemplo básico.
Creación de un objeto Cipher para cifrar y descifrar: Utilizamos la clase Cipher
para realizar operaciones de cifrado y descifrado
Cifrado de datos: Para cifrar datos con la clave generada.
Descifrado de datos: Para descifrar los datos cifrados.
Es recomendable también seguir las prácticas de seguridad recomendadas y
comprender las necesidades de seguridad de la aplicación para elegir y aplicar los
algoritmos y métodos adecuados. Además, Java ofrece librerías adicionales y
métodos para trabajar con firmas digitales, funciones hash, generación de claves
asimétricas, entre otros aspectos clave de la criptografía moderna.
➔ Creamos un formulario con ayuda de Java, donde vemos los labels y caja de
textos de usuario y contraseña.
Para acceder: Se toma la información que se encuentra en JtextField y se almacena
en variables que irán a las demás funciones. Igualmente ejecuta las funciones que
se encargan de hacer el proceso de encriptación de la información.
La función Encode se encarga de encriptar la información que es recibida por
parámetro, los parámetros corresponden al usuario y clave. El usuario es el dato
que se recibe por parámetro el cual se encripta y se almacena en un vector. Se usa
la Clase MessageDigest para encriptar la llave el cual es recibido por parámetro el
cual es almacenado en un array.
La función encode toma un mensaje como entrada, lo cifra y devuelve el mensaje
cifrado como una cadena Base64.
3
Mientras la función Decode, Se utiliza para desencriptar la información que ha sido
encriptada en la función ecode , el proceso que se realiza e igual a de encriptar, solo
que cambiamos el orden de los procesos realizados, es decir; la información se
recibe por parámetros, usamos el Cipher que se encarga de desencriptar usando
DECRYPT_MODE.
Pantallazos:
4
5
6
Conclusión
La programación en Java ofrece una amplia gama de herramientas y librerías para
trabajar con criptografía de manera segura y eficiente. Al utilizar la librería estándar
javax.crypto, los desarrolladores pueden implementar algoritmos criptográficos
sólidos y protocolos de cifrado reconocidos para proteger la confidencialidad y la
integridad de los datos.
Al programar aplicaciones de criptografía en Java, es crucial seguir las mejores
prácticas de seguridad, como el manejo adecuado de claves secretas, el uso de
vectores de inicialización, y la gestión segura de datos cifrados y descifrados.
Además, es importante tener en cuenta que la seguridad de una implementación
criptográfica no solo depende del algoritmo utilizado, sino también de la correcta
implementación de todo el sistema.
Referencias
Referente de pensamiento areandina eje 3.(2024)
https://areandina.instructure.com/courses/45213
Atincoder. (2012, 11 julio). Tutorial encriptación básica para novatos(utilizando java)
[Vídeo]. YouTube. https://www.youtube.com/watch?v=bJ6mbFLupQc
L-Code. (2020, 13 diciembre). Encriptar y des-encriptar cadenas con el método AES en Java
☕️ NetBeans 12.2 💻 [Vídeo]. YouTube.
https://www.youtube.com/watch?v=E0T7-fXUM3c