Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Julio 09, 2008, 11:10:33
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Phreaking, Hacking y Seguridad  |  HacK GeneraL  |  Encriptacion, Cryptografia  |  Tema: Criptografia Desde 0 phicar y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Criptografia Desde 0  (Leído 89 veces)
The Shadow
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 721


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« en: Junio 22, 2008, 02:21:01 »



Criptografia Desde 0




Bueno como el mismo titulo lo dice, tratare de poco a poco ir dando una instruccion y unas bases para que hacer en este mundo, es decir, metodos de cifrado, de desencriptacion, algoritmos, entre otros, no voy a decirles como es que hagan esto o tal otro, solo como que deben saber, que temas deben manejar para que a partir de lo que ustedes quieran eligan un camino, tratare de ser lo mas sencillo posible y avanzar despacio para no perder a nadie en el camino, entonces no diciendo mas empecemos con esto.


Para empezar necesitamos una definicion clara de que es criptografia, aqui la cito:

Citar
La criptografía es la ciencia que estudia la transformación de un determinado mensaje en un código de forma tal que a partir de dicho código solo algunas personas sean capaces de recuperar el mensaje original. En general se utiliza para ello una palabra clave o 'password' con la cual se cifra el mensaje, el código resultante solamente puede ser descifrado por aquellos que conozcan el password.

Espero que desde este momento ya tengan clara la definicion.




Otro factor que se debe tener en cuenta para empezar a trabajar con formulas criptograficas y algoritmos, son los algoritmos asimetricos o de llave publica, bueno
estos han demostrado su eficacia en entornos de comunicacion inseguros como Internet. Su novedad fundamental es que constan de una pareja de claves unicas, de la que una de ellas se hace publica, y la otra es privada para nosotros. Lo que se cifra con una, se descifra unicamente con la otra, y con este simple concepto jugamos.

Aqui les dejo un ejemplo que lo hice lo mas claro posible para que entiendan el proceso de cifrado.

Si A quiere mandarle algo cifrado a B, A le solicita su clave publica a B y cifra el mensaje con ella. De esta forma solo B podra tener acceso al contenido descifrandolo con su clave privada.

Si A quiere mandarle un mensaje m a B, pero B necesita asegurarse de que realmente viene de A, y que nadie a modificado su contenido, procedemos de la siguiente forma. A genera un hash del mensaje m, H(m), y lo cifra con su privada H(m)Ka. Esto es lo que se conoce como firma digital. Luego A manda el mensaje m, la firma H(m)Ka y su clave publica a B. B descifra H(m)Ka con la publica de A, genera un hash del mensaje original H2(m) y lo compara con el H(m). Si coincide es que todo esta bien.

Si no lo entienden, posteen la duda.




Otro concepto necesario es algoritmos simetricos o de clave privada.

Los algoritmos simétricos usan la misma llave para encriptacion y desencriptacion (o la llave del desencriptacion se deriva fácilmente de la llave del encriptacion), es decir, la llave para abrir el archivo solo la tiene el destinatario o la persona que lo tenga que recibir, entonces lo que se hace en el proceso es que el remitente o el cifrador coge su mensaje A y lo cifra por medio de una llave publica, cuando lo recibe el destinatario el mensaje A, el lo desencripta con una llave privada que aparentemente solo la tiene el.

Para finalizar esta primera parte pondre un articulo de Unravel de Aritmetica Modular, preferi escoger el articulo que el desarrollo porque me parece que tiene una explicacion mucho mas clara y sencilla de lo que se tratar este proceso matematico y que es importante para el cifrado asimetrico o de llave publica, entonces aqui se los dejo.


Aritmetica Modular

Supongamos que nos ponemos a sumar o restar horas, en un reloj de esfera de 12 horas, nada de digitales. Si son las 8 y le sumamos 6 horas, nos quedan las 2. O sea, cuando pasamos de 12 empezamos por el 1.

Pues eso es aritmetica modular. En este caso seri­a modulo 12.
Asi­ podemos decir que 8 + 6 mod 12 = 2

La unica diferencia es que en la aritmetica modular incluimos el cero. Entonces en nuestro caso del reloj los numeros que existiri­an seri­an del 0 al 11. No habri­a por ejemplo el 12, porque "dari­a la vuelta" y pasari­a a ser cero, o el 13 que pasari­a a ser 1. Solo existen esos numeros.

Ahora en modulo 7. Nuestro universo de numeros seri­a {0,1,2,3,4,5,6}.
Si hiceramos 3*5, en los numero reales seri­a 15, pero en modulo 7 seri­an 2 vueltas (7+7) y uno mas. O sea, 3*5 mod 7 = 1.

Como vemos, en realidad lo que hacemos para calcular el modulo es dividir 15 entre 7 y quedarnos con el resto, que es 1.

De esta misma forma, si dividimos 64 entre 7, nos sigue quedando que el resto es 1 (lo unico que hemos hecho es "darle mas vueltas" al reloj), asi­ que podemos decir que 64 = k*7 + 1. K nos da igual porque es el numero de vueltas que le vamos a dar al reloj.

De forma generica, si un numero a (el 64) mod n (el 7) = resto (el 1), a = k*n + resto.

Bien, ahora vamos a fijarnos en este mismo ejemplo. Vemos que en mod 7, 3*5 = 1. Al igual que con los níºmeros reales, si dos níºmeros se multiplican y dan 1, es que son inversos (5 * 1/5 = 1).

Asi­ podemos decir que 3 y 5 son inversos en modulo 7.


Hay una propiedad, que os la teneis que creer, que dice que un numero a tiene inversa modulo n, si no existe ningun numero (excepto 1) menor que a y menor que n que los divida de forma exacta.

Esto es a lo que se llama primos relativos. 8 y 5 seri­an primos relativos, porque no hay ningun níºmero que los divida, aunque 8 no sea primo. Su maximo comun divisor es 1.

En el ejemplo del modulo 7, vemos que todos los numeros (el cero no cuenta) tienen que tener inversa, porque 7 es primo absoluto y no va a existir ningun numero que lo divida.

* La inversa del 1 es el 1:  1 * 1 = 1 que dividido entre 7 es igual a cero y resto 1, (1*1 mod 7 =1)
* La inversa del 2 es el 4:  2 * 4 = 8 que dividido entre 7 es igual a 1 y de resto 0, (2*4 mod 7 = 1)
 etc...


Sustitucion Monoalfabetica
Citar
Una mejora al cifrador de César es la de relacionar a cada letra del alfabeto con un carácter. En este sistema, llamado sustitución monoalfabética, la clave consistirá en la cadena completa de caracteres del alfabeto. El ataque a estos anteriores sistemas es aprovechar las propiedades estadísticas de los lenguajes. Sabiendo el idioma del texto en claro y calculando el porcentaje de ocurrencias de letras y de combinaciones de dos y tres letras se puede adivinar una palabra y así deducir la clave.
--> de wikipedia

Un ejemplo:

A --> 1
B --> 2
...
Z --> 27

Donde las letras son los caracteres y los numeros sus representaciones...

Podriamos encriptar la cadena "ABZZ" asi: "1 2 27 27"    ...

Esta si bien no es la primera, es una de las primeras formas de criptografia q hay, y tambien la forma mas facil de romper ...

Saludos!



rufiopunkrock, tshadow


« Última modificación: Junio 22, 2008, 02:21:54 por tshadow » En línea






Reglamento del Foro     Linux  Registered User #473016
placa4
Habitual
*****
Desconectado Desconectado

Mensajes: 155



Ver Perfil
« Respuesta #1 en: Julio 06, 2008, 01:57:45 »

Ya que nadie te lo dice, gracias  Grin Grin, se entiende todo Wink

Salu2
En línea

El futuro está en versión Beta.

La aleatoriedad no existe, sólo una complejidad tan extrema que el ser humano es aún incapaz de comprenderla.
Michael Keehl
Recien Llegado
*
Desconectado Desconectado

Mensajes: 4



Ver Perfil
« Respuesta #2 en: Ayer a las 08:48:18 »

mmm me quede un poquito mareado   Grin, cual es la inversa de 6 entonces??
En línea
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Phreaking, Hacking y Seguridad  |  HacK GeneraL  |  Encriptacion, Cryptografia  |  Tema: Criptografia Desde 0 « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC