

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como o DynamoDB Encryption Client funciona
<a name="DDBEC-legacy-how-it-works"></a>

**nota**  
Nossa biblioteca de criptografia do lado do cliente foi [renomeada como SDK de criptografia de banco de dados da AWS](DDBEC-rename.md). O tópico a seguir fornece informações sobre as versões 1.*x*—2.*x* do DynamoDB Encryption Client para Java e versões 1.*x*—3*x* do DynamoDB Encryption Client para Python. Para obter mais informações, consulte [SDK de criptografia de banco de dados da AWS para obter suporte à versão do DynamoDB](legacy-dynamodb-encryption-client.md#legacy-support).

O DynamoDB Encryption Client foi criado especificamente para proteger os dados que você armazena no DynamoDB. As bibliotecas incluem implementações seguras que você pode estender ou usar inalteradas. Além disso, a maioria dos elementos é representada por elementos abstratos para que você possa criar e usar componentes personalizados compatíveis.

**Criptografar e assinar itens de tabela**

No núcleo do DynamoDB Encryption Client está um *item de criptografador* que criptografa, autentica, verifica e descriptografa os itens da tabela. Ele obtém informações sobre os itens da tabela e instruções sobre quais itens devem ser criptografados e assinados. Ele obtém os materiais de criptografia e as instruções sobre como usá-los de um [provedor de materiais de criptografia](DDBEC-legacy-concepts.md#concept-material-provider) que você seleciona e configura. 

O diagrama a seguir mostra uma visão de alto nível desse processo.

![\[Criptografar e assinar itens no DynamoDB Encryption Client\]](http://docs.aws.amazon.com/pt_br/database-encryption-sdk/latest/devguide/images/arch-encrypt.png)


Para criptografar e assinar um item de tabela, o DynamoDB Encryption Client precisa:
+ **Informações sobre a tabela. ** Ele obtém informações sobre a tabela de um contexto de criptografia do [DynamoDB](concepts.md#encryption-context) que você fornece. Alguns auxiliares obtêm as informações necessárias do DynamoDB e criam o contexto de criptografia do DynamoDB para você. 
**nota**  
O contexto de *criptografia do DynamoDB* no DynamoDB Encryption Client não está relacionado ao contexto de criptografia em () e *o.* AWS Key Management Service AWS KMS AWS Encryption SDK
+ **Quais atributos devem ser criptografados e assinados.** Ele obtém essas informações das [ações de atributos](DDBEC-legacy-concepts.md#legacy-attribute-actions) que você fornece.
+ **Materiais de criptografia, incluindo chaves de criptografia e de assinatura.** Ele os obtém de um [provedor de materiais de criptografia](DDBEC-legacy-concepts.md#concept-material-provider) (CMP) que você seleciona e configura. 
+ **Instruções para criptografar e assinar o item**. O CMP adiciona instruções para usar os materiais de criptografia, incluindo algoritmos de criptografia e assinatura, à [descrição real do material](DDBEC-legacy-concepts.md#legacy-material-description).

O [criptografador de itens](DDBEC-legacy-concepts.md#item-encryptor) usa todos esses elementos para criptografar e assinar o item. O criptografador de itens também adiciona dois atributos ao item: um [atributo de descrição do material](DDBEC-legacy-concepts.md#legacy-material-description) que contém as instruções de criptografia e assinatura (a descrição real do material) e um atributo que contém a assinatura. Você pode interagir com o criptografador do item diretamente ou usar os recursos auxiliares que interagem com o criptografador do item para que você implemente um comportamento padrão seguro.

O resultado é um item do DynamoDB que contém dados criptografados e assinados.

**Verificar e descriptografar itens de tabela**

Esses componentes também funcionam juntos para verificar e descriptografar o item, conforme mostrado no diagrama a seguir.

![\[Verificando e descriptografando itens no DynamoDB Encryption Client\]](http://docs.aws.amazon.com/pt_br/database-encryption-sdk/latest/devguide/images/arch-decrypt.png)


Para verificar e descriptografar um item, o DynamoDB Encryption Client precisa dos mesmos componentes, componentes com a mesma configuração ou criados especialmente para a descriptografia de itens da seguinte maneira:
+ **Informações sobre a tabela** do [contexto de criptografia do ](concepts.md#encryption-context).
+ **Quais atributos verificar e descriptografar.** Ele os obtém das [ações de atributos](DDBEC-legacy-concepts.md#legacy-attribute-actions).
+ **Materiais de descriptografia, incluindo chaves de verificação e de descriptografia**, do [provedor de materiais de criptografia](DDBEC-legacy-concepts.md#concept-material-provider) (CMP) que você seleciona e configura.

  O item criptografado não inclui registros do CMP que foi usado para criptografá-lo. Você deve fornecer o mesmo CMP, um CMP com a mesma configuração ou que foi criado para descriptografar itens.
+ **Informações sobre como o item foi criptografado e assinado**, incluindo os algoritmos de criptografia e assinatura. O cliente os obtém do [atributo de descrição do material](DDBEC-legacy-concepts.md#legacy-material-description) no item.

O [criptografador de itens](DDBEC-legacy-concepts.md#item-encryptor) usa todos esses elementos para verificar e descriptografar o item. Ele também remove os atributos de assinatura e descrição do material. O resultado é um item do DynamoDB em formato de texto simples.