Universidade Federal da Bahia - UFBA
Instituto de Matematica - IM
Sociedade Brasileira de Matematica - SBM
Mestrado Profissional em Matem´atica em Rede Nacional -PROFMAT
Dissertac¸˜ao de Mestrado
A Arte de Cifrar, Criptografar, Esconder
e Salvaguardar como Fontes Motivadoras
para Atividades de Matem´
atica B´
asica
Jos´
e Luiz dos Santos
Salvador - Bahia Abril de 2013
A Arte de Cifrar, Criptografar, Esconder
e Salvaguardar como Fontes Motivadoras
para Atividades de Matem´
atica B´
asica
Jos´
e Luiz dos Santos
Disserta¸c˜ao de Mestrado apresentada `
a Comiss˜ao Acadˆemica Institucional do PROFMAT-UFBA como requisito parcial para obten¸c˜ao do t´ıtulo de Mestre em Matem´atica.
Orientador: Prof. Dr. Vin´ıcius Moreira Mello.
Salvador - Bahia Abril de 2013
`
A Deus . . .
. . . por manter-me saud´avel e com discernimento.
`
A minha companheira Alexandra . . .
. . . pelos muitos momentos de compreens˜ao, paciˆencia, incentivo e carinho.
`
A minha prole, Jos´e Luiz, Jonathan Luiz, Julia Lis e Juliana Lis . . .
Agradecimentos
Agrade¸co a todos que acreditaram e que tornaram poss´ıvel a realiza¸c˜ao do PROFMAT, que tem resgatado parte da motiva¸c˜ao e dignidade dos profes-sores de matem´atica do ensino b´asico do Brasil.
Agrade¸co ao Professor Vin´ıcius Mello pelas orienta¸c˜oes claras e precisas.
Agrade¸co `a coordena¸c˜ao e aos professores do PROFMAT/UFBA, pelo empenho e dedica¸c˜ao, o que evidencia vosso compromisso com este programa de mestrado.
Particularmente, agrade¸co o apoio recebido do Col´egio Militar de Salva-dor, principalmente da tenente Patr´ıcia e do sargento Gomes que me dispo-nibilizaram todos os recursos da biblioteca Olavo Bilac.
”Existe um paralelismo fiel entre o progresso social e a atividade matem´atica: os pa´ıses socialmente atrasados s˜ao aqueles em que a atividade matem´atica ´e nula ou quase nula.”(Jacques Chapellon)
Resumo
Tomando por base o enredo da criptografia, este trabalho come¸ca abor-dando os principais conceitos desta ciˆencia atrav´es de um contexto hist´orico, enfatizando sua influˆencia no atual desenvolvimento da ciˆencia e da tecnolo-gia.
Devido a sua base matem´atica, explora-se trˆes t´ecnicas criptogr´aficas que aplicam os conceitos de fun¸c˜ao, an´alise combinat´oria, matrizes e aritm´etica modular como ferramentas.
Aplica-se o conceito de fun¸c˜ao em cifras de substitui¸c˜ao e transposi¸c˜ao; utiliza-se o conceito de desordenamento para determinar a quantidade de chaves de uma cifra de substitui¸c˜ao monoalfab´etica; e aplica-se os conceitos de matriz e aritm´etica modular para explicar o funcionamento da cifra de Hill.
Finalmente, s˜ao propostas dez atividades, fundamentadas na t´ecnica de resolu¸c˜ao de problemas, que abordam os conceitos de fun¸c˜ao, an´alise combi-nat´oria e matrizes, tendo como fonte motivadora a arte de cifrar, criptografar, esconder e salvaguardar.
Palavras-chave: Criptografia; Ensino de fun¸c˜oes; Ensino de An´alise Combinat´oria; Ensino de matrizes; Aritm´etica modular.
Abstract
Using the ”Art and Science of Enciphering, Encrypting, Hiding, and Safe-guarding”as a source of inspiration, this work begins with the key concepts of this science through a historical context, emphasizing its influence on the cur-rent development of science and technology. We explore three cryptographic techniques that apply the concepts of function, combinatorics, matrices and modular arithmetic as tools: substitution, transposition and Hill cyphers. Finally, ten activities motivated by cryptography, dealing with the concepts of function, combinatorics and matrices, and based on problem solving tech-niques are proposed.
Keywords: Cryptography, Teaching functions; Teaching Combinatorial Analysis, Teaching matrices; Modular Arithmetic.
Conte´
udo
1 Introdu¸c˜ao 10
2 A Influˆencia Hist´orica da Criptografia no Atual Desenvolvi-mento Cient´ıfico e Tecnol´ogico. 14 2.1 Escondendo Mensagens e os Prim´ordios da Arte de
Criptogra-far e Salvaguardar. . . 15 2.2 A Vulnerabilidade da Criptografia Cl´assica e a Origem da
Criptoan´alise . . . 17 2.3 A Arte de Cifrar em Tempos Modernos, Atuais e Futuros . . . 24
3 T´ecnicas Criptogr´aficas que Aplicam Matem´atica B´asica como
Ferramenta. 33
3.1 O Ensino de Fun¸c˜oes Aplicado a Cifras de Substitui¸c˜ao e Transposi¸c˜ao . . . 34 3.2 A Utiliza¸c˜ao de T´ecnicas de Contagem na Determina¸c˜ao do
N´umero de Chaves Criptog´aficas . . . 40 3.3 Aplica¸c˜ao de Matriz e Aritm´etica Modular na Utiliza¸c˜ao da
Cifra de Hill . . . 44
4 Atividades de Matem´atica B´asica Motivadas pela Arte de Cifrar, Criptografar, Esconder e Salvaguardar. 49 4.1 Atividades de Criptografia para o Ensino de Fun¸c˜oes . . . 50 4.2 Atividades de Criptografia para o Ensino de An´alise
Combi-nat´oria . . . 66 4.3 Atividades de Criptografia para o Ensino de Matrizes . . . 69 4.4 Atividades Diversas de Criptografia . . . 73
5 Conclus˜ao 78
Cap´ıtulo 1
Introdu¸
c˜
ao
Desde o surgimento da esp´ecie humana que a necessidade de comunica¸c˜ao se tornou imprescind´ıvel, fosse para alertar sobre algum perigo ou expres-sar sua cultura ou sentimento. A evolu¸c˜ao da comunica¸c˜ao acompanha a evolu¸c˜ao biol´ogica e social do homem que est´a dividida em Pr´e-Hist´oria, per´ıodo anterior `a inven¸c˜ao da escrita que data de aproximadamente 5.000 a.C. e Hist´oria.
A transi¸c˜ao da Pr´e-hist´oria para a Hist´oria se d´a por volta de 4.000 a.C. Os historiadores aceitam como certo o aparecimento da escrita na Meso-potˆamia e no Egito.
Figura 1.1: A escrita cuneiforme ´e o primeiro documento escrito que se tem registro.
Se o surgimento da escrita marca o in´ıcio da hist´oria, a inven¸c˜ao da t´ecnica de imprimir ilustra¸c˜oes, s´ımbolos e a pr´opria escrita, promove a
pos-sibilidade de tornar a informa¸c˜ao acess´ıvel a um n´umero cada vez mais cres-cente de pessoas, alterando assim o modo de viver e de pensar da sociedade.
Passamos por grandes inven¸c˜oes, como o jornal, que data o seu primeiro exemplar de 59 a.C., em Roma, publicado por Julio C´esar, com o intuito de informar o p´ublico sobre os mais importantes acontecimentos sociais e pol´ıticos e que, at´e hoje, tem a mesma fun¸c˜ao.
A inven¸c˜ao do r´adio, com sua primeira transmiss˜ao datada de 1.900, foi um marco na hist´oria, pois ao contr´ario do jornal, as ondas do r´adio tinham um alcance e velocidade muito superiores. O passo seguinte foi o surgimento da televis˜ao, em 1924, que era a jun¸c˜ao dos componentes gr´aficos de um jor-nal, como imagens e figuras, com os componentes de ´audio do r´adio.
Na Era da Tecnologia o computador ´e o principal elemento, pois no in´ıcio, em 1943, ele era uma m´aquina gigantesca, de c´alculos, que ocupava uma sala inteira, passando por transforma¸c˜oes at´e que em 1971, surgiu o primeiro mi-crocomputador. Andando lado a lado com a evolu¸c˜ao dos computadores, est´a a Internet, que foi desenvolvida em 1969, para fins militares, na ´epoca da Guerra Fria. N˜ao passava de um sistema de comunica¸c˜ao entre as bases militares dos EUA, e tinha o nome de ArpaNet.
Atualmente, a troca de informa¸c˜oes atrav´es da Internet e de meios m´oveis tornou-se imprescind´ıvel na vida de todos n´os. Paralelamente a evolu¸c˜ao na forma de trocar informa¸c˜oes, est´a a necessidade de, muitas vezes, fazˆe-la de forma segura de modo a salvaguardar informa¸c˜oes pessoais ou at´e mesmo segredos de estado ou corporativos.
Historicamente, reis, rainhas e generais dependeram de comunica¸c˜oes efi-cientes de modo a governar seus reinos e comandar seus ex´ercitos. A habili-dade de disfar¸car uma mensagem de forma que somente o destinat´ario possa acess´a-la foi motivada pela amea¸ca de intercepta¸c˜ao pelo inimigo. Coman-dantes militares precisam transmitir ordens a seus comandados sem que o inimigo tome conhecimento da mesma, o que acabaria com a principal arma de um combate, a surpresa.
L´ıderes pol´ıticos precisam trocar informa¸c˜oes com seus aliados; as insti-tui¸c˜oes financeiras e as empresas necessitam transmitir informa¸c˜oes sigilosas a suas filiais. Existe uma grande variedade de transa¸c˜oes que envolvem di-nheiro que s˜ao feitas de maneira eletrˆonica, desde compras por cart˜ao de cr´edito via internet a saques em caixas eletrˆonicos. A informa¸c˜ao referente
a estas transa¸c˜oes seguem por linha telefˆonica ou redes de alta velocidade e est˜ao facilmente sujeitas `a escutas. A interconex˜ao dos sistemas informati-zados nos leva a um maior cuidado com os ataques em rede, pois a tentativa de acesso indevido a informa¸c˜oes sigilosas pode vir de pessoas fisicamente distantes dos sistemas onde a informa¸c˜ao est´a armazenada.
A arte de cifrar, criptografar, esconder e salvaguardar uma informa¸c˜ao para transmiti-la de forma que somente o destinat´ario possa compreendˆe-la, evitando que seu conte´udo se torne p´ublico, ´e uma preocupa¸c˜ao hist´orica e, ao mesmo tempo, cotidiana. Os processos pelos quais informa¸c˜oes envi-adas eletronicamente s˜ao codificadas dependem, essencialmente, do uso da matem´atica, mais especificamente da teoria dos n´umeros, que ´e a ´area da ma-tem´atica mais utilizada nas aplica¸c˜oes `a criptografia. Quest˜oes referentes `a aritm´etica modular, fun¸c˜oes, matrizes, an´alise combinat´oria, s˜ao exemplos de assuntos do curr´ıculo b´asico da matem´atica que s˜ao aplicados na criptografia.
Um c´odigo envolve a substitui¸c˜ao de uma palavra ou frase por uma pa-lavra, um n´umero ou um s´ımbolo. Uma alternativa ao c´odigo ´e a cifra, uma t´ecnica que age num n´ıvel mais fundamental, onde as letras, no lugar das palavras, s˜ao substitu´ıdas.
Da arte de esconder mensagens e permutar frases, a curvas el´ıpticas e criptografia quˆantica, passando pela cria¸c˜ao dos computadores, a hist´oria dos c´odigos, que possui relatos que datam da inven¸c˜ao da escrita, se desenvolveu atrav´es dos tempos em uma batalha entre seus criadores e seus decifradores, causando um forte impacto no curso da hist´oria da humanidade. Por isso, se fala que uma Terceira Guerra Mundial seria a guerra dos matem´aticos, pois eles teriam o controle sobre a grande arma de guerra, a informa¸c˜ao.
A importˆancia desta ciˆencia, tanto hist´orica como cient´ıfica, n˜ao pode passar despercebida pelos curr´ıculos escolares, pois mostra de forma contex-tualizada, a forte liga¸c˜ao que h´a entre a hist´oria da humanidade e a evolu¸c˜ao cient´ıfica de nossa sociedade.
Neste trabalho, o tema criptografia ´e desenvolvido atrav´es de atividades did´aticas que aliam conte´udos de matem´atica do ensino m´edio a este tema, possibilitando ao professor um trabalho com temas atuais e aos alunos o con-tato com tecnologias, entre elas a calculadora, tendo como fonte motivadora a arte de cifrar, criptografar, esconder e salvaguardar informa¸c˜oes sigilosas. Para atingir este objetivo, no cap´ıtulo 2 ser˜ao trabalhados alguns conceitos b´asicos de criptografia, de forma cronol´ogica e contextualizados com fatos
hist´oricos. No cap´ıtulo 3, ser´a trabalhado o ensino de fun¸c˜oes aplicado a cifras de substitui¸c˜ao e transposi¸c˜ao, ser˜ao utilizadas t´ecnicas de contagem para determinar o n´umero de chaves em uma cifra de substitui¸c˜ao monoal-fab´etica e ser˜ao aplicadas as teorias sobre matrizes e aritm´etica modular ao resolver problemas envolvendo a cifra de Hill. No cap´ıtulo 4, est˜ao propostas dez atividades que contemplam os conte´udos de fun¸c˜ao, an´alise combinat´oria e matrizes, voltados especificamente para aplica¸c˜ao direta em sala de aula, baseadas nas competˆencias e habilidades constantes da matriz de referˆencia do ENEM.
Cap´ıtulo 2
A Influˆ
encia Hist´
orica da
Criptografia no Atual
Desenvolvimento Cient´ıfico e
Tecnol´
ogico.
A escrita hierogl´ıfica, compreens´ıvel apenas aos sacerdodes eg´ıpcios, que data de 2.000 a.C., ´e o primeiro ind´ıcio hist´orico da preocupa¸c˜ao do homem em tornar textos inintelig´ıveis. A escrita cuneiforme dos babilˆonios, ratifica esta tese.
Figura 2.1: Papiros Eg´ıpcios.
Por´em, os primeiros relatos sobre escrita secreta datam de Her´odoto, ”o pai da Hist´oria”, que no s´eculo V antes de Cristo, em sua obra ”as Hist´orias”, escreveu que foi a arte da escrita secreta que salvou a Gr´ecia de ser conquis-tada por Xerxes, o d´espota l´ıder dos persas.
Xerxes passou cinco anos montando secretamente a maior for¸ca de com-bate da hist´oria, at´e que em 480 a.C. ele estava pronto para lan¸car um ataque surpresa sobre a Gr´ecia. Contudo, os preparativos persas tinham sido
teste-munhados por Desmarato, um grego que vivia na P´ersia e que decidiu enviar uma mensagem para advertir os espartanos dos planos de Xerxes.
A estrat´egia de Desmarato para conseguir a comunica¸c˜ao secreta consis-tira em ocultar a mensagem. Para isso, raspara a cera de um par de tabuletas de madeira, escrevera a mensagem e a cobrira novamente com cera. Deste modo, as tabuletas pareceriam estar em branco e n˜ao causariam problemas com os guardas ao longo da estrada.
A mensagem chegou ao seu destino e cumpriu o seu objetivo, pois os gre-gos, ate ent˜ao indefesos, se armaram e humilharam a esquadra persa em um contra ataque surpresa.
2.1
Escondendo Mensagens e os Prim´
ordios
da Arte de Criptografar e Salvaguardar.
A arte de esconder uma mensagem, sem nenhum tratamento para mo-dific´a-la, ´e uma t´ecnica primitiva chamada esteganograf ia, que deriva do grego Steganos, coberto, e graphia, escrita.
Ainda em ”as Hist´orias”, Her´odoto relata a hist´oria de Histaeu, que para enviar uma mensagem secreta a Arist´agora, raspou a cabe¸ca de um mensa-geiro, escreveu a mensagem no couro cabeludo e esperou o cabelo crescer. O mensageiro, que aparentemente n˜ao levava nada que fosse perigoso, chegou ao destinat´ario e raspou a cabe¸ca, revelando a mensagem.
Apesar de primitiva, a longevidade da esteganograf ia demonstra que ela oferece uma certa seguran¸ca, entretanto trata-se de um procedimento sem fundamento cient´ıfico. Durante a Segunda Guerra Mundial, agentes alem˜aes que atuavam na Am´erica Latina, utilizaram uma t´ecnica de transmiss˜ao de mensagem que consistia em microfilmar uma p´agina de texto, reduzindo ao tamanho de um ponto. Este ponto era colocado sobre um ponto final de um documento aparentemente ostensivo. O receptor, ao receber a mensagem, procurava pelo ponto e ampliava-o para ter acesso a informa¸c˜ao. Os aliados descobriram a t´ecnica em 1941 e passaram a interceptar a comunica¸c˜ao. A principal deficiˆencia deste tipo de t´ecnica ´e que caso a mensagem seja desco-berta, poder´a ser lida por qualquer pessoa.
Paralelamente ao desenvolvimento da Esteganograf ia, houve a evolu¸c˜ao da criptograf ia, palavra derivada do grego, kriptos, que significa secreto, e graphia, escrita. A criptograf ia utiliza o conceito de modificar a mensa-gem original atrav´es de processos sistematizados, chamados de encripta¸c˜ao, transformando-a em uma mensagem inintelig´ıvel.
Uma das formas de trocar mensagens criptografadas requer que transmis-sor e receptor conhe¸cam o algoritmo utilizado para encriptar a mensagem e a chave utilizada. Algoritmo ´e um conjunto de procedimentos, em sequˆencia organizada, para resolver determinado problema. Nesse caso, por exemplo, poder´ıamos substituir cada letra da mensagem original por outra, previa-mente estabelecida, que seria a chave do sistema de encripta¸c˜ao. Com isso, uma mensagem criptografada n˜ao ´e compreens´ıvel por outra pessoa que n˜ao o destinat´ario, ao qual caberia reverter o algoritmo de cifragem, utilizando a chave para recriar a mensagem original a partir do texto cifrado.
Figura 2.2: Cifragem de uma mensagem.
Apesar da distin¸c˜ao entre esteganografia e criptografia, ´e poss´ıvel uti-lizar um sistema h´ıbrido, onde uma mensagem ´e criptografada e o texto inintelig´ıvel ´e escondido, como no epis´odio em que um texto era transfor-mado em um ponto, durante a segunda guerra mundial. Ap´os a descoberta dos aliados, os alem˜aes passaram a tomar a precau¸c˜ao extra de codificar a mensagem antes de microfilm´a-la.
Como veremos a seguir, na criptografia cl´assica, desenvolvida antes do advento do computador, as cifras eram baseadas em apenas duas opera¸c˜oes b´asicas, a transposi¸c˜ao e a substitui¸c˜ao.
2.2
A Vulnerabilidade da Criptografia Cl´
assica
e a Origem da Criptoan´
alise
Desde o momento em que a t´ecnica de criptografar mensagens se tornou compreens´ıvel, a criptografia passou a utilizar dois m´etodos fundamentais: A transposi¸c˜ao, que consiste em trocar a posi¸c˜ao das letras da mensagem ori-ginal, promovendo uma permuta¸c˜ao das letras segundo um algoritmo e uma chave bem determinados; e a substitui¸c˜ao, que tem por base a permuta¸c˜ao do alfabeto, ou seja, trocar cada letra ou s´ımbolo por outro.
Um exemplo hist´orico do uso do m´etodo de Transposi¸c˜ao, est´a no pri-meiro aparelho criptogr´afico militar que se tem conhecimento, o Bast˜ao de Licurgo, que data do s´eculo V a.C. Era um bast˜ao de madeira ao redor do qual enrolava-se uma tira de couro longa e estreita. O remetente escrevia a mensagem ao longo do bast˜ao e depois desenrolava a tira de couro, a qual passava a conter apenas um monte de letras sem sentido algum. O men-sageiro poderia utilizar a tira como um cinto, com as letras voltadas para dentro (Esteganografia), e o destinat´ario ao receber do mensageiro a tira de couro, a enrolaria em um bast˜ao com as mesmas dimens˜oes do bast˜ao do destinat´ario. O formato do bast˜ao seria a chave desta cifra.
Figura 2.3: O Bast˜ao de Licurgo
Um m´etodo utilizado na Gr´ecia Antiga, conforme descrito por Plutarco, em 90d.C., no livro ”Vida de homens ilustres”, era a Tabela Espartana, que consistia de uma tabela comum, onde a chave do c´odigo era o n´umero de colunas da tabela, j´a que o n´umero de linhas dependeria do tamanho da mensagem. A mensagem era escrita nas c´elulas da tabela, da esquerda para a direita e de cima para baixo(ou de outra forma previamente combinada) e o texto cifrado era obtido tomando-se as letras em outro sentido e dire¸c˜ao. Por exemplo, o texto ”MESTRADO PROFISSIONAL EM MATEM ´ATICA”em uma tabela com 5 colunas, utilizando a letra H no lugar do espa¸co, ter´ıamos
o seguinte:
Tomando o texto na tabela, de cima para baixo, teremos o seguinte texto inintelig´ıvel:
MARSL MAEDO IHATS OFOET ITHIN MECRP SAHMA ´
E usual separarmos o texto inintelig´ıvel em blocos de 5 letras. Quando a quantidade de letras do texto n˜ao for m´ultipla de 5, completa-se o ´ultimo bloco do texto inintelig´ıvel com letras aleat´orias.
O exemplo mais cl´assico do m´etodo da substitui¸c˜ao ´e o chamado C´odigo de C´esar, utilizado pelo imperador Romano J´ulio C´esar (100 a 44 a.C.) em suas correspondˆencias militares , que utilizava uma chave de substitui¸c˜ao bas-tante elementar. Cada letra da mensagem original era substitu´ıda pela letra que ficava a trˆes posi¸c˜oes a frente no alfabeto. A tabela abaixo ilustra a ideia.
Assim, o texto MESTRADO PROFISSIONAL EM MATEM ´ATICA, cifrado pelo c´odigo de C´esar, ficaria
PHVXUDGRKSURILVVLRQDOKHPKPDXHPDXLFD
O C´odigo de C´esar ´e, na realidade, um caso particular do c´odigo de Subs-titui¸c˜ao Monoalfab´etica, onde cada letra ou s´ımbolo ´e substitu´ıdo sempre por
uma mesma letra ou s´ımbolo. Existe ainda outros dois tipos de c´odigos de substitui¸c˜ao. A substitui¸c˜ao Homofˆonica, onde um caractere pode ser subs-titu´ıdo por mais de um caractere diferente e a substitui¸c˜ao Polialfab´etica, que ´e a conjun¸c˜ao de v´arias cifras de substitui¸c˜ao monoalfab´etica.
Nos dois exemplos acima, existem algumas possibilidades para o texto cifrado. No caso da tabela espartana, considerando apenas uma ´unica forma de escrever o texto original e de tomar o texto inintelig´ıvel, ter´ıamos 33 pos-sibilidades, pois a tabela teria de 2 a 34 colunas, j´a que o texto tem 35 letras. Neste caso, n˜ao seria t˜ao complicado testarmos todas as possibilidades at´e chegarmos a uma que fizesse sentido. Este tipo de tentativa de decifrar um texto, onde parte-se para a verifica¸c˜ao de todas as chaves poss´ıveis do c´odigo utilizado, chama-se ataque de for¸ca bruta.
No caso da substitui¸c˜ao monoalfab´etica, fazemos uma rela¸c˜ao entre cada letra do alfabeto original com um outro alfabeto permutado. Assim, conside-rando que cada letra do alfabeto deve se substitu´ıda por uma letra diferente dela mesma, teremos 26!(0!1−1
1!+ 1 2!− 1 3!+· · ·+ 1 26!) ∼= 1, 48×10 26possibilidades
de definir a chave deste c´odigo, que correspondem `as permuta¸c˜oes ca´oticas das 26 letras do alfabeto, o que torna bem mais complicado o ataque por for¸ca bruta. No cap´ıtulo 3 estudaremos as permuta¸c˜oes ca´oticas com mais detalhes.
Por volta do ano de 750, apesar do desenvolvimento do povo ´arabe na ´
area das ciˆencias, a sua grande contribui¸c˜ao n˜ao foi na criptografia e sim na criptoan´alise, ciˆencia que permite decifrar uma mensagem sem conhecer a chave. Esta grande contribui¸c˜ao deve-se a al-Kindy, que em seu livro ”Es-critos sobre a Decifra¸c˜ao de Mensagens Criptogr´aficas”, definiu o m´etodo da An´alise de Frequˆencias. Este m´etodo consiste em comparar a frequˆencia de aparecimento das letras do alfabeto de uma determinada l´ıngua, com a frequˆencia de aparecimento das letras no texto cifrado, fazendo assim uma correspondˆencia entre elas. Obviamente que algumas suposi¸c˜oes e avalia¸c˜oes sobre o texto cifrado ainda ter˜ao que ser feitas, mas a quantidade de tentati-vas diminui consideravelmente. Veja abaixo a tabela de frequˆencia das letras de nosso alfabeto.
Da´ı em diante, mesmo ficando expl´ıcita a vulnerabilidade do m´etodo da substitui¸c˜ao monoalfab´etica diante da an´alise de frequˆencias, durante toda a Idade M´edia a Europa ainda utilizava esta t´ecnica de criptografia. Na reali-dade, o avan¸co cient´ıfico nesta ´epoca foi moroso, sendo que grande parte do conhecimento sobre a criptografia era considerado magia negra.
A cria¸c˜ao da criptoan´alise como ciˆencia, a partir da defini¸c˜ao do m´etodo da an´alise de frequˆencias, deu in´ıcio a uma permanente luta entre os criado-res e os quebradocriado-res de c´odigos, o que, desde aquela ´epoca, vem beneficiando ambas as partes.
A rea¸c˜ao `a an´alise de frequˆencias, com a cria¸c˜ao de novas t´ecnicas para criptografar mensagens, s´o ocorreu com o in´ıcio do Renascimento, em 1450. Nesta ´epoca, correspondˆencias sigilosas que tratavam de pol´ıtica externa, as-suntos militares e economia, estavam vulner´aveis e necessitavam ser melhor salvaguardadas. A primeira rea¸c˜ao foi a utiliza¸c˜ao de c´odigos de substitui¸c˜ao homofˆonica, proposto por Simeone de Crema, em 1452. Este c´odigo consistia em atribuir a cada letra do alfabeto, uma certa quantidade de s´ımbolos, de-pendendo de sua frequˆencia no alfabeto. A letra a, por exemplo, possui uma frequˆencia dez vezes maior que algumas consoantes, por isso, deve ter uma maior quantidade de s´ımbolos correspondentes. Veja um exemplo de tabela para uma cifra homofˆonica.
Desta forma, a frase MESTRADO PROFISSIONAL EM MA-TEM ´ATICA, substituindo os espa¸cos, aleatoriamente, por algarismos seria transformada em:
XRGBF WJP7D (AKU+ GISCE Z1TX8 X!BYX @BSHW
Apesar da cifra homofˆonica anular, em parte, a an´alise de frequˆencias, algumas fragilidades ainda persistiram neste c´odigo. O fato da maioria das consoantes estar associada a uma ´unica cifra, permite que se analise as cifras associadas as vogais, buscando no texto inintelig´ıvel as cifras das ra´ızes NHA,
NHO e QUE.
Certamente que esta cifra dificultou bastante o trabalho dos criptoanalis-tas e este trabalho poderia ter ficado ainda mais dif´ıcil se usassem v´arias cifras tamb´em para as consoantes. Por´em, n˜ao podemos esquecer que na-quela ´epoca a criptografia era utilizada essencialmente para o com´ercio e nos campos de batalha, onde a necessidade de decifrar uma mensagem de forma simples e r´apida era essencial. Por isso, a cifra homofˆonica n˜ao atendeu to-talmente `as necessidades para uma comunica¸c˜ao simples e segura.
Um exemplo da utiliza¸c˜ao de uma cifra homofˆonica foi o c´odigo do Rei Felipe II da Espanha. No final do s´eculo XVI o Imp´erio Espanhol dominava grande parte do mundo e os militares espanh´ois se comunicavam utilizando a chamada Cifra Espanhola, qua consistia de uma cifra homofˆonica com-posta por mais de 500 caracteres, com cada vogal sendo representada por trˆes s´ımbolos diferentes, cada consoante por dois s´ımbolos e uma grande va-riedade de s´ımbolos para a substitui¸c˜ao dos d´ıgrafos e das palavras curtas mais utilizadas. Al´em disso, o c´odigo era alterado a cada trˆes anos. Por se tratar de uma varia¸c˜ao da cifra monoalfab´etica, a complexidade do c´odigo n˜ao resistiu ao ataque feito pelo matem´atico francˆes Fran¸cois Vi´ete (1540 -1603), que utilizou engenhosamente a an´alise de frequˆencia.
Em desvantagem, a criptografia necessitava de uma cifra mais resistente aos ataques dos criptoanalistas. Para superar a fragilidade das cifras ho-mofˆonicas, o arquiteto italiano Leon Battista Alberti criou, em 1470, a pri-meira cifra polialfab´etica, atrav´es dos Discos de Alberti. Esta foi a primeira ideia de mecaniza¸c˜ao dos processos de cifragem e decifragem.
Figura 2.4: Disco de Alberti
mensagem original e o disco interno ´e m´ovel e fornece os respectivos s´ımbolos correspondentes. Para cifrar uma mensagem utilizava-se uma quantidade de discos ajustados em posi¸c˜oes diferentes e fazia-se a respectiva correspondˆencia das letras do texto original, ordenadamente pelos discos. Por exemplo, para trˆes discos ter´ıamos a primeira letra da mensagem codificada no primeiro disco, a segunda letra no segundo disco, a terceira letra no terceiro disco, a quarta letra novamente no primeiro disco e assim sucessivamente. Esta cifra n˜ao resistiu muito tempo ao ataque dos criptoanalistas e logo necessitou de um aperfei¸coamento.
Um aprofundamento da ideia de Alberti foi feito em 1523 pelo Diplomata Francˆes Blaise de Vigenere (1523 - 1596), publicado em seu livro de t´ıtulo Tratado das Cifras.
Esta cifra, conhecida como Cifra de Vigenere, tinha como ideia b´asica para cifrar uma mensagem, utilizar v´arios discos de Alberti simultaneamente conforme o tamanho de uma palavra chave. A posi¸c˜ao inicial de cada disco ´
e definida pelas letras da palavra chave que indica a correspondˆencia com a letra A do disco externo.
Na realidade, ao inv´es de discos, a cifra de Vigenere utilizava como ferramenta uma matriz com um n´umero de linhas e colunas igual ao n´umero de s´ımbolos utilizados no texto original. Veja abaixo uma tabela com o nosso alfabeto.
Na primeira linha est´a o alfabeto para os s´ımbolos do texto original e na primeira coluna o alfabeto para os s´ımbolos da palavra chave. Cada letra do texto original ´e correspondida pelo alfabeto deslocado situado na mesma linha da letra da palavra chave, ordenadamente. Pela tabela, a palavra MATE-MATICA cifrada com a palavra chave DISCO, ficaria PILGADBAEO.
A cifra de Vigenere foi a primeira a ficar imune ao ataque da an´alise de frequˆencia, o que, por v´arios anos, parecia ter declarado a vit´oria dos cria-dores de c´odigos.
No entanto, a cifra de Vigenere era pouco atraente em uma ´epoca em que m´aquinas mecˆanicas ainda n˜ao existiam, o que tornava o ato de cifrar e decifrar muito trabalhoso. Por isso, a cifra ficou em desuso por quase 200 anos e, quando foi utilizada mais intensamente, durou ainda um pouco mais de 100 anos, resistindo at´e 1856 quando o matem´atico Inglˆes Charles Babbage (1791 - 1871) descreve um m´etodo para quebrar a cifra de Vigenere.
O matem´atico Inglˆes Charles Babbage foi uma das personalidades mais incomuns da ´area cient´ıfica. Em [3], relata-se que era filho de fam´ılia nobre, foi deserdado por ter uma vida extravagante. Gastou sua fortuna imple-mentando ideias e m´aquinas, nem todas bem sucedidas. Portanto, uma das m´aquinas desenvolvidas por Babbage ´e reconhecida nos dias atuais como o primeiro prot´otipo de um computador.
A t´ecnica utilizada por Babbage para quebrar a cifra de Vigenere se re-sumiu em determinar o comprimento k da palavra chave e depois dividir a mensagem criptografada em k textos cujas letras est˜ao a uma distˆancia k uma das outras. Ap´os esta etapa, basta aplicar a an´alise de frequˆencia em cada um dos textos.
A dificuldade ent˜ao, passa ser descobrir o comprimento da palavra chave. Para isso, uma an´alise do texto cifrado visando buscar repeti¸c˜oes que indiquem d´ıgrafos e tr´ıgrafos como que, nha, nhe, nho, n˜ao, ai, ou s˜ao capazes de identificar este comprimento.A quebra da cifra de Vigenere ins-taurou um clima de inseguran¸ca na transmiss˜ao secreta de mensagens e a Idade Moderna termina da mesma forma como come¸cou, com os criadores de c´odigos em busca de uma nova cifra que pudesse reestabelecer a comunica¸c˜ao segura.
2.3
A Arte de Cifrar em Tempos Modernos,
Atuais e Futuros
O desenvolvimento da criptografia at´e os dias atuais foi determinado por trˆes per´ıodos: o artesanal, o mecˆanico e o digital. O per´ıodo artesanal regis-tra os primeiros ind´ıcios de utiliza¸c˜ao da criptografia, paralelamente com o surgimento da escrita, ocorrendo durante as idades antiga e m´edia. No in´ıcio da idade moderna, surgem os primeiros ind´ıcios do per´ıodo mecˆanico, devido a inven¸c˜ao da imprensa.
Impulsionada pela inven¸c˜ao do tel´egrafo e do r´adio, o auge do per´ıodo mecˆanico ocorre com o surgimento de m´aquinas de cifragem utilizadas du-rante a segunda guerra mundial, onde podemos destacar a m´aquina alem˜a Enigma. A Revolu¸c˜ao Industrial criou no homem a paix˜ao pelas m´aquinas e a esperan¸ca de substitui¸c˜ao do cansativo trabalho manual pelo mecˆanico.
O final do s´eculo XIX foi uma ´epoca muito dif´ıcil para a comunica¸c˜ao segura, pois a cifra de Vigen`ere, vista como indecifr´avel, tinha sido quebrada por Babbage. O surgimento do r´adio como uma poderosa ferramenta de co-munica¸c˜ao, exigia t´ecnicas de cifragem ainda mais fortes e a prova de ataques, pois a comunica¸c˜ao via r´adio era aberta e poderia ser facilmente interceptada pelo inimigo.
Com o s´eculo XX vieram as guerras mundiais. Nos preparativos para a Primeira Guerra Mundial, todos os pa´ıses envolvidos contavam com o poder de comunica¸c˜ao do r´adio e com a incerteza da comunica¸c˜ao segura. Utili-zando a cifra ADFGVX, uma combina¸c˜ao de t´ecnicas de transposi¸c˜ao e subs-titui¸c˜ao, os alem˜aes iniciaram uma grande ofensiva em 21 de mar¸co de 1918. Com menos de trˆes meses de batalha, os alem˜aes j´a estavam a 100 quilˆometros de Paris e se preparavam para a ofensiva final. Era vital descobrir qual se-ria o ponto selecionado pelos alem˜aes para neutralizar o efeito surpresa. A esperan¸ca da Fran¸ca e dos aliados era decifrar o c´odigo ADFGVX. As for¸cas aliadas contavam com um criptoanalista chamado Georges Pavin, que tinha a reputa¸c˜ao de ter quebrado todos os c´odigos alem˜as at´e aquela data. No entanto, em maio de 1918 os franceses tinham interceptado uma mensagem criptografada com a cifra ADFGVX e que Pavin ainda n˜ao conseguira de-cifrar. Ap´os muitos esfor¸cos, em junho de 1918 Pavin conseguiu encontrar a chave que decifraria a cifra ADFGVX. A partir da´ı, todas as mensagens interceptadas poderiam ser lidas, principalmente a que revelou o ponto esco-lhido pelo ex´ercito alem˜ao para o ataque `a Paris. Com esta informa¸c˜ao, os
aliados refor¸caram o local, eliminando o elemento surpresa da tropa alem˜a que recuou ap´os cinco dias de batalha.
Durante a segunda guerra mundial a criptografia entra definitivamente no per´ıodo mecˆanico com o surgimento da m´aquina de cifrar alem˜a deno-minada Enigma. Criada em 1918 pelo engenheiro alem˜ao Arthur Scherbius, todos os n´ıveis do Governo a utilizaram para se comunicar de maneira se-gura e estavam convencidos da impossibilidade da quebra de seu c´odigo. Na ´
epoca, acreditava-se que teria sido descoberta uma m´aquina impenetr´avel. No entanto, apesar da complexidade e do alto n´ıvel de embaralhamento dos dados, as mensagens transmitidas pela Enigma come¸caram a ser decifradas frequentemente. A quebra do c´odigo da m´aquina Enigma foi um dos maio-res triunfos criptoanal´ıticos de todos os tempos, num empreendimento que envolveu Polonenses, Franceses e Ingleses num esfor¸co conjunto, em plena guerra.
O trabalho come¸cou com o matem´atico polonˆes Marian Rejewski, que se baseou em textos cifrados interceptados e em uma lista de trˆes meses de chaves di´arias, obtidas atrav´es do servi¸co de espionagem francˆes. As contri-bui¸c˜oes de Rejewski foram muito importantes apesar de n˜ao conclusivas. Seu trabalho continuou e foi conclu´ıdo com sucesso pela equipe inglesa liderada por Alan Turing, Gordon Welchman e outros, em Bletchley Park, na Ingla-terra.
Para realizar o trabalho como uma resposta `a alta mecaniza¸c˜ao da Enigma, Alan Turing e seus colaboradores desenvolveram dois tipos de m´aquinas para manipular as cifras interceptadas da Enigma: a primeira foi denominada Bomba e a segunda Colossus. Esta ´ultima ao ser program´avel ´e considerada uma precursora dos modernos computadores.
A grande dificuldade encontrada pela equipe de Alan Turing ocorreu em fun¸c˜ao de que os alem˜aes mudavam regularmente a configura¸c˜ao da Enigma. Al´em das chaves que tinham validade mensal, mudan¸cas cont´ınuas foram implementadas, com destaque para o acr´escimo de mais dois misturadores, incrementando, de modo impressionante, o n´umero de chaves poss´ıveis.
A Enigma representou o est´agio mais avan¸cado a que se pode chegar com as m´aquinas de cifrar, com base exclusivamente mecˆanica e com a utiliza¸c˜ao de corrente el´etrica. O princ´ıpio no qual se baseia essa m´aquina vem de tempos antigos, inspirado nos discos de cifragem de Alberti. Estes discos forneceram o princ´ıpio b´asico de funcionamento dos misturadores, o cora¸c˜ao
da Enigma.
Figura 2.6: A M´aquina Enigma
Veja alguns detalhes da estrutura da m´aquina Enigma.
- A mensagem era cifrada e decifrada usando o mesmo tipo de m´aquina. A Enigma lembrava uma m´aquina de escrever.
- Era constitu´ıda de um teclado, um painel luminoso, uma cˆamara com trˆes misturadores, um refletor e um painel frontal com cabos el´etricos.
- A chave para a utiliza¸c˜ao da Enigma dependia de uma configura¸c˜ao de montagem, que compreendia a ordem e a posi¸c˜ao dos misturadores, conex˜ao dos cabos emparelhando duas letras no painel frontal e a posi¸c˜ao do refletor.
- Para cifrar uma mensagem, o operador teclava uma letra e o comando estimulava o circuito el´etrico e as letras cifradas apareciam, uma a uma, no painel luminoso.
Na criptografia mecˆanica ´e fundamental a oculta¸c˜ao p´ublica da chave e tamb´em desej´avel manter segredo sobre a estrutura da m´aquina que produz a cifragem. Com o desenvolvimento e aperfei¸coamento dos computadores e a incr´ıvel capacidade de realizar mais de um milh˜ao de opera¸c˜oes por segundo e a necessidade de uso da criptografia pelo com´ercio e bancos, os algoritmos criptogr´aficos passam a ser de conhecimento p´ublico e o segredo a residir exclusivamente na chave.
Os algoritmos de chave sim´etrica (tamb´em chamados de Sistemas de Chave Sim´etrica, criptografia de chave ´unica, ou criptografia de chave
se-creta) s˜ao uma classe de algoritmos para a criptografia, que usam chaves criptogr´aficas relacionadas para as opera¸c˜oes de cifragem e decifragem. A opera¸c˜ao de chave sim´etrica ´e mais simples, pois pode existir uma ´unica chave entre as opera¸c˜oes. A chave, na pr´atica, representa um segredo, par-tilhado entre duas ou mais partes, que podem ser usadas para manter um canal confidencial de informa¸c˜ao. Usa-se uma ´unica chave, partilhada por ambos os interlocutores, na premissa de que esta ´e conhecida apenas por eles.
Avan¸cando at´e os tempos modernos, alguns tipos de algoritmos sim´etricos foram desenvolvidos, onde os mais conhecidos e utilizados s˜ao descritos abaixo:
O Data Encryption Standard (DES) ´e o algoritmo sim´etrico mais dis-seminado no mundo. Foi criado pela IBM em 1977 e, apesar de permitir cerca de 72 quatrilh˜oes de combina¸c˜oes (256), seu tamanho de chave (56 bits) ´e considerado pequeno, tendo sido quebrado por ”for¸ca bruta”em 1997 em um desafio lan¸cado na Internet. O NIST (National Institute of Standards and Technology), que lan¸cou o desafio mencionado, recertificou o DES pela ´
ultima vez em 1993 e desde ent˜ao est´a recomendando o 3DES. O NIST est´a tamb´em propondo um substituto ao DES que deve aceitar chaves de 128, 192 e 256 bits, operar com blocos de 128 bits, ser eficiente, flex´ıvel e estar livre de ”royalties”.
O 3DES ´e uma simples varia¸c˜ao do DES, utilizando-o em trˆes ciframen-tos sucessivos, podendo empregar uma vers˜ao com duas ou com trˆes chaves diferentes. ´E seguro, por´em muito lento para ser um algoritmo padr˜ao.
O IDEA - International Data Encryption Algorithm - foi criado em 1991 por James Massey e Xuejia Lai e possui patente da su´ı¸ca ASCOM Systec. O algoritmo ´e estruturado seguindo as mesmas linhas gerais do DES. Na maioria dos microprocessadores, uma implementa¸c˜ao por software do IDEA ´
e mais r´apida do que uma implementa¸c˜ao por software do DES. O IDEA ´e utilizado principalmente no mercado financeiro e no PGP, o programa para criptografia de e-mail pessoal mais disseminado no mundo.
Por mais de dois mil anos, desde a ´epoca da cifra de C´esar at´e a d´ecada de 70, a comunica¸c˜ao cifrada exigia que as duas partes comunicantes com-partilhassem um segredo em comum, a chave sim´etrica usada para cifrar e decifrar. Uma dificuldade dessa abordagem ´e que as duas partes tˆem que escolher, conjuntamente e de alguma maneira, qual ´e a chave. Mas, para isso, ´e preciso comunica¸c˜ao segura. Uma alternativa seria um encontro en-tre as partes para que escolhessem, pessoalmente, a chave. Por´em, no atual
mundo em rede, o mais prov´avel ´e que as partes comunicantes nunca possam se encontrar. No intuito de solucionar este problema, v´arios cientistas na d´ecada de 70 voltaram suas pesquisas para a busca de uma solu¸c˜ao. Por´em, em 1976, Diffie e Hellman apresentaram um algoritmo conhecido como Diffie Hellman Key Exchange, que tornou poss´ıvel a comunica¸c˜ao por criptografia sem a necessidade de compartilhamento antecipado de uma chave secreta comum. Uma abordagem da comunica¸c˜ao segura radicalmente diferente e de uma elegˆancia que levou ao desenvolvimento dos atuais sistemas de cripto-grafia de chaves p´ublicas.
O uso da criptografia de chaves p´ublicas ´e bastante simples. Suponha que duas pessoas queiram se comunicar de forma segura. Como mostra a fi-gura 2.7, ao inv´es de compartilharem uma ´unica chave secreta, o destinat´ario tem duas chaves: uma chave p´ublica, que est´a `a disposi¸c˜ao do mundo todo, inclusive de intrusos, e uma chave privada, que apenas ele conhece. Primei-ramente, o remetente busca a chave p´ublica do destinat´ario. Em seguida, ele criptografa sua mensagem usando a chave p´ublica do destinat´ario e um algo-ritmo criptogr´afico. O destinat´ario recebe a mensagem criptografada e usa sua chave privada e um algoritmo de decriptografia para decifrar a mensagem recebida. Dessa forma, duas pessoas podem trocar mensagens secretas sem que nenhuma delas necessite permutar alguma chave.
Usando a nota¸c˜ao da figura 2.7, para qualquer mensagem m, db(eb(m)) =
m , isto ´e, aplicando a chave p´ublica do destinat´ario, eb , e em seguida a sua
chave privada, db , `a mensagem m, recuperamos m. Na realidade, podemos
permutar as chaves criptogr´aficas p´ublica e privada e obter o mesmo resul-tado, isto ´e, eb(db(m)) = db(eb(m)) = m.
O uso da criptografia de chave p´ublica ´e, portanto, conceitualmente sim-ples. Mas apresenta duas preocupa¸c˜oes. A primeira preocupa¸c˜ao diz res-peito ao conhecimento p´ublico da chave e do algoritmo de criptografia, isto ´
e, embora um intruso que intercepta a mensagem cifrada veja apenas da-dos inintelig´ıveis, ele conhece tanto a chave quanto o algoritmo usado para a criptografia. Assim, um intruso pode montar um ataque para decodificar mensagens, ou parte delas, que suspeite que tenham sido enviadas. Fica claro que, para a criptografia de chave p´ublica funcionar, a escolha de chaves e de c´odigos de criptografia / decriptografia deve ser feita de tal forma que seja praticamente imposs´ıvel para um intruso determinar a chave privada do des-tinat´ario. A segunda preocupa¸c˜ao se refere ao envio da mensagem cifrada, ou seja, como a chave criptogr´afica do destinat´ario ´e p´ublica, qualquer um pode enviar uma mensagem cifrada para ele. No caso de uma ´unica chave secreta compartilhada, o fato do remetente conhecer a chave secreta identi-fica implicitamente o remetente para o destinat´ario. No caso da criptografia de chave p´ublica isso n˜ao acontece, j´a que qualquer um pode enviar uma mensagem cifrada ao destinat´ario, usando sua chave p´ublica. Neste caso, se faz necess´ario o uso de uma assinatura digital, que visa garantir a autentici-dade de quem envia a mensagem, associada `a integridade do seu conte´udo, vinculando um remetente `a mensagem.
Vejamos a seguir, alguns tipos de algoritmos assim´etricos.
O RSA ´e um algoritmo assim´etrico que possui este nome devido a seus inventores: Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no MIT. ´E, atualmente, o algoritmo de chave p´ublica mais amplamente uti-lizado, al´em de ser uma das mais poderosas formas de criptografia de chave p´ublica conhecidas at´e o momento. O RSA utiliza n´umeros primos. O RSA parte da premissa de que ´e f´acil multiplicar dois n´umeros primos para ob-ter um ob-terceiro n´umero, por´em, ´e muito dif´ıcil recuperar os dois primos a partir daquele terceiro n´umero dado. Isto ´e conhecido como fatora¸c˜ao. Por exemplo, os fatores primos de 3.337 s˜ao 47 e 71. Gerar a chave p´ublica en-volve multiplicar dois primos grandes; qualquer um pode fazer isto. Derivar a chave privada a partir da chave p´ublica envolve fatorar um grande n´umero. Se o n´umero for grande o suficiente e bem escolhido, ent˜ao ningu´em pode
fazer isto em uma quantidade de tempo razo´avel. Assim, a seguran¸ca do RSA baseia-se na dificuldade de fatora¸c˜ao de n´umeros grandes. Deste modo, a fatora¸c˜ao representa um limite superior do tempo necess´ario para quebrar o algoritmo. Uma chave RSA de 512 bits foi quebrada em 1999 pelo Ins-tituto Nacional de Pesquisa da Holanda, com o apoio de cientistas de mais seis pa´ıses. Levou cerca de sete meses e foram utilizadas 300 esta¸c˜oes de trabalho para a quebra. Um fato preocupante ´e que cerca de 95% dos sites de com´ercio eletrˆonico utilizam chaves RSA de 512 bits.
O ElGamal ´e outro algoritmo de chave p´ublica utilizado para gerencia-mento de chaves. Sua matem´atica difere da utilizada no RSA, mas tamb´em ´e um sistema comutativo. O algoritmo envolve a manipula¸c˜ao matem´atica de grandes quantidades num´ericas. Sua seguran¸ca adv´em de algo denominado problema do logaritmo discreto. Assim, o ElGamal obt´em sua seguran¸ca da dificuldade de se calcular logaritmos discretos em um corpo finito, o que lembra bastante o problema da fatora¸c˜ao.
O Diffie-Hellman tamb´em ´e baseado no problema do logaritmo discreto, sendo o criptosistema de chave p´ublica mais antigo ainda em uso. O conceito de chave p´ublica foi introduzido pelos autores deste criptosistema em 1976. Contudo, ele n˜ao permite ciframento nem assinatura digital. O sistema foi projetado para permitir a dois indiv´ıduos entrarem em um acordo ao com-partilharem um segredo tal como uma chave, embora eles somente troquem mensagens em p´ublico.
Em 1985, Neal Koblitz e V. S. Miller propuseram de forma indepen-dente a utiliza¸c˜ao de curvas el´ıpticas para sistemas criptogr´aficos de chave p´ublica. Eles n˜ao chegaram a inventar um novo algoritmo criptogr´afico com curvas el´ıpticas sobre corpos finitos, mas implementaram algoritmos de chave p´ublica j´a existentes, como o algoritmo de Diffie e Hellman, usando curvas el´ıpticas. Assim, os sistemas criptogr´aficos de curvas el´ıpticas consistem em modifica¸c˜oes de outros sistemas, que passam a trabalhar no dom´ınio das cur-vas el´ıpticas, em vez de trabalharem no dom´ınio dos corpos finitos. Eles possuem o potencial de proverem sistemas criptogr´aficos de chave p´ublica, mais seguros e com chaves de menor tamanho.
Muitos algoritmos de chave p´ublica, como o Diffie - Hellman, o ElGamal e o Schnorr podem ser implementados em curvas el´ıpticas sobre corpos fini-tos. Assim, fica resolvido um dos maiores problemas dos algoritmos de chave p´ublica: o grande tamanho de suas chaves. Por´em, os algoritmos de curvas el´ıpticas atuais, embora possuam o potencial de serem r´apidos, s˜ao em geral
mais demorados do que o RSA.
Durante algum tempo, muito se discutiu sobre a melhor forma de se crip-tografar: se utilizando um sistema sim´etrico ou assim´etrico. Na realidade, como mostra a tabela abaixo, existem vantagens e desvantagens que, depen-dendo do contexto e das condi¸c˜oes, a escolha do melhor sistema pode variar.
J´a vimos anteriormente que a forma de criptografar uma mensagem fazendo uso de chave p´ublica, atrav´es de t´ecnicas avan¸cadas e complexas uti-lizando fun¸c˜oes matem´aticas, acarreta em um ´ındice de dificuldade `a a¸c˜ao de intrusos, maior do que se utiliz´assemos criptografia sim´etrica. Por´em, de-pendendo da situa¸c˜ao e dos recursos dispon´ıveis, a complexidade excessiva pode tornar impratic´avel cifrar e decifrar uma mensagem. Por exemplo, em um campo de batalha, digamos que o Comandante de uma Unidade deseje trocar mensagens simples de orienta¸c˜ao com os Comandantes de Subunidade, atrav´es de um mensageiro, por´em n˜ao deseja que estas mensagens sejam os-tensivas. O Comandante poderia se reunir previamente com os Comandantes de Subunidade e trocar chaves sim´etricas para este tipo de comunica¸c˜ao.
Por´em, h´a situa¸c˜oes onde a velocidade e a disponibilidade de equipa-mentos n˜ao s˜ao um empecilho; digamos que a maior dificuldade seja reunir as partes comunicantes. Obviamente, a utiliza¸c˜ao de criptografia de chave p´ublica seria mais oportuna. Na pr´atica, o que tem sido utilizado s˜ao algo-ritmos h´ıbridos que utilizam as vantagens de cada um dos sistemas, como por exemplo, o PGP (Pretty Good Privacy) para correio eletrˆonico, o IPSec,
o S/MIME (Secure Multipurpose Internet Mail Extensions), entre outros.
A partir do in´ıcio de 1990, come¸ca o trabalho de pesquisa para a cons-tru¸c˜ao de computadores quˆanticos e o desenvolvimento de uma criptografia quˆantica. Os primeiros ensaios experimentais s˜ao publicados por Charles H. Bennett, GillesBrassard e colaboradores, relatando o uso de f´otons para transmitir um fluxo de bits. Em um computador quˆantico a velocidade ser´a muito maior que no mais moderno dos computadores de nossa ´epoca. No momento, a pesquisa e o desenvolvimento de computadores quˆanticos ainda ´
e incipiente e guardada em segredo, mas quando esta tecnologia se tornar uma realidade, novos desafios dar˜ao continuidade a esta rica hist´oria da crip-tografia.
Cap´ıtulo 3
T´
ecnicas Criptogr´
aficas que
Aplicam Matem´
atica B´
asica
como Ferramenta.
Nas Orienta¸c˜oes Curriculares para o Ensino M´edio (2006), consta que o aluno seja capaz de utilizar a Matem´atica na resolu¸c˜ao de problemas do cotidiano e para modelar fenˆomenos das distintas a´ereas do conhecimento. Consta tamb´em que o aluno compreenda a Matem´atica como conhecimento social que foi constru´ıdo ao longo da hist´oria, entendendo a sua importˆancia no desenvolvimento cient´ıfico e tecnol´ogico.
A matem´atica enfrenta diversos desafios na busca de aliar o interesse dis-cente e a forma¸c˜ao do cidad˜ao, partindo do pressuposto que a educa¸c˜ao se concretiza nesta rela¸c˜ao. Portanto, aproximar a linguagem matem´atica da realidade ´e o foco de estrat´egias educacionais, para que os alunos se tornem cidad˜aos conscientes, apropriando-se de conhecimentos matem´aticos funda-mentais para uma forma¸c˜ao cr´ıtica de nossa sociedade.
Neste contexto, a criptografia pode ser um elemento motivador para o processo de ensino e aprendizagem da Matem´atica, pois seu desenvolvi-mento hist´orico e sua aplicabilidade disponibilizam ao professor um cabedal de exemplos contextualizados, ao mesmo tempo em que promovem uma in-teressante liga¸c˜ao com as ciˆencias sociais. A seguir, exemplos da correla¸c˜ao entre matem´atica e criptografia, ressaltando que a forma de abordagem dos conte´udos n˜ao s˜ao, necessariamente, a mais adequada para aplica¸c˜ao com estudantes do Ensino M´edio, mas servem para embasar o conhecimento dos professores que se propuserem a ensinar este assunto em sala de aula. Con-forme o mandamento n´umero 2, proposto por George Polya em seus dez
mandamentos para o professor de matem´atica: ”Conhe¸ca sua Mat´eria”.
O cap´ıtulo 4 possui v´arios exemplos de atividades para aplica¸c˜ao com estudantes do Ensino M´edio.
3.1
O Ensino de Fun¸
c˜
oes Aplicado a Cifras
de Substitui¸
c˜
ao e Transposi¸
c˜
ao
.
3.1.1
Preliminares
Um conceito que ´e absolutamente fundamental para a Criptografia ´e o de Fun¸c˜ao no sentido matem´atico de uma Transforma¸c˜ao. Neste contexto, abordaremos algumas defini¸c˜oes preliminares que servir˜ao como base para a aplica¸c˜ao em t´ecnicas de cifragem por substitui¸c˜ao e transposi¸c˜ao.
Defini¸c˜ao 1 Uma rela¸c˜ao f entre os conjuntos X e Y ´e dita uma fun¸c˜ao quando (x, y) ∈ f e (x, y0) ∈ f implicam em y = y0, ou seja, uma fun¸c˜ao ´e definida por dois conjuntos X e Y e uma regra f que atribui a cada elemento de X precisamente um elemento de Y . O conjunto X ´e chamado o Dom´ınio da fun¸c˜ao e o conjunto Y o Contra-Dom´ınio.
Se x ´e um elemento de X, usualmente escrito x ∈ X , a imagem de x ´e o elemento em Y cujo a regra f associa com x. A imagem y de x ´e denotada por y = f (x). A nota¸c˜ao padr˜ao para uma fun¸c˜ao f do conjunto X para o conjunto Y ´e f : X → Y . Se y ∈ Y ent˜ao uma preimagem de y ´e um elemento x ∈ X tal que f (x) = y. O conjunto de todos os elementos de Y que tem pelo menos uma preimagem ´e chamado de imagem de f , denotado por Im(f ).
Defini¸c˜ao 2 Uma Fun¸c˜ao ´e injetora se cada elemento do contradom´ınio Y ´
e a imagem de no m´aximo um elemento do dom´ınio X.
Defini¸c˜ao 3 Uma fun¸c˜ao ´e sobrejetora se cada elemento do contradom´ınio Y ´e a imagem de pelo menos um elemento do dom´ınio. Equivalentemente, uma fun¸c˜ao f ´e sobrejetora se Im(f ) = Y .
Defini¸c˜ao 4 Se uma fun¸c˜ao f : X → Y ´e injetora e sobrejetora ent˜ao f ´e dita uma bije¸c˜ao.
Se f : X → Y ´e injetora ent˜ao f : X → Im(f ) ´e uma bije¸c˜ao. Em particular, Se f : X → Y ´e injetora e X e Y s˜ao conjuntos finitos com o mesmo n´umero de elementos, ent˜ao f ´e uma bije¸c˜ao.
Figura 3.1: Uma bije¸c˜ao f e sua inversa g = f−1
Defini¸c˜ao 5 Se f ´e uma bije¸c˜ao de X para Y ent˜ao podemos definir de forma ´obvia uma bije¸c˜ao g de Y para X, bastando para cada y ∈ Y definir g(y) = x onde x ∈ X e f (x) = y. A fun¸c˜ao g obtida de f ´e chamada a fun¸c˜ao inversa de f e ´e denotada por g = f−1.
Note que se f ´e uma bije¸c˜ao ent˜ao temos sua inversa f−1. Em cripto-grafia bije¸c˜oes s˜ao utilizadas como ferramentas para encriptar mensagens e sua inversa para decriptar.
Permuta¸c˜oes s˜ao fun¸c˜oes que s˜ao utilizadas frequentemente em v´arias constru¸c˜oes criptogr´aficas.
Defini¸c˜ao 6 Seja S um conjunto finito. A Permuta¸c˜ao p sobre S ´e uma bije¸c˜ao de S sobre ele mesmo, ou seja, p : S → S.
Exemplo: Seja S = 1, 2, 3, 4, 5 . Uma permuta¸c˜ao p : S → S de-finida por p(1) = 3 ; p(2) = 5 ; p(3) = 4 ; p(4) = 2 ; p(5) = 1 pode ser representada pela seguinte forma matricial.
p = 1 2 3 4 5 3 5 4 2 1
A primeira linha da matriz representa o Dom´ınio e a segunda linha a Imagem de p.
Como permuta¸c˜oes s˜ao bije¸c˜oes ent˜ao elas possuem inversa. Se uma per-muta¸c˜ao for escrita na forma matricial, sua inversa ´e facimente encontrada, bastando trocar a posi¸c˜ao das linhas da matriz. No exemplo acima, a inversa de p ´e
p−1 =3 5 4 2 1 1 2 3 4 5
Exemplo: Seja X = 0, 1, 2, 3, ..., pq − 1 onde p e q s˜ao n´umeros primos com mais de 100 algarismos e suponha que 3 n˜ao divide p − 1 e nem q − 1. Ent˜ao, pode-se mostrar que a fun¸c˜ao p(x) = rx, onde
rx ´e o resto da divis˜ao de x3 por pq, ´e uma permuta¸c˜ao. Por´em, determinar
a permuta¸c˜ao inversa p−1 ´e computacionalmente invi´avel para os padr˜oes tecnol´ogicos atuais, a menos que p e q sejam conhecidos. Esta ´e uma ideia b´asica para a criptografia assim´etrica.
Alguns tipos de fun¸c˜ao tem a propriedade de serem a sua pr´opria inversa.
Defini¸c˜ao 7 Seja S um conjunto finito e seja f uma bije¸c˜ao de S para S, ou seja, f : S → S. A fun¸c˜ao f ´e dita uma involu¸c˜ao se f = f−1. Equivalentemente podemos dizer que f (f (x)) = x para todo x ∈ S.
3.1.2
Cifras de Substitui¸
c˜
ao Monoalfab´
etica
Cifras de substitui¸c˜ao s˜ao cifras de bloco que substituem s´ımbolos por ou-tros s´ımbolos ou grupo de s´ımbolos.
Defini¸c˜ao 8 Seja A um alfabeto com q s´ımbolos e seja M o conjunto de todas as sequˆencias de comprimento t sobre A. Seja K o conjunto de to-das as permuta¸c˜oes do cojunto A. Definimos para cada e ∈ K uma fun¸c˜ao criptogr´afica Ee como:
Ee(m) = (e(m1)e(m2) . . . e(mt)) = (c1c2. . . ct) = c
onde m = (m1m2. . . mt) ∈ M . Em outras palavras, para cada s´ımbolo em
uma t-upla, deve-se substitu´ı-lo por outro s´ımbolo de A conforme cada per-muta¸c˜ao fixada e.
Para decriptar c = (c1c2. . . ct) determine a permuta¸c˜ao inversa d = e−1
e fa¸ca
Dd(c) = (d(c1)d(c2) . . . d(ct)) = (m1m2. . . mt) = m.
Ee ´e chamada de Cifra de Substitui¸c˜ao Monoalfab´etica.
A quantidade de cifras distintas (chaves) ser´a discutida e calculada na se¸c˜ao 3.2.
Exemplo: Utilizando nosso alfabeto com 26 letras e definindo uma permuta¸c˜ao e = x + 3, teremos exatamente a cifra de Cesar, a qual trans-forma a mensagem m=MESTRADO PROFISSIONAL EM MATEMATICA
na mensagem cifrada Ee(m) = PHVXUDGR SURILVVLRQDO HP PDXHPDXLFD.
Para decriptar, utiliza-se a permuta¸c˜ao inversa d = e−1 = x − 3.
3.1.3
Cifras de Substitui¸
c˜
ao Homofˆ
onica
Defini¸c˜ao 9 Para cada s´ımbolo a ∈ A, associa-se o conjunto H(a) de sequˆencias de t s´ımbolos, com a restri¸c˜ao que conjuntos H(a), a ∈ A, sejam sepa-rados em pares disjuntos. Uma cifra de substitui¸c˜ao homofˆonica substitui cada s´ımbolo a em um bloco de mensagem de texto simples com uma esco-lha aleat´oria de sequˆencias para H(a). Para decifrar uma sequˆencia c de t s´ımbolos, basta determinar um a ∈ A tal que c ∈ H(a). A chave da cifra ´e o conjunto H(a).
Exemplo: Considere A = a, b , H(a) = 00, 10 e H(b) = 01, 11 . o bloco de mensagem de texto simples ab ´e encriptado em uma das seguintes formas: 0001, 0011, 1001, 1011. Observe que o contradom´ınio da fun¸c˜ao criptogr´afica, para mensagens de comprimento 2, consiste dos se-guintes conjuntos de pares disjuntos de sequˆencias de 4 elementos:
aa →0000, 0010, 1000, 1010 ab →0001, 0011, 1001, 1011 ba →0100, 0110, 1100, 1110 bb →0101, 0111, 1101, 1111
Qualquer seq¨uˆencia de 4 elementos identifica um elemento do contra-dom´ınio e, portanto, uma mensagem de texto simples.
3.1.4
Cifras de Substitui¸
c˜
ao Polialfab´
etica
Defini¸c˜ao 10 Uma cifra de substitui¸c˜ao polialfab´etica ´e uma cifra de bloco com comprimento do bloco t sobre um alfabeto A, com as seguintes proprie-dades:
(i) O conjunto das chaves K consiste de todos os conjuntos ordenados de t permuta¸c˜oes (p1, p2, . . . , pt), onde cada permuta¸c˜ao pi ´e definida no conjunto
A;
(ii) A encripta¸c˜ao da mensagem m = (m1m2. . . mt) sob a chave e = (p1, p2, . . . , pt)
´
e dada por Ee(m) = (p1(m1)p2(m2) . . . pt(mt)); e
(iii) a chave de decripta¸c˜ao associada a e = (p1, p2, . . . , pt) ´e d = (p−11 , p −1 2 , . . . , p
−1 t ).
Exemplo: (Cifra de Vigenere) Seja A = A, B, C, . . . X, Y, Z e t = 3. Escolha e = (p1, p2, p3), onde p1 leva cada letra para uma letra a
trˆes posi¸c˜oes a direita no alfabeto, p2 para uma letra a sete posi¸c˜oes a direita
e p3 a dez posi¸c˜oes a direita. Se
m = MES TRA DOP ROF ISS ION ALE MAT EMA TIC A
Ent˜ao
c = Ee(m) = PLD XZK GVZ UVP LZC LVX DSO PHD HTK XPM D
Cifras Polialfab´eticas tem a vantagem sobre as cifras de substitui¸c˜ao monoalfab´eticas pois a frequˆencia dos s´ımbolos n˜ao s˜ao preservadas. No exemplo acima, a letra E ´e encriptada primeiramente pela letra L, depois
pela letra O e finalmente pela letra H. No entanto, Cifras Polialfab´eticas n˜ao apresentam muita dificuldade para a criptoan´alise pois ´e similar a v´arias cifras monoalfab´eticas. De fato, dado um determinado bloco de comprimento t, a mensagem pode ser dividida em t grupos, onde o grupo i, 1 ≤i≤t, consiste das letras da mensagem derivadas da permuta¸c˜ao pi, e a an´alise de frequˆencia
pode ser feita em cada grupo. (Ataque de Babbage `a cifra de Vigenere).
3.1.5
Cifras de Transposi¸
c˜
ao
Outra classe de cifras de chave sim´etrica ´e a cifra de transposi¸c˜ao simples que simplesmente permuta os s´ımbolos em um bloco.
Defini¸c˜ao 11 Considere uma chave sim´etrica em um esquema de encripta¸c˜ao em bloco, com bloco de comprimento t. Seja K o conjunto de todas as per-muta¸c˜oes do conjunto 1, 2, . . . t . Para cada e ∈ K define-se a fun¸c˜ao de encripta¸c˜ao por
Ee(m) = (me(1)me(2). . . me(t))
onde m = (m1m2. . . mt) ∈ M ´e o espa¸co de mensagem. O conjunto de todas
essas transforma¸c˜oes ´e chamado de cifra de transposi¸c˜ao simples.
A chave de decripta¸c˜ao correspondente a e ´e a permuta¸c˜ao inversa d = e−1. Para decriptar c = (c1c2. . . ct), calcule Dd(c) = (cd(1)cd(2). . . cd(t)).
Exemplo: Cifrando a mensagem m
(M EST − RADO − P ROF − ISSI − ON AL − EM M A − T EM A − T ICA)
com t = 4 e e =1 2 3 4 5 6 7 8 3 5 8 7 4 1 6 2
, temos
me(1) = m3 = P ROF me(2)= m5 = ON AL
me(3) = m8 = T ICA me(4)= m7 = T EM A
me(5) = m4 = ISSI me(6) = m1 = M EST
me(7) = m6 = EM M A me(8) = m2 = RADO
Portanto,
Ee(m) = (P ROF − ON AL − T ICA − T EM A − ISSI − M EST −
3.1.6
Composi¸
c˜
ao de Cifras
Com a finalidade de dificultar a criptoan´alise de um texto, podemos utili-zar uma cifra h´ıbrida, ou seja, compor uma cifra de transposi¸c˜ao com uma cifra de substitui¸c˜ao, embora, na pr´atica, isso n˜ao ocorra.
Defini¸c˜ao 12 Seja S, T e U conjuntos finitos e seja f : S → T e g : T → U fun¸c˜oes. A composi¸c˜ao de g com f , denotada por g ◦ f , ´e a fun¸c˜ao de S para U como ilustrado na figura abaixo e definida por (g ◦ f )(x) = g(f (x)), para todo x ∈ S.
Figura 3.3: A composi¸c˜ao g ◦ f das fun¸c˜oes g e f
A composi¸c˜ao pode ser extendida para mais que duas fun¸c˜oes. Para fun¸c˜oes f1, f2, . . . , ft define-se ft◦ · · · ◦ f2◦ f1, onde o dom´ınio de ft equivale
ao contradom´ınio de ft−1 e assim por diante.
3.2
A Utiliza¸
c˜
ao de T´
ecnicas de Contagem
na Determina¸
c˜
ao do N´
umero de Chaves
Criptog´
aficas
.
Nesta Se¸c˜ao ser˜ao analisadas diversas situa¸c˜oes acerca da quantidade de chaves criptogr´aficas de uma cifra de substitui¸c˜ao monoalfab´etica e, para isso, ser˜ao utilizadas algumas t´ecnicas de contagem, geralmente estudadas dentro do assunto an´alise combinat´oria ministrado para estudantes do ensino m´edio.
An´alise combinat´oria ´e a parte da matem´atica que analisa estruturas e rela¸c˜oes discretas, como a contagem dos subconjuntos de um conjunto finito, sem a necessidade de enumer´a-los. Um dos primeiros problemas que est´a
ligado `a an´alise combinat´oria ´e o do desenvolvimento do binˆomio (1 + x)n, onde o caso n = 2 est´a nos Elementos de Euclides, em torno de 300 a.C.
Portanto, antes da abordargem do problema da contagem das chaves, alguns assuntos preliminares ser˜ao introduzidos.
3.2.1
Preliminares
Os principais conceitos que ser˜ao utilizados como base para o desenvolvi-mento do que iremos abordar, s˜ao:
Defini¸c˜ao 13 (Princ´ıpio Aditivo) Dados os conjuntos A1, A2, . . . , An,
dis-juntos 2 a 2, se cada Ai tem ai elementos, #(Ai) = ai, ent˜ao a uni˜ao desses
conjuntos ´e igual `a soma de seus elementos, ou seja, ∪ni=1Ai = n
X
i=1
ai.
Exemplo: Considere a cifra de Cesar, onde cada letra da mensagem ´
e substitu´ıda por uma letra do alfabeto ap´os um certo deslocamento linear, em um alfabeto com 26 letras, definimos cada conjunto Ai como uma forma
diferente de se processar tal deslocamento. Desta forma, #(Ai) = ai = 1
para todo i = 1, 2, . . . , 25. Portanto, a quantidade de chaves poss´ıveis em
uma cifra de Cesar ´e igual a
25
X
i=1
ai = 25.
Defini¸c˜ao 14 (Princ´ıpio Multiplicativo) Se um evento Ai pode ocorrer de
ai formas distintas, onde i = 1, 2, 3, . . . , n, ent˜ao a quantidade de formas
distintas de ocorrer, consecutivamente, os eventos A1, A2, . . . , An ´e igual ao
produto do n´umero de ocorrˆencias de cada evento, ou seja, ´e igual a
n
Y
i=1
ai.
Exemplo: Considere uma cifra polialfab´etica onde foram utilizados 3 alfabetos distintos e com deslocamento como na cifra de Cesar. Para o primeiro evento (alfabeto) A1, como vimos acima tem-se 25 possibilidades,
ou seja, a1 = 25. Para o segundo alfabeto, tirando apenas o alfabeto A1,
teremos A2 = 24 e, consequentemente, A3 = 23. Desta forma, a quantidade
de chaves poss´ıveis nesta situa¸c˜ao ´e
3
Y
i=1
Defini¸c˜ao 15 (Permuta¸c˜ao Simples) Dado um conjunto A tal que #(A) = n, o n´umero de modos distintos de ordenar todos os n elementos do conjunto A chama-se permuta¸c˜ao e, utilizando o princ´ıpio multiplicativo, temos que o
n´umero de permuta¸c˜oes desses n elementos ´e Pn = n
Y
i=1
i = n!.
Defini¸c˜ao 16 (Combina¸c˜ao Simples) Dado um conjunto A tal que #(A) = n, o total de escolhas n˜ao ordenadas de p elementos do conjunto A, p ≤ n, ´e chamada de combina¸c˜ao de n elementos escolhidos p a p, cuja nota¸c˜ao ´e Cnp. Utilizando o princ´ıpio multiplicativo e considerando que as escolhas s˜ao n˜ao
ordenadas, temos Cnp = n Y i=n−p+1 i p! , p ≤ n.
Exemplo: Considerando todas as poss´ıveis chaves de uma cifra mono-alfab´etica em um alfabeto com 26 letras, tem-se que cada chave ´e uma Per-muta¸c˜ao do alfabeto original. Portanto, o n´umero de chaves ser´a P26− 1 =
26! − 1 = 403.291.461.126.605.635.583.999.999. Se cada chave gastasse 1 se-gundo para ser verificada, o tempo total para que todas as chaves fossem verificadas seria de quase 1 bilh˜ao de vezes a idade do universo.
No entanto, se considerarmos que ao escolher uma chave para uma ci-fra monoalfab´etica deseja-se preservar a ordem usual das letras, ou seja, n˜ao escolher a pr´opria letra para substitui-la na mensagem, quantas ser˜ao essas chaves ? Isso ´e o que ser´a visto a seguir.
3.2.2
O Problema da Contagem de Chaves em uma
Cifra Monoalfab´
etica
.
O Problema da quantidade de chaves de uma cifra monoalfab´etica con-siderando que uma letra n˜ao pode ser substitu´ıda por ela pr´opria, ´e um t´ıpico exemplo de permuta¸c˜ao ca´otica ou desordenamento.
Defini¸c˜ao 17 Uma permuta¸c˜ao dos termos da sequˆencia a1, a2, a3, . . . , an ´e
dita ca´otica se cada termo ai da sequˆencia n˜ao ocupar a posi¸c˜ao de n´umero
Para se calcular a quantidade de permuta¸c˜oes ca´oticas de uma sequˆencia, denotado por Dn, tem-se que, dado um conjunto com n elementos A =
a1, a2, . . . , an e definindo Ai como sendo o conjunto das permuta¸c˜oes em
que o elemento ai est´a na posi¸c˜ao de n´umero i, Dn ´e o complementar da
uni˜ao dos Ai, ou seja, Dn=∪ni=1Ai.
Portanto, Dn = n! − n X i=1 #(Ai) + X 1≤i<j #(Ai∩ Aj) − X 1≤i<j<k #(Ai∩ Aj∩ Ak) + · · · + +(−1)n#(A1 ∩ A2∩ · · · ∩ An). Como #(Ai) = (n − 1)! #(Ai∩ Aj) = (n − 2)! #(Ai∩ Aj ∩ Ak) = (n − 3)! .. . #(A1∩ A2 ∩ A3∩ · · · ∩ An) = 1 temos Dn = n! − n(n − 1)! + Cn2(n − 2)! − Cn3(n − 3)! + · · · + (−1)n.1. Logo, Dn= n! 1 − 1 1!+ 1 2!− 1 3!+ · · · + (−1) n1 n!
Retomando o problema da quantidade de chaves de uma cifra mono-alfab´etica, em um alfabeto com 26 letras e considerando que cada letra da mensagem n˜ao pode ser substitu´ıda por ela pr´opria, aplica-se o resultado acima para obter:
D26 = 26! 1 − 1 1!+ 1 2!− 1 3!+ · · · + 1 26!
donde calcula-se que D26 = 148.362.637.348.470.135.821.287.825
3.3
Aplica¸
c˜
ao de Matriz e Aritm´
etica
Modu-lar na Utiliza¸
c˜
ao da Cifra de Hill
.
Criada por Lester S. Hill em 1929, a Cifra de Hill ´e um tipo de cifra de substitui¸c˜ao, em bloco, baseada em ´algebra linear e aritm´etica modular, que n˜ao ´e vulner´avel `a an´alise de frequˆencia das letras do alfabeto, por´em pode ser quebrada utilizando recursos da pr´opria ´algebra linear. Para uma melhor compreens˜ao dos processos de cifragem e decifragem, alguns conceitos b´asicos devem ser entendidos preliminarmente.
3.3.1
Preliminares
.
O primeiro conceito que ser´a necess´ario para a compreen¸c˜ao dos pro-cessos de cifragem e decifragem de uma mensagem utilizando a cifra de Hill ´
e o de aritm´etica modular.
Defini¸c˜ao 18 Dado um n´umero inteiro positivo m, dois n´umeros interios a e b s˜ao ditos congruentes m´odulo m se os restos da divis˜ao euclidiana de a e b por m s˜ao iguais. Denota-se a ≡ b (mod m).Desta forma, m divide a − b.
O conjunto formado pelos poss´ıveis restos da divis˜ao euclidiana de um inteiro a por m ´e dito o conjunto dos res´ıduos de a m´odulo m e ´e denotado por Zm, isto ´e, Zm = {0, 1, 2, . . . , m − 1}.
Proposi¸c˜ao 1 Qualquer inteiro a ´e congruente m´odulo m a um dos inteiros 0, 1, 2, . . . , m − 1 .
Demonstra¸c˜ao: Qualquer que seja a ∈ Z, pode-se expressar a = mq + r, com 0 ≤ r < m e q ∈ Z. Portanto, mq = a − r significa que m divide a − r. Logo, a ≡ r (mod m), r ∈ {0, 1, 2, . . . , m − 1}.
Exemplo: 35 ≡ 11 (mod 12), pois 35 = 12 × 2 + 11;
111911 ≡ 0 (mod 17), pois 111911 = 17 × 6583 + 0.
3.3.2
Cifra¸
c˜
ao
Defini¸c˜ao 19 (Cifra de Hill) ´E uma cifra em blocos de comprimento n sobre um alfabeto com q s´ımbolos, cuja mensagem aberta M = (m1, m2, . . . , mn)
´
e transformada pela chave A = (aij)n, aij ∈ Zq, na mensagem cifrada C =
(c1, c2, . . . , cn), onde cada ci ´e uma combina¸c˜ao linear dos blocos mi, 1 ≤ i ≤
n, isto ´e, c1 = a11m1+ a12m2+ · · · + a1nmn(modq) c2 = a21m1+ a22m2+ · · · + a2nmn(modq) .. . cn = an1m1+ an2m2+ · · · + annmn(modq)
Em nota¸c˜ao matricial temos C = A.M , onde
C = c1 .. . cn ; A = a11 . . . a1n .. . . .. ... an1 . . . ann e M = m1 .. . mn
s˜ao matrizes cujos elementos pertencem a Zq.
Originalmente a cifra de Hill trabalha com um alfabeto de 26 letras. Por-tanto, daqui em diante ser´a considerado q = 26.
Exemplo: Considerando o alfabeto com 26 letras, como na tabela abaixo,
e utilizando a chave k = 5 6 2 3
onde n = 2, para cifrar a mensagem
Utiliza-se a tabela para transformar as letras em n´umeros e efetua-se o produto matricial. 5 6 2 3 .2 5 0 4 12 0 19 8 17 17 20 0 17 4 =58 127 102 140 60 102 119 28 61 51 68 24 51 50 = =6 23 24 10 8 24 15 2 9 25 16 24 25 24 (mod26).
Recorrendo `a tabela, obt´em-se o texto cifrado GCXJYZKQIYYZPY.
3.3.3
Decifra¸
c˜
ao
No processo de cifra¸c˜ao de uma mensagem aberta M , efetua-se o produto matricial C = A × M para obter a mensagem cifrada C. ´E f´acil verificar que para obter a mensagem aberta M a partir da mensagem cifrada C basta multiplicar `a esquerda da equa¸c˜ao a matriz A−1, inversa da matriz A, ou seja, A−1× C = A−1× A × M , fornecendo M = A−1× C.
No entanto, para garantir a existˆencia da inversa da matriz A, ser´a ne-cess´aria a aplica¸c˜ao de alguns resultados, enunciados a seguir, cuja demons-tra¸c˜ao de alguns deles ser´a omitida pois foge ao objetivo deste trabalho.
Defini¸c˜ao 20 Dado um n´umero a ∈ Zm, o seu inverso multiplicativo ´e o
n´umero a−1 ∈ Zm tal que aa−1 = a−1a = 1(mod m), que ´e a solu¸c˜ao da
congruˆencia aX ≡ 1 (mod m), com (a, m) = 1.
Em [8], prova-se que se (a, m) 6= 1 ent˜ao a n˜ao possui inverso multipli-cativo em Zm.
Exemplo: Analisando os inversos multiplicativos em Z26, observa-se
que os n´umeros pares (2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24) e o 13 n˜ao pos-suem inverso multiplicativo pois n˜ao s˜ao co-primos com 26. Para os demais elementos de Z26, calcula-se o inverso multiplicativo resolvendo a congruˆencia