









Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Algoritmos assimétricos ElGamal, Rabin, e Diffie-Hellman.
Tipologia: Notas de estudo
1 / 16
Esta página não é visível na pré-visualização
Não perca as partes importantes!
ElGamal , Rabin, e Diffie-Hellman.
A palavra criptografia provém dos radicais gregos kriptos (oculto) e grapho (escrita) e é o nome dado à ciência ou arte de codificar mensagens usando uma fórmula, que também será utilizada depois para decodificar a mesma mensagem. Na criptografia moderna, esta fórmula é chamada de algoritmo. Usada há milênios pela humanidade, a criptografia se tornou essencial para garantir a privacidade das comunicações no mundo atual, principalmente em redes de computadores públicas como a internet, por onde circulam dados pessoais, comerciais, bancários e outros. Conhecer, difundir e utilizar algoritmos criptográficos é essencial ao profissional de Tecnologia da Informação que no mundo moderno, entre suas atribuições deve proteger e garantir a privacidade das transações comerciais realizadas através de meios eletrônicos, assim é fundamental o entendimento das técnicas, seus algoritmos, protocolos e finalmente a maneira como estes lidam com a informação a ser mantida segura.
Palavras-chaves: Segurança; Criptografia; Algoritmo; Chave-Publica; Chave-Privada; Assimétrica; Simétrica.
Quando falamos de informação e transportamos este conceito para o meio digital, particularmente na utilização das redes públicas de computação como a internet, onde são diversos serviços realizados é relevante ao ser humano à credibilidade nos sistemas computacionais, estes que inseridos nos fundamentos da segurança da informação, são definidos pela disponibilidade, integridade, confidencialidade, autenticidade, não-repudiação e finalmente a privacidade, os quais devem ser de livre compreensão e facilmente percetíveis ao se efetuar transações computacionais. Assim é fundamental que técnicas computacionais sejam empregadas para que os requisitos de proteção da informação sejam atendidos; com base na implementação da criptografia, seja ela assimétrica ou simétrica. Onde na criptografia assimétrica a chave utilizada para encriptar não é usada para decrepitar, em contra ponto com a criptografia simétrica onde a chave que encripta é a mesma que decrépita. Ao que concerne ao trabalho, o grupo vai debruçar sobre os algoritmos assimétricos, onde vai destacar: ElGamal , Rabin, e Diffie-Hellman. Pois dos algoritmos assimétricos propostos até hoje, apenas esses e mais alguns como o RSA e ECC é que são seguros e implementáveis, entretanto existe uma família de algoritmos úteis apenas para assinatura, e outros pouco práticos por serem inseguros, muito lentos ou usarem chaves muito longas [3].
132 = 169 ≡ 16(mod17) 138 = 13^4_._ 134 ≡ 1_._ 1 ≡ 1( mod
134 = 13^2_._ 132 ≡ 16_._ 16 ≡ 256 ≡ 1(mod17)
Tomando p = 3 e a = 6 temos:
1316 = 13^8_._ 138 ≡ 1_._ 1 ≡ 1(mod17).
ap^ = 6^3 = 216 ≡ 6(mod3) ≡ a (mod p ).
Modelo de criptografia criado na década de 70, pelo matemático Clifford Cocks; na qual cada parte envolvida na comunicação usa duas chaves diferentes (assimétricas) e complementares, uma privada e outra pública [3]. A chave pública pode ficar disponível para qualquer pessoa que queira se comunicar com outra de modo seguro, mas a chave privada deverá ficar em poder apenas de cada titular. É com a chave privada que o destinatário poderá decodificar uma mensagem que foi criptografada para ele com sua respetiva chave pública; isto é, em um sistema de chave assimétrica cada pessoa tem duas chaves: uma chave pública que pode ser divulgada e outra privada que deve ser mantida em segredo [4]. Mensagens cifradas com a chave pública só podem ser decifradas com a chave secreta e vice-versa. A principal vantagem deste método é a sua segurança, pois não é preciso (nem se deve) compartilhar a chave privada. Por outro lado, o tempo de processamento de mensagens com criptografia assimétrica é muitas vezes maior do que com criptografia simétrica, o que pode limitar seu uso em determinadas situações [3]. O óbice deste sistema é a complexidade empregada no desenvolvimento dos algoritmos que devem ser capazes de reconhecer a dupla de chaves existentes e poder relacionar as mesmas no momento oportuno, o que acarreta num grande poder de processamento computacional [4].
O ElGamal é algoritmo de chave pública utilizado para gerenciamento de chaves. Sua matemática difere da utilizada no RSA, mas também é um sistema comutativo [1]. O algoritmo envolve a manipulação matemática de grandes quantidades numéricas. Sua segurança advém de algo denominado problema do logaritmo discreto. Assim, o ElGamal obtém sua segurança da dificuldade de calcular logaritmos discretos em um corpo finito, o que lembra bastante o problema da factoração [1]. “Este algoritmo incorpora a dificuldade de solução do problema do logaritmo discreto na definição da função criptográfica. Para um primo p> 2 relativamente longo, considera-se um gerador g do conjunto Zp*^ dos inteiros relativamente primos a p” (Elgamal, 1985).
7.1.1. A Geração de Chaves na Criptografia ElGamal Na geração das chaves da Criptografia ElGamal, temos que [1]:
Escolher um número primo grande p e um gerador α do grupo multiplicativo Zp*. Selecionar ao acaso um número natural a < p − 1 e calcular αa^ (mod p ). A chave pública é ( p,α,αa ) e a chave privada é a.
7.1.2. Etapa de Ciframento [6]: Nesta etapa o emissor A deverá:
Obter a chave pública ( p,α,αa ) de B; Converter as letras, números e símbolos da mensagem um números m entre 0 e p − 1 ; Escolher ao acaso um número natural b, tal que b < p − 1_._ • Para cada m obtido acima, calcular β ≡ αb^ (mod p ) e γ ≡ m ( αa ) b^ (mod p );
Enviar a mensagem cifrada composta pelos números c dos cálculos acima para o recetor B.
7.2.3. Etapa de Deciframento Uma vez que o recetor B recebe a mensagem cifrada composta pelos números c, então ele deverá:
Encontrar as quatro raízes quadradas mj com j = 1 , 2 , 3 , 4 de c módulo n. O número m, na mensagem original, é um dos mj.
Nota: O recetor B deve determinar qual das quatro possibilidades para os mj é a mensagem enviada. Se a mensagem é um texto literário, então a tarefa é fácil, pois apenas um dos mj fará sentido. Entretanto, se o texto não for composto por palavras de um idioma, como por exemplo, uma sequência aleatória de números e letras, então pode não ser tão fácil determinar o mj correto. Uma maneira para superar este problema é acrescentar redundâncias binárias na mensagem original convertida para a base binária. Para isto, basta repetir uma quantidade fixa de dígitos no final da mensagem. Assim, o mj correto irá reproduzir essas redundâncias, enquanto que é altamente improvável que uma das três outras raízes quadradas mj venha a reproduzir essas redundâncias. Portanto, o recetor B pode escolher corretamente a mensagem enviada [6].
Vamos supor que o texto legível a ser enviado por um emissor seja “DABAC”, e vamos supor que a redundância consiste em repetir as duas últimas letras, resultando “DABACAC”. Com a representação de cada letra a um número: a letra “A” representa 1, “B” 2, etc. Assim o texto “DABACAC” é representado pelo número m = 4121313. A chave secreta do recetor é q = 1123 e r = 7723. A chave pública do recetor é n = q.r = 1123 x 7723 = 8672929.
O emissor calcula o texto ilegível c = m^2 mod n = 4121313^2 mod8672929 = 577647 e envia C.
O recetor recebe c e efetua os seguintes cálculos:
(^94) mod q = 577647
(^11244) mod 1123 = 1026;
𝑟 4 mod r = 577647
(^11244) mod 7723 =4954;
A troca de chaves de Diffie-Hellman é um método de criptografia específico para troca de chaves desenvolvido por Whitfield Diffie e Martin Hellman e publicado em 1976 [9]. Foi um dos primeiros exemplos práticos de métodos de troca de chaves implementado dentro do campo da criptografia. O método da troca de chaves de Diffie-Hellman permite que duas partes que não possuem conhecimento a prior de cada uma compartilhar uma chave secreta sob um canal de comunicação inseguro. Tal chave pode ser usada para encriptar posteriores mensagens usando uma esquema de cifra de chave simétrica [9].
Antes de 1975 se alguém falasse que seria possível a troca de informações criptografadas entre duas partes sem que houvesse uma troca de chaves secretas entre ambas as partes provavelmente muitos matemáticos diriam ser impossível. Mas em 1976 o algoritmo Diffie-Hellman foi inventado. O maior problema para que isso acontecesse foi a dificuldade de cálculos de logaritmos discretos em um campo infinito [9].
7.3.1. Etapas da implementação [9]
s = 2
Como pudemos observar ao decorrer do trabalho, a criptografia de chave pública é baseada em dificuldades computacionais. Com a evolução tecnológica cada vez mais acelerada, os computadores têm a capacidade de processamento aumentada periodicamente. É necessário aprimorar constantemente os sistemas criptográficos, prova disso, a segurança em redes de computador é uma das áreas que mais buscam alternativas para um maior desenvolvimento. Outro fator que leva à criptografia de chave pública a ser valorizada é a tendência cada dia maior do crescimento do comércio eletrônico, que sem dúvida seria inviável sem uma criptografia que proporcione total segurança aos usuários.
[1] Elgamal, T.(1985) A public key cryptosystem and a signature scheme based on discretlogarithms. IEEE Transactions on information, v. 31, p. 473-481.
[2] T. ElGamal, “ A public key cryptosystem and a signature scheme based on discrete logarithms ,” in Advances in Cryptology, I. T. on Information, Ed. Springer, 1985, pp. 10–18.
[3] R. Terada, Segurança de Dados: Criptografia em Redes de Computador. Edgard Blucher, 2000.A. de Melo Neto, “Multiplicação escalar eficiente em curvas elípticas,” Master’s thesis, Universidade de São Paulo, Instituto de Matemática e Estatística de São Paulo - IME-USP, 2006.
[4] V. S. Miller, “ Use of elliptic curves in cryptography ,” in Advances in Cryptology - CRYPTO’85 Proceedings, (http://www.infowester.com/criptografia.php), 26/04/
[5] Buchmann, J.A..(2002) Introdução à criptografia. São Paulo: Berkeley Brasil.
[6] Stallings, W. Criptografia e Segurança de Redes. 4a. ed. São Paulo: Peason Prentice Hall.
[7] ollin, R. A. An Introduction to Cryptography. New York: Chapman & Hall. 2001.
[8] Biase, A. G. & Agustini, E. Criptografia, Assinaturas Digitais e Senhas Segmentadas. (to appear in “FAMAT em Revista”).
[9] Public Key Cryptography (PKC), RSA, PKI****. www.livinginternet.com. Página visitada em 12 maio de 2014.