Sommaire

Chiffrement symétrique en C#

Plusieurs algorithmes sont disponibles sur la plateforme .Net. Les principaux algorithmes symétriques en C# sont :

  • RijndaelManaged

  • AesManaged

  • DES

  • TripleDES

Autant que possible, il faut utiliser l’algorithme symétrique Rijndael. Pour ce faire, on utilise donc la classe RijndaelManaged qui expose les méthodes suivantes :

  • CreateEncryptor qui permet de créer un chiffrement AES,

  • CreateDecryptor qui permet de créer un déchiffrement AES.

La classe expose également les propriétés suivantes :

  • Key qui est la clé utilisée pour le chiffrement et le déchiffrement,

  • IV qui permet de définir un vecteur d’initialisation. Ceci n’est pas obligatoire.

La méthode suivante permet le chiffrement selon l’algorithme de Rijndael :

        private static string Chiffrement(string strChaîne, string 
strClé, string strIv)  
        {  
            byte[] chaine = Encoding.UTF8.GetBytes(strChaîne);  
  
            byte[] clé = Encoding.UTF8.GetBytes(strClé);  
  
            byte[] iv = Encoding.UTF8.GetBytes(strIv);  
  
            RijndaelManaged rijndael = new RijndaelManaged();  
  
            rijndael.Mode = CipherMode.CBC;  
  
         ...