Articles of cifrado

Cómo generar clave pública y privada única a través de RSA

Estoy construyendo un carrito de compras personalizado donde los números de CC y la fecha de Exp. Se almacenarán en una base de datos hasta que se procesen (luego se eliminarán). Necesito cifrar esta información (obviamente). Quiero usar la clase RSACryptoServiceProvider. Aquí está mi código para crear mis llaves. public static void AssignNewKey(){ const int […]

Java AES 128 encriptado de forma diferente a openssl

Nos hemos encontrado con una situación extraña en la que el método de encriptación que estamos usando en Java produce un resultado diferente al de openssl, a pesar de que tienen una configuración idéntica. Usando la misma tecla y IV, el texto “¡El rápido zorro castaño salta sobre el perro perezoso!” encripta a cadenas de […]

Seguridad de mensaje WCF sin certificado y autenticación de ventanas

Tengo un servicio WCF y un cliente que se implementará en varias compañías (cientos). Algunas compañías ejecutarán el software en su red y algunas lo ejecutarán a través de Internet (servidor WCF en la oficina, cliente WCF en otra). Queremos encriptar la comunicación entre el servidor WCF y el cliente. No tenemos ninguna necesidad de […]

Cifrado / descifrado de archivos de gran tamaño (.NET)

Tengo que encriptar, almacenar y luego descifrar archivos de gran tamaño. ¿Cuál es la mejor manera de hacer eso? Escuché que el cifrado de RSA es caro y se me recomendó usar RSA para encriptar una clave AES y luego usar la clave AES para encriptar los archivos grandes. Cualquier sugerencia con el ejemplo será […]

¿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). […]

Java: cifra / descifra el nombre de usuario y la contraseña de un archivo de configuración

Estamos ocupados desarrollando un servicio web Java para un cliente. Hay dos opciones posibles: Almacene el nombre de usuario / contraseña encriptados en el cliente del servicio web. Leer desde una configuración archivo en el lado del cliente, descifrar y enviar. Almacene el nombre de usuario / contraseña encriptados en el servidor web. Leer desde […]

¿Cómo funciona un generador de números aleatorios criptográficamente seguro?

Entiendo cómo funcionan los generadores de números aleatorios estándar. Pero cuando se trabaja con criptografía, los números aleatorios realmente tienen que ser aleatorios. Sé que hay instrumentos que leen el ruido blanco cósmico para ayudar a generar hashes seguros, pero su PC estándar no tiene esto. ¿Cómo obtiene un generador de números aleatorios criptográficamente seguro […]

¿Qué algoritmo de encriptación de bloque “bueno” tiene la salida más corta?

Me gustaría dar a los clientes un número de pedido de aspecto aleatorio, pero use 0, 1, 2, … en el back-end. De esta forma, el cliente obtiene una URL de estado de pedido sin contraseña con el número de orden cifrado y no puede mirar los números de pedido de otros clientes agregando o […]

¿Por qué una contraseña incorrecta causa “el relleno no es válido y no se puede eliminar”?

Necesitaba un cifrado simple de cadenas, así que escribí el siguiente código (con una gran cantidad de “inspiración” a partir de aquí ): // create and initialize a crypto algorithm private static SymmetricAlgorithm getAlgorithm(string password) { SymmetricAlgorithm algorithm = Rijndael.Create(); Rfc2898DeriveBytes rdb = new Rfc2898DeriveBytes( password, new byte[] { 0x53,0x6f,0x64,0x69,0x75,0x6d,0x20, // salty goodness 0x43,0x68,0x6c,0x6f,0x72,0x69,0x64,0x65 } […]

¿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 / […]