Partager via


Modèle de chiffrement de .NET Framework

Mise à jour : novembre 2007

Le .NET Framework fournit des implémentations de plusieurs algorithmes de chiffrement standard. Ces algorithmes sont faciles à utiliser et possèdent les propriétés par défaut les plus sécurisées possibles. En outre, le modèle de chiffrement de .NET Framework d'héritage d'objet, le design de flux et la configuration sont particulièrement extensibles.

Héritage d'objet

Le système de sécurité .NET Framework implémente un modèle extensible d'héritage de classe dérivée. La hiérarchie est la suivante :

  • Classe de type algorithme, telle que SymmetricAlgorithm ou HashAlgorithm. Ce niveau est abstrait.

  • Classe d'algorithme qui hérite d'une classe de type algorithme ; par exemple RC2 ou SHA1. Ce niveau est abstrait.

  • Implémentation d'une classe d'algorithme qui hérite d'une classe d'algorithme ; par exemple RC2CryptoServiceProvider ou SHA1Managed. Ce niveau est totalement implémenté.

À l'aide de ce modèle de classes dérivées, il est facile d'ajouter un nouvel algorithme ou une nouvelle implémentation d'un algorithme existant. Par exemple, pour créer un nouvel algorithme de clé publique, vous héritez à partir de la classe AsymmetricAlgorithm. Pour créer une nouvelle implémentation d'un algorithme spécifique, vous créez une classe dérivée non abstraite de cet algorithme.

Design de flux

Le Common Language Runtime utilise un design orienté flux pour implémenter des algorithmes symétriques et des algorithmes de hachage. Le cœur de ce design est la classe CryptoStream, qui dérive de la classe Stream. Les objets de chiffrement à base de flux prennent tous en charge une seule interface standard (CryptoStream) pour le traitement de la portion transfert de données de l'objet. Comme tous les objets sont construits sur une interface standard, vous pouvez enchaîner ensemble de multiples objets (comme un objet de hachage suivi d'un objet de chiffrement), et vous pouvez effectuer de multiples opérations sur les données sans avoir besoin de stockage intermédiaire pour ces données. Le modèle de diffusion en continu vous permet également de construire des objets à partir d'objets plus petits. Par exemple, un algorithme de hachage et de chiffrement combiné peut être considéré comme un unique objet de flux même si cet objet est formé d'un jeu d'objets de flux.

Configuration de chiffrement

La configuration de chiffrement vous permet de résoudre une implémentation spécifique d'un algorithme en un nom d'algorithme permettant l'extensibilité des classes de chiffrement du .NET Framework. Vous pouvez ajouter votre propre implémentation logicielle ou matérielle d'un algorithme et faire correspondre cette implémentation au nom d'algorithme de votre choix. Si un algorithme n'est pas spécifié dans le fichier de configuration, les paramètres par défaut sont utilisés. Pour plus d'informations sur la configuration de chiffrement, consultez Configuration de classes de chiffrement.

Voir aussi

Concepts

Vue d'ensemble du chiffrement

Autres ressources

Tâches de chiffrement

Services de chiffrement