Estoy trabajando en criptografía Java. Encontré que RSA / ECB / [somePadding] no es seguro. ¿Qué modos se pueden usar para RSA y Elgamal respectivamente? Quiero implementar ambos y analizar el rendimiento.
Al contrario de lo que ha leído, y de los comentarios que recibió sobre su pregunta, RSA en cualquier "modo" que no sea el BCE es una idea terrible en todas las situaciones . Si necesita criptografía de clave privada y debe cifrar más de ~ 240 bytes de datos, entonces el cifrado híbrido es el camino a seguir. Nunca utilice RSA como cifrado de bloque.
La razón por la que cité el "modo" anterior es porque RSA no usa un modo de cifrado, simplemente porque RSA no es un cifrado de bloque. Creo que la razón por la que estás confundido, y la razón por la que los comentaristas anteriores están confundidos, es porque la API de Java Crypto espera el segundo valor si también quieres definir el relleno, y el BCE es el único que tiene sentido. También puedes usar None
, creo.
Recuerde que esto es específico para RSA. RSA en "modo ECB" es bueno . RSA en cualquier otro "modo" es malo . El cifrado simétrico en modo ECB es malo .
TL; DR: Lo que estás haciendo es seguro. Esa una parte específica. No puedo hablar por ninguna otra parte de su proyecto.
Lea otras preguntas en las etiquetas cryptography