Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Cifrado asimétrico

Criptografía (CCXCIII): Multiplicación escalar en una curva elíptica sobre un cuerpo finito ℤp en python

Continúo poniendo scripts de programación en python para automatizar tareas que tengan relación con la  criptografía . En el post anterior puse un script en python para implementar  la suma de dos puntos de una   curva elíptica   definida sobre un   cuerpo finito   ℤ p , y en éste  incluyo uno  que implementa la multiplicación escalar de un punto de una   curva elíptica   definida sobre el mismo tipo de cuerpo ; la operación que constituye la base de la Criptografía de Curva Elíptica (ECC) . E l   pseudocódigo  para implementar la multiplicación escalar es: -  Script python para implementar la multiplicación escalar de un punto de una curva elíptica definida sobre un cuerpo finito  ℤ p : El  script  es el siguiente: #!/usr/bin/env python # -*- coding: utf-8 -*- # MULTIPLICACIÓN DE UN PUNTO DE UNA CURVA ELÍPTICA (CE) POR UN ESCALAR: # # http://mikelgarcialarragan.blogspot.com/ import sympy def suma_puntos...

Criptografía (CCXCII): Suma de puntos de una curva elíptica sobre un cuerpo finito ℤp 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 que implementa la suma de dos puntos de una curva elíptica definida sobre un cuerpo finito   ℤ p . Ya expliqué en   este post  como se podía obtener el punto resultado de sumar dos puntos de una  curva elíptica  definida sobre los números reales mediante el llamado método de la cuerda y la tangente, y en esta entrada indico el algoritmo para hacerlo con las fórmulas matemáticas oportunas en una  curva elíptica  definida sobre un  cuerpo finito   ℤ p . E l   pseudocódigo  para implementar dicha suma es: -  Script python para implementar la suma de dos puntos de una curva elíptica definida sobre un cuerpo finito  ℤ p : El  script  es el siguiente: #!/usr/bin/env python # -*- coding: utf-8 -*- # SUMA DE DOS PUNTOS DE UNA CURVA ELÍPTICA (CE): # ...

Criptografía (CCXCI): Curva elíptica sobre cuerpo finito ℤp en python

Otro post con un script 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  obtener los puntos de una  curva elíptica  definida sobre un  cuerpo finito  del tipo  ℤ p y para obtener la representación gráfica de ambas curvas,  la definida sobre los número reales y la definida sobre el cuero finito  ℤ p . En el post anterior puse como ejemplo de lo anterior la curva sobre números reales que sirve para ilustrar este post: Y decía que  al definir la  curva elíptica   sobre un   cuerpo finito   se obtiene algo  que  se asemeja poco o nada a la representación gráfica de la curva sobre números reales, más bien  tiene el aspecto de un conjunto de puntos aleatorios , pero que todavía se puede observar la simetría . El  script  es el siguiente: -  Script python para la obtención y representación de los p...

Criptografía (CCXC): Criptografía de curva elíptica (ECC)

Tal y como nos cuenta wikipedia, la Criptografía de Curva Elíptica (ECC, por las siglas e n inglés de ' Elliptic curve cryptography ') es una v ariante  de la  criptografía asimétrica o de clave pública basada en las  matemáticas  de las  curvas elípticas  y se emplea para implementar algunos de los criptosistemas de este tipo ya existentes. Antes que nada, decir que sigo empeñado en compartir lo que voy aprendiendo sobre criptología de la forma más comprensible que pueda y esperando no equivocarme demasiado al contarlo, pero en este caso no sé si voy a ser capaz; la criptografía moderna tiene una profunda base matemática que supera con creces mi capacidad y talento (tal y como suelo decir, poco en ambos casos). Por tanto, fruto de ese empeño y de mi propia incapacidad, voy a evitar entrar en mayores profundidades matemáticas y a centrarme en lo que he entendido sobre el uso de estas curvas en la   criptografía , pero en este caso es inevitable un ...

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 ...