Na computação, entropia é a aleatoriedade coletada por um sistema operacional ou aplicativo para uso em criptografia ou outros usos que requerem dados aleatórios. Essa aleatoriedade é frequentemente coletada de fontes de hardware (variação no ruído do ventilador ou no HDD), tanto aquelas preexistentes como movimentos do mouse ou geradores de aleatoriedade especialmente fornecidos. A falta de entropia pode ter um impacto negativo no desempenho e na segurança.

Núcleo do Linux O núcleo do Linux gera entropia a partir do pressionamento de teclas do teclado, movimentos do mouse e interações da interface IDE e disponibiliza os dados de caracteres aleatórios para outros processos do sistema operacional por meio dos arquivos especiais /dev/random e /dev/urandom. Esse recurso foi introduzido na versão 1.3.30 do Linux.random(4) - Linux man page (die.net)

Existem alguns patches do kernel do Linux que permitem usar mais fontes de entropia.Robotic Tendencies » Missing entropy O projeto audio_entropyd, que está incluído em alguns sistemas operacionais, como o Fedora, permite que dados de áudio sejam usados ​​como fonte de entropia.Fedora Package Database - audio-entropyd Também estão disponíveis o video_entropyd, que calcula dados aleatórios de uma fonte de vídeo, e o entropybroker que inclui esses três e pode ser usado para distribuir os dados de entropia para sistemas que não são capazes de executar nenhum deles (por exemplo, máquinas virtuais). Além disso, pode-se usar o algoritmo HAVEGE, por meio do haveged, para agrupar a entropia. Em alguns sistemas, as interrupções de rede também podem ser usadas como fonte de entropia.Entropy and Random Devices | LinuxLink by TimeSys - Your Embedded Linux Resource

Em sistemas que usam o núcleo do Linux, os programas que precisam de quantidades significativas de dados aleatórios de /dev/urandom não podem coexistir com programas que leem pequenos dados de /dev/random, pois /dev/urandom esgota /dev/random sempre que está sendo lido.High-Entropy Randomness Generator

Windows Os lançamentos do Microsoft Windows mais recentes que o Windows 95 usam a CryptoAPI para reunir a entropia de maneira semelhante ao /dev/random do núcleo do Linux.GPL command-line shred alternative for Windows

A CryptoAPI do Windows usa a chave binária de registro do Windows ''HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG\Seed para armazenar um valor semeado de todas as fontes de entropia.Source for entropy on Windows platforms with CryptoAPI installed

Como a CryptoAPI é de código fechado, alguns aplicativos de software livre e de código aberto executados na plataforma Windows usam outras medidas para obter aleatoriedade. Por exemplo, o GnuPG, a partir da versão 1.06, usa uma variedade de fontes, como o número de bytes livres na memória que, combinados com uma semente aleatória, gera a aleatoriedade desejada.How does Windows GnuPG generate random numbers on keygen?

Programadores que usam a CAPI podem obter entropia chamando CryptGenRandom() da CAPI, após inicializá-la corretamente.http://www.cs.berkeley.edu/~daw/rnd/cryptoapi-rand http://archives.seul.org/or/cvs/Mar-2004/msg00078.html

O CryptoAPI foi descontinuado do NT 6.0 e superior. A nova API é chamada de Cryptography API: Next Generation (CNG).

A versão mais recente do Windows é capaz de usar uma variedade de fontes de entropia:

TPM se disponível e ativado na placa-mãe Entropia da interface UEFI (se inicializada pela UEFI)https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/uefi-entropy-gathering-protocol Instrução da CPU RdRand, se disponível Relógio do sistema de hardware (RTC) Conteúdo da tabela OEM0 ACPI

Ligações externas Visão geral de entropia e de geradores de entropia no Linux

Categoria:Geradores de números pseudoaleatórios