Foro de elhacker.net

Seguridad Informática => Criptografía => Mensaje iniciado por: Dacan en 12 Marzo 2011, 02:35 am



Título: Algun taller de...
Publicado por: Dacan en 12 Marzo 2011, 02:35 am
Criptografia simetrica, es que he visto uno de asimetrica pero no entiendo mucho del tema, segun entendi la simetrica seria un poco mas sencilla ya que no tiene varias claves.

Saludos, Dacan  :D


Título: Re: Algun taller de...
Publicado por: APOKLIPTICO en 12 Marzo 2011, 03:13 am
No hay talleres de criptografía simétrica todavía, pero planteá tus dudas y si podemos, te las resolveremos. Ah, y en la cripto asimétrica, no hay "varias claves" hay solo 2.

Saludos
APOK


Título: Re: Algun taller de...
Publicado por: Dacan en 12 Marzo 2011, 13:35 pm
Tengo una duda y una peticion.

La duda, todos los algoritmos simetricos pueden ser descrifrados?

Una peticion, una ejemplo y si puedes con explicacion mejor.

Saludos, Dacan  :D


Título: Re: Algun taller de...
Publicado por: Garfield07 en 12 Marzo 2011, 13:50 pm
Tengo una duda y una peticion.

La duda, todos los algoritmos simetricos pueden ser descrifrados?
Una peticion, un ejemplo y si puedes con explicacion mejor.
Creo que deberías poner las cosas como son  :¬¬

Todos los algoritmos simétricos pueden ser descifrados si sabes como se cifraron en su momento. Tienes sus ventajas y desventajas contra los cifrados asimétricos, todo depende de qué vas a cifrar. Mira las chinchetas.

Y el ejemplo... ¿? No se te entiende mucho, pero bueno.
Tengo la cadena "SAGRINI", y la cifro con una variante sencilla del cifrado César, sumándole uno a cada letra: "TBHSJOJ". Ahora sólo puedo descifrarlo sabiendo el cifrado que se usó (César +1). Ahora para descifrarlo debemos restarle uno a cada letra: "SAGRINI".
@APOKLIPTICO, no sé si esto se considera un cifrado simétrico pues uso dos fórmulas diferentes... Corrígeme, pero creo que sirve como explicación ;)

Un saludo!
Sagrini


Título: Re: Algun taller de...
Publicado por: APOKLIPTICO en 12 Marzo 2011, 15:30 pm
El cifrado que mostró sagrini, es uno de los primeros cifrados simétricos de la historia.

Un cifrado simétrico es un algoritmo que cifra un plaintext con una clave y descifra el ciphertext con la misma clave.
Para ejemplos, bueno hay muchos, AES, RC4, RC5, Blowfish, CAST, IDEA, TDes, Serpent, Twofish.
Generalmente se utiliza la función binaria XOR para cifrar y descifrar, ya que esta es reversible.
Esta funciona de esta manera:
0 XOR 0 = 0
1 XOR 1 = 0
0 XOR 1 = 1
1 XOR 0 = 1

De esta manera:
01010001 PLAINTEXT
XOR
11010001 KEY
---------
10000000 CIPHERTEXT

Si uno hace ciphertext xor key nos va a dar el plaintext:
10000000 CIPHERTEXT
XOR
11010001 KEY
---------
01010001 PLAINTEXT

Bueno, este algoritmo, se puede utilizar para hacer un cifrado simple, pero vulnerable.
Tenemos el plaintext que es "ABCDEFGHIJKLMNOP" y la clave que es "KEY", entonces, vamos haciendo el cifrado así:
ABCDEFGHIJKLMNOP
KEYKEYKEYKEYKEYK
-------------------
CIPHERTEXT

Luego para descifrarlo, solo hay que hacer lo mismo con el ciphertext.
Esto tiene el problema que es vulnerable a un ataque known-plaintext. Es decir, con que se conozca un poco del archivo original sin cifrar, se puede obtener la clave y descifrar el resto del archivo. Esto se puede solucionar utilizando un keystream, que es lo que hacen los algoritmos actuales. En base a la clave, utilizan un generador pseudoaleatorio criptográficamente seguro (CSPRNG) y utilizan la salida de dicho CSPRNG para cifrar con XOR el plaintext. Algunos también pueden utilizar "retardantes" en la inicialización del CSPRNG, agregar unos cálculos de más que lentifican la inicialización del cifrado, pero también reducen la feasibilidad de ataques de fuerza bruta.

Espero haber sido mas o menos claro, cualquier cosa, tenés el glosario y google, sino te resuelve la duda, por favor preguntá.

Un abrazo
APOKLIPTICO.

PD: Gracias Sagrini por ayudar en el subforo, es muy importante cada uno de los aportes que se puedan hacer.