Die zweite Option ist sicherer.
Ihre Methode bietet keine Nachrichtenintegrität. Dies bedeutet, dass ein Angreifer Teile des Chiffretextes ändern und ändern kann, wofür der einfache Text entschlüsselt wird. Solange sie nichts ändern, das Ihre statische 32-Bit-Signatur verändert, werden Sie ihr vertrauen. Die HMAC in der zweiten Methode bietet Nachrichtenintegrität.
Wenn Sie den Schlüssel 8192 -mal gehabt haben, werden zusätzliche Berechnungsschritte hinzugefügt, die jemand versuchen können, den Schlüssel zu versuchen. Angenommen, ein Benutzer wählt ein wörterbuchbasiertes Passwort aus. Mit Ihrer Methode muss ein Angreifer ausführen SHA256(someguess)
Und dann versuche zu entschlüsseln. Mit der Polarssl -Version müssen sie jedoch berechnen SHA256(SHA256(SHA256...(SHA256(someguess)))
für 8192 Mal. Dies wird nur einen Angreifer verlangsamen, aber es könnte (vorerst) ausreichen.
Verwenden Sie für das, was es wert ist, bitte eine vorhandene Bibliothek. Die Kryptographie ist schwierig und neigt für subtile Fehler.