Glossário

Criptografia de chave assimétrica: um sistema criptográfico que usa chaves pareadas, públicas e privadas, para criptografar e descriptografar dados. As chaves públicas são usadas para criptografar dados e podem ser compartilhadas. As chaves privadas são usadas para descriptografar dados e são conhecidas apenas pelo proprietário.

Texto criptografado: o resultado da criptografia realizada em texto simples usando um algoritmo. O texto criptografado não é compreensível até que seja convertido de volta em texto simples usando uma chave.

Consistência: significa que o Tink se comporta "da mesma forma" em todas as linguagens de programação. Por exemplo, a Tink oferece consistência de avaliação. Isso significa que, para um determinado conjunto de chaves, se a criação primitiva for bem-sucedida em duas linguagens, os primitivos se comportarão da mesma forma.

Chave: uma informação (por exemplo, uma string) necessária para criptografar ou descriptografar dados. Consulte Objetos chave para saber como eles são representados.

Conjunto de chaves e gerenciador de conjunto de chaves: o Tink usa conjuntos de chaves para gerenciar chaves. Um conjunto de chaves é basicamente um conjunto de chaves que facilita a rotação. Estas são algumas propriedades importantes de um conjunto de chaves:

  • Cada chave em um conjunto tem um ID exclusivo, que é exclusivo dentro de um conjunto. Esse ID geralmente é adicionado como um prefixo a cada texto criptografado, assinatura ou tag produzido para indicar qual chave foi usada. Consulte como a Tink adiciona tags em textos para mais informações.
  • Apenas uma chave por vez em um conjunto de chaves é primária. Uma chave primária em um conjunto é a chave "em uso" no momento.
  • Todas as chaves em um conjunto de chaves precisam ser implementações do mesmo primitivo (como AEAD), mas podem ter tipos de chave diferentes (por exemplo, uma chave AES-GCM e XCHACHA20-POLY1305).

Cada implementação do Tink fornece APIs para criar ou editar conjuntos de chaves. No entanto, recomendamos o uso do Tinkey, nossa ferramenta de CLI.

Os usuários operam em um conjunto de chaves usando alças de conjunto de chaves. Um gerenciador de conjunto de chaves limita a exposição do material real da chave sensível. Ele também abstrai um conjunto de chaves, permitindo que os usuários tenham um primitivo que "encapsula" todo o conjunto. Por exemplo, é possível conseguir um primitivo AEAD de um conjunto de chaves com chaves N. A criptografia e descriptografia com o primitivo recebido usa a chave primária no conjunto de chaves.

Sistema de gerenciamento de chaves (KMS): um sistema usado para gerenciar chaves criptográficas, incluindo geração, armazenamento, uso, rotação, destruição e substituição.

Tipo de chave: um tipo de chave implementa um primitivo específico. A maioria dos primitivos tem vários tipos de chave para escolher, dependendo dos requisitos de segurança, ambiente de execução e espaço. Por exemplo, o AES128_GCM é um AEAD rápido e eficaz para a maioria das necessidades. Saiba mais em Tipos de chaves compatíveis por idioma.

Parâmetros: descreve totalmente as informações necessárias para criar uma chave, excluindo o material e o ID da chave. Consulte Objetos de parâmetros para saber como eles são representados.

Texto simples: a forma inteligível de entrada de um texto criptografado ou dos elementos dele.

Primitive (link em inglês): o Tink usa primitivos como elementos criptográficos que gerenciam um algoritmo subjacente para que os usuários possam executar tarefas criptográficas com segurança. Um primitivo define os detalhes de um algoritmo criptográfico e o tipo de chave.

Primitivos compatíveis com o Tink:

  • Criptografia autenticada com dados associados (AEAD, na sigla em inglês): o primitivo mais comum para a criptografia de dados. Ideal para a maioria das necessidades de criptografia. A AEAD fornece confidencialidade de texto simples e permite a verificação de integridade e autenticidade. Consulte Criptografia autenticada com dados associados (AEAD, na sigla em inglês).
  • Criptografia determinista:um primitivo que sempre produz o mesmo texto criptografado para um determinado texto simples e chave. Isso pode ser arriscado, porque um invasor só precisa descobrir qual texto criptografado corresponde a uma determinada entrada de texto simples para identificá-lo. Consulte AEAD determinista.
  • Assinatura digital: um primitivo assimétrica (consulte Criptografia de chave assimétrica) para confirmar a autenticidade e a integridade dos dados assinados. Consulte Assinatura digital.
  • Criptografia híbrida: um primitivo que combina criptografia de chave assimétrica e criptografia de chave simétrica. Consulte Criptografia de chave assimétrica e Criptografia de chave simétrica. A criptografia híbrida combina a eficiência da criptografia simétrica com a conveniência da criptografia de chave pública. Para criptografar uma mensagem, uma nova chave simétrica é gerada e usada para criptografar os dados de texto simples, enquanto a chave pública do destinatário é usada para criptografar apenas a chave simétrica. O texto criptografado final consiste no texto simétrico e na chave simétrica criptografada. Consulte Criptografia híbrida.
  • Código de autenticação de mensagens (MAC): um primitivo simétrico (consulte Criptografia de chave simétrica) para confirmar a autenticidade e a integridade dos dados. Consulte Código de autenticação de mensagem (MAC).
  • AEAD de streaming: um primitivo que fornece criptografia autenticada para o streaming de dados. Útil quando os dados a serem criptografados são muito grandes para serem processados em uma única etapa. Consulte AEAD de streaming.

Consulte primitivos compatíveis por linguagem para informações de compatibilidade.

Registro: uma entidade global no Tink que sabe como gerar novas chaves e primitivos. Consulte também as orientações sobre erros de registro de depuração.

Criptografia de chave simétrica: um algoritmo criptográfico que usa a mesma chave para criptografar texto simples e descriptografar o texto criptografado.