Cinco conceitos básicos de criptografia

por Marcos Vidal e Kike Benlloch Castinheira / São João'98


1.- Quatro tipos de ataques a sistemas criptográficos

 

[1] Ataque só com texto criptografado

o criptoanalista conhece todos os textos criptografados que se transmitem.

 

[2] Ataque com texto original conhecido

o criptoanalista conhece algumas parelhas texto original - texto criptografado.

 

[3] Ataque com texto original escolhido

o criptoanalista pode obter o texto criptografado de qualquer texto original que introduza.

 

[4] Ataque com texto criptografado escolhido

o criptoanalista pode obter o texto original de qualquer texto criptografado que introduza.

 

2.- Cinco componentes de um criptosistema

 

M C K E D

 

M mensagens a transmitir

C mensagens criptografadas

K conjunto de chaves a utilizar

E conjunto de funções de criptografado, cada uma com a sua chave

E = { EK : M ® C }

D conjunto de funções de descriptografado

D = { DK : C ® M }

 

Cada método de criptografado há de estar definido mediante um algoritmo e uma chave que distingue cada EK de um EK´.

 

Para uma chave concreta K, interessa-nos que a função DK seja a inversa da função EK (que se possa recuperar a mensagem original): DK(EK(m)) = m " m Î M.

 

3.- Visão geral de um criptosistema

            

É fundamental que as DK sejam fáceis de calcular para que sejam operativas porque se vão usar com muitíssima frequência. Os algoritmos que as implementam hão de ser simples. A seguridade do sistema deve depender do secreto das chaves, e não dos algoritmos de criptografado/descriptografado.

 

4.- Objectivos de um criptosistema

Todo criptosistema deve perseguir a consecução de dous objectivos: seguridade e autenticidade.

 

§ Def.- Seguridade: incapacidade de um criptoanalista para obter o texto original a partir do texto criptografado que possa ter interceptado.

 

O objectivo de seguridade exige dous requerimentos:

 

1º) Desde um ponto de vista computacional, um criptoanalista não pode determinar a transformação do descriptografado DK a partir da mensagem criptografada c ainda conhecendo a mensagem original m.

 

2º) Desde um ponto de vista computacional, um criptoanalista não pode determinar a mensagem original m sistematicamente a partir da só intercepção da mensagem criptografada c.

 

Exemplo: o método clássico da substituição monoalfabética não cumpre nenhum destes dous requerimentos.

 

§ Def.- Autenticidade é a incapacidade por parte de um criptoanalista para substituir um texto criptografado falso c` em troca do texto verdadeiro c sem que o receptor detecte esta circunstância.

 

Actualmente existem dous tipos de criptosistemas segundo a sua utilização e segundo a gerência das funções de criptografado/descriptografado:

 

I) Criptosistema clássico, convencional, simétrico ou de chave privada.

 

Consiste em que a chave para as transformações EK e DK é a mesma, ou no seu defeito, uma é muito fácil de deduzir a partir da outra. Cada usuário vai dispor de uma chave para EK, DK particular de modo que nenhum outro usuário pode conhecê-las. A chave é privada.

 

II) Criptosistema de dobre chave, ou de chave pública [Diffie & Hellman, 1.976]

 

Neste sistema conhecer EK ou DK não revela nenhuma informação acerca da outra. Polo tanto uma dessas chaves pode ser pública. Vantagens: a chave pública pode estar disponível em qualquer lugar para que qualquer pessoa me possa mandar uma mensagem codificada de jeito que só eu poderei decodificá-la, dado que só eu tenho a chave privada.

 

Como funciona este método? Está relacionado com o uso de um número múltiplo de dous primos muito grandes. Dependendo do tamanho dos mesmos, a ruptura do código pode ser computacionalmente inabordável.

 

As bases teóricas da criptografia são a Teoria da Informação (afecta fundamentalmente a todos os sistemas de chave privada), a Teoria de Números (matemática discreta) e a Teoria de Complexidade de Algoritmos.

 

5.- Métodos criptográficos clássicos

 

[1] Substituição Monoalfabética

 

Consiste em substituir uma letra por outra.

 

E(m) = (a·m ± b) % n

% é "módulo" em C

E método de criptografado.

m valor numérico associado à letra da mensagem original.

a constante que determina a distância entre letras.

b constante de desprazamento.

n tamanho do alfabeto (no exemplo típico, 26).

 

Exemplo:

 

A chave b é 3 e a constante a é 1.

 

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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

 

Codificar "ZERO".

 

Z

E

R

O

26

5

18

15

3

8

21

18

C

H

U

R

 

Exemplo:

 

a = 5, b = 15 Þ E(m) = (5·m + 15) % 26

 

codificar A: #A = 1 Þ E('A') = 20 % 26 = 20 Þ #20 = T

 

codificar D: #D = 4 Þ E('D') = 35 % 26 = 9 Þ #9 = I

 

Perguntas típicas:

 

¾ Que acontez se resulta um número negativo?

 

Há que calcular a diferença entre esse número e n.

Por exemplo, a=1, b=-10, codificar 'A': E('A') = (1 - 10) % 26 = -9 ® é 17.

 

¾ Valem quaisquera combinações de parámetros a, b, n?

 

Não. a e n hão de ser primos entre si.

 

Suponhamos que não é assim, e a = 2 e n é 26 (2 e 26 não são primos entre si).

Codificar, com b = 0, as letras 'C' e 'P'.

 

#C = 3 Þ E('C') = (2·3 + 0) % 26 = 6 ® 'C' codifica-se como 'F'.

#P = 16 Þ E('P') = (2·16 + 0) % 26 = 6 ® 'P' codifica-se como 'F'.

Não haveria forma de decodificar F já que não se saberia se corresponde a 'C' ou a 'P'.

 

[2] multialfabeto

chave PEDRO

alfabetos usados:

P q r ...

E f g ...

D e f ...

R s t ...

O p q ...

 

6.- Quer saber mais?

 

"Seguridad y Protección de la Información" [2ª Ed.]

J.L.Morán, A.Ribagorda & J.Sancho

Ed. Templo de Estudios Ramón Areces, 1.994

 

"Comunicación Digital. Teoría Matemática de la Información" [Cap.9 em adiante]

J.Rifâ, U. Huguet

Ed. Masson, 1.991

 


Synapsis Home Page Mais artigos de ciência de computadores Mais artigos em galego-português