domingo, 17 de março de 2013

Assinatura e Certificação Digital - Cadeia de Certificação

... ainda dentro de Sistema de Criptografia de Chaves Públicas ICP/PKI ...


Em um certificado digital naturalmente contém uma informação que é a cadeia de certificação, sendo esta uma sequência de certificados, formada pelo caminho percorrido desde a AC de primeiro nível, passando pelas ACs intermediárias até o certificado do usuário final.
Normalmente a cadeia de certificação é formada da esquerda para direita, e na verificação se determinado certificado digital é confiável ou não, a certificação do usuário final só será verificada se toda sua cadeia for validada anteriormente, se tudo ocorrer bem, então pode-se dizer que tal certificado é um certificado válido. Faz parte da verificação do certificado validar se cada certificado apresentado na cadeia é de fato assinado pela AC sucessora, ou seja, assumindo o certificado do João que fora emitido pela “AC Caixa PF” (Caixa Econômica Pessoa Física), e esta AC têm um certificado emitido pela “AC CEF” (Caixa Econômica Federal) e ainda esta AC têm um certificado emitido pela “AC ICP-Brasil” que é uma AC de primeiro nível, então temos uma ilustração com a seguinte ilustração;

No decorrer da verificação do certificado apresentado por João, primeiro será validado se a “AC ICP-BRASIL” é uma AC de raiz válida, e então se o certificado de “AC CEF” é de válido e assinado pela “AC ICP-BRASIL”, e da mesma maneira ocorrerá com o certificado “AC Caixa PF” e o certificado de João, assim quando verificado toda a cadeia, então o certificado de João é dado como válido e confiável.
           A verificação ou validação de um certificado e toda sua cadeia ainda passa por outros dois conceitos, a lista de certificados raízes confiáveis e a lista de certificados revogados. A lista de certificados raízes confiáveis é mantida por entidades de primeiro nível confiáveis mundialmente e portanto conhecidas mundialmente, os softwares que precisam fazer a verificação de certificados conhecem estas listas, os próprios Sistemas Operacionais mantém estas listas em suas bases, e são atualizados periodicamente em background, sem a interceptação dos usuários, a plataforma Java, em especial a JVM (Java Virtual Machine) conhece boa parte das listas de certificados e também as atualiza em background, a exemplo dos vários Web Browsers. A lista dos certificados revogados é mantida pelas ACs intermediárias e um certificado pode ser revogado por motivos diversos, como a um extravio da senha secreta por parte do devido portador do certificado, ou algo do gênero, enfim, a AC pública periodicamente ou em emergência as listas dos certificados que foram revogados antes da data de vencimento e não devem ser utilizados para efetivação de assinaturas digitais, esta lista é bastante conhecida como CRL (certificate revocation list) ou no português LCR do já dito lista de certificados revogados.

Assinatura e Certificação Digital - Autoridades Certificadoras

... ainda dentro de Sistema de Criptografia de Chaves Públicas ICP/PKI ...

As Autoridades Certificadoras são instituições públicas ou privadas com autoridade eminente para emissão de certificados digitais, ou seja, emissão da identificação digital de pessoas físicas e/ou privadas, sendo que estes certificados devem ser automaticamente assinados por tais AC. Diz-se que estas instituições devem ter tais autoridades, pois as mesmas são comparadas as entidades emissoras de documentos tradicionais, ou seja, os denominados órgãos expedidores de documentos.
            As Autoridades Certificadoras podem ter diferentes níveis de confiança e seus Certificados Digitais emitidos naturalmente também teriam níveis diferentes de confiança, além do que, a confiança na identificação de algo ou alguém como já mencionado em meios lógicos ou físicos, se dá pela instituição emissora da identificação. O que queremos dizer é que o nível de confiança em uma identidade digital é diferente se o certificado digital for emitido pela "Caixa Econômica Federal Pessoa Jurídica" (que é uma AC real) e um certificado digital emitido por uma empresa Y aos seus funcionários. As duas ACs podem ser reais e válidas, porém em uma ação de cenário nacional, partindo do nosso exemplo, somente o certificado emitido pela "Caixa Econômica Federal Pessoa Jurídica" poderia ser dado como válido, possivelmente pela responsabilidade que o portador do certificado tem assumido com a AC que seria então o órgão que expediu a identidade digital. Reforçando ainda mais a informação, podemos afirmar que os certificados digitais ligam uma pessoa jurídica ou física a uma chave pública e as ACs confirmam que determinado certificado é válido e confiável, ou seja, por tratamentos lógicos podemos afirmar, voltando ao princípio da terceira parte confiável que a AC informa se a assinatura de determinada pessoa jurídica ou física é válido e confiável.
            As ACs na necessidade de garantir os altos níveis de segurança inclusive para que dê validade jurídica as assinaturas digitais, dentro do escopo da ICP, obrigatoriamente utilizam hardwares específicos para geração das chaves públicas e privadas e armazenamento destas chaves, garantindo a segurança das mesmas contra perdas por roubos e outros motivos diversos.
            Toda Autoridade Certificadora deve possuir um certificado digital como qualquer outro, de maneira tal, as ACs possuem também suas chaves privadas que são utilizadas para assinar os certificados digitais dos clientes destas. Como já fora mencionado, para constituir uma ICP há uma arquitetura organizacional, que são as ACs, esta arquitetura dita segue um modelo hierárquico que como todo modelo de hierarquia, existem níveis. O primeiro nível ou o nível mais alto deve ter a possibilidade de criar/emitir um certificado para si mesmo sendo que este certificado é denominado Certificado Raiz e ao passo que este primeiro certificado é gerado, então possibilita o início das atividades da ICP. Este certificado é criado e assinado pela AC raiz naturalmente esta AC raiz deve ser uma entidade/instituição pública ou privada de alta confiança.
            Vale mencionar que diferentes entidades e instituições podem ser Autoridades Certificadoras e até mesmo Autoridades Certificadoras de primeiro nível, ou seja, uma empresa privada que queira que seus funcionários se identifiquem e garantam integridade das informações geradas logicamente/digitalmente pode fazer utilização da Assinatura e Certificação digital dentro da empresa, a própria empresa poderia ser a AC raiz, gerar o seu próprio Certificado Digital, assinar este e com o mesmo gerar chaves privadas e certificados para seus funcionários, em outras palavras esta empresa teria que manter a sua própria ICP, mas de qualquer maneira os certificados gerados pela mesma só seriam então válidos dentro desta empresa, e as assinaturas naturalmente não teriam fé pública por exemplo.
            Cada certificado emitido normalmente por uma AC contém informações imutáveis sobre o que o mesmo pode certificar ou assinar sobre outros certificados, a Autoridade Certificadora emite certificados para os seus clientes, mas estes certificados não devem ser utilizados para assinar outros certificados. Os Certificados que podem ser utilizados para assinar outros Certificados são geralmente emitidos de uma AC de nível maior para outra menor tomando por base altos níveis de precauções. Se um usuário compra um certificado de determinada AC e então decide assinar outro certificado com este que foi comprado, este novo certificado assinado não terá validade, pois o certificado emitido para tal usuário contém informações descrevendo que o mesmo não deveria ser utilizado para assinar outros certificados. Podemos afirmar então que um certificado pode ser assinado por outro certificado ou assinado por si mesmo sendo que todo certificado raiz é um certificado assinado por si mesmo e normalmente os certificados assinados por outros certificados são emitidos por alguma AC.

Assinatura e Certificação Digital - Certificados Digitais

... ainda dentro de Sistema de Criptografia de Chaves Públicas ICP/PKI ...

Um Certificado Digital liga uma determinada chave pública a uma determinada pessoa, estes certificados são geralmente emitidos por um tipo de autoridade, sendo estas autoridades públicas ou privadas, dependendo da necessidade e utilização da identidade digital. Estas autoridades mencionadas são as Autoridades Certificadoras, normalmente conhecidas pelo acrônimo AC e pode ser facilmente comparadas com as entidades emissoras de documentos, quando dito sobre a quem tem a responsabilidade de inserir o sujeito no sistema e na confiança estabelecida sobre a autoridade certificadora, isto quer dizer que quando se confia na identificação/certificado de determinado usuário/computador, a confiança na realidade está sobre quem emitiu o certificado, que como já mencionado "baseia-se no princípio da terceira parte confiável" que é o mesmo princípio dos documentos tradicionais (em meios físicos).
            Um Certificado Digital é um documento eletrônico como qualquer outra entidade lógica, porém por padrão este é assinado digitalmente pela Autoridade Certificadora que o emitiu. Um Certificado Digital tem um papel semelhante a um documento de Identidade (RG), porém sua tarefa é identificar em meios lógicos uma pessoa física ou jurídica ou ainda um computador.
            Os Certificados Digitais são padronizados, e de acordo com o âmbito e utilização estes certificados são também identificados, como por exemplo, para a assinatura digital os certificados digitais mais utilizados são os certificados do padrão X.509, este tipo de certificado contém informações básicas do portador da identidade digital como;
  • a chave pública do portador;
  • nome da pessoa associada a chave pública;
  • período de validade do certificado;
  • informações sobre a AC que emitiu tal certificado;
  • cadeia de certificação (será discutido no decorrer do trabalho);
  • número de série;
  • informações sobre o algoritmo de criptografia utilizada pelo portador;
  • e várias outras informações que detalham o portador e o próprio certificado;

Assinatura e Certificação Digital - Sistema de Criptografia de Chaves Públicas ICP/PKI


O sistema de criptografia de chaves públicas é na verdade todo o arcabouço existente que dê suporte a assinatura digital. A assinatura digital propriamente dita é a aplicação da criptografia assimétrica, onde é preciso existir a chave privada e a pública correspondente, mas não só isto, imaginemos como seria possível confirmar que determinada chave pública é de fato de João? Ou seja, não basta apenas existir a criptografia de chaves públicas (criptografia simétrica), faz também necessário a possibilidade de certificar que determinada pessoa é de fato quem afirma ser, ou seja, uma identidade digital de um sujeito, algo que crie um vínculo entre determinada pessoa e uma chave pública.
            Este dito arcabouço ou aparato para o sistema de criptografia de chaves públicas é o conceito do PKI que está para Public Key Infrastructure ou no português ICP que é o acrônimo para Infra-estrutura de chaves públicas que existem para dar valores jurídicos as ações de assinaturas digitais. Uma ICP é uma arquitetura organizacional que fornecem técnicas e procedimentos que suportam os denominados Certificados Digitais, a aplicação do sistema de chaves públicas para propósito da troca segura de informações sobre canais inseguros como de redes e dispositivos diversos.
            Para o controle dos chamados Certificados Digitais é que existe a Infra-estrutura de Chaves Públicas e dentro desta o conceito de Autoridades Certificadoras, que baseia-se no princípio da terceira parte confiável, oferecendo uma mediação de credibilidade e confiança em transações entre as partes que utilizam certificados digitais.

Assinatura e Certificação Digital - Pequeno Comparativo entre os Modelos de Criptografia


Há de se observar que o poder computacional necessário para ambos modelos de criptografia são distintos, visto que criptografar uma e decifrar uma mensagem com modelo assimétrico, dependo da mensagem, pode ser uma tarefa árdua, mesmo para potentes computadores, por isto em alguns protocolos e tecnologias, como é o caso da navegação segura na internet pelo protocolo HTTPS com o SSL, há uma mesclagem dos dois modelos criptográficos. A comunicação ocorre o tempo todo via determinada criptografia simétrica, a maior carga de processamento ocorre no primeiro contato entre os dois computadores remotos, cliente e servidor, pois neste momento é combinado a chave da criptografia simétrica e o algoritmo da comunicação.
            Dado tal ambiente, facilmente percebe-se as vantagens e desvantagens entre os dois modelos. A criptografia simétrica tem a vantagem de ter um processamento mais leve das mensagens, mas o problema estaria em definir seguramente uma chave de comunicação, sem que terceiros pudessem ter acesso a chave e consequentemente a mensagem, portanto, a desvantagem da criptografia simétrica está na gerência das chaves de criptografia, o que se torna fácil com a criptografia assimétrica, visto que há a chave privada e pública do João e a chave privada e pública do Pedro, então os dois podem se comunicar facilmente, mas a carga de processamento é mais pesada, dependendo da mensagem em que os mesmos vão trocar.
            Como a navegação na internet é cobrada segurança e agilidade, então a união dos dois modelos de criptografia é a solução mais viável, e que tem obtido grande sucesso.

Assinatura e Certificação Digital - DSA

... ainda dentro de Criptografia Assimétrica ...


O DSA que está para Digital Signature Algorithm ou no português Algoritmo de Assinatura Digital é o sistema padrão para assinaturas digitais do governo americano, e foi proposto em agosto de 1991 pelo NIST o instituto nacional para definição de padrões e tecnologia do governo. O DSA é um algoritmo que se encontra no contexto da criptografia assimétrica fazendo parte naturalmente da infra-estrutura de chaves públicas, porém o algoritmo foi desenvolvido com o único objetivo de ser um padrão para assinaturas digitais, por isto o seu nome. O DSA é protegido pela patente americana 5.231.668 e é atribuído a um funcionário da NSA de nome David W. Kravitz, porém a patente é livre de royalty, ou seja, pode ser utilizada livremente sem necessidade de licença.
            A geração das chaves criptográficas é divido em duas fases; na primeira devem ser definidos os parâmetros do algoritmo que podem ser compartilhados entre diferentes usuários do sistema criptográfico, como segue;
1 – Um dos parâmetros é a escolha de uma função de hash criptográfico sendo definido como a função “H”, por exemplo o SHA-1 ou o utilizado atualmente o SHA-2.
2 – Definir o tamanho das chaves “L” e “N”, observando que o tamanho destas chaves pode definir a força da criptografia. O valor de “L” deve ser um múltiplo de 64 entre 512 e 1024 (inclusive) sendo recomendando chaves de comprimento entre 2048 e 3072 dígitos, e por conseguinte o valor de “N” também deve ser grande. Mais especificamente os valores serão pares como; 1024 e 160, 2048 e 224, 2048 e 256, 3072 e 256 para “L” e “N” respectivamente.
3 – Definir um valor para “q” que seja um primo de N-bit, para tal, o valor de N deverá ser menor ou igual ao tamanho da saída do função de hash criptográfico.
4 – Definir um valor L-bit primo e módulo de “p”, de maneira que p-1 seja múltiplo de “q”.
5 – Definir um valor para “g”, um número do qual deve ser multiplicativo e a ordem módulo de “p” deve ser igual a “q”. Isto pode ser obtido pela expressão “g=h(p-1)/q mod p” para um valor de “h” arbitrário, de maneira que “h” seja maior que 1 e menor que p-1, e tentar novamente se o valor obtido para “h” for igual a 1. A maioria das escolhas de “h” irá levar a um valor válido para “g”; o que normalmente 2 será um valor válido para “h”.
Vale notar que os valores de “p”, “q” e “g” podem ser compartilhados entre os diferentes usuários do sistema de criptografia.
            A segunda fase é a computação das chaves privadas e públicas para um determinado usuário, de maneira que para computação destas chaves deve ser seguido os seguintes passos;
1 – Definir um valor de “x” por um método randômico, onde “x” deverá ser maior que 0 e menor que “q”.
2 – Calcular o valor de “y” que obedeça a expressão y=gx mod p.
3 – A chave pública é então a formação de “p”, “q”, “g” e “y”, e a chave privada é “x”.
            Existem algoritmos eficientes para a computação de exponenciação modular ha mod p, e gx mod p, tal como a exponenciação ao quadrado.
            Para assinar uma mensagem, devemos assumir “H” como uma função de hash criptográfica e “m” a mensagem a ser criptografada, então os seguintes passos devem ser seguidos;
1 – Definir para “k” um número randômico onde “k” deve ser maior que 0 (zero) e menor que “q”;
2 – Calcular um valor para “r” de maneira a obedecer a expressão “r=(gk mod p) mod q”;
3 – Calcular o valor de “s” que respeite a expressão “s=(k-1 (H(m) + r*x)) mod q;
4 – Recalcular a assinatura se por acaso o valor de “r” ou “s” for igual a 0 (zero);
5 – A assinatura é então composta por (r, s);
A extensão do algoritmo de Euclidean pode ser utilizado para computar o inverso modular “k-1 mod q”.
            A verificação de uma assinatura             é composta pelos seguintes passos;
1 – Rejeitar a assinatura se as expressões 0 < r < q ou 0 < s < q não forem satisfeitas.
2 – Calcular o valor de “w” de maneira a atender a expressão w = (s)-1 mod q;
3 – Calcular o valor de “u1” de maneira a atender a expressão u1 = (H(m)*w) mod q;
4 – Calcular o valor de “u2” que obedece a expressão u2 = (r*w) mod q;
5 – Calcular o valor de “v” que obedece a expressão v=((gu1*yu2) mod p) mod q;
6 – A assinatura só é válida se o valor de “v” for igual ao valor de “r”.

Assinatura e Certificação Digital - RSA

... ainda dentro de Criptografia Assimétrica ...


Na criptografia assimétrica, o acrônimo RSA está para as iniciais dos sobre nomes de Ron Rivest, Adi Shamir e Leonard Adleman que foram os primeiros a publicar uma implementação de um algoritmo para a criptografia de chaves públicas, sendo que tal publicação ocorrera em 1978. É o primeiro algoritmo conhecido utilizado para assinaturas e criptografia de mensagens, e um dos primeiros a mostrar as grandes vantagens desta criptografia de chaves públicas. o RSA é amplamente utilizado nos protocolos de comércio eletrônico, e a este pode ser dado a confiança, se utilizado chaves suficientemente grandes e ainda com atualizações periódicas na implementação do algoritmo, que ocorre quando encontrado possíveis falhas.
            Há relatos de que outra pessoa já havia descrito o trabalho do algoritmo de chaves públicas de maneira bastante parecida com o que foi apresentado com o RSA. Esta pessoa é Clifford Cocks, um matemático britânico que trabalha para a inteligência inglesa, e descreveu um sistema "equivalente" em um ofício interno em 1973, porém como o poder computacional necessário seria muito caro, o projeto até que era curioso, mas nas atuais circunstâncias, acabou sua descoberta não sendo desenvolvida, no entanto não havia sido revelada até meados de 1998.
            O MIT concedeu uma patente aos inventores do RSA pelo algoritmo desenvolvido cujo foi denominado como "Sistema e método de comunicações criptográficas", a patente espiraria em 21 de setembro de 2000, mas a expiração e o algoritmo foi liberado para domínio público duas semanas antes, em 6 de setembro de 2000. Um resumo da patente discursa o seguinte:
           
            "O sistema cria um canal de comunicação, onde um terminal de ponta tem a tarefa de codificar a mensagem e outro terminal tem a tarefa de decifrar a mensagem. A mensagem a ser transferida é cifrada/codificada por um terminal para um texto não legível pela codificação com um número M em um conjunto predeterminado. O número é então elevado para o poder predeterminado (associado com o número do recebedor) e finalmente computado. O resto ou os resíduos, C, é computado o número potenciado é dividido pelo produto de dois número primos predeterminados (associados com recebedor pretensioso)."

Sendo tal resumo não muito fácil de ser compreendido, segue uma descrição do algoritmo, desde a geração das chaves, até a utilização do algoritmo: O RSA envolve uma chave pública e uma chaves privada. A chave pública pode ser de conhecimento público, e é frequentemente utilizada para criptografar mensagens. Uma mensagem cifrada com determinada chave pública só pode ser decifrada com a chave privada correspondente. As chaves geradas para os algoritmos RSA são geradas da seguinte maneira;
            1 - É escolhido dois números primos distintos, denominados p e q, por exemplo, p=61 e q=53;
            2 - Computa n = p * q, no caso n=(61*53), ou seja, n=3233; (o valor de n é utilizado como um módulo para ambas as chaves, públicas e privadas)
            3 - Calcula-se (f é a função phi de Euler) que corresponde a f(pq) = (p - 1)(q - 1), que vem a ser (61-1)*(53-1) resultando 3120.
            4 - Escolhe um número inteiro denominado “e” de maneira que e seja maior que 1 e menor que f(pq), ou seja, menor que 3120 no nosso exemplo, e ainda o valor o valor de “e” necessita ser um número primo que seja fácil de ser encontrado, e o valor de “e” não pode ser um divisor de f(pq), ou seja, o nosso valor de “e”, não pode ser divisor de 3120. Dentre os primeiros números primos que poderiam ser utilizados pode-se citar o 7 e o 17 que atendem ao critério para o valor de “e”, para tanto, será escolhido o número 17, logo, “e”= 17.
            5 – Determinar o valor de “d” de maneira que obedeça a fórmula d*e=1 (mod f(pq)), cujo valor de “d” deve ser encontrado com a extensão do algoritmo de Euclides, com a Multiplicação Modular Inversa que é assim definido;
            “A multiplicação modular inversa de um número inteiro "a" e módulo "m" é um inteiro "x" que obedece à: a-1=x(mod m). Isto é, a multiplicação inversa é uma aliança do módulo dos inteiros. Isto equivale a ax=aa-1 = 1 (mod m). A multiplicação inversa de um módulo existe 'se e somente se' o valor de "a" e o valor de "m" são primos entre si, por exemplo, se gcd(a, m) = 1. Se a multiplicação modular de um módulo "m" existe, a operação de divisão por um módulo "m" pode ser definida como multiplicação pelo seu inverso, o que é a essência do mesmo conceito do campo da divisão dos número reais.” Do original; “The modular multiplicative inverse of an integer "a" modulo m is an integer x such that a-1=x(mod m). That is, it is the multiplicative inverse in the ring of integers modulo m. This is equivalent to ax=aa-1 = 1 (mod m). The multiplicative inverse of a modulo m exists iff (if and only if) "a" and "m" are coprime (i.e., if gcd(a, m) = 1). If the modular multiplicative inverse of a modulo "m" exists, the operation of division by a modulo m can be defined as multiplying by the inverse, which is in essence the same concept as division in the field of reals.
Para poder então efetuar o cálculo de “d” dado a regra supracitada, onde os valores até o momento obtidos como parâmetro são os valores de “e” e f(pq) que são 17 e 3120 respectivamente, se faz necessário efetuar iterações sobre o valor de f(pq), de maneira a obter a condição d*17=x e x+1 mod f(pq)=1.A maneira relativamente barata de se encontrar é por tentativas, enquanto deve-se iterar sobre o valor de f(pq) e somado a 1 dividir este valor por “e”, e este valor obtido que podemos denominar de “auxiliar” deve ser multiplicado então a “e”, e se a condição “valor obtido”
O valor de “d” encontrado é então 2753, visto que se dá por 17 * 2753 = 46801, que por sua vez o valor de 46801 mod 3120 = 1. A resposta então é: o valor de f(pq) iterado 15 vezes mais 1 dividido por 17 resulta 2753, considerando ainda que outro valor, como por exemplo não iria produzir um resto inteiro.
            A chave pública é o valor (n=3233, e=17), de maneira que para criptografar uma mensagem m, a função de criptografia é m elevado a 17 mod 3233, e a chave privada é (n=3233, e=17), a função de decifrar a mensagem criptografada c, é c elevado 2753 mod 3233.
            Na prática, para fazer o cálculo da mensagem cifrada c, por exemplo, da mensagem m 65 com a chave pública, deve-se calcular c = 2790, visto que é o resultado de 6517 mod 3233.
            No recebimento da mensagem cifrada 2790, a chave privada é utilizada para decifrar a mensagem m, cujo cálculo deve ser m = 65, visto que 27902753 mod 3233.
            A segurança do sistema RSA e de vários outros sistemas de criptografia simétrica em especial os de chaves públicas se baseiam na dificuldade da fatoração de números inteiros grandes o que é uma tarefa dificílima mesmo para poderosos computadores, sendo considerado em algumas vezes tarefas impossíveis, o que é válido afirmar que ao selecionar dois primos de 512 bytes aleatoriamente, e multiplicando estes valores, é possível criar uma chave pública que não vai ser quebrada em um período viável com tecnologia que conhecemos atualmente. De acordo com a fonte de informação, para evitar que se novos métodos de fatoração sejam desenvolvidos e as aplicações que utilizam o RSA sejam enfraquecidos, faz-se necessário que cada vez mais os inteiros trabalhados sejam grandes, o quanto maior possível, a fonte que escrita em 2001 afirma que trabalhava com faixas de 768 a 2048 bits.
            Com certeza de acordo com que o tamanho das chaves se torna maior, mais pesado será o processamento de criptografia e maior ainda o de decifragem das mensagens. Para mensagens grandes, a tarefa pode ser inviável de ser executada, então uma solução é cifrar a mensagem com uma criptografia simétrica, com uma chave secreta escolhida pelo remetente, e então cifrar a chave secreta com a chave pública do destinatário, assim será necessário enviar a mensagem criptografada, qual foi o algoritmo simétrico utilizado na cifragem e enviar a chave de decifragem também cifrada. No segmento, o destinatário irá utilizar a sua chave privada para decifrar a chave secreta que se encontra cifrada, e então sabendo o algoritmo simétrico certo, utilizá-lo na decifragem da mensagem com a chave secreta obtida. Vale mencionar que foi dito várias vezes no texto supracitado o algoritmo simétrico porque este tem um desempenho melhor na execução, por utilizar uma única chave secreta na cifra e decifragem de uma mensagem. Esta abordagem é conhecida como abordagem híbrida, pois utiliza a criptografia simétrica e a assimétrica.