Estou tentando explicar o básico do Bitcoin para meus pais.
Um dos componentes principais do bitcoin é assinar transações para garantir que sua identidade não possa ser representada e, portanto, a necessidade de explicar uma cifra assimétrica simplificada.
O que é uma cifra assimétrica extremamente simples que posso usar como exemplo?
Como essa cifra simplificada pode ser usada para assinar?
cryptography
Ryan The Leach
fonte
fonte
Respostas:
Se você deseja apresentar criptografia de chave pública a seus pais ou amigos, sugiro que você siga algumas diretrizes. Primeiro, não fale sobre funções específicas, ninguém se importa com o SHAxxx, mantenha sua palestra conceitual. O problema resolvido pela criptografia de chave pública está permitindo que duas partes que nunca se conheceram trocem informações com segurança em um canal público. Não confunda isso com outros aplicativos alcançados pela criptografia de chave pública, como assinaturas digitais ou autenticação.
Uma ilustração simples e esclarecedora disso que eu vi é a seguinte. Suponha que duas partes tenham um balde e várias cores e queiram concordar com um composto secreto específico. Eles têm permissão para enviar um ao outro um balde com um determinado composto, mas qualquer coisa enviada é exposta a um adversário maligno. O pressuposto sublinhado é que a mistura de cores é fácil, mas a decomposição de uma mistura com seus ingredientes é difícil. Essa suposição (que é facilmente conectada ao lado formal das coisas) permite que você alcance seu objetivo. Escolha uma cor pública e permita que ambas as partes escolham uma cor secreta, vamos las por . A primeira parte envia um balde de uma mistura de . Da mesma forma, a segunda parte envia um balde contendo uma mistura deS 1 , S 2 P , S 1 P , S 2 P , S 1 , S 2P S1, S2 P, S1 P, S2 . Finalmente, cada lado adiciona sua cor particular à mistura que ele recebeu e agora ambas as partes têm uma mistura de , que (pela nossa suposição) permanece em segredo para qualquer bisbilhoteiro. Uma versão formal disso é o protocolo de troca de chaves Diffie-Hellman, que depende da dureza do registro discreto.P, S1, S2
Agora, meu entendimento do protocolo bitcoin é limitado, mas ao conversar com seus pais sobre isso, não vejo razão para entrar em criptografia. A maioria das explicações populares que eu vi desnecessariamente se aprofundou nos detalhes da implementação e começou a falar sobre como encontrar uma pré-imagem de um hash, de modo que o resultado tivesse um número de zeros, perdendo de vista o problema real. Como antes, sugiro manter a palestra conceitual. Que problema o bitcoin está tentando resolver e por que isso não é trivial? No meu entender, o bitcoin resolve o problema de manter um livro distribuído, evitando especificamente os gastos duplosx problema. A motivação é evitar ter uma autoridade central, e isso pode ser alcançado permitindo que cada participante aprove uma transação (em vez de dar essa autoridade ao banco). Para evitar que participantes adversários aprovem suas próprias transações inválidas, é introduzido o conceito de prova de trabalho. O POW usa o hash como uma caixa preta, para evitar mencionar candidatos específicos.
fonte
Uma metáfora comum que ouço usada é fabricar vários cadeados, manter todas as chaves e enviar cadeados abertos a quem quiser. Qualquer pessoa com esse cadeado pode enviar mensagens secretas, colocando-as em uma caixa e usando um dos cadeados para trancá-lo antes de enviá-lo para você. Ninguém além de você tem as chaves, portanto, nem o remetente pode desbloquear a caixa depois de ser bloqueada - em particular, o serviço postal não pode bisbilhotar sua mensagem. Eles podem até ter um cadeado de você também, mas isso não os ajuda a desbloquear a caixa.
(Fornecemos este exemplo para responder à sua pergunta como indicado, sem nenhuma opinião específica sobre se é realmente útil para a explicação do bitcoin.)
fonte
O problema de explicar os códigos assimétricos (e a razão pela qual a maioria das explicações pop realmente falha em explicar qualquer coisa) é que eles estão entrelaçados com a ideia de que existem problemas que são (supostamente) intratáveis, que é uma das idéias por trás da complexidade computacional.
Depois de entender esse ponto, um código criptografado assimétrico é "apenas" uma função fácil de calcular, mas difícil de inverter. Você pode até criar o seu próprio, veja a implementação original da troca de chaves Diffie-Hellman como referência.
fonte
Eu não acho que exista um sistema de criptografia assimétrica facilmente demonstrável. Em vez disso, descreva o que faz, não como faz. Na verdade, tive que fazer isso recentemente, para descrever como o PGP funciona. Para BitCoin, concentre-se na segunda parte, assinando mensagens.
Se eles perguntarem como as chaves são geradas, diga
Isso é claro, encobrir o fato de que a criptografia assimétrica normalmente não funciona na mensagem em si, mas em uma chave de sessão (para criptografia) ou em um hash (verificação de assinatura). Também ignora o requisito muito importante de que você deve manter sua chave privada privada - qualquer pessoa com acesso a ela pode fingir ser você.
fonte