Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
GuilhermeIsNotUnix authored Jan 17, 2024
1 parent c204c3e commit 5d94876
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions software/grifforix.html
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>&quot;número pseudo-aleatório&quot;</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>&quot;seed&quot;</em> (semente) do <em>PRNG</em>.</p>

<p><em>John von Neumann</em> disse uma vez: </p>
<blockquote><i>&quot;Qualquer um que considere métodos aritméticos de produzir dígitos aleatórios está, é claro, em estado de pecado.&quot;<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>

0 comments on commit 5d94876

Please sign in to comment.