Algoritmos de espalhamento

A chave, na criptografia de chave pública, é baseada em um hash value. Esse é um valor que é calculado a partir de um número de entrada baixo utilizando um algoritmo de espalhamento. Basicamente, esse valor é um sumário dos valores de origem. O importante sobre esses hash value é que se torne quase impossível derivar o número original de entrada sem conhecer os dados utilizados para criá-lo.

Número de entrada Algoritmo de espalhamento Hash value
10.667 # input x 143 1.525.381

Você pode observar como seria difícil determinar que o valor 1.525.381 veio da multiplicação de 10.667 por 143. Mas se você soubesse que o multiplicador era 143, então seria muito fácil calcular o valor 10.667. A criptografia de chave pública é na realidade muito mais complexa do que esse exemplo, mas essa é a idéia básica.

As chaves públicas geralmente utilizam algoritmos complexos e hash value muito grandes para criptografia, incluindo números de 40 bits ou até mesmo de 128 bits. Um número de 128 bits possui cerca de 2128 combinações ou (3.402.823.669.209.384.634.633.746.074. 300.000.000.000.000.000.000.000.000.000.000.000.000) diferentes combinações possíveis. Isso seria como tentar encontrar um específico grão de areia no Deserto do Saara.