DSA DSA DSA DSA Class

Définition

Représente la classe de base abstraite dont toutes les implémentations de Digital Signature Algorithm (DSA) doivent hériter.Represents the abstract base class from which all implementations of the Digital Signature Algorithm (DSA) must inherit.

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
Héritage
Dérivé
Attributs

Remarques

Vous pouvez utiliser la classe DSA et les classes dérivées pour créer des signatures numériques qui contribuent à protéger l’intégrité de vos données.You can use the DSA class and derived classes to create digital signatures that help protect the integrity of your data. La DSACryptoServiceProvider fournit une implémentation de cette classe.The DSACryptoServiceProvider provides an implementation of this class.

Pour utiliser un système à clé publique pour signer numériquement un message, l’expéditeur applique d’abord une fonction de hachage au message pour créer une synthèse du message.To use a public-key system to digitally sign a message, the sender first applies a hash function to the message to create a message digest. L’expéditeur chiffre ensuite le condensé de message avec la clé privée de l’expéditeur pour créer la signature personnelle de l’expéditeur.The sender then encrypts the message digest with the sender's private key to create the sender's personal signature. Lors de la réception du message et de la signature, le récepteur déchiffre la signature à l’aide de la clé publique de l’expéditeur pour récupérer le résumé du message et hache le message à l’aide du même algorithme de hachage que celui utilisé par l’expéditeur.Upon receiving the message and signature, the receiver decrypts the signature using the sender's public key to recover the message digest and hashes the message using the same hash algorithm that the sender used. Si la synthèse du message que le récepteur calcule correspond exactement à la synthèse du message reçue de l’expéditeur, le destinataire peut supposer que le message n’a pas été modifié en cours de transit.If the message digest that the receiver computes exactly matches the message digest received from the sender, the receiver can assume that the message was not altered while in transit. Notez qu’une signature peut être vérifiée par n’importe qui, car la clé publique de l’expéditeur est une connaissance commune.Note that a signature can be verified by anyone, because the sender's public key is common knowledge.

Important

Des algorithmes asymétriques plus récents sont disponibles.Newer asymmetric algorithms are available. Envisagez d’utiliser la classe RSA ou la classe ECDsa au lieu de la classe DSA.Consider using the RSA class or the ECDsa class instead of the DSA class. Utilisez DSA uniquement pour la compatibilité avec les applications et les données héritées.Use DSA only for compatibility with legacy applications and data.

Il existe deux versions différentes de l’algorithme DSA.Two different versions of the DSA algorithm exist. Le formulaire d’origine, décrit dans FIPS 186-2, requiert l’utilisation de SHA-1 comme algorithme de hachage et prend en charge des longueurs de clé de 512 bits à 1024 bits par incréments de 64 bits.The original form, described in FIPS 186-2, requires the use of SHA-1 as the hash algorithm and supports key lengths from 512 bits to 1024 bits in increments of 64 bits. Une version mise à jour de l’algorithme a été décrite dans la norme FIPS 186-3, qui permettait l’utilisation de la famille SHA-2 d’algorithmes de hachage et une prise en charge supplémentaire des clés de bits 2048 et des clés de 3072 bits.An updated version of the algorithm was described in FIPS 186-3, which enabled the use of the SHA-2 family of hash algorithms and added support for 2048 bit keys and 3072 bit keys. Toutes les implémentations dérivées de ce type ne prennent pas en charge les améliorations FIPS 186-3 sur DSA.Not all derived implementations of this type support the FIPS 186-3 enhancements to DSA. La prise en charge peut être détectée via la propriété LegalKeySizes.Support can be detected via the LegalKeySizes property.

Constructeurs

DSA() DSA() DSA() DSA()

Initialise une nouvelle instance de la classe DSA.Initializes a new instance of the DSA class.

Méthodes

Clear() Clear() Clear() Clear()

Libère toutes les ressources utilisées par la classe AsymmetricAlgorithm.Releases all resources used by the AsymmetricAlgorithm class.

(Inherited from AsymmetricAlgorithm)
Create() Create() Create() Create()

Crée l'objet de chiffrement par défaut utilisé pour exécuter l'algorithme asymétrique.Creates the default cryptographic object used to perform the asymmetric algorithm.

Create(DSAParameters) Create(DSAParameters) Create(DSAParameters) Create(DSAParameters)

Crée une clé DSA éphémère avec les paramètres de clé DSA spécifiés.Creates a new ephemeral DSA key with the specified DSA key parameters.

Create(Int32) Create(Int32) Create(Int32) Create(Int32)

Crée une clé DSA éphémère avec la taille de clé spécifiée.Creates a new ephemeral DSA key with the specified key size.

Create(String) Create(String) Create(String) Create(String)

Crée l'objet de chiffrement spécifié utilisé pour exécuter l'algorithme asymétrique.Creates the specified cryptographic object used to perform the asymmetric algorithm.

CreateSignature(Byte[]) CreateSignature(Byte[]) CreateSignature(Byte[]) CreateSignature(Byte[])

Substitué dans une classe dérivée, crée la signature DSA pour les données spécifiées.When overridden in a derived class, creates the DSA signature for the specified data.

Dispose() Dispose() Dispose() Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe AsymmetricAlgorithm.Releases all resources used by the current instance of the AsymmetricAlgorithm class.

(Inherited from AsymmetricAlgorithm)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libère les ressources non managées utilisées par la classe AsymmetricAlgorithm et libère éventuellement les ressources managées.Releases the unmanaged resources used by the AsymmetricAlgorithm class and optionally releases the managed resources.

(Inherited from AsymmetricAlgorithm)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur l’octet.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a byte-based password.

(Inherited from AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur char.Exports the current key in the PKCS#8 EncryptedPrivateKeyInfo format with a char-based password.

(Inherited from AsymmetricAlgorithm)
ExportParameters(Boolean) ExportParameters(Boolean) ExportParameters(Boolean) ExportParameters(Boolean)

En cas de remplacement dans une classe dérivée, exporte les éléments DSAParameters.When overridden in a derived class, exports the DSAParameters.

ExportPkcs8PrivateKey() ExportPkcs8PrivateKey() ExportPkcs8PrivateKey() ExportPkcs8PrivateKey()

Exporte la clé actuelle au format PKCS#8 PrivateKeyInfo.Exports the current key in the PKCS#8 PrivateKeyInfo format.

(Inherited from AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo() ExportSubjectPublicKeyInfo() ExportSubjectPublicKeyInfo() ExportSubjectPublicKeyInfo()

Exporte la partie clé publique de la clé actuelle au format X.509 SubjectPublicKeyInfo.Exports the public-key portion of the current key in the X.509 SubjectPublicKeyInfo format.

(Inherited from AsymmetricAlgorithm)
FromXmlString(String) FromXmlString(String) FromXmlString(String) FromXmlString(String)

Reconstruit un objet DSA à partir d'une chaîne XML.Reconstructs a DSA object from an XML string.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName) HashData(Byte[], Int32, Int32, HashAlgorithmName) HashData(Byte[], Int32, Int32, HashAlgorithmName) HashData(Byte[], Int32, Int32, HashAlgorithmName)

En cas de remplacement dans une classe dérivée, calcule la valeur de hachage de la partie spécifiée d’un tableau d’octets à l’aide d’un algorithme de hachage spécifié.When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.

HashData(Stream, HashAlgorithmName) HashData(Stream, HashAlgorithmName) HashData(Stream, HashAlgorithmName) HashData(Stream, HashAlgorithmName)

En cas de remplacement dans une classe dérivée, calcule la valeur de hachage du flux binaire spécifié en utilisant un algorithme de hachage spécifié.When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importe la paire de clés publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement avec un mot de passe basé sur l’octet, en remplaçant les clés de cet objet.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importe la paire de clés publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement avec un mot de passe basé sur char, en remplaçant les clés de cet objet.Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.

ImportParameters(DSAParameters) ImportParameters(DSAParameters) ImportParameters(DSAParameters) ImportParameters(DSAParameters)

En cas de remplacement dans une classe dérivée, importe les éléments DSAParameters spécifiés.When overridden in a derived class, imports the specified DSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importe la paire de clés publique/privée à partir d’une structure PKCS#8 PrivateKeyInfo après le déchiffrement, en remplaçant les clés de cet objet.Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importe la clé publique à partir d’une structure X.509 SubjectPublicKeyInfo après le déchiffrement, en remplaçant les clés de cet objet.Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
SignData(Byte[], HashAlgorithmName) SignData(Byte[], HashAlgorithmName) SignData(Byte[], HashAlgorithmName) SignData(Byte[], HashAlgorithmName)

Calcule la valeur de hachage du tableau d'octets indiqué à l'aide de l'algorithme de hachage spécifié et signe la valeur de hachage obtenue.Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value.

SignData(Byte[], Int32, Int32, HashAlgorithmName) SignData(Byte[], Int32, Int32, HashAlgorithmName) SignData(Byte[], Int32, Int32, HashAlgorithmName) SignData(Byte[], Int32, Int32, HashAlgorithmName)

Calcule la valeur de hachage d'une partie du tableau d'octets indiqué à l'aide de l'algorithme de hachage spécifié et signe la valeur de hachage obtenue.Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value.

SignData(Stream, HashAlgorithmName) SignData(Stream, HashAlgorithmName) SignData(Stream, HashAlgorithmName) SignData(Stream, HashAlgorithmName)

Calcule la valeur de hachage du flux indiqué à l'aide de l'algorithme de hachage spécifié et signe la valeur de hachage obtenue.Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)
ToXmlString(Boolean) ToXmlString(Boolean) ToXmlString(Boolean) ToXmlString(Boolean)

Crée et retourne une représentation de la chaîne XML de l'objet DSA en cours.Creates and returns an XML string representation of the current DSA object.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Tente de créer la signature DSA pour le hachage spécifié dans la mémoire tampon fournie.Attempts to create the DSA signature for the specified hash into the provided buffer.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo dans une mémoire tampon fournie, à l’aide d’un mot de passe basé sur l’octet.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo dans une mémoire tampon fournie, à l’aide d’un mot de passe basé sur char.Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.

TryExportPkcs8PrivateKey(Span<Byte>, Int32) TryExportPkcs8PrivateKey(Span<Byte>, Int32) TryExportPkcs8PrivateKey(Span<Byte>, Int32) TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Tente d’exporter la clé actuelle au format PKCS#8 PrivateKeyInfo dans une mémoire tampon fournie.Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Tente d’exporter la clé actuelle au format X.509 SubjectPublicKeyInfo dans une mémoire tampon fournie.Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.

TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Tente de calculer la valeur de hachage des données fournies dans une mémoire tampon fournie.Attempts to compute the hash value of the provided data into a provided buffer.

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Tente de créer la signature DSA pour les données spécifiées dans la mémoire tampon fournie.Attempts to create the DSA signature for the specified data into the provided buffer.

VerifyData(Byte[], Byte[], HashAlgorithmName) VerifyData(Byte[], Byte[], HashAlgorithmName) VerifyData(Byte[], Byte[], HashAlgorithmName) VerifyData(Byte[], Byte[], HashAlgorithmName)

Vérifie qu'une signature numérique est valide en calculant la valeur de hachage des données indiquées à l'aide de l'algorithme de hachage spécifié et en la comparant à la signature fournie.Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and comparing it to the provided signature.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Vérifie qu'une signature numérique est valide en calculant la valeur de hachage des données dans une partie d'un tableau d'octets à l'aide de l'algorithme de hachage spécifié et en la comparant à la signature fournie.Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and comparing it to the provided signature.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

Vérifie qu’une signature numérique est valide en calculant la valeur de hachage des données dans une plage d’octets à l’aide de l’algorithme de hachage spécifié et en la comparant à la signature fournie.Verifies that a digital signature is valid by calculating the hash value of the data in a byte span using the specified hash algorithm and comparing it to the provided signature.

VerifyData(Stream, Byte[], HashAlgorithmName) VerifyData(Stream, Byte[], HashAlgorithmName) VerifyData(Stream, Byte[], HashAlgorithmName) VerifyData(Stream, Byte[], HashAlgorithmName)

Vérifie qu'une signature numérique est valide en calculant la valeur de hachage du flux indiqué à l'aide de l'algorithme de hachage spécifié et en la comparant à la signature fournie.Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and comparing it to the provided signature.

VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[]) VerifySignature(Byte[], Byte[])

Substitué dans une classe dérivée, vérifie la signature DSA pour les données spécifiées.When overridden in a derived class, verifies the DSA signature for the specified data.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Vérifie qu’une signature numérique est valide pour un hachage de données fourni.Verifies that a digital signature is valid for a provided data hash.

Propriétés

KeyExchangeAlgorithm KeyExchangeAlgorithm KeyExchangeAlgorithm KeyExchangeAlgorithm

En cas de substitution dans une classe dérivée, obtient le nom de l'algorithme d'échange de clés.When overridden in a derived class, gets the name of the key exchange algorithm. Sinon, lève un NotImplementedException.Otherwise, throws an NotImplementedException.

(Inherited from AsymmetricAlgorithm)
KeySize KeySize KeySize KeySize

Obtient ou définit la taille, en bits, du modulo de clé utilisé par l'algorithme asymétrique.Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)
LegalKeySizes LegalKeySizes LegalKeySizes LegalKeySizes

Obtient les tailles de clé prises en charge par l'algorithme asymétrique.Gets the key sizes that are supported by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)
SignatureAlgorithm SignatureAlgorithm SignatureAlgorithm SignatureAlgorithm

En cas d'implémentation dans une classe dérivée, obtient le nom de l'algorithme de signature.When implemented in a derived class, gets the name of the signature algorithm. Sinon, lève toujours un NotImplementedException.Otherwise, always throws a NotImplementedException.

(Inherited from AsymmetricAlgorithm)

Champs

KeySizeValue KeySizeValue KeySizeValue KeySizeValue

Représente la taille, en bits, du modulo de la clé utilisé par l'algorithme asymétrique.Represents the size, in bits, of the key modulus used by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)
LegalKeySizesValue LegalKeySizesValue LegalKeySizesValue LegalKeySizesValue

Spécifie les tailles de clé prises en charge par l'algorithme asymétrique.Specifies the key sizes that are supported by the asymmetric algorithm.

(Inherited from AsymmetricAlgorithm)

Implémentations d’interfaces explicites

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Pour obtenir une description de ce membre, consultez Dispose().For a description of this member, see Dispose().

(Inherited from AsymmetricAlgorithm)

S’applique à

Voir aussi