Вы находитесь на странице: 1из 16

23

Introduo Criptografia I
Sumrio
23.1 Criptograa . . . . . . . . . . . . . . . . . . . . . . . 23.2 Criptograa RSA . . . . . . . . . . . . . . . . . . . . 23.3 Criptograa RSA . . . . . . . . . . . . . . . . . . . . 23.4 Pr-codicao . . . . . . . . . . . . . . . . . . . . . 23.5 Codicando e decodicando uma mensagem . . . . 2 7 9 9 11

Unidade 23

Criptografia

Estas duas ltimas unidades tratam de uma aplicao da matemtica criptograa. Embora algumas pessoas ainda associem mensagens codicadas a 007 ou outros agentes igualmente secretos, h mais de uma dcada que esta no a aplicao mais importante da criptograa. Isto porque, hoje em dia, uma grande variedade de transaes que envolvem dinheiro so feitas de maneira eletrnica, desde compras por carto de crdito via internet a saques em caixas eletrnicos. A informao referente a estas transaes segue por linha telefnica ou redes de alta-velocidade e, em ambos os casos, est facilmente sujeita a escutas. Se a histria acabasse a, eu seria o primeiro a desejar que os bancos regridissem era do papel! Felizmente, estas informaes no trafegam em aberto pela rede telefnica, elas so codicadas, de modo que s o banco, empresa de carto de crdito ou loja que voc est utilizando consegue ler a informao. Assim, mesmo que algum intercepte a informao com a inteno de esvaziar sua conta, ele no conseguir interpretar suas informaes, que continuaro seguras. Os processos pelos quais informaes enviadas eletronicamente so codicadas depende, de maneira crucial, do uso da matemtica. O mais curioso que at os anos 1960, a teoria dos nmeros, que a parte da matemtica mais utilizada nas aplicaes criptograa, era considerada quase que destituda de utilidade prtica. O que os matemticos entendem como teoria dos nmeros o estudo das propriedades dos

nmeros inteiros,

e no de quaisquer tipos de nmeros. Por

exemplo, questes referentes fatorao de inteiros, ao clculo do mximo divisor comum e ao estudo dos nmeros primos, fazem parte desta teoria. Na verdade, juntamente com a geometria, essa uma das reas mais antigas da matemtica.

23.1 Criptograa
Em grego,

cryptos

signica secreto, oculto. A

criptograa

estuda os mto-

dos para codicar uma mensagem de modo que s seu destinatrio legtimo consiga interpret-la. a arte dos `cdigos secretos'.

Introduo Criptografia I

Unidade 23

O cdigo de Csar
Um dos cdigos secretos mais simples consiste em substituir uma letra do alfabeto pela seguinte. Por exemplo, a mensagem AMO A OBMEP seria codicada como

BN P BP CN F Q.
Um cdigo semelhante a este foi usado, por exemplo, pelo ditador romano Jlio Csar para comunicar-se com as legies romanas em combate pela Europa. Este parece ser o primeiro exemplo de um cdigo secreto de que se tem notcia. Vejamos como codicar uma mensagem simples Cdigos como o de Csar padecem de um grande problema: so muito fceis de `quebrar'. Quebrar um cdigo signica ser capaz de

ler a mensagem, mesmo no sendo seu destinatrio

legtimo. Na verdade, qualquer cdigo que envolva substituir cada letra sistematicamente por outro smbolo qualquer sofre do mesmo problema. Isto ocorre porque a frequncia mdia com que cada letra aparece em um texto de uma dada

lngua

mais ou menos constante. Por exemplo, a frequncia mdia de

cada letra na lngua portuguesa dada na tabela 23.1.

Letra A B C D E F

% 14,64 1,04 3,88 4,10 12,57 1,02

Letra G H I J L M

% 1,30 1,28 6,18 0,40 2,78 4,75

Letra N O P Q R S

% 5,05 10,73 2,52 1,20 6,53 7,81

Letra T U V X Z

% 4,34 4,64 1,70 0,21 0,47

Tabela 23.1: Frequncia das letras no portugus

Assim, apenas contando a frequncia de cada smbolo no texto, podemos descobrir a que letra correspondem os smbolos mais frequentes. Isto geralmente suciente para quebrar o cdigo e ler toda a mensagem. Observe, entretanto, que este mtodo para quebrar o cdigo s funciona bem se a mensagem for longa. fcil escrever uma mensagem curta cuja contagem de frequncia

seja totalmente diferente da contagem de frequncia mdia do portugus. Por exemplo, em Zuza zoou da Zez a letra mais frequente o Z que aparece

Unidade 23

Criptografia

vezes em um texto de

14

letras. Como

5/14 = 0, 35...

a porcentagem do

no

texto acima de cerca de uma s vez, o que d

35%; muito acima dos usuais 0, 47%. J o A aparece uma porcentagem de cerca de 7%; portanto, abaixo dos

14%

usuais.

SUMZFI GCSGC SVZFC LZLSJ EZQSL HIFUI JDZQS LTSRF SGCSJ UOZSZ OJTZL ZOEEO LHMSE ESDSL IECLU ILHCD ZTIFE SZMOJ QCZSU IJPSU OTZZL ZOIFH ZFDST IHFIU SEEIH ITSES FZCDI LZDOA ZTIIG CSDIF JZOJB OZBSO EDITI EIEUI TOQIE GCSSJ BIMBS LECVE DODCO UZITS MSDFZ EUILI IGCSS EDZLIE CDOMO AZJTI HZFZU ITORO UZFSE DZLSJ EZQSL JZBSF TZTSZ MQCJE TIEHF OLSOF IEUIL HCDZT IFSER IFZLU FOZTIE HFSUO EZLSJ DSHZF ZZNCT ZFZGC SVFZFI EUITO QIEES UFSDI ECEZTI EHSMIE ZMSLZSE TCFZJDS ZESQC JTZQC SFFZL CJTOZM SJDFS SEDSE SEDZB ZIUIM IEEICL UILHC DZTIF UIEJD FCOTI JZOJQ MZDSF FZHIF CLZSG COHSM OTSFZ TZHIF ZMZJD CFOJQ CLTIE RCJTZ TIFSE TZUILH CDZUZI UOSJDO ROUZ
Exerccio 1.

Ser que voc notou que o pargrafo acima foi codicado? Use o mtodo de contagem de frequncia para quebrar o cdigo e poder decodicar e ler o pargrafo. Para pontuao.

no

simplicar as coisas, foram eliminados espaos, acentos e

Cdigos em bloco
Por sorte, existe uma maneira simples de tornar invivel a aplicao de uma contagem de frequncia. Para isso, subdividimos a mensagem em blocos de

vrias letras e embaralhamos estes blocos. Por isso este processo de criptografar uma mensagem conhecido como

cdigo de bloco.

Por exemplo, considere a

mensagem AMO A OBMEP. Para codic-la seguiremos os seguintes passos:

eliminamos os espaos e completamos a mensagem com um A no nal, caso tenha uma quantidade mpar de letras;

subdividimos a mensagem em blocos de duas letras;

Introduo Criptografia I

Unidade 23

reetimos cada bloco; permutamos os blocos trocando o primeiro com o ltimo, o terceiro com a antepenltimo, e assim por diante, mas deixando os outros como esto.

Aplicando isto,passo-a-passo, mensagem acima, obtemos primeiro AMOAOBMEPA depois AM-OA-OB-ME-PA em seguida MA-AO-BO-EM-AP e, nalmente, AP-AO-BO-EM-MA que nos d como mensagem codicada APAOBOEMMA
Exerccio 2.

Discuta as seguintes questes com seus colegas: (a) Por que a contagem de frequncia no funciona quando usamos cdigos em bloco? (b) Por que escolhemos acrescentar exatamente a letra A quando a mensagem tem quantidade mpar de letras, em vez de usar, por exemplo, X ou Y? Apesar de cdigos como este serem melhores que o cdigo de Csar, eles apresentam uma grande desvantagem quando se trata de aplicaes comerciais da criptograa. Por exemplo, digamos que resolvo fazer uma compra via web usando o meu computador, em uma loja em que nunca comprei antes. Para isso entro na pgina da loja, escolho os produtos que desejo e, quando estou pronto para comprar, escolho ir para o caixa. O pagamento ser feito usando o meu carto de crdito. Para isso, preciso informar a loja sobre os dados do meu

Unidade 23

Criptografia

carto: geralmente o nmero e a data de vencimento. Mas isto signica que qualquer outra pessoa que tenha estes dados pode fazer compras em meu nome. Para evitar este problema, as informaes sobre o meu carto so codicadas pelo meu computador antes de serem enviadas. Note, contudo, que meu computador no pode usar um cdigo qualquer para codicar estas informaes, porque a loja precisa l-las e, para isso, tem que saber como decodicar a mensagem. Na prtica o que ocorre que o meu computador comunica-se com o da loja, que lhe informa como deve ser feito o processo de codicao. Isto , meu computador codica as informaes do carto de crdito usando um processo de codicao que enviado pela loja. Infelizmente os cdigos de blocos no se prestam a este tipo de aplicao porque o computador da loja usa a linha telefnica (ou de banda larga) qual meu computador esta interligado para enviar o processo de codicao a ser utilizado. Como fcil pr uma escuta na linha, uma outra pessoa pode facilmente descobrir como meu computador vai codicar as informaes sigilosas que sero enviadas loja. Usando a mesma escuta fcil interceptar tambm as mensagens que contm os dados do carto. Mas isto basta porque, se sabemos como foi feito o embaralhamento dos blocos, podemos facilmente desfaz-lo e ler os dados do carto! A nica maneira de contornar este problema ter acesso ao que conhecido como um

canal seguro:

uma maneira secreta de fazer a informao sobre o

processo de codicao chegar at o computador do usurio da loja. Talvez a loja pudesse mandar, pelo correio registrado, um carto especial com os dados a serem usados para a codicao. O problema que isto tornaria a transao lenta, j que seria necessrio esperar dias pela chegada do cartonesse meio tempo eu talvez preferisse escolher uma loja real, mesmo que fosse longe da minha casa. E ainda h outro problema, mais srio. Se o meu computador for invadido por um `hacker', o processo de codicao ser descoberto e qualquer mensagem enviada com ele poder ser lida.

Cdigos de chave pblica


As diculdades que relacionamos acima parecem condenar de maneira irremedivel a possibilidade de fazer transaes pela web. Anal, seja qual for o cdigo utilizado, se sabemos como fazer a codicao, basta desfaz-la e

Introduo Criptografia I

Unidade 23

decodicamos a mensagem. Ou no? De fato, isto basicamente verdade; mas h um porm. Acontece que podemos imaginar um processo que seja fcil de fazer mas muito difcil de desfazer e, ao utiliz-lo para criptografar uma mensagem, estaramos garantindo que quem a interceptasse, mesmo sabendo como foi codicada, teria um trabalho enorme em decodic-la. Abusando um pouco da fantasia, podemos imaginar que o

trabalho de desfazer o processo levasse tanto tempo que ningum conseguisse p-lo em prtica. claro que quo difcil ser desfazer o procedimento depende dos recursos disponveis a quem interceptou a mensagem. Vejamos um exemplo. Voc j viu uma dessas armadilhas usadas para pescar lagostas? Elas consistem de uma gaiola com uma porta fechada atrs e uma entrada para a lagosta na frente. O segredo est na entrada, que tem a forma de um funil: larga na parte externa e cada vez menor medida que a lagosta vai entrando na gaiola. A lagosta ca presa na gaiola porque, para poder sair, teria que encontrar e passar pela parte estreita do funil, que um problema complicado demais para uma lagosta, cujo crebro tem o tamanho aproximado de uma ervilha. No preciso dizer que uma armadilha desse tipo no funcionaria para pegar um macaco, nem mesmo um passarinho. Muito interessante, mas que problema matemtico satisfaz esta condio de ser fcil de fazer e difcil de desfazer, para que possamos utiliz-lo em criptograa? Isto o que veremos na prxima seo. Por enquanto, vamos j que o

s observar que tais cdigos so conhecidos como de

chave pblica,

processo (ou chave) de codicao pode ser conhecido de qualquer um sem comprometer a segurana do cdigo.

23.2 Criptograa RSA


O mais conhecido dos mtodos de criptograa de chave pblica o RSA. Este cdigo foi inventado em 1977 por R. L. Rivest, A. Shamir e L. Adleman, que na poca trabalhavam no Massachussets Institute of Technology (M.I.T.), uma das melhores universidades americanas. As letras RSA correspondem s iniciais dos inventores do cdigo. H vrios outros cdigos de chave pblica, mas o RSA continua sendo o mais usado em aplicaes comerciais.

Unidade 23

Criptografia RSA

O mtodo RSA
A descrio completa do funcionamento do RSA justamente o tema desta apostila. Para entender como funciona precisaremos estudar vrias idias e

tcnicas novas de matemtica. Nesta seo explicaremos apenas o suciente sobre o RSA para que voc entenda como possvel um problema ser fcil de fazer e difcil de desfazer. Isto tambm nos ajudar a identicar os proble-

mas matemticos que precisaremos abordar para poder discutir os detalhes do funcionamento do RSA. Digamos que voc vai criar uma implementao do RSA para uma determinada loja, que vai us-lo na codicao de dados de clientes usados em compras pela internet. Para comear, voc precisa escolher dois nmeros

pri-

mos distintos

e multiplic-los, obtendo um nmero inteiro

n.

A loja manter

secreta a informao sobre quais so os primos escolhidos, porque isto que necessrio para decodicar as mensagens enviadas usando a verso do RSA que voc est construindo. J

n vai ser enviado para o computador de qualquer

pessoa que compre nessa loja pela web, porque dele que o computador do usurio necessita para codicar os dados sobre o do carto de crdito e envi-los ao computador da loja. Portanto, no caso do RSA, o problema fcil de fazer e difcil de desfazer simplesmente multiplicar dois primos. J consigo imaginar voc pensando: S isso? Mas para desfazer o problema basta fatorar o nmero e achar os primos! verdade, mas h um detalhe que esqueci de contar: esses nmeros primos sero muito, muito grandes. Na prtica uma chave segura de RSA gerada a partir de nmeros primos de cerca de 100 algarismos cada, de forma que o produto destes primos, ter cerca de

n, que

200

algarismos. Acontece que, como

veremos na prxima unidade, podem ser necessrios zilhes de anos para fatorar um nmero deste tamanho e achar seus fatores primosmesmo se usarmos os mais poderosos computadores existentes atualmente. Resumindo:

para implementar o RSA escolhemos dois primos distintos muito grandes

e calculamos o produto

n = p q;

Introduo Criptografia I

Unidade 23

para codicar uma mensagem usamos

n; p
e

para decodicar uma mensagem usamos pode ser tornado pblico; e

q;

n p

precisam ser mantidos em segredo;

quebrar o RSA consiste em fatorar grande.

n,

que leva muito tempo se

for

23.3 Criptograa RSA


chegada a hora de reunir tudo o que zemos anteriormente, na descrio do mtodo RSA. A descrio do RSA propriamente dita consiste em explicitar as receitas usadas para codicao e decodicao de mensagens. Isto fcil de fazer, uma vez que depende apenas do clculo dos resduos de potncias, assunto de que j tratamos com detalhes anteriormente. Lembre-se, contudo, que decodicar signica passar da mensagem codicada mensagem original. Por isso, nossa misso neste captulo no se resume a descrever as receitas de codicao e decodicao; precisamos tambm vericar que

se aplicadas nesta

ordem voltamos a obter mensagem original.


de que serviria este mtodo de criptograa?

Anal, se isto no fosse verdade,

23.4 Pr-codicao
Como dissemos acima, o que fazemos para codicar uma mensagem no RSA calcular sua potncia mdulo escolhido.

relativamente a um expoente especialmente

Entretanto, para que isto seja vivel, a mensagem deve ser um Mas no isto o que ocorre em geral: a maior parte das

nmero inteiro.

mensagens um texto. Por isso, a primeira coisa a fazer, se desejamos usar o mtodo RSA, inventar uma maneira de converter a mensagem em uma sequncia de nmeros. Suporemos, para simplicar, que a mensagem original um texto onde no h nmeros, apenas palavras, e no qual todas as letras so maisculas.

Unidade 23

Pr-codificao

Portanto, em ltima anlise a mensagem constituda pelas letras que formam as palavras e pelos espaos entre palavras. Chamaremos esta primeira etapa de

pr-codicao, para distingui-la do processo de codicao propriamente dito.


Na pr-codicao convertemos as letras em nmeros usando a seguinte tabela de converso:

A 10 N 23

B 11 O 24

C 12 P 25

D 13 Q 26

E 14 R 27

F 15 S 28

G 16 T 29

H 17 U 30

I 18 V 31

J 19 W 32

K 20 X 33

L 21 Y 34

M 22 Z 35

O espao entre duas palavras ser substitudo pelo nmero a converso. Por exemplo, a frase

99,

quando for feita

AMO A OBMEP

convertida no nmero

1022249910992411221425
Observe que precisamos fazer cada letra corresponder a um nmero de, pelo menos,

dois algarismos para evitar ambiguidades. Se zssemos A corresponder ao nmero 1, B ao 2, e assim por diante. no teramos como saber se 12 representa AB ou L, j que esta ltima a dcima segunda letra do alfabeto.
Antes de continuar precisamos determinar os parmetros do sistema RSA

parmetros so dois primos distintos, que vamos denotar por p e q , e cujo resto na diviso por 6 tem que ser 5. A razo para esta estranha
que vamos usar. Estes condio ser explicada na primeira seo Por que funciona? da Unidade 24. Em seguida, ponha

n = pq .

A ltima fase do processo de pr-codicao

consiste em quebrar em blocos o longo nmero produzido anteriormente. Estes blocos devem ser nmeros e

menores que n.

Por exemplo, se escolhermos

p = 17

q = 23,

ento

n = 391.

Neste caso, a mensagem, cuja converso numrica

foi feita acima, pode ser quebrada nos seguintes blocos:

102 224 99 109 92 41 122 142 5


A maneira de escolher os blocos no nica e os blocos no precisam sequer ter o mesmo tamanho. Contudo, certos cuidados devem ser tomados. Por

exemplo, no permitido escolher um bloco que comece por

porque isto

10

Introduo Criptografia I

Unidade 23

traria problemas na hora de decodicar, j que, por exemplo, no temos como distinguir o bloco

071

do bloco

71.

Observe que os blocos em que quebramos a mensagem

no

correspondem

a nenhuma unidade lingustica, seja ela palavra, letra ou qualquer outra. Isto muito bom, porque torna a decodicao por contagem de frequncia essencialmente impossvel.

23.5 Codicando e decodicando uma mensagem


codicao propriamente dita. Para codicar a mensagem precisamos apenas de n, que o produto dos primos. Diremos que n a chave de codicao. do sistema RSA que estamos usando. Esta chave pode ser tornada pblica; isto , podemos envi-la a qualquer um que queira nos mandar uma mensagem, sem preocupao de mant-la secreta. Por isso a chave de codicao tambm conhecida como chave pblica do sistema.
Encerramos assim a pr-codicao, e podemos passar etapa de Supondo que j submetemos a mensagem pr-codicao, temos uma sequncia de nmeros que, como na seo anterior, chamaremos de

blocos.

Codicaremos cada bloco separadamente. A mensagem codicada ser a sequncia dos blocos codicados. codicados os blocos Isto muito importante porque depois de

no podem mais ser reunidos de modo a formar um longo


da Unidade 24, na qual discutiremos o

nmero. Se isto for feito, ser impossvel decodicar a mensagem, como car claro na seo Por que funciona? funcionamento do RSA.

Exerccio 3.

Usando os nmeros primos 5, 11, 17, 23, 29, 41, 47, 53 e 59, construa uma chave pblica para voc utilizar na codicao de mensagens RSA para seus colegas.

11

Unidade 23

Codificando e decodificando uma mensagem

Codicao
Digamos, ento, que a chave de codicao

n.

Como faremos para codi-

b denotar o bloco codicado por C(b).


car um bloco Lembre-se que

b?

um inteiro positivo menor que A receita para calcular

n.

Vamos

C(b) a seguinte:

C(b) =

resto da diviso de

b3

por

n. b3
mdulo

Observe que, em termos de aritmtica modular,

C(b)

o resduo de

n.

Na verdade, como

b > 0,

o nmero

C(b)

mesmo o

resto

da diviso de

b3

por

n.
Vejamos o que aconteceria no exemplo que estamos considerando. Temos Assim, o bloco

n = 391.

102
por

da mensagem anterior deve ser codicado como

o resto da diviso de

102

391.

Fazendo as contas, obtemos

C(102) = 34.

claro que, para simplicar nosso trabalho, executamos a conta calculando o resduo de

1023

mdulo

391: (mod 391).

1023 1022 102 238 102 24276 34

Codicando toda a mensagem passo-a-passo, temos o seguinte:

2243 2242 224 128 224 129 993 992 99 26 99 228 923 922 92 253 92 207 413 412 41 117 41 105 1223 1222 122 26 122 44 1423 1422 142 223 142 386 53 52 5 25 5 125 1093 1092 109 151 109 37

(mod 391)

(mod 391) (mod 391) (mod 391) (mod 391) (mod 391) (mod 391)

(mod 391)

Reunindo todos os blocos, descobrimos que a mensagem codicada

34 129 228 37 207 105 44 386 125


Exerccio 4.

Use a chave pblica que voc construiu no exerccio 3 para codicar seu nome. Escreva a chave e a mensagem em um papel. Os papis devero ser

reunidos, embaralhados e sorteados entre os alunos para o prximo exerccio.

12

Introduo Criptografia I

Unidade 23

Decodicao
Vejamos como fazer para decodicar um bloco da mensagem codicada. Em outras palavras, queremos saber qual a receita que nos permite, de posse de um bloco codicado e da chave pblica, reconstruir o bloco original, antes da codicao. A informao que precisamos para poder decodicar consiste de dois nmeros:

e o inverso

d>0

de

mdulo

(p 1)(q 1).

Pela denio de inverso isto

signica que devemos ter

3d 1

(mod (p 1)(q 1)).

A explicao de onde saiu este nmero misterioso voc encontrar na prxima

(n, d) de chave de decodicao. Esta chave tem que ser mantida secreta. Quem a descobrir vai poder decodicar qualquer mensagem endereada a voc. De posse do par (n, d), como devemos proceder para decodicar uma mensagem? Se a for um bloco codicado, denotaremos por D(a) o resultado do processo de decodicao do bloco a. A receita para calcular D(a) a seguinte:
seo. Chamaremos o par

D(a) = resto

da diviso de

ad

por

n.
mdulo

Em termos de aritmtica modular, caso da codicao, o bloco diviso de

D(a) o resduo de ad

n.

Como no

a positivo e este resduo coincide com o resto da

bd

por

n.

Note que, ao chamarmos o processo acima de

decodicao, estamos assub

mindo um compromisso importante, que o de mostrar que ao decodicar um bloco codicado, obtemos o bloco original. Dizendo de outra maneira, se

um bloco da mensagem original, s ser legtimo chamar o processo acima de decodicao se

D(C(b)) = b.
No de forma alguma bvio que isto verdade: a demonstrao de que esta igualdade realmente vlida dada em detalhes na seo Por que funciona? da Unidade 24. Alguns comentrios so necessrios antes de fazermos um exemplo. primeiro lugar, muito fcil calcular Em e

d.

Como estamos supondo que

13

Unidade 23

Codificando e decodificando uma mensagem

deixam resto

na diviso por

6,

temos que e

p5
Assim,

(mod 6)

q5

(mod 6).

(p 1)(q 1) 4 4 16 4 2
donde

(mod 6);

(p 1)(q 1) = 6 k 2,
para algum inteiro positivo a

k.

Contudo, o inverso de

mdulo

6k2

igual

4 k 1.

Logo, podemos tomar

d = 4 k 1.
No exemplo que vimos considerando

p = 17

q = 23,

de forma que

(p 1)(q 1) = 16 22 = 352 = 6 58 + 4
que igual a

(p 1)(q 1) = 6 59 2.
Portanto, neste caso,

k = 59

d = 4 59 1 = 235.
Aplicando a receita dada anteriormente ao primeiro bloco da mensagem codicada, temos que

D(34)

igual ao resto da diviso de

34235

por

n = 391.

Efetuar esta conta sem um computador seria totalmente impossvel, se no tivssemos o algoritmo chins do resto e o teorema de Fermat. Calculemos

34235

mdulo

17

e mdulo

23,

que so os primos em que

se

fatora. Para comeo de conversa,

34 0 34 11
Assim,

(mod 17) (mod 23)

34235 0235 0

(mod 17).

Aplicando o teorema de Fermat outra congruncia,

11235 (1122 )10 1115 1115

(mod 23).

14

Introduo Criptografia I

Unidade 23

Mas

1115 1217 11 67 11
Por outro lado,

(mod 23).

67 11 (23 3)2 2 34 33 2 12 33 33 10
Portanto,

(mod 23).

34235 0 34235 10

(mod 17) (mod 23).

Isto corresponde ao sistema

x0 x 10

(mod 17) (mod 23),

que podemos resolver utilizando o algoritmo chins do resto. Da segunda congruncia, obtemos

x = 10 + 23y
que, ao ser substitudo na primeira congruncia, nos d

10 + 23y 0
Assim,

(mod 17).

6y 7
Mas,

(mod 17).

tem inverso

mdulo

17,

de forma que

y 374
Portanto,

(mod 17).

x = 10 + 23y = 10 + 23 4 = 102;
como seria de esperar, anal estamos decodicando codicao do bloco

34,

que corresponde

102.

15

Unidade 23

Codificando e decodificando uma mensagem

Exerccio 5.

Decodique os demais blocos da mensagem

34 129 228 37 105 44 386 125


usando o procedimento acima.
Exerccio 6.

Fatore a chave pblica que voc recebeu quando fez o exerccio 4, calcule

e decodique a mensagem para saber de quem ela veio.

16

Вам также может понравиться