Um breve artigo sobre a história da criptografia: Princípio de funcionamento, Prova de conhecimento-zero e potencial impacto

Um breve artigo sobre a história da criptografia: Princípio de funcionamento, Prova de conhecimento-zero e potencial impacto

By Ruchi Gupta - min. de leitura
Atualizado 04 junho 2020

Se realmente queremos entender alguma coisa, temos que começar do ponto de partida e precisamos entender os pequenos detalhes e como eles se relacionam com o mundo. Então continue lendo o artigo abaixo sobre a história da criptografia.

A seguir, entraremos numa jornada de compreensão das criptomoedas e suas aplicações. O principal objetivo deste artigo é permitir que leitores não-profissionais sem formação em matemática, ciência da computação, compreendam a criptografia, o passado, o presente e suas futuras aplicações e potencialidades.

Origem

No geral, a criptografia tem como objetivo capacitar o mundo a se comunicar com segurança por meio de protocolos de criptográficos, ou compartilhar informações com segurança entre duas ou mais partes, e impedir que terceiros mal-intencionados leiam ou interceptem informações privadas. A criptografia abrange muitos modos de segurança e proteção de dados armazenados de diferentes maneiras, para que não seja exposta por “roubo” de terceiros.

Criptografia: História

A história da criptografia pode ser dividida em dois períodos: clássico e moderno.

No mundo da criptografia clássica, as informações são criptografadas por combinação de teclas ou um conjunto de letras ou números e, em seguida, descriptografadas pelo mesmo conjunto de chaves. Um exemplo simples é a “Senha César”, em que as letras são simplesmente trocadas em ordem alfabética e podem ser criptografadas ou descriptografadas. Vale a pena notar que, quando a chave privada é revelada, todas as informações criptografadas anteriores são desbloqueadas.

Claude Elwood Shannon, um matemático americano que trabalhou com criptografia na Bell Labs, fundou a teoria da informação em 1948. Ele argumentou que, na teoria da informação, o melhor método de criptografia não deveria exibir nada sobre o texto simples criptografado. É importante saber que a teoria da informação é quantificar as informações para que elas possam ser compartilhadas.

A informação é agora definida como “entropia” ou uma medida da incerteza envolvida em uma variável. Por exemplo, imagine que você está registrando o resultado de um “cara ou coroa”, há 50% de chances da moeda cair  cara e 50% de chance de a moeda cair coroa. Você anota os resultados 1 e 0, essa seqüência não pode ser compactada em uma string mais curta – porque 1 e 0 ocorrem igualmente, como podemos encurtar essa string? Não é possível fazer isso. Mas imagine que, se a probabilidade da moeda cair em cara for de 80% e a probabilidade de vir coroa for 20%, o número de 1 será muito maior que 0, então podemos comprimir a string para representar um número maior de 1s e 0s. Essa expressão de uma certa possibilidade é “informação”, o princípio de como funciona a compressão.

Shannon sabe que, para ocultar informações, um bom método de criptografia deve criar aleatoriedade para que as informações originais não possam ser rastreadas. Por exemplo, criptografamos as duas palavras iguais, sabemos que as duas palavras são semelhantes, no entanto ao criptografarmos com um mecanismo de criptografia, o resultado é completamente diferente, é uma criptografia perfeita.

Isso significa que, mesmo que haja apenas uma pequena alteração na mensagem original a ser criptografada, ela deve ser traduzida em uma mensagem criptografada muito diferente, que não seja exatamente a mesma mensagem criptografada da mensagem original. Curiosamente, não há atualmente nenhuma tecnologia de criptografia que possa fazer uma pequena alteração que afete todas as informações criptografadas. A criptografia ainda tem uma confidencialidade perfeita.

Então, com o nascimento do computador, a década de 1970 inaugurou a criptografia moderna, ou seja, o uso da teoria da complexidade para desenvolver criptografia, os usuários podem facilmente encriptar, desencriptar ou verificar uma mensagem, e caso não saiba a chave secreta, um ataque de força bruta utilizando poder computacional se provou ser um método bastante eficaz.

Portanto, ao contrário da condição de que os métodos de criptografia na criptografia clássica devem ser mantidos em segredo, métodos e algoritmos modernos de criptografia podem ser compartilhados. Mesmo que você conheça a teoria e o algoritmo com antecedência, dificilmente lhe dará qualquer vantagem em “quebrá-los”.

Os dois avanços marcantes que se seguem trouxeram o mundo para a era da criptografia moderna:

  • Padrão de Criptografia Digital (DES)
  • Criptografia de chave pública (como o algoritmo RSA e o algoritmo Diffie-Helman)

O DES (Data Encryption Standard) regula a criptografia de dados eletrônicos, o que promove um estudo mais amplo da criptografia. (By the way, a intervenção do governo dos EUA no desenvolvimento de DES, alimentou a desconfiança da intervenção do governo através da tecnologia. Debates sobre as vantagens e desvantagens do backdoor habilitados para a tecnologia continua até hoje.) Desde 2002 o DES tem sido substituído pelo Advanced Encryption Standard (AES).

Quanto à criptografia de chave pública, funciona da seguinte maneira:

  1. O usuário A gera uma (1) chave privada (chave privada) e uma (2) chave pública (chave pública).

Qual é a definição de uma “chave”? Uma chave é uma informação que determina a saída de um algoritmo. Para um exemplo muito simplificado, suponha que o usuário A tenha um algoritmo F (x, k) no qual ela deseja “mascarar” um número x com a chave k e depois enviá-lo para outro usuário B. A fórmula é a seguinte:

F (x, k) = x * k * 7

O valor de x varia dependendo dos dados ou números que o usuário A deseja compartilhar. O usuário A então multiplica x pela tecla k para “ocultá-lo”.

Suponha que a chave do usuário A seja 10 e ela queira enviar o número 3 para o usuário B. Ele irá “criptografar” o número 3 com 3 * 10 * 7 = 210. O usuário A enviará 210 para o usuário B. Se o usuário B conhece a chave do algoritmo F, ele só precisa dividir 210 por 10 e 7 para “decifrar” o número secreto, e o resultado é 3. No entanto, neste exemplo, a chave de criptografia e a chave de descriptografia são as mesmas, ou criptografia simétrica, ou seja, a mesma chave 3 usada para criptografia e descriptografia.

Na criptografia assimétrica, a chave pública “criptografia” e a chave privada “decriptografia” são dois números diferentes, e o algoritmo é muito mais complicado do que o mencionado acima.

Em geral, a chave pública é derivada da chave privada, no entanto, para encontrar a chave privada da chave pública é “não computacionalmente viável”. Na terminologia comum, isso é chamado de função de alçapão – é fácil de manusear em uma direção, mas é extremamente desafiador executar na direção inversa.

Portanto, gerar uma chave pública a partir de uma chave privada é fácil, mas calcular uma chave privada a partir de uma chave pública pode ser um desafio. Quanto maior a diferença, mais segura é essa abordagem. Fundamentalmente, ele se baseia em um fato na computação: a multiplicação é muito rápida e a divisão é muito mais lenta.

Acompanhe:

  1. O usuário A envia sua chave pública para o usuário B.
  2. O usuário B criptografa uma mensagem para ser enviada para A com a chave pública do Usuário A.
  3. O usuário B envia uma mensagem criptografada ao usuário A.
  4. O usuário A descriptografa essa mensagem com sua chave privada e, em seguida, lê a mensagem que o usuário B enviou a ela.

No algoritmo RSA, em termos simples, uma chave privada e uma chave pública são geradas com base em um meio número primo formado pela multiplicação de dois grandes números primos. Como mencionado anteriormente, a fatoração (divisão) é computacionalmente muito mais difícil que a multiplicação. No entanto, RSA como um método de integridade criptográfica está em baixa.

O Global Security Index é um padrão para quantificar a segurança de um sistema de criptografia e traduz a capacidade de computação necessária para dividir um sistema de criptografia na energia necessária para “ferver a água”. Com base nesse índice, a criptografia RSA de 288 bits pode ser quebrada pela energia usada para ferver menos de uma colher de chá de água. Atualmente, a maioria das criptografias RSA usa uma chave de 2048 bits.

Podemos comparar um novo tipo de criptografia de chave privada / pública, Criptografia de Curva Elíptica (ECC). A quebra de um sistema ECC de 288 bits exige que seja usada a energia para ferve toda a água da Terra. Portanto, a ECC está substituindo rapidamente o RSA, que é a base do sistema de criptografia usado na blockchain e prova de conhecimento-zero. Este é um resumo bastante abrangente da comparação entre ECC e RSA.

Antes de prosseguir, quero lembrar a importância do uso da criptografia na história.

De César até o presente, o valor de um país ou nação que pode se comunicar com segurança é incalculável em termos de vida humana e valor econômico. Thomas Jefferson estava envolvido com criptografia, ele fez o disco de Jefferson usado pelos militares dos EUA. Esta invenção durou até o século XX. Mais tarde, o cientista britânico Alan Turing decifrou o trabalho de criptografia alemã, Enigma, e foi usado na Segunda Guerra Mundial. Não há dúvida de que a criptografia mudou a história.

Prova de conhecimento-zero: Por que você precisa?

No exemplo de chave privada / pública demonstrado acima, observe que o usuário A nunca deve expor sua chave privada porque qualquer parte mal-intencionada que obtiver sua chave privada pode descriptografar cada mensagem criptografada recebida.

Vamos considerar outra situação: as senhas normais são armazenadas como hashes na maioria dos bancos de dados, não em texto simples. Um hash é uma função que converte uma entrada em outra sequência de dados exclusiva para mascarar ou ocultar os dados originais.

Em uma função hash, é realmente “impossível” desenrolar os dados originais da cadeia de dados exclusiva criada pela função hash. Por exemplo, o sistema pode ser usado keccak256 algoritmo de hash, a senha “3nY82 $ pwt4” hash é 0xc24ea779490258728751c1789aa30fa007261f5c052e22914599b46ae13ccc5a. Olhe para esta combinação de letras e números, mesmo se eles sabem o algoritmo de hash e usa um cálculo força bruta, não podem descobrir a senha 3nY82 $ pwt4 original. É importante ressaltar que a função hash é decisiva na definição, o que significa que a mesma entrada sempre obterá a mesma saída. Portanto, se um site irá armazenar sua senha para o hash 0xc24ea779490258728751c1789aa30fa007261f5052e22914599b46ae13ccc5a, então, quando você digitar “3nY82 $ pwt4”, o site pode ser um hash armazenado no banco de dados por seu hash e comparar, para verificar que você inseriu a senha corretamente.

No exemplo acima, observe que, embora o site não armazene sua senha em texto simples, você ainda precisa compartilhar a senha com o site por meio de um canal seguro para provar que você sabe sua senha correta.

Não seria legal se você pudesse provar ao site que sabe a senha correta sem compartilhá-la ou revelá-la? Ou melhor, provar que você é realmente quem diz ser?

No geral, esta abordagem é a maneira mais usada no mercado atualmente, necessário fornecer informações para verificar algo, você precisa re-executar os cálculos para verificar se realmente está sendo executado. Por exemplo, se um banco quer aprovar a transferência de um valor de sua conta para outra conta, o banco deve verificar a sua conta antes da transferência para confirmar se há dinheiro suficiente. Da mesma forma, para provar sua identidade, você deve fornecer uma identificação emitida pelo governo.

Em outros casos, você não precisa conhecer os detalhes das informações para verificar os resultados. Por exemplo, o indivíduo A faz uma determinada oferta maior do que o indivíduo B. Indivíduos B não devem saber a oferta de indivíduos A, e também é provável que ambos indivíduos não queiram revelar a oferta a um terceiro que não o cliente. No entanto, uma prova de conhecimento zero pode provar para uma agência reguladora ou de auditoria que o lance do fornecedor A é menor do que o do fornecedor B.

Isso é o que a prova de conhecimento zero fornece: uma parte (certificadora) pode provar à outra parte (verificador) que tem uma informação específica sem revelar qual é a informação.

Sistema Prova de Conhecimento Zero

O sistema de prova de conhecimento zero foi criado em 1989 pelo Shafi Goldwasser, Silvio Micali e Charles Rackoff no “conhecimento da complexidade da evidência sistemática interação” (A Complexidade Conhecimento de sistema de prova interativa).

Esses sistemas iniciais de prova de conhecimento zero são interativos, o que significa que a conclusão de uma prova matemática requer a interação do verificador e do provador para concluir. Isto significa que o verificador não pode operar independentemente e o provador deve estar presente ou pode jogar para completar a prova. Agora, desenvolvemos um sistema de evidências não interativo no qual um certificador pode emitir uma evidência e deixar para o verificador a inspeção.

O método de verificação da prova de conhecimento zero enfatiza a confiabilidade e a integridade. O princípio da confiabilidade significa que o provador não pode persuadir o verificador a aceitar uma afirmação errada. Na verdade, isso é baseado na probabilidade do provador produzir uma evidência falsa é muito, muito baixa, o que não é diferente do atual mecanismo de criptografia que temos confiado há décadas. O princípio de completude significa que um provador pode persuadir o verificador a aceitar uma afirmação correta.

Obviamente, uma das principais características da prova de conhecimento zero é que é possível provar que a informação é pública enquanto garantem a privacidade, mas o que é mais interessante sobre os sistemas com prova de conhecimento zero é que eles são cada vez mais concisos, o que é frequentemente negligenciado. Um sistema de prova de conhecimento zero pode provar informações mais sucintamente do que outros métodos.  Ao verificar o tempo de uma transação, o tempo necessário para realizar um cálculo e verificar sua exatidão é muito mais curto exponencialmente, e o último é o método mais comumente usado para cálculos em várias variações atuais.

Cálculos de repetição são caros e exigem tempo e recursos. Note que esta não é a exatidão do algoritmo de verificação ou programa – verificar a integridade do cálculo é outra categoria. Mais importante, isso significa que a blockchain ineficiente computacionalmente deve ser usada. Para verificar a evidência do cálculo, não para o cálculo geral em si.

Avançando para o grande ambiente de hoje, temos vários exemplos práticos de sistemas à prova de conhecimento zero:

Aqui vamos discutir brevemente:

  • ZK-SNARKs
  • ZK-STARKs
  • BulletProff

ZK-SNARKs

ZK-snarks é “zero conhecimento do argumento do conhecimento não-interativo simples” (conhecimentos de zero sucintas argumentos não-interativas de conhecimento) sigla, Zcash adotou este método. A blockchain da Zcash é na verdade um fork da blockchain do Bitcoin.)

Na blockchain Zcash, os mineradores não precisam saber:

  1. Quem está enviando Zcash (então não há necessidade de saber quantos Zcash eles têm).
  2. Quem está recebendo Zcash.
  3. O número de Zcash sendo passado.

No entanto, os mineradores ainda são capazes de confirmar o acordo.

Com o ZK-SNARKs, os mineradores confirmaram que nenhum remetente envia ou cria mais Zcash do que o Zcash que possuem atualmente, e o destinatário recebe apenas o valor que o remetente está tentando enviar. Desta forma, Zcash se torna um verdadeiro sistema anônimo. No Bitcoin e na maioria das blockchains públicas, incluindo o Ethereum, todas as informações de transação são públicas, e o endereço de envio, o endereço de recebimento e a quantia são revelados. Além disso, a moeda mantida em cada conta individual é conhecida.

Deve ser lembrado que Zcash na verdade tem dois formatos de endereço diferentes. Os endereços T são públicos, e as informações enviadas e recebidas desses endereços são públicas como a blockchain do Bitcoin. O endereço Z é privado se um utlizador Z enviar Zcash para outro usuário Z toda informação permanecerá totalmente privada. No entanto, se um endereço Z enviar para o endereço T, a informação vai se tornar pública.

Como o ZK-SNARK funciona?

A teoria matemática por trás do ZK-SNARKs é boa e densa, mas pode ser concentrada (levemente) com os princípios e teoremas corretos. Segue-se uma versão comprimida do artigo “SNARKs in a Nutshell” de Christian Reitweissner.

Primeiro, o problema é codificado e comprimido em um conjunto de equações polinomiais como uma operação quadrática.

t (x) h (x) = w (x) v (x)

Usando essas equações, o objetivo do provador é convencer o verificador de que a equação é válida.

Esses polinômios podem ter vários itens e, se você executar uma verificação de igualdade em um grande número de pontos, a eficiência será bastante baixa. Para introduzir simplicidade, ZK-snarks dependentes do lema de Schwartz-Zippel, ou seja, de avaliação polinomial diferente na maioria dos pontos são diferentes, por isso, um pequeno número de pontos de verificação, de fato, pode verificar que o polinômio provador é usada adequadamente. Assim, a avaliação requer apenas um subconjunto de pontos para provar a equação, e esses pontos de avaliação são aleatórios e secretos. Aleatoriedade e pontos secretos são muitas vezes referidos como resíduos tóxicos estabelecidos por ZK-SNARKs. Definir a fase gera uma cadeia de referência comum (string de referência comum, CRS), que gera um ponto aleatório de redes, a partir do ponto avaliador polinomial, e gera um segredo A (número), o valor polinomial a “mudança” para preservar a confidencialidade S.

S e A são destruídos imediatamente após a fase de configuração, de modo que os agentes mal-intencionados não os obtêm e só poderão construir evidências falsas.

O verificador agora pode verificar se os polinômios a seguir permanecem iguais em um ponto aleatório s:

t (s) h (s) = w (s) v (s)

Em seguida, para mascarar a aleatoriedade, pontos de avaliação secretos e permitir que o verificador use a evidência da criptografia homomórfica para formar um quebra-cabeça completo. Na criptografia homomórfica, os valores são criptografados de forma que possam ser manipulados matematicamente e, em seguida, descriptografados para exibir um valor como se o número original fosse usado na avaliação. Em outras palavras, ele permite que você oculte números, faça uma avaliação e reexiba, assim como faz com os números originais não exibidos (neste caso, nem todas as operações matemáticas, mas algumas).

O provador só conhece E (s), mas pode calcular E (t (s)), E (h (s)), E (w (s)) e E (v (s)).

Multiplicando o outro valor secreto k para confundir o valor de criptografia homomórfico, o provador também pode ocultar sua informação original.

Em essência, o verificador está verificando a seguinte equação: t (s) h (s) k = w (s) v (s) k

Como definir ZK-SNARKs?

Algumas pessoas expressaram dúvidas sobre como gerar “equações polinomiais” e configurações aleatórias mencionadas acima.

Em relação ao questionamento da equação polinomial, a versão mais curta que eu posso fornecer é, a equação a ser provada inicialmente (como A> B? Ou A + B = C?) Comprimida em um loop, isto é, a restrição é usado para criar esses polinômios.

Além disso, como você escolhe números aleatórios?

Na primeira versão da Zcash, os membros fundadores originais usaram um método bem concebido, através de sua chamada “cerimônia” para produzir este lixo tóxico gerado aleatoriamente, a história completa, consulte este link.

O “ritual” é basicamente um cálculo multipartidário (MPC) que produz resultados aleatórios. Em outras palavras, cada membro do ritual (um total de seis partes) produz suas próprias chaves aleatórias únicas que são combinadas em uma única chave aleatória. Recentemente, na última versão do Zcash, Sapling, eles implementaram uma nova metodologia para o MPC – mais de 80 participantes geraram uma chave privada aleatória para os ZK-SNARKs.

ZK-STARKs

Em contraste, os STARKs (argumentos de conhecimento transparentes sucintos) são elogiados por sua transparência e criptografia forte. Ao contrário dos ZK-SNARKs, os STARKs não exigem uma configuração confiável e, portanto, não exigem os resíduos tóxicos que aparecem nos ZK-SNARKs – portanto, eles são transparentes. Os STARKs são capazes de eliminar a necessidade de configurações confiáveis ​​usando o protocolo Arthur-Merlin. No acordo, o verificador Arthur gera aleatoriedade para cada problema, e o provador Merlin fornece evidências resolvendo o problema. Os STARKs também tornam sua criptografia mais forte, usando um mínimo de suposições de senha e um equilíbrio entre funções hash seguras e anti-colisão.

A Starkware está trabalhando com o XI em um grande projeto para usar ZK-STARKs em trocas de compensação descentralizadas e centralizadas Seus artigos sobre este tópico são bem claros e os leitores interessados ​​podem descobrir.

A certificação e a verificação da STARK são mais rápidas do que as SNARKs e o sistema “Bulletproof”, exceto pelo fato de que o primeiro projeto STARK e as ferramentas de desenvolvimento nessa área acabaram de surgir.

Bulletproof

O Bulletproof é outra forma de sistema de conhecimento zero que não requer configurações confiáveis, mas requer tempos de prova mais longos do que SNARKs e STARKs. Esses métodos de prova agora foram implementados na Monero – a velocidade da implementação é impressionante e a publicação de trabalhos acadêmicos já começou.

O Bulletproof é baseado no método de prova de alcance existente, que combina várias provas de alcance e possui dados menores que os métodos anteriores.

Curiosamente, o Bulletproof permite que as evidências sejam agregadas, o que significa que você pode coletar e validar várias evidências de diferentes partes ao mesmo tempo por meio de cálculos com várias partes. Em um artigo publicado recentemente, o novo protocolo Zether à prova de bala é implantado em privacidade de contrato inteligente e, recentemente, o JPMorgan Chase adicionou esse recurso a sua Blockchain, a Quorum.

Desafios do Sistema de Prova de Conhecimento Zero

Provas de conhecimento zero estão sendo amplamente adotadas e enfrentam alguns dos seguintes grandes desafios:

Tempo, ferramentas para desenvolvedores / preparação de mão de obra)

Para cada cálculo ou cenário, um conjunto de provas matemáticas deve ser gerado para implementar a codificação. Até agora, várias ferramentas de desenvolvimento apareceram no mercado, no entanto, isso ainda requer uma habilidade profissional avançada. A falta de pessoal capacitado no domínio da prova de conhecimento zero (e, em grande parte, em criptografia) é semelhante ao campo da computação quântica, mais desenvolvedores devem ser treinados para entender como combinar um aplicativo antes que ele seja amplamente adotado.

Geração de evidência e requisitos de tempo / escala de verificação

A prova de conhecimento zero requer que o provador gere uma evidência para verificação pelo verificador. Ambas as atividades levam tempo, e o tempo necessário para isso foi bastante reduzido nos últimos anos (na verdade, nos últimos meses), mas isso ainda é um problema a ser considerado para adoção em grande escala.

Padronização de evidência

Este artigo explicou as diferentes metodologias para gerar evidências, mas cada método tem um ponto de partida semelhante. A padronização é necessária para permitir provas de conhecimento zero a partir do processamento temporário de problemas específicos para o processamento de uma gama mais ampla de problemas e cenários relacionados. A organização de padrões ZK está trabalhando para resolver problemas relacionados.

Requisitos de configuração confiáveis ​​do ZK-SNARK

Outro fator a considerar para o ZK-SNARKs é que é necessário estabelecer um ambiente confiável no mundo da criptografia, ou “lixo tóxico”.

Como mencionado acima, na configuração confiável, é gerada aleatoriamente uma “chave privada” , que é usada como um segredo protegido, para que o sistema gere uma prova de conhecimento zero conforme necessário, que é a base para o estabelecimento de configurações confiáveis. No entanto, se a chave privada / resíduo tóxico vazar, qualquer pessoa com uma chave privada poderá fornecer evidências falsas, o que significa que pode fornecer evidências de que conhece alguma informação, mas não sabe. É onde está a vulnerabilidade.

Lembre-se, a ZK-Starks não precisa de provas credíveis e configuração Bulletproof, mas este ano foi lançado o Sonic é uma nova metodologia que fornece um conjunto de confiança ZK-snarks de caráter referência genérica atualizável String, que é uma solução para simplificar configurações confiáveis ​​para um sistema de evidências maior.

Um detalhe

No setor privado, dificilmente começamos a avaliar e entender onde os sistemas de prova de conhecimento zero são mais adequados para uso, e que tipo de evidência é mais adequada e sob quais circunstâncias deve ser usada. Esteja ciente de que grande parte da energia da indústria ainda está pesquisando onde a segurança cibernética começa, sem mencionar como incorporar conhecimento zero a essa estratégia.

No domínio público, o rápido desenvolvimento da prova do conhecimento zero em termos de velocidade e escala impressionará, sem dúvida, o público em áreas afins, mas, no campo das criptomoedas, um público mais amplo ainda não teve essa solução de privacidade. A entrada de recursos pode ser demonstrada pela baixa participação de blockchains que protegem a privacidade.

É claro, é justo dizer que a solução de privacidade do contrato inteligente ainda está em um estágio muito inicial (transações simples são melhores), e espera-se que isso acelere a adoção de métodos de proteção de privacidade nas blockchains públicas.

Conclusão

O sistema de prova de conhecimento zero detalhado acima é apenas parte da história que está acontecendo no campo da criptografia. Existem outras formas de prova de conhecimento zero, como ZK-SHARKs e Mimblewimble. Há também alguns desenvolvimentos interessantes em outras áreas da criptografia, como criptografia totalmente homomórfica e criptografia quântica.

A privacidade e a confidencialidade fornecidas pela prova e criptografia do conhecimento-zero são sobrepostas até certo ponto, e seu papel na sociedade depende de como você as mede.

Para indivíduos que querem proteger dados pessoais ou empresas que protegem segredos comerciais, é um direito ser uma obrigação para instituições que não querem prejudicá-lo, assim como aqueles que gozam da liberdade de expressão são solicitados a não usá-lo para prejudicar os outros.

Para o governo (idealmente), é uma responsabilidade porque envolve os direitos da maioria dos cidadãos, e os cidadãos querem e acreditam que o governo nos permitirá proteger nossa privacidade e nos proteger da malícia de uma forma que nos proteja.

Não obstante, o objetivo da criptografia existe em ambas as áreas, de modo que uma sociedade possa verdadeiramente ser livre: proteger livremente a privacidade da informação sem medo de abuso de privacidade. Dada a história da criptografia nos últimos séculos, um dia no futuro, juntamente com os avanços matemáticos e científicos apropriados para serem compreendidos, a criptografia pode ajudar o mundo a alcançar tais objetivos, e essa expectativa não parece louca.

Autor: Karen Scarbrough 

Clique aqui para ler: Durante terceiro trimestre capitalização de mercado das criptomoedas cresceu 125%

Mantenha-se informado todos os dias sobre Bitcoin! Se inscreva em nossas redes sociais: