Foros del Web » Programación para mayores de 30 ;) » .NET »

Algoritmos de encriptación

Estas en el tema de Algoritmos de encriptación en el foro de .NET en Foros del Web. Hola, quería hacerles unas preguntas, algo sencillas pero aún no estoy muy empapado con esto de los algoritmos de encriptación y eso. Ya sé que ...
  #1 (permalink)  
Antiguo 28/04/2005, 14:48
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 19 años, 7 meses
Puntos: 2
Algoritmos de encriptación

Hola, quería hacerles unas preguntas, algo sencillas pero aún no estoy
muy empapado con esto de los algoritmos de encriptación y eso.

Ya sé que el md5 no es simétrico, es decir que puedo encriptar pero no desencriptar.
Bueno esto lo sé porque ya lo he leído por ahi y he visto algunos ejemplos.
Ahora bien, si trabajo con md5 para por ejemplo guardar en forma encriptada los
passwords de los usuarios que acceden a un sitio web, mmm entonces cuando él se vaya
a autenticar como hago para saber si la contraseña que él indica es la que está en la bd?
yo, por lógica me imagino que lo que tengo que hacer es volverle a aplicar md5 a lo que el usuario
introduce y compararlo con lo que está en la bd. ¿estoy en lo correcto?

Otra duda sería, que ventaja me supone trabajar con md5?, porque yo una vez hice algo
para encriptar una cadena, luego lo que hacía era lo mismo, al momento de la autenticación
volvía a encriptar la cadena y luego la comparaba con lo que estaba ya encriptado en la bd.
Claaaro, era una tontería, pero bueno por eso pregunto, que ventaja me supone?

Y mi última duda...al menos que recuerde ahora, cual es la diferencia entre usar un algoritmo
simétrico y uno que no lo sea. ¿Alguno tiene ventaja sobre el otro?

Saludos...
  #2 (permalink)  
Antiguo 28/04/2005, 15:47
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola... mm... lo que comentas es un tema amplio.. ya que el decir que es mejor usar uno que otro va a depender de tus necesidades..

Cita:
luego lo que hacía era lo mismo, al momento de la autenticación
volvía a encriptar la cadena y luego la comparaba con lo que estaba ya encriptado en la bd.
Claaaro, era una tontería, pero bueno por eso pregunto, que ventaja me supone?
De hecho no es una tonteria friend.. esa es una forma de hacerlo.., pero ahi te va un ejemplo... supongamos que vas a usar una atenticacion pero del lado del cliente ya que no puedes usar https, que haces..?? simplemente podrías cargar un md5 con javascript.. para que al hacer post viaje esa info encriptada (aunque puedan llegar a usar un sniffer o tratar de tomar todo el broadcast solo tendrán la cadena del hash) y posteriormente por codigo hacer la comparacion, ya que un md5 es el mismo algoritmo sin importar el lenguaje... entonces con ello puedes seguir ciertas reglas.

Otra cosa muy similar sería que tienes una aplicacion de escritorio para numeros de serie, supongamos que los haces con delphi... pero el registro del producto será en web con aspx pero como te comento que la librería es la misma la puede implementar sin problemas, ademas de que la ventaja es que ese algoritmo no es en reversa...

Aclaro que estoy hablando de termino muy generales...

ahora que si quieres puedes implementar tu propio algoritmo usando como provider el hash md5, sha1, etc... y crear tus combinaciones, apoyandote de una llave interna que será la que ocupes para desencriptar.

Aunque no por eso quiere decir que sea totalmente seguro, ya que lo puedes exponer por fuerza bruta a hacer un hashing y puede llegar a ser desicfrado, claro que si lo mezclas con un certificado puede ser un poco mas seguro, pero eso no me impide colgarme de un proxy para no entrar en el mismo canal... pero esa ya es otra historia.

ahh.. ya me canse de escribir . jeje... esa sería mas o menos una opinion al respecto..

Si tienes mas dudas podemos seguir tratando del tema hasta donde nuestra capacidad nos permita.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 04/05/2005, 12:13
 
Fecha de Ingreso: abril-2005
Mensajes: 10
Antigüedad: 19 años
Puntos: 0
La primera pregunata es que si
La segunda, es que a ser un algoritmo de solo ida, dificulta mucho el descifrar la contraseña.
la tercera.¿Qué diferencias hay entre los algoritmos simétricos y los asimétricos?

Los algoritmos simétricos encriptan y desencriptan con la misma clave. Las principales ventajas de los algoritmos simétricos son su seguridad y su velocidad. Los algoritmos asimétricos encriptan y desencriptan con diferentes claves. Los datos se encriptan con una clave pública y se desencriptan con una privada, siendo ésta su principal ventaja. Los algoritmos asimétricos, también conocidos como algoritmos de clave pública, necesitan al menos una clave de 3.000 bits para alcanzar un nivel de seguridad similar al de uno simétrico de 128 bits. Y son increíblemente lentos, tanto que no pueden ser utilizados para encriptar grandes cantidades de información. Los algoritmos simétricos son aproximadamente 1.000 veces más rápidos que los asimétricos.
  #4 (permalink)  
Antiguo 07/06/2005, 02:47
 
Fecha de Ingreso: marzo-2004
Mensajes: 142
Antigüedad: 20 años, 1 mes
Puntos: 0
Funciones resumen

Una pequeña aclaración...
MD5 no es ni simétrico ni asimétrico, es una función resumen, un hash, ni cifra ni descifra nada.
Las funciones resumen, o hash, se pueden aplicar a cualquier original dando siempre un resultado de longitud fija y único para cada original (dejando a parte las conocidas colisiones de MD5, obsoleto). Es decir que si le hago un MD5 a un password de 8 letras, me dara un resumen de 128 bits de longitud, y si se lo hago al Quijote me dara otro de 128 bits de longitud tambien. Por supuesro el segundo resultado no es el Quijote cifrado, sería la compresión perfecta ;).
La ventaja de tu metodo es que si el usuario tiene una clave corta "pepe" y le aplicas el MD5, la alargas artificialmente, dificultando el ataque por fuerza bruta en el server, y el problema es que para el snifer no supone ninguna diferencia, le da lo mismo interceptar "pepe" que el hash de "pepe" logandose con él.

Los algoritmos asimétricos son lentos pero mas seguros (por regla general), por eso siempre se usan en combinación con los simétridos.
Un ejemplo:
Si intentase cifrar el Quijote con una clave asimetrica, RSA por ejemplo, tardaría muchisimo, lo que se hace es generar una clave aleatoria simetrica, AES por ejemplo, y cifrar el Quijote. Despues cifro la clave AES con una de las claves RSA (son parejas). El descifrado es el camino inverso, solo que para descifrar la AES ahora me hace falta la pareja de la RSA, si utilicé la publica me hace falta la privada, y viceversa, y una vez descifrada la AES descifro el Quijote, ya que es simétrica.

Espero haber aclarado algo...
Un saludo
Enriquez
__________________
Tutorial
FirmasOnline
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:09.