hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
19 de Noviembre de 2008, 02:02:14
Noticias: Reporte de temas
Para ver este enlace Registrate o Inicia Sesion
> Aqui

+  Foros pOrtal Hacker
|-+  Hacktivismo
| |-+  Seguridad
| | |-+  Criptografía (Moderadores: CHR0N05, Rox)
| | | |-+  Message Digest Algorithm 5 --> Chr0n05
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Message Digest Algorithm 5 --> Chr0n05  (Leído 277 veces)
CHR0N05
Moderador
*****
Desconectado Desconectado

Mensajes: 1,662


Chronos es Dios de Dioses!!...


Ver Perfil WWW
« : 16 de Julio de 2008, 03:02:46 »

MD5
Message Digest Algorithm 5
by Chr0n05

Primero que todo quiero dar a entender que este documento es una recopilación Web y de mi memoria, por lo tanto, fuentes y demases no recuerdo lamentablement e. Trataré de explicar el Algoritmo MD5 de la mejor forma posible y entendible para cualquier persona.

Author: Chr0n05
Web:
Para ver este enlace Registrate o Inicia Sesion
http://www.hackerxsiempre.net/



Qué es MD5

MD5 o Algoritmo Resumen del Mensaje 5, es un algoritmo de reducción que utiliza 128 bits para su objetivo. Podemos encontrar una definición bastante amplia en su
Para ver este enlace Registrate o Inicia Sesion
RFC (1321)
.

Para nuestras comprobaciones usaremos los siguientes programas... Tongue

  • CheckSum

Luego de tener descargado nuestro programita, copiaremos el archivo al siguiente directorio:

Código:
#copy md5.exe "%systemroot%\system32"



Para que es esto Huh... simplemente para que cada vez que necesitemos comprobar la integridad y confiabilidad de un programa no tengamos que dirigirnos a la carpeta donde tenemos MD5.exe, sino que desde cualquier parte de la consola podamos ejecutar dicho comando (md5).

Luego de ver esto, crearemos un documento en cualquier parte de nuestra computadora... en mi caso le llamaré "Bienvenidos", dentro de él escribiré "Bienvenidos a HackerxSiempre"



Ahora ingresemos al Prompt escribamos nuestro comando y la dirección
del archivo entre comillas dobles y presionar [ENTER].

Código:
#md5 "D:\Documents and Settings\Chr0n05\Escritorio\Bienvenidos.txt"
5D4B82EA4CE7DE1393F56C77A69D2731  D:\Documents and

Settings\Chr0n05\Escritorio\Bienvenidos.txt



Ahora modificaremos el archivo Bienvenidos.tx t, en donde solo pondré "HackerxSiempre".



Y realizaremos la comprobación

Código:
#md5 "D:\Documents and Settings\Chr0n05\Escritorio\Bienvenidos.txt"
86A36C3CE9E872783830BA8C31647F2D  D:\Documents and

Settings\Chr0n05\Escritorio\Bienvenidos.txt



Distinto no Huh...

Ahora analicemos un poco...

Código:
Primer MD5 = 5D4B82EA4CE7DE1393F56C77A69D2731
Segundo MD5 = 86A36C3CE9E872783830BA8C31647F2D

Que podemos ver aquí Huh... visualizamos fácilmente 32 digitos, tambien vemos números, y vemos letras... Deducimos que el Algoritmo MD5 contiene 32 bits de carácteres alfanuméricos... muy dificil Huh... Tongue

Tambien si somos cautelosos... podemos darnos cuenta que al modificar el documento, el MD5 cambio muchísimo... esto nos ayuda en dos grandes principios de la Seguridad Informática, que son la Confiabilidad del documento, del archivo, etc... y la Integridad que no haya sido modificado por terceros.

Ningún Hash MD5 es igual a otro... Aunque tenemos que tener cuidado con las Colisiones Hash... eso lo explicaré en su justa medida un poco más adelante...

Ahora que sabemos, como usar este Algoritmo, ingresaremos en tierra derecha y veremos el Funcionamiento de este Algoritmo.

Descripción del Algoritmo MD5

Primero supondremos que tenemos un mensaje de "x" bit de entrada, y deseamos ferdientemente encontrar el mensaje. "x" tiene que ser un valor positivo y además puede ser cero, puede ser un número bastante grande y no es necesario que sea múltiplo de ocho. Ahora imaginemos los bits del mensaje de la siguiente forma:

Código:
m_0 m_1 m_2 .... m(b-1)

Hasta aquí vamos bien Huh... Espero que si... xD

Ya que de esa forma trabaja el Algoritmo MD5, y eso es todo...

xD...

Naa, ahora veremos la forma de obtener dicho mensaje.... ok Huh

Extendiendo Bits

Extendiendo Bits, proviene especificament e de extendir tanto que su largo sea congruente a 448, modulo 512. Qué carajo significa esto Huh... Esto quiere decir que el mensaje es extendido tanto que si sólo es de 64 bits de ser un múltiplo de 512 bits de longitud. Llega a la misma cifra (rellenando los espacios faltantes).

Ahora se estarán preguntando como se realiza el relleno, y es de la siguiente forma:

Un bit (1b) se adjunta al mensaje y a continuación ceros (0) se adjuntan, de forma que llegan al relleno del mensaje (Con 448 mod 512). En total se deben adjuntar 512 bits.

Se entiende Huh... Espero que si... Tongue

Longitud

De aqui en adelante, se pone pasada la pista... asi que mucha atención... Tongue

Tomaremos una longitud "z", donde z = 128 (que es la longitud del mensaje sin añadir), luego se concatena con el extendido de bits.

Luego de rellenar "z" con los bits, el mensaje resultante tiene una longitud de múltiplo exacto de 512b. De forma paralela la longitud del  mensaje de 16 palabras (32b por palabra).

Se acuerdan de esto:

Código:
...m(b-1)

M = mensaje
b = z, donde es múltiplo de 16

Buffer MD

Código:
  palabra A: 01 23 45 67
  palabra B: 89 ab cd ef
  palabra C: fe dc ba 98
  palabra D: 76 54 32 10

Podemos visualizar cuatro palabras (A, B, C, D), donde cada una de ellas contiene 32 bits de valores hexadecimales como podemos observar.

Procesado de Bloques de 16 palabras

Para entender este apartado es completamente necesario saber las tablas de verdad o tambien llamadas compuertas lógicas...


Veamos si puedo explicarlas... Tongue

XOR = tambien denominada Exclusiva, no es muy común...

Ocuparemos dos entradas, y obviamente una salida...

A   B   C
0   0   0
0   1   1
1   0   1
1   1   0


Podemos ver que si las entradas son iguales el resultado será cero [OFF].

Más info sobre XOR
Para ver este enlace Registrate o Inicia Sesion
Aqui


AND = tambien denominada Y Lógica

Al igual que la anterior:

A   B   C
0   0   0
0   1   0
1   0   0
1   1   1


Pero esta vez ambas entradas deben ser positivas para que la salida sea positiva.

Más información
Para ver este enlace Registrate o Inicia Sesion
Aquí


OR = tambien denominada O Lógica.

A   B   C
0   0   0
0   1   1
1   0   1
1   1   1


En este caso alguna o ambas de las entradas debe estar encendida (ON), para que la salida sea [ON]

Más información hacia esta compuerta
Para ver este enlace Registrate o Inicia Sesion
Aquí


NOT = o Inversa

En este caso solo se utiliza una entrada [ON] [OFF] y una salida [ON]

[OFF]

A   B
0   1
1   0


Más información hacia esta compuerta
Para ver este enlace Registrate o Inicia Sesion
Aquí



Continuando con lo anterior, deberemos definir cuatro funciones, las que toman como entrada tres palabras, cada una de 32b y su salida (32b).


F(X,Y,Z) = (X AND Y) OR (NOT X AND Z)
G(X,Y,Z) = (X AND Y) OR (X AND NOT Z)
H(X,Y,Z) = X XOR Y XOR Z
I(X,Y,Z) = Y XOR (X OR NOT Z)


Pido disculpas por no redactar esta parte con mis propias palabras... tengo sueño... y ya me dio la flojera... xD

Cita de: Wikipedia
En cada posición de cada bit F actúa como un condicional: si X, entonces Y sino Z. La función F podría haber sido definida usando + en lugar de OR ya que XY y NOT(x) Z nunca tendrán unos ('1') en la misma posición de bit. Es interesante resaltar que si los bits de X, Y y Z son independientes y no sesgados, cada uno de los bits de F(X,Y,Z) será independiente y no sesgado.

Las funciones G, H e I son similares a la función F, ya que actúan "bit a bit en paralelo" para producir sus salidas de los bits de X, Y y Z, en la medida que si cada bit correspondient e de X, Y y Z son independientes y no sesgados, entonces cada bit de G(X,Y,Z), H(X,Y,Z) e I(X,Y,Z) serán independientes y no sesgados. Nótese que la función H es la comparación bit a bit "xor" o función "paridad" de sus entradas.Este paso usa una tabla de 64 elementos T[1 ... 64] construida con la función Seno. Denotaremos por T el elemento i-ésimo de esta tabla, que será igual a la parte entera del valor absoluto del seno de 'i' 4294967296 veces, donde 'i' está en radianes.

Salida del Mensaje

El resumen del mensaje es la salida producida por A, B, C y D. Esto es, se comienza el byte de menor peso de A y se acaba con el byte de mayor peso de D.

Colisiones

Una Colisión Hash básicamente se produce cuando dos entradas distintas producen la misma salida.

Ahora imaginaros...

MD5 tiene 32 carácteres, tenemos una limitada cantidad de combinaciones no es así Huh...

Más info sobre Colisiones
Para ver este enlace Registrate o Inicia Sesion
Aquí




Espero sea de su total agrado este mini-tutorial de MD5... En el caso de copiar este tutorial, favor poner el author y la web de donde fue sacada dicha información.

Saludos...

Chr0n05
« Última modificación: 16 de Julio de 2008, 12:15:10 por CHR0N05 » En línea

SOLO LOS QUE DEJAN DE INTENTAR, FRACASARÁN...

Citar
public class firma{
     public static void main(String[] args)    {
           hackerxsiempre .net HxS= new hackerxsiempre();

            cph.friends.Wa esWaes waesx2 = new cph.friends.Wa esWaes();

            System.out.pri ntln(""+ HxS.
Para ver este enlace Registrate o Inicia Sesion
foro()
);

             System.out.pri ntln(""+ HxS.
Para ver este enlace Registrate o Inicia Sesion
Convocatoria_E Zine()
);

            System.out.pri ntln (waesx2.firma("Java lover"));
}}
>> s E t H <<
Colaborador
****
Desconectado Desconectado

Mensajes: 1,686


si te gusta, en mi firma esta su direccion!


Ver Perfil WWW
« Respuesta #1 : 16 de Julio de 2008, 12:09:01 »

esta bastante bueno...


Citar
XOR = tambien denominada Exclusiva, ya que no es muy común...
por lo que tengo entendido es exclusiva xq, a diferencia de OR, cuando hay 1-1 devuelve 0

Citar
The Oxford English Dictionary explains “either … or” as follows:

    The primary function of either, etc., is to emphasize the indifference of the two (or more) things or courses … but a secondary function is to emphasize the mutual exclusiveness, = either of the two, but not both.

En línea


Para ver este enlace Registrate o Inicia Sesion
MI FIRMA Tongue


 |
Para ver este enlace Registrate o Inicia Sesion
Indice de posts interesantes de VB... manuales, guias, dudas, etc
|
Para ver este enlace Registrate o Inicia Sesion
Libreria de código en VB!
|
Para ver este enlace Registrate o Inicia Sesion
IDE's, compiladores, interpretes, etc!
|

Trunx0z Crypter 0.3: 85%
Interprete de brainfuck: 75%
Trunx0z downloader 0.1: 100%


Para ver este enlace Registrate o Inicia Sesion
¡ENTRA EN MI BLOG O TE JUANKEO!



Para ver este enlace Registrate o Inicia Sesion
EL MSN DE  LA DE MI AVATAR
CHR0N05
Moderador
*****
Desconectado Desconectado

Mensajes: 1,662


Chronos es Dios de Dioses!!...


Ver Perfil WWW
« Respuesta #2 : 16 de Julio de 2008, 12:14:40 »

por lo que tengo entendido es exclusiva xq, a diferencia de OR, cuando hay 1-1 devuelve 0

Good... fue error de tipeo, a las 0500 AM, no estarias cansado Huh... Tongue...

Bueno la frase, quedaria algo similar a:

Citar
XOR = tambien denominada Exclusiva, no es muy común...

Saludos
En línea

SOLO LOS QUE DEJAN DE INTENTAR, FRACASARÁN...

Citar
public class firma{
     public static void main(String[] args)    {
           hackerxsiempre .net HxS= new hackerxsiempre();

            cph.friends.Wa esWaes waesx2 = new cph.friends.Wa esWaes();

            System.out.pri ntln(""+ HxS.
Para ver este enlace Registrate o Inicia Sesion
foro()
);

             System.out.pri ntln(""+ HxS.
Para ver este enlace Registrate o Inicia Sesion
Convocatoria_E Zine()
);

            System.out.pri ntln (waesx2.firma("Java lover"));
}}
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online