Melhor resposta
Assim como todo mundo tem uma impressão digital diferente, os blocos digitais adotaram o mesmo conceito e é chamado de SHA256 Hash.
Foi desenvolvido pela NSA que cria um identificador único para cada bloco e há muitos benefícios, incluindo alta segurança e muitos aplicativos de proteção de senha usam o mesmo para as mesmas senhas.
A parte interessante de SHA256 é que o algoritmo é totalmente aberto e você pode até ler sobre ele em detalhes no capítulo 1 do livro clicando no link abaixo:
https://www.staff.science.uu.nl/~tel00101/liter/books/CryptCont.pdf
SHA256 é o número de bits que leva na memória. O valor hash tem 64 caracteres e letras e números que variam de [0-9] a [A-F]. Uma vez que cada caractere ocupa 4 bits => 64 * 4 = 256 bits de informação do valor hash.
Este hash pode ser usado para qualquer tipo de documento / vídeo / gifs / imagens ou qualquer outra coisa que você possa imaginar sobre. Ele cria um valor hash exclusivo para qualquer coisa fornecida.
Se você quiser tentar criar valores hash para seus dados e quiser apenas se divertir um pouco aprendendo, navegue aqui. Agora, se você tentar adicionar dados ao site, notará que se seus dados tiverem apenas 1 caractere ou 10 milhões de caracteres, o SHA256 fornece um valor hash de apenas 64 caracteres que identifica aquele texto de maneira única e até mesmo com uma mudança de letra em seus dados, o alterações no valor do hash.
Falando sobre os requisitos, existem 5 requisitos para o algoritmo SHA256:
1. É uma maneira – ou seja, você não pode restaurar os dados do valor hash.
2. É determinístico – ou seja, se você aplicar o algoritmo aos mesmos dados novamente, obterá o mesmo valor de hash.
3. Cálculo rápido
4. O efeito de avalanche – ou seja, se você pegar os mesmos dados e fizer uma pequena alteração, como apenas um bit, o valor de hash será totalmente diferente.
5. Ele deve resistir a colisões – ou seja, caso o valor hash resulte igual para dois dados diferentes, já que o valor é limitado a 64 caracteres.
Isso é tudo sobre o algoritmo SHA256, e caso você queira aprender mais, verifique o link que forneci acima.
Resposta
Explicar o conceito de chave pública-privada para alguém que nunca ouviu falar disso não é uma tarefa fácil. Eu faço isso o tempo todo com os desenvolvedores e praticamente tenho que fazer isso algumas vezes, no mínimo. O autor do artigo / livro ao qual você está se referindo está tentando da melhor forma transmitir o significado da assinatura digital e geralmente todos se perdem no momento em que dizemos que o Hash está criptografado. O trecho do artigo / livro é totalmente VERDADEIRO. Deixe-me tentar explicar com minhas próprias palavras. Criptografia de chave pública (também conhecida como criptografia assimétrica) Se eu quiser enviar a você um texto / e-mail que não quero que ninguém leia, a) vou pegar SUA chave pública b) CRIPTOGRAFAR os dados c) Enviar para você. Quando você recebe, você é SÓ UM que tem chave privada a) Você irá DESCRIPTOAR os dados com sua chave privada Já que você pode descriptografar, agora você pode ler o texto. Agora vamos supor que o que estou enviando a você é muito importante (digamos um contrato alugar ou comprar algo ou concordar em pagar algo) O texto descriptografado prova alguma coisa de que ele realmente veio? Mesmo se o e-mail De disser que é meu. Posso simplesmente mudar de ideia e alegar que NUNCA o enviei? Pergunta, você precisa perguntar é “Como verifico a integridade da mensagem”? como sei que veio da “pessoa certa”. Message Digest: geralmente é garantido pelo cálculo de um “Hash unilateral” usando MD5 (não mais) SHA1 ou SHA2, etc. Quando você baixa um software de código aberto, você sempre vê o valor do resumo da mensagem. Se você realmente deseja saber o código-fonte, Você está baixando e não foi modificado por ninguém, você tem que recalcular o hash dos arquivos. Isso prova que dois arquivos são iguais. (Um carregado para um site de código aberto e outro que você baixou) Agora, se eu calcular o Hash do meu texto e enviá-lo separadamente, você acredita que a mensagem veio de mim? (exemplo anterior .. contrato de locação, etc.)? Qualquer pessoa que possa enviar a mensagem “falsificando como eu” também pode enviar o Hash. Então agora minha Assinatura Digital ou Integridade. A única maneira de provar que veio de mim é que eu tenho que ter “posse” da chave privada para fazer algo com isso. O que posso fazer para provar a você a) A mensagem não é modificada por ninguém (se eu disser que você foi contratado por $ 100 / hora, mas você recebeu a mensagem como $ 50 ou $ 200) b) Na verdade, veio de mim e não posso voltar atrás minha palavra c) Você deve ser capaz de validar – A mensagem está limpa, não foi adulterada e veio da pessoa certa A solução é Assinatura Digital. Caso de uso novamente: Estou enviando uma mensagem para você que pode conter alguns dados críticos (como contrato de locação ou compra) e você quer ter certeza de que veio de mim e ninguém modificou os dados. a) Pegarei a mensagem e gerarei o Hash unilateral (resumo da mensagem) -SHA1 (por exemplo) b) Pegarei o Hash unidirecional e crio uma assinatura usando minha chave privada – Isso prova que tenho a chave privada.NOTA: Não estou usando a palavra ENCRYPT aqui … por falta de nada, pense que Assinatura é um algoritmo ou método que leva (valor de hash, chave privada) para produzir “Assinatura”. c) Enviar a você a mensagem, com “Assinatura” -Receptor Quando você receber a mensagem, você deseja garantir que ninguém seja modificado (então você gera novamente o valor de HASH usando o mesmo algoritmo de resumo SHA1) e, em seguida, usa o mesmo algoritmo de assinatura, mas desta vez com chave pública (é o que você tem) Assinatura (Hash (mensagem original), chave pública) Isso deve fornecer a você um valor igual ao gerado quando a mensagem foi enviada com assinatura. Agora você pode provar que a integridade da mensagem não está comprometida (já que o valor do resumo mudará se os dados forem alterados e, portanto, o valor da assinatura mudará). No caso de sua VPN, são os pacotes marcados com o valor da assinatura. Agora vamos adicionar criptografia a esta mistura. Se você NÃO “T quiser que alguém leia a mensagem (..com a Siganture, você não pode alterar meu contrato de locação por $ 100, mas com certeza pode ler para saber que estou oferecendo $ 100) Pegue meus dados, irei” CRIPTOGRAFAR “com” SUA “chave pública Você receberá a mensagem e DESCRIPTO com a chave privada” YORU “. Espero que isso ajude.