Que cifrado escojer? (Un consejo, porfa)

Iniciado por Garfius1, 28 Enero 2020, 10:39 AM

0 Miembros y 1 Visitante están viendo este tema.

Garfius1

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.

Serapis

#1
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...

engel lex

Cita de: NEBIRE en 28 Enero 2020, 17:35 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)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Serapis

#3
Cita de: engel lex en 28 Enero 2020, 17:46 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...

engel lex

pero RC4 lo recuerdo como un algoritmo de hash
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Serapis

#5
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:

// 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:

// 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/

engel lex

sorry tienes razon lo estaba confundiendo con CRC4, que se usa por lo menos en lan
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Serapis


BloodSharp

Hay una implementación de RC4 en el foro desde hace varios años...


B#



engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.