La deuxième option est plus sécurisée.
Votre méthode ne fournit aucune intégrité de message. Cela signifie qu'un attaquant peut modifier des parties du texte chiffré et modifier à quoi le texte brut se décrypte. Tant qu'ils ne modifient rien qui modifiera votre signature statique 32 bits, vous y ferez confiance. Le HMAC sur la deuxième méthode fournit l'intégrité du message.
En hachant la clé 8192, il ajoute des étapes de calcul supplémentaires pour que quelqu'un puisse essayer la clé. Supposons qu'un utilisateur choisira un mot de passe basé sur le dictionnaire. Avec votre méthode, un attaquant doit effectuer SHA256(someguess)
Et puis essayez de décrypter. Cependant, avec la version Polarssl, ils devront calculer SHA256(SHA256(SHA256...(SHA256(someguess)))
pour 8192 fois. Cela ne fera que ralentir un attaquant, mais cela pourrait suffire (pour l'instant).
Pour ce que cela vaut, veuillez utiliser une bibliothèque existante. La cryptographie est difficile et est sujette à des erreurs subtiles.