Implementacion de Algoritmos de Criptografia Semana 3

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

IMPLEMENTACION DE ALGORITMOS DE CRIPTOGRAFIA

JEYNNER BAUTISTA LOZADA

ESTUDIANTE CURSO CRIPTOGRAFIA

SEMANA 3

FABIAN VALERO DUQUE

DOCENTE

ESPECIALIZACIÓN SEGURIDAD INFORMÁTICA

UNIVERSIDAD CORPORACION UNIVERSITARIA MINUTO DE DIOS

JUNLIO 28 DE 2024
1. Explique cómo se utilizan los algoritmos de hash en el ámbito de la
criptografía.

Una función de hash en criptografía es un identificador para cualquier contenido por lo


general mensajes, también es un proceso que toma mensajes de texto plano de cualquier
tamaño y los convierte en un texto cifrado de una longitud especifica, de igual manera
conocemos que un algoritmo es criptográfico son operaciones matemáticas que se emplean
para cifrar y descifrar información estando ambas ligadas entre ellas, dentro de los
algoritmos de hash en el ámbito de la criptografía igual mente podemos recordar que la
criptografía basada en hash crea algoritmos de firma digital cuya seguridad se basa
matemáticamente en la seguridad de una función hash criptográfica seleccionada.

Estas son algunas de las funciones hash criptográficas más comunes, son SHA2, SHA3 o
Blake2, producen compendios de entre 256 y 512 bits.

Entre las muchas y diferentes formas de crear hashes, el algoritmo SHA2-256 es uno de los
más usados gracias a su equilibrio entre seguridad y velocidad, es un algoritmo muy eficiente
y tiene una alta resistencia a colisiones, algo muy importante para mantener la seguridad de
este algoritmo de hash. Para que un algoritmo hash sea seguro, no se deben conocer colisiones.
Por ejemplo, el método de verificar los Bitcoins está basado en SHA2-256.

SHA3 Este nuevo algoritmo de hash se basa en la «construcción de esponjas». La


construcción de esta esponja se basa en una función aleatoria o permutación aleatoria de datos,
permite ingresar cualquier cantidad de datos y generar cualquier cantidad de datos, además, la
función es pseudoaleatoria con respecto a todas las entradas anteriores. Esto permite a SHA-3
tener una gran flexibilidad, el objetivo está en sustituir a SHA2 en los típicos protocolos TLS o
de VPN que utilicen este algoritmo de hash para comprobar la integridad de los datos y la
autenticidad de los mismos (maillo, 2017).

El uso principal de los algoritmos hash es la protección de contraseñas para evitar


guardarlas o almacenarlas en texto claro , de tal manera que para hacer uso de un algoritmo
hash se puede hacer para comprobar que hemos guardado una clave correctamente , se
guarda el hash de la clave y se aplica el algoritmo a la contraseña introducida y se compara
con la almacenada, si es igual la clave es correcta pero si la clave es diferente la clave es
incorrecta, esto se puede utilizar en todos los sistemas operativos , webs con autenticación
de usuario / clave. Los algoritmos son una pieza importante para aplicaciones y sistemas en
la actualidad y también tienen un impacto considerable en estos y por lo general se utiliza
para convertir datos de entrada en representaciones de tamaños fijos lo que los hace útiles
para la verificación de tareas y detección de intrusos

El rendimiento de estos depende de varios factores, entre ellos el tamaño de los datos de
entrada, el algoritmo que utilizamos y la capacidad de procesamiento que tenga el hardware
empleado. Cuanto más complejos sean los algoritmos hash, mayor impacto tendrán en el
rendimiento.

Como decimos, uno de los factores más importantes es la velocidad a la cual el sistema es
capaz de realizar el cálculo del hash. Estos deben ser lo suficientemente rápidos como para no
originar un cuello de botella, tanto en las aplicaciones como en los sistemas que se emplean.
La gran mayoría de estos algoritmos, están especialmente diseñados para poder ser rápidos y
eficientes. Pero, aun así, pueden afectar al rendimiento en muchas situaciones diferentes.

Los datos de entrada también son importantes, ya que cuanto mayor sea el conjunto que se
debe procesar, más tiempo tardará en realizar todo el cálculo del hash. Esto en muchas
ocasiones puede ser un gran problema, debido a que cada vez las aplicaciones y sistemas
deben lidiar con mayores cantidades de datos en tiempo real. Como la tan conocida minería de
criptomonedas, donde los hashes se calculan de forma constante. En cuanto a la memoria,
también se deben cumplir unos requisitos. Por lo general los algoritmos más complejos
pueden requerir cantidades de memoria mayores para poder ser procesados en caché. Lo cual
aumenta el coste del hardware de forma considerable, ya que muchas veces es necesario para
adaptarse a los requerimientos de un sistema (lopez, 2024).

2. Exponga las propiedades y los elementos que caracterizan a la criptografía


basada en hash.

A continuación se relacionan algunas de sus propiedades principales y características de esta


manera, resulta más sencillo entender a fondo qué es una función hash criptográfica:
Por esto mismo, estos son los rasgos clave que todos los buenos hashes comparten, y las
resumimos a continuación:

 Determinismo: un algoritmo hash debe ser determinista, lo que significa que siempre
le brinda una salida de tamaño idéntico, independientemente del tamaño de la entrada
con la que comenzó, esto significa que, si está codificando una sola oración, la salida
resultante debe ser del mismo tamaño que la que obtendría al codificar un libro
completo.

 Resistencia previa a la imagen: la idea en este punto, es que un algoritmo hash fuerte
es uno que es resistente a la imagen previa, lo que significa que no es factible invertir
un valor hash para recuperar el mensaje de texto sin formato de entrada original, por lo
tanto, el concepto de hash es irreversible, tiene funciones unidireccionales.

 Resistencia a la colisión: una colisión ocurre cuando dos objetos chocan. Bueno, este
concepto se traslada a la criptografía con valores hash, si dos muestras únicas de datos
de entrada dan como resultado resultados idénticos, se conoce como colisión. Esta es
una mala noticia y significa que el algoritmo que está utilizando para codificar los
datos no funciona y, por lo tanto, es inseguro, básicamente, la preocupación aquí es
que alguien podría crear un archivo malicioso con un valor hash artificial que coincida
con un archivo genuino (seguro) y hacerlo pasar por real porque la firma coincidiría,
por lo tanto, un algoritmo hash bueno y confiable es aquel que es resistente a estas
colisiones.

 Efecto de avalancha: lo que esto significa es que cualquier cambio realizado en una
entrada, sin importar cuán pequeño sea, dará como resultado un cambio masivo en la
salida, esencialmente, un pequeño cambio (como agregar una coma) se convierte en
algo mucho más grande, de ahí el término » efecto avalancha «.

 Velocidad hash: los algoritmos hash deben funcionar a una velocidad razonable, en
muchas situaciones, los algoritmos hash deberían calcular los valores hash
rápidamente, esto se considera una propiedad ideal de una función hash criptográfica,
sin embargo, esta propiedad es un poco más subjetiva. Verás, más rápido no siempre
es mejor porque la velocidad debe depender de cómo se utilizará el algoritmo hash, a
veces, lo que se desea es un algoritmo hash más rápido, y otras veces es mejor usar
uno más lento que tome más tiempo para ejecutarse, el primero es mejor para las
conexiones a sitios web y el segundo es mejor para el hash de contraseñas.

 El tamaño: uno de los primeros aspectos que hay que tener en cuenta que cada uno de
los hashes criptográficos que se lanzan por cada función tienen la misma longitud, es
decir, siempre tienen el mismo tamaño. En caso de ser más largo su código, lo cierto
es que será más complejo y de ahí se entiende que su nivel de seguridad sea superior.

 ¿Reversible o no?: otra de las propiedades importantes de las funciones hash es que
no son reversibles. Esto quiere decir que aunque se pueda conocer el hash de un
documento en particular, no se podrán conocer los datos a partir del hash en sí. Por
esto mismo, uno de los usos de estas funciones pasa por guardar contraseñas.

 Siempre da el mismo valor como resultado: es imposible, matemáticamente


hablando, que dos archivos distintos puedan tener el mismo hash. Por esto mismo, hay
que tener claro que el mismo mensaje siempre dará como resultado el mismo valor
hash. De ahí que se usen como huellas digitales informáticas en profesiones como
análisis forenses o similar (lopez, 2024).

3. Describa los propósitos y procesos que rigen la lógica de los algoritmos


de hash.

El proceso de hashing se compone de tres elementos:

 Función hash: la función hash suele ser un algoritmo criptográfico que


descompone completamente datos de diferentes longitudes, los resuelve y los
transforma en cadenas siempre de la misma longitud. Estos valores hash son
significativamente más cortos y compactos que los valores originales.
 Valor hash: los valores hash son el resultado de la función hash. En el contexto del
método hash utilizado, siempre tienen una longitud fija de caracteres
hexadecimales, a diferencia de los valores originales. La longitud fija de los valores
hash depende del método empleado.
 Tablas hash: los valores hash pueden almacenarse como tablas hash en bases de
datos. Estas requieren mucho menos espacio que el almacenamiento de los registros
de datos originales. Para crearlas, los registros de datos reciben valores de índice
específicos a través del hashing, que indican dónde se encuentra el registro de los
datos. De esta forma, se reduce significativamente el tiempo de procesamiento y la
potencia de cálculo en la búsqueda de información.

El funcionamiento del hashing se basa en cinco propiedades características que garantizan


la seguridad y la fiabilidad:

 Determinismo: la función hash debe generar siempre un valor hash de longitud fija
y corta independientemente de la longitud de las diferentes entradas.
 No legible: el hashing transforma los valores originales en valores hash, que no se
pueden leer directamente. No debe haber forma de descifrar el valor hash en el
sentido clásico y generar el texto o cadena original a partir de él.
 Seguridad contra colisiones de valores: no se debe asignar el mismo valor hash a
diferentes entradas. Si dos valores originales reciben el mismo valor hash, hay una
colisión. Los valores hash distintivos y únicos reducen los puntos de ataque y
aumentan la seguridad. Sin embargo, dependiendo de la aplicación, puntualmente se
puede buscar una colisión.
 Continuidad o no continuidad: en principio, los valores hash ofrecen mayor
seguridad si son no-continuos, es decir, si diferentes conjuntos de datos originales
reciben valores hash lo más diferentes posible. El uso de valores hash continuos, por
otro lado, es preferible cuando el hashing se utiliza para gestionar conjuntos de datos
y entradas similares.
 Velocidad: el hashing no solo permite una mayor seguridad, sino también un acceso
más rápido a las bases de datos (IONOS, 2023).

4. Analice la aplicación de un algoritmo de hash a partir de un contexto


organizacional de cualquier tipo, abordando alcances, resultados y limitaciones

De acuerdo a esto y la funcionalidad del hashing quedan especialmente claras con la ayuda
de varios casos de uso y áreas de aplicación. Las áreas típicas de aplicación son:
 Creación de tablas hash
 “Encriptación” de datos importantes
 Búsqueda de duplicados
 Sumas de comprobación y firmas digitales
 Búsqueda de datos similares
 Sistemas de autenticación
 Caching

Gestión de bases de datos


El hashing ofrece la ventaja de que grandes cantidades de datos pueden almacenarse de
forma más compacta y eficiente en forma de tablas hash. Para ello, las cadenas de
caracteres se combinan como tabla hash en la base de datos en una dirección y bajo una
posición concreta con valores hash. Esto ahorra memoria, aumenta la seguridad de las bases
de datos y acelera la búsqueda de entradas específicas en la tabla hash. Los valores hash y
las tablas hash optimizan la organización y la gestión de las infraestructuras de índices y
datos.

las bases de datos de clientes suelen incluir información importante como nombres, datos
de contacto o direcciones. Si hay que buscar información específica en una base de datos,
una búsqueda regular llevaría mucho tiempo. Esto se debe a que habría que escanear toda la
base de datos en busca de los valores buscados. Sin embargo, mediante el hashing se
pueden formar bloques de datos con una posición y dirección específica en la base de datos.
Así, durante el proceso de búsqueda, el ordenador salta inmediatamente a la posición a la
cual se puede dirigir el valor hash asociado en una tabla hash.

Firmas digitales y sumas de comprobación


El hashing también juega un papel importante como método de autenticación. Por ejemplo,
se utiliza para crear firmas digitales, las llamadas huellas digitales. De esta forma, es
posible confirmar la integridad de la comunicación entre el emisor y el receptor. Asimismo,
también se pueden vincular las contraseñas con un valor hash al crear una nueva cuenta de
usuario. Cada vez que se quiere iniciar sesión en la cuenta, la contraseña introducida se
convierte en hash y se compara con el valor hash almacenado. En un proceso de
recuperación de contraseña, se generará también un valor hash para la nueva clave.

las firmas digitales pueden utilizarse para comprobar si los mensajes, las descargas o
incluso las páginas web son seguras. Para ello, los remitentes generan valores hash a partir
de los mensajes o proporcionan un valor hash al descargar un programa. Los destinatarios,
a su vez, también generan un valor hash con la misma función hash. Este se compara con el
valor hash suministrado, normalmente encriptado. Un claro ejemplo de ello es el
cifrado SSL y TLS de Internet. En este caso, el servidor web envía el llamado certificado de
servidor al navegador. El hashing genera una clave de sesión a partir del certificado, que el
servidor recibe, descifra y confirma. Tras la autenticación, se produce el tráfico de datos
HTTPS. El SFTP funciona de forma similar.

Contraseñas y otros datos sensibles


incluso el almacenamiento de contenidos diversos, como textos o archivos de audio y
vídeo, puede ser más seguro gracias al hashing. Las estructuras binarias de los archivos se
transfieren a valores hash compactos que pueden utilizarse para referenciar el bloque de
datos correspondiente. Dado que los valores hash están vinculados a la posición de la base
de datos, los datos buscados no solo pueden encontrarse más rápidamente, sino que también
son ilegibles para los atacantes sin la clave correspondiente y no pueden transferirse a la
forma original (IONOS, 2023).
BIBLIOGRAFIA

IONOS, E. e. (22 de 02 de 2023). PROCESOS DE APLICATIVO HASH. Recuperado el 28


de 07 de 2024, de IONOS:
https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/hashing/

lopez, a. (16 de mayo de 2024). algoritmos hash. Recuperado el 28 de julio de 2024, de


redes zone: https://www.redeszone.net/tutoriales/seguridad/criptografia-algoritmos-
hash/

maillo. (2017). sistemas seguros de acceso y trasmision de datos. 28 de julio de 2024, de


El libro: https://elibro.net/es/ereader/uniminuto/106503?page=1

También podría gustarte