Calculadoras Matemáticas
Gerador de Números


Gerador de Números

O gerador de números aleatórios fornece um conjunto de números aleatórios de acordo com as opções especificadas pelo usuário, tais como intervalo, repetição e classificação.

Opções

Números Aleatórios

48, 9, 49, 11, 17, 22, 16, 37, 45, 41, 4, 36, 43, 10, 28, 27, 47, 25, 21, 33

Houve um erro com seu cálculo.

Índice

  1. O Uso de Geradores de Números Aleatórios
  2. A Diferença de Sequência Aleatória e Não Aleatória
  3. Os Tipos de Geradores de Números Aleatórios
  4. Gerador do Google
  5. O Método Linear Congruente
  6. Hardware Moderno de Geradores de Números Aleatórios
    1. QRBG121
    2. Lâmpadas de Lava
    3. HotBits
    4. Flutuações Quânticas a Vácuo
    5. Gerador de Nanotubo de Carbono
    6. Cubos e a Electronic Frontier Foundation (EFF)
    7. Um Gerador de Números Quânticos Aleatórios a partir de um Smartphone Nokia

Gerador de Números

Um gerador de números aleatórios é um processo de obter um número aleatório toda vez que é necessário, sem a capacidade de definir um padrão a partir de números gerados anteriormente. Este número pode ser gerado tanto por um algoritmo quanto por um dispositivo de hardware.

O Uso de Geradores de Números Aleatórios

A geração de números aleatórios é necessária para várias tarefas, desde jogos de computador até aplicações comuns. Por exemplo, o sistema usa um gerador de números aleatórios para exibir um banner aleatório ou uma unidade de anúncio aleatório em um website. Na criptografia, os números aleatórios também são usados para fazer uma cifra ou chave única.

A geração de números aleatórios é usada para gerar números ou texto para captcha, criptografia, geração de sal para armazenamento de senhas, um gerador de senhas, uma ordem de cartões em um cassino online, tomada de decisão, amostragem e simulação.

O algoritmo de geração de números aleatórios é frequentemente usado em jogos de vídeo. Mesmo que você jogue no mesmo nível em um jogo, ele não será exatamente o mesmo toda vez que você tentar completar uma missão. Talvez as diferenças não sejam vistas no local ou na missão. Ainda assim, elas serão vistas no número de inimigos que se aproximam e nas áreas onde eles aparecem, as mudanças climáticas e os vários obstáculos encontrados. Isto torna o jogo mais emocionante.

A Diferença de Sequência Aleatória e Não Aleatória

Que haja uma sequência de números: 1 , 2 , 3 , 4 , 5. É aleatório?

Uma variável aleatória é uma variável que assume um de alguns valores como resultado de um julgamento. E não se pode prever com precisão a ocorrência de um determinado valor antes que ele apareça. Digamos que os números dados foram obtidos digitando em uma das linhas superiores do teclado. Neste caso, acontece que esta combinação não é aleatória porque, após 5, o seguinte número, 6, pode ser previsto com alta probabilidade.

A sequência só será aleatória se não houver dependência entre os símbolos.

A condição básica, que é extremamente importante para o princípio correto e justo do gerador de números aleatórios, é uma probabilidade absolutamente igual de qualquer número possível que possa cair neste sistema. Isto indica total independência do fator de aleatoriedade e independência de quais outros números caíram antes ou depois do número aleatório.

Por exemplo, suponha que você enrole um dado de seis lados pela primeira vez. Nesse caso, você pode ter absolutamente qualquer número de 1 a 6 que caia com a mesma probabilidade. Independentemente de seu número, você pode lançar os dados novamente com a mesma chance de obter o mesmo número no segundo, centésimo, ou milésimo lançamento.

A sequência de dígitos do número Pi parece não ser repetitiva e, para muitos, pode parecer aleatória. Suponha que nosso gerador hipotético se baseie na representação de bits de Pi, começando em um ponto não revelado. Esse gerador pode ser imprevisível em muitos contextos, podendo passar em determinados testes de aleatoriedade. No entanto, confiar em Pi para fins criptográficos apresenta riscos. Se um adversário determinar o segmento específico de Pi que está sendo usado, ele poderá prever os segmentos anteriores e posteriores, comprometendo a segurança do sistema.

O Instituto Nacional de Padrões e Tecnologia dos EUA propôs o "Pacote de Teste Estatístico para Geradores de Números Aleatórios e Pseudoaleatórios para Aplicações Criptográficas". Ele inclui 15 testes estatísticos cujo objetivo é determinar a medida da aleatoriedade dos bits gerados por geradores de hardware ou software.

Os Tipos de Geradores de Números Aleatórios

Existem dois tipos de geradores de números aleatórios (RNG): os geradores de números verdadeiramente aleatórios (TRNG) e os geradores de números pseudo aleatórios (PRNG). TRNGs utilizam fenômenos físicos para gerar números, enquanto PRNGs utilizam algoritmos matemáticos.

Um verdadeiro algoritmo gerador de números aleatórios é criado com um dispositivo de hardware que usa pequenos processos físicos para gerar números aleatórios, ou seja, entropia. A entropia é um caos puro e não filtrado.

Os verdadeiros geradores de números aleatórios utilizam fenômenos físicos, tais como:

  • radioatividade,
  • ruído térmico,
  • ruído eletromagnético,
  • mecânica quântica, e outros.

Um verdadeiro RNG é comumente usado em sistemas orientados para a segurança em todo o mundo e em algumas formas de criptografia.

Geradores de números aleatórios usam fontes de entropia para acumular entropia e obter o valor inicial (semente) necessário pelos geradores de números aleatórios.

O algoritmo gerador de números pseudoaleatórios é usado em áreas sem preocupações de segurança. A aleatoriedade ajuda a evitar a repetição e torna o processo mais atraente para o usuário final. A implementação da tecnologia de geradores de números aleatórios é mais barata e rápida porque não requer hardware e pode ser facilmente incorporada ao código do programa. Embora o processo não seja totalmente aleatório e seja determinado com base em um algoritmo, ele é mais adequado para jogos e programas.

O PRNG utiliza um único valor inicial, do qual se segue sua pseudoaleatória. Ao mesmo tempo, o verdadeiro gerador de números aleatórios sempre gera um número aleatório por ter um valor aleatório de alta qualidade fornecido no início por várias fontes de entropia.

A geração de números pseudoaleatórios tem seus inconvenientes. Eles funcionam porque são aleatórios a olho nu. Entretanto, suponha que você sabia o valor inicial para uma sequência particular de PRNGs. Nesse caso, você poderia prever quais números seriam os próximos.

Os entusiastas de jogos de vídeo exploram frequentemente esta vulnerabilidade - eles a chamam de manipulação do PRNG. Eles fazem o jogo funcionar previsivelmente para que possam passá-lo o mais rápido possível. Felizmente, isso não implica em problemas críticos.

Mas há momentos em que a previsão de números aleatórios é muito mais crítica. Por exemplo, ao criar chaves de segurança.

Se o atacante descobrir o valor inicial usado para criar chaves RSA em certificados TLS, ele poderá descriptografar o tráfego de rede. Isto significa que ele pode obter senhas e outras informações pessoais enviadas através da Internet.

Nestas situações, é necessária uma maneira mais segura de obter números aleatórios, ou seja, um verdadeiro gerador de números aleatórios.

Gerador do Google

O Google tem sua própria ferramenta para gerar números aleatórios baseados em JavaScript. Esta ferramenta pode ser útil quando se joga com amigos e familiares. Você pode encontrar este gerador se digitar na consulta de busca do Google "gerador de números aleatórios".

O Método Linear Congruente

Um dos algoritmos mais populares para geradores de números pseudorandomais é o Método Linear Congruente. Ele é usado em casos simples e não tem força criptográfica. Derrick Henry Lehmer propôs o método do congruente linear em 1949.

Para implementar a geração de números por este método, precisamos escolher quatro números:

m > 0, módulo

0 ≤ a ≤ m, o multiplicador

0 ≤ c ≤ m, o incremento

0 ≤ X₀ ≤ m, o número inicial

A sequência de números aleatórios em si é gerada usando a fórmula:

Xₙ₊₁ = (aXₙ + c) mod m

Vale ressaltar que este método depende da escolha dos parâmetros.

Por exemplo, para o conjunto a seguir:

X₀ = 3, a = 4, c = 5, m = 6

obtemos uma pequena sequência repetitiva de

3,5,1,3,5,1

que não parece aleatório.

Mas vale a pena mudar os parâmetros para outra coisa:

X₀ = 2, a = 85, c = 507, m = 1356

E a dispersão dos resultados se torna mais imprevisível. Você deve escolher os números para este algoritmo com cuidado especial.

2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365...

Embora o método linear congruente gere uma seqüência numérica pseudorandomal estatisticamente boa, ele não é criptograficamente robusto. Os geradores baseados no método de congruência linear são previsíveis, portanto não é possível usá-los na criptografia.

Os geradores do método de congruência linear foram rachados primeiramente por Jim Reeds em 1977 e depois por Joan Boyar em 1982. Ela também conseguiu quebrar os geradores quadráticos e cúbicos. Assim, eles provaram a inutilidade dos geradores baseados em métodos congruentes para a criptografia. Entretanto, os geradores baseados no método congruente linear mantêm sua utilidade para aplicações não criptográficas, por exemplo, para simulações. Eles são eficientes e mostram bom desempenho estatístico na maioria dos testes empíricos.

Hardware Moderno de Geradores de Números Aleatórios

QRBG121

O efeito de aleatoriedade no dispositivo depende do processo físico quântico de emissão de fótons em semicondutores e da subsequente detecção de fótons individuais. Neste processo, os fótons são detectados aleatoriamente, independentemente um do outro, e a informação de tempo dos fótons detectados é usada para gerar bits.

Lâmpadas de Lava

O escritório da CloudFlare em São Francisco abriga geradores de números aleatórios chamados "lâmpadas de lava". Tal lâmpada é um recipiente de vidro cheio de óleo transparente e parafina translúcida. A parafina é ligeiramente mais pesada que o óleo, mas quando aquecida ligeiramente, ela se torna mais leve e flutua para cima.

O movimento dos líquidos é monitorado por várias câmeras que tiram fotos instantâneas. Os instantâneos são convertidos em números, a partir dos quais chaves de criptografia são então geradas.

Os outros dois escritórios CloudFlare usam formas diferentes para obter valores aleatórios. Em Londres, uma câmera captura os movimentos de três pêndulos caóticos. Em Singapura é usado um contador Geiger que mede a decadência radioativa de um pequeno pedaço de urânio. Neste último caso, o urânio é usado como uma "fonte de dados" porque a radiação radioativa é caracterizada pela aleatoriedade de cada ato de decaimento.

HotBits

HotBits é um site que fornece números verdadeiramente aleatórios gerados por um contador Geiger que registra radiação ionizante para todos. Você preenche um formulário de solicitação no site especificando o número de bytes aleatórios e escolhe seu método preferido para obter os dados. Uma vez que os números aleatórios são fornecidos ao cliente, eles são imediatamente removidos do sistema.

Flutuações Quânticas a Vácuo

Ao contrário de seu nome ("vacuus"-empty), o vácuo não pode ser considerado vazio. Sob o princípio da incerteza de Heisenberg, as partículas virtuais nascem e morrem incessantemente.

Os físicos canadenses projetaram um gerador de números aleatórios rápido e estruturalmente simples, baseado nas flutuações do vácuo. O gerador consiste de um laser pulsado com alta frequência de radiação, um meio com alto índice de refração (diamante), e um detector. Ao passar pelo diamante, cada pulso no sensor mostra características diferentes dependendo das flutuações do campo de vácuo encontradas no caminho dos fótons.

No espectro da radiação dispersa, aparecem linhas espectrais. Devido à imprevisibilidade das flutuações do vácuo, estas linhas diferem de forma imprevisível a cada vez.

Gerador de Nanotubo de Carbono

Este método combina a compacidade com o ruído térmico gerado.

Os pesquisadores construíram um gerador de números aleatórios a partir de uma célula de memória estática de acesso aleatório impressa com tintas especiais contendo nanotubos de carbono semicondutores. A célula de memória usa flutuações de ruído térmico para gerar bits aleatórios.

O gerador de nanotubos de carbono pode ser impresso em substratos plásticos flexíveis, permitindo que seja integrado em minúsculos dispositivos eletrônicos flexíveis, sensores de desgaste, etiquetas descartáveis e artigos de vestuário inteligentes.

Cubos e a Electronic Frontier Foundation (EFF)

A empresa propôs uma maneira simples de criar senhas seguras usando um gerador de números aleatórios físicos. Ela se baseia em dados.

Por exemplo, você lança cinco dados de cada vez e anota os números resultantes. Os dados são dispostos da esquerda para a direita da seguinte forma: 63131. Em seguida, você abre uma longa lista de palavras no site da EFF para encontrar a palavra correspondente ao lado de 63131. Essa palavra é "turbofan".

Você pode repetir este procedimento várias vezes. Por exemplo, cinco vezes. Você pode terminar com uma frase de cinco palavras. Por exemplo, "turbofan purge unfitting try poda". Se você sabe como usar as regras da mnemônica, você pode memorizar frases como estas.

Um Gerador de Números Quânticos Aleatórios a partir de um Smartphone Nokia

Em 2014, a Universidade de Genebra criou um dispositivo QRNG que utilizava a câmera do smartphone Nokia N9.

A câmera do smartphone contava o número de fótons que atingiam cada pixel. A fonte de luz era um LED padrão. Cada pixel da câmera de 8 MP detectou cerca de 400 fótons em um curto espaço de tempo. O número total de fótons em todos os pixels foi então convertido em uma sequência de números aleatórios.