Você está na página 1de 10

A PRESENÇA DA ÁLGEBRA LINEAR E TEORIA DOS NÚMEROS NA

CRIPTOGRAFIA
Sandra Beatris Zatti1
Ana Maria Beltrame2

Resumo
A Criptografia é uma técnica de escrever mensagens cifradas que, ao longo da
História, teve larga aplicação militar. O cidadão comum, contudo, até há pouco tempo, talvez
só tenha ouvido falar em criptografia ao assistir a filmes de guerra ou espionagem. Mais
recentemente, esta técnica passou silenciosamente a integrar o cotidiano, sem que se perceba.
Sistemas de caixas eletrônicos, home-banking, pay-per-view, ou de muitas páginas na Internet
(notadamente as que pedem senha de acesso) utilizam a criptografia como meio de conferir
segurança às suas operações. Embora desnecessário compreender todo o mecanismo
envolvido na sua geração, mostra-se conveniente ao usuário conhecer noções básicas da
criptografia, a fim de poder utilizá-la de modo seguro, já que o futuro – nem tão distante
assim – das comunicações e negócios por via eletrônica se assenta no uso desta nova técnica.
O primeiro livro impresso a abordar o tema intitula-se Poligrafia, publicado em 1510, por um
abade alemão chamado Johannes Trithemius, hoje considerado o pai da moderna criptografia.

Palavras-chave - Criptografia, matrizes

Introdução
Em grego, cryptos significa secreto, oculto. A criptografia costuma ser definida como
a arte de escrever em cifra ou em código, de modo a permitir que somente quem conheça o
código possa ler a mensagem; essa é uma definição que remonta às suas origens artesanais.
Atualmente, a criptografia, que, por sua vez, dado o grau de sofisticação e embasamento
teórico que envolve o seu estudo, é hoje considerada uma ciência, no campo das Ciências
Exatas. E, ao lado das técnicas criptográficas para cifrar a mensagem, o estudo dos métodos
para decifrá-la, sem conhecer a senha, é chamado de criptoanálise, constituindo-se em outra
subdivisão de criptologia.
Convencionado um critério entre o emissor e o receptor, a criptologia torna possível o
envio de mensagens codificadas, incompreensíveis para um terceiro que eventualmente venha
a interceptá-las, mas que poderão ser lidas pelo seu destinatário, que conhece o critério para
decifrar o texto encriptado.
O uso da criptografia não é recente e, ao longo dos tempos, teve larga aplicação
estratégica e militar. A necessidade de enviar mensagens às tropas, que não pudessem ser

1
Aluna do curso de Matemática – UNIFRA
2
Professora do curso de Matemática - UNIFRA
2

compreendidas pelo inimigo, caso o mensageiro caísse em suas mãos, fez desenvolver a arte
de escrever em código.E, evidentemente, fez crescer paralelamente a criptoanálise, arte de
quebrar o código e decifrar a mensagem alheia.
Considera-se que a criptografia seja tão antiga quanto a própria escrita. Há indícios de
que, na Antiguidade, foi conhecida no Egito, Mesopotâmia, Índia e China, mas não se sabe
bem qual foi a sua origem, e pouco se sabe acerca de seu uso nos primórdios da História. Em
Esparta, por volta de 400 a.C., a técnica de escrever mensagens secretas envolvia enrolar, de
forma espiral, uma tira de pergaminho ou papiro ao longo de um bastão cilíndrico. O texto era
escrito no sentido longitudinal, de modo que cada letra fosse inscrita separadamente numa das
voltas da tira de papiro. Desenrolada a faixa, o que se via era uma porção de letras dispostas
sem qualquer sentido. Para ler a mensagem, seria necessário enrolar a tira em um bastão do
mesmo diâmetro daquele em que a mensagem foi escrita, de forma que as letras novamente se
encaixassem na posição original.
Na Roma Antiga, Júlio César utilizava um método para cifrar sua correspondência,
pelo qual cada letra do texto era substituída pela terceira letra subseqüente no alfabeto. Ou
seja, para enviar uma mensagem com os dizeres “ENCONTRO CONFIRMADO PARA
DOMINGO”, mediante o cifrado de Júlio César o texto seria escrito assim:
HQFRQWUR FRQILUPDGR SDUD GRPLQJR
Por também servir ao uso militar há, em certos países, algumas restrições à
criptografia. Nos Estados Unidos, apenas em janeiro de 2000 as proibições de exportar
produtos criptográficos foram relaxadas. Até então, o ITAR (“International Traffic in Arms
Regulation”), lei que estabelece restrições à exportação de equipamentos militares, proibia
não só a venda de lança-chamas, tanques, minas, torpedos, navios e aviões de guerra, mísseis
balísticos ou armas químicas, mas também de softwares e equipamentos para criptografia. O
uso interno da criptografia, no entanto, não é nem foi controlado naquele país, apesar de
várias tentativas governamentais de estabelecer restrições, sempre sob o protesto da
comunidade de defensores de direitos civis.
Dentre os países do mundo democrático, a França era o único a estabelecer regras
rígidas sobre o uso interno da criptografia. Até 1996, o uso da criptografia estava sujeito a
uma prévia declaração, caso fosse utilizada apenas para autenticação ou para assegurar a
integridade de mensagens transmitidas e, nos demais casos (inclua-se aqui proteger o sigilo da
informação), a uma prévia autorização do Primeiro Ministro. Modificações legislativas
posteriores flexibilizaram as restrições, embora afirme Koops [MARCACINI] que “não está
claro em que medida as atuais regras estão sendo aplicadas na prática”, substituindo
3

dificuldades para que indivíduos ou empresas obtenham autorização para utilizar criptografia
forte. A proibição de uso de criptografia potente em território francês tem sido motivo para
acusações várias de espionagem industrial.
Além da França, outro país europeu a adotar restrições é a Federação Russa. A partir de 1995,
foi proibido o uso, o desenvolvimento ou a produção de criptografia não autorizada. As
autorizações, no caso, são emitidas pela FAPSI, sucessora da KGB.

2. DESENVOLVIMENTO
Na linguagem da criptografia, os códigos são denominados cifras, as mensagens não
codificadas são textos comuns e as mensagens codificadas são textos cifrados ou
criptogramas. O processo de converter um texto comum em cifrado é chamado cifrar ou
criptografar e o processo inverso, de converter um texto cifrado em comum é chamado
decifrar.
As cifras mais simples, denominadas de cifras de substituição, são as que substituem cada
letra do alfabeto por uma outra letra. Por exemplo, na cifra de substituição,
comum 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,
na cifra 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. A letra
de texto comum A é substituída por D, a letra de texto comum B por E e assim por diante.
Com esta cifra, a mensagem comum ROMA NAO FOI CONSTRUÍDA EM UM DIA fica
URPD QDR IRL FRKVWUXLGD HP XP GLD.
Uma desvantagem de cifras de substituição é que elas preservam as freqüências de
letras individuais, tornando relativamente fácil quebrar o código por métodos estatísticos.
Uma maneira de superar este problema é dividir o texto em grupos de letras e criptografar o
texto comum por grupo, em vez de uma letra de cada vez.
Cifras de Hill – é uma classe de sistemas poligráficos no qual o texto comum é dividido em
conjuntos de n letras, cada um dos quais é substituído por um conjunto de n letras cifradas. As
Cifras de Hill são baseadas em transformações matriciais.
Daqui em diante, supõe-se que cada letra de texto comum e de texto cifrado, excetuando o Z,
tem o valor numérico que especifica sua posição no alfabeto padrão (Tabela 1). Por motivos
que ficarão claros mais tarde, dá-se a Z o valor de 0.

Tabela 1:
4

A B C D E F G H I J K L M
1 2 3 4 5 6 7 8 9 10 11 12 13

N O P Q R S T U V W X Y Z
14 15 16 17 18 19 20 21 22 23 24 25 0

Nos casos mais simples de Cifras de Hill, transformam-se pares sucessivos de textos
cifrados pelo seguinte procedimento:
Passo 1: Escolhe-se uma matriz 2 × 2
a a12 
A =  11 
 a 21 a 22 

com entradas inteiras para efetuar a codificação. Condições adicionais sobre A serão
impostas mais tarde.

Passo 2: Agrupam-se letras sucessivas do texto comum em pares, adicionando uma letra
fictícia para completar o último par, se o texto comum tem um número ímpar de letras
substitui-se cada letra de texto comum pelo seu valor numérico.

Passo 3: Converte-se cada par sucessivo p1 p 2 de letras de texto comum em um vetor-coluna

p
p =  1
 p2 
e forma-se o produto A ⋅ p . Chama-se p de vetor comum e A ⋅ p o correspondente vetor
cifrado.
Passo 4: Converte-se cada vetor cifrado em seu equivalente alfabético.

Cifra de Hill de uma mensagem

Problema: Obter a Cifra de Hill da mensagem NOITE ESCURA para a matriz codificadora
 1 3
 
 2 1
N O I T E E S C U R A A
14 15 9 20 5 5 19 3 21 18 1 1 (1)
5

Para codificar o par NO efetua-se o par matricial


 1 3 14  59  7  G
   =   =  
 2 1 15  43 17 Q
Aqui tem-se um problema, pois o número 59 não possui equivalente alfabético
(Tabela). Para resolver este problema faz-se o seguinte acordo:
Sempre que ocorrer um inteiro maior do que 25, ele será substituído pelo resto da
divisão deste inteiro por 26. Como o resto da divisão é um dos inteiros 0, 1, 2, ..., 25, este
procedimento sempre fornece um inteiro com equivalente alfabético. Assim, em (1) substitui-
se 59 por 7, que é o resto da divisão de 59 por 26 e obtém-se o texto cifrado GQ da Tabela 1
para NO.
Para codificar o par IT:
 1 3  9   69 17 Q
   =   =  
 2 1  20  38 12 L

Para codificar o par EE


 1 3  5  20 T
   =  
 2 1  5  15 O
Para codificar o par SC:
 1 3 19  82  4  D
   =   =  
 2 1  3   41 15 O
Para codificar o par UR:
 1 3  21  75  23 W
   =   =  
 2 1  18  60  8  H
Para codificar o par AA:
 1 3 1  4 D
   =  
 2 1 1  3 C
Coletando os pares, obtém-se a mensagem cifrada completa GQ QL TO DO WH que seria
normalmente transmitida como uma única cadeia sem espaços: GQQLTODOWH
Como o texto comum foi agrupado em pares e criptografado por uma matriz 2 × 2 ,
diz-se que a Cifra de Hill dos exemplos acima é uma 2-Cifra de Hill. Em geral, agrupar o
texto comum em conjuntos de n letras e codificar com uma matriz codificadora n × n de
entradas inteiras esta cifra é chamada n-Cifra de Hill.
6

Pode-se, também, encontrar de outra maneira a matriz codificada, é o que se vê a


seguir:
Problema: um batalhão do Exército resolveu codificar suas mensagens através da
multiplicação de matrizes.
Solução: primeiramente, associa as letras do alfabeto aos números, segundo a
correspondência abaixo considerada:

A 1 F 6 L 11 Q 16 V 21
B 2 G 7 M 12 R 17 W 22
C 3 H 8 N 13 S 18 X 23
D 4 I 9 O 14 T 19 Y 24
E 5 J 10 P 15 U 20 Z 25
Dessa forma, supõe-se que o batalhão deseja enviar a mensagem “PAZ”, pode-se
P A
tomar uma matriz 2 × 2 , da forma  , a qual, usando-se a tabela acima, será dada por
Z − 

15 1  2 3
M =  . Tomando-se uma matriz-chave C para o código, isto é: C =  ,
25 0 1 2 
transmite-se a mensagem “PAZ” através da multiplicação das matrizes M e C , ou seja:

15 1 2 3  31 47 
M ⋅C =  ⋅ =  ou através da cadeia de números 31 47 50 75.
25 0 1 2 50 75
Nos problemas anteriores, substituem-se os inteiros maiores que 25 pelo resto da
divisão dele por 26. Esta técnica de trabalhar com os restos é a base de uma parte da
Matemática chamada aritmética modular. Devido à sua importância em criptografia podemos
defini-la por: supõe-se dado um inteiro positivo m , chamado módulo, considere-se “iguais”
ou “equivalentes” em relação ao módulo, quaisquer dois inteiros cuja diferença é um múltiplo
inteiro do módulo. Ou seja,

Exemplos: 7 ≡ 2 (mod 5 ) ; 19 ≡ 3 (mod 2) ; 12 ≡ 0 (mod 4)

Dado um módulo m , pode-se provar que qualquer inteiro a é equivalente, módulo m , a


exatamente um dos inteiros: 0, 1, 2, ..., m -1. Este inteiro é chamado o resíduo de a módulo
7

m e nós escrevemos Z m = (0,1,2, L , m − 1) para denotar o conjunto dos resíduos de a


módulo m .
Se a é um inteiro não-negativo, então seu resíduo módulo m é simplesmente o resto da
divisão de a por m . Para encontrar um a arbitrário, faz-se uso do seguinte teorema:

a
Teorema 11.16.1 – Dados um inteiro a e um módulo m, quaisquer, se R = resto de , então
m
o resíduo r de a módulo m é dado por

 R se a ≥ 0

r = m − R se a < 0 e R ≠ 0
 0 se a < 0 e R = 0

(a ) 87
De fato, para encontrar os resíduos módulo 26 de (b) − 38 , faz-se:
(c ) − 26
Solução (a ) :

a
R = resto de
m
Como a > 0 , tem-se: r = R
87 87
R = resto de = resto de , dividindo-se 87 por 26 dá um resto de R = 9 , ou seja, r = 9 .
26 26
Assim, 87 = 9(mod 26)
Solução (b ) :

a
R = resto de
m
Como a < 0 e R ≠ 0 tem-se: r = m − R
− 38 38
r = resto de = resto de , dividindo-se 38 por 26 dá um resto R = 12 ou seja, pelo
26 26
Teorema obtém-se r = 26 − 12 = 14 . Assim, − 38 = 14(mod 26)
Solução (c ) :
a
R = resto de
m
Como a < 0 e R = 0 temos: r = 0 .
8

− 26 26
R = resto de = resto de , dividindo-se 26 por 26 obtém-se um resto R = 0 . Assim,
26 26
− 26 = 0(mod 26) .
Na Aritmética usual, cada número não-nulo a tem um recíproco, ou inverso

multiplicativo, denotado por a −1 , tal que aa −1 = a −1a = 1 .


Já, na Aritmética modular, tem-se o seguinte conceito correspondente:

Definição: Dado um número a em Z m , diz-se que um número a −1 em Z m é um recíproco,

ou inverso multiplicativo de a módulo m se aa −1 = a −1a ≡ 1(mod m) .


Pode ser provado que se a e m não têm fatores primos comuns, então a tem um único
recíproco módulo m ; analogamente, se a e m têm um fator primo comum, então a não tem
recíproco módulo m .
Para uma referência futura, fornece-se a seguinte tabela de recíprocos módulo 26:

Tabela 2 – Recíprocos Módulo 26

a 1 3 5 7 9 11 15 17 19 21 23 25

a −1 1 9 21 15 3 19 7 23 11 5 17 25
(2)

Cada cifra útil deve possuir um procedimento para decifrar. Para decifrar as Cifras de
Hill, usa-se a inversa (mod 26) da matriz codificadora. Ou seja, se m é um inteiro positivo,
pode-se dizer que uma matriz A com entradas em Z m é invertível módulo m se existir uma

matriz B com entradas em Zm tal que AB = BA ≡ I (mod m)


Suponha-se agora que
a a12 
A =  11 é invertível módulo 26 e que esta matriz é usada para uma 2-Cifra de Hill. Se
a 21 a 22 

p 
p =  1  é um vetor comum, então c = A ⋅ p é o correspondente vetor cifrado e p = A −1c .
 p2 
Assim, cada vetor comum pode ser recuperado do correspondente vetor cifrado pela

multiplicação à esquerda por A −1 (mod 26) .


Em Aritmética Modular, uma matriz quadrada é invertível se, e somente se, det A ≠ 0
ou, equivalentemente, det A tem um recíproco.
9

 d − b
A inversa de det A(mod 26) é dada por A −1 = (ad − bc )−1  (mod 26) .
− c a 

9 1 
Então, para se encontrar a inversa de A =   módulo 26, faz-se:
7 2 
det A = ad − bc = 9 ⋅ 2 − 7 ⋅ 1 = 18 − 7 = 11 , de modo que, pela Tabela 2,

(ad − bc)−1 = 11−1 ≡ 19(mod 26)


Assim, por (2) ,

 2 − 1  38 − 19 12 7 
A −1 = 19  =  − 133 171  =  23 15(mod 26)
− 7 9     
Conferindo,
9 1  12 7  131 78 1 0
AA −1 =   = = 
7 2 23 15 130 79 0 1

Analogamente, AA −1 ≡ I (mod 26)


Para decifrar uma Cifra de Hill, que foi criptografada como, por exemplo, a matriz
acima, basta multiplicar-se cada vetor cifrado pela inversa de A e, assim, obtém-se os
equivalentes alfabéticos destes vetores que fornecem a mensagem já decifrada.
Com o advento da revolução industrial, a criptografia evoluiu no sentido de
mecanização e automatização. O uso de códigos secretos, até então quase de uso exclusivo de
militares e diplomatas, foi-se gradualmente difundindo e o campo das suas utilizações
estende-se hoje a fichas médicas em hospitais, a empresas, cuja intenção é preservar
informações técnicas da sua laboração e dos seus equipamentos, às atividades bancárias, ao
tratamento e circulação de dados científicos bem como a salvaguarda de informações em
redes informáticas. Tudo isso faz com que a criptografia seja hoje uma disciplina científica,
ativamente estudada por matemáticos, especialistas em estatística e cientistas ligados a
sistemas informáticos.

Conclusão
O uso da criptografia consiste em evitar violações dos sistemas eletrônicos e proteger
informações sigilosas, garantindo de uma maneira mais segura que informações transmitidas
não serão copiadas, modificadas ou falsificadas. Hoje em dia, o principal impulso para o
desenvolvimento de códigos seguros é dado pelas comunicações confidenciais entre
computadores, em telecomunicações, utilizando a Teoria dos Números e a Álgebra Linear.
Com este trabalho, observa-se a importância tanto do conteúdo de operações modulares
10

(Teoria dos Números) como do produto de matrizes (Álgebra Linear) bem como, a
Matemática Discreta para codificar e decodificar informações sigilosas. A criptografia é hoje
considerada uma ciência no campo das Ciências Exatas, sendo a Teoria dos Números,
Álgebra Linear e a Matemática Discreta as responsáveis por toda a sua parte teórica.

Referências Bibliográficas

COUTINHO,S.C.1997 Números Inteiros e Criptografia RSA.Rio de Janeiro:IMPA,


SBM.
HOWARD,A.e RORRES,C.2001.Álgebra Linear com Aplicações. 8ª ed. Porto Alegre: ed.
Bookmann.

MARCACINI, A. T. R. 2002 Direito e Informática – Uma abordagem jurídica sobre


criptografia. Rio de Janeiro: ed. Forense.

Você também pode gostar