Articles of criptografía de

javax.crypto.BadPaddingException

Estoy trabajando en el algoritmo AES, y tengo esta excepción que no pude resolver. javax.crypto.BadPaddingException: Given final block not properly padded at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA13*..) at javax.crypto.Cipher.doFinal(DashoA13*..) la excepción ocurre en la parte de descifrado. Inicializo la clave en un lugar diferente de donde está el algoritmo de descifrado KeyGenerator kgen = KeyGenerator.getInstance(“AES”);//key […]

Demasiados datos para el bloque RSA fallan. ¿Qué es PKCS # 7?

Hablando de javax.crypto.Cipher Intentaba cifrar datos usando Cipher.getInstance(“RSA/None/NoPadding”, “BC”) pero obtuve la excepción: ArrayIndexOutOfBoundsException: demasiados datos para el bloque RSA Parece que hay algo relacionado con el “NoPadding”, por lo tanto, al leer sobre el relleno, parece que CBC es el mejor enfoque para usar aquí. Encontré en google algo sobre “RSA / CBC / […]

¿Cómo implementar protección con contraseña para archivos individuales?

Estoy escribiendo una pequeña aplicación de escritorio que debería poder encriptar un archivo de datos y protegerlo con una contraseña (es decir, uno debe ingresar la contraseña correcta para descifrar). Quiero que el archivo de datos encriptados sea autónomo y portátil, por lo que la autenticación debe estar integrada en el archivo (o eso supongo). […]

Cifrado de Android

Estoy trabajando en una aplicación de Android y necesito usar encriptación para un aspecto de ella. Realmente soy indiferente a qué algoritmo utilizo (AES, DES, RSA, etc.). Soy consciente de que Java tiene un paquete de cifrado, pero no estoy familiarizado con él en absoluto. ¿Alguien puede publicar un ejemplo sobre cómo hacer una función […]

¿Debo usar un vector de inicialización (IV) junto con mi encriptación?

¿Se recomienda utilizar un vector de inicialización para cifrar / descifrar mis datos? ¿Hará las cosas más seguras? ¿Es una de esas cosas que debe evaluarse caso por caso? Para poner esto en contexto real, la función Criptografía Win32, CryptSetKeyParam permite la configuración de un vector de inicialización en una clave antes de cifrar / […]

Cifrado AES de iOS: error al cifrar

En mi proyecto, tuve que implementar AES 128 CBC Encryption. Estoy usando Categoría y está basado en NSData. Este es mi código de encriptación: – (NSData*)AES128Decrypt { char ivPtr[kCCKeySizeAES128 + 1]; bzero(ivPtr, sizeof(ivPtr)); // fetch iv data [iv getCString:ivPtr maxLength:sizeof(ivPtr) encoding:NSUTF8StringEncoding]; // ‘key’ should be 32 bytes for AES256, will be null-padded otherwise char keyPtr[kCCKeySizeAES128 […]

Cifre las cookies en ASP.NET

Me gustaría cifrar las cookies en ASP.NET. He seguido el método en este artículo , pero tiene el inconveniente de que utiliza la reflexión sobre un método interno. Esto ha provocado que se marque en una revisión del código; no es a prueba de futuro ya que la implementación interna puede cambiar. ¿Hay algún método […]

¿Cuál es la semilla más segura para la generación de números aleatorios?

¿Cuáles son las fonts de entropía más seguras para generar un generador de números aleatorios? Esta pregunta es independiente del lenguaje y la plataforma y se aplica a cualquier máquina en una red. Idealmente, estoy buscando fonts disponibles para una máquina en un entorno de nube o servidor proporcionado por una empresa de hosting. Hay […]

¿Cómo cifrar o descifrar con Rijndael y un tamaño de bloque de 256 bits?

Por ciertas razones, necesito implementar Rijndael de / compression con un tamaño de bloque de 256 bits en lugar de AES que usa un tamaño de bloque de 128 bits (razón: los datos se cifran en PHP usando Rijndael …). ¿Cómo puedo cambiar el tamaño de bloque para un cifrado? Si solo obtengo un cifrado […]

¿Por qué es una vulnerabilidad usar un IV no aleatorio con modo CBC?

Entiendo el propósito de un IV. Específicamente en modo CBC, esto asegura que el primer bloque de 2 mensajes cifrados con la misma clave nunca serán idénticos. Pero, ¿por qué es una vulnerabilidad si los IV son secuenciales? Según CWE-329 , las IV no aleatorias permiten la posibilidad de un ataque de diccionario. Sé que […]