Modelo de criptografía de .NET Framework

.NET Framework proporciona implementaciones de numerosos algoritmos criptográficos estándar. Estos algoritmos son fáciles de utilizar y disponen de las propiedades predeterminadas más seguras. Además, el modelo de criptografía de .NET Framework de la herencia de objetos, el diseño de las secuencias y la configuración son muy extensibles.

Herencia de objetos

El sistema de seguridad de .NET Framework implementa un modelo extensible de herencia de clases derivadas. La jerarquía es la siguiente:

  • Clase de tipo de algoritmo, como SymmetricAlgorithm o HashAlgorithm. Este nivel es abstracto.

  • Clase de algoritmo que hereda de una clase de tipo de algoritmo, por ejemplo RC2 o SHA1. Este nivel es abstracto.

  • Implementación de una clase de algoritmo que hereda de una clase de algoritmo; por ejemplo, RC2CryptoServiceProvider o SHA1Managed. Este nivel está completamente implementado.

Con este modelo de clases derivadas, resulta fácil agregar un nuevo algoritmo o una nueva implementación de un algoritmo existente. Por ejemplo, para crear un nuevo algoritmo de clave pública, heredaría de la clase AsymmetricAlgorithm. Para crear una nueva implementación de un algoritmo específico, crearía una clase derivada no abstracta de ese algoritmo.

Diseño de secuencias

Common Language Runtime utiliza un diseño basado en secuencias para implementar algoritmos simétricos y algoritmos hash. El núcleo de este diseño es la clase CryptoStream, que se deriva de la clase Stream. Todos los objetos criptográficos basados en secuencias admiten una interfaz estándar única (CryptoStream) para controlar la parte de transferencia de datos del objeto. Como todos los objetos se integran en una interfaz estándar, puede encadenar varios objetos (como un objeto hash seguido de un objeto de cifrado) y puede realizar diversas operaciones en los datos sin necesidad de disponer de almacenamiento intermedio. El modelo de secuencias también permite generar objetos a partir de objetos más pequeños. Por ejemplo, un cifrado combinado y un algoritmo hash pueden verse como un solo objeto de secuencia aunque este objeto podría generarse a partir de un conjunto de objetos de secuencia.

Configuración criptográfica

La configuración criptográfica permite resolver una implementación específica de un algoritmo con un nombre de algoritmo, permitiendo la extensibilidad de las clases de criptografía de .NET Framework. Puede agregar su propia implementación de hardware o software de un algoritmo y asignarle el nombre del algoritmo que elija. Si no se especifica un algoritmo en el archivo de configuración, se utilizará la configuración predeterminada. Para obtener más información acerca de la configuración criptográfica, vea Configurar clases de criptografía.

Vea también

Conceptos

Información general sobre criptografía

Otros recursos

Tareas criptográficas
Servicios criptográficos