Buscar

Apostila - 2 Período UNIP

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Autor: Prof. Ricardo Sewaybriker
Colaborador: Prof. Olavo Tomohisa Ito
Criptografia e 
Certificação Digital
Professor conteudista: Ricardo Sewaybriker
É pós-graduado em Gestão da Segurança da Informação pelo Instituto de Pesquisas Energéticas e Nucleares 
(Ipen) – USP e formado em Administração de Empresas pelas Faculdades Integradas Campos Salles (Fics). Atua como 
profissional de segurança da informação, trabalhando em instituição financeira há 29 anos e como professor da UNIP 
desde 2007. É autor dos livros Segurança da Informação e Segurança Física e Lógica de Redes, destinados aos cursos 
da UNIP EaD.
© Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou 
quaisquer meios (eletrônico, incluindo fotocópia e gravação) ou arquivada em qualquer sistema ou banco de dados sem 
permissão escrita da Universidade Paulista.
Dados Internacionais de Catalogação na Publicação (CIP)
S512c Sewaybriker, Ricardo.
Criptografia e Certificação Digital / Ricardo Sewaybriker. – São 
Paulo: Editora Sol, 2020.
200 p., il.
Nota: este volume está publicado nos Cadernos de Estudos e 
Pesquisas da UNIP, Série Didática, ISSN 1517-9230.
1. Criptografia. 2. Identidades digitais. 3. Segurança. I. Título.
CDU 681.3.004.4 
U508.24 – 20
Prof. Dr. João Carlos Di Genio
Reitor
Prof. Fábio Romeu de Carvalho
Vice-Reitor de Planejamento, Administração e Finanças
Profa. Melânia Dalla Torre
Vice-Reitora de Unidades Universitárias
Profa. Dra. Marília Ancona-Lopez
Vice-Reitora de Pós-Graduação e Pesquisa
Profa. Dra. Marília Ancona-Lopez
Vice-Reitora de Graduação
Unip Interativa – EaD
Profa. Elisabete Brihy 
Prof. Marcello Vannini
Prof. Dr. Luiz Felipe Scabar
Prof. Ivan Daliberto Frugoli
 Material Didático – EaD
 Comissão editorial: 
 Dra. Angélica L. Carlini (UNIP)
 Dr. Ivan Dias da Motta (CESUMAR)
 Dra. Kátia Mosorov Alonso (UFMT)
 Apoio:
 Profa. Cláudia Regina Baptista – EaD
 Profa. Deise Alcantara Carreiro – Comissão de Qualificação e Avaliação de Cursos
 Projeto gráfico:
 Prof. Alexandre Ponzetto
 Revisão:
 Giovanna Oliveira
 Lucas Ricardi
 Vitor Andrade
Sumário
Criptografia e Certificação Digital
APRESENTAÇÃO ......................................................................................................................................................7
INTRODUÇÃO ...........................................................................................................................................................7
Unidade I
1 INTRODUÇÃO À CRIPTOGRAFIA ...................................................................................................................9
1.1 Signos, significante, significado ........................................................................................................9
1.2 Dados e informação ............................................................................................................................ 10
1.3 Esteganografia ....................................................................................................................................... 11
1.4 Terminologia ........................................................................................................................................... 12
1.5 A matemática e a criptografia ........................................................................................................ 15
2 CONCEITOS E UTILIZAÇÃO DA CRIPTOGRAFIA..................................................................................... 19
2.1 Transmissão de dados ......................................................................................................................... 19
2.2 Tipos de criptografia ........................................................................................................................... 20
2.3 Tipos de cifras ........................................................................................................................................ 21
2.4 Algoritmo ................................................................................................................................................. 22
2.4.1 As chaves .................................................................................................................................................... 23
2.4.2 Entropia ...................................................................................................................................................... 25
2.5 Tecnologias de criptografia .............................................................................................................. 33
2.6 Utilização da criptografia ................................................................................................................. 46
Unidade II
3 CHAVES CRIPTOGRÁFICAS ........................................................................................................................... 61
3.1 Chaves simétricas ................................................................................................................................. 61
3.2 Chaves assimétricas ............................................................................................................................. 71
3.2.1 A importância das chaves públicas e privadas ........................................................................... 79
3.2.2 Número primos e a criptografia assimétrica ............................................................................... 82
4 SERVIÇOS CRIPTOGRÁFICOS ....................................................................................................................... 82
4.1 Encriptação com chaves públicas .................................................................................................. 83
4.1.1 Encriptação RSA pelo padrão PKCS# ............................................................................................. 83
4.1.2 Encriptação híbrida ................................................................................................................................ 85
4.1.3 Serviços de assinatura digital ............................................................................................................ 87
4.2 O segredo das chaves criptográficas ............................................................................................ 92
4.2.1 Famílias de chaves secretas ................................................................................................................ 96
4.2.2 Famílias de chaves públicas ................................................................................................................ 97
4.2.3 Chaves de longa duração .................................................................................................................... 99
Unidade III
5 GOVERNANÇA DAS CHAVES CRIPTOGRÁFICAS ................................................................................107
5.1 Infraestrutura de chaves públicas – ICP ...................................................................................107
5.2 Certificado digital ...............................................................................................................................111
5.2.1 Consulta on-line de identidade digital ........................................................................................112
5.2.2 Avaliação da solução on-line ...........................................................................................................113
5.2.3 Modelos de confiança .........................................................................................................................114
5.3 Tipos de certificados ..........................................................................................................................116
5.4 Cerimoniais de chaves criptográficas ........................................................................................117
5.4.1Componentes de chaves ....................................................................................................................118
5.4.2 Conhecimento dividido ......................................................................................................................119
5.4.3 Componentes .........................................................................................................................................119
5.5 Gestão de chaves criptográficas ..................................................................................................121
5.5.1 Procedimentos a serem documentados em um cerimonial de 
chaves criptográficas ..................................................................................................................................... 124
6 IDENTIDADES DIGITAIS ...............................................................................................................................126
6.1 Caso prático: PKI nos cartões de débito e crédito ................................................................127
6.2 Autenticando um serviço ................................................................................................................132
6.3 Modelos híbridos ................................................................................................................................137
6.3.1 Estudo de caso: ICP-Brasil ................................................................................................................ 138
Unidade IV
7 A SEGURANÇA E A CRIPTOGRAFIA ........................................................................................................145
7.1 A segurança e seus elementos ......................................................................................................145
7.2 Tipos de cartão inteligente .............................................................................................................146
7.2.1 Cartões “inteligentes” de memória protegida .......................................................................... 150
7.3 Sistemas operacionais para cartão .............................................................................................153
7.4 Os cartões inteligentes multiaplicação .....................................................................................154
7.5 Elementos seguros, ataques e segurança .................................................................................160
8 A CRIPTOGRAFIA E O FUTURO ..................................................................................................................168
8.1 A vida on-line ......................................................................................................................................169
8.2 Reconhecimento por identidade digital ...................................................................................172
8.3 O futuro das arquiteturas ...............................................................................................................174
8.4 Criptografia e a internet das coisas ............................................................................................177
8.5 Criptografia quântica .......................................................................................................................179
8.6 Criptografia na prática .....................................................................................................................180
7
APRESENTAÇÃO
Caro aluno, esta disciplina tem como objetivo abordar de forma ampla a criptografia e a certificação 
digital, levando em conta a melhor aplicabilidade de ambas em projetos de segurança.
Para isso é necessário compreender os conceitos de criptografia digital, seus métodos, as tecnologias, 
os elementos seguros, as identidades digitais e sua aplicação prática na proteção de sistemas, aplicativos, 
projetos de arquitetura e tecnologias de segurança.
Abordaremos os conceitos básicos de criptografia definindo o que são signos, significante, significado, 
dado e informação, esteganografia, terminologias, convenções e conceitos técnicos de criptografia, 
abordando a transmissão de dados criptografados, tipos de criptografia, tipos de cifras, funções 
matemáticas de mão única, código de autenticação de mensagens, chaves simétricas e assimétricas, 
transporte de chave, infraestrutura de chaves públicas, certificadoras de tempo, certificado digital, PKI 
(public key infrastructure) ou ICP (infraestrutura de chaves públicas, em português), tipos de certificados, 
criptografia quântica, gestão de chaves criptográficas e modelo de gestão de chaves criptográficas.
Dessa maneira, ao término dessa jornada, você estará apto a reconhecer a melhor solução de 
criptografia a ser aplicada nos projetos de segurança e proteção de dados que mais se adequam às suas 
necessidades e com o melhor custo-benefício esperado.
INTRODUÇÃO
O segredo é o que tem movido o mundo. Temos segredos na guerra, nos negócios, na vida, no amor... 
A humanidade vive e se perpetua pela manutenção de seus segredos, que só existem por questões 
estratégicas pessoais, governamentais de negócios ou de sobrevivência.
Numa guerra, a estratégia de guerra e a tática a ser aplicada são e devem ser somente conhecidas 
pelo alto escalão. A origem das garantias do sigilo estratégico se deu na guerra. Desde a Antiguidade, 
grandes reis e generais trocavam segredos estratégicos entre a frente de guerra e o local de tomada de 
decisões, utilizando mecanismos de proteção do sigilo desses segredos.
Isso alcançou a esfera de negócios, na qual as empresas têm aplicado conhecimentos bélicos de 
proteção de informações sigilosas em suas transações. Em alguns países, esses mecanismos de proteção 
de dados são considerados armas de guerra, tamanha sua importância, a exemplo dos casos de 
espionagem entre as empresas estadunidenses e chinesas.
Desde a infância nos interessamos pelo assunto. Que criança na fase escolar não brincou de criar 
códigos secretos, para transmitir mensagens a alguns amigos da sala e escondê-las de outros? 
São comuns, por exemplo, a língua do P (e outras variantes consonantais), a cifra do chiqueiro, e o zenit 
polar, uma cifra de substituição. Alguns fãs de filmes de ficção científica utilizam línguas inventadas 
nesses filmes, como o klingon, entre outras.
8
 Observação
Os klingons são uma raça alienígena fictícia elaborada para a série 
televisiva Star Trek, produção de Gene Roddenberry para a Paramount 
Television em 1966. A língua klingon (tlhIngan Hol, em klingon) foi criada 
pelo filósofo Marc Okrand.
“Não há segredo que tarde ou cedo não seja descoberto”. Há vários ditos populares, como esse, 
brincando com a dificuldade de se manter um segredo, o que acaba fazendo essa ideia ser muito difundida 
no senso comum. Podemos dizer que a criptologia, que estuda a criptografia, visa desmistificar essa visão 
popular, uma vez que seu objeto de estudo é a proteção de segredos. Já operando em contraponto com 
relação a essa ciência, existem os criptoanalistas, estudiosos que buscam descobrir os segredos por trás 
de códigos e cifras. Cada um deles possui seus próprios segredos, pois, afinal de contas, mencionando 
mais um dito popular: “o segredo é a alma do negócio”.
9
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
Unidade I
1 INTRODUÇÃO À CRIPTOGRAFIA
1.1 Signos, significante, significado
Criptografia vem do grego kriptos, “escondido”, e graphos, “escrita” (RAMOS et al., 2008, p. 145). 
Criptologia é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua 
configuração original para outra, ininteligível a não participantes da comunicação, de forma que possa 
ser compreendida apenas pelo remetente e pelo destinatário da mensagem.
Uma mensagem pode ser resumida como sendo uma estrutura organizada de sinais que serve de 
suporte à comunicação (JAKOBSON, 2003). Cada elemento dessa estrutura tem um significante e um 
significado (SAUSSURE,1977). Se ouvir “carro”, você naturalmente imaginará um veículo com pelo 
menos duas portas, quatro rodas etc., esse é o significante.
Contudo, um carro também pode ser descrito como um veículo que permite levar pessoas ou cargas 
de um ponto a outro; ecologistas poderiam explicá-lo como um meio de transporte antiecológico, que 
pode carregar em média cinco pessoas e que congestiona as cidades; outra pessoa poderia retratá-lo 
como aquilo que dá autonomia de ir e vir, exigindo esforço mínimo. Chamamos cada uma dessas 
definições de significado.
O objetivo da criptografia não é ocultar uma mensagem (significante), mas sim esconder o seu 
sentido (significado). A informação está contida na mensagem e pode ser conhecida somente por quem 
souber como decifrá-la. Quem não sabe como terá em mãos uma mensagem sem sentido ou apenas 
dados sem informação.
A alteração lógica dos signos (por exemplo, as letras) que compõem uma mensagem, através da 
substituição por outros signos do mesmo alfabeto ou de outro alfabeto, ou a troca de posições desses 
signos numa mensagem, muda o significante (e, nesse caso, o signo em si mesmo), mas visa ocultar 
o significado. Portanto, a criptografia manipula o significante e os signos que o compõem de modo a 
ocultar o significado.
Se trocarmos signos de um alfabeto por outro, estaremos codificando. Por exemplo, substituindo as 
letras “s” e “o” por três pontos e três traços, respectivamente, estaremos codificando em código Morse. 
Contudo, alguém que não saiba o que significa “SOS” ou “•••---•••” não poderá agir para salvar 
ninguém, pois não entenderá a mensagem.
10
Unidade I
 Saiba mais
É amplamente difundido que SOS é a abreviação em inglês para save our 
souls (salve as nossas almas) ou save our ship (salve nosso navio), contudo, 
essas expressões foram criadas depois da combinação SOS, para ajudar a 
memorizá-la. Veja mais sobre esse tema no artigo:
REDAÇÃO MUNDO ESTRANHO. Como surgiu a mensagem de SOS? 
Superinteressante, 18 abr. 2011. Disponível em: https://super.abril.com.br/mundo-
estranho/como-surgiu-a-mensagem-de-sos/. Acesso em: 22 maio 2020.
Já a manipulação de signos de um mesmo alfabeto pela troca de posições ou substituições lógicas 
entre seus elementos, que chamamos de cifrar, gerará um texto cifrado. Rearranjando as posições das 
letras (signos) da palavra ROMA, por exemplo, poderão ser obtidas oito combinações com sentido (como 
AMOR) e dezesseis sem sentido (RMAO), contudo, como saber, vendo o texto cifrado, qual era a palavra 
originalmente escrita e qual o significado do texto?
Codificar ≠ Cifrar
Codificar
Cifrar
Um código seria substituir a frase “Atacar imediatamente” por “Mickey Mouse”
Uma cifra seria substituir a frase “Atacar imediatamente” por “sysvst ozrfosyszrmyr”
a = E
e = I
i = U
u = O
o = A
Figura 1 – Diferença entre codificar e cifrar uma mensagem
1.2 Dados e informação
Derivando os termos significante e significado, podemos dizer que o primeiro é o dado e o segundo, 
a informação.
Informação é diferente de dado. Dado é algo com significado próprio (carro é carro), informação 
é como o dado é interpretado (carro é transporte), o que aquele significante tem a dizer. Isso pode ser 
diferente dependendo da pessoa que está fazendo a interpretação.
11
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
O que significa a sequência de nomes Io, Europa, Ganímedes e Calisto? Analisando cada 
palavra, teríamos: um hiato; um continente e, talvez, nomes próprios. Aparentemente não há 
ligação entre elas em se que possa identificar uma informação. São apenas dados. Contudo, 
para um astrônomo, são as luas de Júpiter e, para um historiador grego, são as amantes de Zeus. 
Agora temos informação.
É justamente a informação que queremos proteger com a criptografia – assim retornamos ao 
começo deste livro-texto – do grego kriptos, “escondido”, e graphos, “escrita” (RAMOS et al., 2008). 
Queremos deixar o que está escrito (significado – informação) oculto no significante (dado). Ou, em 
outras palavras, queremos gerar a dúvida: o que está oculto (significado – informação) no que está 
escrito (significante e signo – dado)?
56 bits
112 ou 168 bits
32 ou 448 bits
RSA
DES
3 DES
IDEA128 bits
Blowfish
RC2
Chave privada
Chave pública
RSA
El Gamal
DSA
Lenta
Algoritmo
Simétrica
Disponibilidade
Integridade
Controle de acesso
Autenticidade da origem
Não repúdio
Privacidade
Algoritmo
Resumo hashing + Algoritmo
Assinado digitalmente
Por AC
Associa chave pública a uma pessoa
Assimétrica
MD5
Chave privada
Garante a Privacidade
Rápida
Gerência e distribuição das chaves é completa
Gerência e distribuição das chaves é simples
Oferece assinatura digital
Não oferece assinatura digital
Algoritmo
8 ou 1024 bits
El Gamal Criptografia
Diffie-Hellman
Curvas elípticas
MD2 – MD4
Hashing
Tipos
Serviços
Assinatura digital
Certificado digital
SHA-1
Figura 2 – Mapa mental: estudo da criptografia
1.3 Esteganografia
Do grego steganos, “encoberto”, e graphos, “escrita” (RAMOS et al., 2008).
Diferentemente da criptografia, cujo objetivo é ocultar o significado da mensagem, a esteganografia 
visa ocultar a mensagem, ou seja, o significante e, por conseguinte, o significado. O objetivo é a 
camuflagem da mensagem no meio utilizado para transporte.
Alguns autores não incluem a esteganografia como subitem da criptografia. De fato, é outra ciência 
ou arte de ocultar informações, pois não se altera a mensagem original como na criptografia, mas a 
mensagem é acobertada por outro elemento, este sim perceptível ao observador.
12
Unidade I
Um exemplo clássico é a brincadeira de criança de utilizar sumo de limão para escrever mensagens 
em papel. Ao secar, a folha se mantém em branco. Contudo, ao se aproximar de uma chama, o calor 
reage e a mensagem aparece. Na Antiguidade, escreviam-se mensagens com limão ou com urina nas 
entrelinhas de um texto sem valor, para que ninguém desconfiasse de que houvesse algo importante 
oculto sob aquele texto. Essa é a grande diferença entre criptografia e esteganografia.
A criptografia cria significantes sem significado aparente, já a esteganografia oculta um significante 
e seu significado em outro significante. Na primeira, sabe-se que há algo oculto, o que pode despertar 
o interesse de descobri-lo. Já na esteganografia, não se suspeita de que haja algo escondido sob um 
documento, imagem, áudio ou outro meio qualquer. A criptografia garante a privacidade da informação, 
pois se sabe que existe uma, mas não se consegue obtê-la. Na esteganografia, a informação fica discreta 
sob outra, em segredo, ninguém desconfia de sua existência.
Quadro 1 – Criptografia versus esteganografia
Criptografia Esteganografia
Altera a informação, sem esconder Esconde, sem alterar a informação
Ofusca os dados e não a existência de 
uma comunicação
Ofusca a existência de uma comunicação e 
não os dados
Defende de ataques, pois é sabido que 
está ocorrendo uma comunicação
Detém ataques, pois não se sabe o que está 
ocorrendo na comunicação
Oculta o significado em um significante Oculta um significante e seu significado sob outro significante – e respectivo significado
 Saiba mais
Para conhecer mais sobre o processo de criptografia e estenografia, 
assista o filme:
CÓDIGOS de Guerra. Dir. John Woo. EUA: Metro-Goldwyn-Mayer, 2002. 
135 minutos.
1.4 Terminologia
Há muita confusão quanto ao uso de termos aplicados à criptografia. Muitas palavras vieram do 
inglês, do francês, do latim e do grego. Assim, certos termos em inglês ou francês não encontram 
equivalência adequada de um significado em português. O próprio grego, origem dos radicais utilizados 
como kriptos e steganos, pode produzir interpretações distintas, pois o significado comum (“ocultar”) 
que possuem em português, para os gregos, não se verifica, uma vez que no original os termos se 
distinguem. Essas diferenças na transposição entre idiomas geraram uma profusão de termos similares 
ou empregados com indevida liberdade em virtude do desconhecimentodo significado real pelos os 
usuários das palavras em seus diversos jargões técnicos.
13
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
Na sequência traremos alguns termos utilizados pela criptologia que constam em dicionários 
(NOVO..., 1999). Não foram incluídos na lista termos não dicionarizados, como a derivação confusa, 
embora criativa, “desencriptar”.
• Cifra: explicação ou chave de uma escrita enigmática ou secreta.
• Cifrado: escrito em caracteres secretos.
• Cifrar: escrever em cifra.
• Codificação: ato ou efeito de codificar.
• Codificado: que se codificou; de que se fez codificação.
• Codificador: que codifica; aquele que codifica.
• Codificar: modificar informações reversivelmente, por meio de um código ou algoritmo que a 
torna ininteligível; criptografar; converter informações em padrão de representação de maneira 
que a forma original possa ser recuperada; transformar, recorrendo a um código, uma mensagem 
original numa sequência de sinais adequados à transmissão em determinado canal.
• Código: vocabulário ou sistema de sinais convencionais ou secretos utilizados em correspondências 
e comunicações; conjunto de regras por meio do qual as mensagens são convertidas de maneira 
convencional e reversível, de uma representação para outra.
• Codizar: substituir as letras, sílabas, palavras ou grupos de palavras do texto em claro de uma 
mensagem pelas suas correspondentes relacionadas em um código.
• Críptico: (fig.) cifrado – código críptico; (fig.) secreto, oculto.
• Cripto: escondido, oculto, obscuro.
• Criptoanalisar: aplicar a criptoanálise a um criptograma.
• Criptoanálise: ciência que abrange os princípios, métodos e meios para se chegar à decriptação de 
um criptograma, sem prévio conhecimento dos códigos ou cifras empregados na produção dele.
• Criptografado: que se criptografou; cifrado.
• Criptografar: tornar incompreensível, com observância de normas especiais consignadas numa 
cifra ou num código, o texto de uma mensagem escrita com clareza. Codificar uma informação 
de forma a tornar difícil sua decodificação sem a chave adequada.
14
Unidade I
• Criptografia: arte de escrever em cifra ou em código. Conjunto de técnicas que permitem 
criptografar informações com mensagens escritas, dados armazenados ou transmitidos por 
computador etc.
• Criptográfico: referente à criptografia.
• Criptógrafo: especialista em criptografia.
• Criptograma: o texto criptografado de uma mensagem.
• Decodificação: ato ou efeito de decodificar.
• Decodificador: aquele que faz a decodificação.
• Decodificar: fazer operação inversa a codificar.
• Decifração: ato ou efeito de decifrar; deciframento.
• Decifrador: que ou aquele que decifra.
• Decifrar: ler; explicar ou interpretar o que está escrito em cifra, ou mal escrito; traduzir.
• Decriptação: ato ou efeito de decriptar.
• Decriptar: traduzir ou decifrar mensagens cifradas das quais não se tem a chave.
• Descodificação: decodificação.
• Descodificador: decodificador.
• Descodificar: decodificar.
• Encriptar: codificar os sinais de um programa ou transmissão para evitar sua utilização indevida.
É importante convencionar algumas expressões a exemplo do termo “em claro”, que serve para 
indicar que a mensagem está em sua forma concebida originalmente. Como a mensagem normalmente 
é representada na forma de um texto, ampliamos a expressão para “texto em claro”. Contudo, “em claro” 
é válida para qualquer mensagem que não tenha sofrido um processo de criptografia, seja escrita, 
sonora ou visual.
Já a expressão “texto cifrado” ou “texto codificado” indica que a mensagem original sofreu alguma 
mudança. Se o termo utilizado for cifrado, então houve um procedimento criptográfico, houve a 
intenção de ocultação da mensagem. Se o termo utilizado for codificado, pode até ter ocorrido uma 
criptografia (gerando um código secreto), mas também pode ter ocorrido apenas uma mudança de 
15
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
alfabeto utilizado (código). Outro termo utilizado para indicar que a mensagem original se tornou algo 
oculto por um processo criptográfico é criptograma.
Por convenção e visando à melhor didática, grafamos exemplos ou explicações sobre criptografia em 
livros ou documentos, diferenciando o que está “em claro” pela utilização de caracteres em minúsculas, 
e o que estiver criptografado pelo uso de caracteres maiúsculos. Isso é possível somente se for utilizado 
o alfabeto latino, ou alfabetos que permitam essa diferenciação pelo o uso de maiúsculas e minúsculas.
 Lembrete
Existem muitas outras terminologias para representar os termos 
relacionados à criptografia, todavia, é importante evitar utilizar termos que 
possam confundir o entendimento.
1.5 A matemática e a criptografia
Segundo Zochio (2016), devemos conhecer os princípios básicos da Teoria dos Números para uma 
compreensão mais abrangente da criptografia, uma vez que a matemática e a criptografia andam juntas.
Dessa forma, o entendimento dos números primos é o primeiro passo, sendo que:
p ≠ 0 e p ≠1
p só é divisível por 1 ou por p
O número primo tem como propriedade matemática ser divisível somente por 1 e por ele mesmo. 
Quando falamos em funções matemáticas de mão única, os números primos são essenciais, pois 
dificultam o processo de tentativa de reverter a função e identificar os elementos originais da equação.
Por exemplo, se multiplicarmos o número primo 5 por 7, obteremos 35, contudo, tendo como ponto 
de partida 35, como obtemos os fatores iniciais 5 e 7? Em uma função matemática de mão única, a 
obtenção do resultado é fácil, contudo a identificação dos fatores participantes é difícil. Para reverter 
o processo, necessitamos fatorar o resultado: começaríamos com o primeiro primo 3, e descobriríamos 
que ele não divide bem 35, então passaríamos para o próximo, que é 5, e então chegaríamos ao 7.
No exemplo, é facilmente dedutível que 35 pode ser fatorado por 5, obtendo 7. Mas e se estivermos 
trabalhando com números primos gigantes? Quais seriam os fatores que gerariam o resultado 408.508.091? 
Começamos pelo primo 3, seguido do 5, então 7, e assim por diante. Após 2.000 números primos testados, 
chegaríamos ao primo 18.313. Sabendo um fator, é fácil descobrir o segundo, que é 22.307.
Agora imagine o esforço para fatorar um número e descobrir os primos que foram utilizados na 
geração deste se eles forem da grandeza de 1065. É um número de tamanho 1065 que multiplica outro de 
1065, que gerará como resultado um número com tamanho de 10130 (10 seguido de 130 zeros).
16
Unidade I
Em criptografia, quanto maiores forem os números primos participantes da função de mão única, 
maior será o esforço e menor será a probabilidade de se identificá-los.
Segundo Zochio (2016), para a aritmética modular, a soma 15+15=6 parece um absurdo quando 
não é questionado seu significado, mas se pensarmos em horas, lidas em relógios analógicos, essa soma 
passa a fazer sentido, pois 15 horas mais 15 horas, a partir de 0 hora, são 6 horas. Se o conjunto de 
números disponíveis no relógio é limitado, sabemos imediatamente que estamos lidando com aritmética 
modular, pois um relógio trabalha com o módulo de 12 horas (mod 12).
Para o autor, ver as horas no relógio é um processo imediato: o ponteiro pequeno apontando para 
o 3 indica que são 3:00, apontando para 8, indica que são 8:00 e quando o ponteiro chega às 11:00, 
a próxima hora será 0, então, que conta é essa? Somamos 11+1. Aplicamos um módulo 12. 11+1=12 
e 12÷12=1, com resto 0. Da mesma forma, 11+5=16 e 16÷12=1, com resto 4. Ou seja, sempre que o 
resultado da soma ultrapassar o maior volume do conjunto (maior que 11), aplicaremos o módulo 12. 
Por exemplo, 5+3=8, então não precisa de ajuste.
Sabemos também que uma divisão nada mais é o do que uma sucessão de subtrações. Exemplo: 
36÷12=3, com o resto 0, ou 36-12=24, 24-12=12 e 12-12=0. Realizamos 3 subtrações até obtemos 
um número menor que 12, ou seja, o resto. Parece um detalhe insignificante, mas é muito importante 
e muito prático.Ainda segundo Zochio (2016), nos exemplos aqui apresentados, sempre somamos horas. Se, por 
exemplo, quiséssemos subtrair 15 de 3 horas, teremos o seguinte cálculo: 3-15= -12. Novamente, 
caímos fora do conjunto de 0 a 11, portanto, precisamos aplicar um ajuste: -12÷12= -1, com resto 0.
Agora considere subtrair 17 de 3 horas, ou seja, 3-17= -14 e -14÷12= -1, com resto -2, fora do 
conjunto de 0 a 11. É nesse ponto que é importante entender o complemento de 12 (porque estamos 
trabalhando com módulo 12).
Em outras palavras, é necessário observar tudo como um processo cíclico. Veja a tabela seguinte:
Tabela 1 – Números do módulo 12
1 2 3 4 5 6 7 8 9 10 11 12
Seguindo as exemplificações, vamos à soma de 5+9 em mod. 12. Nosso ponto de partida é o número 
5 da tabela, somam-se a ele 9 posições. A tabela termina no número 12, apenas 7 posições à frente; para 
completar a soma, voltamos ao início e continuamos contando, até completar 9, caindo na posição 2, 
portanto, 5+9=2 (mód. 12).
Segundo Zochio (2016), usando a mesma tabela, se somarmos 5+5 em mod. 12, o resultado será 10, 
pois não haverá necessidade de voltarmos até o início da tabela e continuar contando as posições até 
o término da soma.
17
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
A aplicação desse princípio à criptografia se dá do seguinte modo: considerando que o número de 
caracteres disponíveis para escrever (e cifrar) uma mensagem seja finito, aplicamos aritmética modular.
Segundo Zochio (2016), o alfabeto latino completo é formado por 26 letras e, portanto, é possível 
trabalhar com módulo de 26, assim, numerando as letras de 1 a 26, qualquer cálculo que se deseje 
realizar segue as mesmas regras explicadas para o relógio.
Exemplo 1
“Subtraindo” F de J: J corresponde a 10, e F a 6; então J-F=10, 10-6=4, que corresponde a D. 
Da mesma forma, T+10=20, 20+10=30 e 29÷26=1, com resto 3, que corresponde à letra D, ou então 
T+38=58 e 58-26=32. Então, 32-26=6, que corresponde a F.
C-10=3, 3-10= -7 e a letra correspondente será 26, 26-7=19 (pelo complemento), que é o S.
Para Zochio (2016), a congruência ocorre quando dois números inteiros divididos por outro 
número deixam o mesmo resto na divisão, ou seja, dizemos que “a é congruente de b módulo m” 
Em notação matemática:
a ≡ b(mód . m)
Exemplo 2
13 ≡ 19 (mód. 6), pois 13 dividido por 6 deixa resto 1 e 19 dividido por 6 também deixa resto 1.
12 ≡ 7 (mód. 5), pois 12 dividido por 5 deixa resto 2 e 7 dividido por 5 também deixa resto 2.
As matrizes, segundo Zochio (2016), são representadas por letras maiúsculas e seus elementos por 
letras minúsculas, sempre acompanhadas por 2 índices que indicam, respectivamente, a linha (primeiro 
número) e a coluna (segundo número) em que o elemento se localiza.
Segundo Rocha (2008), o Método Matriz é um processo de criptografia que utiliza as mesmas ideias 
básicas de substituição e transposição, a ênfase atual é diferente e tem como objetivo tornar o algoritmo 
mais complexo, e de uso didático.
Para o mesmo autor, a codificação de uma mensagem é realizada utilizando a multiplicação da 
matriz mensagem por outra matriz chave. Segundo ele, um exemplo dessa codificação pode ser dado 
pela associação das letras do alfabeto segundo a tabela de números do módulo 12, que acabamos de 
citar. Supondo que a mensagem a ser criptografada seja “EU TE AMO”. Pode-se formar uma matriz 3x3 
que, usando a correspondência numérica da cifra matriz, torna-se:
18
Unidade I
M
E U
T E
A M O
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
–
–
5 21 0
20 5 0
1 13 15
O exemplo de Rocha (2008) demonstra a suposição de que a chave para essa codificação seja a palavra 
“PACIÊNCIA”. Seja C uma matriz qualquer 3x3 inversível (matriz secreta), que descreve esta chave:
C
P A C
I E N
C I A
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
16 1 3
9 5 14
3 9 1
Multiplica-se a matriz mensagem pela matriz secreta, obtendo-se S = MxC:
S �
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
5 21 0
20 5 0
1 13 15
16 1 3
9 5 14
3 9 1
269 110 3099
365 45 130
178 201 200
�
�
�
�
�
�
�
�
�
�
Para Rocha (2008), transmite-se esta nova matriz codifica Dora S (na prática, envia-se a cadeia de 
números 269, 110, 309, 365, 45, 130, 178, 201, 200).
Quem recebe a mensagem decodifica-a por meio da multiplicação pela inversa ((M x C) x C-1 = M), 
ou seja, M x C = S → M x C x C-1 = S x C-1 → M = S x C-1 e posterior transcrição dos números para letras. 
Deve-se fazer a multiplicação pela inversa: S x C-1 = M:
269 110 309
365 45 130
178 201 200
5�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
a b c
d e f
g h i
221 0
20 5 0
1 13 15
�
�
�
�
�
�
�
�
�
�
Substituindo, temos:
5 21 0
20 5 0
1 13 15
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
E U
T E
A M O
–
–
Esses são os princípios matemáticos básicos para uso na criptografia, todavia, existem outros 
conceitos que não serão abordados neste livro-texto, pois não fazem parte do nosso escopo. Por isso, 
aprofundamentos podem ser necessários para o desenvolvimento de algoritmos criptográficos.
19
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
 Observação
Os conceitos matemáticos aqui expostos são base para o processo de 
criptografia. Para conhecer com maiores detalhes o processo matemático, 
é necessário o estudo aprofundado, o que não é o foco desta disciplina.
2 CONCEITOS E UTILIZAÇÃO DA CRIPTOGRAFIA
2.1 Transmissão de dados
Segundo Singh (2020), para que uma transmissão ocorra de forma criptografada, é necessário que 
o emissor aplique ao texto um algoritmo cifrado. Esse algoritmo geralmente é um sistema matemático 
expresso com exatidão por uma chave, sendo assim, a aplicação da chave e do algoritmo resultará em 
um texto, mensagem cifrada. Uma vez feito isso, apenas o receptor de posse do conhecimento da chave 
e do algoritmo poderá reverter o processo e novamente transformar o texto na mensagem original, que 
chamamos de texto em claro.
Emissor
Algoritmo Algoritmo
Receptor
Texto 
claro
Texto 
claro
Texto 
cifrado
A B
Figura 3 – Transmissão criptografada visão simplificada
Para que possamos compreender os conceitos técnicos específicos da criptografia, temos que 
entender um pouco sobre como elementos utilizados na criptografia são transmitidos. Na prática, a 
transmissão de mensagens no meio telemático se utiliza de bits (conjuntos de 0 e 1) que, quando 
combinados em grupos de oito, permitem obter até 256 signos, também conhecidos como byte. Os bits 
são os signos manipulados por um processo criptográfico de cifragem.
Receber sinal 
analógico
Converter 
analógico 
digital
Decifrar 
criptograma
Decifrar para 
hexadecimal
Decodificar 
para ASCII
1100000101010001 C1 A
Figura 4 – Recepção e decifração da transmissão analógica de um criptograma
20
Unidade I
A mensagem, embora possa estar escrita em um idioma conhecido, pode estar criptografada no 
meio telemático através de códigos como ASCII (American Standard Code for Information Interchange) 
ou EBCDIC (Extended Binary Coded Decimal Interchange Code), ou outros.
Quando um equipamento telemático recebe um pacote de dados transmitido por um meio analógico, 
ele o converte para uma mensagem digital e o decodifica para o código compreendido pelo aparelho, 
apresentando, então, os signos em tela ou impressos em um alfabeto que conhecemos.
2.2 Tipos de criptografia
A criptografia pode se dar de duas maneiras. A primeira delas é por codificação, que é um conjunto 
de elementos (signos) com significados distintos conhecidos pelo emissor e receptor. Eles podem ser de 
conhecimento comum (uma linguagem) ou restritos (código secreto).
Ao alterar o significado de um elemento ou conjunto de elementos de um código de conhecimento 
comum com o intuito de restringir o conhecimento do significado a apenas emissores e receptores 
necessários, efetuamos uma codificação criptográfica. A combinação de elementos de um código 
compõe uma mensagem.
Dentre os exemplos de códigos estão: língua portuguesa, códigoMorse, placas de sinalização de 
trânsito e cores do semáforo. Já como exemplo de código secreto pode ser mencionado o código Navajo, 
utilizado pelos fuzileiros navais americanos durante a Segunda Guerra Mundial e a Guerra da Coreia. 
Nesse código, para algumas palavras da língua dos índios Navajos, foram atribuídos significados em 
inglês conhecidos somente pelos marinheiros.
O código Navajo não era escrito, mas utilizado para dar ordens em campo (aos gritos ou por rádio) 
que não eram compreendidas pelos oponentes. Exemplo: besh-lo (“peixe de ferro”) era um termo 
substituto para submarino.
Quando se codifica, transcreve-se o texto para outro alfabeto ou léxico, ou atribuem-se novos 
significados aos significantes do alfabeto original.
Escrita 
secreta
Esteganografia
(oculta)
Substituição
Código
(substituição de 
palavras)
Criptografia
(misturada)
Transposição
Transposição
(substituição de letras)
Figura 5 – Formatos de escrita secreta
21
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
A mensagem, embora possa estar escrita em um idioma conhecido, pode estar criptografada no 
meio telemático através de códigos como ASCII (American Standard Code for Information Interchange) 
ou EBCDIC (Extended Binary Coded Decimal Interchange Code), ou outros.
Quando um equipamento telemático recebe um pacote de dados transmitido por um meio analógico, 
ele o converte para uma mensagem digital e o decodifica para o código compreendido pelo aparelho, 
apresentando, então, os signos em tela ou impressos em um alfabeto que conhecemos.
2.2 Tipos de criptografia
A criptografia pode se dar de duas maneiras. A primeira delas é por codificação, que é um conjunto 
de elementos (signos) com significados distintos conhecidos pelo emissor e receptor. Eles podem ser de 
conhecimento comum (uma linguagem) ou restritos (código secreto).
Ao alterar o significado de um elemento ou conjunto de elementos de um código de conhecimento 
comum com o intuito de restringir o conhecimento do significado a apenas emissores e receptores 
necessários, efetuamos uma codificação criptográfica. A combinação de elementos de um código 
compõe uma mensagem.
Dentre os exemplos de códigos estão: língua portuguesa, código Morse, placas de sinalização de 
trânsito e cores do semáforo. Já como exemplo de código secreto pode ser mencionado o código Navajo, 
utilizado pelos fuzileiros navais americanos durante a Segunda Guerra Mundial e a Guerra da Coreia. 
Nesse código, para algumas palavras da língua dos índios Navajos, foram atribuídos significados em 
inglês conhecidos somente pelos marinheiros.
O código Navajo não era escrito, mas utilizado para dar ordens em campo (aos gritos ou por rádio) 
que não eram compreendidas pelos oponentes. Exemplo: besh-lo (“peixe de ferro”) era um termo 
substituto para submarino.
Quando se codifica, transcreve-se o texto para outro alfabeto ou léxico, ou atribuem-se novos 
significados aos significantes do alfabeto original.
Escrita 
secreta
Esteganografia
(oculta)
Substituição
Código
(substituição de 
palavras)
Criptografia
(misturada)
Transposição
Transposição
(substituição de letras)
Figura 5 – Formatos de escrita secreta
A outra maneira através da qual pode se dar a criptografia é a cifragem. Cifra é o menor elemento 
de um código, que por si só não representa ideias ou significados, é um signo. A cifragem ocorre pela 
alteração da representação da mensagem pela modificação lógica desses elementos, seja por troca por 
outro signo do mesmo alfabeto utilizado ou pelo reposicionamento deste no texto.
A cifragem exige que ambos, emissor e receptor, saibam reorganizar os elementos por substituição 
ou realocação de modo a retornar à ordem original e, consequentemente, à mensagem. Um exemplo de 
cifra é a de Cesar, na qual se desloca o alfabeto original em 3 posições – ele então se inicia em D, a letra 
seguinte é E, e assim por diante. A palavra AMOR seria cifrada como DPRU.
Quando se gera uma cifra não se altera o alfabeto original, apenas manipulam-se os signos que 
o compõem.
2.3 Tipos de cifras
As cifras são divididas em dois tipos, conforme o tipo de alteração que sofrem durante o processo de 
criptografia. Ou se substituem ou se realocam signos (letras, desenhos) por outros do mesmo alfabeto. 
Há processos criptográficos nos quais se aplicam ambos os tipos.
Cifra de substituição é aquela que substitui signos do texto por outros do mesmo alfabeto. Por exemplo: 
escolha um alfabeto (latino, grego, chinês etc.), defina um conjunto de letras/signos que devem ser 
movidos e para onde. O resultado é o alfabeto cifrado.
Cifra →
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
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
Figura 6 – Exemplo de cifra de substituição
O primeiro passo é escolher quais letras serão movidas, nesse caso, para o final. Então deve-se reescrever 
o texto a ser cifrado, do alfabeto original (em claro), utilizando a equivalência do alfabeto cifrado.
amor
Alfabeto 
em 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
↓ ↓ ↓ ↓
Alfabeto 
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
DPRU
Figura 7 – Exemplo de cifra de substituição
O segundo passo é substituir as letras (alfabeto em claro) do texto a ser cifrado pelas letras na nova 
posição do alfabeto cifrado. Desse modo, a palavra AMOR será grafada de modo criptográfico, como DPRU.
22
Unidade I
Cifra de transposição ou permutação é o rearranjo das posições dos signos, gerando anagramas 
da mensagem. Um anagrama utiliza as mesmas letras ou signos da mensagem original, mas em posições 
diferentes. Por exemplo, os anagramas da palavra AMOR são: ROMA, RAMO, OMAR, ORAM, MARO, 
MORA, ARMO etc.
Em uma cifra de transposição, há que se definir como as letras ou signos serão transpostos. Veja o 
exemplo a seguir:
Texto 
cifrado → O S D E R G E O É S Ó D A R F I C E R O M I E O
Cifra → O S D E R G E O É S Ó D A R F I C E R O M I E O
Texto 
em claro
→ O s e g r e d o é s ó d e c i f r a r o m e i o
Figura 8 – Exemplo cifra de transposição/permutação
No exemplo trazido, deve-se rescrever as palavras com mais de 4 letras, invertendo a ordem apenas 
das letras localizadas meio da palavra. Em outras palavras, a cifra, nesse caso, é a inversão das letras que 
compõem o centro das palavras que possuam 4 ou mais letras.
 Saiba mais
Para conhecer mais sobre a cifra de transposição, assista ao filme:
U-571 – a batalha do Atlântico. Dir. Jonathan Mostow. França; EUA: 
West Video, 2000. 116 minutos.
2.4 Algoritmo
Trata-se de um procedimento normalmente matemático aplicado para se criptografar ou decifrar 
uma mensagem. É composto de um conjunto de regras que definem quais passos serão executados para 
que ocorra uma transformação do texto em claro para o cifrado, pela manipulação de seus signos ou de 
elementos menores. Pode ser aplicada à transposição, à substituição ou a ambas.
Algoritmos devem ser conhecidos dos participantes do processo criptográfico: o emissor, que os aplica 
para criptografar a mensagem; e o receptor, que os aplica (inversamente) para decifrar o criptograma.
Como são padronizados, são de utilização universal, o que permite uma fácil implantação em 
diversos seguimentos empresariais. Imagine se para cada transmissão de informação fosse necessária, a 
cada interlocutor, a criação de um algoritmo próprio. A técnica seria inviável.
23
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
Portanto, os algoritmos são públicos, visando à universalização da implantação e dos padrões. 
Excepcionalmente alguns governos e até algumas empresas privadas criam seus próprios algoritmos 
criptográficos, acreditando que o desconhecimento do algoritmo é uma condição de proteção da 
informação. Isso pode até funcionar por algum tempo, mas vai contra o Princípio de Kerckhoffs.
 Observação
Auguste Kerckhoffs foi um criptógrafo e linguista holandês que 
desenvolveu, no século XIX, um princípio afirmando que a segurança 
dos dados encriptados deve depender do conhecimento da chave usada,podendo o método ou algoritmo empregado ser de conhecimento público. 
Esse princípio seria visto como a base da criptografia moderna.
2.4.1 As chaves
Em um processo criptográfico, necessitamos de pelo menos a mensagem ou texto em claro e de um 
algoritmo que utilize um padrão de cifragem (transposição, substituição ou ambas), para gerar um texto 
cifrado. Contudo, só isso não garante a privacidade da informação.
Se houvesse somente esses elementos no processo, bastaria a qualquer um de posse de um texto 
cifrado aplicar o algoritmo, que é público, de modo reverso, para obter o texto em claro. Falta algo que 
torna o procedimento criptográfico único ou de conhecimento restrito aos interlocutores necessários.
Uma porta com fechadura permite a privacidade de quem esteja dentro do ambiente, pois esta o 
sela, protegendo-o. O funcionamento da porta e de sua fechadura é de conhecimento público. O que 
difere uma porta de outra é a chave, pois cada porta pode ser fechada ou aberta somente por sua 
respectiva chave.
Em criptografia, a equivalência é a mesma. A privacidade da informação é garantida não pelo 
algoritmo, mas pela chave aplicada sobre ele. A chave é o elemento variável e que deve ser apenas de 
conhecimento dos interlocutores para garantir a privacidade da informação.
Ao conjunto de algoritmo e chave chamamos criptossistema. Isto atende aos princípios 
criptográficos conhecidos como Princípios de Kerckhoffs, os quais, em resumo, afirmam que 
“Um criptossistema deve ser seguro mesmo se qualquer coisa sobre o sistema, exceto a chave, for de 
conhecimento público”.
Um tipo de fechadura pode se repetir em diversas portas, portanto cada tipo de fechadura exige um 
tipo de chave. Há fechaduras que utilizam chaves finas, outras, chaves com o desenho clássico (quando 
desenhamos um olho na fechadura), chaves tetras (4 chaves em uma), em alto ou baixo relevo etc. Todas 
as fechaduras de certo tipo possuem a mesma mecânica de acionamento. O que varia é a combinação 
definida sobre cada chave.
24
Unidade I
A combinação em cada chave é limitada ao espaço disponível em cada tipo. Umas possuem 2 posições 
(ou “dentes”), outras 3, 4 ou mais posições que podem ser ajustadas quanto ao tamanho. Se cada uma 
dessas posições pode assumir, digamos, tamanho curto, médio ou longo, temos, para uma chave de 
2 posições, 3 possibilidades de ajuste do cumprimento para cada uma, ou seja 32 ou 27 combinações.
Em criptografia o ajuste de cada “posição” é limitado a duas possibilidades: 0 ou 1, o chamado 
bit. Diferentemente do sistema decimal, utilizamos dois números – é, portanto, um sistema binário. 
Em relação às chaves físicas, as criptográficas podem possuir bem mais do que 2 ou 3 “posições”. 
Por exemplo, há chaves de 40 bits – portanto 40 posições – com 2 bits de variação por posição, ou 240, 
ou seja, mais de 1.000.000.000.000 (um trilhão) de possibilidades de combinações.
O padrão para uma chave simétrica hoje em dia é de 128 bits 2128, portanto mais de 
340.000.000.000.000.000.000.000.000.000.000.000.000 possibilidades de chaves. A este conjunto de 
possibilidades nos referimos como key space.
81 combinações ou uma 
chave de 34 de key space 4.249.967.296 combinações ou 
uma chave de 232 de key space
32 posições 
ou bit space
00000000 00000000 00000000 00000000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 
aj
us
te
s
3 
aj
us
te
s
4 ajustes
Figura 9 – Key space e bit space
Chamamos de bit space a quantidade possível de bits gerados randomicamente e utilizados por uma 
chave. Assim, uma chave que tenha o bit space de 32 bits poderá gerar um key space de 4.294.967.296 
combinações de chave.
A geração de uma chave deve ser efetuada por mecanismo gerador de números aleatórios, 
o qual criará cada bit de uma chave. A aleatoriedade deve conferir a cada bit a mesma chance 
de ser sorteado, é assim que fica impossível prever qual valor será dado a uma posição do bit. 
Para isso, são utilizados equipamentos que utilizam eventos naturais não previsíveis, como a 
diferença de tempo entre a recepção de raios cósmicos, a oscilação na rede elétrica ou variações 
de ruídos eletromagnéticos.
Em informática, cada conjunto de 8 bits é chamado de 1 byte, por questões de simplificação 
da representação gráfica, dividem-se os 8 bits de um byte em 2 conjuntos de 4 bits, por exemplo, 
11000001 fica 1100 0001. Cada conjunto desses pode representar 16 possibilidades distintas, 
ou 16 signos identificados como 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F. A esse novo código 
damos o nome de sistema hexadecimal. Assim, nosso exemplo pode ser representado como C1 
em hexadecimal ou 1100 0001 em binário. C1 é a representação em hexadecimal da letra “A”.
25
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
Tabela 2 – Comparação de tamanho entre binário e hexadecimal
Hexa 0 1 2 3 4 5 6 7
Binário 0000 0001 0010 0011 0100 0101 0110 0111
Hexa 8 9 A B C D E F
Binário 1000 1001 1010 1011 1100 1101 1110 1111
Uma chave, no contexto criptográfico, é uma sequência de caracteres normalmente expressa em 
hexadecimal, contudo, medida em bits. É mais fácil representar ou transcrever em hexa do que em binário, 
portanto, o tamanho das chaves também determina a quantidade de posições necessárias para transcrever 
em hexa. Assim, temos:
Tabela 3 – Binário e hexadecimal
Tamanho em bits Posições em hexadecimal(utilizado para representação visual e inserção)
128 16
256 32
2.4.2 Entropia
Entropia é uma medida de incerteza associada à aleatoriedade de uma variável. Quanto menor a 
possibilidade de prever qual será o valor da variável, maior será o seu grau de entropia.
Imagine jogar uma moeda honesta, aquela na qual a possibilidade de dar “cara” ou “coroa” seja 
a mesma; para esse sistema, dizemos que o grau de entropia é alto, é de 1 bit. Contudo, se a moeda 
somente der “cara”, a entropia não existe, pois será de 0 bit.
A entropia (H) do “cara” ou “coroa” é calculada pela fórmula:
H(X) p log
1
pi. 2 i.i 1
m
�
�
�
�
�
�
�
�
�
Em que p significa probabilidade.
Se a moeda for honesta, a probabilidade de cada face é de 50%. Então, a probabilidade é representada 
por {0,5 ; 0,5}. Aplicando na fórmula, temos:
H(X) 0,5 log
1
0,5
0,5 log
1
0,52 2
� � �
�
�
�
�
� � �
�
�
�
�
�
�
H(X) = 1 bit
26
Unidade I
1 bit é o máximo de entropia que uma moeda honesta pode alcançar.
Se a probabilidade fosse de {0,75 ; 0,25}, teríamos:
H(X) 0,75 log
1
0,75
0,25 log
1
0,252 2
� � �
�
�
�
�
� � �
�
�
�
�
�
�
H(X) ≈ 0.811 bits
Essa moeda não é honesta.
A aleatoriedade em uma geração de chave deve conferir a cada bit a mesma chance de ser sorteado 
e a impossibilidade de seu valor ser previsto. Se isso for verdade, poderemos afirmar que a entropia do 
sistema é alta.
Uma chave de 32 bits poderá gerar um key space de 4.294.967.296 combinações de chave. Se a 
entropia for alta, deve permitir a mesma possibilidade de sorteio para cada chave dentro desse universo 
de mais de quatro bilhões de combinações.
Se há uma entropia alta na geração de uma chave, a probabilidade de que um atacante descubra 
qual a chave deve ser igual para todas as combinações.
Contudo se a entropia dentro de um universo de possibilidade for baixa, basta ao atacante testar as 
chaves com maior possibilidade de ocorrer em um sistema criptográfico para ter sucesso. É por isso que 
em um key space de 32 bits, se somente alguns números entre as quase quatro bilhões de possibilidades 
vierem a ocorrer, não teremos mais um key space de 32 bits, mas com certeza bem menor.
Isso pode ocorrer em criptografia quanto um algoritmo não se utiliza de geradores randômicos que 
garantam a mesma probabilidade de sorteio a cada um dos possíveis elementos de um universo de 
chaves. Também pode ocorrer devido a erros ou características específicas exigidas no desenvolvimento 
da codificação do algoritmo. Por exemplo, a chave criptográfica de 64 bits do algoritmo DES (Data 
Encryption Standard) deveria possuir um key space de 64 bits, contudo,a efetividade dessa chave é de 
56 bits, pois 8 bits (cada oitavo bit: 64/8 = 8 bits) é ignorado por questão de paridade.
Visando garantir uma entropia alta aos algoritmos geradores de chave, podemos utilizar dois tipos 
de geradores aleatórios de números, os randômicos e os pseudorrandômicos.
Gerador randômico
Geradores randômicos (random number generators – RNG) são aqueles que se baseiam na medição 
de fatores considerados realmente aleatórios – é impossível prever quando ocorrerá a próxima 
manifestação desses fatores. Em computação, utilizam-se hardwares que os mensuram, transcodificando 
suas oscilações em bits 0 ou 1.
27
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
Podem ser medidas: variações térmicas; oscilações elétricas e fotoelétricas; comportamento de 
isótopos radioativos etc., desde que esses fenómenos físicos possuam comportamento imprevisível.
O jogar de um dado ou de uma moeda honesta (que possui a mesma probabilidade de ocorrência 
de cada face) também pode ser um gerador randômico, contudo, embora seja eficaz, é ineficiente para 
a aplicação em informática.
Como exemplo de aplicação do RNG, podemos mencionar a importância da sua utilização nos 
aplicativos de jogos on-line. Essencialmente é a chave tecnológica que torna possível o jogo on-line.
No entanto, os números aleatórios modernos são pseudoaleatórios e são gerados de maneira 
previsível, usando uma fórmula matemática. Para o olho humano, os números podem parecer gerados 
aleatoriamente, entretanto, para uma máquina, não. Com apenas um número inicial e uma dependência 
de um algoritmo, números aleatórios permanecerão vulneráveis a hackers.
Uma das soluções para esse problema é oferecida pelos cassinos blockchain. O resultado é gerado 
por meio de um algoritmo de números aleatórios com base no hash de blocos em uma blockchain. 
Por um lado, isso permite que qualquer participante da rede veja qualquer transação e esteja convencido 
de que o número foi gerado de maneira justa.
 Observação
Os cassinos blockchain utilizam os blocos da cadeia para dar maior 
credibilidade ao princípio da aleatoriedade proposto pelos geradores 
randômicos (random number generators – RNG).
Cartão negociado
Jogo de cartas
Número rolado
Jogo de dados
Números girados
Jogos de roleta
Símbolos à vista
Jogos caça-níquel
Geração de 
números 
aleatórios RNG
Produz número 
aleatório
Jogo on-line
Comunica-se 
com a RGN para 
produzir jogos 
automaticamente
Figura 10 – Exemplo de aplicação RNG
28
Unidade I
Gerador pseudorrandômico
Geradores pseudorrandômicos (pseudo-random number generators – PRNG) são aqueles que se 
baseiam em algoritmos matemáticos. O processo é determinístico e pode-se prever a sequência de fatores. 
Em computação, utilizam-se softwares que geram essas sequências numéricas que aparentemente se 
comportam como aleatórias.
Diferentemente do gerador randômico, em que não se sabe qual o próximo número a ser sorteado ou 
gerado dentro de um universo determinado, o pseudorrandômico produz sequências numéricas nas quais, 
por prova estatística, também há mesma probabilidade de ocorrências de todos os possíveis elementos.
 Observação
A paridade é utilizada para detectar erros nas transmissões. Normalmente 
se anexa um bit de paridade a certa sequência de bits transmitidos. Se 
houver alterações durante a comunicação, a paridade da sequência não 
coincidirá com o bit de paridade – é como se fosse um dígito verificador.
Uma vez que o processo gerador é um algoritmo matemático em que a geração de um número se 
baseia em números previamente gerados, após certa quantidade de números criados, poderá ocorrer 
repetição da sequência. Essa periodicidade deve ser maior conforme a necessidade de um sistema 
criptográfico exigir a não repetição das mesmas chaves.
Uma vez que essa sequência abranja todas as possibilidades antes de reiniciar o ciclo, faz-se 
necessário que não se utilizem as mesmas sequências para cada sistema. Por isso utilizamos um número 
inicial que deflagrará uma sequência distinta para cada dispositivo ou sistema, denominado semente.
Gerar valor de 
entrada
Topologia de 
rede neural
Determinação 
do peso inicial 
e viés
Saída
Entrada
Camada oculta
Número de 
nêutrons
Funções de 
treinamento
Valores iniciais
Rede neural 
baseada 
em número 
pseudoaleatório
Figura 11 – Exemplo de aplicação do PRNG para gerar 
número pseudoaleatório baseado em rede neural
A semente é muito utilizada em OTP (one time password), como os tokens utilizados no acesso a 
internet bankings. Nesse tipo de tecnologia, uma semente é introduzida no dispositivo que, dentro 
de um período determinado, gera um número e o apresenta em tela ao usuário. Simultaneamente, 
no mainframe do banco, é introduzida essa mesma semente e os números são calculados no mesmo 
29
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
período do token. Assim, pode-se averiguar se o que foi transcrito pelo usuário de seu token condiz com 
o número que deveria ter sido gerado.
O sistema OTP de autenticação também é conhecido por sistema de geração de senhas descartáveis. Esse 
tipo de produção de números aleatórios é muito utilizado como segundo fator de autenticação em sistemas.
Usuário
Sistema 
de acesso
1 – Criar 
usuário O
PT
2 – Criar usuário OPT
3 –
 Cri
ar u
suá
rio 
OPT
5 – Master secret – 
usarname
4 –
 Ma
ste
r se
cre
t
7 – Fornece PIN 6
 – I
ma
gem
Smartphone
Web service
HSM
Figura 12 – Exemplo de aplicação do OTP para geração de senha descartável de acesso a sistema de telemedicina
Funções matemáticas de mão única
São funções matemáticas fáceis de calcular o resultado, mas cujos elementos originais são difíceis 
de serem obtidos a partir do resultado.
Quando falamos em “fácil” e “difícil”, estamos nos referindo ao tempo necessário para obter os 
termos iniciais que compunham a equação responsável por gerar o resultado conhecido. Talvez o que 
hoje seja considerado difícil pode, no futuro, ser considerado fácil, na medida em que se aprimoram e 
tornam-se acessíveis os processadores, e ocorrem novas descobertas matemáticas.
Em criptografia, funções matemáticas de mão única são utilizadas na manipulação de números 
primos e na obtenção de hash, como veremos adiante.
Senhas ou chaves
O ser humano não tem grandes habilidades em gerar mentalmente números aleatórios. Mesmo que 
inconscientemente, é tendencioso e, portanto, tem baixa entropia. Também prefere utilizar sequências 
lógicas ou mnemônicas (fáceis de lembrar). Devido a essa última característica, os sistemas preferem 
que ele decore algo fácil a uma chave enorme (128 bits!). Essas sequências são conhecidas como senhas 
ou frases secretas.
30
Unidade I
As senhas ou frases secretas também podem ser utilizadas, em um sistema criptográfico, como um 
fator na geração de chaves. Por mecanismos conhecidos como funções de derivação de chaves (key 
derivation function – KDF), uma senha ou frase secreta é derivada em uma chave criptográfica.
Entretanto, como dissemos anteriormente, deve haver aleatoriedade nessa chave, e os seres 
humanos não são bons em criarem senhas com uma boa entropia. Para isso são utilizados geradores 
pseudorrandômicos de números agregados à senha ou frase secreta de modo a aumentar o grau de 
entropia da chave. Esse número randômico é chamado de salt.
Hash
O hash é gerado pela aplicação de uma função matemática de mão única sobre um texto, a qual 
resulta em algo similar ao dígito verificador. Do texto, chegamos facilmente ao hash, mas o contrário é 
extremamente difícil.
Também de modo similar ao dígito, cada alteração no texto original produz um novo hash. Isso é 
utilizado para verificar se a integridade de um texto foi mantida, ou seja, ao receber um texto, calculamos 
o seu hash e o comparamos com o hash previamente gerado da versão original. Se coincidir, é o igual 
ao original.
No procedimento de validação de senhas, o processo é o mesmo. Quando alguém cria uma senha, 
apenas o hash dela é armazenado. Ao logar novamente no sistema, esteaplica a função hash sobre a 
senha inserida e compara o resultado com o hash armazenado. Se coincidir, a senha é válida e o usuário 
é autenticado.
Viek: $1$ Fnfffc$pGteyHdicpGOfffXX4 Ow#5: 13064 :O: 99999 :7: :::
1 2 3 4 5 6
Figura 13 – Exemplo de aplicação do hash para uso de validação de senhas
Também pode ser utilizado para atestar a autenticidade do remetente de uma informação, embora 
não seja um procedimento comum. Se você obtém um aplicativo por download pela internet de 
qualquer site, mas tem dúvidas sobre o arquivo ser oficial ou alguma cópia alterada, você pode acessar 
o site do fabricante ou autor original e verificar se este publicou o hash do arquivo. Se for igual, então o 
arquivo está íntegro e, conforme verificado diretamente no site do próprio gerador do arquivo, é oficial, 
portanto, a versão é autêntica.
Com relação à função de proteção de senhas ou chaves, quando o hash é calculado sobre informações 
menores (tamanho) do que a saída resultante do cálculo, não atinge o objetivo de proteção destas, pois 
o key space é pequeno e permite o cálculo prévio e montagem de tabelas de hash pré-calculadas, por 
serem de fácil reconstrução por engenharia reversa.
Exemplo: uma base de senhas de 3 posições possui um key space de 1.000 possíveis combinações. 
Se um atacante calcular o hash de todas elas, ao interceptar essa informação, poderá consultar a tabela 
31
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
e obter a combinação (senha/chave). Para reduzir esse tipo de ataque contra senhas e chaves, aplica-se 
o salt ou pepper (do qual falaremos melhor na sequência).
Salt
É um conjunto de bits adicionado à senha ou frase secreta criada pelo usuário de modo a aumentar 
o grau de entropia. O conjunto senha/frase secreta + salt pode ser submetido a dois tipos de processo, 
dependendo do objetivo a ser atingido:
• Geração de chaves criptográficas: submete-se a uma função matemática de derivação de chaves 
(KDF) que, ao final, produz uma chave criptográfica.
• Validação de senhas de acesso: submete-se a uma função de mão única, cujo resultado é uma 
sequência de caracteres que representa a senha/chave secreta.
O procedimento de geração de chaves ou de validação de senhas poderia ocorrer (e em alguns 
sistemas ocorre) sem o salt, mas sua ausência enfraqueceria as senhas ou frases secretas, pois elas podem 
ser facilmente descobertas por ataques de força bruta, que tentam descobrir a senha por tentativas 
de todas as combinações possíveis (key space), ou por ataques de rainbow tables, que possuem uma 
coleção de hashs e cuja estruturação lógica permite rapidamente reverter um hash ao texto original.
O salt obriga as ferramentas que utilizam força bruta como ataque a avaliar o hash em tempo de 
execução do ataque, inibindo o uso de listas pré-computadas e demandando mais tempo.
Esse conjunto de bits adicionados é diferente para cada usuário e respectiva senha ou frase 
secreta protegida, o que implica a criação de uma base de dados, vinculando usuários ao respectivo 
e exclusivo salt.
Essa base deve ser mantida atualizada e protegida. Se houver o envolvimento de mais de uma 
entidade no processo, essa base deve ser trocada entre os envolvidos de modo seguro, pois o vazamento 
permite a quebra das chaves ou senhas protegidas.
Pepper
Diferencia-se do salt no conjunto de bits adicionado, que será igual para todos os usuários. Isso 
elimina a necessidade da base de dados usuários-salt, mas obriga que o pepper seja trocado e armazenado 
nas entidades de modo seguro, pois o vazamento fragiliza todo o processo de melhoria de entropia das 
chaves ou senhas.
Em resumo, na verificação de integridade, aplica-se a função hash diretamente sobre o dado e 
salva-se o resumo gerado. Após o dado ser transmitido para o receptor, este calcula o resumo sobre o 
dado recebido e obtém um novo resumo. Se os resumos forem iguais, assume-se que o dado é igual. 
Se forem diferentes, recomenda-se um novo download do arquivo.
32
Unidade I
Já para o armazenamento da senha de forma segura, usa-se um procedimento semelhante. No servidor, 
apenas o resumo da senha do usuário é armazenado. Quando o usuário insere a senha, calcula-se a 
função hash da senha e o servidor o compara com o resumo armazenado. Se os resumos forem iguais, 
o usuário é autenticado.
000 ×
001
002 ×
: :
151 ×
152
153
154 ×
: :
253 ×
254
255 ×
× Vera Costa 521-8976
Miguel Costa 521-1234
× Sandro Silva 418-4165
× Karen Barbosa 521-9655
× Beth Barbosa 521-5030
Miguel Costa
Vera Costa
Beth Barbosa
Karen Barbosa
Sandro Silva
Chaves Entradas
Buckets
Figura 14 – Exemplo de aplicação do hash para uso na verificação de integridade
Código de autenticação de mensagem – MAC
Similar ao hash, o MAC também é um procedimento que permite ao destinatário aferir se o conteúdo 
foi alterado. A diferença é que também possibilita a autenticação do remetente, o que é feito com a 
utilização de uma chave secreta utilizada no processo de geração do MAC de um texto.
Uma chave secreta é gerada e compartilhada pelo remetente da mensagem com o receptor. 
O destinatário recebe a mensagem com o MAC já calculado pelo remetente, recalcula o MAC 
utilizando a chave secreta recebida e compara o resultado com o MAC recebido. Se for igual, saberá 
que o texto não foi alterado e poderá atestar a autenticidade do remetente, pois utilizou a chave 
gerada por ele.
Podemos usar como exemplo uma mensagem enviada pela internet que possui um campo com o 
valor do hash criptográfico resultante da soma da mensagem com o segredo. Ao receber a mensagem, 
o destinatário soma o segredo ao campo da mensagem e recalcula o hash. O receptor então compara o 
resultado com o valor do hash recebido e reconhece se a mensagem foi alterada ou não.
33
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
m H(m+s)
Hc 
(m+s)
Diagrama 
íntegro
Comparador
H ( ) H ( )
+
m Hr(m+s)
s
s
Internet
m = mensagem
s = segredo
H = função hash
Hr = hash recebido
Hc = hash calculado
m
Figura 15 – Exemplo de aplicação do MAC
Personal identification number – PIN
PIN é um número gerado por algoritmos criptográficos com base em um número de identificação 
(no mundo de cartões, o PIN é gerado sobre o valor do PAN – primary account number). O PIN nada mais 
é do que um tipo de hash do PAN.
Como o próprio nome diz, é composto de números, mas de fato não identifica ninguém, apenas 
valida o PAN. Originalmente foi criado para uso em ATMS (automated teller machine) e podem ter o 
tamanho de 4 até 12 números.
Uma senha não é gerada por sistemas, mas pelo próprio usuário, por isso é tida como um fator de 
autenticação que só ele sabe. Já o PIN não deve ser considerado um fator de autenticação do tipo “algo 
que só a própria pessoa sabe”, pois é gerado com base em um algoritmo de conhecimento do emissor e 
não do portador e é transmitido por meio público passível de observação.
Erroneamente, alguns chamam de PIN as senhas que liberam os acessos a certificados digitais ou 
a carteiras eletrônicas, ou geradores de números pseudoaleatórios como os OTP de celulares. Isso só 
será correto se a geração desse número for efetuada por meio automático e não pelo usuário, e não 
se pode mudar.
2.5 Tecnologias de criptografia
Segundo Singh (2020), no século XIX, houve um período de desencontro, pois as cifras de Vigenère 
haviam sido quebradas por Charles Babbage e Friedrich Kasiski e não existia nenhuma cifra segura que 
pudesse restabelecer a comunicação secreta para a tecnologia de comunicação utilizada na época, o 
telégrafo. Outro fato que deixou as coisas ainda mais confusas aconteceu em 1896, quando Guglielmo 
Marconi conseguiu estabelecer uma comunicação entre dois pontos com 53 quilômetros de distância – 
surgia então o rádio.
34
Unidade I
O problema dos criptógrafos em desenvolver algo seguro para garantir as comunicações via 
telégrafo ficaram ainda maiores com a chegada do rádio. Embora possuísse um alcance maior, tornava 
a comunicação ainda mais vulnerável, uma vez que sua principalvirtude – a penetração do sinal – 
também é sua maior vulnerabilidade, pois qualquer um consegue interceptar o sinal emitido.
Esses problemas afloraram na Primeira Grande Guerra (1914-1918) quando ainda não existia 
nenhuma grande descoberta no sentido de garantia de sigilo e todas as cifras desenvolvidas eram 
facilmente quebradas. Em 1918, os alemães quase tiveram êxito, com o desenvolvimento da cifra 
ADFGVX, contudo, ela foi quebrada por um criptoanalista francês chamado Georges Painvin.
Não demorou para o rádio se tornar o principal meio de comunicação e os franceses nessa época 
possuíam a maior capacidade de quebra de cifras.
Um holandês que, coincidência ou não, passou a maior parte de sua vida na França, chamado 
Auguste Kerckhoffs, desenvolveu o tratado La Cryptographie Militaire e auxiliou a França na arte da 
criptoanálise. Ele desenvolveu uma verdadeira indústria de interceptação de mensagens e quebra de 
cifras, o que proporcionou a vitória da Tríplice Entente nos campos de batalha.
Segundo Singh (2020), durante muitos anos os decifradores tiveram vantagens sobre desenvolvedores 
de cifras. Isso ocorria principalmente pela falta de aleatoriedade na geração e pela sua natureza cíclica, a 
exemplo da cifra de Vigenère. Foi então que o major Joseph Mauborgne, diretor de pesquisa criptográfica 
do exército americano, introduziu o conceito de chave aleatória, que se baseava na cifra de Vigenère, 
mas possuía folhas diferentes de combinação utilizadas uma única vez – daí vem o nome de bloco de 
uma só vez.
Essa atribuição à cifra de Vigenère ofereceria segurança absoluta, seria, então, a grande descoberta 
da criptografia. Todavia, o que era muito bom na teoria, na prática apresentava dificuldades básicas. 
Uma delas era o problema de gerar as chaves aleatórias em grande quantidade e a outra, o alto custo de 
produção e distribuição das chaves de segurança.
Chave C A N ? ? ? ? ? A P O C A L Y P T I C ? ?
Texto original t h e ? ? ? ? ? n q c b e o t h e x g ? ?
Texto cifrado V H R M H E U Z N F Q D E Z R W X F I D K
Chave C A N ? ? ? ? ? ? ? ? ? C R Y P T ? ? ? ?
Texto original t h e ? ? ? ? ? ? ? ? ? c i t h e ? ? ? ?
Texto cifrado V H R M H E U Z N F Q D E Z R W X F I D K
Chave C A N ? ? ? ? ? ? ? ? ? E G Y P T ? ? ? ?
Texto original t h e ? ? ? ? ? ? ? ? ? a t t h e ? ? ? ?
Texto cifrado V H R M H E U Z N F Q D E Z R W X F I D K
Figura 16 – Exemplo da cifra de Vigenère e sua vulnerabilidade principal, a natureza cíclica que leva à dedução da cifra
35
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
Folha 1
P L M O E
Z Q K J Z
L R T E A
V C R C B
Y N N R B
Folha 2
O I W V H
P I Q Z E
T S E B L
C Y R U P
D U V N M
Folha 3
J A B P R
M F E C F
L G U X D
D A G M R
Z K W Y I
Chave P L M O E Z Q K J Z L R T E A V C R C B Y
Texto original a t t a c k t h e v a l l e y a t d a w n
Texto cifrado P E F O G J J R N U L C E I Y V V U C X L
Figura 17 – Exemplo da cifra de Vigenère com a aplicação do conceito aleatório conhecido como um bloco por vez
As falhas apresentadas por um bloco por vez, desenvolvido por Joseph Mauborgne em 1918, levaram 
a sua inviabilidade técnica, o uso de papéis teve que ser abandonado por eles serem onerosos em 
demasia e isso abriu caminho para cifras seguras e para a mecanização do processo por meio do uso de 
tecnologias mais avançadas.
Segundo Singh (2020), os esforços pela mecanização do processo de cifragem iniciaram-se no 
século XV. O arquiteto italiano Leon Alberti foi um dos criadores da cifra polialfabética construída com 
dois discos de cobre, um ligeiramente maior do que outro. O arquiteto gravou o alfabeto ao longo da 
borda de cada disco, colocando o menor em cima do maior e, a partir daí, construindo uma cifra de 
deslocamento simples de César.
Figura 18 – Cifra polialfabética de Leon Albertini – século XV
A máquina da Albertini deu origem a uma versão mais moderna e proporcionalmente mais terrível, 
a Enigma, desenvolvida em Hanover, na Alemanha, no século XX, por Arthur Scherbius.
A Enigma tinha uma série de mecanismos e engenhosos que a transformavam em um equipamento 
espetacular. Basicamente, eram três componentes principais conectados por fios: um teclado para 
36
Unidade I
entrada de cada letra da mensagem original, uma unidade misturadora que cifra cada letra da mensagem 
original, transformando-a em uma mensagem cifrada, e um mostrador constituído de várias lâmpadas 
para indicar as letras do texto cifrado.
A seguir veremos um exemplo de configuração da Enigma, segundo Singh (2020):
• teclando um a vamos iluminar a letra B, o que significa que a será cifrado em B;
• teclando um b, vamos iluminar a letra A, o que significa que b será cifrado em A;
• teclando um c, vamos iluminar a letra D, o que significa que c será cifrado em D;
• teclando um d, vamos iluminar a letra F, o que significa que d será cifrado em F;
• teclando um e, vamos iluminar a letra E, o que significa que e será cifrado em E;
• teclando um f, vamos iluminar a letra C, o que significa que f será cifrado em C.
Painel 
luminoso Teclado
Painel de 
conexões 3 Rotores Refletor
A
B
C
D
E
F
a
b
c
d
e
f
Figura 19 – Painel de tomadas da Enigma
A Enigma foi utilizada em larga escala pela Alemanha nazista na Segunda Grande Guerra, 
proporcionando vantagem estratégica principalmente nas batalhas marítimas travadas no oceano 
Atlântico. O sistema de cifras era extremamente robusto, o que transformou o sistema de comunicação 
alemão no mais seguro do mundo, em sua época. A única forma de reverter a vantagem nazista era 
descobrir como a cifra era gerada dentro da máquina desenvolvida.
Segundo Singh (2020), durante treze anos, os franceses e os britânicos acreditaram que a Enigma 
era indecifrável, todavia, informações vindas da Polônia levantaram a suspeita de que a Enigma poderia 
apresentar falhas.
Quando falamos que a aleatoriedade foi a grande descoberta da criptografia e que a ausência dela, ou 
seja, a repetição, poderia levar a cifra ao fracasso, isso se aplica também à Enigma. A máquina possuía uma 
37
CRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL
vulnerabilidade em sua regra de disparo dos fios no quadro de tomadas: uma regra segundo a qual não 
podia ser incluída nenhuma troca entre uma letra e sua vizinha, o que significa que a letra S, por exemplo, 
poderia ser substituída por qualquer letra, menos R e T. Essa regra foi implantada para evitar a obviedade 
da troca, mas acabou sendo a responsável por reduzir drasticamente o número de chaves possíveis.
Diante do desafio de quebrar a cifra da Enigma, iniciou-se uma corrida contra o tempo na qual tiveram 
destaque os britânicos, em seu escritório central de operações, localizado em Bletchley, onde se concentravam 
os chamados “quebradores de código”, responsáveis por decifrar as mensagens criptografadas do inimigo 
e antever suas ações. Um desses brilhantes cientistas e matemáticos, Alan Turing, lidou diretamente com 
a quebra da cifra da Enigma. Seu principal trabalho era desenvolver um modo alternativo para atacar a 
Enigma, de uma forma que não dependesse somente de repetir a chave da mensagem.
Foi por causa da rigidez protocolar militar das comunicações alemãs que Turing conseguiu encontrar 
um padrão de palavras que se repetiam em todas as comunicações realizadas pela Enigma. Todas as 
comunicações iniciavam-se com a palavra Wetter, termo em alemão para tempo. Sempre que um 
pedaço do texto original pode ser associado a um pedaço do texto cifrado, dá-se o nome de cola.
E foi por meio das colas que Turing iniciou a quebra da cifra da Enigma. Contudo, o grande desafio 
era identificar como eram feitos os ajustes na máquina que proporcionavam a nova cifra aleatória.
Para conseguir decodificar as mensagens cifradas pela Enigma, Turing tinha que construir equipamentos 
que possuíssem as mesmas características impressionantes da Enigma e que fossem capazes de reverter o 
processo e transformar uma informação cifrada em uma mensagem em claro novamente.
Sendo assim, Turing desenvolveu

Continue navegando