A Matemática Dos Códigos Criptográficos

Embed Size (px)

Citation preview

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    1/22

    A MATEMTICA DOS CDIGOS CRIPTOGRFICOS

    Paloma Barbosa FreireUniversidade Catlica de BrasliaCurso de Matemtica e-mail: [email protected]

    Jos Eduardo CastilhoUniversidade Catlica de BrasliaCurso de Matemtica e-mail:[email protected]

    RESUMO

    O presente trabalho apresenta um estudo comparativo da Cifra de Csar, Cifra de Vigenre, Mquina

    Enigma, RSA e Esquema Rafaella, com os seus criptosistemas usados. Para isso foram desenvolvidos os

    cdigos utilizados em cada um dos tipos de criptografia citado. Nesse artigo foi relatada uma breve

    histria, detalhado o criptosistemas e em seguida cada criptografia foi desenvolvida. Finalizando comuma breve citao das cifras expostas.

    Palavras Chaves: criptografia, criptosistemas.

    1. INTRODUO

    A Criptografia teve indcios pelos chineses para a proteo dos segredos polticos e

    militares. A palavra composta por dois termos gregos kryptos (kyptos - secreto,

    escondido, oculto) e grapho (grapho escrita, grafia). Ela a cincia (ou arte) de

    escrever uma mensagem original em cifras ou cdigos, tornando-a incompreensvel e

    difcil de ser decifrada ou decodificada.

    A criptografia o estudo de tcnicas matemticas, relacionadas com a

    confidencialidade, integridade, autenticao de dados, ou seja, consiste na substituio

    de dados num cdigo secreto como medida de segurana para que possam existir

    comunicaes seguras. O mais interessante que a metodologia da criptografia no

    mudou muito at meados do sculo XX. Somente depois da Segunda Guerra Mundial,

    com o aparecimento do computador, a rea realmente floresceu utilizando algoritmos

    matemticos mais sofisticados e se tornando difcil a sua resoluo necessitando de um

    conhecimento mais aprofundado nos conceitos matemticos. Na verdade, a criptografia

    formou a base para a cincia da computao moderna.

    O rpido avano tecnolgico exige sistemas de segurana cada vez mais complexos

    onde a criptografia deve ser implantada de forma integrada, fornecendo um escudo extra

    para proteger dos dados.

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    2/22

    2Desde ento, tcnicas criptogrficas tm sido utilizadas nas mais diversas reas como

    operaes militares, servios como e-mail, telefonia celular, acesso seguro internet,

    transaes comerciais, autenticao de usurios, uso de servios bancrios e vrias

    outras operaes (KUNST e RIBEIRO, 2004).

    O desenvolvimento da matemtica, em especial na rea de Teoria dos Nmeros, tem

    proporcionado um avano significativo da criptografia (CAVALCANTE, 2005). Novas

    tcnicas de codificao tm sido desenvolvidas de tal forma que a decodificao por

    intermdio de computadores praticamente invivel. Todo sistema criptogrfico pode

    ser descrito num modelo matemtico, onde, o que difere so as funes de codificao e

    decodificao. Neste trabalho, apresentam-se alguns sistemas criptogrficos e orespectivo modelo matemtico.

    2. UMA BREVE HISTRIA DA CRIPTOGRAFIA

    A escrita por meios de cdigos comeou a ser conhecida pelo relato feito por Herdoto

    um historiador romano, por volta do quinto sculo antes de Cristo, que relatou os

    conflitos ocorridos entre Grcia e Prsia. Nesta batalha se lutava pela liberdade, onde a

    escrita secreta foi fundamental na guerra. A estratgia utilizada pelos Persas foiorganizarem secretamente um exrcito militar para combater a Grcia, seu plano era o

    ataque surpresa. No entanto no contavam que a Grcia usasse uma arma mais forte que

    era a arte da escrita secreta. O grego Demarato que morava na Prsia, escreveu em um

    par de tabuletas raspando a cera e escrevendo a mensagem. Depois de escrita a cobria

    novamente para assim ser passada pelos guardas sem ser descoberta (SINGH, 2002).

    Com isso em 23 de setembro de 480 a.C, Xerxes lder dos Persas atacou a Grcia que o

    esperava bem preparada. Assim Xerxes perdeu a batalha pelo fato de no ter realizado o

    combate de forma surpresa. Esse tipo de criptografia, ocultao de mensagem,

    conhecido como esteganografia originada da palavra grega steganos (coberto) e

    graphein(escrever). (SINGH, 2002).

    Acriptografia mais conhecida surgiu nas Guerras da Glia de Jlio Csar, e por este

    motivo ficou conhecida como cifra de Csar. Ele substitua cada letra na mensagem por

    outra que estivessem trs casas frente no alfabeto. Este tipo de criptografia por

    substituio, que emprega um alfabeto, chamado de cifras monoalfabticas. (SINGH,

    2002).

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    3/22

    3Criptografia por substituio era muito usada, o que tornava conhecido o seu mtodo

    de cifrar e decifrar sendo de fcil acesso a descoberta da mensagem criptografada. Com

    isso surgiu uma nova forma de criptografia feita por substituio criada por Blaise de

    Vigenre em 1563. Baseado no apenas em um, mas sim em 26 alfabetos cifrados.

    Utiliza a Cifra de Csar de forma diferente para cada alfabeto, formando assim uma

    tabela, chamada de Quadrado de Vigenre. Esse por sua vez denominado de cifra

    polialfabtica, e foi utilizado por muito tempo, sendo quebrada somente em 1854.

    Durante muitos outros anos nenhum outro mtodo de criptografia foi desenvolvido com

    tanta segurana (SINGH, 2002).

    Somente em 1918, o alemo Arthur Scherbius desenvolveu uma nova forma decriptografar. Ele construiu uma mquina cifrante, chamada Enigma, que era composta

    de trs elementos: Um teclado para introduzir a mensagem; Um misturador que

    permutava o alfabeto: Um mostrador para visualizar a mensagem cifrada (SINGH,

    2002). Aqui se inicia a troca das cifras de papel e lpis por uma mais moderna que

    utilizava a tecnologia do incio do sculo XX. Em 1926 o Exrcito Alemo a utilizou

    fazendo algumas modificaes obtendo a rede de comunicao mais segura da poca

    (SULZBACH, 2003). Em 1940 Alan Turing e sua equipe da inteligncia britnicaconstruram o primeiro computador operacional e seu propsito especificamente era

    decifrar mensagens alems cifradas pela Mquina Enigma. Esta primeira mquina

    (computador) foi substituda em 1943, recebendo o nome de Colossus, com a tecnologia

    de vlvulas era capaz de realizar diversos clculos capaz de quebrar cdigos da

    Mquina Enigma.

    Aps a Segunda Guerra Mundial com o desenvolvimento de computadores e outras

    tecnologias a criptografia foi tornando-se mais complexa. Em1977 a equipe Rivest,

    Shamir e Adleman desenvolveram um estudo de criptografar usando uma funo de

    mo nica. Composta de duas chaves diferentes, uma delas pblica que visa: a

    autenticao de destino, que garante que somente o destinatrio consiga ler a

    mensagem; a autenticao da origem, que evita a falsificao da identidade do emissor;

    a deteco de integridade de informao que evita outra pessoa leia e altere a

    informao (MONTEIRO, 2002). Aoutra a chave privada que usada para decifrar a

    mensagem, assim esse algoritmo chamado de algoritmo assimtrico. A importncia

    deste tipo de sistema que viabiliza a troca de informaes, de forma segura, via

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    4/22

    4internet. Essa criptografia ficou conhecida como RSA, onde basea-se em funo

    modular e conhecimento em teoria dos nmeros. Nos tempos de hoje utilizasse sistemas

    de criptografia de chave publica, onde as chaves so nmeros com ordem de grandeza

    elevado. Este o ponto chave da segurana destes sistemas, pois, todos os

    computadores do planeta levariam mais tempo do que a idade total do universo para

    quebrar a cifra (SINGH, 2002).

    Com essa breve historia da criptografia percebe-se que tanto a matemtica quanto a

    criptografia esto interligadas, sendo que esse processo continuo, onde a criptografia

    moderna definida a partir do algoritmo aplicado, que este por sua vez definido pelo

    desenvolvimento ocorrido nas disciplinas aplicadas.

    3. CRIPTOSISTEMAS

    Os criptosistemas correspondem aos fundamentos da criptografia. Nele definida a

    terminologia dos componentes dos mecanismos de codificao e decodificao.

    As mensagens so definidas de duas formas, uma corresponde ao texto original (m), ou

    seja, a mensagem sem sofrer alteraes, j a outra forma direcionada ao texto cifrado

    (c), ou seja, a mensagem cifrada.Em geral, um criptosistema pode ser representado por um modelo matemtico

    constitudo dos seguintes elementos (SOUZA, 2004):

    Um conjunto finito A chamado de alfabeto de entrada, que pode ser o alfabeto

    latino ou sua representao numrica em cdigo ASCII.

    Um conjunto M formado por cadeias finitas de elementos de A, onde cada

    elemento corresponde a um texto simples, no cifrado. Um conjunto C formado por cadeias finitas de elementos de A, onde cada

    elemento de C corresponde a um texto cifrado.

    Um conjunto K de elementos chamados chaves, que so as ferramentas

    necessrias para a realizao dos processos de codificao de decodificao.

    O espao E de funes eE : MC, eK, que codificam a mensagem.

    O espao D de funes dD :CM, dK, que decodificam a mensagem.

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    5/22

    5Para cada elemento k 1 em K defini-se uma nica bijeo de M em C, que garante a

    existncia de k 2 em K que determina a funo inversa para a decodificao.

    Destaca-se que sistemas simtricos so caracterizados por usarem k 1 = k 2 , pois no

    processo utilizada a mesma chave tanto para codificar quanto para decodificar. Nos

    sistemas assimtricos usa-se k 1 k 2 onde uma das chaves de conhecimento pblico

    para a codificao e a outra a chave privada e usa-se para a decodificao. Observa-se

    que sistemas simtricos exigem que cada participante do processo tenha conhecimento

    da chave e no assimtrico no seria necessrio.

    Existem vrias formas de se considerar o alfabeto de entrada. Uma delas seria

    considerar o cdigo ASCII, em que cada letra representada por um valor inteiro. Nos

    modelos apresentados a seguir, deve-se considerar que o alfabeto composto somente

    por letras minsculas, cujo cdigo ASCII dado no Quadro 1.

    Quadro 1 Cdigo ASCII

    Alfabeto original a b c d e f g h i j k l m n o p q r s t u v w x y z

    Cdigo ASCII 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

    Seguindo este modelo, sero descritos alguns sistemas criptogrficos.

    4. CIFRA DE CSAR

    Essa criptografia foi proposta por Jlio Csar com objetivos militares nas Guerras da

    Glia. Esta usa o conceito de translao letras do alfabeto, onde cada letra do alfabeto

    relacionada com a letra que est a trs casas a frente ocorrendo assim uma substituio

    da letra a pela D, b por E e assim por diante (Ver no Quadro 2).

    Quadro 2 - Cifra de Csar

    Alfabeto original a b c d e f g h i j k l m n o p q r s t u v w x y z

    Alfabeto cifrado D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

    De acordo com a descrio do modelo de um criptosistema, dada na seo anterior, a

    Cifra de Csar pode ser descrita pelos seguintes elementos:

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    6/22

    6A: alfabeto em cdigo ASCII descrito no Quadro 1.

    M = Conjunto das mensagens a serem codificadas.

    C = Conjunto das mensagens codificadas.

    K = Conjunto das chaves de codificao e decodificao {1,2,...,25}

    k 1 ,k 2 chaves de codificao e decodificao.

    E: MC, f(x , k 1 ) = 97 + (x -97+ k 1 ) mod(26)

    D : CM, g(x , k 2 ) = 97 + (x -97- k 2 ) mod(26)

    Neste caso tem-se que a Cifra de Csar um sistema particular do modelo acima, com

    que k 1 = k 2 =3, sendo assim um sistema simtrico. Outra observao, que o uso dafuno modular necessrio para que o cdigo gerado permanea dentro do intervalo de

    variao do alfabeto como descrito no Quadro 1.

    De acordo com Simon Singh, (2002) que Csar deslocava as letras em trs casas, fica

    claro que, empregando-se qualquer deslocamento entre uma das 25 casas, possvel

    criar 25 cdigos distintos (p.27). Esse processo pode ser representado pelo modelo

    acima, usando valores diferentes valores de chaves do conjunto K, mas mantendo k 1 =

    k 2 . Para melhor entendimento, aplicando o criptosistema da Cifra de Csar comoexemplo, para criptografar a mensagem freire. Utilizando passo a passo como foi

    descrito acima. Para transformar a mensagem em nmeros teremos como base o

    Quadro 3.

    Quadro 3: Exemplo de aplicao da Cifra de Csar

    Criptografia - E: MC Decriptografia - D : CM

    Mensagem Seqncia ( )( )26mod39797 ++ x Texto Cifrado ( )( )26mod39797 + x Texto Original MensagemF 102 ( )( )26mod39710297 ++ 105 ( )( )26mod39710597 + 102 F

    R 114 ( )( )26mod39711497 ++ 117 ( )( )26mod39711797 + 114 R

    E 101 ( )( )26mod39710197 ++ 104 ( )( )26mod39710497 + 101 E

    I 105 ( )( )26mod39710597 ++ 108 ( )( )26mod39710897 + 105 I

    R 114 ( )( )26mod39711497 ++ 117 ( )( )26mod39711797 + 114 R

    E 101 ( )( )26mod39710197 ++ 104 ( )( )26mod39710497 + 101 E

    Para o exemplo acima foi usado os procedimentos implementados no Maple, descritosno Anexo A.

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    7/22

    75. CIFRA DE VIGENRE

    Vigenre criou uma criptografia que necessitava de uma tabela tanto para criptografar

    quanto para decriptografar. Esta consiste de 26 alfabetos, sendo que na primeira linha

    est o alfabeto na ordem correta e nas linhas seguintes utiliza-se a Cifra de Csar

    deslocando uma casa em comparao com a linha anterior como demonstrado no

    Quadro 4.

    Quadro 4 - Cifra de Vigenre

    Alfabetocorreto

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

    2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

    3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

    4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

    5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

    6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

    7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

    8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

    9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

    10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

    11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

    12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

    13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

    14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

    15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

    16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

    17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

    19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

    20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

    21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

    22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

    23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

    24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

    25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

    26 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Para o uso da tabela ser necessrio uma palavra chave para definir as linhas que vo ser

    utilizadas, como por exemplo, a mensagem Cdigo tendo a palavra chavefreireque

    dever ser associada a frase que vai ser criptografada como mostra no Quadro 6.

    A Cifra de Vigenre pode ser vista de uma forma matemtica de acordo com o esquema

    proposto em Criptosistemas:

    A: alfabeto em cdigo ASCII descrito no Quadro 1.

    M = Conjunto das mensagens a serem codificadas.

    C = Conjunto das mensagens codificadas.K = Conjunto das chaves de codificao e decodificao {1,2,...,25}

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    8/22

    8k 1 , k 2 ,...k n chaves de codificao e decodificao.

    E: M n

    C n

    , onde n o nmero de caracteres da palavra chave

    F(x 1 ,x 2 ,... ,x n ) = F( f(x 1 ,k 1 ), f(x 2 ,k 2 ), ... , f(x n ,k n ) )

    D : C n

    M n

    ,

    G(x 1 ,x 2 ,... ,x n ) = G( g(x 1 ,k 1 ), g(x 2 ,k 2 ), ... , g(x n ,k n ) ),

    onde, f(x s ,k s ) e g(x s ,k s ) so as funes de codificao e decodificao do modelo

    da Cifra de Csar. Neste caso, a Cifra de Vigenre tambm um sistema simtrico.

    Dessa forma se tornam mais fcil o entendimento do processo de cifrar e decifrar para

    cada letra do sistema de Cifra de Vigenre.

    No Quadro 6 representa todo o processo da codificao e decodificao, com base nos

    dados expostos no Quadro 1.

    Quadro 6: Exemplo de aplicao da Cifra de Vigenre

    Criptografia -E: M n Cn Decriptografia - D : CnM

    n

    Mensagem kn

    Seqncia 97+(x-97+ kn

    )(mod26)Texto

    Cifrado

    97+(x-97- kn

    )(mod26) Seqncia Mensagem

    C F 5 99 97+(99-97+5)(mod26) 104 97+(104-97-5)(mod26) 99 C

    O R 17 111 97+(111-97+17)(mod26) 102 97+(102-97-17)(mod26) 111 O

    D E 4 100 97+(100-97+4)(mod26) 104 97+(104-97-4)(mod26) 100 D

    I I 8 105 97+(105-97+8)(mod26) 113 97+(113-97-8)(mod26) 105 I

    G R 17 103 97+(103-97+17)(mod26) 120 97+(120-97-17)(mod26) 103 G

    O E 4 111 97+(111-97+4)(mod26) 115 97+(115-97-4)(mod26) 111 O

    O procedimento da Cifra de Vigenre, pode ser implementado com base na Cifra deCsar (Veja os cdigos descritos no Anexo B).

    6. MQUINA ENIGMA

    A Mquina Enigma um sistema de cifrar mensagens substituindo as letras por outras.

    Para que isso acontea ocorre um tipo de permutao com o alfabeto. Esse sistema foi

    uma revoluo na poca, pelo fato de ser o primeiro sistema que usou recursos

    tecnolgicos. A pea principal da mquina o misturador de borracha em um formato

    de disco com fios que ligam o teclado ao mostrador. A mensagem criptografada a

    medida em que gira o misturador, pois ele definido de acordo com a quantidade de

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    9/22

    9letras fornecidas na mquina, sendo que em um alfabeto completo de 26 letras

    determinado um vinte e seis avos de um giro completo (SINGH, 2002).

    O mtodo de cifragem mais bem detalhado na figura 1, onde qualquer que seja a

    permutao dos rotores nenhuma letra codificada nela prpria.

    Figura 1: Mquina Enigma (fonte: http://www.ncc.up.pt/~pbv/enigma/nivel1.html)

    Quando so usados trs misturadores com um alfabeto de 26 letras, aumentado a sua

    quantidade de troca de 26 para 26x26x26, ou seja 17.576 alfabetos cifrados (SINGH,

    2002).

    Maquina Enigma representada por uma permutao no alfabeto, onde cada letra

    substituda por outra (ou seja, bijetiva). Esse processo contnuo sendo que nesse

    esquema os rotores seguem para o refletor, e assim voltando aos rotores. No exemplo

    seguinte visto o sistema de trs rotores onde aplicado a permutao:

    p =A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    C B E I M H R K Q V D L T Z J A G X P U S Y N W O F

    q =A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    C D X F I M E T L S O P U W G H Q R Z V Y J K N A B

    r =A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    E K D J N L W C B M I O A U V T H X S Z R P F Y Q G

    Aplicando:

    x p(x) q(p(x)) r(q(x))Transformando:

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    10/22

    10

    K (aplicando p) D (aplicando q) F (aplicando r) L

    Assim, a letra K substituda por L.

    J o refletor sua permutao no pode ser aleatria ou arbitrria, nele que recebe a

    corrente dos rotores e a envia novamente para outras modificaes. Ele deve seguir duas

    regras:

    No envia nenhuma letra nela prpria corrente no pode circular nos dois

    sentidos no mesmo fio.

    Deve ser recproco aplicando duas vezes adquirimos a letra original.

    Na tabela abaixo um exemplo de permutao do refletor, definido por u:

    u =A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Y R G M O Q C L X S T H D U E Z F B J K N W V I A P

    Ao sair do refletor a corrente retorna passando pelos rotores, como o processo de volta

    aplicado permutao inversa ( somente trocar a primeira linha pela segunda, e vice-

    versa). Portanto ao juntarmos todos os processos aqui detalhados podemos definir as

    funes Ee D , assim formalizando o sistema da maquina enigma para trs rotores:

    p q r u r1

    q1

    p1

    (rotores) (refletor) (inversa dos rotores)

    A: alfabeto em cdigo ASCII descrito no Quadro 1.

    M = Conjunto das mensagens a serem codificadas.

    C = Conjunto das mensagens codificadas.

    K = Conjunto das chaves de codificao e decodificao formada pelas permutaes de

    A.

    p, q, r, u chaves de codificao e decodificao.

    E: MC, f(x) = p(x) . q(x) . r(x) . u(x) . r 1

    (x). q 1

    (x). p 1

    (x)

    D : CM g(x) = p(x) . q(x) . r(x) . u(x) . r 1

    (x). q 1

    (x). p 1

    (x)

    Observe que f(x) = g(x), pois as permutaes satisfazem de p.p 1

    se resulta na

    identidade. Abaixo mostrado a inversa de p, denotada como p1

    :

    p1=

    C B E I M H R K Q V D L T Z J A G X P U S Y N W O F

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    11/22

    11

    p.p 1

    = id

    id =A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Exemplo de codificao com as permutaes acima e considerando que o disco 1 gira a

    cada letra, o disco 2 a cada 2 e o disco 3 a cada 3. Com isto temos FREIRE codificado

    para MUSFOY decodifica novamente na mensagem FREIRE.

    Quadro 7: Exemplo de aplicao da codificao da Enigma

    Criptografia - E: MC Decriptografia - D : CM

    Mensagem SeqnciaSeqnciaCodificada

    TextoCifrado

    SeqnciaDecodificada

    Mensagem

    F 102 109 M 102 F

    R 114 117 U 114 R

    E 101 115 S 101 E

    I 105 102 F 105 I

    R 114 111 O 114 R

    E 101 121 Y 101 E

    O exemplo acima foi gerado pela implementao da Mquina Enigma descrita noAnexo C

    7. CRIPTOGRAFIA RSA

    O sistema RSA foi criado por Rivest, Shamir e Adleman onde as iniciais dos nomes dos

    seus criadores deram o nome RSA. Esse sistema se baseia nos conceitos de Teoria dos

    Nmeros onde ser demonstrada passo a passo que se baseia a Criptografia RSA:

    1 - transformar as mensagens em uma seqncia de nmeros, na regra que desejar.

    Como por exemplo: A: alfabeto em cdigo ASCII descrito no Quadro 1.

    M = Conjunto das mensagens a serem codificadas.

    C = Conjunto das mensagens codificadas.

    2 - escolher dois primos muito grandes, denominadospe q .

    3 - calcular ( ) ( )( )11 = qpn onde qpn .= , que ( )s o nmero de inteiros

    menores ou iguais a s que so relativamente primos com s (fundamento de Euler).

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    12/22

    124 - escolher um nmero dque satisfaa MDC ( )( ) 1, =nd , onde de ( )n sejam co-

    primos, utilizando o Algoritmo de Euclides.

    5 - em seguida calcula-se ( )( )nde mod1. , sendo encontrado e utilizando

    congruncias.

    6 - separar a mensagem em pequenas partes.

    7 - calcular ( )nmc e mod , para criptografar a mensagem. Sendo definido E, funo

    para criptografar. Assim: E: MC, ( )nmc e mod

    8 - por ltimo, para decodificar a mensagem calcula-se ( )ncm d mod . Sendo definido

    D , funo para decodificar. Assim: D : CM, ( )ncm d mod

    Logo o sistema RSA deve seguir todos os passos para que o resultado seja favorvel.

    Com isso destacam-se duas chaves (estas por sua vez definidas em criptosistemas como

    k) para criptografar detalhada como ( )ne, e outra para decriptografar, ( )nd, .

    De acordo com a descrio do modelo de um criptosistema, dada na seo anterior, as

    chaves desse esquema pede ser descrita pelos seguintes elementos:

    K = Conjunto das chaves de codificao e decodificao

    k1 k 2 ( )ne, ( )nd, chaves de codificao e decodificao.

    Obseva-se que so utilizados duas chaves, sendo uma para criptografar e outra para

    decodificar, definidas como chave pblica e chave privada. Assim esse esquema

    chamado de Criptografia Assimtrica em que k 1 k 2 , citado no item criptosistema.

    Para melhor entendimento, aplicando o sistema RSA para criptografar a mensagem

    freire, utilizando passo a passo como foi descrito acima. Para transformar a mensagem

    em nmeros teremos como base o Quadro 1.

    Logo a mensagem freire a seqncia de nmeros 102 - 114 - 101 - 105 - 114 - 101.

    Em seguida escolheremos 3=p e 11=q , agora podendo calcular:

    qpn .= = 3 . 11 = 33

    ( ) ( )( )11 = qpn = ( )( ) 2011113 =

    O prximo passo a ser representado ser descobrir d, onde encontrado ao resolver aoperao MDC ( ) 1,20 =d de acordo com o Algoritmo de Euclides, achando 7=d . Com

    isso podemos resolver a equao ( )( )nde mod1. ( )20mod17. = e , de acordo comcongruncias j citado anteriormente chegamos em 3=e .

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    13/22

    13 evidente no momento que as duas chaves necessrias para o sistema so a (3, 33)

    para criptografar e (7, 33) para decriptografar. O Quadro 8 representa todo o processo

    da codificao e decodificao.

    Quadro 8: Exemplo da aplicao do esquema RSA.

    Criptografia -E: MC Decriptografia - D : CM

    Mensagem Seqncia ( )33mod3

    mc Texto Cifrado ( )33mod7

    cm Texto Original Mensagem

    F 102 ( ) 2733mod1023 =c 27 ( ) 10233mod277 =m 102 F

    R 114 ( ) 933mod1143 =c 9 ( ) 11433mod97 =m 114 R

    E 101 ( ) 833mod1013 =c 8 ( ) 10133mod87 =m 101 E

    I 105 ( ) 1833mod1053 =c 18 ( ) 10533mod187 =m 105 I

    R 114 ( ) 933mod1143 =c 9 ( ) 11433mod97 =m 114 R

    E 101 ( ) 833mod1013 =c 8 ( ) 10133mod87 =m 101 E

    A implementao do Sistema RSA encontra-se no Anexo D.

    8. ESQUEMA RAFAELLA

    O sistema Rafaella foi desenvolvido em 2004 por Ribeiro e Weber com o objetivo de

    criar um sistema de fcil cifra e de difcil decodificao. Esse esquema se baseia em

    equaes diferencias. sendo diferente de todos os outros que analisamos, pois, nesse

    processo ocorre translao de funes. Equaes diferenciais no aplicada diretamente

    mais sim dela se conseguiu o surgimento do sistema de criptografia Rafaella, baseando-

    se em teoria dos grupos de Lie e simetrias em matemtica discreta. (KUNST e

    RIBEIRO, 2004).

    Esse sistema destaca-se pelo fato de suas chaves privadas serem definidas pelos

    componentes do sistema, onde uma dever ser do emissor da mensagem e a outra do

    receptor da mensagem criptografada.

    Para que seja um processo de fcil entendimento foi dividida em etapas, que sero

    definidas passo a passo:

    Utilizar o cdigo de ASCII para transformar a mensagem em valores numricos.

    Como exemplo:

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    14/22

    14A: alfabeto em cdigo ASCII descrito no Quadro 1.

    M = Conjunto das mensagens a serem codificadas.

    C = Conjunto das mensagens codificadas.

    Mensagem F R E I R E

    ASCII 102 114 101 105 114 101

    Escolher uma funo real ( 0f ), contnua e n vezes derivvel, onde a

    quantidade de coeficientes deve ser a mesma da mensagem.

    Podendo ser retratada da seguinte forma:( ) ( ) ( ) ( ) ( ) ( ) ( )xxxxxx eeeeeexf 709,204,9456,045,2456,37564,80 101114105101114102 +++++=

    Criar as chaves privadas e pblicas, tanto o emissor quanto o receptor. Os

    componentes so responsveis por essa etapa, por exemplo:

    EMISSOR RECEPTOR

    chave privada - ca chave pblica - cpa chave privada - cb chave pblica - cpb ica 927 = ( )

    2caxcpa = icb 49+= ( )

    2cbxcpb =

    De acordo com a descrio do modelo de um criptosistema, dada na seo anterior, as

    chaves desse esquema pede ser descrita pelos seguintes elementos:

    K = Conjunto das chaves de codificao e decodificao

    k 1 k 2 chaves de codificao e decodificao.

    So utilizadas duas chaves, sendo uma para criptografar e outra para decodificar,

    definidas como chave pblica e chave privada. Assim esse esquema chamado de

    Criptografia Assimtrica em que k 1 k 2 , citado no item criptosistema. O emissor aplica sua chave privada que um nmero complexo, na funo

    inicial ( 0f ), gerando assim uma nova funo ( 1f ), onde considerada a

    primeira funo para criptografar, da seguinte forma:

    E1 : MC

    ( ) ( )caxfxf += 01

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    15/22

    15 O emissor efetuar o argumento de autenticao definida como aa , o produto

    das chaves pblicas tanto do emissor como do receptor, somado a chave privada

    do emissor elevado a uma potncia maior que 4 pelo fato de estar trabalhando

    com nmeros complexos e ter um grau de dificuldade mais elevado.

    kcacpbcpaaa += .

    Emissor envia a funo ( 1f ) e o argumento aa para o receptor.

    O receptor aplica sua chave privada que um nmero complexo, na funo

    inicial ( 1f ), assim gerando uma nova funo ( 2f ), onde considerada a segunda

    funo para criptografar, da seguinte forma:

    E 2 : MC

    ( ) ( )cbxfxf += 12

    O receptor efetuar o argumento de autenticao definida como ab , o produto

    das chaves pblicas tanto do emissor como do receptor, somado a chave privada

    do receptor elevado a uma potncia maior que 4 pelo fato de estar trabalhando

    com nmeros complexos e ter um grau de dificuldade mais elevado.

    S

    cbcpbcpaab += . Receptor gera outro argumento definido por tb , baseado na aplicao da sua

    prpria chave privada sobre o argumento aa , da seguinte forma:

    ( )cbaatb =

    Receptor envia a funo ( 2f ), ab e tb para o emissor.

    Emissor calcula vb que consiste em retirar de tb sua chave privada. Assim

    podendo verificar e ter a certeza da identidade de seu receptor, da seguinte

    forma:

    0== tbcavb k

    Emissor calcula o simtrico da sua chave privada em ( 2f ) gerando ( 3f ), onde

    possvel definir a primeira funo para decriptografar, da seguinte forma:

    D 1 : CM

    ( ) ( )caxfxf = 23

    Emissor gera outro argumento definido por ta , baseado na aplicao da suaprpria chave privada sobre o argumento ab , da seguinte forma:

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    16/22

    16( )caabta =

    O emissor envia ta e ( 3f ) para o receptor.

    Receptor calcula va que consiste em retirar de ta sua chave privada. Assim

    podendo verificar e ter a certeza da identidade de seu emissor.

    0== tacbva S

    Receptor calcula o simtrico da sua chave privada em ( 3f ) gerando ( 4f ), onde

    possvel definir a segunda funo para decriptografar. Logo essa funo gerada

    se trata da funo inicial assim ( 0f ) = ( 4f ), como foi indicado no exemplo na

    primeira etapa, ocorrendo da seguinte forma:D 2 : CM

    ( ) ( )cbxfxf = 34

    ( ) ( ) ( ) ( ) ( ) ( ) ( )xxxxxx eeeeeexf 709,204,9456,045,2456,37564,84 101114105101114102 +++++=

    04 ff =

    ( ) ( ) ( ) ( ) ( ) ( ) ( )xxxxxx eeeeeexf 709,204,9456,045,2456,37564,80 101114105101114102 +++++=

    Com isso, foi definido todo o processo matemtico do Esquema Raffaela que poder ser

    absorvido com mais clareza ao expressarmos no exemplo, gerado pelo cdigo

    apresentado no Anexo E.

    8. CONCLUO

    Diversos so os esquemas para criptografar uma mensagem, assim tendo tambm as

    mais diferentes formas de processos matemticos tanto para cifrar como decifrar um

    texto. Foram enfatizados, no entanto, os esquemas criptogrficos de acordo com os

    criptosistemas para que com isso a comparao da matemtica utilizada em cada

    esquema ficasse mais claro e mais fcil quanto sua utilizao.

    Ao comparar os criptosistemas dos nos trs primeiros cdigos, constata-se que todas

    devem pertencer ao intervalo correspondente ao alfabeto no processo de codificao e

    decodificao, destacando-se a Cifra de Csar e Vigenre onde as funes de cifrar e

    decifrar utiliza-se de funo modular (mod 26). J no RSA e Esquema Rafaella, o

    processo no necessrio pertencer ao intervalo do alfabeto.

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    17/22

    17A Cifra de Csar e a Cifra de Vigenre foram detalhadas de acordo com seu modelo

    no criptosistema, duas funes parecidas tanto para codificar quanto para decodificar a

    mensagem. Assim esse tipo de criptografia, que faz uso da transposio da ordem das

    letras do alfabeto, no se altera muito a forma que se aplicada. Conclui-se que essas

    cifras no so baseadas muito em clculos matemticos, e sim no raciocnio lgico

    matemtico. O mesmo acontece com a Mquina Enigma, onde nela ocorrem vrias

    permutaes para sua codificao e para sua decodificao, com isso a mesma funo

    aplicada para cifrar tambm utilizada para decifrar. Com isso ela tambm implementa

    do raciocnio lgico matemtico.

    A Cifra RSA utiliza conceitos e mtodos da matemtica como a Teoria dos Nmeros,sendo assim um sistema mais complexo comparado com a Cifra de Csar e Vigenre,

    pois necessita de um conhecimento mais avanado de matemtica. Nesse processo foi

    aplicado o mesmo procedimento que foi a nfase com o criptosistema. Conclui-se em

    um sistema que utiliza de muitos mtodos matemticos, mais de fcil codificao e

    difcil decodificao. J suas chaves pblicas e privadas tm um desenvolvimento

    seguro tanto na transmisso quanto na utilizao.

    O Esquema Rafaella uma criptografia moderna, pois foi desenvolvida em 2004,utilizando-se de conceitos e mtodos mais avanados como equaes diferenciais.

    Baseia-se na dificuldade de se obter a funo original, onde sero aplicadas operaes

    de translaes sobre a funo. Destaca-se o fato da sua chave privada ser criada pelo

    prprio usurio e sua chave pblica gerada do surgimento de uma funo (no exemplo

    exposto - ( )2caxcpa = ) onde a chave privada seja uma das razes dela. Dependendo

    da chave pblica gerada, pode-se achar a chave privada, assim achando as razes da

    chave pblica. Com isso ela se torna de fcil descoberta de suas chaves, pois temoscomputadores to modernos que esse tipo de informao no seria difcil. Uma forma

    de se contornar este problema modificar a criao da chave pblica da seguinte forma:

    ( )2ycaxcpa = , onde y passa a fazer parte da chave privada, sendo assim mais difcil

    a sua descoberta.

    Conclui-se que tanto as criptografias usadas nos tempos mais antigos como as utilizadas

    nos tempos modernos tm franquezas e dificuldades. Mas em cada tempo, com seu

    desenvolvimento matemtico, faz com que sejam criadas criptografias mais complexas

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    18/22

    18e tambm com a evoluo da matemtica as cifras podem ser quebradas. Isto

    signifique que o processo no esttico, mas sim um processo evolutivo e de constantes

    mudanas.

    REFERNCIAS BIBLIOGRFICAS

    RIBEIRO, V. G. ; WEBER, Raul Fernando . Problemas Computacionais paraEsquemas de Criptografia de Chave Pblica. In: 22o Simpsio Brasileiro de Redesde Computadores, 2004, Gramado. IV Workshop de Segurana em SistemasComputacionais. Porto Alegre : II/UFRGS, 2004. p. 101-112.

    CAVALCANTE, Andr L.B. Teoria dos Nmeros e Criptografia, 2005, RevistaVirtual, Disponvel:http://www.upis.br/revistavirtual/Cavalcante_%20Teoria%20dos%20N%FAmeros%20e%20Criptografia_2005_UPIS.pdf

    WEBER, Raul Fernando. Criptografia Contempornea. 1995Disponvel:http://www.inf.ufsc.br/~mauro/curso/redes/cripto.doc

    KUNST, Rafael; RIBEIRO, Vinicius Gadis. Implementao do Esquema de

    Criptografia de Chave Pblica Rafaella. Revista eletrnica de Sistema deInformaes, Vol 3, N 1, 2004,Disponvel:http:http://www.inf.ufsc.br/resi/edicao04/artigo07.pdf.

    SINGH, Simon. O Livro dos Cdigos. Rio de Janeiro: Record, 2002.

    SOUZA, Raimundo Cndido. Criptografia de Chave Pblica: Algoritmos quePossibilitam a Criao de Chave Assimtrica.2006.

    SULZBACH, Jaime Andr. Anlise de Viabilidade da Criptografia Quntica. 2003.

    MONTEIRO, Csar Alison. Implementao e Anlise Comparativa de QuatroVariaes do Criptossistema RSA. 2002.

    SOUZA, Bianca Amoras. Teoria dos Nmeros e o RSA, 2004, Campinas :UNICAMP.2004.

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    19/22

    19ANEXOS

    Nesta seo so apresentados os cdigos que foram implementados no Maple para cada

    um dos esquemas de criptografia que foram abordados no trabalho.

    A Crifra de Csar

    # cifra de cesar para um passo k# codifica a mensagem# x: Cdigo ASCII# k: passo do deslocamentocesar_code:=proc(x,k)local cm;cm:=97+(x-97+k mod 26);return cm;end proc;

    # cifra de cesar para um passo k# decodifica a mensagem# x: Cdigo ASCII# k: passo do deslocamentocesar_decode:=proc(x,k)local dm;dm:= 97+ (x-97-k mod 26);

    return dm;end proc;

    B Crifra de Vigenre

    # Cifra de Vigenere Usa o procedimento da Cifra de Csar.# codifica a mensagem# K: deslocamentos definidos pela palavra chave# n: nmero de deslocamentos.# m: bloco da mensagem

    Vige_code:=proc(K,n,m)local i,j,cm;cm:=vector(n);for i from 1 to n docm[i]:=cesar_code(m[i],K[i]);

    end do;return cm;end proc;

    # Cifra de Vigenere - Usa o procedimento da Cifra de Csar.

    # decodifica a mensagem# K: deslocamentos definidos pela palavra chave

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    20/22

    20# n: nmero de deslocamentos.# cm: bloco da mensagem

    Vige_decode:=proc(K,n,cm)local i,j,m;m:=vector(n);for i from 1 to n dom[i]:=cesar_decode(cm[i],K[i]);end do;return m;end proc;

    C Mquina Enigma# Mquina Enigma.# codificao# p1,p2,p2: permutaes que representam cada disco# u: permutao que representa o refletor# m: mensagem em cdigo ASCII# n: tamanho da mensagem# v1,v2,v3: relao de voltas de cada discoEnigma_code:=proc(p1,p2,p3,u,m,n,v1,v2,v3)local pos,cm,c1,c2,c3,i,k;cm:=vector(n);c1:=0; c2:=0;c3:=0;for i from 1 to n dopos:=m[i]-97;pos:=((pos+c1) mod 26);pos:=p1[2,pos+1] ;pos:=((pos+c2) mod 26);pos:=p2[2,pos+1];pos:=((pos+c3) mod 26);pos:=p3[2,pos+1];pos:=u[2,pos+1];k:=1;while pos p3[2,k] do k:=k+1; end do;pos:=p3[1,k];k:=1;while pos p2[2,k] do k:=k+1; end do;pos:=p2[1,k];k:=1;while pos p1[2,k] do k:=k+1; end do;pos:=p1[1,k];cm[i]:=pos+97;if (i mod v1) = 0 then c1:= c1+1; end if;if (i mod v2) = 0 then c2:= c2+1; end if;if (i mod v3) = 0 then c3:= c3+1; end if;

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    21/22

    21end do;return cmend proc;

    # Mquina Enigma.# decodificao# p1,p2,p2: permutaes que representam cada disco# u: permutao que representa o refletor# m: mensagem em cdigo ASCII# n: tamanho da mensagem# v1,v2,v3: relao de voltas de cada disco

    Enigma_decode:=proc(p1,p2,p3,u,m,n,v1,v2,v3)

    local pos,cm,c1,c2,c3,i,k;cm:=vector(n);c1:=0; c2:=0;c3:=0;for i from 1 to n dopos:=m[i]-97;pos:=p1[2,pos+1] ;pos:=p2[2,pos+1];pos:=p3[2,pos+1];pos:=u[2,pos+1];k:=1;while pos p3[2,k] do k:=k+1; end do;

    pos:=p3[1,k];pos:=((pos-c3) mod 26);k:=1;while pos p2[2,k] do k:=k+1; end do;pos:=p2[1,k];pos:=((pos-c2) mod 26);k:=1;while pos p1[2,k] do k:=k+1; end do;pos:=p1[1,k];pos:=((pos-c1) mod 26);cm[i]:=pos+97;

    if (i mod v1) = 0 then c1:= c1+1; end if;if (i mod v2) = 0 then c2:= c2+1; end if;if (i mod v3) = 0 then c3:= c3+1; end if;

    end do;return cmend proc;

    D Esquema RSA

    # RSA.# codificao

  • 7/25/2019 A Matemtica Dos Cdigos Criptogrficos

    22/22

    22# d,n: chave privada# cm: mensagem codificadaRSA_code:=proc(e,n,m)

    local cm;cm:=(m^e) mod n;return cm;end proc;

    # RSA.# decodificao# d,n: chave privada# cm: mensagem codificadaRSA_decode:=proc(d,n,cm)

    local m;m:=(cm^d) mod n;return m;end proc;

    E Esquema Rafaella

    # Rafaella.# decodificao# fo: funao com coeficientes sendo o cdigo da mensagem

    # ce: chave privada do emisorRafaella_code:=proc(fo,ce)local f1;f1:=x->fo(x-ce);return f1;end proc;

    # Rafaella.# codificao# fo: funao com coeficientes sendo o cdigo da mensagem# ce: chave privada do emisor

    Rafaella_code:=proc(fo,ce)local f1;f1:=x->fo(x+ce);return f1;end proc;