Für mich ist das eine Fragestellung an der Grenze der Unsinnigkeit.
Da die Daten weiterverwendet werden sollen, muß die Verschlüsselung reversibel sein. Kommt man an die Daten und gleichzeitig an den Verschlüsselungs-/Entschlüsselungscode, ist die Verschlüsselung geknackt.
Kommt man aber an die Daten, dann ist dies das große Problem - sprich: Es muß dafür gesorgt werden, daß dies nicht passiert - das betrifft die Architektur der gesamten Anwendung.
Die Verschlüsselung von Nutzerdaten in der Datenbank (die die Suchalgorithmen der Datenbank unterläuft) wirkt auf mich immer wie eine Scheinsicherheit, die an den eigentlichen Problemen vorbeigeht.
PS: Es gab mal im Xing (war schon vor zwei oder drei Jahren) eine Firma mit Webanwendungen. Die warben damit, daß sie die Daten verschlüsselt abspeichern würden, so daß nur die Besitzer da rankommen könnten. Sorry - das ist albern - wer in den Code eine Verschlüsselung einbauen kann, kann auch eine Backdoor für die Entschlüsselung einbauen. Umgekehrt gibt es bei mir wiederholt die Situation, daß Kunden irgendein Problem mit ihren tatsächlichen Daten haben. Da ist es entscheidend, daß ich schnell an die Klartextdaten rankomme - nicht, um sie zu mißbrauchen, sondern um das Problem des Kunden lösen zu können. Banales Beispiel: Externer gibt Termin ein, Termin fehlt in einer Monatsansicht, taucht aber woanders auf - Datum 05.2005 statt 05.2008 fehlt natürlich im Mai 2008, ein simpler Vertipper.