elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Septiembre 2008, 18:22  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía
| | | |-+  RSA para no iniciados
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Imprimir
Autor Tema: RSA para no iniciados  (Leído 10875 veces)
nhaalclkiemr

Desconectado Desconectado

Mensajes: 1.644


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: RSA para no iniciados
« Respuesta #15 en: 14 Enero 2007, 16:43 »

Entonces que inconveniente tiene RSA??. Tiene que tener alguno para que no sea muy utilizado como por ejemplo el MD5.
En línea

StasFodidoCrypter 1.0 - 100%
StasFodidoCrypter 2.0- 85%
Fire AV/FW-Killer - 97%

CUIDADO!!!!

Cobac
CoAdmin
*****
Desconectado Desconectado

Mensajes: 5.438


Still In Development


Ver Perfil
Re: RSA para no iniciados
« Respuesta #16 en: 22 Enero 2007, 07:31 »

Son dos cosas distintas.

El MD5 es una función de hash, se emplea para dar autenticidad a un programa (principalmente)

Me explico, tu te bajas un programa con un hash X, si en el sitio de donde te lo has bajado pone que ese archivo tiene otro hash, dirás, "mierd*!, alguien ha modificado el archivo!".

Si tiene el mismo hash quiere decir que es el mismo archivo (de ahí que si se puede encontrar dos archivos con el mismo hash es peligroso, imaginate que yo logro hacer un troyano con el hash anterior, y lo pongo en esa web -u otra- y la gente se lo descarga con confianza, ya que tiene el mismo hash que el auténtico)

Más información -> http://es.wikipedia.org/wiki/MD5

Y dado las vulnerabilidades que se le han encontrado, se empiezan a recomendar SHA-1 y demás (aunque al SHA-1 tampoco le queda mucho, y ya se estan buscando otras funciones de hash)

salu2!
En línea

PIV 2533 @ 2720Mhz | 512MB DRR333 @ 358 | 160 Gb + 40 Gb Seagate Barracuda

En la Edad Media la Iglesia robaba con los diezmos. En el siglo XXI la SGAE roba con sus cánones.
nhaalclkiemr

Desconectado Desconectado

Mensajes: 1.644


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: RSA para no iniciados
« Respuesta #17 en: 23 Enero 2007, 20:45 »

Aunke SHA1 es algo mas fuerte tambien se le hayaron colisiones.

Lo mejor es SHA2-512 ;D ;D

Me confundi con el RSA.

Gracias.

un saludo ;)
En línea

StasFodidoCrypter 1.0 - 100%
StasFodidoCrypter 2.0- 85%
Fire AV/FW-Killer - 97%

CUIDADO!!!!

tetiviri

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: RSA para no iniciados
« Respuesta #18 en: 27 Marzo 2008, 20:27 »

Hola a todos,
a pesar de leer y leer no me queda claro como descifrar una vez que tengo la clave publica ya que si n es mayor que el resultado de cifrado no podria divirlos. Para ser mas claro os pondré el ejemplo siguiente que es un ejercicio que tengo que hacer y no se por donde entrar. :-\

Un mensaje es cifrado usando RSA con clave pública n=70757 y e=19 dando como resultado
{41822, 60864, 1, 60864, 13931, 39153, 1, 38703, 11991, 38652, 13931, 38703,
13931, 60864, 13931, 59079, 55099, 41822, 9478, 36994, 1, 41822, 1, 36994,
41822, 38652, 39153, 9478, 60864, 60864, 55099, 52388, 38652, 6985, 38652,
6985, 38652, 13931, 38703, 11991, 13931, 39153, 13931, 38703, 11991, 13931,
60864, 59079, 41822, 1, 38703, 51989, 13931, 60864} donde cada número se corresponde
al cifrado de un sólo carácter.

Teniendo en cuenta que cada carácter del alfabeto es codificado antes de cifrar como A->1,B->2,C->3,etc...,
¿cuál es el mensaje original?.

Lo que tendria que hacer segun he entendido seria dividir 41822/70757, pero claro en los ejemplos que he visto el numerador es superior al denominador y con el resto que obtenemos sustituimos en el alfabeto en mi caso.

Si alguien pudiera aclararme algo le estaria muy agradecido pues como veis estoy totalmente perdido... :-[

Un saludo y gracias por vuestro tiempo!
En línea
ghastlyX
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.694


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: RSA para no iniciados
« Respuesta #19 en: 27 Marzo 2008, 21:40 »

Descifrado: RSASEMANTIENESEGUROPARAPRIMOSSUFICICIENTEMENTESGRANDES

Con números:
{19, 20, 1, 20, 5, 13, 1, 14, 21, 9, 5, 14, 5, 20, 5, 7, 22, 19, 16, 17, 1, 19, 1, 17, 19, 9, 13, 16, 20, 20, 22, 6, 9, 3, 9, 3, 9, 5, 14, 21, 5, 13, 5, 14, 21, 5, 20, 7, 19, 1, 14, 4, 5, 20}

Datos:

d = 7387

p = 173

q = 409

Un saludo de ghastlyX ;)
En línea
tetiviri

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: RSA para no iniciados
« Respuesta #20 en: 28 Marzo 2008, 01:48 »

MUCHISIMAS MUCHISIMAS GRACIAS!!!
Me has hecho un favor enorme. ¿Me podrias explicar un poco como lo has hecho?

Lo dicho, ha sido todo un detalle que hayas respondido en cuestion de una hora.
Gracias!
En línea
ghastlyX
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.694


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: RSA para no iniciados
« Respuesta #21 en: 28 Marzo 2008, 15:16 »

Primero factorizas n y obtienes p = 173 y q = 409.

Calculas d, tal que d * e (mod phi(n)) = 1. Recuerda que phi(n) = (p - 1) * (q - 1). Para calcular d hice este código en C:
Código
#define E 19
#define PHI_N 70176 //(p - 1) * (q - 1)
 
#include <stdio.h>
 
int main()
{
   int i;
   for(i = 0; i < 70757; i++)
   {
         if(((i * E) % PHI_N) == 1) printf("d = %d\n", i);
   }
   return 0;
}

Una vez tenemos d = 7387, desciframos cada letra. Si llamamos c a la letra a descifrar y m la letra original, m = (c ^ d) (mod n). Así ya tendrás el mensaje descifrado en números:
{19, 20, 1, 20, 5, 13, 1, 14, 21, 9, 5, 14, 5, 20, 5, 7, 22, 19, 16, 17, 1, 19, 1, 17, 19, 9, 13, 16, 20, 20, 22, 6, 9, 3, 9, 3, 9, 5, 14, 21, 5, 13, 5, 14, 21, 5, 20, 7, 19, 1, 14, 4, 5, 20}

Así tan sólo te queda sustituirlo por las letras, que no tiene mucho misterio xDD. Hice este programa para que me lo hiciera solo si no te apetece hacerlo a mano:
Código
#include <stdio.h>
 
int main()
{
   int i;
   char abc[] = " ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
   int cifrado[] = {19, 20, 1, 20, 5, 13, 1, 14, 21, 9, 5, 14, 5, 20, 5, 7, 22, 19, 16, 17, 1, 19, 1, 17, 19, 9, 13, 16, 20, 20, 22, 6, 9, 3, 9, 3, 9, 5, 14, 21, 5, 13, 5, 14, 21, 5, 20, 7, 19, 1, 14, 4, 5, 20};
   for(i = 0; i < 54; i++) printf("%c", abc[cifrado[i]]);
   return 0;
}

Para hacer el paso de descifrar tendrás problemas con elevar a d según qué métode utilices. La calculadora de Windows sorprendentemente parece que lo realiza bien, yo utilizo un sistema de cadenas para estas cuentas tan bestias.

Un saludo de ghastlyX ;)
En línea
Páginas: 1 [2] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

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