Ich habe die Aufgabe, Datenbanktabellen in Oracle zu erstellen, die verschlüsselte Zeichenfolgen enthalten (d. h. die Spalten sind RAW). Die Zeichenfolgen werden von der Anwendung verschlüsselt (mit AES, 128-Bit-Schlüssel) und in Oracle gespeichert, dann später aus Oraclean abgerufen und entschlüsselt (dh Oracle selbst sieht die unverschlüsselten Zeichenfolgen nie).
Ich bin gekommen Ich mache mir Sorgen, dass jemand die beiden Werte bemerkt und vermutlich herausfindet, um den AES-Schlüssel herauszufinden.
Zum Beispiel, wenn jemand die Spalte sieht ist entweder Chiffretext Nr. 1 oder Nr. 2:
-
Chiffretext Nr. 1:
BF, 4F, 8B, FE, 60, D8,33, 56, 1B, F2,35,72, 49,20, DE, C6.
-
Chiffretext Nr. 2:
BC, E8,54, BD, F4, B3,36,3B, DD, 70,76,45, 29,28,50,07.
und kennt die entsprechenden Klartexte:
-
Klartext # 1 ("Detroit"):
44,00,65,00, 74,00 , 72,00, 6F, 00,69,00, 74,00,00,00.
-
Klartext Nr. 2 ("Chicago"):
43,00,68,00, 69,00,63,00, 61,00,67,00, 6F, 00,00,00.
kann er daraus schließen, dass die Verschlüsselung Der Schlüssel ist "Buffalo"?
42,00,75,00, 66,00,66,00, 61,00,6C, 00, 6F, 00,00,00.
Ich denke, dass es nur einen 128-Bit-Schlüssel geben sollte, der Klartext Nr. 1 in Chiffretext Nr. 1 konvertieren könnte. Bedeutet dies, dass ich zu einem 192-Bit- oder 256-Bit-Schlüsselinstead gehen sollte oder eine andere Lösung finden?
(Nebenbei bemerkt, hier sind zwei weitere Chiffretexte für denselben Klartext, aber mit einem anderen Schlüssel.)
-
Chiffretext # 1 A ("Detroit"):
E4,28,29, E3, 6E, C2,64, FA, A1, F4, F4,96, FC, 18,4A, C5.
-
Chiffretext Nr. 2 A ("Chicago"):
EA, 87,30, F0, AC, 44, 5D, ED, FD, EB, A8,79, 83,59,53, B7.
[Verwandte Frage: Bei Verwendung von AES und CBC, kann die IV ein Hash des Klartextes sein?]