Foro de elhacker.net

Seguridad Informática => Seguridad => Mensaje iniciado por: Garfius1 en 28 Enero 2020, 10:39 am



Título: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Garfius1 en 28 Enero 2020, 10:39 am
Buenas gente!

Estoy diseñando un arduino-crypto, y deseaba usar RSA, pero el SOC tipo AVR es poca cosa, poca ram y demàs. :-(

Tengo una libreria con AES,  Curve25519, Ed25519, P521 y otros.

Cual me recomendais para cifrar mensajes cortos?

Muuuuchas gracias.


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Serapis en 28 Enero 2020, 17:35 pm
Sí solo es como práctica, RC4, podría ser adecuado al caso. Es muy simple y todavía potente.
Si es para algo más que práctica, haz una variante del RC4, que corrija precisamente sus vulnerabilidades...

....mmm, yo te digo de implementarlo, no de usar una librería...


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: engel lex en 28 Enero 2020, 17:46 pm
Sí solo es como práctica, RCA, podría ser adecuado al caso. Es muy simple y todavía potente.
Si es para algo más que práctica, haz una variante del RCA, que corrija precisamente sus vulnerabilidades...

....mmm, yo te digo de implementarlo, no de usar una librería...

cual es RCA? y tambien es complicado, arduino hablamos de un procesador de 16Mhz... yo tiraría por AES-128 que está mas optimizado para eso y olvidaría basicamente cualquier cosa que tenga que ver con asimetrico, pero recomendaría comprar un procesador integrado que te haga la criptografia aparte (que puede tirar un AES en menos de 100 ciclos de reloj creo yo)


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Serapis en 28 Enero 2020, 17:54 pm
cual es RCA? y tambien es complicado, arduino hablamos de un procesador de 16Mhz...
Perdón RC4... (RSA era la empresa que lo desarrolló merced a uno de sus fundadores)
Para nada es complicado, incluso un procesador de 8 bits a 1Mhz (o menos), puede manejarlo sin problemas...


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: engel lex en 28 Enero 2020, 18:00 pm
pero RC4 lo recuerdo como un algoritmo de hash


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Serapis en 28 Enero 2020, 18:37 pm
No. Es un algoritmo de cifrado.
Yo suelo usar una variante personalizada con bastante frecuencia... que luego suelo codificar...

Aquí un ejemplo. La salida se ha codificado a hexadecimal, para ver el resultado. además para un arduino también es más sencillo codificar a Hexadeciaml que por ejemplo Base64.
Cifrar:
Código:
// nota: pwd y msg por eficiencia convendría que fueran arrays de bytes, pero se muestran como cadenas, con la idea de ver su contenido...
pwd = "engel lex"
msg = "pero RC4 lo recuerdo como un algoritmo de hash"
call Rc4(pwd, msg)

cif = ToHex(msg)
print cif

Conteido de cif:
"D2B3445B5601E9FAF3DFFB06582E993AB46115096BC2DD3A264E0CE9142A53E392F28C19512007704DC5D34F2A65"

descifrar:
Código:
// si se conserva msg, usarlo tal cual, si no convertir 'cif'
msg = FromHex(cif)
call Rc4(pwd, msg)
print msg

Contenido de msg:
"pero RC4 lo recuerdo como un algoritmo de hash"


Aquí una página online para probar...
-http://rc4.online-domain-tools.com/


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: engel lex en 28 Enero 2020, 18:49 pm
sorry tienes razon lo estaba confundiendo con CRC4, que se usa por lo menos en lan


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Serapis en 28 Enero 2020, 18:57 pm
Sí, RC4 está detrás de WEP...


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: BloodSharp en 28 Enero 2020, 22:07 pm
Hay una implementación de RC4 en el foro (https://foro.elhacker.net/programacion_cc/encriptacion_rc4arc4-t210711.0.html;msg1000447#msg1000447) desde hace varios años...


B#


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: engel lex en 28 Enero 2020, 22:14 pm
hmm interesante aunque super simple...sería bueno por lo menos añadir una funcion de bloque, una ronda de desplazamiento de bits y tal vez una tabla de de mezcla (robarsela a rijandel :xD), no agregaría mucho peso, pero ayudaría bastante al cifrado


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Serapis en 28 Enero 2020, 22:33 pm
Pués revisando el código, debo decir que contiene errores...

Tras el segundo bucle 'i' y 'j' deben ponerse a cero...


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: BloodSharp en 28 Enero 2020, 22:54 pm
Pués revisando el código, debo decir que contiene errores...

Tras el segundo bucle 'i' y 'j' deben ponerse a cero...

A mí en su momento me funcionó correctamente tanto para cifrado y descifrado...


B#


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Serapis en 28 Enero 2020, 23:16 pm
Si, cifrará y descifrará lo propio que cifró, correctamente...

...pero no descifrará bien lo que se cifró en otra parte con el algoritmo adecuadamente implementado, y viceversa lo que se cifre con dicha implementación no será descifrado correctamente en las implementaciones correctas.


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Garfius1 en 29 Enero 2020, 09:28 am
Wow, que alegria, cuantas respuestas!

En este caso el tiempo no es un factor importante, incluso se puede tolerar 1 segundo.

He estado realizando pruebas con AES 256 y se me come casi todos los recursos de un  Atmega328P.

En primer lugar, el objetivo no es realizar pràcticas, RC4 es divertido, pero la seguridad es importante en este caso. He encontrado RSA para ESP32, pero no lo pienso usar, ya que lleva antennas que quizás puedan ser vulnerables. Y estoy evaluando hacer un port a un teensy.

Por otro lado.
Os parece buena idea usar entradas analógicas de arduino uara mejorar el generador de aletoriedad? (un micro/sensor de luz)

Opinais que merece la pena usar elipticos diffie-hellman o con AES ya basta?

Ui Ar De BeST, gracias gente!  ;-)


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: engel lex en 29 Enero 2020, 14:26 pm
hablas de AES y RSA/ECDH como intercambiables y no... son lios diferentes... RSA/ECDH no se usa para cifrado general, su peso es demasiado alto... se usa como medio seguro de intercambio de contraseña... lo que se usa generalmente es AES para la data

sobre usar un sensor ambiental para ayudar a la generación de aleatoriedad, hay papers y papers sobre ello, en pocas palabras está buen, pero no uses algo que alguien pueda alterar a distancia, como luz, sonido, etc, recuerda que oscuridad no es seguridad (que no digas de donde se alimenta el generador no quiere decir que nadie se vaya a enterar)


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Garfius1 en 29 Enero 2020, 18:02 pm
Correcto(RSA/ECDH no se usa para cifrad), por eso he dicho mensajes cortos y que se puede contemplar incluso un segundo para cifrar/descifrar.

La idea es que los mensajes(pequeños) sean de un tamaño màximo que permita cifrar RSA, de unas dimensiones parecidas al tamaño de una clave AES. Y así usar siempre eliptico, evitando cifrado de bloque.

Hehe, buen consejo para el generador de aletoriedad, pensaba en usar posicionamiento de destellos en el mar, por webcam.

Pero volviendo al tema... Como ves cifrar mini-mensajes por RSA?

Muchas gracias.


Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: engel lex en 29 Enero 2020, 19:12 pm
no tiene punto, lo del rsa, establece un canal seguro permanente (o semi permanente de larga duracion) y comunicate por el...

si usas rsa 2 paquetes seran iguales si sus mensajes son iguales y tendrás problemas de ataques por analisis predictivo... eso lo resuelve aes...



Título: Re: Que cifrado escojer? (Un consejo, porfa)
Publicado por: Serapis en 29 Enero 2020, 23:46 pm
En primer lugar, el objetivo no es realizar pràcticas, RC4 es divertido, pero la seguridad es importante en este caso.

Bien, por eso señalaba que:
...
Si es para algo más que práctica, haz una variante del RC4, que corrija precisamente sus vulnerabilidades...