Tengo la tarea de crear tablas de base de datos en Oracle que contienen cifrado cadenas (es decir, las columnas son RAW). Las cadenas están encriptadas por la aplicación. (usando AES, clave de 128 bits) y almacenado en Oracle, luego recuperado de Oracle y descifrado (es decir, el propio Oracle nunca ve las cadenas no cifradas).
Me he topado con esta columna que será una de las dos cadenas. Me preocupa que alguien se dé cuenta y presumiblemente descubra qué esos dos valores para averiguar la clave AES.
Por ejemplo, si alguien ve que la columna es Ciphertext # 1 o # 2:
-
Ciphertext # 1:
BF,4F,8B,FE, 60,D8,33,56, 1B,F2,35,72, 49,20,DE,C6.
-
Ciphertext # 2:
BC,E8,54,BD, F4,B3,36,3B, DD,70,76,45, 29,28,50,07.
y conoce los Plaintexts correspondientes:
-
Texto sin formato # 1 ("Detroit"):
44,00,65,00, 74,00,72,00, 6F,00,69,00, 74,00,00,00.
-
Texto sin formato # 2 ("Chicago"):
43,00,68,00, 69,00,63,00, 61,00,67,00, 6F,00,00,00.
¿Puede deducir que la clave de cifrado es "Buffalo"?
42,00,75,00, 66,00,66,00, 61,00,6C,00, 6F,00,00,00.
Estoy pensando que solo debería haber una clave de 128 bits que podría convertir Plaintext # 1 a Ciphertext # 1. ¿Significa esto que debo ir a una clave de 192 bits o 256 bits? en su lugar, o encontrar alguna otra solución?
(A un lado, aquí hay otros dos textos cifrados para las mismas palabras, pero con una clave diferente.)
-
Ciphertext # 1 A ("Detroit"):
E4,28,29,E3, 6E,C2,64,FA, A1,F4,F4,96, FC,18,4A,C5.
-
Ciphertext # 2 A ("Chicago"):
EA,87,30,F0, AC,44,5D,ED, FD,EB,A8,79, 83,59,53,B7.
[Pregunta relacionada: Al utilizar AES y CBC, ¿puede el IV ser un hash del texto en claro? ]