jueves, 6 de febrero de 2014

Firma y verificación de archivos

Hoy vamos a ver como se firman y se verifican archivos:
El primer paso será crear dos archivos en este caso hemos creado 2 archivos de texto

Una vez que ya tenemos los documentos creados el siguiente paso es el de firmarlos para ello usaremos la siguiente linea de comandos.


Con el comando gpg --output doc.copi --detach-sig doc
                          gpg --output firma.copi --detach-sig firma

Con esto lo que conseguimos es firmar los archivos de tal forma que si fueran modificados y se quisieran usar en nuestro nombre gpg no dejaría usar dicho archivo en nombre de esa persona para comprobar esto una vez que ya tenemos los archivos creados lo que haremos será modificar uno de ellos.

A continuación dejo los siguientes archivos:
doc: Download
doc.copia: Download
firma: Download
firma.copia: Download

Ahora que ya tenemos creados los archivos vamos a verificarlos para ello usaremos la siguiente linea de comandos.

Yo para comprobarlo me e descargado los dos archivos  que mi compañero a creado y en las imágenes se puede observar como una de las firmas es correctas y la otra no lo es.

En las imágenes se ve claramente como el archivo POE ha sido modificado porque gpg no está diciendo que ese no es el archivo que se creó originalmente sino que ha sido modificado.
 En esta otra imagen vemos que por el contrario la firma es correcta por tanto este archivo podemos estar seguros de que es el que originalmente se creó y se firmó
Gracias a esto de firmar archivos nos aseguramos de que los archivos que nosotros firmemos no puedan ser modificados y en caso de ser así no puedan usar nuestra firma con fines maliciosos.

lunes, 3 de febrero de 2014

Cifrado y Descifrado de claves

Hoy veremos como se cifran archivos o documentos mediante el uso de las claves públicas
En primer lugar necesitamos conocer las claves públicas de la persona o personas a las cuales queremos enviar archivos o documentos cifrados para que así con su clave privada puedan descifrarlos.
Para conseguir estas claves existen unas páginas de alojamiento de claves públicas llamadas "Keyservers" esta pág es un ejemplo http://keyserver.ubuntu.com

Una vez que ya tenemos nuestras claves públicas mediante ellas vamos a cifrar un archivo para luego enviarlo y que la persona que nosotros queremos que lo reciba y solo esa persona pueda descifrarlo para ello tenemos que hacer lo siguiente.


Mediante el comando gpg --output Archivosecreto.dcp --encrypt --recipient ijimeneza01@informatica.iesvalledeljerteplasencia.es /home/agarciag01/Escritorio/Archivosecreto
lo que conseguimos es cifrar el archivo que se encuentra en la carpeta


  • gpg es el nombre del comando que usaremos para poder realizar el cifrado 
  •  Con el parámetro --output Archivosecreto.dcp le estamos indicando la salida y el nombre del archivo que se creará cifrado
  • El parámetro  /home/agarciag01/Escritorio/Archivosecreto nos indica en donde se encuentra el archivo que vamos a cifrar.
  • El parámetro --recipient ijimeneza01@informatica.iesvalledeljerteplasencia.es nos está indicando el id o datos de la persona dueña de la clave pública con la que vamos a cifrar. En caso de que hubiera más de un destinatario habría que poner --recipient delante de cada id
  • Con el parámetro --encrypt lo que hacemos es cifrar el archivo 


 Una vez que ya tenemos cifrado el archivo vamos a ver como se descifraría


Mediante el comando gpg -- decrypt /home/agarciag01/Descargas/hi.gpg lo que conseguimos es que el el documento indicado sea descifrado mediante nuestra clave privada si lo hemos hecho bien nos pedirá la contraseña de nuestra clave privada y si todo esta bien nos aparecerá en pantalla.

Existe también otro comando por el cual lo que conseguimos es que se cree un archivo ya descifrado en lugar de que aparezca en la pantalla, para ello escribiremos lo siguiente.


Con el comando gpg --decrypt /home/agarciag01/Descargas/hi.gpg>Archivo.txt gracias a este comando consigueremos que se cree un archivo con el nombre Archivo.txt que será el archivo descifrado.




viernes, 24 de enero de 2014

Firma de claves públicas


Hoy vamos a aprender a importar,exportar y a firmar claves públicas para ellos procederemos con los siguientes pasos

1º El primer paso de todos es exportar nuestra clave pública para ello ejecutaremos el siguiente comando

Con el comando gpg --list-keys obtenemos un listado con todas las claves públicas que disponemos cogeremos las nuestra en este caso Alvaro Garcia Garcia y a continuación la exportaremos para ello escribiremos el siguiente comando


Si todo a salido correctamente en nuestra carpeta de descargas aparecerá el archivo que hemos exportado

El siguiente paso es el de importar una clave pública que hemos obtenido de un foro para ello procederemos con la siguiente serie de comandos.


Con este comando lo que conseguimos es importar esta clave de la carpeta de descargas a nuestro anillo de llaves.

Para comprobar que esta clave pública es legítima tendremos que pasar por varios pasos
En primer lugar lo que haremos será editar la clave para ello escribiremos la siguiente secuencia.

Como podemos apreciar en la imagen observamos que pone que la confianza es desconocida con lo que no sabemos si es no la clave verdadera

Para comprobarlo haremos lo siguiente ya dentro de gpg escribiremos el siguiente comando


Lo que hemos conseguido con este comando es ver la huella digital de la clave pública ahora lo que tendríamos que hacer es de forma personal o por teléfono comprobar que la huella es correcta y no ha sido modificada o manipulada por agentes externos una vez hecho esto solo nos queda firmarla dándole credibilidad y confirmando así su veracidad para ello escribiremos lo siguiente.


Con el comando sign lo que hacemos es firmar como que estamos de acuerdo que la clave es segura para su uso


Una vez que introduzcamos el comando nos pedirá confirmación de que si queremos firmar o no si le damos a sí "s" nos pedirá una contraseña. Y ya esta ya tenemos nuestra clave pública firmada como que es legítima.


viernes, 17 de enero de 2014

Criptosistemas híbridos

DIAGRAMA DE CIFRADO DE UN CRIPTOSISTEMA HÍBRIDO



DIAGRAMA DE DESCIFRADO DE UN CRIPTOSISTEMA HÍBRIDO

En la primera parte vemos un diagrama en el que podemos observar como se cifra un documento o fichero mediante criptosistemas híbridos.

En este segundo apartado explicaremos la acción inversa es decir como descifrarlo.

  1. Recibimos el fichero que contiene en su interior un mensaje cifrado simétricamente con la clave de sesión y una clave de sesión cifrada asimétricamente
  2. Mediante nuestra clave privada desciframos la clave de sesión
  3. Con la clave de sesión obtenida anteriormente podemos descifrar el el mensaje que originalmente se cifró con la clave.
Gracias a este sistema lo que conseguimos es reducir significativamente el peso del documento o fichero ya que si lo cifrásemos únicamente mediante un criptosistema asimétrico su transporte sería muy lento y no sería asequible.

jueves, 9 de enero de 2014

Comprobación de redundancia ciclica


En esta ocasión vamos a aprender como podemos verificar si un archivo que hemos recibido a sido manipulado o no se ha recibido correctamente porque se a dañado, para ello dispondremos de una herramienta o bien a través de una pág online. En este caso usaremos la web

En esta web podemos subir un archivo y comprobar su redundancia cíclica de este modo podremos verificar si en verdad está intacto o a sido manipulado o esta corrupto. Bueno ya dejándome de tanta palabrería vamos a verlo con un ejemplo.

Hemos recibido esta fotografía y nos han dicho que su redundancia es la siguiente:


Mediante la pág que os he proporcionado anteriormente comprobamos su redundancia y vemos que no coincide  ya que la redundancia resultante de este proceso es la siguiente hex: 25c99920 Como podemos observar no es la misma redundancia que la que nos han mandado con lo que podemos deducir 2 cosas:
  • En primer lugar podríamos pensar que el archivo esta corrupto es decir mal descargado.
  • En segundo lugar podría ser que la foto hubiera sido retocada modificada y por tanto la redundancia no se correspondería al no ser el archivo original.
Bueno os diré que este archivo ha sido modificado y para demostrarlo lo veremos a continuación.


El punto que se observa arriba en la esquina izquierda de la imagen es suficiente para que la redundancia cambie por tanto con esto sabríamos con seguridad si el archivo o en este caso nuestra foto es la original o no.

Ahora supongamos que vamos a descargar el programa Gpg4win y queremos comprobar que realmente es dicho programa lo que nos vamos a bajar y no otro. En primer lugar nos vamos a la página web http://www.gpg4win.org/download.html que es donde lo descargaremos y en la misma podemos observar que la propia página nos proporciona una redundancia solo que en este caso no es CRC32 si no que es SHA-1 en este caso es 6FE64E06950561F2183CAACE409F42BE0A45ABDF. Una vez hemos descargado este programa necesitamos otro programa para comprobar que la redundancia es la misma y por ello el archivo es verdadero que no ha sido modificado ni que esta corrupto. Para ello descargaremos de esta página http://www.implbits.com/HashTab/HashTabWindows.aspx el programa hashtab. Una vez lo hemos instalado simplemente abrimos el archivo que sea con el botón derecho del ratón y nos vamos a propiedades, y dentro de propiedades nos aparecerá algo así.


Pues simplemente donde pone comprobación del Hash copiamos el SHA-1 que nos proporciona la página web y lo pegamos le damos a comprobar y si es correcto lo verificará con un tick y si no es correcto también nos lo indicará.







jueves, 28 de noviembre de 2013

Redundancia con paridad impar

Redundancia: La redundancia es una propiedad de los mensajes en los que se repiten los datos pero sin dar nueva información.


Paridad: Los códigos de paridad se usan en telecomunicaciones como método de detección y en algunos casos de corrección de errores en la trasmisión de datos. Consiste en añadir un 0 o un 1 a cada segmento de los que se compone la trama a enviar en función del número de 1 que contenga cada segmento.La posición  la determinará el protocolo


Existen dos tipos de paridad diferentes:

-Paridad Par: Cuando los 1 son pares colocaremos un 1 y cuando son impares un 0
-Paridad Impar: Cuando los 1 son pares colocaremos un 0 y cuando son impares colocaremos un 1

Enviamos un mensaje con una trama de 32 bits
Protocolo: La redundancia irá colocada en el medio del segmento y cada segmento estará formado por dos bits. La redundancia se calculará mediante paridad impar.

Trama enviada:

011000011000011011101000101101000011101000011110

Trama recibida:

El receptor del mensaje dividirá la trama en segmentos del tamaño acordado en el protocolo para nuestro caso será de 2 bits para cada segmento e identificará la parte del mensaje y la redundancia.

011 000 011 000 011 011 101 000 101 101 000 011 101 000 011 110

Aquí podemos observar que el bit de redundancia en color azul adopta la posición de 0 o 1 dependiendo del caso. esto depende de la regla que adoptemos que puede ser paridad par o paridad impar en este caso hemos elegido la paridad impar. 


Ahora el receptor debe recalcular la redundancia de cada segmento:


011 000 011 000 011 011 101 000 101 101 000 011 101 000 011 110

Una vez hecho esto compararemos la redundancia que ha recibido con la que ha calculado

Redundancia recibida Redundancia calculada Resultado de la transmisión
1
1
Correcto
0
0
Correcto
1
1
Correcto
0
0
Correcto
1
1
Correcto
1
1
Correcto
0
0
Correcto
0
0
Correcto
0
0
Correcto
0
0
Correcto
0
0
Correcto
1
1
Correcto
0
0
Correcto
0
0
Correcto
1
1
Correcto
1
1
Correcto

En este caso podemos observar que no existe ningún error en la transmisión.

Ahora veremos un ejemplo en el que el protocolo sea 4 bit por cada segmento y la redundancia va en el medio la paridad será impar.

Enviamos un mensaje con una trama de 52 bits


Protocolo: La redundancia irá colocada en el medio del segmento y cada segmento estará formado por cuatro bits. La redundancia se calculará mediante paridad impar.

Trama enviada:

01010011000101001111000111111000011110000011011110100101110100110

Trama recibida:

El receptor del mensaje dividirá la trama en segmentos del tamaño acordado en el protocolo para nuestro caso será de 4 bits para cada segmento e identificará la parte del mensaje y la redundancia.

01010 01100 01010 01011 00011 11110 00011 11100 00110 11110 10010 11101 00110

Aquí podemos observar que el bit de redundancia en color azul adopta la posición de 0 o 1 dependiendo del caso. esto depende de la regla que adoptemos que puede ser paridad par o paridad impar en este caso hemos elegido la paridad impar. 

Ahora el receptor debe recalcular la redundancia de cada segmento:

01010 01100 01010 01111 00011 11110 00011 11000 00110 11110 10010 11101 00110

Ahora compararemos la redundancia recibida con la recalculada

Redundancia recibida Redundancia calculada Resultado de la transmisión
0
0
Correcto
1
1
Correcto
0
0
Correcto
0
1
Error
0
0
Correcto
1
1
Correcto
0
0
Correcto
1
0
Error
1
1
Correcto
1
1
Correcto
0
0
Correcto
1
1
Correcto
1
1
Correcto

En este caso podemos observar que al recalcular la redundancia existían dos errores en la transmisión







miércoles, 20 de noviembre de 2013

Clasificación de los criptosistemas

Hola buenas aquí os traigo una clasificación donde encontrareis cada una de las características de algunos de los criptosistemas mas usados es una tabla de fácil entendimiento y comprensión en la que con unos cuantos datos podemos identificar los siguientes criptosistemas y bueno hasta la próxima espero que lo disfrutéis.

CLasificación de los Criptosistemas
Criterio
Criterio2
Criterio3
Criterio4
Utilización con claves
Tipo de transformacion que se realiza sobre el texto
Relación entre el alfabeto en claro y el alfabeto cifrado
Tamaño del bloque de cifrado
Con clave
Sin clave
Sustitución

Transposición

Heterogéneo

Homogéneo

Monográmicos

Poligrámicos
Simétrica
Asimétrica
Híbrida
Simple

Poli-Alfabetica
Cifrado de Atbash
Χ
Χ
Χ
√
√
Χ
Χ
Χ
√
√
Χ
Cifrado del César
√
Χ
Χ
Χ
√
Χ
Χ
Χ
√
√
Χ
Cifrado por clave palabra
Calidad de la clave
√
Χ
Χ
Χ
√
Χ
Χ
Χ
√
√
Χ
Cifrado por transposición por clave
√
Χ
Χ
Χ
Χ
Χ
√
Χ
√
Χ
√
Cifrado por Vigenére
√
Χ
Χ
Χ
Χ
√
Χ
Χ
√
√
Χ
Cifrado de Playfair
√
Χ
Χ
Χ
Χ
Χ
√
Χ
√
Χ
√
Trinity
Χ
Χ
Χ
√
√
Χ
Χ
√
Χ
√
Χ
Bífido
√
Χ
Χ
Χ
Χ
√
Χ
Χ
√
√
Χ
Trífido
Χ
Χ
Χ
√
Χ
√
Χ
Χ
√
√
Χ