Você está na página 1de 22

Segurança da Informação

Introdução à criptografia

Roadmap
• Terminologia
• Algoritmo criptográfico
• Classificação dos sistemas
criptográficos

Universidade Federal do Ceará


emerson@crateus.ufc.br
Campus de Sobral
Introdução à criptografia

Definição

Tradicionalmente, a criptografia é definida como uma


técnica capaz de tornar uma mensagem incompreensível, de
forma que somente o destinatário legítimo seja capaz de
decifrá-la e compreendê-la.

• Nessa definição tradicional, o principal objetivo da


criptografia é garantir a confidencialidade da comunicação
entre duas entidades quando estas utilizam um canal
inseguro.

2
Introdução à criptografia

Definição

• Atualmente, esse cenário básico não representa todos os objetivos da


criptografia moderna.
• Desde a década de 1970, problemas como:
• Construção de assinaturas digitais não falsificáveis;
• Protocolos tolerantes a falhas;
• Também foram considerados como domínio da criptografia.

Definição moderna

A criptografia é o estudo de técnicas matemáticas relacionadas a aspectos de segurança da


informação, tais como a confidencialidade, integridade de dados, autenticação de entidade e
autenticação da origem dos dados.
3
Introdução à criptografia

Terminologia

• Antes de apresentar outros conceitos relacionados à criptografia, é necessário conhecer o


significado de alguns termos utilizados neta área.

Texto claro Texto cifrado Cifrar Decifrar


Texto original, Texto ilegível, não Transformar texto Transformar texto
escrito em compreensível. claro em texto cifrado em texto
linguagem natural. Exceto para o cifrado; claro;
destinatário, que é
capaz de decifrá-lo; 4
Introdução à criptografia

O conceito de chave criptográfica

No contexto computacional, uma chave é um cadeia de bits usada por um


algoritmo para produzir um texto cifrado ou obter um texto claro a partir de um
texto cifrado.

• Dito de outra forma:


• A chave é simplesmente um valor numérico ou uma string que será utilizada
durante a cifração e decifração de uma mensagem.
• Tecnicamente, o que é usado no algoritmo de cifração é apenas a
representação binária destas strings.
• A mensagem que se deseja cifrar também será representada por uma cadeia
de bits. 5
Introdução à criptografia

Algoritmo criptográfico

• As técnicas criptográficas consistem na utilização de chaves e algoritmos de criptografia.

• Um sistema criptográfico deve ser seguro mesmo que tudo sobre o sistema seja de
conhecimento público, exceto a chave secreta.

• O algoritmo de criptografia • O texto cifrado vai • Mesmo os algoritmos sendo


transforma uma mensagem depender do algoritmo públicos, eles são projetados
clara em uma mensagem criptográfico e da chave para não ser possível chegar
incompreensível. utilizada. texto cifrado. ao texto claro a partir do texto
cifrado. 6
Introdução à criptografia

Terminologia

• As técnicas (ou esquemas) utilizadas para a cifração


constituem a área de estudo conhecida como
criptografia.
• Um esquema é denominado sistema criptográfico ou
criptossistema (ou simplesmente cifra).
• As técnicas empregadas para decifrar uma mensagem
sem qualquer conhecimento dos detalhes de cifração
estão na área da criptoanálise, que é conhecida
popularmente como "quebra do código”.
• As áreas da criptografia e criptoanálise, juntas, são
chamadas de criptologia.

7
Introdução à criptografia

Classificação dos
sistemas criptográficos

8
Classificação dos sistemas criptográficos

• Os sistemas criptográficos são caracterizados de três formas independentes:

O tipo das operações O modo em que o texto O número de chaves


usadas para transformar claro é processado usadas
texto claro em texto cifrado
• Cifra de fluxo • Cifra de simétrica
• Cifra de substituição
• Cifra de bloco • Cifra de assimétrica
• Cifra de transposição (ou
permutação).
9
Classificação dos sistemas criptográficos

Operações usadas para transformar texto claro em texto cifrado

• Todos os algoritmos de criptográficos são baseados em dois princípios gerais.

Substituição.
• Uma técnica de substituição é aquela em que as letras do texto claro são
substituídas por outras letras, números ou símbolos.
• Se o texto claro for visto como uma sequência de bits, então a substituição
envolve trocar padrões de bits de texto claro por padrões de bits de texto cifrado.
Transposição.
• Os elementos no texto claro são rearranjados.

• O requisito fundamental é que nenhuma informação seja perdida para que que todas as
operações sejam reversíveis. 10
Classificação dos sistemas criptográficos

O modo em que o texto claro é processado

Cifra de bloco
• Processa a entrada de um bloco de elementos de cada vez, produzindo um de
saída para cada elemento de entrada.

Cifra de fluxo.
• Uma cifra em fluxo processa os elementos da entrada continuamente,
proporcionando a saída de um elemento de cada vez.

11
Classificação dos sistemas criptográficos

O número de chaves usadas

Cifra simétrica
• Tanto o emissor quanto o receptor utilizarem a mesma chave para cifrar e
decifrar uma mensagem.
• É conhecida também como cifra de chave secreta.
Cifra assimétrica
• O emissor e receptor usarem chaves diferentes. Uma chave é utilizada pra cifrar e
a outra para decifrar.
• As chaves são conhecidas como: chave privada e chave pública.
• É conhecido também como cifra de chave pública. 12
Técnicas clássicas de cifração

Cifra de César

• O esquema de criptográfico mais antigo que se conhece,


remonta aos tempos do Império Romano, feita por Júlio César.

• A técnica ficou conhecida como cifra de César.

• A cifra de César é uma cifra de substituição, em que os


caracteres do texto claro são substituídas por outros
caracteres.

13
Técnicas clássicas de cifração

Cifra de César

• A cifra de César envolve substituir cada letra do alfabeto por aquela que fica três posições
adiante.

14
Técnicas clássicas de cifração

Cifra de César

• Exemplo

• Texto claro : meet me after the party


• Texto cifrado : PHHW PH DIWHU WKH SDUWB

• Alfabeto

• Observe que o alfabeto recomeça ao final de modo que a letra após Z é A.


• Texto claro :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
• Texto 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

15
Técnicas clássicas de cifração

Cifra de César

• Generalizando

• Atribuindo-se um equivalente numérico a cada letra, tem-se.

16
Técnicas clássicas de cifração

Cifra de César

• Generalizando

• O algoritmo para cifração pode ser expresso da forma a seguir:


• Para cada letra em texto claro 𝒑, substitua-a pela letra do texto cifrado 𝑪 .
𝑪 = 𝑬 𝟑, 𝒑 = 𝒑 + 𝟑 𝒎𝒐𝒅 𝟐𝟔

• Um deslocamento pode ser de qualquer magnitude, de modo que o algoritmo de César


geral é:
𝑪 = 𝑬 𝒌, 𝒑 = 𝒑 + 𝒌 𝒎𝒐𝒅 𝟐𝟔

• O valor de 𝒌 assume um valor no intervalo de 1 a 25.

17
Técnicas clássicas de cifração

Cifra de César

• Generalizando

• O algoritmo para decifração pode ser expresso


da forma a seguir:
𝒑 = 𝑫 𝒌, 𝑪 = 𝑪 − 𝒌 𝒎𝒐𝒅 𝟐𝟔

• Se for detectado que determinado texto cifrado


é uma cifra de César, então uma quebra pela
força bruta será facilmente realizada.

• Basta experimentar todas as 25 chaves


possíveis.

18
Técnicas clássicas de cifração

Cifra de César

• Com apenas 25 chaves possíveis, a cifra de César é insegura. Se aumentar o espaço de chaves
possíveis a cifra pode tornar-se mais segura.
• Isso pode ser conseguido permitindo uma substituição arbitrária, por meio de permutação.

Uma permutação é um conjunto finito de elementos em uma sequência


ordenada de todos os elementos, com cada um aparecendo exatamente uma
vez.

• Então haverá 26! chaves possíveis usando nosso alfabeto.


• Essa técnica é conhecida como cifra por substituição monoalfabética, pois um único alfabeto
de cifra (mapeando do alfabeto claro para um alfabeto cifrado) é usado por menagem.
19
Técnicas clássicas de cifração

Cifra de César

• Se em vez da do alfabeto cifrado de César,


a cifra pudesse ser qualquer permutação
de 26 caracteres alfanuméricos então
haverá 26! ou mais de 4 × 1026 possíveis
chaves.
• Isso nos dias atuais evitaria qualquer
técnica de força bruta.
• Porém existe outra linha de ataque —
atacante poderá explorar as frequências
relativas das letras no texto cifrado.

20
Fim!

[Aula 01] Introdução à criptografia


Seminários

Temas

• Cifra de playfair (12/09/2022)


• Cifra de Hill (12/09/2022)
• Cifra de Vigenère (19/09/2022)
• One-time pad (19/09/2022)

• O trabalho será feito em dupla e consiste em: (1) explicar a cifra de forma expositiva,
(2)implementá-la e (3) apresentá-la funcionando.
• Observação: a implementação deve ser feita em Python.

22

Você também pode gostar