

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Qu'est-ce que c'est AWS Encryption SDK ?
<a name="introduction"></a>

 AWS Encryption SDK Il s'agit d'une bibliothèque de chiffrement côté client conçue pour permettre à chacun de chiffrer et de déchiffrer facilement les données conformément aux normes et aux meilleures pratiques du secteur. Il vous permet de vous concentrer sur les fonctionnalités intrinsèques de votre application, plutôt que sur la meilleure façon de chiffrer et de déchiffrer vos données. AWS Encryption SDK Il est fourni gratuitement sous la licence Apache 2.0.

Les AWS Encryption SDK réponses à des questions telles que les suivantes s'adressent à vous :
+ Quel algorithme de chiffrement dois-je utiliser ?
+ Comment, ou dans lequel mode, devrais-je utiliser cet algorithme ?
+ Comment puis-je générer la clé de chiffrement ?
+ Comment puis-je protéger la clé de chiffrement, et où dois-je la stocker ?
+ Comment puis-je rendre mes données chiffrées portables ?
+ Comment puis-je m'assurer que le destinataire prévu peut lire mes données chiffrées ?
+ Comment puis-je m'assurer que mes données chiffrées ne sont pas modifiées entre leur écriture et leur lecture ?
+ Comment utiliser les clés de données AWS KMS renvoyées ?

Avec le AWS Encryption SDK, vous définissez un [fournisseur de clés principales](concepts.md#master-key-provider) ou un [trousseau de clés](concepts.md#keyring) qui détermine les clés d'encapsulage que vous utilisez pour protéger vos données. Ensuite, vous cryptez et déchiffrez vos données à l'aide de méthodes simples fournies par le. AWS Encryption SDK Il AWS Encryption SDK fait le reste.

Sans cela AWS Encryption SDK, vous pourriez consacrer plus d'efforts à la création d'une solution de chiffrement qu'aux fonctionnalités de base de votre application. Les AWS Encryption SDK réponses à ces questions en fournissant les éléments suivants.

**Une implémentation par défaut qui respecte les bonnes pratiques de chiffrement**  
Par défaut, le AWS Encryption SDK génère une clé de données unique pour chaque objet de données qu'il chiffre. Cette opération respecte la bonne pratique de chiffrement qui consiste à utiliser des clés de données uniques pour chaque opération de chiffrement.  
Il AWS Encryption SDK chiffre vos données à l'aide d'un algorithme de clé symétrique sécurisé et authentifié. Pour de plus amples informations, veuillez consulter [Suites d'algorithmes prises en charge dans le AWS Encryption SDK](supported-algorithms.md).

**Un cadre pour protéger les clés de données à l'aide de clés d'encapsulation**  
 AWS Encryption SDK protège les clés de données qui chiffrent vos données en les chiffrant sous une ou plusieurs clés d'encapsulation. En fournissant un cadre permettant de chiffrer les clés de données à l'aide de plusieurs clés d'encapsulation, AWS Encryption SDK cela contribue à rendre vos données chiffrées portables.   
Par exemple, chiffrez les données sous une AWS KMS key clé d'entrée AWS KMS et une clé à partir de votre HSM local. Vous pouvez utiliser l'une ou l'autre des clés d'encapsulation pour déchiffrer les données, au cas où l'une d'entre elles ne serait pas disponible ou si l'appelant n'est pas autorisé à utiliser les deux clés.

**Un message formaté qui stocke les clés de données chiffrées avec les données chiffrées**  
Les AWS Encryption SDK données cryptées et la clé de données cryptées sont stockées ensemble dans un [message crypté](concepts.md#message) utilisant un format de données défini. Cela signifie que vous n'avez pas besoin de suivre ou de protéger les clés de données qui chiffrent vos données, car elles le AWS Encryption SDK font pour vous.

Certaines implémentations linguistiques du AWS Encryption SDK nécessitent un AWS SDK, mais AWS Encryption SDK cela n'en nécessite pas Compte AWS et cela ne dépend d'aucun AWS service. Vous Compte AWS n'en avez besoin que si vous choisissez de l'utiliser [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys)pour protéger vos données.

## Développé dans des référentiels open source
<a name="esdk-repos"></a>

 AWS Encryption SDK Il est développé dans des référentiels open source sur. GitHub Vous pouvez utiliser ces référentiels pour consulter le code, lire et signaler les problèmes, et trouver des informations spécifiques à l'implémentation de votre langage.
+ Kit SDK de chiffrement AWS pour C — [aws-encryption-sdk-c](https://github.com/aws/aws-encryption-sdk-c/)
+ AWS Encryption SDK pour .NET : répertoire [.NET](https://github.com/aws/aws-encryption-sdk/tree/mainline/AwsEncryptionSDK/runtimes/net/) du `aws-encryption-sdk` référentiel.
+ AWS CLI de chiffrement — [aws-encryption-sdk-cli](https://github.com/aws/aws-encryption-sdk-cli/)
+ Kit SDK de chiffrement AWS pour Java — [aws-encryption-sdk-java](https://github.com/aws/aws-encryption-sdk-java/)
+ Kit SDK de chiffrement AWS pour JavaScript — [aws-encryption-sdk-javascript](https://github.com/aws/aws-encryption-sdk-javascript/)
+ Kit SDK de chiffrement AWS pour Python — [aws-encryption-sdk-python](https://github.com/aws/aws-encryption-sdk-python/)
+ AWS Encryption SDK pour [Rust — répertoire Rust](https://github.com/aws/aws-encryption-sdk-dafny/tree/mainline/AwsEncryptionSDK/runtimes/rust/) du `aws-encryption-sdk` dépôt.
+ AWS Encryption SDK pour le répertoire [Go — Go](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/) du `aws-encryption-sdk` référentiel

## Compatibilité avec les bibliothèques et services de chiffrement
<a name="intro-compatibility"></a>

 AWS Encryption SDK Il est pris en charge dans plusieurs [langages de programmation](programming-languages.md). Toutes les implémentations de langage sont interopérables. Vous pouvez chiffrer avec une implémentation de langage et déchiffrer avec une autre. L'interopérabilité peut être soumise à des contraintes de langage. Si c'est le cas, ces contraintes sont décrites dans la rubrique relative à l'implémentation du langage. En outre, lors du chiffrement et du déchiffrement, vous devez utiliser des porte-clés compatibles, ou des clés principales et des fournisseurs de clés principales. Pour en savoir plus, consultez [Compatibilité du porte-clés](choose-keyring.md#keyring-compatibility).

Cependant, ils AWS Encryption SDK ne peuvent pas interagir avec d'autres bibliothèques. Comme chaque bibliothèque renvoie des données chiffrées dans un format différent, vous ne pouvez pas chiffrer avec une bibliothèque et déchiffrer avec une autre.

**Client de chiffrement DynamoDB et chiffrement côté client Amazon S3**  <a name="ESDK-DDBEC"></a>
 AWS Encryption SDK Impossible de déchiffrer les données chiffrées par le client de chiffrement [DynamoDB ou le chiffrement côté client](https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/) Amazon [S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html). Ces bibliothèques ne peuvent pas déchiffrer le [message crypté](concepts.md#message) qu'elles AWS Encryption SDK renvoient. 

**AWS Key Management Service (AWS KMS)**  <a name="ESDK-KMS"></a>
Les [clés de données AWS Encryption SDK](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) peuvent être utilisées [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)pour protéger vos données, y compris les clés KMS multirégionales. Par exemple, vous pouvez configurer le AWS Encryption SDK pour crypter vos données sous un ou plusieurs AWS KMS keys de vos Compte AWS. Cependant, vous devez utiliser le AWS Encryption SDK pour déchiffrer ces données.   
 AWS Encryption SDK Impossible de déchiffrer le texte chiffré renvoyé par les opérations de AWS KMS [chiffrement ou de chiffrement](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html). [ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html) De même, l'opération de AWS KMS [déchiffrement](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) ne peut pas déchiffrer le [message chiffré renvoyé](concepts.md#message). AWS Encryption SDK   
Ne AWS Encryption SDK prend en charge que les [clés KMS de chiffrement symétriques](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#symmetric-cmks). Vous ne pouvez pas utiliser de [clé KMS asymétrique](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks) pour le chiffrement ou la connexion au AWS Encryption SDK. Le AWS Encryption SDK génère ses propres clés de signature ECDSA pour les [suites d'algorithmes](supported-algorithms.md) qui signent des messages.

## Support et maintenance
<a name="support"></a>

Il AWS Encryption SDK utilise la même [politique de maintenance](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html) que le AWS SDK et les outils, y compris ses phases de version et de cycle de vie. La [meilleure pratique consiste](best-practices.md) à utiliser la dernière version disponible du AWS Encryption SDK pour votre langage de programmation et à effectuer une mise à niveau au fur et à mesure que de nouvelles versions sont publiées. Lorsqu'une version nécessite des modifications importantes, telles que la mise à niveau depuis des AWS Encryption SDK versions antérieures à 1.7. *x* vers les versions 2.0. *x* et versions ultérieures, nous fournissons [des instructions détaillées](migration.md) pour vous aider.

Chaque implémentation du langage de programmation AWS Encryption SDK est développée dans un GitHub référentiel open source distinct. Le cycle de vie et la phase de support de chaque version sont susceptibles de varier selon les référentiels. Par exemple, une version donnée de AWS Encryption SDK peut être en phase de disponibilité générale (support complet) dans un langage de programmation, mais en end-of-support phase dans un autre langage de programmation. Nous vous recommandons d'utiliser une version entièrement prise en charge dans la mesure du possible et d'éviter les versions qui ne sont plus prises en charge.

Pour connaître la phase du cycle de vie des AWS Encryption SDK versions de votre langage de programmation, consultez le `SUPPORT_POLICY.rst` fichier de chaque AWS Encryption SDK référentiel.
+ Kit SDK de chiffrement AWS pour C — [Support\_Policy.rst](https://github.com/aws/aws-encryption-sdk-c/blob/master/SUPPORT_POLICY.rst)
+ AWS Encryption SDK pour .NET — [Support\_Policy.rst](https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/SUPPORT_POLICY.rst)
+ AWS CLI de chiffrement — [Support\_Policy.rst](https://github.com/aws/aws-encryption-sdk-cli/blob/master/SUPPORT_POLICY.rst)
+ Kit SDK de chiffrement AWS pour Java — [Support\_Policy.rst](https://github.com/aws/aws-encryption-sdk-java/blob/master/SUPPORT_POLICY.rst)
+ Kit SDK de chiffrement AWS pour JavaScript — [Support\_Policy.rst](https://github.com/aws/aws-encryption-sdk-javascript/blob/master/SUPPORT_POLICY.rst)
+ Kit SDK de chiffrement AWS pour Python — [Support\_Policy.rst](https://github.com/aws/aws-encryption-sdk-python/blob/master/SUPPORT_POLICY.rst)

Pour plus d'informations, consultez les sections [Versions du AWS Encryption SDK](about-versions.md) et [AWS SDKs et Politique de maintenance des outils](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html) dans le Guide de référence des outils AWS SDKs et outils.

## En savoir plus
<a name="intro-see-also"></a>

Pour plus d'informations sur le chiffrement côté client AWS Encryption SDK et côté client, essayez ces sources.
+ Pour obtenir de l'aide concernant les termes et les concepts utilisés dans ce kit SDK, consultez [Concepts contenus dans le AWS Encryption SDK](concepts.md).
+ Pour les directives relatives aux meilleures pratiques, voir[Les meilleures pratiques pour AWS Encryption SDK](best-practices.md).
+ Pour plus d'informations sur le fonctionnement de ce kit SDK, consultez [Fonctionnement du kit SDK](how-it-works.md).
+ Pour des exemples illustrant comment configurer les options dans le AWS Encryption SDK, voir[Configuration du AWS Encryption SDK](configure.md).
+ Pour obtenir des informations techniques détaillées, consultez le document [AWS Encryption SDK référence](reference.md).
+ Pour les spécifications techniques du AWS Encryption SDK, voir les [AWS Encryption SDK spécifications](https://github.com/awslabs/aws-encryption-sdk-specification/) dans GitHub.
+ Pour obtenir des réponses à vos questions sur l'utilisation du AWS Encryption SDK, lisez et publiez sur le [forum de discussion AWS Crypto Tools](https://forums.aws.amazon.com/forum.jspa?forumID=302).

Pour plus d'informations sur les implémentations du AWS Encryption SDK dans différents langages de programmation.
+ **C** : Voir [Kit SDK de chiffrement AWS pour C](c-language.md) la [documentation AWS Encryption SDK C](https://aws.github.io/aws-encryption-sdk-c/html/) et le [aws-encryption-sdk-c](https://github.com/aws/aws-encryption-sdk-c/)dépôt sur GitHub.
+ **C\#/.NET** : Voir [AWS Encryption SDK pour .NET](dot-net.md) et le [aws-encryption-sdk-net](https://github.com/aws/aws-encryption-sdk/tree/mainline/AwsEncryptionSDK/runtimes/net/)répertoire du `aws-encryption-sdk` dépôt sur. GitHub
+ **Interface de ligne de commande** : [consultez [AWS Encryption SDK interface de ligne de commande](crypto-cli.md) la documentation relative](https://aws-encryption-sdk-cli.readthedocs.io/en/latest/) à la CLI de AWS chiffrement et au [aws-encryption-sdk-cli](https://github.com/aws/aws-encryption-sdk-cli/)référentiel sur GitHub.
+ **Java** : voir[Kit SDK de chiffrement AWS pour Java](java.md), le AWS Encryption SDK [Javadoc](https://aws.github.io/aws-encryption-sdk-java/) et le [aws-encryption-sdk-java](https://github.com/aws/aws-encryption-sdk-java/)dépôt activés. GitHub

  **JavaScript**: Voir [Kit SDK de chiffrement AWS pour JavaScript](javascript.md) et le [aws-encryption-sdk-javascript](https://github.com/aws/aws-encryption-sdk-javascript/)référentiel activé GitHub. 
+ **Python** : voir [Kit SDK de chiffrement AWS pour Python](python.md) la [documentation AWS Encryption SDK Python](https://aws-encryption-sdk-python.readthedocs.io/en/latest/) et le [aws-encryption-sdk-python](https://github.com/aws/aws-encryption-sdk-python/)dépôt sur GitHub.

## Envoyer un commentaire
<a name="report-issues"></a>

Nous apprécions vos commentaires. Si vous avez une question ou un commentaire, ou un problème à signaler, veuillez utiliser les ressources suivantes.
+ Si vous découvrez une faille de sécurité potentielle dans le AWS Encryption SDK, veuillez en [informer le service AWS de sécurité](https://aws.amazon.com/security/vulnerability-reporting/). Ne créez pas de GitHub problème public.
+ Pour fournir des commentaires sur le AWS Encryption SDK, signalez un problème dans le GitHub référentiel du langage de programmation que vous utilisez. 
+ Pour nous faire part de vos commentaires sur cette documentation, utilisez les liens de **commentaires** sur cette page. Vous pouvez également déposer un problème ou contribuer au [aws-encryption-sdk-docs](https://github.com/awsdocs/aws-encryption-sdk-docs)référentiel open source pour cette documentation sur GitHub.