SHA-2
El algoritmo SHA-2 es la versión posterior del SHA original, el cual se encargaba de cifrar datos con el objetivo de dotar cierta seguridad.
En otras palabras, el Secure Hash Algorithm (SHA), es un algoritmo que posee como tarea principal mediante función ‘hash’ dar seguridad a ciertas aplicaciones vía criptografía.
Este tipo de algoritmos son esenciales en nuestro día a día. Nos permite desde enviar mensajes de texto con cierta seguridad, hasta navegar por internet sin tener tu identidad expuesta del todo.
Un ejemplo con las aplicaciones Whatsapp o Telegram, las cuales presumen de tener los mensajes cifrados de extremo a extremo. Esto quiere decir, en la práctica, que el mensaje que nosotros enviamos se cifra con un código totalmente distinto a lo que nosotros hemos escrito. Una vez que finalmente llega al destinatario, es cuando se vuelve a descifrar ese código en nuestro mensaje inicial.
Función hash
Se trata de dar un valor distinto y sin relación alguna a un dato o conjunto de datos de cualquier tipo. Así, si alguien intercepta el mensaje, no sabrá con qué tipo de datos está tratando.Este tipo de seguridad digital se le denomina funciones hash criptográficas, ya que la función hash lo que hace es transformar los datos o conjunto de datos con valores que, a priori, no nos den indicios de qué son.
Aclarar, que los archivos con extensión xlsx son en realidad archivo Excel, los terminados en pdf son documentos PDF y los que poseen jpg son imágenes. Luego, la función no solo evita que sepan qué son, sino en qué formato se envían los datos.
SHA y sus variantes
Los algoritmos SHA poseen varias variantes, las cuales la gran mayoría han sido desarrolladas por la NSA (National Security Agency) de EEUU.
En este aspecto, la primera en dar el salto de forma general fue el SHA-1, el cual estuvo presente de una forma u otra en prácticamente la totalidad del ecosistema digital de la época (1990-2010).
Más tarde surgiría el SHA-2, que es el algoritmo que nos ocupa. El SHA-2 está desarrollado para mejorar ciertos defectos del SHA-1. Aunque el verdadero detonante de su expansión fueron los continuos ataques informáticos que se daban estando presente el algoritmo SHA-1. Estos ataques, a menudo, final tenían éxito.
Uno de los principales problemas que posee el SHA-1 es de las denominadas ‘colisiones’. Las cuales consisten en dotar del mismo valor a un mismo dato o conjunto de datos. En otras palabras, se trata de cifrar con el mismo código a un archivo Excel o a un archivo Word.
En la actualidad este algoritmo sigue siendo una garantía de seguridad y no se han encontrado grietas importantes ni fallos generalizados que lo expongan.
Finalmente, en el año 2015 se presentó el algoritmo SHA-3, el cual a diferencia de sus predecesores, es hasta cierto punto independiente en su desarrollo. Es decir, si SHA-2 es el sucesor del SHA-1, el SHA-3 no tiene ese estatus con el SHA-2, es totalmente distinto.
El SHA-3 está concebido con el objetivo de poder soportar ataques a nivel cuántico, ya que el futuro de la tecnología se basará en esta rama aún sin explotar, y con un sinfín de posibilidades y potencial.
Ejemplos de aplicaciones con SHA-2
Algunos casos que se pueden destacar del uso de este tipo de algoritmos son:
- Las direcciones IP.
- Los mensajes cifrados.
- Datos en la nube.
En primer lugar, las IP son algo así como nuestra identidad dentro de internet. Si cuando vamos por la calle un policía nos pide la cédula de identidad o el DNI, en internet esta cédula o DNI sería nuestra IP. Esta identidad puede ser enmascarada con los escudos VPN, los cuales nos dotan de otra IP, para ocultar además de nuestra identidad, nuestra ubicación.
En segundo lugar, y como ya se ha comentado, los mensajes cifrados consisten en codificar mensajes normales en valores aleatorios para después ser descifrados cuando el mensaje llega al destinatario. Este tipo de funciones están muy presentes también en los clientes de correo electrónico, tales como Gmail, Outlook o GMX.
En tercer y último lugar, las funciones de un algoritmo SHA también son aplicables a datos alojados en la nube. Consiste en el mismo sistema ya expuesto, ya que se les aplica el mismo protocolo criptográfico hasta que el usuario que intenta a acceder a ellos prueba que es el legítimo dueño de ellos.