You are on page 1of 15

CONCEITOS MATEMTICOS ENVOLVIDOS NO

FUNCIONAMENTO DA CRIPTOGRAFIA RSA

Cristiane Moro1
Raquel Cerbaro2
Andria Beatriz Schmid3
Resumo: A criptografia visa garantir que somente pessoas autorizadas tenham acesso a informaes
reservadas. Para enviar uma mensagem com dados sigilosos a uma pessoa preciso codificar a
mensagem e torn-la ilegvel para qualquer pessoa interceptar. A pessoa que recebe a mensagem
deve possuir o mesmo sistema criptogrfico, para assim decodificar o texto, e assim poder l-lo. O
RSA um sistema criptogrfico de chave pblica, criado em 1978 por Ron Rivesti, Adi Shamir e Len
Adleman. O seu funcionamento consiste na multiplicao de dois nmeros primos muito grandes
gerando um terceiro nmero. Para quebrar essa criptografia, seria necessria a fatorao desse
nmero para encontrar os dois nmeros primos que o geraram, porm, para isso necessrio um
poder muito alto de processamento, o que acaba inviabilizando a tarefa, pois atualmente no existem
algoritmos de fatorao eficientes para nmeros primos grandes. A segurana deste mtodo baseiase na complexidade dos conceitos matemticos inseridos na teoria dos nmeros. Tm-se como
objetivo descrever o funcionamento da criptografia RSA, compreendendo a importncia da
matemtica para a segurana deste algoritmo. Trata-se de uma pesquisa bibliogrfica, fundamentada
em livros, trabalhos, monografias e artigos. Aborda-se as etapas do processo criptogrfico RSA, que
inicia na pr-codificao, passa pela codificao da mensagem at a sua decodificao, onde retorna
a mensagem original, mostrando aps, por que o mtodo funciona. Conclui-se, que o RSA uma
aplicao da matemtica, baseada na utilizao de conceitos de congruncia, fatorao e
primalidade, que por sua vez garante a segurana do mtodo pela complexidade matemtica
envolvida.
Palavras-chave: Criptografia RSA. Fatorao. Primos. Segurana.

Universitria do Curso de
crysmoro@unochapeco.edu.br.

Matemtica-

Licenciatura

plena/ACEA/UNOCHAPEC.

E-mail:

Universitria do Curso de Matemticaraquelcerba@unochapeco.edu.br.

Licenciatura

plena/ACEA/UNOCHAPEC.

E-mail:

Mestra em modelagem matemtica. Professora do curso de Matemtica- UNOCHAPEC. E-mail:


andreia.s@unochapeco.edu.br.

1. Introduo

Apresentar-se- uma conceituao geral da criptografia, donde ser abordado


exclusivamente o mtodo criptogrfico assimtrico, que atualmente um dos mais
utilizados na segurana de dados, o RSA.
Enfatiza-se, assim, o mtodo criptogrfico RSA, apresentando seus conceitos,
mostrando as etapas utilizadas para o uso do mtodo, abordando os conceitos
matemticos inseridos em seu funcionamento, que promovem ento a sua
segurana.
A criptografia uma rea de extrema importncia nos dias atuais, pela
necessidade da segurana de dados. Ela pode ser simtrica ou assimtrica. Abordase neste trabalho a criptografia assimtrica.
A

criptografia

tem

por

objetivo

principal

garantir

circulao

armazenamento de mensagens com segurana. Convertendo dados legveis em


algo sem sentido, com a capacidade de recuperar os dados originais a partir desses
dados sem sentido. Segundo Cavalcante (2004, p.1)
A criptografia a cincia que estuda as formas de se
escrever uma mensagem em cdigo. Trata-se de um
conjunto
de
tcnicas
que
permitem
tornar
incompreensvel uma mensagem originalmente escrita
com clareza, de forma a permitir que apenas o
destinatrio a decifre e compreenda.

Na criptografia de chave assimtrica utiliza-se duas chaves, a pblica e a


privada. A chave pblica acessvel a todos que desejam manter informaes, com
ela feita a codificao da mensagem. J para a decodificao necessria a
chave privada, que deve ser secreta, pois s quem possui essa chave poder ler a
mensagem.

2. Materiais e mtodos
Este trabalho apresenta-se como uma pesquisa bibliogrfica, conceituando as
principais caractersticas da criptografia RSA. Foram realizadas leituras e discusses
acerca do tema criptografia RSA, objetivando perceber a importncia da criptografia
RSA como segurana de redes e os conceitos matemticos inseridos nela.
Realizando pesquisas que abordassem o assunto de forma geral, tendo a
matemtica como instrumento do processo criptogrfico.

Sendo a pesquisa na rea da matemtica aplicada e ter como tema a


criptografia RSA, tem-se que ela pode ser estendida a todos os estudantes de
matemtica e sistemas de informao, bem como interessados em segurana de
dados em redes.

3. Resultado e discusso

Criptografia RSA

A criptografia RSA foi inventada em 1978 por Ron Rivesti, Adi Shamir e Len
Adleman que na poca trabalhavam no Massachussets Institute Of technology. As
letras RSA correspondem as inicias dos sobrenomes dos inventores do algoritmo.
Segundo Gimenez (p.16)
O algoritmo RSA constitui um exemplo de aplicao de
vrias teorias matemticas em uma soluo bastante
elegante para o problema de criptografia assimtrica, ou
de chave pblica, onde as partes no possuem uma
chave secreta previamente definida e dependem de um
canal inseguro para se comunicar, como o caso da
internet.

Desta

forma,

esse

algoritmo

se

aplica

perfeitamente em transaes eletrnicas envolvendo


negcios e/ou comrcio pela internet.

O RSA muito utilizado em aplicaes comerciais e a segurana desse


mtodo se d pela complexidade matemtica, encontrada na Teoria dos nmeros.
Para a implementao do RSA necessita-se de dois nmeros primos grandes,
que vamos chamar aqui de p e q. O produto desses dois nmeros primos ser
chamado de n, que a chave usada para a codificao da mensagem, ou seja, a
chave pblica. Para a decodificao basta apenas fatorar n para encontrar p e q.
Assim, a ideia principal teoricamente simplria, porm atualmente no existem
algoritmos de fatorao eficientes para nmeros primos grandes, pois geralmente
esses primos possuem mais de 150 algarismos, garantindo ento a segurana do
mtodo. Na sequncia apresenta-se o processo do mtodo criptogrfico RSA.

Conceitos matemticos envolvidos na criptografia RSA


Agora ser feito um estudo sobre alguns princpios bsicos da Teoria dos
nmeros para a compreenso da criptografia RSA.

Nmeros primos

Desde a antiguidade at os tempos atuais, os nmeros primos tem atrado a


ateno de muitos estudiosos. Foram criados diversos mtodos para testar a
primalidade de um nmero, como crivo de Eratstenes.
Atualmente, a primalidade de nmeros est recebendo mais ateno, pelo
fato de ser usado em diversos mtodos criptogrficos, como o RSA.

Definio 1. Um nmero p

IN se diz primo se:

i)

p 0 e p 1;

ii)

Os nicos divisores de p so 1 e p.
Um nmero a

IN,

chamado composto se a no primo.

Proposio 1. Se p primo e p/ab, ento p/a ou p/b.

Operaes com congruncias


Teorema 1: Se a

b(mod m) e se c

d(mod m) ento

i) a+c

b+d(mod m)

ii) a-c

b-d(mod m)

iii) ac

bd(mod m)

Corolrio: Se a

b(mod m) e se c um inteiro qualquer, ento:

Teorema 2: Se ac

i) a+c

b+c(mod m)

ii) a-c

b-c(mod m)

iii) ac

bc(mod m)

bc(mod m) e se mdc(c,m)=1 ento a

b(mod m).

Teorema de fermat II
Se p um primo e se p no divide a, ento

(mod p).

Demostrao: Tomamos os p 1, primeiros mltiplos positivos de a, isto , os


inteiros
a, 2a, 3a,..., (p - 1)a
Como p a e p 2, 3, ..., (p - 1) e p primo, nenhum destes nmeros mltiplo de p.

Sejam r, s tal que

onde

(mod p)
p / ra as

(r - s)

p / (r s)
O que um absurdo pela afirmao anterior.
Logo,

tal que

temos que

(mod p)

Ento ra e sa deixam restos diferentes quando divididos por p, (

).

Logo, cada um desses p 1 nmeros so congruentes a 1, 2, ..., p -1 mdulo


p. Ento:

a. 2a . 3a... (p 1)a

1. 2. 3...(p - 1) (mod p)

(p - 1)!

Como p primo, p ( p -1)!

Corolrio: Se p primo, ento

(p - 1)! (mod p)

mdc (p, (p -1)!)= 1

1 (mod p)

(mod p) , qualquer que seja os inteiros a.

Teorema chins do resto


Sejam

inteiros positivos entre si, dois a dois, isto , tais que o

mdc(

) = 1 se i j

Nestas condies, o sistema de congruncias lineares:

Tem uma nica soluo mdulo

Demonstrao: Seja

Como os inteiros

mdc (

o produto de todos os inteiros

, exceto

so primos entre si, dois a dois, o mdc (

) = 1,

) = 1, pois

de modo que a congruncia linear

(mod

(1)

Tem uma nica soluo

(mod

).

Posto isso, mostra-se que o inteiro


..

uma soluo do sistema considerado.


Com efeito, se

, ento

(mod

) o que implica

..

E como o inteiro

uma soluo

da congruncia linear (1) temos:

Logo,

a soluo do sistema.

Teorema de Euler
Definio 1: A funo

de Euler de um inteiro positivo m, denotada por ( m),

definida como o nmero de inteiros positivos menores ou iguais a m que so


relativamente primos com m.
Teorema de Euler: Se m um inteiro positivo e a um inteiro tal que
mdc(a,m)=1, ento
1 (mod m)

Prova: Escrevendo

(m)= { ,

, ...,

, tem-se:

...

(mod m)

Logo,
...

Como mdc(

(mod m)

) =1, pode-se cortar o termo comum dos dois lados,

ento:
1 (mod m)

Processo da criptografia RSA


Aps conhecidos os principais conceitos matemticos envolvidos na
criptografia RSA, mostrar-se- as etapas necessrias para a codificao e
decodificao de uma mensagem.

Pr-codificao

Nessa etapa deve-se converter a mensagem em uma seqncia de nmeros.


Ira-se supor que a mensagem original um texto que no possui nmeros e todas
as letras so maisculas. Logo, a mensagem constituda pelas letras que formam
as palavras e pelos espaos entre palavras.
Na pr-codificao converte-se as letras em nmeros usando uma tabela de
converso:
Quadro 1: Tabela de converso.

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

O espao entre duas palavras ser substitudo pelo nmero 99, quando for
feita a converso. Por exemplo, a frase AMO VOC convertida no nmero
1022249931241214.
Precisa-se ento escolher os parmetros do sistema RSA, que so dois
nmeros primos distintos p e q. E temos a multiplicao deles n. Logo, n= pq.
Agora tem-se que dividir o grande nmero em blocos. Sendo que, esses
blocos devem ser menores que n, porm o bloco no pode iniciar com o nmero
zero. Por exemplo, escolhendo p= 17 e q= 23, ento n= 391. Logo a mensagem
convertida ser dividida em tais blocos: 102 224 99 312 41 214.

Codificao
No processo de codificao precisa-se de n=p.q e de um nmero inteiro
positivo e tal que:
Mdc (e, (p-1)(q-1))=1
O par (n,e) chamado de chave de codificao do sistema RSA, a chave
pblica.
O bloco codificado:
C(b) = resto da diviso de

por n.

Onde b o bloco. Ou seja,


C

No exemplo, temos:

(mod n)

Mdc (e, (p-1)(q-1))=1


Mdc (e, 16.22)=1
Mdc (e, 352)=1 , menor nmero o 3.
Logo, e=3.

Codificando os blocos da mensagem anterior tem-se: o bloco 102 da


mensagem deve ser codificado com o resto da diviso de 102 por 391. Fazendo as
contas, obtm-se: C(102) = 34. Procede-se da mesma maneira com os outros
blocos, conforme segue no quadro 2:

Quadro 2: Codificao de AMO VOC.

b
102
224
99
312
41
214

e
3
3
3
3
3
3

C
34
129
228
12
105
320

n
391
391
391
391
391
391

Desta forma a mensagem codificada ser: 34-129-228-12-105-320.

Decodificao
Como p= 17, q= 23 e e = 3 tem-se:
n= p.q= 391
(p-1)(q-1)= 16. 22= 352
ed 1 (mod 352)

Pelo algoritmo euclidiano


352= 3._+1
1= 352+ (-117). 3
Logo o inverso de 3 mdulo 352 -117. Mas d deve ser >0, logo
d= 352-117= 235
Ento, a decodificao dos blocos ser feita da seguinte maneira:

D (34) = resto da diviso de

Pelo teorema chins do resto:

por 391

Utilizando o Teorema de Fermat II:

11 -12

-3.4 (mod 23)

256

3 (mod 23)

12 (mod 23)

-3. 12

Ento:

Da ltima congruncia segue que

Substituindo na anterior

Como

-36

-13

10 (mod 23)

Como o inverso de 6 mdulo de 17 3, tem-se:

Substituindo:

Obtendo:

Veja no quadro 3 os seguintes resultados gerados pela decodificao:


Quadro 3: Decodificao dos blocos.

C
34
129
228
12
105
320

d
235
235
235
235
235
235

n
391
391
391
391
391
391

b
102
224
99
312
41
214

Logo a mensagem decodificada : 102 224 99 312 41 214. Voltando


ento para a mensagem original.

Por que o mtodo funciona

Todo mtodo criptogrfico s vlido se decodificando um bloco codificado


obtm-se novamente o bloco inicial. No caso do sistema RSA, isto se verifica se
D(c(b)) =b. Ser que isto sempre acontece?
A igualdade pode ser mostrada provando que
D(c(b)) b (mod n),

Pois tanto D(c(b)) quando b esto entre 1 e n-1, e desta forma s podem ser
congruentes mdulo n se forem iguais (isto significa o fato de escolher b menor que
n).
Lembrando que
C(b)

(mod n)

D(c)

(mod n)

Tem-se:
D(c(b))

D( )

Como n=pq, vamos calcular

(mod n)

(mod p) e

(mod q).

Sabe-se que d o inverso de e mdulo (p-1)(q-1), logo


ed 1(mod (p-1)(q-1))

ed= 1+k(p-1)(q-1)
(mod n)

Supondo que p b, pelo teorema de Fermat II:

(mod p)

(mod p)

Se p b, temos que b 0 (mod p) ou seja,

Analogamente,

b(mod q).

b(mod p), qualquer que seja b.

Da tem-se que

- b divisvel por p e q. Como p e q so primos distintos,

isto , mdc(p,q)=1, temos que pq

. Como n=pq, conclui-se que

b(mod n), para todo b

Concluso:

D(c(b))= b.

4. Consideraes finais

O artigo produzido procurou conceituar a matemtica que fundamenta a


criptografia RSA, salientando sua importncia e definindo seus conceitos. Foram
realizadas leituras e discusses acerca do tema criptografia, objetivando perceber a
importncia da criptografia como segurana de redes e os conceitos matemticos
inseridos nela, em seguida, foram realizadas pesquisas que abordassem o assunto
de forma geral, tendo a matemtica apenas como instrumento do processo
criptogrfico.
Tendo em vista a questo de segurana e privacidade, na criptografia RSA,
encontra-se uma inteligncia capaz de garantir essas questes, de tal forma que
possvel fazer um estudo e compreender o mtodo a partir de conceitos
matemticos, inseridos na Teoria dos Nmeros. Assim, visto a exploso do comrcio
eletrnico e a consequente necessidade de assegurar dados nos dias atuais, v-se
a importncia do estudo da criptografia, e aprofundamento da matemtica que
base do funcionamento desse mtodo.
Apesar do estudo de nmeros primos ser bastante antigo, merece a ateno
dos matemticos pelo fato de a segurana do RSA estar na dificuldade em fatorar
um nmero composto, o que no mnimo curioso.
Pelo fato de a pesquisa ser desenvolvida na rea da matemtica aplicada e
por ter como tema a criptografia, entende-se que ela pode ser estendida a todos os
estudantes de matemtica e sistemas de informao, bem como interessados em
segurana de dados em redes.

5. Referncias
BUCHMANN, Johannes. Induo criptografia. So Paulo: Berkeley Brasil, 2002.

BURNET, Steve. Criptografia e segurana. Rio de Janeiro: Campos, 2002.

CAVALCANTE, Andr L.B. Teoria dos nmeros e Criptografia. Disponvel em:


http://system7.upis.br/revistavirtual/Cavalcante_%20Teoria%20dos%20N%FAmeros
%20e%20Criptografia_2005_UPIS.pdf. Acesso em: 23 nov.2010.

COUTINHO, S.C. Nmeros inteiros e criptografia RSA. 2.ed. Rio de Janeiro:


IMPA/SBM, 2000.

COUTINHO, Severino Collier. Criptografia. Programa de iniciao cientfica


OBMEP.

DOMINGUES, Hygino H.. Fundamentos da Aritmtica. So Paulo: Atual, 1991.

GIMENEZ, Jos Roberto Bollis. Implementao do algoritmo RSA. Disponvel em:


http://www.unesp.br/ ~jroberto/rsa.pdf. Acesso em: 01 mai. 2011.

OLIVEIRA, Ednei Rodrigues. Criptografia RSA. Disponvel em:


http://www.ime.unicamp.br.torres/ENSINO/MONOGRAFIAS/ednei_RSA.pdf. Acesso
em: 18 set. 2010.

PIMENTEL, Elaine Gouva. Teoria dos nmeros e criptografia RSA. Minas


Gerais: Abril, 2006.

SILVA, Elen Viviane Pereira da. Introduo a criptografia RSA. Disponvel em:
http://www.impa.br/opencms/pt/eventos/downloads/jornadas_2006/trabalhos/jornada
s_elen_pereira.pdf. Acesso em: 15 out. 2010.

STALLINGS, William. Criptografia e segurana de redes: princpios e prticas. 4.


ed. So Paulo: Pearson Prentice Hall, 2008.