-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c204c3e
commit 5d94876
Showing
1 changed file
with
61 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
<!DOCTYPE html> | ||
<html lang="pt-br"> | ||
<head> | ||
<!--Import TimeWarner font--> | ||
<link href="https://fonts.cdnfonts.com/css/timewarner" rel="stylesheet"> | ||
<!--Import Helvetica Neue font--> | ||
<link href="https://fonts.cdnfonts.com/css/helvetica-neue-9" rel="stylesheet"> | ||
<!--Import Google Icon Font--> | ||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> | ||
<!-- EB Garamond font --> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=EB+Garamond"> | ||
<!--Import compiled and minified CSS --> | ||
<link type="text/css" rel="stylesheet" href="../css/materialize.min.css" media="screen,projection"/> | ||
<!-- Custom CSS--> | ||
<link rel="stylesheet" href="../css/style.css"> | ||
<!--Let browser know website is optimized for mobile--> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> | ||
|
||
<!-- FAVICON --> | ||
<link rel="apple-touch-icon" sizes="180x180" href="../media/favicon/apple-touch-icon.png"> | ||
<link rel="icon" type="image/png" sizes="32x32" href="../media/favicon/favicon-32x32.png"> | ||
<link rel="icon" type="image/png" sizes="16x16" href="../media/favicon/favicon-16x16.png"> | ||
<link rel="manifest" href="../media/favicon/site.webmanifest"> | ||
<link rel="mask-icon" href="../media/favicon/safari-pinned-tab.svg" color="#5bbad5"> | ||
<meta name="msapplication-TileColor" content="#da532c"> | ||
<meta name="theme-color" content="#ffffff"> | ||
|
||
<title>grifforix</title> | ||
</head> | ||
|
||
<body class="black white-text readingFont"> | ||
<div class="container"> | ||
<div class="container"> | ||
<h3 class="center darkPageTitle">GRIFFORIX</h3> | ||
|
||
<p><em>grifforix</em> visa ser um gerador de senhas fortes e seguras feito na linguagem Go por <em>Guilherme Faura</em>. Há planos de torná-lo também um software autenticador seguro. <em>grifforix</em> é atualmente <strong>experimental</strong>. <em>grifforix</em> está sob a licença Apache 2.0, <strong>leia-a com atenção</strong>.</p> | ||
|
||
<div class="center"> | ||
<a target="_blank" href="https://github.com/GuilhermeIsNotUnix/grifforix/releases/download/v0.5.0-alpha/grifforix-windows-v0.5.0.exe" class="waves-effect waves-light btn-large yellow lighten-3 black-text"><i class="material-icons left">file_download</i>Download</a> | ||
</div> | ||
|
||
<br> | ||
<h4 class="center darkPageTitle">COMO FUNCIONA?</h4> | ||
|
||
<p>Bem, primeiro, ele não usa métodos comuns para geração de números aleatórios, tal como o método mais simples <em>math/rand</em> do Go (equivalente a <em>rand()</em> na linguagem de programação C), mas na verdade usa o <em>crypto/rand</em> do Go que gera um número aleatório criptograficamente seguro.</p> | ||
|
||
<p>Na computação, quando um número é gerado matematicamente de maneira determinística é chamado de <em>"número pseudo-aleatório"</em> ou apenas <em>PRNG</em>. <strong>Isso não é seguro</strong> porque o <em>PRNG</em> <strong>não é verdadeiramente aleatório</strong>, pois é completamente determinado por um valor inicial, chamado de <em>"seed"</em> (semente) do <em>PRNG</em>.</p> | ||
|
||
<p><em>John von Neumann</em> disse uma vez: </p> | ||
<blockquote><i>"Qualquer um que considere métodos aritméticos de produzir dígitos aleatórios está, é claro, em estado de pecado."<br>–John von Neumann</i></blockquote> | ||
|
||
<p>As aplicações criptográficas exigem que a saída <strong>não seja previsível a partir de saídas anteriores.</strong> Com isso dito, surge a necessidade de um gerador de <strong>números verdadeiramente aleatórios</strong> ou um <em>RNG</em>. A linguagem Go possui a biblioteca <em>crypto/rand</em> para isso, ela chama de forma inteligente funções <strong>diretamente do sistema operacional para lidar com a aleatoriedade</strong> (no <em>Linux, FreeBSD, Dragonfly</em> e <em>Solaris</em> usa-se <em>getrandom(2)</em> se disponível, <em>/dev/urandom</em> caso contrário. No <em>OpenBSD</em> e <em>macOS</em> usa-se <em>getentropy(2)</em>. Em outros sistemas semelhantes ao <em>Unix</em>, usa-se <em>/dev/urandom</em>. Em sistemas <em>Windows</em>, usa-se a API <em>RtlGenRandom</em>. No <em>Wasm</em>, usa-se a <em>Web Crypto API</em>.)</p> | ||
</div> | ||
</div> | ||
|
||
<!-- Compiled and minified JavaScript --> | ||
<script type="text/javascript" src="../js/materialize.min.js"></script> | ||
<!-- Collapsible --> | ||
<script src="js/collapsible.js"></script> | ||
</body> | ||
</html> |