Algoritmos de chave assimétrica pertencem ao campo da criptografia. São algoritmos que podem encriptar e desencriptar informações. As suas operações requerem uma chave pública e uma chave privada. A chave pública pode ser conhecida por outros. A chave privada não deve ser conhecida por ninguém exceto o proprietário. As duas chaves podem encriptar e desencriptar uma à outra. Porque a encriptação e a desencriptação usam duas chaves diferentes, os algoritmos são chamados de Algoritmos de chave assimétrica.
Os algoritmos correspondentes são os Algoritmos de Chave Simétrica, que usam chaves criptográficas tanto para a encriptação do texto simples como para a desencriptação do texto cifrado. Por exemplo, utilizando os Algoritmos de Chave Simétrica AES (Padrão de Encriptação Avançado) para encriptar a palavra "Gate.io" pode-se obter a cadeia alfabética U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4. Por sua vez, o texto cifrado também pode ser desencriptado pelos Algoritmos de Chave Simétrica AES para obter a cadeia alfabética original Gate.io. Nos primórdios, os Algoritmos de Chave Simétrica eram usados para enviar telegramas encriptados. Este processo de desencriptação é simples e rápido, mas após a fuga do método de encriptação, é fácil decifrar a informação interceptada, e a segurança não é elevada.
A segurança dos algoritmos de chave assimétrica é maior do que a dos algoritmos de chave simétrica, mas a eficiência deles é menor do que a dos algoritmos de chave simétrica devido às operações complexas. Vamos entendê-los simplesmente através de um exemplo: suponhamos que o Jim queira enviar uma mensagem para o Bob usando algoritmos de chave assimétrica, o Jim precisa passar pelo seguinte processo:
1. Tanto o Jim como o Bob precisam de gerar um par de chaves pública e privada;
2. A chave pública de Jim é enviada para Bob e a chave privada é guardada por Jim; a chave pública de Bob é enviada para Jim e a chave privada é guardada por Bob;
3. Quando Jim envia uma mensagem para Bob, ele encripta a mensagem com a chave pública de Bob;
4. Depois de Bob receber a mensagem, ele pode descriptografá-la usando sua chave privada.
Os algoritmos de chave assimétrica são os principais algoritmos criptográficos usados na blockchain. Os seus cenários de aplicação incluem principalmente a encriptação de informações, a assinatura digital, a autenticação de login e o certificado digital. O seu valor na blockchain é a chave pública e a chave privada para identificar a identidade do remetente e do destinatário.
Encriptação de informação: garantir a segurança da informação. O remetente possui uma chave pública, e não importa que outros também saibam, pois a informação enviada por outros não afeta o destinatário. A chave detida pelo destinatário é a privada e este é o único que consegue desbloquear a informação encriptada. A tecnologia de encriptação das transações de Bitcoin pertence a este cenário.
Assinatura digital: garantir a atribuição de informações. Para mostrar que as informações não foram falsificadas e que são realmente enviadas pelo proprietário das informações, a assinatura digital é anexada na parte de trás das informações originais. Como uma assinatura manuscrita, é única e concisa.
Autenticação de login: o cliente criptografa as informações de login com a chave privada e envia para o servidor, que descriptografa e autentica as informações de login com a chave pública do cliente após recebê-las.
Certificado digital: garantir a legitimidade da chave pública. Para que o remetente verifique que a chave pública obtida na Internet é verdadeira, é gerada uma organização de terceiros CA (Autoridade de Certificação) para garantir a legitimidade da chave pública. Ao publicar informações, o proprietário do texto original das informações precisa trazer sua própria assinatura digital e certificado digital, o que pode garantir que as informações não sejam adulteradas.
Os algoritmos de chave assimétrica usados na blockchain do Bitcoin são algoritmos criptográficos de curva elíptica. Eles também são algoritmos de chave assimétrica comumente usados na blockchain atualmente, referidos como ECDSA, em que EC é a abreviatura de "curva elíptica" e DSA é a abreviatura de "algoritmo de assinatura digital".
Ao determinar os parâmetros da curva elíptica, o sistema Bitcoin utiliza um parâmetro de curva chamado SECP256k1. Desta forma, o sistema obtém aleatoriamente uma chave privada de 32 bytes em operação, e depois obtém a chave pública através do algoritmo de assinatura digital de curva elíptica (usando a curva SECP256k1), e em seguida opera múltiplos algoritmos de hash para obter o hash da chave pública e forma o endereço final da conta em combinação com o número da versão.
Por exemplo, dois números primos (152, 891) são gerados aleatoriamente para formar uma "chave privada" de seis dígitos 152891, e a regra para gerar uma "chave pública" é que esses dois números primos são multiplicados (152x891=135432). Neste momento, as pessoas na rede podem obter esta "chave pública". Quando deseja que estes dados sejam modificados apenas por si, pode adicionar uma nota aos dados "‘chave pública’ 135432": apenas os três dígitos à esquerda da chave privada multiplicados pelos três dígitos à direita equivalem à chave pública e podem ser modificados.
Se um hacker na rede quiser adulterar dados sem consentimento, mesmo que saiba que a "chave privada" gera a "chave pública" multiplicando dois números primos, ele não sabe quais são os dois números primos. Portanto, para encontrar a chave privada da "chave pública" 135423, ele só pode tentar um por um da forma mais direta: 001 x 002, ..., 998 x 999, etc. Esse processo é difícil quando o número primo é grande.
Um exemplo tão simples é relativamente simples. Um computador pode calcular a "chave privada" do exemplo acima diretamente da "chave pública". No entanto, o algoritmo de curva elíptica utilizado pelo sistema Bitcoin para gerar a "chave pública" a partir da "chave privada" é difícil de quebrar com a tecnologia existente. Porque o seu número primo é muito grande. Além disso, o processo de descriptografia da chave privada no sistema Bitcoin é realizado por uma linguagem de execução de pilha de notação polonesa reversa.
curva elíptica
A chave privada pode deduzir a chave pública e o hash da chave pública, mas a chave pública e o hash da chave pública não podem deduzir a chave privada. Portanto, a chave privada precisa ser bem guardada pelo utilizador. Uma vez que a chave privada é perdida, os ativos na conta não podem ser recuperados.
Os algoritmos assimétricos são a base da operação da blockchain. Além do algoritmo criptográfico de curva elíptica usado em blockchains como Bitcoin e Ethereum, os seguintes algoritmos criptográficos diferentes também são comuns em blockchains.
Algoritmo RSA (Rivest Shamir Adleman): porque é difícil de quebrar, é amplamente utilizado no campo da criptografia digital e assinatura digital. No algoritmo RSA, tanto chaves públicas quanto privadas podem ser usadas para criptografar informações. Se a chave pública for usada para criptografar (para evitar que as informações sejam roubadas), a chave privada será usada para descriptografar. Se a chave privada for usada para criptografar (para evitar que as informações sejam adulteradas), a chave pública será usada para descriptografar (assinatura digital). Teoricamente, quanto maior o número de bits da chave no algoritmo RSA, mais difícil é quebrar (a computação quântica não está excluída). Portanto, a chave comumente usada na indústria tem no mínimo 2048 bits.
Algoritmo de assinatura digital DSA: este algoritmo não pode cifrar ou decifrar informações e é principalmente usado para assinar e autenticar informações cifradas. A segurança é tão elevada como a do algoritmo RSA, mas a velocidade de processamento é mais rápida.
Algoritmo criptográfico de curva elíptica ECC: o processo de criptografia é derivado da curva elíptica em matemática. Comparado com o algoritmo RSA, o algoritmo ECC tem uma velocidade de criptografia e descriptografia mais rápida e uma intensidade de segurança por unidade mais alta. Com o mesmo comprimento de chave, o algoritmo ECC tem a maior segurança.
A criptografia é uma das tecnologias básicas que suportam a operação dos sistemas blockchain. Tornou-se uma parte indispensável da segurança informática moderna e um componente-chave do crescente ecossistema de criptomoedas. Com o contínuo desenvolvimento da criptografia, os algoritmos de chave simétrica e os algoritmos de chave assimétrica desempenharão um papel maior na resistência a várias ameaças na segurança informática futura e na validação da segurança das criptomoedas.
Bagikan
Konten
Algoritmos de chave assimétrica pertencem ao campo da criptografia. São algoritmos que podem encriptar e desencriptar informações. As suas operações requerem uma chave pública e uma chave privada. A chave pública pode ser conhecida por outros. A chave privada não deve ser conhecida por ninguém exceto o proprietário. As duas chaves podem encriptar e desencriptar uma à outra. Porque a encriptação e a desencriptação usam duas chaves diferentes, os algoritmos são chamados de Algoritmos de chave assimétrica.
Os algoritmos correspondentes são os Algoritmos de Chave Simétrica, que usam chaves criptográficas tanto para a encriptação do texto simples como para a desencriptação do texto cifrado. Por exemplo, utilizando os Algoritmos de Chave Simétrica AES (Padrão de Encriptação Avançado) para encriptar a palavra "Gate.io" pode-se obter a cadeia alfabética U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4. Por sua vez, o texto cifrado também pode ser desencriptado pelos Algoritmos de Chave Simétrica AES para obter a cadeia alfabética original Gate.io. Nos primórdios, os Algoritmos de Chave Simétrica eram usados para enviar telegramas encriptados. Este processo de desencriptação é simples e rápido, mas após a fuga do método de encriptação, é fácil decifrar a informação interceptada, e a segurança não é elevada.
A segurança dos algoritmos de chave assimétrica é maior do que a dos algoritmos de chave simétrica, mas a eficiência deles é menor do que a dos algoritmos de chave simétrica devido às operações complexas. Vamos entendê-los simplesmente através de um exemplo: suponhamos que o Jim queira enviar uma mensagem para o Bob usando algoritmos de chave assimétrica, o Jim precisa passar pelo seguinte processo:
1. Tanto o Jim como o Bob precisam de gerar um par de chaves pública e privada;
2. A chave pública de Jim é enviada para Bob e a chave privada é guardada por Jim; a chave pública de Bob é enviada para Jim e a chave privada é guardada por Bob;
3. Quando Jim envia uma mensagem para Bob, ele encripta a mensagem com a chave pública de Bob;
4. Depois de Bob receber a mensagem, ele pode descriptografá-la usando sua chave privada.
Os algoritmos de chave assimétrica são os principais algoritmos criptográficos usados na blockchain. Os seus cenários de aplicação incluem principalmente a encriptação de informações, a assinatura digital, a autenticação de login e o certificado digital. O seu valor na blockchain é a chave pública e a chave privada para identificar a identidade do remetente e do destinatário.
Encriptação de informação: garantir a segurança da informação. O remetente possui uma chave pública, e não importa que outros também saibam, pois a informação enviada por outros não afeta o destinatário. A chave detida pelo destinatário é a privada e este é o único que consegue desbloquear a informação encriptada. A tecnologia de encriptação das transações de Bitcoin pertence a este cenário.
Assinatura digital: garantir a atribuição de informações. Para mostrar que as informações não foram falsificadas e que são realmente enviadas pelo proprietário das informações, a assinatura digital é anexada na parte de trás das informações originais. Como uma assinatura manuscrita, é única e concisa.
Autenticação de login: o cliente criptografa as informações de login com a chave privada e envia para o servidor, que descriptografa e autentica as informações de login com a chave pública do cliente após recebê-las.
Certificado digital: garantir a legitimidade da chave pública. Para que o remetente verifique que a chave pública obtida na Internet é verdadeira, é gerada uma organização de terceiros CA (Autoridade de Certificação) para garantir a legitimidade da chave pública. Ao publicar informações, o proprietário do texto original das informações precisa trazer sua própria assinatura digital e certificado digital, o que pode garantir que as informações não sejam adulteradas.
Os algoritmos de chave assimétrica usados na blockchain do Bitcoin são algoritmos criptográficos de curva elíptica. Eles também são algoritmos de chave assimétrica comumente usados na blockchain atualmente, referidos como ECDSA, em que EC é a abreviatura de "curva elíptica" e DSA é a abreviatura de "algoritmo de assinatura digital".
Ao determinar os parâmetros da curva elíptica, o sistema Bitcoin utiliza um parâmetro de curva chamado SECP256k1. Desta forma, o sistema obtém aleatoriamente uma chave privada de 32 bytes em operação, e depois obtém a chave pública através do algoritmo de assinatura digital de curva elíptica (usando a curva SECP256k1), e em seguida opera múltiplos algoritmos de hash para obter o hash da chave pública e forma o endereço final da conta em combinação com o número da versão.
Por exemplo, dois números primos (152, 891) são gerados aleatoriamente para formar uma "chave privada" de seis dígitos 152891, e a regra para gerar uma "chave pública" é que esses dois números primos são multiplicados (152x891=135432). Neste momento, as pessoas na rede podem obter esta "chave pública". Quando deseja que estes dados sejam modificados apenas por si, pode adicionar uma nota aos dados "‘chave pública’ 135432": apenas os três dígitos à esquerda da chave privada multiplicados pelos três dígitos à direita equivalem à chave pública e podem ser modificados.
Se um hacker na rede quiser adulterar dados sem consentimento, mesmo que saiba que a "chave privada" gera a "chave pública" multiplicando dois números primos, ele não sabe quais são os dois números primos. Portanto, para encontrar a chave privada da "chave pública" 135423, ele só pode tentar um por um da forma mais direta: 001 x 002, ..., 998 x 999, etc. Esse processo é difícil quando o número primo é grande.
Um exemplo tão simples é relativamente simples. Um computador pode calcular a "chave privada" do exemplo acima diretamente da "chave pública". No entanto, o algoritmo de curva elíptica utilizado pelo sistema Bitcoin para gerar a "chave pública" a partir da "chave privada" é difícil de quebrar com a tecnologia existente. Porque o seu número primo é muito grande. Além disso, o processo de descriptografia da chave privada no sistema Bitcoin é realizado por uma linguagem de execução de pilha de notação polonesa reversa.
curva elíptica
A chave privada pode deduzir a chave pública e o hash da chave pública, mas a chave pública e o hash da chave pública não podem deduzir a chave privada. Portanto, a chave privada precisa ser bem guardada pelo utilizador. Uma vez que a chave privada é perdida, os ativos na conta não podem ser recuperados.
Os algoritmos assimétricos são a base da operação da blockchain. Além do algoritmo criptográfico de curva elíptica usado em blockchains como Bitcoin e Ethereum, os seguintes algoritmos criptográficos diferentes também são comuns em blockchains.
Algoritmo RSA (Rivest Shamir Adleman): porque é difícil de quebrar, é amplamente utilizado no campo da criptografia digital e assinatura digital. No algoritmo RSA, tanto chaves públicas quanto privadas podem ser usadas para criptografar informações. Se a chave pública for usada para criptografar (para evitar que as informações sejam roubadas), a chave privada será usada para descriptografar. Se a chave privada for usada para criptografar (para evitar que as informações sejam adulteradas), a chave pública será usada para descriptografar (assinatura digital). Teoricamente, quanto maior o número de bits da chave no algoritmo RSA, mais difícil é quebrar (a computação quântica não está excluída). Portanto, a chave comumente usada na indústria tem no mínimo 2048 bits.
Algoritmo de assinatura digital DSA: este algoritmo não pode cifrar ou decifrar informações e é principalmente usado para assinar e autenticar informações cifradas. A segurança é tão elevada como a do algoritmo RSA, mas a velocidade de processamento é mais rápida.
Algoritmo criptográfico de curva elíptica ECC: o processo de criptografia é derivado da curva elíptica em matemática. Comparado com o algoritmo RSA, o algoritmo ECC tem uma velocidade de criptografia e descriptografia mais rápida e uma intensidade de segurança por unidade mais alta. Com o mesmo comprimento de chave, o algoritmo ECC tem a maior segurança.
A criptografia é uma das tecnologias básicas que suportam a operação dos sistemas blockchain. Tornou-se uma parte indispensável da segurança informática moderna e um componente-chave do crescente ecossistema de criptomoedas. Com o contínuo desenvolvimento da criptografia, os algoritmos de chave simétrica e os algoritmos de chave assimétrica desempenharão um papel maior na resistência a várias ameaças na segurança informática futura e na validação da segurança das criptomoedas.