Privacidade e segurança
6 min de leitura

O que é one-time pad? Criptografia e OTP explicados

Entenda como o one-time pad usa XOR e chaves aleatórias novas, o significado de sigilo perfeito, o risco de reutilizar a chave e a diferença para o OTP de login.

LOCK.PUB
Publicado:
O que é one-time pad? Criptografia e OTP explicados

O one-time pad, ou cifra de uso único, criptografa uma mensagem com uma chave aleatória secreta pelo menos tão longa quanto a mensagem. Cada criptografia exige material de chave novo. Sob condições rigorosas, observar o texto cifrado não fornece ao atacante nenhuma informação adicional sobre a mensagem.

A sigla OTP também pode significar uma senha ou um código de login de uso único. Um one-time pad, um OTP de login e um link que abre uma só vez resolvem problemas diferentes.

Condições para um one-time pad verdadeiro

Para uma mensagem de n bits, a construção binária exige n bits secretos novos de chave:

  • Escolher a chave de maneira uniforme: toda chave de n bits deve ter a mesma probabilidade de ser selecionada.
  • Gerá-la de forma independente da mensagem e dos demais materiais de chave.
  • Mantê-la em segredo de quem observa a comunicação.
  • Usar cada trecho da chave para criptografar somente uma mensagem. Nunca reutilizar trechos sobrepostos em outra criptografia.

Essas premissas sustentam a demonstração de segurança no capítulo sobre one-time pad de Mike Rosulek. Uma frase fácil de lembrar ou uma chave que se repete não atende a esses requisitos.

Um exemplo de XOR com quatro bits

O XOR, representado por ⊕, produz 0 quando os dois bits são iguais e 1 quando são diferentes. A criptografia combina a mensagem e a chave; a descriptografia aplica a mesma chave novamente.

Etapa Operação Resultado
Criptografar 1010 ⊕ 0110 1100
Descriptografar 1100 ⊕ 0110 1010

Neste exemplo, a mensagem é 1010, a chave é 0110 e o texto cifrado é 1100. Aplicar o XOR outra vez cancela a chave. O exemplo ilustra a matemática; mensagens reais também exigem gerenciamento seguro de chaves e autenticação.

O que sigilo perfeito realmente significa

Na seção 10 do artigo original de Claude Shannon, sigilo perfeito significa que conhecer o texto cifrado não altera as probabilidades que o observador atribui às mensagens.

Isso não exige que todas as mensagens sejam igualmente prováveis. Se uma mensagem do mesmo tamanho já parecia mais plausível antes, pode continuar mais plausível depois. O texto cifrado não acrescenta nenhuma evidência. O modelo usual de tamanho fixo também não oculta os horários da comunicação, seus participantes nem o tamanho da mensagem.

Por que reutilizar a chave quebra a garantia

Se duas mensagens de mesmo tamanho usam a mesma chave K, então C1 = M1 ⊕ K e C2 = M2 ⊕ K. Combinar os textos cifrados cancela K:

C1 ⊕ C2 = M1 ⊕ M2

O atacante descobre uma relação entre as mensagens. Isso não revela automaticamente os dois textos completos. Porém, um trecho conhecido de texto em claro expõe o trecho correspondente da chave e a mesma parte da outra mensagem. Estruturas previsíveis também podem ajudar o atacante a testar hipóteses.

Limites práticos além da equação

As duas partes precisam já compartilhar material secreto de chave em quantidade suficiente. Elas devem protegê-lo no armazenamento, manter sincronizadas as posições de uso e impedir que trechos já usados sejam aplicados novamente. A necessidade de distribuir chaves cresce com a quantidade de informação enviada; a operação XOR não resolve esse problema.

A chave sozinha não oferece integridade nem autenticação do remetente. Alterar um bit do texto cifrado muda o bit correspondente após a descriptografia, sem um alerta embutido. O sigilo, por si só, não comprova quem enviou a mensagem nem se ela foi alterada.

One-time pad, OTP de login e link de visualização única

Termo Finalidade Significado de “uso único”
One-time pad Criptografar o conteúdo da mensagem O material de chave é usado em uma única criptografia
OTP de login Comprovar a posse de um autenticador Um código gerado é aceito uma vez enquanto está válido
Link de visualização única Limitar o acesso por um serviço Novas revelações são bloqueadas após um desbloqueio bem-sucedido

As orientações do NIST sobre autenticadores, seção 3.1.4 descrevem OTPs de login gerados com um segredo do autenticador e um valor de tempo ou contador. Eles servem para autenticar; não são chaves de one-time pad para criptografar mensagens.

Onde o LOCK.PUB se encaixa

O memo protegido por senha do LOCK.PUB é um memo padrão que pode ser aberto novamente; ele não tem visualização única por padrão. Não implementa one-time pad nem oferece criptografia de ponta a ponta: o servidor processa o texto em claro do memo.

Um limite de uma visualização é uma política de acesso separada. Quando aplicado, um desbloqueio bem-sucedido com senha bloqueia novas revelações. Isso não exclui o conteúdo armazenado nem recupera downloads, capturas de tela ou outras cópias já feitas.

Para compartilhar na prática, leia o guia de memos secretos. O guia de criptografia de texto online explica como funciona o compartilhamento de texto protegido por senha.

Perguntas frequentes

É impossível quebrar um one-time pad?

O esquema ideal oferece sigilo perfeito quando suas premissas são atendidas. Chaves expostas, trechos reutilizados, dispositivos comprometidos e adulteração precisam ser considerados separadamente.

Uma semente curta pode produzir uma chave de one-time pad verdadeira?

Um gerador pseudoaleatório seguro pode expandir uma semente curta em uma máscara maior, oferecendo segurança computacional sob determinadas premissas. Sua saída não é distribuída uniformemente por todas as sequências mais longas; por isso, não oferece o sigilo perfeito do one-time pad.

“Uso único” significa que a mensagem desaparece?

No one-time pad, a expressão descreve o uso da chave. Em um link, descreve o acesso. Nenhum dos termos, sozinho, comprova a exclusão da mensagem ou remove cópias que alguém já fez.

Criar Memo

Criar Memo

Palavras-chave

one-time pad
o que é one-time pad
cifra de uso único
one-time pad e OTP
O que é one-time pad? Criptografia e OTP explicados | LOCK.PUB Blog