Rijndael, chiffrieren von Datenbank-Inhalten

Algorithmus

Mittels Rijndael [1], den in MySQL eingebauten Kryptologie-Funktionen
„AES_ENCRYPT“ und „AES_DECRYPT“, lassen sich ohne viel Programmier-Kenntnis einzelne Datenbank-Felder wirksam verschlüsseln.

Datenbank-Schema:

 CREATE TABLE `cryptosafe` (
   `prn` int(12) NOT NULL AUTO_INCREMENT,
   `text` blob NOT NULL,
   PRIMARY KEY (`prn`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Insert-Statement

 INSERT INTO cryptosafe VALUES (1, AES_ENCRYPT("test-text", "passwort"));

Update-Statement

 UPDATE cryptosafe set text=AES_ENCRYPT("text-test", "passwort" ) where prn=1;

Select-Statement

 SELECT prn, AES_DECRYPT(text, "passwort") from cryptosafe where prn=1;

 

Rijndael – AES-Algorithmus


Rijndael_Cipher_AES

Unter Rijndael versteht man einen symmetrischen Algorithmus mit einer flexiblen Blockgröße von 128, 192 bzw. 256 Bit. ( 128 Bit > 16 Byte )

Jeder Block wird in eine zweidimensionales Array-Feld mit vier Zeilen geschrieben, dessen Inhalte ein Byte groß sind.
Die Anzahl der Spalten variiert von 4 (128 Bit) bis 8 (256 Bit). Jeder Block wird nun abfolgend definierten Transformationen unterzogen.

Anstatt jeden Block einmal mit dem Key zu Chiffrieren, wendet AES unterschiedliche Teile eines Schlüssels nacheinander auf den Klartext-Bereich an. Die Anzahl dieser Runden (R) variiert und ist von Schlüssellänge (SL) und Blockgröße (BG) abhängig

RBG = 128BG = 256
SL = 1281014
SL = 2561414

Je nach Blocklänge BG und Schlüssellänge SL wird die Anzahl der Runden bestimmt (10 oder 14)

 
 

… und kurz noch was zu Passworten

Die Sicherheit der Verschlüsselung ist direkt von Ihrem Passwort [2] abhängig.
Je schwieriger Ihr Passwort aufgebaut ist, desto besser sind Ihre Daten verschlüsselt. Sie sollten immer ein Passwort wählen, das zufällig gewählte (Gross und Klein)-Buchstaben, Zahlen und Sonderzeichen enthält.
Einfache Passworte können innerhalb weniger Minuten geknackt werden ( z.b. mit John [3] ).

 

[1] http://de.wikipedia.org/wiki/Advanced_Encryption_Standard
[2] http://de.wikipedia.org/wiki/Passwort
[3] http://de.wikipedia.org/wiki/John_the_Ripper