Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à Criptografia: Métodos Clássicos e Modernos, Manuais, Projetos, Pesquisas de Criptografia e Segurança de Rede

Métodos de criptografa, conceitos e definições

Tipologia: Manuais, Projetos, Pesquisas

2020

Compartilhado em 17/09/2020

lab-desafio
lab-desafio 🇧🇷

5

(2)

9 documentos

1 / 32

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Inserir Título Aqui
Inserir Título Aqui
Métodos Criptográficos
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Pré-visualização parcial do texto

Baixe Introdução à Criptografia: Métodos Clássicos e Modernos e outras Manuais, Projetos, Pesquisas em PDF para Criptografia e Segurança de Rede, somente na Docsity!

Inserir Título Aqui

Inserir Título Aqui

Métodos Criptográficos

Nesta unidade, trabalharemos os seguintes tópicos:

**- Introdução;

  • Entender e Diferenciar os Métodos Criptográficos;
  • Métodos de Substituição;
  • Cifras de Transposição;
  • A Cifra de Vigenère;
  • Técnicas Modernas de Criptografia;
  • Métodos Assimétricos de Criptografia.**

Fonte: Getty Images

Objetivo

  • Entender e diferenciar os métodos criptográficos para saber qual deles deve ser utilizado de acordo com à aplicação. Sendo esses os métodos: simétrico, assimétrico, tipos de cha- ve, pública ou privada, entendo ainda como e quando utilizar hash em aplicações.

Caro Aluno(a)!

Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o úl-

timo momento o acesso ao estudo, o que implicará o não aprofundamento no material

trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas.

Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você

poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns

dias e determinar como o seu “momento do estudo”.

No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões

de materiais complementares, elementos didáticos que ampliarão sua interpretação e

auxiliarão o pleno entendimento dos temas abordados.

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de

discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de

propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de

troca de ideias e aprendizagem.

Bons Estudos!

Métodos Criptográficos

Introdução

Desde a Antiguidade, o homem tem usado de diversas técnicas para proteger a sua

informação. A história que será contada a seguir demonstra uma forma de proteção da

informação que foi utilizada no tempo do Império Romano.

Certa vez, um comandante do Império Romano precisava enviar uma mensagem

importante para outro comandante, que estava muito distante, cuidando de um grande

regimento do exército Romano.

O comandante que precisava mandar a mensagem tinha poucos soldados à sua dis-

posição e o caminho até o local onde o outro comandante estava era cheio de perigos e

exércitos rivais. Contudo, esse primeiro comandante tinha um soldado que se destacava

quanto à sua coragem e rapidez no avanço dentro das linhas inimigas, definindo-o como

o portador da mensagem. Mas havia um problema: caso fosse capturado, como a men-

sagem seria protegida ou ocultada?

O comandante que enviaria a mensagem teve uma ideia. Como não havia urgência

no envio dessa, ele chamou o soldado e um tatuador para o seu quartel. A cabeça do

soldado foi raspada e a mensagem foi tatuada em sua cabeça. Depois, o soldado deixou

seu cabelo crescer. Quando a mensagem tatuada foi coberta pelo seu cabelo, então o

soldado pode deixar o seu quartel e levar a mensagem para o seu receptor.

Quando o soldado chegou ao destino, sua cabeça foi raspada e a mensagem recuperada.

O grande problema dessa história é que o soldado poderia, a qualquer momento,

PERDER A CABEÇA!

Essa técnica é chamada de esteganografia. Ela não é exatamente um método crip-

tográfico, pois não codifica a mensagem, mas dá a ideia da importância de se proteger

uma informação.

Os métodos criptográficos foram usados ao longo dos tempos para proteger informa-

ções. Os criptógrafos sempre criaram métodos mais sofisticados e difíceis de serem que-

brados e os criptoanalistas sempre buscaram formas de quebrar esses métodos e as cifras

criadas. Foi sempre uma briga de gato e rato.

Esta unidade mostrará uma série de métodos criptográficos, desde os mais clássicos

e manuais até os métodos mais modernos, usados em computadores.

Serão abordados os seguintes tópicos:

  • (^) Entender e diferenciar os métodos criptográficos;
  • (^) Cifras de substituição;
  • (^) Cifras de transposição;
  • (^) Cifra indecifrável de Vigenère;
  • (^) Métodos simétricos eletrônicos: DES; 3DES; AES.
  • (^) Métodos assimétricos: Criptografia de chave pública; RSA; Função de Hash.

Prepare-se para uma imersão nas técnicas que protegeram a informação ao longo

dos tempos, pois aqui a informação vai da teoria à prática.

UNIDADE

Métodos Criptográficos

Entender e Diferenciar

os Métodos Criptográficos

Criptografar ou codificar uma mensagem é sempre uma forma de proteger a infor-

mação. Mas isso pode ser feito de diversas maneiras. Uma informação simples e pesso-

al, informada em uma carta, pode ser criptografada de forma manual.

Isso pode ser feito utilizando-se técnicas clássicas, como a substituição e a transposição.

Demonstraremos rapidamente um exemplo de Cifra de Substituição. Utilizaremos

um exemplo em que cada letra é trocada pela letra seguinte do alfabeto. Por exemplo, a

palavra diploma seria transformada da seguinte forma:

D → E I → J P → Q L → M O → P M → N A → B

Então, a palavra DIPLOMA será transmitida como EJQMPNB, tornando sua com-

preensão bem difícil para uma pessoa que não tiver a chave criptográfica.

Agora, mostraremos a criptografia do termo DIPLOMA NOVO CRUZEIRO DO SUL

utilizando um Método de Transposição, conhecido como método das colunas. No nosso

exemplo, distribuiremos o texto em colunas, como pode ser visto a seguir:

D L A V R E O S I O N O U I D U P M O C Z R O L

A mensagem é, então, transmitida da seguinte forma: DLAVREOS IONOUIDU

PMOCZROL. A chave dessa mensagem é de 3 LINHAS e 8 COLUNAS. Essa mensa-

gem é simples de ser descoberta em uma análise mais detalhada, mas esse método é

mais complexo do que as cifras comuns de substituição. Nesta unidade, detalharemos

mais cada um desses métodos.

Esses foram exemplos de cifras manuais. No caso das cifras eletrônicas, elas são usa-

das para criptografar maiores quantidades de informação. Por exemplo, o método DES

realiza 18 etapas de cifragem na informação original. Já a cifra 3DES realiza 3 ciclos do

método DES, totalizando 48 ciclos de cifragem na informação, aumentando considera-

velmente a segurança da informação.

No caso das técnicas de criptografia de chave pública, são usadas transformações que

envolvem números primos e matemática modular, auferindo alto nível de segurança, a

partir da geração de um par de chaves, sendo essas chaves diferentes e responsáveis

pela cifragem e decifragem das informações e com a garantia de que a chave que cifra

é diferente da chave que decifra a informação.

UNIDADE

Métodos Criptográficos

Cifras Monoalfabéticas

Nesse tipo de método de substituição, cada letra do alfabeto corresponde a um sím-

bolo distinto. Agora, a substituição não precisa seguir a sequência do alfabeto apenas

deslocado de uma quantidade fixa de posições.

O exemplo da Tabela 3 mostra dois exemplos de cifras monoalfabéticas, onde cada

letra do alfabeto original corresponde a uma letra ou símbolo fixo.

Tabela 3 – Cifras Monoalfabéticas

ALFABETO

ORIGINAL

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

CIFRA 1 L^ N^ M^ A^ X^ Y^ O^ P^ B^ K^ Q^ J^ R^ D^ I^ U^ S^ C^ H^ V^ T^ E^ Z^ G^ W^ F

CIFRA 2 O^ N^ M^ R^ S^ V^ Q^ Z^ T^ U^ O^ #^ @^!^ *^ >^ ^ A^ K^ P^ A^ B^ W^5 3

Agora, utilizaremos as duas cifras para codificar a palavra ALUNO.

Pela cifra 1, a palavra codificada é LJTDI e, pela cifra 2, a palavra codificada é O#A!*.

De maneira geral, esse tipo de codificação obriga que o remetente e o destinatário

conheçam e gravem a chave que gera o código em algum meio (por exemplo, escrevendo

em um papel) e escondam a anotação em um local seguro. Essa solução é considerada

sensível, porque a anotação pode, em algumas situações, cair nas mãos do inimigo.

Idealmente, os dois atores deveriam MEMORIZAR a cifra. Mesmo assim, os atores

podem ser forçados a revelar a chave se forem coagidos.

É muito simples gerar cifras monoalfabéticas genéricas, como é o caso da Figura 3.

No entanto, é complexo memorizar qualquer uma destas cifras, pois elas não têm uma

Lei de Composição, como é o caso do Código de César.

Para definir uma boa cifra monoalfabética, você deve buscar duas qualidades:

  • (^) A cifra deve ser complexa o suficiente para dificultar a sua interpretação;
  • (^) A cifra deve ser construída de forma que seja possível guardar a chave de constru-

ção na memória.

Existem diversos outros tipos de cifras de substituição. As cifras apresentadas aqui

são as mais comuns e utilizadas ao longo da história da criptografia. Na sequência, serão

apresentadas as cifras de transposição.

Substituição Homofônica

Durante toda a história da Criptografia, sempre houve uma reação dos criptoanalistas

a cada novo método que era criado para a cifragem da informação. Por isso, para as ci-

fras clássicas de substituição, foi desenvolvido um método eficaz de quebra dos códigos,

chamado Análise de Frequências.

Nesse método, assume-se que cada letra tem uma probabilidade percentual de apa-

recimento em um texto, o que levou os criptoanalistas a desenvolverem métodos que

funcionam como algoritmos de quebra dos códigos criptográficos. Discutiremos sobre

a quebra dos métodos criptográficos em outra unidade desta disciplina, mas vale esse

registro para introduzir o próximo método, que é a Substituição Homofônica.

Esse método é uma reação da criptografia à análise de frequências. A ideia era evoluir,

a partir da substituição monoalfabética, para um método em que fosse possível anular as

diferenças entre a frequência dos símbolos que pudessem orientar a decifragem.

A fórmula encontrada pelos criptógrafos foi associar a cada consoante apenas um sím-

bolo e, para cada vogal, quatro ou cinco símbolos distintos. E, além disso, para aumentar

o grau de segurança e eficácia do método, foram introduzidos símbolos que não signifi-

cavam nada, para dificultar o processo de decifragem por quem não conhecia o método.

O exemplo da Tabela 4 mostra a substituição homofônica aplicada:

Tabela 4 – Código de substituição homofônica

CONSOANTES B C D F G H J K L M N P Q R S T V W X Y Z

SUBSTITUIÇÃO U X T H $ N ϕ A V θ Π E λ P L Q ∑ W S Y I

LETRAS A E I O U NULOS

SUNSTITUIÇÃO R D & # @ Ω^ B F Θ^ M ε^ ∇^ Z O C ∆^ J ∪^ α^ β

Agora, imagine que você está em uma guerra e precisa enviar a seguinte mensagem

para um grupamento de combate:

ENVIEM TANQUES HOJE → @ΠJ∑FΩθαQRΠλOBLN∪εϕ@ Mensagem Original mensagem cifrada

Como forma de verificação da efetividade do método, podemos citar que, na mensa-

gem original, a letra E aparece 4 vezes. De acordo com as regras do código, essa letra

é cifrada pelos 3 símbolos correspondentes (@, Ω, B, @), na ordem em que aparecem.

Percebam que o símbolo @ aparece duas vezes, porque voltamos ao início da sequência

correspondente à letra E.

Os símbolos nulos também são introduzidos aleatoriamente na mensagem cifrada.

Quem recebe a mensagem e conhece o código deve retirar esses símbolos no processo

de decifragem.

Esse método é eficiente contra a análise de frequências.

Cifras de Transposição

Nas cifras de substituição vistas anteriormente, pode-se verificar que a característica

comum é a substituição linear de caracteres, ou seja, cada caractere é substituído por ou-

tro, mas o formato do código não é alterado, por exemplo, da horizontal para a vertical.

As cifras de transposição mudam essa lógica, ao apresentarem diversos formatos

diferentes em suas codificações ou cifras.

Agora, o código está pronto para a Transposição. Letra por letra, os blocos são

transcritos sequencialmente nas linhas da tabela 5, de dimensões 7x5, sendo um bloco

em cada linha.

Tabela 5 – Tabela espartana

A T A Q U E M O I N I M I G O P E L O D E S F I L A D E I R O A B C D

Agora, a mensagem está pronta para ser criptografada. A mensagem deve ser trans-

crita com as letras em sequência em que aparecem nas colunas. Dessa forma, a mensa-

gem cifrada ficará assim:

AEIPEAOTMMESDAAOILFEBQIGOIICUNODLRD

O destinatário B, ao receber a mensagem acima e conhecendo que a chave é a Ta-

bela Espartana com chave 7x5, tem condições de reconstruir a tabela original e decifrar

a mensagem.

A Cifra de Vigenère

Na época dos métodos clássicos de criptografia, a análise de frequências sempre foi o

método de criptoanálise mais eficiente contra as cifras de substituição e de transposição.

Sabendo disso, faz sentido a seguinte pergunta: Por que não associar de uma vez

várias cifras distintas a cada letra? Essa seria uma solução consistente para a análise de

frequências, mas haveria uma dificuldade na organização. Isso se deve ao fato de que a

chave que permite a cifragem e a decifragem deve atender ao quesito usabilidade.

A proposta de uma nova cifra que fosse imune à análise de frequências ocorreu em

1586 e foi chamada de Cifra de Vigenère. A cifra de Vigenère é um método de Substi-

tuição Polialfabética, sendo uma reação à análise de frequências.

A nova cifra criada entusiasmou os criptógrafos, a ponto de ser chamada de “Cifra

Indecifrável”. Essa cifra correspondeu bravamente à essa fama durante 286 anos, quan-

do o inglês Charles Babbage conseguiu quebrar a cifra.

Descrevendo esse método, podemos dizer que se trata de um sistema polialfabético

ou de substituição múltipla, cuja estrutura é formada por uma tabela no formato de uma

matriz, com 27 linhas e 27 colunas.

A primeira linha e a primeira coluna representam o alfabeto original e servem para

orientar o processo de cifragem. Na parte interna da tabela, temos os 26 Códigos de

César, aplicados sucessivamente, linha a linha e coluna a coluna.

UNIDADE

Métodos Criptográficos

A Tabela 6 mostra a Cifra de Vigenère.

Tabela 6 – Cifra de Vigenère

A 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

A 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

B 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^ a

C c^ 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

D 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

E 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 d

F f^ g^ h^ i^ j^ k^ l^ m^ n^ o^ p^ q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e

G g^ h^ i^ j^ k^ l^ m^ n^ o^ p^ q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f

H h i j k l m n o p q r s t u v w x y z a b c d e f g

I i j k l m n o p q r s t u v w x y z a b c d e f g h

J j^ k^ l^ m^ n^ o^ p^ q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f^ g^ h^ i

K k^ l^ m^ n^ o^ p^ q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f^ g^ h^ i^ j

L l m n o p q r s t u v w x y z a b c d e f g h i j k

M m n o p q r s t u v w x y z a b c d e f g h i j k l

N n^ o^ p^ q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f^ g^ h^ i^ j^ k^ l^ m

O o^ p^ q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f^ g^ h^ i^ j^ k^ l^ m^ n

P p q r s t u v w x y z a b c d e f g h i j k l m n o

Q q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f^ g^ h^ i^ j^ k^ l^ m^ n^ o^ p

R r s t u v w x y z a b c d e f g h i j k l m n o p q

S s t u v w x y z a b c d e f g h i j k l m n o p q r

T t^ u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f^ g^ h^ i^ j^ k^ l^ m^ n^ o^ p^ q^ r^ s

U u^ v^ w^ x^ y^ z^ a^ b^ c^ d^ e^ f^ g^ h^ i^ j^ k^ l^ m^ n^ o^ p^ q^ r^ s^ t

V v w x y z a b c d e f g h i j k l m n o p q r s t u

W w x y z a b c d e f g h i j k l m n o p q r s t u v

X x y z a b c d e f g h i j k l m n o p q r s t u v w

Y y z a b c d e f g h i j k l m n o p q r s t u v w x

Z z^ 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

Chaves para a cifra de Vigenère

A chave pode ser qualquer palavra, uma frase ou um conjunto arbitrário de letras.

Além disso, não há impedimento para o comprimento da chave.

Lembramos que esse é um método de chave simétrica ou chave secreta, em que a

mesma chave é usada na cifragem e na decifragem das mensagens. Aqui reside a gran-

de fragilidade do método, pois é necessária uma troca prévia da chave entre emissor e

receptor “antes do início do fluxo de mensagens”. Nesse momento, o risco de intercep-

tação é grande.

Utilizaremos um exemplo para mostrar a cifra de Vigenère em ação. Cifraremos

a mensagem “armada submarina entrando no porto sábado” com a palavra-

-chave SEGREDO.

UNIDADE

Métodos Criptográficos

e assinatura digital, as técnicas simétricas e assimétricas funcionam de forma bastante

distinta. A Tabela 8 mostra um comparativo entre os dois tipos de criptografia.

Tabela 8 – Comparativo entre tipos de criptografia

CRIPTOGRAFIA SIMÉTRICA CRIPTOGRAFIA ASSIMÉTRICA

VELOCIDADE Rápida Lenta

GERENCIAMENTO E

DISTRIBUIÇÃO DE CHAVES

Problemática Simples

ASSINATURA DIGITAL Não Possui^ Possui

Na prática, utiliza-se esquemas híbridos, que aproveitam as vantagens de cada tipo

de algoritmo. Em geral, um algoritmo de chave pública (assimétrica) é utilizado para

implementar a distribuição de chaves e a assinatura digital, enquanto um algoritmo de

chave simétrica é usado para criptografar a mensagem.

Um exemplo desse tipo de esquema é o PGP ( Pretty Good Privacy ), que é um sis-

tema criptográfico muito usado em correio eletrônico. O PGP combina um sistema de

chave pública (RSA) com um sistema de chave simétrica (CAST, IDEA ou 3DES).

Criptografia DES – Uma Introdução

Nesta parte de nosso estudo, apresentaremos um dos métodos de criptografia

eletrônica mais importantes para a história da criptografia: o DES ( Data Encryption

Standard ). Também apresentaremos o algoritmo DES Simplificado, o S-DES, que mos-

tra as propriedades e a estrutura geral do DES.

Como estamos lidando agora com criptografia eletrônica, temos que destacar que os

computadores só entendem números. Sendo assim, todo processo de criptografia em

sistemas computacionais envolve uma pré-codificação em que o texto é transformado em

uma sequência numérica, em notação binária, o que resulta em uma sequência de bits.

Em relação ao modo como são aplicadas as sequências de bits de entrada, os siste-

mas criptográficos são divididos em:

  • (^) Sistemas criptográficos de bloco ( block ciphers ): dividem a mensagem em blocos de

tamanho definido (64 bits , normalmente). O algoritmo é aplicado em cada bloco,

resultando em um bloco de bits de igual tamanho;

  • (^) Sistemas criptográficos de fluxo ( stream ciphers ): o algoritmo criptográfico é apli-

cado bit a bit (ou byte a byte), na sequência de entrada de bits.

Então, como uma mensagem pode ser transformada em números?

Para fazer isso, utiliza-se um código chamado ASCII ( American Standard Code for

Information Interchange ). Esse código associa números de 0 a 127 a caracteres como

2, a, A e @ e a alguns caracteres de controle como shift e tecla de espaço.

Com o tempo, o código ASCII foi estendido e é representado por 256 combinações

de 8 bits , para representar letras, números e símbolos especiais.

A Tabela 9 mostra o código ASCII para as letras maiúsculas de nosso alfabeto.

Tabela 9 – Código ASCII para letras maiúsculas

A 01000001 N 01001110

B 01000010 O 01001111

C 01000011 P 01010000

D 01000100 Q 01010001

E 01000101 R 01010010

F 01000110 S 01010011

G 01000111 T 01010100

H 01001000 U 01010101

I 01001001 V 01010110

J 01001010 W 01010111

K 01001011 X 01011000

L 01001100 Y 01011001

M 01001101 Z 01011010

Utilizando o código ASCII da Tabela 5, podemos transformar a palavra AMOR para

o código binário 01000001 01001101 01001111 01010010.

A Operação XOR

A operação XOR (OU EXCLUSIVO) é muito usada em circuitos eletrônicos e

na descrição de sistemas criptográficos. A Figura 6 mostra a Tabela Verdade da

função XOR.

Tabela 10 – Função XOR

A ⊕^ B = S
0 ⊕^1 = 1
1 ⊕^1 = 0

Em linhas gerais, podemos enunciar a função XOR da seguinte forma:

Em uma função XOR, sempre que as entradas forem iguais, a saída será 0 (zero) e, sempre que as entradas forem diferentes, a saída será 1.

Para o uso em criptografia, consideraremos que o texto puro é representado por P

e a chave é representada por K. Então, se fizermos a operação P ⊕ K, teremos o texto

cifrado como saída.

Como exemplo, podemos realizar a cifragem da palavra AMOR usando a chave

LIMA. Isso pode ser visto na Tabela 11.

Um dos mais importantes algoritmos criptográficos da época era o sistema Lucifer,

da IBM, tornando-se um forte candidato para se tornar um padrão em criptografia.

Um alemão chamado Horst Feistel participou do desenvolvimento do sistema Lucifer.

Por ser alemão e por conta da Segunda Guerra Mundial, a NSA impediu que o projeto

de Feistel fosse adotado como padrão em sua versão completa, mesmo sendo conside-

rado o sistema criptográfico mais forte da época.

A NSA pressionou para que, caso o sistema fosse adotado como padrão, que fosse

em uma versão limitada, forçando o algoritmo a usar chaves de apenas 56 bits. A versão

limitada do Lucifer foi chamada de DES e amplamente adotada na indústria e no setor

bancário. Em 1980, o algoritmo DES foi adotado oficialmente no setor bancário.

Um dos motivos pelo qual a NSA limitou o DES seria a sua capacidade de decifrar

mensagens, considerando os recursos computacionais de que dispunham na época.

O algoritmo des simplificado S-DES

Este algoritmo tem função didática, para que se entenda como é a estrutura do DES

completo, pois mostra as propriedades gerais do DES. O S-DES é um algoritmo de cifra

de bloco, ou seja, toma blocos de bits como entrada e dá saída a blocos de bits de igual

tamanho, que representa o texto cifrado.

Um cifrador de bloco é um algoritmo criptográfico simétrico, que transforma blocos

de bits de tamanho fixado (representando o texto claro) em blocos de bits de mesmo

tamanho (representando o texto cifrado).

O S-DES usa blocos de 8 bits de texto claro, como, por exemplo, 10001100, e uma

chave de 10 bits , e produz um bloco de 8 bits de texto cifrado na saída. Para decifrar a

mensagem, pegamos blocos de 8 bits de texto cifrado e aplicamos a mesma chave de

10 bits , resultando em blocos de 8 bits de texto claro.

Este esquema pode ser visto na Figura 2:

CIFRAGEM

Chave de 10 Bits

Texto Claro (8 bits)

Texto Cifrado

(8 bits) DECIFRAGEM

Chave de 10 Bits

Texto Claro (8 bits)

Figura 2 – Processo de cifragem e decifragem com o algoritmo S-DES

O algoritmo que criptografa cada bloco de 8 bits usa 5 passos ou estágios. A saída de

cada estágio é a entrada do estágio posterior. Os 5 estágios são os seguintes:

  • (^) Aplica-se uma função de permutação IP ( Initial Permutation );
  • (^) Aplica-se uma função f (^) k1, que depende da chave K e que envolve permutações

e repetições;

  • (^) Aplica-se uma função SW, que permuta (troca de posição) das duas metades do

bloco de bits ;

UNIDADE

Métodos Criptográficos

  • (^) Aplica-se uma função f (^) k2 , que é a mesma função do segundo estágio, mas alimen-

tada com uma chave diferente K2;

  • (^) Aplicamos a permutação inversa de IP, ou seja, aplicamos IP-1.

A Figura 3 mostra o processo de criptografia do S-DES.

IP

Texto Claro

(8 bits)

Texto Cifrado

(8 bits)

fk

SW

fk

IP-

Figura 3 – Processo de criptografia S-DES

O S-DES usa uma chave de 10 bits , de onde extraímos as duas chaves de 8 bits usa-

das no processo descrito na Figura 3.

Agora, descreveremos de forma simplificada as etapas de operação do S-DES na

geração de chaves. Inicialmente, consideraremos uma chave K de 10 bits :

K = 1011001010

O primeiro estágio consiste na permutação P10(K). Nessa permutação, os bits são

trocados, de acordo com uma fórmula fixa, que pode ser vista a seguir:

P10 = 3 5 2 7 4 10 1 9 8 6

Onde cada número representa a posição dos bits na chave K original. Então, temos que:

K = 1011001010 e P10(K) = 1001101100