Actividad Evaluativa EJE 3
Criptografía y Mecanismos de seguridad
Carlos Andres Ramirez Lopez
Fundación Universitaria del Área Andina
Ingeniería de Sistemas
Calculo Integral
Helber Baez Rodriguez
Bogotá D.C
2022
TABLA DE CONTENIDO
INTRODUCCIÓN ................................................................................................................ 3
OBJETIVO ........................................................................................................................... 4
DESARROLLO ACTIVIDAD ............................................................................................ 5
CONCLUSIONES .............................................................................................................. 10
INTRODUCCIÓN
En el desarrollo de la actividad se identificarán las técnicas de cifrado y se pondrán en
ejecución las mismas, para salvaguardar de manera efectiva la información en este caso de
un usuario y contraseña, en el proceso se comprenderán y se pondrán a pruebas los términos
de Cifrado simétrico y asimétrico para entender de manera gráfica y empírica como se puede
cifrar la información de un usuario y contraseña, este proceso se explicará de manera general
a través de un programa ejecutado en el lenguaje de programación c# con el framework .net
arquitectura web forms.
OBJETIVO
Elaborar un programa en este caso con c# haciendo uso de clases criptográficas para cifrar
contraseña y usuario de manera simétrica y asimétrica según el protocolo elegido para tal
fin.
DESARROLLO ACTIVIDAD
Para el desarrollo de esta actividad, se realiza un programa con el lenguaje de desarrollo c#
con el framework . net web forms en la cual haremos uso de las clases criptográficas para
realizar la encriptación de manera simétrica y asimétrica.
Los tipos de encriptación utilizados para este ejercicio son SHA256 , el cual se basa en la
construcción de una serie de funciones criptográficas de un solo canal el cual solo puede ser
encriptado mas no desencriptado, es decir la única manera de desencriptarlo, es guardar el
hash creado en un diccionario de datos, ya que el mas mínimo cambio en la estructura a
encriptar con este método generara un nuevo hash.
RSA Rivert-Shamir-Adleman
Es un cifrado asimétrico es decir utiliza una clave privada para desencriptar y una publica
para encriptar. Utiliza la factorización del producto de dos números primos para ofrecer un
cifrado de 1024 bits y una longitud de cadena de hasta 2048 bits,el proceso de cifrado y
descifrado es lento por la complejidad que maneja la encriptación sin embargo, el nivel de
seguridad que proporciona es incomparable.
Figura 1. Vista inicial programa
Vista inicial programa
Debemos estipular el usuario y contraseña a encriptar para ver dicha encriptación, en este
caso para el campo “username” se encriptará con el cifrado asimétrico RSA y el campo
“password” con el método de cifrado simétrico SHA256.
Se crean dos métodos principales uno para encriptar el campo “password” denominado
“GetSHA256(string pass)”, el cual se encargará de cifrar la información digitada en el
campo.
Figura 2. Metodo encriptación sha256
El otro método denominado “encriptRsa(string text,bool action)”, este tiene como
argumentos o parámetros dos variables los cuales son: el texto a encriptar y la acción a
realizar es decir si el parámetro “action” se envía en true este encriptara y si se envía en
false este desencriptara.
Figura 3.Metodo encriptación RSA
Internamente sobre este se mismo método ejecutan tres métodos, el primero denominado
generar llaves() se encarga de realizar la importaicon de la llave pública y privada para
dicha encriptación.
Figura 4. Método importar llaves
Los otros dos métodos luego de la importación de las llaves se encargan de realizar dicha
importación y encriptación/desencriptación según la necesidad o acción ejecutada.
Figura 5. Métodos encriptación y desencriptación RSA
Ya teniendo claro de manera general la construcción de los métodos de encriptación
ejecutaremos el código para así observar el funcionamiento del ejercicio realizado.
Figura 6. Diligenciamiento campos a encriptar
Daremos clic en el botón “send”, para así observar la encriptación a realizar.
Figura 7. Ejecución encriptacion.
Una vez se da clci en el botón “send” este realizara la ejecución a través del bloque de código
que se observa en la figura 7. Como se observa primero valida que estén los dos campos con
información y si cumple la condición realiza la habilitación y encriptación respectivamente.
Figura 8. Texto encriptado correctamente.
Y como se observa en la captura adjunta el programa realiza la encriptación de manera
esperada según el topo de cifrado seleccionado para cada uno de los campos, también si
observamos habilito un nuevo botón el cual se le denomino “decryptRSA”.Que se encargara
de desencriptar el campo de “username” encriptado bajo este tipo de cifrado, si el usuario lo
desease observar solo debe dar clic sobre este para observar la acción.
Figura 9. Desencriptar RSA
Una vez se da clic sobre el botón, nos solicita confirmar si deseamos desencriptar la cadena
le daremos clic en “yes”, para ahora si observar la acción.
Figura 10. Texto desencriptado
Y como se observa en la figura 10, el texto fue desencriptado de manera esperada brindándole
al usuario la oportunidad de observar como funcionan estos dos métodos de encriptación y
así entender su importancia en la utilización y uso respectivo.
CONCLUSIONES
En el desarrollo de la actividad se comprenden y se obtienen los conocimientos necesarios
para poder comprender de manera teórica y empírica el uso de estos mecanismos de cifrado
así mismo como su importancia en cuanto al manejo a su seguridad en el uso y utilización de
los mismos.
REFERENCIAS Y BIBLIOGRAFIA
Tipos de cifrado: ¿Simétrico o asimétrico? ¿RSA o AES? (2022, April 22).
Preyproject.com. https://preyproject.com/es/blog/tipos-de-cifrado-simetrico-o-
asimetrico-rsa-o-aes
Maldonado, J. (2020, April 28). ¿Qué es SHA-256? El algoritmo criptográfico usado por
Bitcoin. Cointelegraph. https://es.cointelegraph.com/explained/what-is-sha-256-the-
cryptographic-algorithm-used-by-bitcoin