Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Hash

Criptografía (CCCXXIV): Crypto (II)

'Crypto'  es un pequeño desarrollo , que estoy realizado en python utilizando tkinter como interfaz gráfico de usuario (GUI),  sobre criptografía, criptoanálisis, codificación, hashes y  utilidades relacionadas . Esta entrada se refiere a la segunda versión , que, además de todas las funcionalidades contempladas en la primera, incorpora nuevos criptosistemas clásicos y unos pocos modernos, codificación mediante diversos códigos, cálculo de hashes y nuevas utilidades. Todavía quedan muchas cosas por implementar, que se irán incluyendo en versiones posteriores. Descargar Crypto v2.0: Nota : para que los cifrados  y los códigos con símbolos funcionen correctamente es necesario  instalar las fuentes que se proporcionan en la carpeta '/recursos/fuentes'; clic del boton derecho sobre el archivo de la fuente a instalar y clic sobre la opción 'Instalar'. Quizás también te interese :

Criptografía (CCLXXXVIII): Descifrado y verificación firma digital ElGamal en python

En un  post anterior  puse un script  en python para  implementar la firma digital y el cifrado  con el  esquema de firma digital   y el   esquema de cifrado   ElGamal, respectivamente , y en éste  incluyo otro  script en python para  implementar el descifrado y la verificación de la firma digital  con esos mismos esquemas, e s decir, para las operaciones  que se realizan en la comunicación en el lado del receptor. Antes  de ver el script, creo que conviene recordar cómo se realizan dichas operaciones , para lo que recomiendo leer  este post  en el que expliqué este asunto referido al caso de RSA , pero que es lo mismo para el caso de aplicar los esquemas de  firma digital   y de   cifrado   ElGamal. El script que pongo a continuación implementa las operaciones  de descifrado de la clave de sesión   mediante el esquema de cifrado ElGamal   y el descifrado del texto en ...

Criptografía (CCLXXXVII): Firma digital y cifrado ElGamal en python

Continúo poniendo scripts de programación en python para automatizar tareas que tengan relación con la  criptografía . En este post incluyo un  script en python para  implementar la firma digital y el cifrado con el  esquema de firma digital   y el   esquema de cifrado ElGamal . Antes de poner el script, recordar que en  este post  referido a  RSA , decía que   l os esquemas modernos de cifrado utilizan conjuntamente los conceptos de   clave pública   y   clave privada , es decir, el mensaje o archivo completo se cifra con un algoritmo de  clave privada o simétrica  (por ejemplo,  AES ) y luego la clave empleada en ese cifrado (clave de sesión), a su vez, se cifra con un algoritmo de  clave pública o asimétrica  (por ejemplo,  RSA ): Por tanto, como se ve en la figura anterior, el texto en claro se cifra mediante una clave de sesión, un número correspondiente a cada mensaje particular, y la c...

Criptografía (CCLXXXVI): Esquema de firma digital ElGamal

En un post anterior traté sobre el algoritmo de cifrado ElGamal y en esta entrada voy a explicar el esquema de firma digital ElGamal , propuesto también por el criptógrafo egipcio Taher Elgamal en 1984. Como en el caso de RSA, ya expliqué en este post cómo se firma y verifica la firma en ese criptosistema , el emisor del mensaje firma un hash del mensaje con su clave privada y el receptor verifica la firma utilizando la clave pública del emisor , con lo que se pretende garantizar tanto la autenticidad del mensaje como su integridad,  es decir, tanto que la persona que lo ha enviado es el emisor legítimo (es quien dice ser) como que el mensaje no ha sido interceptado y alterado por un tercero. Los protocolos de firma digital y verificación de la firma digital utilizando este esquema de firma son los siguientes : Protocolo de firma digital : 1.- Para firmar digitalmente un mensaje ( ' M' )  el emisor obtiene un resumen del mismo mediante una función hash , h(M) ; de t...

Criptografía (CXCV): Solución Reto Brixel CTF 2020 "Don't be salty"

En este post pongo la  solución a uno de los retos de la categoría  'Cryptography'   de Brixel CTF 2020 , competición en modalidad  'on-line'  , estilo CTF (del inglés,  'Capture the Flag' ) y formato  'Jeopardy' . Los retos incluidos en dicha categoría en esta competición presentaron, a mi juicio, un nivel muy bajo de dificultad. Quizás el único un poco más difícil de resolver es el que es objeto de esta entrada, que  lleva por título " Don't be salty"  y que , en mi opinión, presenta un  nivel de dificultad bajo ( ★ ★ ☆☆☆ ) . Enunciado: Solución: En este reto se podía obtener una pista a cambio de 5 puntos, pero no me hizo falta, ya que por el formato del hash que se proporciona (valores hexadecimales y longitud de 32 dígitos, o, lo que es lo mismo, 16 bytes o 128  bits) enseguida sospeché que se trataba de un hash MD5 . Además, en el enunciado se indica la Sal (del inglés, 'Salt' ) utilizada y que ésta se puso después de la ...

Criptografía (CLXVIII): Solución Reto FreeHackQuest "Keyboard password"

Comienzo con éste una serie de posts  en los que pondré las soluciones  de algunos de los  retos de la plataforma FreeHackQuest ; en esta primera entrada un desafío bajo la etiqueta 'hashes' . Al igual que para los retos de este tipo de otras plataformas, los resolveré mediante scripts de python y/o la utilización de alguna herramienta. El primero de estos retos tiene por título "Keyboard password"  y, e n mi  opinión,  presenta un nivel de dificultad bajo ( ★ ★ ☆☆☆ ) . Su  enunciado  dice lo siguiente:  ' We know which keys pressed user for password and we have MD5-sum by password, please got password. Hash: d377e0079ee9e94fc69336a01630b041 ' . Como pistas ( 'Hints' ) se dan las siguientes: "Hint 1: Keyboard is english. Hint 2: Without 'shift'. Hint 3: Password has 8 characters. Hint 4: sometimes where you see 'n' possible key 'm' in another keyboards. I hope this give you shans to be successfully" . ...

Criptografía (CLXVI): Solución Reto id0-rsa "Easy Passwords"

En este post la  solución  de otro de los  retos de la plataforma  id0-rsa , dedicada exclusivamente a desafíos de criptografía, y que figura en ella  bajo el  'Tag'   'Hashing' . En este caso lo voy a resolver sólo mediante una herramienta. El reto en cuestión tiene por título "Easy Passwords"  y, e n mi  opinión,  presenta un nivel de dificultad medio ( ★ ★ ★ ☆☆ ) . Su  enunciado  dice lo sigu iente: 'Warm up with some easy password cracking ' , y se proporciona lo siguiente: $1$abadsalt$0abdVS0D4YnJJ4b7l0RRr1 $1$abadsalt$p394aiqZnKUyrO5Rg9Tf01 $1$abadsalt$cJYsdaTkB9F9L9yH2Qjtd. $1$abadsalt$lFZDGpRdmOwRbu6HWuqjv0 $1$abadsalt$1AI/LbmumKa5e6dOxiVe11 $1$abadsalt$e2hAp/NXE.Uezx3ZOwA5L0 $1$abadsalt$Cua6x6Rgd8UUHn7Mnzibj. $1$abadsalt$7XBxlsUB3yXcL62wQpgjK/ $1$abadsalt$DnSSAXOSmaoAAhN4WKaU90 $1$abadsalt$Cua6x6Rgd8UUHn7Mnzibj. $1$abadsalt$7wLTt8frOzyxahbB9Lzdi. Solución : JohnTheRipper : Lo que se proporciona...