Engineering Design and Analysis
Designing Secure Random Number Generators for Cryptographic Use
Table of Contents
Geradores de números aleatórios seguros (RNGs) são essenciais na criptografia para gerar chaves, vetores de inicialização e outros dados sensíveis. A qualidade da aleatoriedade impacta diretamente na segurança de sistemas criptográficos. A concepção de um RNG eficaz envolve compreender as fontes de entropia e garantir a imprevisibilidade.
Fontes de Entropia
Fontes de entropia fornecem a aleatoriedade inicial necessária para RNGs seguros. Fontes comuns incluem eventos de hardware, interações com usuários e ruído ambiental. Combinar múltiplas fontes pode melhorar a qualidade da entropia e reduzir a previsibilidade.
Princípios de desenho
RNGs criptográficos eficazes seguem vários princípios-chave:
- Imprevisibilidade: A saída deve ser imprevisível, mesmo que parte do estado interno seja conhecida.
- Secreto prévio: As saídas futuras não devem ser previsíveis a partir de saídas passadas.
- Resistência ao compromisso de declaração: Compromisso de estado interno não deve revelar saídas passadas.
- Sementeamento próprio: A semeadura inicial deve reunir entropia suficiente de fontes confiáveis.
Considerações sobre a implementação
A implementação de um RNG seguro envolve a escolha de algoritmos robustos, como geradores de números pseudorandom criptograficamente seguros (CSPRNGs). O resseeding regular e o teste de saúde do gerador ajudam a manter a segurança ao longo do tempo.