CoderTools

Criptografia Salsa20

Cifra de fluxo de alta velocidade com variante de nonce estendido

Segurança do Lado do Cliente

Todas as operações de criptografia e descriptografia são realizadas localmente no seu navegador. Nenhum dado é enviado para qualquer servidor.

Salsa20: Cifra de fluxo de 256 bits com nonce de 64 bits e 20 rodadas. Rápida e segura para a maioria das aplicações.

Valor inicial do contador de bloco (geralmente 0 para criptografia, mesmo valor para descriptografia)

Opções de Formato
🔒 100% Processamento localOs dados inseridos são processados inteiramente em seu navegador. Nenhum dado é enviado para qualquer servidor.

Sobre o Salsa20

Salsa20 é uma cifra de fluxo projetada por Daniel J. Bernstein em 2005. Usa uma chave de 256 bits e nonce de 64 bits para gerar um fluxo de chaves que é XORado com o texto plano para produzir o texto cifrado. A cifra é projetada para alto desempenho em implementações de software.

Salsa20 foi submetido ao projeto eSTREAM e selecionado como finalista no perfil de software. Forma a base da família de cifras ChaCha.

Comparação de Algoritmos

Algoritmo Rodadas Comprimento do Nonce Velocidade Melhor Uso
Salsa20/20 20 64 bits (8 bytes) Padrão Criptografia geral, alta segurança
Salsa20/12 12 64 bits (8 bytes) Rápido Aplicações críticas de desempenho
Salsa20/8 8 64 bits (8 bytes) Mais rápido Cenários de velocidade máxima
XSalsa20 20 192 bits (24 bytes) Padrão Nonce aleatório, NaCl/libsodium

Como o Salsa20 Funciona

Salsa20 opera em uma matriz 4×4 de palavras de 32 bits (512 bits no total). O estado inicial consiste na chave (256 bits), nonce (64 bits), contador (64 bits) e quatro palavras constantes formando a string 'expand 32-byte k'.

A função principal aplica 20 rodadas da operação quarterround, que usa apenas operações de adição-rotação-XOR (ARX). Isso torna o Salsa20 eficiente em software e resistente a ataques de temporização.

XSalsa20 estende o nonce para 192 bits usando HSalsa20, uma variante que deriva uma subchave dos primeiros 128 bits do nonce, deixando 64 bits para o nonce real. Isso permite geração segura de nonce aleatório.

Variantes de Rodadas

  • Salsa20/20 (20 rodadas) - A variante padrão fornecendo margem de segurança completa. Recomendado para a maioria das aplicações.
  • Salsa20/12 (12 rodadas) - Seleção do portfólio eSTREAM. Fornece bom equilíbrio entre velocidade e segurança.
  • Salsa20/8 (8 rodadas) - Variante mais rápida. Sem ataques práticos conhecidos, mas margem de segurança reduzida.

Características Principais

  • Alto Desempenho: Otimizado para software, alcançando 3-4 ciclos por byte em CPUs modernos
  • Design Simples: Usa apenas operações ARX, fácil de implementar sem tabelas de pesquisa
  • Tempo Constante: Resistente a ataques de canal lateral de temporização de cache
  • Contador Grande: Contador de 64 bits permite criptografar até 2^70 bytes por par chave-nonce
  • Nonce Estendido: O nonce de 192 bits do XSalsa20 permite geração de nonce aleatório

Considerações de Segurança

  • Nunca reutilize um nonce com a mesma chave - isso quebra completamente a segurança
  • Salsa20 fornece apenas criptografia, não autenticação - combine com Poly1305 para AEAD
  • Para nonces aleatórios, use XSalsa20 para minimizar a probabilidade de colisão
  • Use KDF apropriado (HKDF, Argon2) para derivar chaves de senhas

Uso no Mundo Real

  • NaCl/libsodium: XSalsa20-Poly1305 é a construção AEAD padrão
  • Ferramentas de criptografia: Muitos utilitários de criptografia de arquivos usam variantes do Salsa20
  • Gerenciadores de senhas: Alguns usam Salsa20 para criptografar credenciais armazenadas
  • Engines de jogos: Usado para criptografia rápida em jogos em rede

Referências

Menu Rápido

Nenhuma ferramenta recente