Você está na página 1de 510

Criptografia Numaboa

Resolvi que queria estudar criptologia sem frequentar cursos e, de preferncia, sem sair de
casa e sem gastar um tosto com livros, apostilas, CDs, etc e tal. Fui caa de informaes
pela Internet. Rodei, rodei, pesquisei, googlei, altavistei e me assustei: o material em
Portugus extremamente escasso, para no dizer inexistente - assim noooooo d.
Material bom est em italiano, francs, alemo, sueco e, logicamente, em ingls. Foi da que
resolvi publicar gradativamente o que encontrei e o que aprendi. Esta verso 2.0 do
material disponibilizado sob a licena Creative Commons, ou seja, est liberado para voc
estudar, copiar e distribuir sob a mesma licena, preservando a autoria.

O assunto de extrema importncia para quem se interessa por segurana de dados. claro
que eu logo pensei em destrinchar o blowfish ou coisa que o valha, ainda mais depois que li
a notcia de que um bando de malucos estava usando a computao compartilhada (tipo
SETI, lembra?) para tentar encontrar o maior nmero primo do planeta. Falta do que fazer
ou coisa de gente sria? J sei, agora vem a clebre pergunta: o que que tem a ver o
"ucascara"? No so fatos desconexos - criptologia e nmeros primos tm tudo a ver. A
nica coisa que eu quero e, tenho certeza, vocs tambm querem saber direitinho como a
coisa funciona!

Resolvi comear pelo comeo (sbia deciso, hehe), mesmo porque tenho a impresso de
que, desde que o homem existe, exite tambm a vontade de esconder informao. prprio
da natureza humana. Pode dar o nome que quiser - segurana de dados, sigilo de
informao, material classificado ou confidencial, segredo profissional, os escambau. A
verdade verdadeira que adoramos esconder o leite. Ento, achei que o melhor a fazer seria
seguir a histria da criptologia.

Alm disso, onde tem segredo, tem quem quer descobrir o segredo. Desde os primrdios da
histria existem mtodos para esconder informaes, dos mais simples aos mais
engenhosos. Como a toda ao corresponde uma reao igual e contrria, desde a
Antiguidade tambm existem os hackers e crackers que bolam mtodos para decifrar e
decodificar. Chega a ser engraado saber quantos nerds e geeks se dedicaram Criptologia
at hoje...

Para minha surpresa, em pouco tempo esta seo do site j uma das mais visitadas.
Descobri que no era to estranho assim eu gostar do assunto, pois milhares de internautas
fizeram com que o ranking do site no Google mostrasse a Aldeia entre os primeiros quando o
assunto pesquisado criptografia ou criptologia! A Criptografia NumaBoa tambm acabou
rendendo um convite para que eu escrevesse um livro. Aps alguns meses de intenso
trabalho (9 ao todo, como convm a uma gestao normal), CRIPTOGRAFIA - SEGREDOS
EMBALADOS PARA VIAGEM j est nas grandes livrarias do pas. Por estas e por outras,
preciso agradecer a calorosa acolhida que todos vocs me deram.

A todos, veteranos ou novatos da Criptografia NumaBoa, um grande abrao

vov Vicki

Assuntos Gerais ( 9 Artigos )

Assuntos de interesse geral relacionados Criptografia NumaBoa.

Histria da Criptologia ( 25 Artigos )

Fatos e personalidades que direta ou indiretamente tiveram influncia na histria da


criptologia.

Guerras e Diplomacia ( 2 Artigos )


A criptografia sempre foi usada intensamente nos perodos de guerra e nas comunicaes
dos servios diplomticos. Aqui voc encontra alguns exemplos e algumas histrias muito
interessantes.
Cifras de Transposio ( 5 Artigos )

Cifras de transposio misturam as letras do texto original de acordo com uma regra
reversvel qualquer. Em outras palavras, o texto cifrado obtido atravs da permutao
do texto original.

Os textos marcados com asterisco so interativos.

Substituies Simples ( 6 Artigos )

Cifras de substituio monogrmica monoalfabtica onde cada UM dos caracteres do


texto original substitudo por UM outro (da chamada de monogrmica), de acordo com
apenas UM alfabeto cifrante pr-estabelecido (ou seja, monoalfabtica). Os textos
marcados com asterisco so interativos.

Substituies Homofnicas ( 1 item )

Cifras de substituio que traduzem cada um dos caracteres do texto claro para um dos
smbolos de um conjunto de smbolos, ou seja, cada um dos caracteres pode ser
substitudo por um dos vrios existentes no cifrante. S se conhecem substituies
homofnicas monoalfabticas (que utilizam apenas UM alfabeto cifrante). Os textos
marcados com asterisco so interativos.

Substituies Tomogrficas ( 2 Artigos )

Cifras de substituio nas quais cada um dos caracteres da mensagem clara substitudo
por dois ou mais smbolos. S se conhecem substituies tomogrficas monoalfabticas,
ou seja, que utilizam apenas UM alfabeto cifrante. Os textos marcados com asterisco so
interativos.

Substituies Poligrmicas ( 4 Artigos )

Quando os caracteres do texto claro so tratados em grupos de mais de uma letra e


estes grupos so substitudos pelo mesmo nmero de caracteres cifrados, considera-se a
substituio como poligrmica. Se o grupo for de duas letras, ela ser digrmica; se for
de trs letras, ela ser trigrmica e assim por diante. O comprimento do texto claro e do
texto cifrado ser igual porque cada grupo de caracteres substitudo por outro com o
mesmo nmero de caracteres.

Substituies Polialfabticas ( 10 Artigos )

As cifras de substituio onde mais de um alfabeto cifrante utilizado so conhecidas


como substituies polialfabticas. Os textos marcados com asterisco so interativos.

Esteganografia ( 6 Artigos )

A arte de esconder a existncia de mensagens. Caiu em desuso e foi novamente


"ressuscitada" para, na atualidade, ser usada na autenticao de documentos. Os textos
marcados com asterisco so interativos.

Supercifragens ( 3 Artigos )

Supercifragem quando se usa mais de um mtodo, ou o mesmo mtodo vrias vezes,


para obter umcriptograma.

Cdigos ( 1 item )

Cdigos podem ser protocolos de comunicao, ou seja, um "conjunto de convenes que


rege o tratamento e, especialmente, a formatao de dados num sistema de
comunicao". Existem cdigos abertos (como o cdigo Morse) e cdigos secretos.

Cdigos tambm podem ser uma coletnea de substitutos para letras, palavras ou frases
inteiras. Geralmente so colocados em livros, os chamados livros de cdigos ou
nomenclaturas, como duas listas em ordem alfabtica. Numa delas o texto claro est em
ordem alfabtica (para facilitar a cifragem), seguido dos substitutos. Na outra, os cdigos
esto em ordem alfabtica (para facilitar a decifrao), seguidos do texto claro
correspondente.

Cdigos abertos ( 5 Artigos )

Os cdigos abertos so protocolos de comunicao cujos substitutos so de domnio


pblico. Os textos marcados com asterisco so interativos.

Cifras de bloco ( 9 Artigos )

Com o advento do computador foi possvel trabalhar com nmeros ao invs de letras ou
outros caracteres grficos, um diferencial importante no cenrio da criptologia. O
trabalho incrivelmente entediante e extremamente susceptvel a erros quando feito
manualmente foi passado para as mquinas - os humanos, agora, apenas criam funes
e observam os resultados.

A mquina de cculos chamada computador muda a histria da criptografia e da


criptoanlise e, como sempre, tambm a histria da humanidade.

Nos anos da dcada de 1970, a primeira cifra de bloco que ficou conhecida mundialmente
foi a DES (Data Encryption Standard). Representou uma importante evoluo na
criptografia. Evoluo significa melhorar algum processo (ou alguns processos) j
conhecido com a adio de novas capacidades. Esta a histria da cifra de bloco DES,
baseada nos processos clssicos da substituio e da transposio. Alguns lances de
genialidade transformaram totalmente o cenrio e fizeram a balana pender para o lado
da criptografia. Pela primeira vez, a eterna concorrncia entre fazer cdigos e quebr-los
est num ponto em que a criptografia est ganhando a corrida e a criptoanlise parece
ficar para trs.

Cifras de Fluxo ( 1 item )

A grande maioria dos algoritmos criptogrficos atuais so cifras de bloco. As cifras de


fluxo, que convertem o texto claro em texto cifrado bit a bit, ainda so objeto de
pesquisa e tm uma aplicao prtica muito discreta. O motivo que as cifras de fluxo
dependem de geradores randmicos de chaves que, apesar da aparente simplicidade, so
difceis de implementar atravs de software ou de hardware.

Chave Pblica ( 4 Artigos )

Algoritmos de chave pblica onde a cifragem feita atravs de uma chave pblica e a
decifrao feita atravs de uma chave privada que no pode ser calculada com base na
chave pblica.
Funes Hash ( 5 Artigos )

Conceitos bsicos e exemplos de funes criptogrficas hash. Os textos marcados com


asterisco so interativos.

Criptoanlise ( 18 Artigos )

Fundamentos, informaes e mtodos essenciais para "quebrar" e para medir a


segurana de sistemas criptogrficos.

Dispositivos de Cifragem ( 7 Artigos )

As cifragens podem ser feitas com o auxlio de rguas, cilindros, mquinas e hardware,
tudo especialmente projetado para obter criptogramas com mais rapidez e com menos
erros. A evoluo destes dispositivos sempre dependeu de dois fatores: a evoluo da
prpria criptografia e a evoluo das tcnicas mecnicas, eltricas e eletrnicas.

Exerccios on line ( 6 Artigos )

Tradicionalmente a criptologia de lpis e papel a criptologia amadorstica, um


entretenimento do tipo quebra-cabea onde os nicos instrumentos usados para resolver
charadas criptogrficas so o lpis, o papel e... o crebro! Os exerccios aqui
apresentados referem-se a sistemas de cifragem explicados nos tpicos de Substituio,
Transposio, Cdigos e Esteganografia da Criptografia NumaBoa. Podem ser facilmente
resolvidos com lpis e papel, mas com maior facilidade com as ferramentas on line.

Curso de Criptologia ( 2 Artigos )

A matemtica faz parte do arsenal de ferramentas dos criptlogos, tanto dos profissionais
quanto dos amadores. Mas no se assuste, aproveite para conhecer a criptologia sob um
novo ngulo e para perder o medo da matemtica.

Papers ( 18 Artigos )

Alguns textos sobre assuntos especficos como avaliaes de mtodos, de softwares e


suporte tcnico para entender ou desenvolver tcnicas criptogrficas e de criptoanlise.

Indecifrados ( 1 item )

Textos que, apesar de todos os esforos, continuam escondendo os seus segredos.


Muitos deles esto associados a fatos curiosos e histrias incrveis. Que tal tentar decifr-
los?

Voc e a
Criptografia

1
2
3
4
5
(35 votos, mdia 4.5 de 5)
Escrito por vov Vicki

Sb, 31.03.2007 12:46

O incio da histria recente da humanidade traz consigo quase 4000 anos de criptologia.
Foram quatro milnios de idias, engenhosidade e criatividade tanto para esconder
informaes (criptografia) quanto para descobrir informaes escondidas (criptoanlise).
Esta dualidade, criptografia versus criptoanlise, sempre acompanhou a evoluo, as
necessidades e os interesses dos homens - um ser eternamente preocupado em manter
informaes em segredo e curioso o suficiente para sempre querer obter informaes
sigilosas.

A criptologia no trilhou um caminho solitrio - sempre se valeu das inovaes tecnolgicas


de cada poca. Seno, vejamos: o homem inicialmente precisou aprender e dominar a
escrita; somente depois que surgiu a necessidade de "esconder" informaes escritas. Por
outro lado, de que valeriam cdigos em escrita cuneiforme ou hieroglifos de duplo sentido
sem instrumentos como estiletes ou bastes e sem a cermica, as tintas e os esmaltes?

Durante quatro milnios os recursos foram bastante limitados. Partimos de pedras,


passamos pela argila, chegamos cermica e aos pigmentos para, finalmente, iniciarmos
uma nova etapa que se iniciou com o papiro e chegou ao papel, utilizado at os dias de hoje.
Do carvo chegamos aos lpis, do estilete evolumos para as penas de ganso, as penas de
ao (criadas no fim da idade moderna), as canetas tinteiro e as esferogrficas. A cada passo
da evoluo tecnolgica surgiam novos desafios e novas possibilidades para a criptologia. O
ritmo, no entanto, era compassado: a cada 100 ou 200 anos, surgia uma novidade.

Na Idade Mdia, por conta de uma certa inrcia na criptografia, a criptoanlise ganhou fora
- a maior contribuio veio dos povos rabes, livres das amarras medievais. A Renascena
deu novo alento cultura ocidental e permitiu que figuras como Alberti, o "pai da criptologia
ocidental", Trithemius, Della Porta e Vigenre divulgassem seus trabalhos e suas descobertas
sobre o assunto. As constantes guerras, as necessidades de expanso e as intrigas polticas
mantinham a criptografia em alta e seus expoentes em destaque. Menos conhecidos, porm
no menos importantes, os decifradores realizavam seu trabalho na retaguarda.

Os ltimos dois sculos da nossa histria caracterizam-se por grandes e importantes


descobertas. Passamos de um mundo movido pela fora braal para um movido a
eletricidade; de um mundo movido a notcia boca-a-boca para um movido a telgrafo, rdio,
telefone, televiso e Internet; passamos de um transporte que usava animais ou vento para
transportes movidos a vapor, motores de combusto, turbinas e energia nuclear. E o que foi
que aconteceu na criptologia? De longos e penosos clculos feitos mo passamos para
mquinas de calcular e computadores.

Comparadas com pocas anteriores, as distncias foram "encurtadas" e o tempo foi


"reduzido" num ritmo alucinante. A informao e o conhecimento passaram por um intenso
processo de "socializao", a tecnologia fica a cada dia mais barata e a criptologia ganhou as
ruas, deixando de ser exclusividade militar ou diplomtica. Dados pessoais passaram a
polarizar a criptografia pela necessidade premente de sigilo no dia-a-dia do cidado comum e
a atividade econmica globalizada passou a exigir sistemas criptogrficos to seguros quanto
os utilizados para guardar segredos de Estado. Por outro lado, a quebra do sigilo tambm se
popularizou: os "hackers" dos tempos atuais nada mais so do que a verso moderna dos
criptoanalistas de gabinete... e quem que segura este povo?

Seja l o que voc estiver pensando depois de ler o que acabo de escrever (provavelmente
"e eu com isto?"), lembre-se que, se, entre outras coisas, sua conta bancria for esvaziada
sem o seu consentimento, nas prximas eleies algum votar em seu nome, seu celular for
clonado ou se aparecer uma despesa no seu carto de crdito que voc desconhece, isto tem
tudo a ver com as novas possibilidades tecnolgicas da nossa poca aplicadas criptologia e
com as atividades decorrentes da sua popularizao

PS: Efemride famosa da data deste artigo: em 31 de maro de 1969 houve aqui no Brasil
um golpe militar. Dizem as ms lnguas que, na verdade, foi em primeiro de abril, mas a
data era ruim porque o dia da mentira e os militares resolveram antecipar.

Grande abrao da v

Atualizao Qui, 03.04.2008 14:21

Voc e a
Criptografia

1
2
3
4
5

(35 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Sb, 31.03.2007 12:46

O incio da histria recente da humanidade traz consigo quase 4000 anos de criptologia.
Foram quatro milnios de idias, engenhosidade e criatividade tanto para esconder
informaes (criptografia) quanto para descobrir informaes escondidas (criptoanlise).
Esta dualidade, criptografia versus criptoanlise, sempre acompanhou a evoluo, as
necessidades e os interesses dos homens - um ser eternamente preocupado em manter
informaes em segredo e curioso o suficiente para sempre querer obter informaes
sigilosas.

A criptologia no trilhou um caminho solitrio - sempre se valeu das inovaes tecnolgicas


de cada poca. Seno, vejamos: o homem inicialmente precisou aprender e dominar a
escrita; somente depois que surgiu a necessidade de "esconder" informaes escritas. Por
outro lado, de que valeriam cdigos em escrita cuneiforme ou hieroglifos de duplo sentido
sem instrumentos como estiletes ou bastes e sem a cermica, as tintas e os esmaltes?

Durante quatro milnios os recursos foram bastante limitados. Partimos de pedras,


passamos pela argila, chegamos cermica e aos pigmentos para, finalmente, iniciarmos
uma nova etapa que se iniciou com o papiro e chegou ao papel, utilizado at os dias de hoje.
Do carvo chegamos aos lpis, do estilete evolumos para as penas de ganso, as penas de
ao (criadas no fim da idade moderna), as canetas tinteiro e as esferogrficas. A cada passo
da evoluo tecnolgica surgiam novos desafios e novas possibilidades para a criptologia. O
ritmo, no entanto, era compassado: a cada 100 ou 200 anos, surgia uma novidade.
Na Idade Mdia, por conta de uma certa inrcia na criptografia, a criptoanlise ganhou fora
- a maior contribuio veio dos povos rabes, livres das amarras medievais. A Renascena
deu novo alento cultura ocidental e permitiu que figuras como Alberti, o "pai da criptologia
ocidental", Trithemius, Della Porta e Vigenre divulgassem seus trabalhos e suas descobertas
sobre o assunto. As constantes guerras, as necessidades de expanso e as intrigas polticas
mantinham a criptografia em alta e seus expoentes em destaque. Menos conhecidos, porm
no menos importantes, os decifradores realizavam seu trabalho na retaguarda.

Os ltimos dois sculos da nossa histria caracterizam-se por grandes e importantes


descobertas. Passamos de um mundo movido pela fora braal para um movido a
eletricidade; de um mundo movido a notcia boca-a-boca para um movido a telgrafo, rdio,
telefone, televiso e Internet; passamos de um transporte que usava animais ou vento para
transportes movidos a vapor, motores de combusto, turbinas e energia nuclear. E o que foi
que aconteceu na criptologia? De longos e penosos clculos feitos mo passamos para
mquinas de calcular e computadores.

Comparadas com pocas anteriores, as distncias foram "encurtadas" e o tempo foi


"reduzido" num ritmo alucinante. A informao e o conhecimento passaram por um intenso
processo de "socializao", a tecnologia fica a cada dia mais barata e a criptologia ganhou as
ruas, deixando de ser exclusividade militar ou diplomtica. Dados pessoais passaram a
polarizar a criptografia pela necessidade premente de sigilo no dia-a-dia do cidado comum e
a atividade econmica globalizada passou a exigir sistemas criptogrficos to seguros quanto
os utilizados para guardar segredos de Estado. Por outro lado, a quebra do sigilo tambm se
popularizou: os "hackers" dos tempos atuais nada mais so do que a verso moderna dos
criptoanalistas de gabinete... e quem que segura este povo?

Seja l o que voc estiver pensando depois de ler o que acabo de escrever (provavelmente
"e eu com isto?"), lembre-se que, se, entre outras coisas, sua conta bancria for esvaziada
sem o seu consentimento, nas prximas eleies algum votar em seu nome, seu celular for
clonado ou se aparecer uma despesa no seu carto de crdito que voc desconhece, isto tem
tudo a ver com as novas possibilidades tecnolgicas da nossa poca aplicadas criptologia e
com as atividades decorrentes da sua popularizao

PS: Efemride famosa da data deste artigo: em 31 de maro de 1969 houve aqui no Brasil
um golpe militar. Dizem as ms lnguas que, na verdade, foi em primeiro de abril, mas a
data era ruim porque o dia da mentira e os militares resolveram antecipar.

Grande abrao da v

Atualizao Qui, 03.04.2008 14:21

Sobre a
autora

1
2
3
4
5

(42 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Qua, 03.09.2003 22:07

SOBRE A CRIPTOGRAFIA NUMABOA

A criptologia uma cincia jovem de histria muito antiga. A criptologia abrange a


criptografia e a criptoanlise. Tanto uma, quanto a outra, j mudaram a histria da
humanidade por mais de uma vez - ambas permeiam e acompanham a evoluo humana. A
criptologia, antigamente considerada como arte e hoje classificada como cincia, sempre
dependeu essencialmente da matemtica, mais especificamente da aritmtica, e da
capacidade criativa de mentes privilegiadas. Na maioria das vezes, a criptografia foi produto
do trabalho de civis, enquanto que a criptoanlise tem na sua histria um cunho militar.

Acho a criptologia fascinante, motivo pelo qual me tornei uma pesquisadora autnoma.

SOBRE A AUTORA

Meu nome Viktoria Tkotz. Sou mdica, formada em 1974 pela Escola Paulista de Medicina,
hoje Universidade Federal de So Paulo, localizada na cidade de So Paulo, Brasil. Nasci em
Camb, Paran, Brasil, descendente de alemes provenientes de Danzig (hoje Gdansk,
Polnia), pioneiros que chegaram para desbravar o Norte do Paran em 1932. Atualmente na
quinta gerao, nossa famlia continua morando e trabalhando em Camb e, juntamente com
outros pioneiros, somos conhecidos como "ps vermelhos" - basta andar descalo na nossa
terra roxa para entender porque.

Sempre me interessei por lnguas, tanto as atuais quanto as antigas. Falo alguns dos idiomas
atuais, dedico-me h alguns anos ao Kanji (escrita chinesa e japonesa) e ao estudo das
peculiaridades da origem e da evoluo das inmeras lnguas existentes no nosso planeta.
Interessam-me sobremaneira as expresses idiomticas e a origem das palavras, indicativas
do temperamento e da personalidade de grupamentos humanos.

A criptologia no est longe da lngua escrita. Dedico-me a este tema h alguns anos, porm
resolvi publicar alguns textos na Internet somente em 2002. O interesse demonstrado foi
surpreendente desde o incio da publicao, motivo pelo qual continuo ampliando esta seo.
Atualmente praticamente impossvel dissociar a criptologia da informtica, outro assunto
no qual tenho grande interesse e que faz parte do meu trabalho atualmente.

Meu interesse e dedicao informtica so muito antigos. Cheguei a trabalhar com cartes
perfurados num enorme computador na poca de faculdade. Naquele tempo nem existia o
termo informtica (usvamos o termo ciberntica), o PC estava para ser inventado, rede s
era usada para dormir, telefone era aparelho de luxo, no existiam relgios digitais, as
calculadoras eram mecnicas... eram os anos 70.

Quando apareceu o primeiro computador pessoal no Brasil, fui uma das primeiras a adquirir
um. A mquina, uma caixinha com um teclado chiclete que usava uma TV comum como
monitor, tinha um processador de 8 bits e possua incrveis 1 Kb de memria ( isso mesmo,
inteiros 1024 bytes de memria!), era um Sinclair, nome do engenheiro ingls que a
construu e comercializou.

Infelizmente no tenho mais este Sinclair porque, depois de alguns meses de experincias,
desmontei o brinquedinho para ver como era feito e resolvi montar minhas prprias
mquinas. Meus computadores no ganharam nomes (eram todos pagos), mas
funcionavam muito bem e tinham muito mais memria ;) Ato contnuo resolvi aprender Basic
e Assembly, que eram as nicas linguagens disponveis na poca, para poder programar. A
programao era literalmente feita "na unha" e eu digitava os valores hexa dos opcodes!

A descrio parece ser a de uma poca jurssica, mas corresponde ao incio de uma exploso
tecnolgica. Esta atividade, inicialmente encarada como hobby, foi e continua sendo muito
divertida. Ento, porque no publicar na Internet e dividir tudo com todos NumaBoa?

Meus textos sobre informtica, linguagens de programao e sistemas de rede (incluindo-se


a a Internet) so produto de mais de 25 anos de pesquisas e estudos. Baseiam-se na minha
experincia pessoal e nas informaes obtidas atravs da leitura de muitos artigos e livros
especializados. Estes textos so anteriores aos referentes criptologia mas, sem dvida
alguma, se complementam. Criptologia e Informtica so assuntos importantes no contexto
atual. Ambos devem ser tratados com seriedade extrema, portanto, as fontes de referncia
so de importncia vital e foram escolhidas com o devido cuidado.

PRINCIPAIS FONTES DE REFERNCIA DE CRIPTOLOGIA

David Kahn, "The Codebreakers", Macmillan, 1967.


Bruce Schneier, "Applied Cryptography", John Wiley & Sons, Inc., 1994
Randy Nichols (LANAKI), "Classical Cryptography Course" (Volumes I e II), Aegean
Park Press, 1995.
Simon Singh, "The Code Book", Anchor Books, 1999.
A. Menezes, P. van Oorshot, F. Vanstone, "Handbook of Applied Cryptography", CRC
Press, 1996.
Peter Wayner, "Disappearing Cryptography", AP Professional, 1996.
Steve Burnett e Stephen Paine, "RSA Security's Official Guide to Cryptography",
Osborne/McGraw Hill, 2001.
Philip R. Zimmermann, "The Official PGP User's Guide", MIT Press, 1995.
Robert E. Lewand, "Cryptological Mathematics", The Mathematical Association of
America, 2000.
Helen Fouch Gaines, "Cryptanalysis", Dover Publications, Inc., 1956.
Charles Berlitz, "Die wunderbare Welt der Sprachen", Knaur, 1982.
Andrew Robinson, "The Story of Writing", Thames and Hudson, 1995.
Georges Jean, "Writing, The Story of Alphabets and Scripts", Gallimard, 1987
(Traduo por Jenny Oates, Thames and Hudson, 1992).

Outras referncias podem ser encontradas na Biblioteca da Aldeia.

NA INTERNET

Schneier, Bruce em Counterpane - Autor do algoritmo Blowfish, figura de destaque


na criptologia atual.
Goebel, Gregory Vaughn em Codes, Ciphers & Codebraking - Engenheiro Eletrnico
formado pela Oregon State University em 1981.
Dr. Mller, Didier em Cours de Cryptologie - PhD e Professor de Matemtica no Lyce
cantonal de Porrentruy, Suia.
Prof. Dr. Pommerening, Klaus em Pommerening: Kryptologie - Professor de
Matemtica e Medicina na Universidade Johannes-Gutenberg em Mainz, Alemanha.
GIMPS em Great Internet Mersenne Prime Search.
Bonavoglia, Paolo em La Crittografia da Atbash a RSA.

Outros links podem ser encontrados na seo de Links da Aldeia.

Atualizao Qui, 16.06.2005 22:47

Introduo Criptografia
NumaBoa

1
2
3
4
5

(57 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Ter, 14.06.2005 21:00

ndice do Artigo

Introduo Criptografia NumaBoa

Estrutura do site

Todas as pginas

A escrita cifrada uma "mania" muito antiga. Foi s o homem inventar o alfabeto e comear
a escrever que logo surgiu a vontade de escrever textos secretos. Os mtodos ou cdigos
utilizados para criar uma mensagem cifrada evoluram lentamente. No incio, havia poucas
pessoas que sabiam escrever e pouca necessidade de esconder o contedo de qualquer
mensagem.

"Cripto" vem do grego krypts e significa oculto, envolto, escondido. Tambm do


grego, graphos significa escrever, logossignifica estudo, cincia e analysis significa
decomposio. Da, CRIPTOLOGIA o estudo da escrita cifrada e se ocupa com a
CRIPTOGRAFIA, a escrita secreta, e a CRIPTOANLISE, a quebra do segredo.

Crianas e adultos gostam (ou precisam) de segredos. A lngua do p (pLem pBra pCo
pMo pE pRa pLe pGal?) uma espcie de criptotografia falada, ou seja, som
encriptado. conhecida como criptolalia. A chave ou cifrante da lngua do p falar "p"
antes de qualquer slaba. A origem do baile de mscaras foi a necessidade de esconder a
prpria identidade - neste caso, a chave a fantasia e a mscara.

A criptologia, como cincia, existe h apenas 20 anos. Antes disso era considerada como
arte. A International Association for Cryptologic Research (IACR) a organizao cientfica
internacional que mantm a pesquisa nesta rea.

Hoje em dia a criptografia voltou a ser muito utilizada devido evoluo dos meios de
comunicao, facilidade de acesso a estes meios e ao volume muito grande de mensagens
enviadas. Telefone fixo e celular, fax, e-mail, etc. so amplamente utilizados e nem sempre
os usurios querem que o contedo seja pblico. Devido a isto, a criptografia evoluu muito
nos ltimos tempos.

Para entender o que feito hoje, o melhor percorrer o caminho da evoluo da


criptografia. Se voc no est pensando em se tornar um especialista no assunto, no tem
problema. Esta abordagem bastante divertida e agrada os leigos e principiantes.

A criptografia a cincia de escrever mensagens que ningum deveria poder ler, exceto o
remetente e o destinatrio. A criptoanlise a cincia de "quebrar" o mtodo utilizado,
decifrar e ler estas mensagens cifradas.

As palavras, caracteres ou letras da mensagem original inteligvel constituem a Mensagem


ou Texto Original, tambm chamado de Mensagem ou Texto Claro. As palavras, caracteres
ou letras da mensagem cifrada so chamados de Texto Cifrado, Mensagem Cifrada
ou Criptograma.

O processo de converter Texto Claro em Texto Cifrado chamado de composio de cifra


ou cifragem e o inverso chamado de decifrao. Curioso que no existem no Portugus
palavras como encifrao, cifragem ou encriptao - existe apenas "compor cifras". Mesmo
assim, no decorrer do texto, vou utilizar os termos encriptao/cifragem com o significado de
compor cifras.

Na prtica, qualquer mensagem cifrada o resultado da aplicao de um SISTEMA GERAL


(ou algoritmocriptogrfico), que invarivel, associado a uma CHAVE ESPECFICA, que
pode ser varivel. bvio que tanto o remetente quanto o destinatrio precisam conhecer o
sistema e a chave.

SEGURANA DA INFORMAO

A criptologia se preocupa basicamente com a segurana de informaes. A segurana da


informao pode ser obtida vrias formas, de acordo com a situao e as necessidades. At
recentemente, informaes importantes eram escritas, autenticadas, armazenadas e
transmitidas utilizando-se papel e tinta.

Com a chegada dos computadores, dos meios magnticos de armazenamento e das


telecomunicaes, a possibilidade de se produzir milhares de documentos idnticos faz com
que fique muito difcil (ou at mesmo impossvel) distinguir as cpias do original. A
identificao, validao e autorizao de um documento eletrnico exigem tcnicas especiais.
A criptografia uma delas.

Mas no pense que a era da criptografia romntica, em forma de arte, tenha acabado. Ainda
a alegria de muitos aficcionados criar ou decifrar criptogramas usando tcnicas antigas,
originais ou modificadas. a chamada criptografia de lpis e papel.
ORGANOGRAMA

Voc vai cansar de ver este organograma. Ele repetido em pontos estratgicos para que
possamos nos situar em cada assunto abordado.

Organograma da Criptologia

A CRIPTOGRAFIA NUMABOA uma das sees do site Aldeia NumaBoa. Como a quantidade
de textos muito grande, esta seo foi dividida em diversas categorias. Para facilitar a
navegao, as categoria possuem o mesmo layout, porm com cores diferentes. Veja a
seguir:

HISTRIA DA CRIPTOLOGIA

A seo de HISTRIA identificada pela cor violeta

A HISTRIA da criptologia, alm de relatar eventos que tenham tido importncia no


desenvolvimento da criptologia, aborda tambm diversos aspectos como as lnguas e escritas
da poca, atividades, influncias religiosas, interesses comerciais e polticos, objetos, uesos e
costumes, enfim, qualquer coisa que tenha relao com o uso da criptologia.

AS GUERRAS

A seo AS GUERRAS identificada pela cor preta

As GUERRAS recebem um tratamento especial e esto numa categoria prpria - a chamada


Sala do Quebra-Pau. Isto porque sempre tiveram grande influncia no desenvolvimento da
criptologia devido ao uso intensivo da mesma nestes perodos conturbados. O interessante
conhecer o impulso que tanto a criptografia quanto a criptoanlise tenham recebido ou, at
mesmo em muitos casos, conhecer as decises baseadas em informaes obtidas graas ao
uso da criptologia e que acabaram mudando o desfecho de algumas guerras.
CRIPTOGRAFIA

A seo de CRIPTOGRAFIA identificada pela cor cinza

Na rea da CRIPTOGRAFIA so abordados os sistemas de cdigos, as cifras e a


esteganografia. esteganografia mesmo, no estenografia como se l em alguns textos.
Cada tpico, alm dos textos explicativos, possui exemplos, exerccios e solues. A maioria
altamente interativa.

CRIPTOANLISE

A seo de CRIPTOANLISE tambm identificada pela cor preta

Na rea da CRIPTOANLISE voc encontra os fundamentos da criptoanlise e os mtodos


mais comumente aplicados. Exemplos prticos de solues e exerccios tambm compem
este bloco.

CRIPTOLOGIA DE LPIS E PAPEL

A seo LPIS E PAPEL identificada pela cor verde

A chamada CRIPTOLOGIA DE LPIS E PAPEL, onde a criptografia e a criptoanlise


prescindem de equipamentos sofisticados, excelente para ilustrar um pouco da sua
histria.

No pense que a criptologia atual, cientfica e matemtica, intimamente ligada a


computadores e tecnologia de ponta, tenha tido uma origem independente. A criptologia
uma s e, da mesma forma que precisamos aprender o alfabeto para podermos ler e
escrever, preciso acompanhar a histria da evoluo da criptologia para podermos
comear.

No bloco Lpis e Papel esto concentrados todos os exerccios referentes aos textos de
criptografia e criptoanlise, alm de algumas brincadeiras e "produes independentes",
made in Aldeia...

MATEMTICA

A seo de MATEMTICA identificada pela cor amarela

Na rea da MATEMTICA voc encontra desde conceitos muito bsicos at funes e


teoremas importantes, imprescindveis para poder entender ou aplicar a chamada
criptografia forte.

A sequncia de apresentao dos temas leva em conta a complexidade da matria e sua


aplicao em criptologia. No se deixe assustar - a Matemtica uma ferramenta
fundamental!

MQUINAS

A seo de MQUINAS identificada pelo castanho

Desde os dispositivos mais simples, como discos e rguas, at as mquinas mais sofisticadas
(para a poca), como a famosa Enigma, as MQUINAS sempre foram auxiliares importantes
da criptografia. At que chegou o computador, que hoje domina soberano tanto na
criptografia quanto na criptoanlise.

INFORMAES

A BIBLIOTECA o local onde voc encontra as referncias bibliogrficas da Aldeia.

Os sites de diversos autores que serviram de pesquisa vrios sites que complementam os
temas aqui abordados so encontrados na categoria Criptografia dos LINKS.

O GLOSSRIO nosso dicionrio de criptologia, servindo como referncia rpida para alguns
dos termos que so comumente utilizados.

A ESCRITA

A ESCRITA apenas para matar a curiosidade. Saiba quando se comeou a escrever, com
que meios e de que forma. Conhea um pouco da histria de vrios ALFABETOS (grego,
copta, rabe, etc) e tambm algumas caractersticas da lngua portuguesa.

ALMANAQUE DA ALDEIA

O Almanaque o playground da Aldeia. Se voc gosta de enigmas, desafios, curiosidades e


de uma turma divertida, faa uma visita.

LABORATRIOS

No Centro de Pesquisas da Aldeia existem vrios laboratrios, alguns deles dedicados ao


estudo, pesquisa e desenvolvimento de algoritmos criptogrficos. No coisa to light, mas
so textos inditos altamente interessantes.

Atualizao Dom, 14.06.2009 13:46

Guerras e
Criptografia

1
2
3
4
5

(14 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Ter, 20.02.2007 14:58

O ser humano e as disputas formam um binmio interessante. Ao mesmo tempo em que os


seres humanos tm como caracterstica viver em grupos, individualmente disputam posio
social, fama, poder e riqueza. fcil perceber que, num grupo, sempre haver lderes e
liderados, e que, fatalmente, se as necessidades de disputa no forem canalizadas de
alguma forma, os liderados acabam desafiando a liderana. Desta forma, os grupos que tm
por hbito realizar disputas intelectuais ou esportivas, tendem a se manter estveis por mais
tempo. Da mesma maneira, disputas entre grupos acabam tendo o mesmo efeito. Isto
explica as escaladas de rivalidade e as guerras? Talvez sim.

Tambm prprio do ser humano tomar posse de terras e da gua. Inicialmente estas
"propriedades" significavam a prpria sobrevivncia e restringiam-se s necessidades do
grupo. Com o transcorrer do tempo, passaram a significar poder e a expanso territorial
tornou-se no s uma "necessidade" como uma realidade. A necessidade de defender
domnios armou o homem, a vontade de expandi-los tambm. A supremacia dos grupos
passou a ser medida pela fora e pela quantidade e qualidade das suas armas. A fora
dependia basicamente de uma boa alimentao, a quantidade de armas dependia de bons
artesos e a qualidade dependia da atividade intelectual de alguns dos membros do grupo. A
propriedade intelectual, portanto, passou a ser um bem precioso a ser guardado e mantido
em sigilo.

O sigilo

Da mesma forma que surgiu a necessidade do sigilo, apareceu a espionagem - a assim


chamada inteligncia. A dualidade sigilo-espionagem incorporou-se na vida dos povos e
adquiriu um valor surpreendente, pois inteligncia significa vitria e vitria significa poder.
Fecha-se o ciclo.

A criptologia a prova mais antiga e a mais duradoura das atividades da inteligncia. Todos
os povos, em todos os tempos, fizeram uso da criptologia: criptografia para manter segredos
e criptoanlise para espion-los. A criptologia marcou presena em todas as civilizaes, em
todos os cantos do planeta, apareceu em todos os tipos de escrita, permeou todas as
atividades e sobrevive at hoje. Encontra-se a criptologia em atividades polticas, contatos
diplomticos, comunicaes militares, produes cientficas e artsticas, atividades
comerciais, industriais, financeiras. Em tempos de paz, a criptologia beneficia praticamente
todas as formas de atividade humana. Em tempos de guerra, por incrvel que parea, passou
a ser o fator decisivo.
Prova de fogo

As guerras costumam a funcionar como "vitamina" criptolgica. Batalhes de combatentes


incgnitos, em pocas de guerra os criptoanalistas costumam trabalhar sob intensa presso
para quebrar o sigilo de informaes inimigas. Ao mesmo tempo, criptgrafos tambm so
submetidos a uma intensa jornada de trabalho para garantir o sigilo das comunicaes. Em
cada guerra travam-se batalhas criptolgicas silenciosas que, muitas vezes, acabam
decidindo o desfecho da mesma.

Nenhuma guerra se justifica mas, como estamos analisando a criptologia, no podemos


ignor-las. As guerras so a prova de fogo de sistemas criptolgicos e de novas tecnologias.
Conhecendo os erros cometidos, ser possvel evit-los no futuro; analisando os sucessos,
ser possvel transform-los em benefcios para os tempos de paz.

Aqui na Aldeia (da paz)

Aqui na Aldeia Numaboa voc encontra alguns textos de apoio para as suas pesquisas
criptolgicas. A histria dos eventos blicos esto na Escolinha da Aldeia: procure na Histria
das Guerras.

Atualizao Qui, 03.04.2008 14:20

Criptografia e Segurana
Pblica

1
2
3
4
5

(35 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Ter, 23.05.2006 10:26

E
xistem dois tipos de criptografia neste mundo: a criptografia que impede sua irmzinha de
ler seus arquivos e a criptografia que impede governos (e o PCC) de ler seus arquivos.

Se eu pegar uma carta, trancar num cofre e esconder o cofre em algum lugar em Nova
Iorque... e depois pedir para voc ler a carta, isto no segurana. Isto obscuridade. Por
outro lado, se eu pegar uma carta, tranc-la num cofre e depois lhe der o cofre com o
desenho de suas especificaes e mais cem cofres idnticos com as combinaes de modo
que voc e os melhores arrombadores de cofres possam estudar o mecanismo do segredo...
e nem assim voc conseguir abrir o cofre para ler a carta, isto segurana.

P
or muitos anos, este tipo de criptografia era domnio exclusivo dos militares. A Agncia de
Segurana Nacional (NSA) dos EUA e seus pares na Rssia, Inglaterra, Frana, Israel, etc, j
gastaram bilhes de dlares no jogo mais do que srio de tornar seguras suas prprias
comunicaes enquanto tentavam quebrar as dos outros. Os cidados comuns, com muito
menos verba e habilidade, tm sido impotentes em proteger sua prpria privacidade destes
governos.

D
urante os ltimos trinta anos houve uma exploso de pesquisas acadmicas pblicas em
criptografia. Pela primeira vez, o estado da arte da criptografia por computador est sendo
praticado fora das paredes seguras das agncias militares. Agora possvel, tanto para voc
quanto para mim, empregar prticas de segurana que podem nos proteger dos adversrios
mais poderosos - segurana que pode, inclusive, proteger-nos das agncias militares.

S
er que o cidado comum precisa realmente deste tipo de segurana? Eu diria que sim. Ele
pode estar planejando uma campanha poltica, discutindo seus impostos ou tendo um caso
ilcito. Ele pode estar desenhando um novo produto, discutindo uma estratgia de marketing
ou planejando uma aquisio hostil. Ele pode estar vivendo num pas que no respeita os
direitos de privacidade dos seus cidados. Ele pode estar fazendo algo que ele sente que no
deveria ser considerado ilegal, mas . Seja qual for o seu motivo, seus dados e
comunicaes so pessoais, so privados e no so da conta de ningum.

Este texto que voc acabou de ler a traduo do prefcio do livro Applied Cryptography de
Bruce Schneier, editado em 1998. J naquela poca, Schneier criticava severamente o chip
Clipper proposto pela administrao Clinton. O Clipper, baseado na concepo orwelliana de
que o governo tem o direito de interceptar comunicaes particulares, permitia praticar
escuta eletrnica. Na verdade, este tipo de interceptao fortalece o poder do governo em
detrimento do direito individual. Uma atitude como esta no simplesmente uma pequena
proposta governamental em alguma rea obscura - uma tentativa unilateral e preemptiva
de usurpar poderes que pertenciam aos cidados.

O Clipper no protege a privacidade. Ele fora os indivduos a confiarem incondicionalmente


no governo, acreditando que ele respeitar a privacidade de todos. O Clipper parte do
princpio que o governo o mocinho e os cidados so todos bandidos. Delrio, acesso de
raiva, exagero? Parece que no! Quase vinte anos depois destas consideraes de Bruce
Schneier, que continua sendo um dos maiores entendidos em segurana e privacidade nos
dias de hoje, somos surpreendidos por uma notcia que apenas confirma suas palavras.

Em maio de 2006, o presidente estadunidense George W. Bush indicou o general da Fora


Area Michael Hayden para ocupar o cargo de diretor da CIA. S para refrescar a memria,
em 2001 a administrao Bush ordenou a implantao de um programa para monitorar as
comunicaes nos EUA.

O motivo? Rastrear "suspeitos de terrorismo" e, como todos so suspeitos...


O mandante? O presidente dos EUA.
O executor? O general de quatro estrelas Hayden, na poca diretor da NSA (Agncia
de Segurana Nacional).

Como vemos, nada de novo no front. As tecnologias melhoram, mas os mtodos continuam
os mesmos. E ns aqui no Brasil, temos com que nos preocupar? Se voc tem certeza de
que o nosso governo no nos persegue e nem invade a nossa privacidade, no se esquea
da Internet. No por acaso que todo o trfego da Amrica do Sul obrigado a passar pelos
backbones em solo estadunidense... e l, pode ter certeza, esto monitorando atividades
pessoais, comerciais e outros que tais. No neura no, assim que a CIA e a NSA se
abastecem de informaes.

T certo, at agora s meti a boca na invaso de privacidade. Mas como que fica a coisa
pro lado do governo, responsvel pela integridade fsica e pela segurana da populao? Para
responder, vou citar mais um exemplo atual. Garanto que, se a gravao da reunio
"secreta" na CPI do Contrabando de Armas, vendida por uma merreca de R$200 para o PCC,
tivesse sido criptografada, o Congresso teria feito a lio de casa: a Famlia Brasileira
agradeceria e o Sr. Marcola & Cia. teria um pouco mais de trabalho para bagunar a vida dos
que ficaram merc da sanha da bandidagem.

Atualizao Ter, 30.06.2009 12:13

Criptografia de chave
pblica

1
2
3
4
5

(23 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Sex, 30.09.2005 03:01

Os algoritmos de chave pblica representam um grande avano na criptografia atual.


A idia do primeiro algoritmo do gnero parece ter sido do britnico James Ellis,
da Communications Electronic Security Group - CESG, em 1960. Ele revela que se inspirou
num texto annimo escrito no Bell Labs durante a Segunda Guerra Mundial. A Agncia
Nacional de Segurana dos EUA (National Security Agency - NSA) alega ter inventado a
criptografia de chave pblica tambm na dcada de 1960. Como tanto a CESG, como a NSA,
so organizaes secretas, estas informaes s foram tornadas pblicas muitos anos mais
tarde.

Na verdade, a criptografia de chave pblica ficou conhecida com a atuao de civis. O


trabalho pioneiro foi de Ralph Merkle e Martin Hellman, mas o que realmente chamou
ateno e causou discusses generalizadas foi o algoritmo criado por Whitfield Diffie e Martin
Hellman.

Um pouco de histria

Malcom
Williamson

Simon Singh apresenta evidncias de que James Ellis, da CESG, foi o primeiro a pensar num
sistema de chave pblica na dcada de 1960. Teve apenas a idia, porm no conseguiu
implementar um algoritmo. Em 1973 Ellis descreveu o seu conceito para um colega recm
admitido, o matemtico Clifford Cocks, que conseguiu chegar numa soluo que,
basicamente, a mesma do RSA. Em 1974, outro colega de Ellis, Malcom Williamson, criou
uma segunda alternativa, esta muito parecida com a soluo de Diffie e Hellman.

Merkle, Hellman e Diffie em


1977 (da esquerda para a direita)

Em 1976, Ralph Merkle, hoje um especialista em nanotecnologia de renome internacional, e


Martin Hellman, criaram o primeiro algoritmo de chave pblica baseado no problema
knapsack, um problema NP-completo. Devido inrcia da Communications of the ACM, a
primeira contribuio de Merkle s foi publicada em 1978. Inicialmente o algoritmo s podia
ser usado para encriptaes, se bem que, mais tarde, Shamir adaptou o sistema para
assinaturas digitais. Atualmente este algoritmo considerado inseguro e no mais
utilizado.

Tambm em 1976, Diffie e Hellman apresentaram seu conceito na National Computer


Conference. Alguns meses mais tarde, na mesma poca em que se discutia a adoo do DES
como padro, apresentaram o trabalho New Directions in Cryptography na IEEE Transactions
on Information Theory. Na ocasio, Diffie e Hellman criticaram o DES, chamando a ateno
da NSA para o tamanho da chave e a fragilidade do sistema. A confuso causada foi
aprecivel, com alguns alegando que as crticas tinham como nico objetivo desmerecer o
trabalho alheio para valorizar o prprio trabalho. Em poucos anos o equvoco foi desfeito
quando o DES foi quebrado por uma equipe independente de pesquisadores e a NSA ficou de
calas curtas

Em 1978, Rivest, Shamir e Adleman lanaram o primeiro algoritmo de chave pblica


completo, que atende tanto a encriptao quanto as assinaturas digitais.

Leonard
Ron Rivest Adi Shamir
Adleman

Depois destes primeiros algoritmos, muitos outros foram propostos, mas a maioria
considerada insegura. Dos que so considerados seguros, muitos so impraticveis porque
tm chaves excessivamente longas ou porque o texto cifrado fica muito maior do que o texto
claro. Dentre os algoritmos seguros e prticos, alguns s se prestam para a distribuio de
chaves. Outros s atendem encriptaes (e, por extenso, distribuio de chaves). Outros,
ainda, s servem para assinaturas digitais. Atualmente existem apenas dois algoritmos de
chave pblica considerados completos (encriptao + assinaturas digitais), o RSA e o
ElGamal. Todos algoritmos de chave pblica so lentos, bem mais lentos do que os
algoritmos de bloco, sendo que alguns deles so to lentos que no permitem a cifragem de
grandes volumes de dados.

O problema da distribuio de chaves

Se quisermos enviar material sigiloso atravs de um canal inseguro, basta cifr-lo com um
algoritmo criptogrfico seguro. Mesmo que seja interceptado, dificilmente poder ser
decifrado. Acontece que, neste caso, o destinatrio tambm recebe o material cifrado e
depende de uma chave para obter o texto claro. Se houvesse um canal seguro para enviar a
chave, no haveria a necessidade de cifrar a mensagem - bastava envi-la atravs deste
canal. Cifrar a chave para envi-la um contrasenso e tambm no resolve o probelma. O
fato que a falta de canais seguros cria um problema muito srio, o problema da distribuio
de chaves.

A troca antecipada de chaves

Uma das formas de contornar o problema seria a troca antecipada de chaves entre as partes.
Apesar de possvel, esta soluo no das melhores porque exige a presena fsica dos
envolvidos. Se remetente e destinatrio morarem perto um do outro, no h motivo para
trocarem mensagens cifradas atravs de canais inseguros; se morarem distantes um do
outro, a troca das chaves depende de grandes deslocamentos e de tempo.

Agora imagine uma empresa onde 3 funcionrios precisam da chave - sero precisos dois
encontros. Se forem 10 funcionrios, o nmero de encontros sobe para 45. A frmula
1/2(n2 - n) d o nmero de encontros necessrios e mostra que, para 1000 funcionrios,
1/2(10002 - 1000) revela o nmero astronmico de 499.500 trocas de chave! Neste caso, o
melhor instituir uma central de chaves (ou um key master) e deixar que cada um retire a
sua. A idia pode parecer boa, mas ainda continua sendo um enorme problema de logstica.
Terceiros de confiana

Se a troca antecipada no a soluo ideal, pode-se optar por terceiros de confiana


(Trusted Third Party ou TTP). TTP uma variao da soluo da central de chaves. Em
termos de organizao, talvez seja um pouco melhor, mas surgem dois novos problemas.
Como o TTP possui todas as chaves, tambm ser capaz de ler todas as mensagens cifradas.
Pior do que isto, caso o TTP se demita ou seja demitido, a empresa precisa renovar todas as
chaves que usa.

Mas o TTP pode ser uma empresa contratada. Neste caso, os funcionrios que prestam
servios para esta empresa, teoricamente, no poderiam ter acesso s chaves. E quem que
pode garantir uma coisa deste tipo? Na verdade, os riscos acabam se multiplicando, o que
tambm torna esta opo pouco vivel.

Os algoritmos de chave pblica

Sistema simtrico

O grande diferencial dos algoritmos de chave pblica a soluo que oferecem para o
problema da distribuio de chaves. Os chamados algoritmos simtricos usam a mesma
chave para cifrar e para decifrar, portanto, as chaves precisam ser distribudas. J os
sistemas assimtricos (que recebem este nome porque as chaves so diferentes) facilitam
enormemente a distribuio das chaves porque existem duas chaves. Uma a chave pblica,
que pode ser publicada e distribuda livremente e servir para cifrar as mensagens. Esta
chave no permite decifrar textos que foram cifrados com ela e tambm no fornece
elementos para calcular a chave privada.

Sistema assimtrico

Fazendo par com a chave pblica, h uma outra que serve apenas para decifrar textos
cifrados com a sua correspondente. Esta a chave privada, que fica apenas sob os cuidados
do seu dono e precisa ser mantida em segredo. Por este motivo esta chave tambm
chamada de chave secreta.

A grande aquisio dos algoritmos de chave pblica justamente esta: a chave cifrante
(pblica) no precisa de maiores cuidados e a chave decifrante (privada) fica sob os cuidados
do proprietrio. Desta forma, o problema da distribuio de chaves se torna irrelevante. Alm
disso, a mudana de um par de chaves tambm no complicado. Basta criar um novo par,
distribuir livremente a chave pblica e resguardar a chave privada. o pulo do gato

Como calcular um par de chaves complementares que fazem esta mgica? Veja como isto
pode ser feito nas descries dos principais algoritmos de chave pblica. Voc as encontra na
seo Criptografia / Chave Pblica.

Fontes
Simon Singh, "O Livro dos Cdigos"
Bruce Schneier, "Applied Cryptography"
Steve Burnett e Stephen Paine, "RSA Security's Official Guide to Cryptography"

Atualizao Ter, 23.06.2009 16:48

Classificao
das cifras

1
2
3
4
5

(21 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Seg, 29.08.2005 15:07

ndice do Artigo

Classificao das cifras

Transposies

Todas as pginas

Muitas vezes as palavras cifra e cdigo so usadas como sinnimos. Mas isto no correto.
Uma cifra um mtodo de se obter um criptograma tratando os caracteres do texto claro
como unidades da cifragem. Geralmente os caracteres so tratados um a um e,
excepcionalmente, em grupos de dois ou trs. Um cdigo um mtodo de se obter um
criptograma tratando palavras ou conjuntos de palavras do texto claro como unidades da
cifragem. Neste caso, o nmero de substitutos pode chegar a alguns milhares e costumam
ser listados em dicionrios, conhecidos como nomenclaturas.

Critrios para a classificao das cifras

As cifras, de acordo com a sua funcionalidade, podem ser classificadas em categorias. Estas,
por sua vez, podem ser divididas em grupos. Conhecendo o funcionamento de uma cifra de
um determinado grupo, este conhecimento pode ser aplicado a outras do mesmo grupo.

Existem duas grandes categorias: as cifras de substituio e as cifras de transposio. A


diferena fundamental entre estes dois mtodos que, na substituio, o valor nomimal ou
convencional dos caracteres do texto original mudado, sem que sua posio dentro do
texto seja mudada; na transposio, apenas a posio dos caracteres do texto original
mudada, sem qualquer alterao no seu valor nomimal. Como os mtodos de encriptao
so radicalmente diferentes, os princpios envolvidos na criptoanlise das duas categorias
tambm so fundamentalmente diferentes.

Existem inmeras classificaes para as chamadas cifras clssicas. Cada autor usa conceitos
diferentes e, o que pior, uma terminologia diferente. Como resultado, a classificao das
cifras clssicas, que no deveria ser complicada, se transformou numa Babilnia. Se com as
cifras clssicas j h discrepncias, imagine com as cifras atuais! Em relao a estas cifras,
tambm denominadas algoritmos criptogrficos, no existe consenso. Este assunto to
polmico que at se transformou em tema de teses de doutorado...

As cifras clssicas

A seguir, um organograma simplificado da Criptologia mostrando a posio das cifras


clssicas:

Organograma simplificado

Na minha opinio (que me desculpem os demais autores), existem trs elementos


fundamentais que precisam ser avaliados para classificar uma cifra:

1. O texto claro - ou o texto original que deve ser cifrado.


2. O criptograma - ou o texto cifrado, resultado da aplicao do(s) mtodo(s).
3. Quando houver, o(s) cifrante(s) - ou a(s) tabela(s) de substituio.

Se no houver o elemento 2 (o cifrante), podemos colocar a cifra na categoria das


transposies. Se os trs elementos estiverem presentes, a cifra estar na categoria das
substituies. Esta a primeira "peneirada"

As cifras de substituio

Quando os caracteres do texto claro so tratados um a um, sendo substitudos por


apenas um smbolo diferente (um -> um), trata-se de uma
substituio monogrmica (mono = um e grama = caracter). Neste caso, o comprimento
do texto original e o comprimento do texto cifrado so iguais. Alm disso, o cifrante possui o
mesmo nmero de smbolos e caracteres que o alfabeto utilizado para escrever o texto claro,
pois para cada smbolo do texto claro existe um smbolo cifrante.

Ainda neste caso, se for usado apenas um cifrante, diz-se que a substituio
monoalfabtica; se for usado mais de um cifrante, ela dita polialfabtica. Tendo
analisado os trs elementos fundamentais da classificao, obtm-se os seguintes grupos:

Substituio monogrmica monoalfabtica, tambm chamada de substituio


simples. Exemplo: O cdigo de Csar.
Substituio monogrmica polialfabtica, chamada simplesmente de substituio
polialfabtica. Exemplo: A cifra de Vigenre.

Quando os caracteres do texto claro so tratados em grupos de mais de uma letra e estes
grupos so substitudos pelo mesmo nmero de caracteres cifrados (vrios -> vrios),
considera-se a substituio como poligrmica. Se o grupo for de duas letras, ela ser
digrmica (dois -> dois); se for de trs letras, ela ser trigrmica (trs -> trs) e assim por
diante. Neste caso, o comprimento do texto claro e do texto cifrado tambm ser igual
porque cada grupo de caracteres substitudo por outro com o mesmo nmero de
caracteres.

Quanto ao nmero de cifrantes, novamente, a substituio pode ser mono- ou polialfabtica


e os grupos obtidos podem ser:

Substituio poligrmica monoalfabtica, tambm chamada simplesmente


de substituio poligrmica. Existem autores que chamam estas cifras de
fracionadas ou ento de bfidas, trfidas, etc.
Substituio poligrmica polialfabtica, da qual no existem exemplos na criptologia
clssica.

Quando os caracteres do texto claro so tratados um a um e substitudos por mais de um


caracter (um -> vrios), a cifra chamada de tomogrmica ou tomogrfica. Tomo vem do
Grego e significa cortar, ou seja, um caracter "cortado" em dois ou mais. Neste caso, o
comprimento do texto cifrado maior do que o do texto claro. Como em todos os casos,
dependendo do nmero de cifrantes, este tipo de substituio pode ser mono- ou
polialfabrica e os grupos seriam:

Substituio tomogrmica monoalfabtica, conhecida como substituio


tomogrmica.
Substituio tomogrmica polialfabtica, da qual tambm no existem exemplos na
criptologia clssica.

Quando cada um dos caracteres do texto claro pode ser substitudo por um caracter de um
conjunto de caracteres possveis (um -> um de vrios), a cifra chamada de homofnica.
Homofnica vem do Grego, onde homo significa igual e fonos significa som, ou seja, h
vrios caracteres cifrados que substituem o mesmo som (ou caracter original). A
denominao deste tipo de cifra deveria ser substituio monogrmica homofnica e
tambm, teoricamente, poderia ser mono- ou polialfabtica. Na criptologia clssica s
existem cifras homofnicas monoalfabticas, onde o cifrante possui um nmero maior de
caracteres do que o alfabeto utilizado na mensagem clara.

As cifras de transposio

A cifra de transposio um mtodo no qual os caracteres do texto original, tratados


individualmente ou em grupos de comprimento constante, so deslocados de acordo com um
sistema predefinido e uma chave. Os caracteres (letras, nmeros, smbolos, etc) NO so
modificados - apenas mudam de posio.

Numa transposio mistura-se as letras do texto original de acordo com uma regra reversvel
qualquer. Em outras palavras, o texto cifrado um criptograma obtido atravs da
permutao dos caracteres do texto original. Este mtodo conhecido desde a Antiguidade,
tendo no scytale (ou basto de Licurgo) usado pelos espartanos seu exemplo mais antigo.

Em mensagens curtas, como no caso de uma nica palavra, este mtodo no seguro
porque existem poucas maneiras de variar a distribuio das letras. Por exemplo, uma
palavra de trs letras s pode assumir 6 formas diferentes (fatorial de 3 6, ou 3! = 3 x 2 x
1 = 6). Desta forma, a palavra SOL s pode adquirir as seguintes formas: sol, slo, osl, ols,
lso e los. Obviamente, medida que o nmero de letras aumentar, o nmero de arranjos se
multiplica rapidamente e fica quase impossvel obter o texto original caso no se conhea o
processo de deslocamento. Por exemplo, uma frase de 35 letras pode assumir 35! =
10.333.147.966.386.144.929.666.651.337.523.200.000.000 formas diferentes.

Uma transposio aleatria parece oferecer um alto nvel de segurana, mas h um


inconveniente: tambm aleatria para o destinatrio, que no teria como decifrar a
mensagem. Para que a transposio seja eficaz, necessrio que o ordenamento das letras
siga um sistema rigoroso, conhecido tanto pelo remetente quanto pelo destinatrio. Com
isto, as possibilidades e a segurana diminuem.

A transposio pode ser uma permutao baseada numa palavra-chave ou obtida atravs de
um dispositivo mecnico, como no caso do Basto de Licurgo ou da grelha. Os sistemas
baseados em grelhas ainda so utilizados nos dias de hoje. A grelha Patronen-Geheimschrift
foi inventada no sculo passado por Eduard von Fleissner e a grelha indefinida foi inventada
por Luigi Sacco durante a I Guerra Mundial.

Os sistemas de transposio, usados isoladamente, possuem um grau de segurana muito


baixo, mas podem ser muito teis quando utilizados em combinao com outros sistemas (a
chamada supercifragem ou recifragem).

Apesar da existncia dos sistemas de transposio clssicos, nada impede que se invente
sistemas pouco "ortodoxos", como no exemplo ao lado. Alis, funcionam muito bem. O texto
claro Encontro s cinco horas no pteo da escola pode se transformar, se retirarmos as
colunas da esquerda para a direita, em ocinc hados oeaea rslto acoar snopt encon

A supercifragem

A supercifragem, tambm conhecida como superencriptao ou recifragem, caracterizada


por uma ou mais cifragens efetuadas num texto que j foi cifrado. O primeiro e mais
conhecido exemplo de recifragem a cifra de Bazeries, cujo mtodo fazer uma
transposio com chave da mensagem clara e, numa segunda etapa, fazer uma substituio
no texto cifrado.

Atualizao Sb, 24.01.2009 13:01

Algoritmos bsicos da
criptografia atual

1
2
3
4
5

(47 votos, mdia 4.3 de 5)


Escrito por vov Vicki

Dom, 28.08.2005 21:24

Um mtodo para cifrar e decifrar chamado de cifra. Alguns mtodos criptogrficos


baseiam-se no segredo dos algoritmos. Algoritmos deste tipo tm apenas interesse histrico
e no so adequados para as necessidades do mundo atual. Todos os algoritmos modernos
usam uma chave para controlar a cifragem e a decifrao, onde uma mensagem s pode ser
decifrada se a chave corresponder chave de cifragem.

As classes de algoritmos com chave

Existem duas classes de algoritmos baseados em chaves: os simtricos, ou com chave


secreta, e os assimtricos, ou de chave pblica. O que os diferencia que os algoritmos
simtricos utilizam a mesma chave tanto para cifrar quanto para decifrar, enquanto que os
algoritmos assimtricos usam chaves diferentes e a chave decifradora no pode ser derivada
da chave cifrante.

Cifras simtricas

Os algoritmos simtricos podem ser divididos em cifras de fluxo ou sequenciais e em cifras


de bloco. As cifras de fluxo encriptam um texto claro bit a bit, ao passo que as cifras de
bloco usam conjuntos com um nmero fixo de bits (geralmente 64 bits nas cifras modernas)
como unidades de cifragem.

Cifras assimtricas

As cifras assimtricas, tambm chamadas de algoritmos de chave pblica ou, genericamente,


de criptografia de chave pblica, permitem que a chave seja de domnio pblico, podendo
ser publicada na Internet, em jornais ou revistas. Qualquer pessoa pode, ento, cifrar
mensagens utilizando a chave, mas apenas o destinatrio e real proprietrio da chave ser
capaz de decifrar o texto porque o nico que conhece a chave decifrante. A chave cifrante
tambm chamada de chave pblica e a chave decifrante de chave privada ou chave
secreta.

Os algoritmos atuais

Os algoritmos criptogrficos modernos esto muito distantes das chamadas cifras de lpis e
papel. Algoritmos criptogrficos fortes so projetados para serem executados por
computadores ou por dispositivos especializados de hardware. Na maioria das aplicaes, a
criptografia realizada atravs de software de computador.

De modo geral, os algoritmos simtricos so executados muito mais rapidamente que os


assimtricos. Na prtica, muitas vezes so utilizados em conjunto. Por exemplo,
um algoritmo de chave pblica utilizado para cifrar uma chave cifrante gerada
randomicamente e esta chave usada para cifrar a mensagem com um algoritmo simtrico.
Este processo, em alguns casos, denominado cifragem hbrida.

A descrio de muitos algoritmos criptogrficos de excelente qualidade facilmente


encontrada em livros, bibliotecas cientficas, escritrios de patentes ou mesmo na Internet.
As cifras simtricas mais estudadas, e provavelmente as mais disseminadas, so o DES e
seu substituto mais provvel, o AES. O RSA provavelmente o algoritmo assimtrico mais
conhecido.

ASSINATURAS DIGITAIS

Alguns algoritmos de chave pblica podem ser utilizados para gerar assinaturas digitais.
Uma assinatura digital uma pequena quantidade de dados que foram criados usando-se
alguma chave secreta. Atravs de uma chave pblica possvel verificar se a assinatura
realmente foi gerada com o uso da chave privada correspondente. O algoritmo usado para
gerar a assinatura precisa garantir que, se a chave secreta no for conhecida, no seja
possvel criar uma assinatura vlida.

As assinaturas digitais so usadas para verificar se uma mensagem realmente foi enviada
pelo remetente declarado. Tambm podem ser usadas para datar documentos: uma
pessoa de confiana assina o documento, a data e a hora com sua chave secreta, atestando
que o documento existia no momento indicado.

Assinaturas digitais tambm podem ser usadas para testemunhar (ou certificar) que
determinada chave pblica pertence a uma determinada pessoa. Isto feito assinando-se a
combinao da chave e a informao sobre o proprietrio atravs de chave de confiana. A
assinatura digital de terceiros de confiana (proprietrios de chaves de confiana), a chave
pblica e a informao a respeito de seu proprietrio so geralmente chamadas
de certificados.

A confiana numa chave de terceiros pode ser obtida atravs de uma nova assinatura por
outra chave de confiana, e assim por diante, formando uma hierarquia de confiana.
Independentemente do nmero de assinaturas, preciso existir uma raiz nesta hierarquia,
isto , a confiana no se deve a algum, mas sim porque se acredita a priori que
determinada chave seja de confiana. Numa infraestrutura centralizada de
chaves existem poucas razes na rede de confiana, por exemplo, as agncias
governamentais de confiana. Estas razes tambm so chamadas deautoridades de
certificao. Numa infraestrutura distribuda no existe a necessidade da existncia de
quaisquer razes universalmente aceitas e cada pessoa pode ter razes de confiana
diferentes. Este o conceito de teia de confiana usado, por exemplo, no PGP.

A assinatura digital de um documento qualquer tipicamente criada computando-se


um resumo do texto do documento, concatenado a informaes sobre o assinante, data e
hora, etc. A string resultante ento cifrada usando-se um algoritmo apropriado e este bloco
de bits cifrados a assinatura. Geralmente esta distribuda juntamente com a chave
pblica utilizada. Para conferir a assinatura, o destinatrio precisa determinar inicialmente se
acredita que a chave pertence pessoa qual se imagina que deve pertencer (usando a teia
de confiana ou um conhecimento a priori) e depois decifrar a assinatura usando a chave
pblica da referida pessoa. Se a assinatura puder ser decifrada corretamente e a informao
corresponder mensagem (resumo apropriado, etc), a assinatura aceita como vlida.

Existem vrios mtodos para gerar e verificar assinaturas digitais. O algoritmo mais
conhecido o RSA.

FUNES HASH

A traduo literal de hash "picar, misturar, confundir". Funes criptogrficas hash so


usadas em vrios contextos, por exemplo, para computar um resumo de mensagem ao criar
uma assinatura digital. Uma funo hash comprime os bits de uma mensagem com um valor
hash de tamanho fixo, distribuindo equitativamente as mensagens possveis entre os valores
hash possveis. Uma funo hash dificulta extremamente a tarefa de adequar uma
mensagem qualquer a um valor hash particular.

Funes hash costumam produzir valores hash de 128 bits ou mais. Este nmero, 2 128,
muito maior que o nmero de mensagens diferentes que possam ser trocadas no mundo
todo. O motivo pelo qual se necessita mais de 128 bits baseia-se no paradoxo do
aniversrio. A grosso modo, o paradoxo do aniversrio afirma que, se uma determinada
funo hash mapear qualquer mensagem num resumo hash de 128 bits, podemos esperar
que o mesmo resumo ser computado duas vezes quando 264 mensagens randomicamente
selecionadas tiverem sido "hasheadas".

Muitas funes hash podem ser obtidas gratuitamente. As mais famosas so as da famlia
MD, especialmente a MD4 e a MD5. A MD4 j foi quebrada e a MD5, apesar de ainda ser
muito utilizada, tambm deveria ser considerada insegura. A SHA-1 e a RipeMD-160 so dois
exemplos do que ainda se considera o estado da arte.

GERADORES DE NMEROS RANDMICOS

Geradores de nmeros randmicos geram nmeros randmicos para uso em aplicaes


criptogrficas como, por exemplo, chaves. Geradores de nmeros randmicos convencionais,
encontrados na maioria das linguagens de programao ou ambientes de programao, no
so apropriados para aplicaes criptogrficas porque foram planejados para usar
randomicidade estatstica e no resistem criptoanlise.

Numa situao tima, os nmeros randmicos baseiam-se em fontes fsicas verdadeiras de


randomicidade que no possa ser prevista. Tais fontes podem incluir rudos de um dispositivo
semicondutor, bits menos significativos de uma entrada de audio ou os intervalos entre
interrupes de dispositivos ou da digitao de um usurio. O rudo obtido de uma fonte
fsica ento "destilado" por uma funo hash para que cada bit dependa de todos os outros
bits. Com alguma frequncia, um grande reservatrio de alguns milhares bits usado para
conter a randomicidade e faz-se com que cada bit do conjunto se torne dependente da
entrada de rudo e de cada um dos outros bits do reservatrio.

Quando no for possvel contar com uma randomicidade fsica, preciso usar nmeros
pseudo-randmicos. Esta no uma situao desejvel mas, com frequncia, ocorre em
computadores de uso geral. Sempre desejvel obter algum rudo ambiental - mesmo sendo
os de latncias de dispositivos, estatsticas de utilizao de recursos, estatsticas de rede,
interrupes de teclado ou qualquer outro. O importante que os dados precisam ser
imprevisveis para qualquer observador externo e, para atingir este objetivo, o conjunto
randmico precisa ter no mnimo 128 bits de entropia verdadeira.

A caracterstica dos geradores de nmeros pseudo-randmicos que possuem um grande


reservatrio ("valor da semente" ou "seed value") com randomicidade. Obtm-se bits deste
reservatrio tirando dados do reservatrio e opcionalmente passando estes dados por uma
funo hash para evitar que o contedo do reservatrio seja revelado. Quando houver
necessidade de mais bits, o reservatrio misturado cifrando seu contedo com uma cifra
adequada de chave randmica (que pode ser retirada de uma parte no utilizada do
reservatrio) de modo que cada bit do reservatrio fique dependente de cada um dos outros
bits. aconselhvel inserir novos rudos ambientais no reservatrio antes de mistur-lo para
fazer com que a previso de valores passados ou futuros se torne ainda mais impossvel.

Apesar de no ser muito difcil criar geradores de nmeros randmicos criptograficamente


fortes, com freqncia eles no so devidamente valorizados. A importncia dos geradores
randmicos precisa ser enfatizada - se mal projetados, podem se tornar o ponto mais fraco
de todo um sistema.

Fonte

SSH Communications Security - Cryptography A-Z

Texto publicado pela primeira vez na Aldeia em 12 Novembro de 2003.

Atualizao Seg, 13.04.2009 13:36

A Histria e a
Criptologia

1
2
3
4
5

(82 votos, mdia 3.8 de 5)


Escrito por vov Vicki
Sex, 17.06.2005 21:00

A histria da criptologia um passeio no campo da criatividade humana. A criptologia foi


usada por governantes e pelo povo, em pocas de guerra e em pocas de paz. Faz parte da
histria humana porque sempre houve frmulas secretas, informaes confidenciais e
interesses os mais diversos que no deveriam cair no domnio pblico ou na mo de
inimigos.

Desde quando existe a criptologia? Quais as pessoas famosas que gostavam de criptologia?
Quais as pessoas que ficaram famosas com a criptologia? Quem usava criptologia?

D uma olhada na linha do tempo. Tem muita coisa interessante. No se esquea de que as
guerras e a necessidade de manter ou conquistar novos territrios sempre foram "vitaminas"
para a Criptologia. E guerra e disputa o que nunca faltou na histria da humanidade!

POCAS DA HISTRIA

comum se dividir a Histria em fases, pocas e perodos seguindo os mais variados


critrios. Um deles dividir a Histria em Idade Antiga, Idade Mdia, Idade Moderna e Idade
Contempornea, porm esta uma sistematizao arbitrria.

Para Toynbee, possvel encontrar unidades mais simples dentro do vasto complexo de
personalidades e fatos sociais que se sucedem sem soluo de continuidade. So as
sociedades e, num sentido mais amplo, as civilizaes que ditam a Histria. Haveria 21
civilizaes, distintas das culturas primitivas de curta durao, das quais ainda hoje cinco
sobrevivem.

J que o critrio arbitrrio, vamos fazer o nosso: analisaremos o perodo antes de Cristo,
depois com a Idade Mdia e finalmente com as histrias recente e atual.

ANTES DE CRISTO ou CRIPTOLOGIA NA ANTIGUIDADE

O perodo antes de Cristo at o ano de 476 conhecido como ANTIGUIDADE ou IDADE


ANTIGA. Abrange as civilizaes dos assrios, egpcios, hebreus, hititas, persas e outros, que
viveram nas vizinhanas do mar Mediterrneo, com o modo de produo asitico. As culturas
das antigas Grcia e Roma, s vezes chamadas de civilizaes clssicas, so tambm
consideradas parte da Antiguidade, com o modo de produo escravista.

Os antigos babilnios foram grandes matemticos e se interessavam pela astronomia. At


hoje usamos seu mtodo de diviso por 60 na contagem do tempo em segundos e minutos.
Nosso calendrio provm do que era usado pelos egpcios e que depois foi modificado pelos
romanos. Ainda hoje as obras de cientistas gregos, como Euclides, Arquimedes e Aristteles,
so consultadas.

Ignora-se quando e quem inventou o primeiro alfabeto, mas certo que veio de uma das
culturas antigas. Os fencios, ao que tudo indica, o teriam difundido pelo mundo
mediterrneo.

E da? J existia criptologia na Idade Antiga? Como cincia oficializada, a resposta no.
Como aplicao prtica, sim!
IDADE MDIA ou CRIPTOLOGIA MEDIEVAL

Classicamente, a Idade Mdia vai de 476, data da queda do Imprio Romano, at 1453, data
da queda de Constantinopla. Do incio da idade mdia at Carlos Magno, que funda o Santo
Imprio Romano, catlico e feudal, h um longo perodo de transio.

A Idade Mdia marcada pelas migraes e invases brbaras, a expanso do islamismo, a


fundao do imprio de Carlos Magno, a organizao feudal, a Cavalaria e as Ordens
Militares, as Cruzadas, a organizao da Igreja Catlica e o prestgio temporal dos papas,
heresias e Inquisio, a formao das monarquias feudais e o incio das monarquias
modernas do Ocidente, a luta entre o Imprio e o papado, a guerra dos Cem anos, a Magna
Charta Libertatum, documento fundamental das liberdades modernas, o Cisma do Ocidente,
a formao das monarquias da Europa Oriental, as invases dos mongis e a queda de
Constantinopla, em 1453, que marca o seu fim.

Apesar das proibies (e at perseguies) no chamado perodo das trevas, a criptologia era
uma necessidade, e o movimento renascentista, com incio ao redor de 1300, trouxe grandes
novidades.

CRIPTOLOGIA RECENTE

A histria recente a poca das grandes invenes, dos descobrimentos martimos, da


Renascena. Fatos marcantes foram a centralizao monrquica e o absolutismo, as guerras
religiosas, a nova poltica econmica, o surgimento do Direito das gentes, o advento da
cincia moderna, o classicismo literrio e o desenvolvimento artstico, a formao das
potncias modernas e a expanso colonial.

Em 1789 ocorre a Revoluo Francesa seguida pela era napolenica, pela luta pelo Estado
nacional e constitucional, pelas revolues democrticas e pelo aparecimento da questo
social e pelo imperialismo colonial. a poca das grandes invenes, principalmente
relacionadas comunicao: o telgrafo e o rdio mudam radicalmente o papel da
criptologia.

A CRIPTOGRAFIA ATUAL

Em 1900 o desenvolvimento tecnolgico continua e as duas Grandes Guerras aumentam


exponencialmente a importncia da criptologia. Seus efeitos so sentidos tanto na
criptografia quanto na criptoanlise.

O computador tem um impacto ainda maior que os j causados pelo telgrafo e pelo rdio -
a criptologia distancia-se dos conceitos tradicionais para entrar numa nova era.

LINKS DE HISTRIA DA CRIPTOLOGIA

Nos Links da Aldeia, quando o assunto criptografia..., existem diversas referncias sobre a
histria da criptologia. Vale a pena dar uma sapeada!
Atualizao Qui, 03.04.2008 13:28

A Linha do Tempo da Criptografia na


Antiguidade

1
2
3
4
5

(100 votos, mdia 3.8 de 5)


Escrito por vov Vicki

Sex, 17.06.2005 21:00

Acompanhe na Linha do Tempo da Criptografia os fatos marcantes e os procedimentos


criptolgicos explicados e exemplificados neste site. uma forma de no se "perder no
tempo", de se situar com mais facilidade nas pocas dos acontecimentos.

Substituio Simples e Esteganografia

1900 a.C. A histria acontece numa vila egpcia perto do rio Nilo
chamada Menet Khufu. No tmulo de Khnumhotep II,
homem de grande importncia, alguns hierglifos foram
substitudos por outros mais "importantes e bonitos".
Kahn considera este fato como o primeiro exemplo
documentado de escrita cifrada.

1500 a.C. A criptografia da Mesopotmia ultrapassou a egpcia,


chegando a um nvel bastante avanado. O primeiro
registro do uso da criptografia nesta regio est numa
frmula para fazer esmaltes para cermica. O tablete de
argila que contm a frmula tem apenas cerca de 8 cm x 5
cm e foi achado s margens do rio Tigre. Usava smbolos
especiais que podem ter vrios significados diferentes.
(Kahn)
Nesta poca, mercadores assrios usavam "intaglios", que
so peas planas de pedra com inscries de smbolos que
os identificavam. O moderno comrcio com assinaturas
digitais estava inventado!
Esta tambm foi a poca em que culturas como a do Egito,
China, ndia e da Mesopotmia desenvolveram a
esteganografia:
* Tatuagens com mensagens na cabea de escravos.
Infelizmente era preciso esperar o cabelo crescer para
esconder a mensagem. A decifrao era feita no
barbeiro...
* Marcas na parte interna de caixas de madeira usadas
para transportar cera. As marcas eram escondidas com
cera nova. Para decifrar, bastava derreter a cera.
* Mensagens colocadas dentro do estmago de animais...
e tambm de humanos.

600 a 500 a.C. Escribas hebreus, escrevendo o Livro de Jeremias, usaram


a cifra de substituio simples pelo alfabeto reverso
conhecida como ATBASH. As cifras mais conhecidas da
poca so o ATBASH, o ALBAM e o ATBAH, as chamadas
cifras hebraicas. (Kahn)

Se que realmente existiu, o scytalae espartano ou basto


de Licurgo era um basto de madeira ao redor do qual se
enrolava firmemente uma tira de couro ou pergaminho,
longa e estreita. Escrevia-se a mensagem no sentido do
comprimento do basto e, depois, desenrolava-se a tira
com as letras embaralhadas.

sculo 400 a.C. Textos gregos antigos, de Enas, o Ttico, descrevem


vrios mtodos de ocultar mensagens. Este cientista
militar e criptgrafo inventou um telgrafo hidro-tico,
um sistema de comunicao distncia. Dois grupos,
separados por uma distncia em que ainda era possvel
reconhecer a luz de uma tocha e que quisessem enviar
mensagens deviam possuir dois vasos iguais. Os vasos
tinham um abertura no fundo, fechada por uma rolha, e
eram preenchidos com gua. Um basto, que tinha
mensagens inscritas, era colocado em p dentro do vaso.
Ao sinal de uma tocha, as rolhas eram retiradas
simultaneamente. Quando o nvel da gua estivesse na
altura da mensagem que se queria transmitir, outro sinal
luminoso era enviado para que as rolhas fossem
recolocadas.

300 a.C. Artha-sastra, um livro atribudo a Kautilya, foi escrito na


ndia. Cita diversas cifras criptogrficas e recomenda uma
variedade de mtodos de criptoanlise (o processo de
quebrar cdigos) para obter relatrios de espionagem. Os
processos so recomendados para diplomatas.

Euclides de Alexandria, matemtico grego que viveu


aproximadamente de 330 a.C. a 270 a.C., compilou e
sistematizou o que havia na poca sobre geometria e
teoria dos nmeros. o famoso texto "Elementos", o livro
mais publicado na histria da humanidade (no a Bblia,
como se costuma dizer). Euclides nem de longe poderia
imaginar a tremenda influncia que sua obra teria nos dias
da moderna criptologia feita por computador.

Erasttenes de Cirene, filsofo e gemetra grego, viveu de


276 a.C. a 194 a.C. Conhecido como criador de um mtodo
para identificar nmeros primos, chamado de crivo de
Erasttenes, e por ter calculado o dimetro da Terra com
surpreendente preciso.

200 a.C. Polbio, um historiador grego nascido em Megalpolis e


que viveu de 204 a.C. a 122 a.C., escreveu vrios livros
sobre o Imprio Romano. Descreveu tambm uma cifra de
substituio que converte os caracteres da mensagem
clara em cifras que, apesar de no ser da sua autoria, ficou
conhecida como Cdigo de Polbio.

130 a.C. Em Uruk, na regio do atual Iraque, era comum os escribas


transformarem seus nomes em nmeros dentro do
emblema que identificava seus trabalhos. A prtica,
provavelmente, era apenas para divertir os leitores e no
estava relacionada segurana.

50 a.C. O imperador romano Jlio Csar usou uma cifra de


substituio para aumentar a segurana de mensagens
governamentais. Csar alterou as letras desviando-as em
trs posies - A se tornava D, B se tornava E, etc. s
vezes, Csar reforava sua cifragem substituindo letras
latinas por letras gregas.
O Cdigo de Csar o nico da Antiguidade que continua
sendo usado at hoje. Atualmente denomina-se qualquer
cifra baseada na substituio cclica do alfabeto de Cdigo
de Csar.

79 d.C. A frmula Sator ou quadrado latino encontrado em


escavaes feitas em Pompia, inscrito numa coluna.
Ocorre tambm num amuleto de bronze, originrio da
sia Menor, datado do sculo V. As palavras rotas arepo
tenet opera sator parecem ter o efeito mgico de nunca
desaparecem... persistem at hoje como um enigma de
transposio.

200 d.C. O Papiro de Leiden, um texto que detalha como fazer


poes especiais, possui texto cifrado nos trechos cruciais
das receitas. Exemplos destas "receitas mgicas" so as
que supostamente fazem com que um homem ame uma
mulher ou que provoquem uma doena de pele incurvel.
S para informar, as receitas no funcionam

400 d.C. Kama-Sutra, escrito por Vatsayana, classifica a criptografia


como a 44 e 45 das 64 artes que as pessoas deveriam
conhecer e praticar:
* A arte de saber escrever em cifras e de escrever palavras
de uma forma peculiar.
* A arte de falar mudando as formas da palavra, conhecida
como criptolalia.

Fontes

Kahn, David - The Codebreakers.


Diversas fontes na Internet

Texto publicado pela primeira vez na Aldeia em 26 de Agosto de 2002.

Atualizao Qui, 03.04.2008 13:29

O Livro de Jeremias e o
Atbash

1
2
3
4
5

(56 votos, mdia 4.0 de 5)


Escrito por vov Vicki
Qui, 16.06.2005 21:00

O que que andava acontecendo nos idos de 600 a 500 antes de Cristo? Ser que o pessoal
era muito diferente? Uma coisa certa: eles no tinham computador, mas sabiam escrever.
Sorte nossa, pois foi atravs dos escritos da poca que hoje podemos ter uma idia de como
as coisas andavam por l.

Como o hebraico arcaico datado em 1500 a.C., o pessoal teve 1000 anos para dar tratos
bola e ns j sabemos: onde tem escrita... tem criptologia para guardar os segredos!

O PROFETA JEREMIAS

Geremia de Michelangelo

Jeremias foi um profeta hebreu. Filho de Helcias, nasceu em 650 a.C. em Anandote, um
povoado a nordeste de Jerusalm, e morreu no Egito, em 580 a.C. Foi sacerdote do povoado
de Anadote e previu, entre outras coisas, a invaso babilnica - Nabucodonosor atacou Israel
em 597 a.C. e novamente em 586 a.C., quando destruiu Jerusalm e queimou o templo.

Entrada da Antiga Jerusalm

O livro de Jeremias o segundo dos livros dos principais profetas da Bblia. Os captulos 1 a
24 registram muitas das suas profecias. Os captulos 24 a 44 relatam suas experincias. Os
remanescentes contm profecias contra as naes. provvel que seu secretrio tenha
reunido e organizado grande parte do livro. Na histria de Babel foi usado o mtodo Atbash
de criptografia.

O Livro das Lamentaes, uma dos livros poticos do Antigo Testamento, segundo a tradio
tambm foi escrito por Jeremias. Fala sobre a destruio de Jerusalm por Nabucodonosor, a
corrupo dos lderes e do povo e seus sofrimentos aps a conquista. Contm comoventes
preces a Deus, uma splica por perdo e restaurao.
CONTEMPORNEOS

Nabucodonosor II, rei da Babilnia de 605 a.C. a 562 a.C., sobre quem tanto o Velho
Testamento como as fontes babilnicas tm muito a dizer, tomou Jerusalm em 587 a.C. e
destruiu a cidade. Aprisionou os judeus e os enviou Babilnia. O Velho Testamento fala dos
acessos de loucura de Nabucodonosor, em que este se imaginava um boi e saa pelos
campos para comer grama. Durante seu reinado, a Babilnia tornou-se uma das mais
magnficas cidades do mundo.

Jeremias tinha 45 anos quando Nabucodonosor II tornou-se rei da Babilnia. Previu a


invaso dos babilnios. Aos 53 anos viu a primeira invaso e, dez anos mais tarde, viu a
destruio de Jerusalm e a destruio do templo.

Atualizao Dom, 14.06.2009 13:51

A Linha do Tempo da Criptografia


medieval

1
2
3
4
5

(55 votos, mdia 3.9 de 5)


Escrito por vov Vicki

Ter, 30.08.2005 04:05

ndice do Artigo

A Linha do Tempo da Criptografia medieval

1300 a 1453

Todas as pginas

Desde os idos do fim do Imprio Romano at perto da poca do descobrimento do Brasil,


esta a chamada Idade Mdia. Classicamente o perodo medieval vai de 476, data da queda
do Imprio Romano, at 1453, data da queda de Constantinopla. O incio da Idade Mdia na
Europa considerado como o "perodo das trevas" por ter sido a poca das grandes
proibies. Infelizmente a criptologia tambm no escapou desta "recesso". Muito do
conhecimento sobre o assunto foi perdido porque era considerado magia negra ou bruxaria.

Nesta poca, a contribuio rabe-islmica foi significativa, principalmente com a inveno


da criptanlise para a substituio monoalfabtica. A denominao "Cifra", "Chiffre", "Ziffer",
etc, como tambm "zero", utilizada em muitas lnguas, vem da palavra rabe "sifr", que
significa "nulo".

A Itlia foi a primeira a acordar do pesadelo medieval, iniciando o movimento renascentista


ao redor de 1300. Foi responsvel pelos primeiros grandes avanos e, como no podia deixar
de ser, tambm na criptografia. Veneza criou uma organizao especializada em 1452, cujo
nico objetivo era lidar com os segredos, as cifras e as decifraes. Esta organizao possua
trs secretarias que quebravam e criavam cifras que eram usadas pelo governo.

Substituio Simples e Criptoanlise

718-786 al-Khalil, cujo nome completo era Abu Abd al-Rahman al-
Khalil ibn Ahmad ibn Amr ibn Tammam al Farahidi al-Zadi al
Yahmadi, escreveu o livro Kitab al Mu'amma (O livro das
mensagens criptogrficas), em grego, para o imperador
bizantino. Infelizmente este livro foi perdido. Alm disso, al-
Khalil decifrou um criptograma bizantino muito antigo. Sua
soluo baseou-se no incio do texto original, que ele sups
corretamente como sendo "Em nome de Deus" - modo
comum de comear qualquer texto naquela poca. Este
mtodo criptanaltico, conhecido como mtodo da palavra
provvel, tornou-se padro. Foi usado at na decifrao de
mensagens cifradas pela mquina Enigma, durante a Segunda
Guerra Mundial. (Pommerening)

801-873 al-Kindi, cujo nome completo era Abu Yusuf Yaqub ibn Is-haq
ibn as Sabbah ibn 'omran ibn Ismail Al-Kindi, escreveu Risalah
fi Istikhraj al Mu'amma (Escritos sobre a decifrao de
mensagens criptogrficas). Este livro est conservado, sendo
o mais antigo sobre criptologia. Nele, o autor faz anlises de
frequncia, razo pela qual Al-Kindi pode ser considerado o
bisav da Matemtica Estatstica.

855 Abu Bakr Ahmad ben Ali ben Wahshiyya an-Nabati publicou
vrios alfabetos cifrantes, os quais eram tradicionalmente
usados para mgicas. (Kahn)

sculo 1000 O Emirado Ghaznavida foi fundado por Sebk-Tigin, um


governador de Ghazni, no Afeganisto. Revoltando-se contra
o Emirado Samanida, ele estabeleceu um estado que
controlava o Afeganisto, partes da Prsia e do norte da
ndia. O emirado existiu de 977 at 1186.
"Alguns documentos com textos cifrados do governo
Ghaznavida na Prsia conquistada sobrevivem e um cronista
relata que altos oficiais recebiam cifras pessoais antes de
serem enviados para ocupar novos postos. Mas a falta de
continuidade dos estados islmicos e a consequente falha em
desenvolver um servio civil e em criar embaixadas
permanentes em outros pases acabou por restringir o uso da
criptografia." (Kahn)

1119-1311 O Templo era uma ordem de monges combatentes fundada


em 1119 pelos cavaleiros Ugo dei Pagani e Geoffrey de Saint-
Omer para proteger os peregrinos na Terra Santa. Logo aps
a fundao da ordem em Jerusalm, Balduno II, imperador
de Constantinopla, concedeu-lhe um palcio nas
proximidades do templo de Salomo, donde se originou o
nome Templrios.
A ordem enriqueceu rapidamente graas a numerosas
doaes e se tornou uma organizao internacional que, por
muito tempo, teve uma influncia notvel, rivalizando com a
do rei da Frana e a do prprio Papa. A organizao cifrava
suas letras de crdito utilizando um mtodo prprio.
Em 1291, os templrios foram obrigados a abandonar a Terra
Santa, fugindo para a ilha de Chipre. Em 1311, a ordem dos
templrios foi dissolvida por Felipe, o belo. Em srias
dificuldades financeiras, Felipe mandou prender e torturar os
templrios, fazendo com que lhe entregassem suas riquezas.
Um ano mais tarde, em 1312, um decreto do Conclio de
Viena aboliu a ordem.

1187-1229 Ibn DUNAINIR ou Ibrahim ibn Mohammad ibn Dunainir,


autor do livro redescoberto em 1987, Maqasid al-Fusul al-
Mutarjamah an Hall at-Tarjamah (Explicaes claras para a
soluo de mensagens secretas). O livro contm uma
inovao importante: cifras algbricas, ou seja, a substituio
de letras por nmeros que podem ser transformados
aritmeticamente. (Pommerening)

1187-1268 Ibn ADLAN ou Afif ad-Din ibn Adlan ibn Hammad ibn Ali al-
Mousili an-Nahwi al-Mutarjim, autor do livro redescoberto
em 1987, Al-Mu'allaf lil-Malik al-Ashraf (Escrito para o Rei al-
Ashraf) com explicaes detalhadas de criptoanlise.
(Pommerening)

1226 Em 1226, uma criptografia poltica discreta apareceu nos


arquivos de Veneza, onde "pontos e cruzes substituam as
vogais em algumas palavras esparsas". (Kahn)

1250

O frade franciscano ingls Roger Bacon (1214-


1294), conhecido como "Doctor mirabilis", possua vastos
conhecimentos lingusticos, sobre fsica e as cincias naturais.
Corrigiu o calendrio Juliano, aperfeioou diversos
instrumentos de tica e antecipou vrias invenes
modernas, tais como mquinas a vapor, telescpios,
microscpios, aeroplanos, etc. Descreveu sete mtodos de
cifras e escreveu: "Um homem louco se escrever um
segredo de qualquer outra forma que no seja a de o
dissimular do vulgar." (Kahn)

anos 1300 `Abd al-Rahman Ibn Khaldun escreveu o Muqaddimah, um


importante relato da histria que cita o uso de "nomes de
perfumes, frutas, pssaros ou flores para indicar letras, ou
[...] sobre formas diferentes das formas das letras aceitas"
como um cdigo usado entre escritrios militares e de
controle de impostos. Ele tambm inclui uma referncia
criptanlise, observando que "escritos conhecidos sobre o
assunto esto em poder do povo". (Kahn)

Substituio Simples e Criptoanlise

131 Ibn AD-DURAIHIM, cujo nome completo era Taj ad-Din Ali ibn
2- Muhammad ibn Abdul'aziz ibn ad-Duraihim, autor do livro
136 redescoberto em 1987, Miftah al-Kunuz fi Idah al-Marmuz(Chaves para
1 a elucidao de mensagens secretas) que contm uma classificao das
cifras, anlises de frequncia em vrias lnguas, uma tabela de
Trithemius(Vigenre) e grades de transposio.

137 Em 1378, depois do Cisma de Avignon, o antipapa Clemente VII decidiu


9 unificar o sistema de cifras da Itlia Setentrional, designando Gabriele
Lavinde para coordenar a tarefa. Lavinde compilou uma coleo de
cifras num manual, do qual o Vaticano conserva uma cpia de 1379.
Com seu alfabeto de substituio combinada (cdigo/cifra), Lavinde
uniu a cifra de substituio a um cdigo com listas de palavras, slabas
e nomes equivalentes. Este sistema foi amplamente utilizado por
diplomatas e alguns civis europeus e americanos por mais de 450 anos.
(Kahn)

139
2

Geoffrey Chaucer,
considerado o melhor poeta ingls antes de Shakespeare, no seu "The
Equatorie of the Planetis", um suplemento do seu "Treatise on the
Astrolabe", incluu seis passagens escritas em cifras. O sistema de cifras
consiste num alfabeto de smbolos de substituio. (Price)
A soluo do criptograma mostrado ao lado : "This table servith for to
entre in to the table of equacion of the mone on either side".

140
1

Simeone de Crema usou uma chave na qual cada vogal do texto original
possua vrios equivalentes. Isto comprova silenciosamente que, nesta
poca, o ocidente conhecia a criptanlise. No pode haver outra
explicao para o aparecimento destes mltiplos substitutos ou
homfonos. O fato dos homfonos serem aplicados a vogais, e no
apenas indiscriminadamente, indica, no mnimo, o conhecimento do
esboo de uma anlise de frequncia. (Kahn)

141 Michele Steno, doge de Veneza, nos d um dos primeiros exemplos de


1 cifras homofnicas: escolhia um dos muitos smbolos para cada
caracter, alm de utilizar nulos e caracteres especiais para certas
palavras de uso frequente.

141 Qalqashandi, Shihab al-Din abu `l-`Abbas Ahmad ben `Ali ben Ahmad
2 `Abd Allah al-Qalqashandi (1355-1418) escreveu em 1412 a Subh al-a
`sha, uma enciclopdia de 14 volumes em rabe, na qual incluu uma
seo de Criptologia. Qalqashandi refere Taj ad-Din `Ali ibn ad-
Duraihim ben Muhammad ath-Tha`alibi al-Mausili, que viveu de 1312 a
1361, como o autor das informaes e cujos escritos sobre criptologia
foram perdidos. A lista de cifras nesta obra inclui tanto a substituio
quanto a transposio e, pela primeira vez, uma cifra com mltiplas
substituies para cada letra do texto original. Tambm atribuda a
Ibn al-Duraihim uma explicao com exemplo de criptanlise, inclusive
o uso de tabelas de frequncia de letras e conjuntos de letras que
podem ocorrer juntas numa palavra. (Kahn)

Fontes

Kahn
Pommerening
Diversas fontes na Internet

Texto publicado pela primeira vez na Aldeia em 1 de Outubro de 2002.

Atualizao Qui, 03.04.2008 13:17

al-
Kindi

1
2
3
4
5

(11 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Dom, 19.06.2005 21:00

al-Kindi (801 -
873)

Apesar de no se saber quem foi o primeiro a perceber que a variao na frequncia de


letras poderia ser explorada para se quebrar cifras, a descrio mais antiga de que se tem
conhecimento e que descreve esta tcnica data do sculo IX e devida ao cientista Abu
Yusuf Ya 'qub ibn Is-haq ibn as-Sabbah ibn 'omran ibn Ismail al-Kindi.

Conhecido como o filsofo dos rabes, al-Kindi foi o autor de 290 livros sobre medicina,
astronomia, matemtica, lingustica e msica. No entanto, seu maior tratado, que foi
redescoberto apenas em 1987 no Arquivo Sulaimaniyyah Ottoman em Istambul, na Turquia,
intitulado "Um Manuscrito sobre Decifrao de Mensagens Criptogrficas".

QUEBRANDO CIFRAS DE SUBSTITUIO

Manuscrito de al-Kindi

Ao lado est a primeira pgina do manuscrito de al-Kindi, "Decifrao de Mensagens


Criptogrficas", contendo a mais antiga descrio de criptoanlise utilizando a anlise de
frequncia de ocorrncia de letras. Devido a este fato, al-Kindi pode ser considerado o bisav
da Estatstica.

As cifras de substituio monoalfabtica pareciam inquebrveis devido ao nmero muito


grande de chaves possveis. Entretanto, havia uma fraqueza que minava sua segurana e a
quebra deste tipo de cifra marca o nascimento da criptoanlise. Tal fato ocorreu durante os
anos dourados da civilizao islmica, quando muitos manuscritos estrangeiros foram
levados para Bagd para integrarem as grandes bibliotecas. Alguns destes manuscritos
estavam encriptados, o que motivou os arrombadores de cdigos a quebrarem as cifras para
descobrirem os segredos que continham.

As letras "A" e "I" so as mais comuns em rabe. No Ingls, as letras mais comuns so o
"E", o "T" e o "A". J no Portugus, as mais frequentes so "A", "E", "O" e "S".

Para maiores detalhes sobre as caractersticas do Portugus leia o texto "Frequncia da


Ocorrncia de Letras no Portugus do Brasil" (clique no item Criptoanlise do menu
Criptografia).
Se uma mensagem cifrada de modo que cada letra seja substituda por uma outra, ento a
nova letra assumir todas os atributos da letra original, inclusive a frequncia com que
utilizada. Desta forma, se a mensagem estiver em Portugus e se a letra mais comum na
mensagem cifrada for G, ento G provavelmente representa A. Se a segunda letra mais
frequente na mensagem cifrada for W, ento a probabilidade de que esteja substituindo o E
bastante grande, e assim por diante.

Fontes

"Cracking the Substitution Cipher" de Simon Singh.


"Zur Frhgeschichte der Kryptologie" de Klaus Pommerening.
Procure as referncias nos Links da Aldeia.
Traduo e Compilao: vov Vicki.

Texto publicado pela primeira vez na Aldeia em 20 de Outubro de 2002.

Atualizao Dom, 14.06.2009 13:57

A Linha do Tempo da Criptografia


recente

1
2
3
4
5

(54 votos, mdia 3.9 de 5)


Escrito por vov Vicki

Ter, 30.08.2005 15:19

ndice do Artigo

A Linha do Tempo da Criptografia recente

1550 a 1580

1585 a 1691

1700 a 1840
1843 a 1893

Todas as pginas

No deu para segurar a era das trevas da Idade Mdia e os europeus comearam a "botar as
manguinhas de fora". Tenho a impresso de que pararam de perseguir, prender e queimar os
"bruxos da criptografia" porque os interesses de Estado dependiam cada vez mais de
criptgrafos e criptoanalistas qualificados

Todos os governos da Europa Ocidental usavam a criptografia de uma ou de outra forma e a


codificao comeou a tornar-se mais popular. Era prtica comum usar cifras para manter
contatos com as embaixadas.

Substituio Polialfabtica e Criptoanlise

1466 Leon Battista Alberti (1404-1472) era amigo de


Leonardo Dato, um secretrio pontificial que o
aproximou da criptologia. Alberti inventou e
publicou a primeira cifra polialfabtica, criando um
disco de cifragem para simplificar o processo, conhecido como
Disco de Alberti (que foi reeditado como um brinquedo
chamado "Captain Midnight Decoder Badge"). Ao que tudo
indica, esta classe de cifra no foi quebrada at os anos de
1800. Alberti tambm tem muitos escritos sobre o estado da
arte de cifras, alm da sua prpria inveno. Usou seu disco
para facilitar a obteno de criptogramas. Estes sistemas eram
muito mais fortes do que a nomenclatura usada pelos
diplomatas da poca e foram aplicados durante muitos
sculos.
O "Trattati in cifra" de Leon Battista Alberti foi publicado em
Roma, na Itlia, em 1470. Continha "especialmente teorias e
processos de cifragem, mtodos de decifrao e dados
estatsticos" (Galland).

1473-1490 "Um manuscrito [...] de Arnaldus de Bruxella usa cinco linhas


de cifras para ocultar a parte crucial da operao da alquimia
que fazia a pedra filosofal." (Kahn)

1474 Em 1474, Sicco Simonetta publicou "Regulae ad extrahendum


litteras zifferatas sine exemplo", um pequeno trabalho
ressaltando "mtodos de decifrao e fornececendo dados
estatsticos considerveis" (Galland). "A data do pequeno
ensaio de Simonetta sobre cifras importante porque se
tratava de um perodo no qual a criptologia se tornou prtica
universal, quando cifras simples evoluram para criptogramas
complicados." (Thompson).

1518 Johannes von Heydenberg aus


Trittenheim/Mosel, ou Johannes Trithemius
(1462-1516), escreveu o primeiro livro
impresso de criptologia. Inventou uma cifra
esteganogrfica na qual cada letra era
representada por uma palavra obtida de uma
sucesso de colunas. A srie de palavras
resultantes ficava parecida com uma orao legtima. Tambm
descreveu cifras polialfabticas na forma de tabelas de
substituio retangulares que, na poca, j tinham se tornado
padro. Introduziu a noo da troca de alfabetos a cada letra.
Trithemius escreveu, porm no publicou, sua Steganographia,
a qual circulou como manuscrito por mais de cem anos, sendo
copiada por muitas pessoas que desejavam extrair os segredos
que se pensava que continha. A verdadeira histria do
feiticeiro que conjurava espritos e praticava magia negra voc
encontra em "O Segredo do Terceiro Livro". Altamente
interessante, recomendo a leitura.
A Polygraphiae libri sex de Trithemius, a qual inclua sua tabela
de substituio Tabula Recta Caesar, foi publicada em 1518,
apesar de haver dvidas quanto data correta. Foi reimpressa
em 1550, 1564, 1571 e 1600. Uma traduo em Francs
apareceu em 1561 e em 1564. (Galland)

1526 O livro Opus novum ...


principibus maxime
vtilissimum pro cipharis, de
Jacopo Silvestri,
impresso. A obra discute
seis mtodos de cifras,
inclusive a cifra de Csar,
para a qual ele recomenda
o uso de um disco de
cifragem. Opum novum foi
escrito para ser um manual
prtico de criptologia que "claramente pretendia alcanar um
vasto crculo de leitores". (Arnold)
Na figura ao lado, observe que o alfabeto-chave de Silvestri
no possua as letras j, v, w e y. "No disco, as trs marcas que
sucedem o Z representam: & para et; um smbolo usado
comumente no Latim medieval para significar us ou um no final
de palavras (p.ex., plurib& = pluribus), ou com, con,
cum ou cun no incio de palavras (p.ex., &cedo = concedo); e
um smbolo usado pararum, a terminao do genitivo plural
latino (illo& = illorum). O zig-zag no centro da figura deve
corresponder a uma pequena manivela para girar os discos
mveis". (Arnold)

1533 Heinrich Cornelius Agrippa von Nettelsheim


(1486-1535) publica o De occulta philosophia, em
Colnia, na Alemanha. No livro 3, captulo 30,
descreve sua cifra de substituio monoalfabtica,
hoje conhecida como Cifra Pig Pen. A traduo literal do nome
Porco no Chiqueiro e vem do fato de que cada uma das letras
(os porcos) colocada numa "casa" (o chiqueiro). Na poca, a
cifra parece ter tido importncia pois, alguns anos mais tarde,
Vigenre a reproduz no seu Traict des chiffres, ou secretes
manieres d'escrire (Paris, 1586, f. 275 v). Aparentemente, esta
cifra foi utilizada pela sociedade secreta dos franco-maons.

1540 Giovanni Battista Palatino publicou seu Libro nvova d'imparare


a scrivere ... Con vn breue et vtile trattato de le cifere. Foi
reimpresso em 1545, 47, 48, 50, 53, 56, 61, 66, 78 e 1588. Uma
verso revisada foi impressa em 1566, 78 e 88.

Substituio Polialfabtica, Nomenclaturas e Criptoanlise

1550 Foi publicado o De subtilitate libri XXI de Girolamo


Cardano (1501-1576). "Esta obra famosa, de um
notvel matemtico, fsico e filsofo contm... uma
quantidade considervel de informaes a respeito de
processos de cifragem". (Galland)
Foi reimpressa em 1551, duas vezes em 54, em 59, outras duas
vezes em 60, e em 80 e 82. Uma traduo francesa foi impressa
em 1556.
Cardano inventou o primeiro mtodo com auto-chave, mas seu
sistema era imperfeito. Outra inveno, a grelha de Cardano,
consiste numa folha de material rgido onde se encontram, em
intervalos ireegulares, pequenas aberturas retangulares da
altura de uma linha de escrita e de comprimento varivel. O
remetente escreve o texto nas aberturas, depois retira a folha e
completa os espaos vazios com letras quaisquer. O
destinatrio pe a mesma grelha sobre o texto cifrado para ler a
mensagem.
Em 1556, Cardano publica De rerum varietate libri XVII, o qual
contm informaes criptogrficas e era a continuao do seu
popular De Subtilitate. Ambos foram "traduzidos e pirateados
por editores por toda a Europa" (Kahn). De rerum foi
reimpresso em 1557, 58, 80 e 81.

1551 John Dee (1527-1608), alquimista, astrlogo e


matemtico ingls, estudou e ministrou aulas no
continente europeu entre 1547 e 1550. Retornou
Inglaterra em 1551, tornando-se astrlogo da
rainha Maria Tudor. Logo aps foi preso acusado de praticar
magia, sendo libertado em 1555. Entre 1583 e 1589 viajou pela
Polnia e Bomia exibindo-se como mgico nas cortes de vrios
prncipes.
Trabalhou com o alfabeto Enoquiano, tambm chamado de
"Linguagem dos Anjos" (h fontes de Enoquiano aqui na Aldeia,
na seo de Downloads/Fontes/Alfabetos alternativos). O
alfabeto desta lngua arcaica composto por 21 letras e foi
criado por Dee e Edward Kelley. A linguagem possui gramtica e
sintaxe prprias, porm apenas pequenos exemplos foram
traduzidos para o Ingls. John Dee tambm criou uma escrita
cifrada que no foi quebrada at hoje.

1553 Giovanni Battista Bellaso (1505-?), secretrio do cardeal Duranti


e do cardeal Rodolfo Pio, introduziu a noo do uso de uma
senha como chave para uma cifra polialfabtica. La cifra del Sig.
Giovan Battista Bellaso foi publicado em 1553, depois corrigido
e reimpresso em 1557 e 1564. Em 1564, Bellaso publicou uma
cifra de auto-chave, melhorando o trabalho de Cardano, o qual
parece ter sido o autor da idia. (Kahn)

1556 A Espanha, sob a regncia de Felipe II, adotou as mais


modernas nomenclatura com homfonos (2 smbolos para as
consoantes e 3 para as vogais) e listas para a substituio dos
di- e trgrafos mais usados. Associados nomenclatura e s
listas, utilizaram cdigos. O sistema foi usado at o sculo XVII
e, cada 3 a 5 anos, as cdigos eram modificados.

1558 Philibert Babou de Bourdaisire (1513-1570), embaixador em


Roma do Rei Henrique II, usa a substituio homofnica na
correspondncia oficial. A cifra de Babou era uma substituio
homofnica simplificada.

1563 O Magiae natvralis libri XX de Giambattista Della


Porta (1535-1615), que no Livro XVI trata de
decifrao, foi publicado em 1558. Foi reimpresso em
1560, duas vezes em 61, em 62, 64, 67, 76, 85, 91, 97
e 1607. Uma traduo francesa annima foi impressa em 1565,
67, 70, 71 e 84.
Em 1563, Della Porta escreveu um texto sobre cifras
introduzindo a cifra digrmica (ou digrfica). Ele classificou as
cifras em cifras de transposio, de substituio e de
substituio por smbolos (uso de alfabetos estranhos). Sugeriu
o uso de sinnimos e erros ortogrficos para confundir os
criptoanalistas. Aparentemente introduziu a noo de alfabeto
misto numa tabela polialfabtica.
Em 1563 publicou o De fvrtivis literarvm notis, vvlgo de ziferis
Libri IIII. No mesmo ano apareceu traduzido em Ingls sob o
ttulo de On secret notations for letters, commonly called
chiphers. Seus quatro livros, tratando respectivamente de cifras
arcaicas, cifras modernas, criptoanlise e uma lista de
peculiaridades lingusticas que ajudavam na soluo,
compilavam o conhecimento criptolgico da poca. Um
conjunto rococ de discos de cifragem acompanhava os livros.
A obra foi reimpressa em 1591, 93, duas vezes em 1602, em
1603 e 1606. (Kahn)
Em 1591, o De fvrtivis de Della Porta foi reimpresso por John
Wolfe em Londres, o qual "aprimorou a edio original de 1563
tornando-a praticamente perfeita".
Em 1593, o De fvrtivis foi reeditado, sem permisso, como De
occvltis literarvm notis e inclua o primeiro jogo de tabelas
criptolgicas sinpticas jamais publicado. Foi reimpresso em
1603 e 1606.

1580 Franois Viete (1540-1603), matemtico francs, foi


quem introduziu a primeira notao algbrica
sistematizada e um dos que contribuiu para a teoria
das equaes. Apesar de ser mais conhecido como
matemtico, ele tambm foi um dos melhores especialistas em
cifras de todos os tempos.
No final do sculo XVI, o imprio espanhol dominava grande
parte do mundo e, justamente por isso, os agentes espanhis
precisavam se comunicar usando uma cifra muito intrincada. Na
realidade, a cifra era composta por mais de 500 caracteres,
usados pelo Rei Felipe II da Espanha durante sua guerra em
defesa do Catolicismo Romano e dos huguenotes franceses.
Algumas mensagens de soldados espanhis foram
interceptadas pelos franceses e acabaram nas mos do rei
Henrique IV da Frana. O rei entregou estas mensagens
espanholas para Viete, o matemtico, na esperana de que ele
as decifrasse. O matemtico teve sucesso e guardou segredo
quando, aps dois anos, os espanhis descobriram seu feito. O
rei Felipe da Espanha, acreditando que uma cifra to complexa
nunca pudesse ser quebrada e tendo sido informado de que os
franceses conheciam seus planos militares, foi se queixar ao
Papa alegando que a magia negra estava sendo usada contra o
seu pas. O Papa, no entanto, no reagiu porque sabia do que se
tratava

Substituio Polialfabtica, Nomenclaturas e


Criptoanlise

1585 Blaise de Vigenre (1523-1596) escreveu um


livro sobre cifras, incluindo os primeiros
sistemas autnticos de texto claro e texto
cifrado com auto-chave, nos quais letras
prvias do texto claro ou cifrado so usadas para a
letra chave atual. Conforme Kahn, ambos foram
esquecidos e reinventados no final do sculo XIX. A
idia da auto-chave sobrevive at os dias de hoje nos
modos CBC e CFB do DES.
Em 1586, Blaise de Vigenre publica seu Traict des
chiffres, de 600 pginas. Nele discute muitas cifras,
inclusive o sistema da "auto-chave progressiva" usada
em algumas mquinas de cifragem modernas, e o
assim chamado mtodo "Vigenre tableau". Foi muito
escrupuloso, dando o devido crdito a outros autores,
destacando-os clara e inequivocamente.

1587 Maria, rainha da Esccia, decapitada por estar


envolvida na tentativa de assassinato da rainha
Elizabete I. Os agentes de Elizabete I desmascararam os
planos da Rainha Mary com a ajuda da criptoanlise.

1591 Matteo Argenti, sobrinho de Della Porta, publica um


folheto de 135 pginas sobre criptologia. Ele utiliza
uma chave mnemnica para misturar o alfabeto
secreto onde deixa de lado as letras duplas.

1592 Julius Caesar Scaliger publicou seu Exotericarvm


exercitationvm liber XV, de 1220 pginas. "Este tratado
filosfico sobre o De subtilitate de Cardano [...] foi um
livro de texto muito popular at a queda final da fsica
de Aristteles" (Galland). Foi reimpresso em 1557, 60 e
76.

Final do sculo XVI A Frana comea a consolidar sua liderana na


criptoanlise.

1620 O cardeal francs Richelieu (1585-1642) usou


um sistema parecido com o de Cardano.
Escrevia uma mensagem qualquer, que fazia
algum sentido e que continha as letras da mensagem
secreta na ordem correta. O destinatrio possua uma
grelha preparada previamente por Richelieu, que
permitia desvendar a mensagem enviada.

1623 Sir Francis Bacon (1561-1626) que se supe,


com grande probabilidade, ter sido William
Shakespeare, inventa um sistema de
esteganografia que ele publicou noDe
dignitate et augmentis scientiarum. Denominou seu
alfabeto de biliteral porque utiliza uma combinao
das duas letras, A e B, em grupos de cinco. A cifra
conhecida pelo seu nome, Cifra de Bacon, hoje em dia
classificada como codificao binria de 5 bits.

1641 John Wilkins (1614-1672), Bispo de Chester,


Inglaterra, na sua obra Mercury; or, The
Secret and Swift Messenger descreve uma
cifra que emprega a notao musical. Alm disso,
descreve vrias formas de sistemas esteganogrficos,
como as tintas invisveis. Menciona o Pig Latin, uma
forma de encriptao falada ou criptolalia e um
alfabeto triliteral.

1663 O franciscano Athanasius Kircher (1601-


1680), estudioso e matemtico alemo,
publicou Polygraphia Nova et Vniversalis ex
Combinatoria Arte Detecta baseando-se
principalmente em Trithemius e Vigenre.
Transformou as cifras polialfabticas em cifras
numricas. Na parte I da obra, Kircher prope um
sistema de pasigrafia, ou escrita universal,
empregando nmeros que correspondem a palavras de
sentido semelhante em Latim, Italiano, Francs,
Alemo e Espanhol.
1670 Francesco Lana Terzi (1631-1687), fsico e naturalista
italiano, publica Prodromo all'Arte Maestra. Nesta obra
tambm inclui uma descrio ilustrada de uma cifra
usando a notao musical. Prope tambm mtodos
para os cegos escreverem e para ensinar surdos a falar.

1671 Gottfried Wilhelm von Leibniz (1646-1716),


filsofo e matemtico alemo, inventou o
clculo diferencial e integral
(independentemente de Sir Isaac Newton), a mquina
de calcular e descreveu minuciosamente o sistema
binrio. Sua mquina de calcular usava a escala binria.
Esta escala, obviamente mais elaborada, utilizada at
hoje, sendo conhecida como cdigo ASCII.

1685 Frederici publica Cryptographia onde, entre outras


coisas, apresenta seu alfabeto triliteral.

1685-1692 Os trabalhos do ingls John Falconer sobre escritas


secretas e transmisso de mensagens cifradas
incluem Cryptomenysis Patefacta ou "A Arte da
Informao Secreta Revelada sem uma Chave" (1685) e
"Regras para Explicar e Decifrar todo Tipo de Escritas
Secretas" (1692). Interessante na Cryptmomenysis
uma seo de semiologia, que Falconer define como
"mtodos de informao secreta atravs de sinais e
gestos". Entre tais sinais e gestos inclui os hierglifos
egpcios e alfabetos atravs do uso dos dedos
(dactilologia). Esta obra foi grandemente influenciada
por Gaspar Schott (1608-1666) e por John Wilkins,
Bispo de Chester (1614-1672).

1691 Antoine Rossignol e seu filho Bonaventure


elaboraram a Grande Cifra de Lus XIV. Ela
caiu em desuso aps a morte dos seus
inventores e suas regras precisas foram
rapidamente perdidas. A Grande Cifra era muito
robusta, tanto que s foi quebrada no final do sculo
XIX (ao redor de 1890). Alguns autores afirmam que foi
quebrada por Bazeries, enquanto outros citam Victor
Gendron, um seu contemporneo.
Substituio Polialfabtica, Nomenclaturas e Criptoanlise.
A eletricidade comea a mudar as comunicaes.

Sculo a poca da espionagem das Black Chambers (Cmaras


XVIII Escuras) na Europa. Viena possui uma das mais eficientes,
chamada de "Geheime Kabinettskanzlei", liderada pelo Baro
Ignaz von Koch. Sua funo consistia em ler a correspondncia
diplomtica internacional, copiar as cartas e devolv-las s
agncias de correio na mesma manh. Relata-se que cerca de
100 cartas eram manipuladas diariamente.
Na Frana eram chamadas de "Cabinet Noir" e existiam desde
1680, formadas por vrios criptoanalistas contratados pelo
governo. A Black Chamber inglesa foi formada por John Wallis
em 1701. Aps sua morte, em 1703, seu neto, William
Blencowe, assumiu seu posto e recebeu o ttulo de Decypherer.
Ao redor de 1850, sem grandes acontecimentos que
justificassem equipes de criptoanalistas "de planto", as Black
Chambers acabaram sendo dissolvidas.

1734 O belga Jos de Bronckhorst, Conde de Gronsfeld, melhora a


Cifra de Csar utilizando um deslocamento varivel baseado
numa chave numrica. Analisando a Cifra de Gronsfeld, como
ficou conhecida, verifica-se que acaba nada mais do que uma
variao da Cifra de Vigenre, porm com apenas 10
deslocamentos possveis ao invs de 26.

1738 Crystobal Rodriguez (?1677-1735) escreveu a Bibliotheca


Universal de la Polygrapha Espaola, publicada em Madrid em
1738. Esta obra considerada como o primeiro estudo
completo da criptografia e da paleografia da Espanha. Consiste
principalmente de numerosas tabelas de alfabetos e sianis e de
facsimiles de apontamentos e documentos escritos em forma
abreviada. Rodriguez, aquivista da Catedral de vila e
comissrio da Inquisio em Valladolid, inseriu muitas
transcries e material explicativo. A introduo de Blas
Antonio Nassarre y Ferriz e trata da escrita na Espanha antes da
invaso dos rabes em 711.

1752 Benjamin Franklin (1706-1790) suspeitava que os


raios fossem correntes eltricas naturais e queria
provar sua teoria. Uma maneira de testar sua idia
seria verificar se um raio passava atravs de metal. Decidiu
ento usar uma chave de metal e utilizou uma pipa para lev-la
para perto dos raios e provar que os mesmos, na realidade,
eram correntes de ar eletrificadas. Soltou a famosa pipa em
junho de 1752, provou sua teoria e acabou criando, alm
do pra-raios, muitos termos que at hoje so utilizados, como
bateria, condutor, condensador, carga, descarga, negativo,
positivo, choque eltrico, etc.
Alm de cientista, Franklin foi inventor, poltico, editor, filsofo,
msico e economista. Apesar da multiplicidade de talentos,
nem de longe poderia imaginar o impacto que a eletricidade
teria na criptografia muitos anos mais tarde, quando os
dispositivos eltricos mudaram totalmente sua feio e sua
evoluo.

1780 Penas de ao comeam a substituir as penas de aves que eram


usadas para escrever.

1795 Thomas Jefferson (1743-1826), possivelmente com a


ajuda do Dr. Robert Patterson, um matemtico da
Universidade da Pensilvnia, inventa um cilindro
cifrante (ou cifra de roda). Apesar da engenhosidade
deste dispositivo composto por 26 discos, nunca chegou a ser
utilizado. O cilindro de Jefferson um dispositivo que permite
realizar com rapidez e segurana uma substituio
polialfabtica.
Os cilindros cifrantes so, por assim dizer, uma inveno do
sculo XIX. Foram re-inventados por diversas vezes e utilizados
pelos militares no sculo XX, at a Segunda Guerra Mundial.

1799 Descobre-se a Pedra da Roseta, atravs da qual


foi possvel decifrar os hieroglifos egpcios: uma
histria de criptoanlise realizada num texto
claro. As mensagens da pedra, que pode ser
considerada um "dicionrio" em trs lnguas,
foram decifradas somente em 1822 por
Champollion, aps uma tentativa frustrada feita por Thomas
Young em 1814. muito interessante porque envolve
conhecimento de lnguas, um grande poder investigativo e uma
boa dose de intuio.

A bateria do Allesandro Volta (1745-1827), nascido


em Como, na Itlia, proporciona a primeira fonte prolongada de
eletricidade. Mais uma etapa no processo de "domar" a
eletricidade, abrindo espao para novos dispositivos eltricos
aplicados criptologia.

1808 O espanhol Francisco de Paula Mart (1762-1827), baseado nas


obras de Trithemius e Kircher, escreve Poligrafa, Arte de
Escribir en Cifra de Diferenter Modos. Expe uma variedade de
cifras, entre elas cifras de substituio numricas e alfabticas.
A segunda parte da obra trata da escrita invisvel, onde Mart
descreve mtodos para tornar textos legveis em mensagens
onde a tinta tenha desbotado ou que tenham sido escritas com
tintas invisveis.

1817 O coronel Decius Wadsworth, engenheiro, produziu um disco


cifrante com engrenagens com um nmero diferente de letras
nos alfabetos claro e cifrante, o que resultou numa cifra
progressiva na qual os alfabetos so usados irregularmente,
dependendo do texto claro utilizado.

1834 Louis Braille (1809-1852), educador francs, ficou


cego aos 3 anos de idade. Interessou-se por um
sistema de escrita, apresentado na escola Charles
Barbier, no qual uma mensagem codificada em
pontos era cunhada em papel-carto. Aos 15 anos de idade
trabalhou numa adaptao, escrita com um instrumento
simples. O Cdigo Braille consiste de 63 caracteres, cada um
deles constitudo por 1 a 6 pontos dispostos numa matriz ou
clula de seis posies. Mais tarde adaptou este sistema para a
notao musical. Publicou tratados sobre seu sistema em 1829
e 1837. O Sistema Braille universalmente aceito e utilizado at
os dias de hoje.

1839 Sir William Brooke O'Shaughnessy, cirurgio ingls


da Cia. das ndias Ocidentais, desenvolve um
sistema de telegrafia e muda a histria do
colonialismo britnico e da Guerra da Crimia.
Apesar de contemporneos, Morse (nos EUA),
Cooke e Wheatstone (na Inglaterra) e O'Shaughnessy (na ndia)
desenvolveram sistemas de comunicao independentes. O
mais amplo e que entrou em funcionamento mais rapidamente
foi o de O'Shaughnessy: em trs anos havia puxado 6.500 km de
linhas que interligavam toda a ndia.

1840 O assistente de Samuel Morse (1791-1872)


desenvolve o cdigo que recebeu o nome do chefe.
Na verdade no um cdigo, mas sim um alfabeto
cifrado em sons curtos e longos. Morse foi o
inventor de um dispositivo que chamou de telgrafo e, em
1844, enviou sua primeira mensagem com os dizeres "What
hath God wrought". A histria de Morse muito interessante
porque, ao contrrio do que se espera, a telegrafia atual se
deve a um artista e no a um cientista. A inveno do telgrafo
alterou profundamente a criptografia e tornou a cifragem uma
necessidade imperiosa.

Substituio Polialfabtica, Nomenclaturas e Criptoanlise.


O rdio muda as comunicaes.

1843 Edgar Allan Poe(1809-1849) publica em 1843 uma


histria que ficou famosa, intitulada "O escaravelho de
ouro", na qual ele narra a aventura de um indivduo
que encontra uma mensagem cifrada num besouro.
Esta mensagem indica a localizao de uma fabuloso tesouro.
Poe, um criptoanalista aficcionado, explica em detalhes como a
mensagem foi decifrada usando tcnicas estatsticas.

1854 Figura polmica, Charles Babbage (1791-1871),


matemtico ingls e hoje chamado de "o pai do
computador", tem uma histria de vida muito
peculiar e ao mesmo tempo divertida. Entre outras
coisas, Babbage quebra a cifra de Vigenre e projeta as
primeiras mquinas de cculo sofisticadas, precursoras do
computador: a Mquina das Diferenas e a Mquina Analtica.

A Cifra de Playfair inventada por Sir Charles


Wheatstone e publicada pelo seu amigo Lyon
Playfair. Esta cifra usa uma matriz de letras com
chaves para produzir uma cifra digrfica, fcil de ser
utilizada em campos de batalha. Wheatstone tambm re-
inventou o dispositivo de Wadsworth.

1857 Aps a morte do almirante Sir Francis Beaufort


(1774-1857), sua cifra, uma variao da cifra de
Vigenre sob a forma de um carto de cerca de
10x13 cm, publicada pelo seu irmo.

1859 Pliny Earle Chase publica a primeira descrio de uma cifra


fracionante (tomogrfica).

1861 O padre brasileiro Jos Francisco de Azevedo inventa a mquina


de escrever. Alm de matemtico, era excelente mecnico.
Ganhou medalha de ouro por um prottipo em 1861, em
exposies no Pernambuco e no Rio de Janeiro. Nos Estados
Unidos, s em 1868 Christopher Sholes registrou a primeira
patente da mquina de escrever.

1863 Friedrich Wilhelm Kasiski nasceu em Novembro de 1805 numa


pequena cidade da Prssia ocidental. Alistou-se no regimento
de infantaria da Prssia oriental aos 17 anos e foi subindo de
posto at chegar a comandante de companhia. Aposentou-se
em 1852 como major. Apesar do interesse pela criptologia
durante sua carreira militar, foi apenas nos anos de 1860 que
comeou a por suas idias no papel. Em 1863, seu texto de 95
pginas Die Geheimschriften und die Dechiffrierkunst (As
escritas secretas e a arte da decifrao) foi publicado. Grande
parte do contedo refere-se soluo de cifras polialfabticas
de chave repetida (a Cifra de Vigenre), um problema que
estava atormentando os criptoanalistas durante sculos. Basta
lembrar que a cifra de Vigenre era considerada inquebrvel
desde o sculo 17. Desapontado com a falta de interesse pelas
suas descobertas, Kasiski voltou sua ateno para outras
atividades, inclusive para a antropologia. Fez parte em
pesquisas arqueolgicas, alm de escrever numerosos artigos
sobre o assunto para jornais especializados. Morreu em Maio
de 1881 sem ver reconhecida a importncia dos seus achados
criptoanalticos.

1861- Durante a Guerra Civil Americana, a Unio utilizou a


1865 substituio de palavras selecionadas seguida de uma
transposio colunar enquanto que os Confederados usaram
Vigenre (cuja soluo tinha acabado de ser publicada por
Kasiski).

1881 O austraco Eduard Baron (Freiherr) von Fleissner von


Wostrowitz (1825-1888) nasceu em Lemberg, filho de um oficial
da cavalaria austraca. Fez parte do Regimento Chevaux-lgeres
Nmero 6, em 1871 tornou-se comandante da escola de oficiais
de denburg, em 1872 foi promovido a comandante de diviso
e em 1874 aposentou-se. Durante sua atividade militar ocupou-
se com meios e mtodos criptogrficos e, em 1881, publicou
em Viena seu livroHandbuch der Kryptographie (Manual de
Criptografia). o inventor da Grade Giratria que leva seu
nome. Esta cifra foi usada por Jlio Verne na novela "Mathias
Sandorf".

1890 Jlio Verne (1828-1905) utilizou a criptografia em trs


de suas novelas, "Viagem ao centro da Terra",
"Mathias Sandorf" e "A Jangada".
1891 O major Etienne Bazeries (1846-1931), comandante
francs, cria uma nova verso de cilindro cifrante,
semelhante ao Cilindro de Jefferson. Oferece o
aparelho ao exrcito francs, mas este foi rejeitado.

1893 As primeiras transmisses de sinais telegrficos e da


voz humana em telefonia sem fio so realizadas em
So Paulo, Brasil, pelo padre Roberto Landell de
Moura (1861-1928). Apesar da presena de
autoridades que comprovaram a eficcia do processo, o mrito
de inventor da telegrafia sem fio acaba ficando com o italiano
Marconi.

Fontes

Kahn, "The Codebreakers"


Mller, Didier
Ellison, Carl
Universidade de Mainz, Pommerenning.
World Information

Texto publicado pela primeira vez na Aldeia em 6 de Junho de 2003.

Atualizao Seg, 13.04.2009 13:52

Leon Battista
Alberti

1
2
3
4
5

(45 votos, mdia 3.9 de 5)


Escrito por vov Vicki

Seg, 20.06.2005 21:00


Alberti
(1402-1472)

Leon Battista Alberti, nascido em Florena em 1404, foi uma das figuras maiores da
Renascena italiana: pintor, compositor, poeta e filsofo, autor da primeira anlise cientfica
da perspectiva.

Ficou mais conhecido como arquiteto. Entre suas obras mais famosas est o Palcio Rucellai
em Florena (1451), a Igreja de So Francisco em Rimini (1455) e a fachada da Igreja de
Santa Maria Novella em Florena (1470).

Desenhou a primeira Fontana di Trevi de Roma e foi autor do primeiro livro impresso sobre
arquitetura, o "De Re Aedificatoria", o qual agiu como um catalisador na transio do
desenho gtico para o renascentista. tambm o autor de um tratado sobre a mosca
domstica e de uma orao fnebre para o seu co.

At cerca dos 40 anos passou a maior parte do tempo estudando as civilizaes antigas da
Grcia e Roma, tornando-se famoso como humanista e latinista erudito. Morreu em Roma
em 1472.

A CIFRA DE ALBERTI

Modus scribendi in ziferas


Apesar de as cifras polialfabticas no terem aparecido seno no final do sculo XVI, sua
origem muito anterior e devida ao florentino Leon Battista Alberti. Ao redor de 1460,
Alberti prope utilizar dois ou mais alfabetos desordenados e de altern-los durante uma
cifragem afim de escapar de uma anlise de frequncia dos criptanalistas potenciais. Foi a
evoluo mais significativa depois de mais de mil anos sem grandes novidades em
criptologia. Alberti ento desenvolve seu conceito em um sistema completo, o qual servir
como base para muitos pesquisadores que utilizaram suas idias: Johannes Trithemius,
Giambattista Della Porta e Blaise de Vigenre.

Seu tratado "De Componendis Cyphris", que escreveu em 1466 ou 1467, um estudo
notavelmente claro composto por vinte e cinco pginas manuscritas em latim. o
documento sobre criptologia mais antigo do mundo ocidental.

neste tratado, explicando como as decifraes so possveis, que ele expe os modos de
preven-las. A partir da, Alberti analisa diversos procedimentos: substituies de tipos
diferentes, transposies de letras dentro de palavras e mensagens obtidas marcando-se as
posies de certas letras num texto inocente. Termina sua introduo com uma cifra de sua
inveno: o disco cifrante, tambm conhecido como Disco de Alberti.

Fixo dois discos numa placa de cobre. Um, o maior, ser fixo e o outro, o menor, mvel. O
dimetro do disco fixo superior em um nono ao do disco mvel. Divido a circunferncia de
qualquer um dos dois em vinte e quatro partes iguais chamadas de setores. Em cada um dos
setores do disco grande escrevo na ordem alfabtica normal uma letra maiscula vermelha:
primeiro A, a seguir B, depois C, etc, omitindo H e K que no so indispensveis.

Desta forma, Alberti obteve 20 letras, pois J, U, W e Y tambm no figuravam no seu


alfabeto. Nos quatro setores restantes ele escreveu os nmeros 1, 2, 3 e 4. Depois, nos vinte
e quatro setores do disco pequeno ele escreveu uma letra minscula, em preto, no na
ordem normal como no disco fixo, mas numa ordem incoerente. Desta forma, pode-se supor
que a primeira letra ser a, a dcima segunda g, a dcima terceira q e assim por diante, de
modo que todos os vinte e quatro setores sejam preenchidos porque o alfabeto latino possui
vinte e quatro caracteres, sendo o vigsimo quarto &. Efetuados estes arranjos, coloca-se o
disco pequeno sobre o grande, de modo que uma agulha passada pelos dois centros sirva
como um eixo comum ao redor do qual girar o disco mvel.

Disco de Alberti

Determina-se uma das letras do disco mvel como letra chave ou letra ndice, por exemplo
k. Isto posto, o remetente alinha esta letra chave com qualquer letra do disco externo e
informa a posio do disco mvel ao destinatrio escrevendo a letra escolhida. Alberti usou o
exemplo de k alinhada com B. Usando este ponto de partida, cada letra da mensagem
representar a letra fixa acima dela. Depois de escrever trs ou quatro letras, posso mudar a
posio da letra-ndice de modo que k esteja, por exemplo, sobre D. Depois, na minha
mensagem, escreverei um D maisculo e, a partir deste ponto, k no significar mais B e
sim D, e todas as letras do disco fixo tero novas letras equivalentes.

Esta multiplicidade de equivalentes faz de Alberti o inventor da substituio


polialfabtica.

A cifra de Alberti uma das cifras polialfabticas mais seguras que no obteve o sucesso
merecido, sendo um dos motivos a deciso do autor de mant-la secreta. Em 1470 escreve o
tratado "Modus scribendi in ziferas" que foi publicado em Veneza somente um sculo mais
tarde como parte do "oposcoli morali", e passou quase que despercebido.

Sem dvida alguma adiante da sua poca, o gnio de Alberti passou despercebido. Seu
disco, esquecido por muito tempo, s reapareceu em 1867 na Exposio Universal de Paris
onde, sob o nome de criptgrafo, foi apresentado como a genial inveno do ingls Charles
Wheatstone...

Fontes e Autoria

Koogan Houaiss e diversas fontes na Internet. Pesquisa e texto: vov Vicki.

Atualizao Dom, 14.06.2009 13:55

Johannes
Trithemius

1
2
3
4
5

(13 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Qui, 29.09.2005 03:28


Johannes Trithemius

(1462 - 1516)

O abade Johann von Heydenberg aus Trittenheim/Mosel, mais conhecido como Johannes
Trithemius (ou Ioannis Trithemius), foi um prodgio no mundo monstico. De origem
humilde, desenvolveu o gosto pelas letras desde a tenra idade. Aos 15 anos fugiu de casa
para estudar em Trier e, posteriormente, em Heidelberg. Em 1482, aos 20 anos de idade, ele
passou uma noite no mosteiro beneditino de Sponheim. No manh seguinte, ao continuar a
viagem, foi surpreendido por uma nevasca que o forou a retornar ao mosteiro. Considerou o
fato como um sinal de que deveria se tornar monge. Seus novos irmos devem ter tido a
mesma impresso pois, um ano mais tarde, mal terminando seu noviciado, elegeram-no
abade. Trithemius foi um reformador, vido por recuperar a glria perdida dos "sculos de
ouro" da vida beneditina medieval. Seu monastrio pertencia nova Congregao de
Bursfeld, um movimento de reforma monstica, da qual Trithemius se tornou o lder
teolgico.

Bad Kreuznach na atualidade,

local onde ficava o Mosteiro de Sponheim.

Chocado com o fato de que os monges de Sponheim vendiam gradualmente os livros para
garantir um estilo de vida confortvel (e pouco literrio ), o novo abade iniciou
imediatamente a recuperao da biblioteca a qual, em apenas vinte anos, viria a se tornar
uma das melhores da Europa. Em 1505 ele havia aumentado a coleo de 40 livros para
mais de 2000. Alm dos trabalhos tradicionais em Latim, Trithemius colecionou textos em
Grego, Hebraico, Siraco, rabe e vrias lnguas europias. Para algum famoso e conhecido
como o autor de um tratado intitulado Exaltao aos Escribas, Trithemius no se esquivou da
nova tecnologia da impresso, tanto que sua biblioteca inclua tanto obras manuscritas
quanto impressas.

Em 1505, Trithemius deixou Sponheim. Havia levado seus monges exausto com suas
ordens para que estudassem e desempenhassem melhor suas obrigaes monastricas e
sobrecarregou suas finanas para ampliar a biblioteca. Insatisfeitos, os monges exigiram a
sua sada. No foi uma despedida alegre. Trithemius partiu cheio de amargura em relao a
muitos dos seus confrades e, o que foi pior, sem os seus livros. No ano seguinte tornou-se
abade do mosteiro de St. Jakob, em Wrzburg, onde deu continuidade aos seus projetos
literrios at a sua morte em 1516.

STEGANOGRAPHIA

Fig.1 - Steganographia de Johannes Trithemius.


Mainz:
Christophorus Kchlerus, 1676.

A obra mais controvertida de Trithemius seu tratado inacabado sobre esteganografia,


escrito ao redor de 1500 e impresso somente em 1606. Durante mais de cem anos, o texto
circulou sob a forma de manuscrito. Trithemius no foi o primeiro monge intrigado com
cdigos - existem algumas cartas de Pachomius, lder egpcio no sculo IV do movimento
monstico cenobtico (comunal), escritas em um cdigo que at hoje no foi quebrado.

No foi tanto o interesse pelos cdigos que trouxeram problemas para Trithemius, mas sim,
seus ensinamentos em conjurar os espritos angelicais como intermedirios entre remetente
e destinatrio. Ele dissimulou seus ensinamentos com todos os enfeites de um culto
esotrico, inclusive com juramentos secretos e discusses deliberadamente obscuras da
tcnica utilizada.

OBSERVEM S OS COMENTRIOS QUE ACHEI NA INTERNET: "Como muitos outros do


seu tempo, Trithemius tinha uma forte crena em anjos, demnios e outros espritos, e
ansiava usar suas energias na evoluo da teologia crist. Este objetivo era semelhante
sua insistncia de que o ensino clssico e objetos seculares eram complementos teis, quase
que indispensveis, para a pesquisa teolgica." (Hill Monastic Manuscript Library)

Na verdade, Trithemius foi um nerd na poca de 1500, dotado de muita astcia e esprito
brincalho. Somente h alguns anos os "grandes segredos esotricos" do "mago" Trithemius
foram revelados: no se trata de telepatia ou conjurao de inteligncias planetrias. Na
verdade, trata-se de um sistema de cifras muito bem elaborado! (mais sobre o assunto no
texto "O segredo do terceiro livro" em Criptografia NumaBoa/Histria)

Steganographia contm exemplos de cifragem nos quais uma mensagem secreta


escondida numa "mensagem clara" que faa sentido. Mais problemtica a adio de um
sinal secreto que indica qual dos espritos angelicais deve ser invocado para ajudar na
transcrio e, ainda mais problemtica, a afirmao no Livro Trs de que mensagens
podem ser enviadas atravs destes intermedirios sem qualquer tipo de texto escrito. A
pgina mostrada na figura 1 ilustra a mensagem clara (uma carta de recomendao), depois
o feitio que vai alertar o destinatrio para o cdigo usado (o feitio era indicado por um
smbolo encriptado) e, finalmente, no final da pgina, a mensagem secreta pretendida:
"Proteja-se desta pessoa porque um homem perverso e no tem nada de bom a dizer."

POLYGRAPHIAE LIBRI SEX

Poligraphiae - livro seis

A Polygraphia de Trithemius uma exposio muito mais direta da criptografia, no


contendo as enfeites mgicos encontrados na Steganographia. A obra, terminada em 1508,
foi impressa logo aps a morte de Trithemius, cerca de um sculo antes daSteganographia.
No prefcio Trithemius delineia a histria da poligrafia desde a sua origem no Egito antigo,
atravs do tempo dos gregos e romanos, at a era crist. Assinala a notvel habilidade
mostrada pelos franceses, em particular a de Charlemagne. Recomenda ao Imperador
Maximiliano, ao qual o trabalho dedicado, para seguir o exemplo de Charlemagne.
Reconhecendo que o imperador tem outros deveres, Trithemius conclui informando que
adicionou uma chave poligrfica para fazer com que a tcnica fosse mais facilmente aplicada.
Esta tcnica est descrita no texto "A Tabula Recta de Trithemius" em Criptografia
Numaboa/Substituio/Polialfabtica.

A maior parte do livro contm listas de letras cdigo e seus equivalentes. Mas no s isto.
A pgina mostrada na figura 2, por exemplo, detalha o "cdigo" (mais propriamente, uma
forma de abreviao) que Trithemius atribuiu a Ccero.

Fonte

Hill Monastic Manuscript Library

Atualizao Ter, 14.04.2009 14:20


O segredo do terceiro livro
(Trithemius)

1
2
3
4
5

(16 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Qui, 29.09.2005 04:33

OS ESCRITOS DE UM CLRIGO DO SCULO XVI PARECEM SER ENSINAMENTOS DO OCULTO.


MAS SUAS PALAVRAS CONTM UM SEGREDO MAIS PROSAICO.
Suas brincadeiras assustaram e confundiram a Europa Renascentista.

Johannes Trithemius

(1462-1516)

Johannes Trithemius, um abade alemo, estudioso de renome e conselheiro do Imperador


Maximiliano I, encontrou uma maneira de entregar mensagens em 24 horas ( melhor que
o Sedex 10!) sem fazer uso de cartas, livros ou mensageiros. O que ele queria dizer com
isso? Que era capaz de projetar imagens na lua? Que poderia se comunicar telepaticamente?
Ser que este importante homem de Deus trabalhava com a ajuda de demnios?

O mistrio persistiria por sculos, sem dvida alguma para o deleite de Trithemius, que
parecia estar to interessado na autopromoo quanto nas suas ocupaes intelectuais. Ele
publicou seu segredo num livro fino que, pela capa, seria um livro de texto sobre o oculto,
levando a Igreja Catlica a proib-lo. Mas, cerca de 500 aps Trithemius ter usado sua pena,
um professor alemo do Colgio La Roche, Thomas Ernst, desvendou o segredo.

Ernst descobriu que o livro III no um tratado de astrologia. Muito pelo contrrio. O que os
ocultistas modernos continuam considerando um manual de magia negra na verdade um
exerccio de cifragem empregando um sistema de cifras que substitui letras por nmeros.
Ernst constatou que todas as referncias a espritos de outros mundos e instrues de como
fazer talisms foi uma cortina de fumaa eficiente, um mero pretexto para incluir longas
tabelas de nmeros. Trithemius no foi um mago, foi um mestre do ilusionismo. Sua nica
mgica a mgica das palavras.

A tcnica de encriptao que Trithemius empregou uma verso precoce e primitiva da que,
alguns sculos mais tarde, seria empregada na mquina Enigma, um dispositivo engenhoso
que os alemes usaram durante a Segunda Guerra Mundial. At mesmo verses mais
sofisticadas so usadas hoje em dia para, entre outras coisas, cifrar mensagens de telefones
celulares.

Como acontece com alguma frequncia, um segredo guardado por muito tempo, de repente,
desvendado por duas pessoas de forma independente. Ernst quebrou a cifra de Trithemius
em 1993 e publicou um relatrio de 200 pginas em alemo no jornal holands Daphnis em
1996. Logo em seguida, Jim Reeds, um matemtico da AT&T Labs em Florham Park, N.J.,
Estados Unidos, tambm o fez. "Pensei que isto poderia realmente fazer com que as pessoas
se espantassem", relembra Reeds sobre o que pensou aps resolver esta charada de 500
anos. Mas, enquanto preparava seu prprio relatrio para ser publicado num jornal de
criptologia, ele tropeou no escrito de Ernst. "Meu corao afundou", disse ele decepcionado
ao perceber que no tinha sido o primeiro.

Thomas Ernst,

professor do La Roche College,

com uma cpia da Steganographia.

(Tony Tye, Post-Gazette)

Apesar da descoberta de Ernst no ter conseguido maior notoriedade, uma reportagem


posterior no New York Times (veja referncia no rodap) chamou ateno. Reeds, ento,
preparou seu documento para ser publicado num jornal de criptologia.

Foi pura coincidncia Ernst ter chegado a Trithemius. Sem ser um estudioso de criptologia
nem do oculto, Ernst, um professor de lnguas nascido no norte da Alemanha, aos 40 anos
foi para os Estados Unidos continuar seus estudos. Aps completar seu doutorado na
Universidade de Pittsburgh, tomou conhecimento da criptologia atravs do professor de
Alemo Klaus Conermann. Especialista nos perodos da Renascena e do Barroco,
Conermann mostrou a Ernst uma cifra musical - uma partitura com uma mensagem
camuflada em forma de notas musicais. Aps Ernst ter decifrado a mensagem, Conermann
sugeriu que ele enfrentasse um quebra-cabea mais substancial - o famoso Livro III da
trilogia Steganographia de Trithemius.

A proposta lanou Ernst numa pesquisa intelectual que iria envolver no apenas a decifrao
do livro, mas tambm a tarefa mais complexa de decifrar o enigma do homem Trithemius.
"Ele foi realmente um homem que se fez sozinho", diz Ernst, "aos 20 anos entrou no severo
mosteiro de Sponheim. Rapidamente tornou-se o abade e comeou a transformar Sponheim
numa das bibliotecas mais importantes da Europa que, ao redor de 1506, possua alguns
milhares de livros".

Durante a Renascena, os mosteiros eram mais do que simples residncias e centros de


meditao. Eram centros acadmicos e os monges copiavam textos manualmente.
Trithemius, quando no estava ocupado com os monges que se queixavam de cimbras dos
escritores, construa uma reputao de reformador monstico. Ganhou notoriedade como
bibligrafo e foi um prolfico escritor de histrias e crnicas. Entre 1498 e 1500, produziu
a Steganographia, um ttulo derivado do Grego e que significa "escrita oculta". Os livros
foram um marco na histria da criptologia, os primeiros textos europeus dedicados
criptografia.

Os primeiros dois livros da trilogia foram escritos de forma convencional, ambos explicando
como cifrar mensagens e depois dando exemplos. Uma das tcnicas, por exemplo, era a de
substituir cada letra de uma mensagem por uma palavra. Depois, as palavras eram
arrumadas numa prosa desajeitada, geralmente em forma de sermes ou oraes piedosas.
Apesar da natureza sria do texto cifrado, as mensagens claras, com frequncia, eram
jocosas. "No aceite este monge; ele gosta de beber bom vinho e estranho", dizia uma.
"Jacob Seitz quer te esfaquear; cuidado", dizia outra.

Para Ernst, isto parecia um comportamento muito arriscado para um monge beneditino.
"Porque algum que, representando a Igreja, usaria da religiosidade para dizer coisas
irreverentes?", admira-se ele. Mas, como Trithemius iria demonstrar no seu Livro III, ele
gostava de brincar com o perigo.

Diferentemente dos dois primeiros livros, o terceiro volume no inclui um manual de como
produzir cifras. Ao invs disso, Trithemius faz com que parea um tratado astrolgico. Seu
sistema de comunicao, como explicado por ele, consiste em conjurar uma das 28
"inteligncias planetrias" ou espritos, quatro para cada um dos sete planetas conhecidos na
poca. Fornece instrues detalhadas de como enviar mensagens: usando tinta de leo de
rosas, desenhe a figura de um dos espritos planetrios, desenhe a figura da pessoa que
deve receber a mensagem, dobre as folhas junto, envolva-as em linho branco, coloque num
recipiente e esconda o recipiente. Um prato cheio para quem gosta de rituais

Trithemius incluiu tabelas de nmeros, supostamente para calcular os ngulos relacionados a


cada um dos espritos. Na verdade, estes nmeros so o ponto central do tratado de 22
pginas - so as mensagens cifradas!
Jim Reeds
Matemtico da
AT&T Labs
em Abril de 98

Tanto Ernst, quanto Reeds, tiveram os mesmos palpites em relao ao cdigo. Ao analisarem
as linhas de nmeros, os padres sugeriam mensagens que estavam sendo repetidas. No
entanto, cada vez que a mensagem era repetida, os nmeros aumentavam em 25. Por
exemplo, se Mississippi fosse cifrado como 1-2-3-3-2-3-3-2-4-4-2 na primeira iterao, seria
repetido como 26-27-28-28-27-28-28-27-29-29-27 na segunda. Parecia que Trithemius
havia preparado 28 verses diferentes (uma para cada "inteligncia planetria") de um
alfabeto de 25 caracteres.

A questo passou a ser: qual alfabeto? No sculo XV, o alfabeto latino ainda estava em
evoluo. Por exemplo, alguns alfabetos usavam "uu" ou "vv" ao invs de "w" e o uso da
letra "y" estava apenas comeando. O alfabeto de Trithemius no contm "j", "k", "u" e "y".
Inclui "th", da letra grega teta, "sch" do hebreu e "tz" no se sabe de onde. Trithemius
escreveu o livro em Latim, mas algumas das mensagens esto em Alemo. Uma delas o
equivalente em Latim de "The quick brown fox jumps over the lazy dog". Outra era o comeo
do 21 Salmo. Uma terceira lembra o estilo dos dois primeiros livros: "O portador desta carta
um patife e um ladro".

Em 1506, Trithemius mostrou o livro a um matemtico francs que estava de visita no


mosteiro. O matemtico deixou-se iludir pelas armadilhas do pseudo-ocultismo e no
percebeu o contedo criptogrfico. Trithemius, satisfeito com o resultado, no se deu ao
trabalho de corrig-lo. Aps sua partida, o matemtico comeou a espalhar histrias de como
Trithemius conjurava espritos e usava as suas foras. A controvrsia foi grande mas,
aparentemente, no afetou a atividade de Trithemius como conselheiro da nobreza. Ele foi
capaz de contornar a situao e continou como conselheiro do imperador Maximiliano.
Supostamente, depois da morte da noiva de Maximiliano, Trithemius montou uma iluso
durante a qual Maximiliano foi capaz de ver, mas no de tocar, os espritos da sua noiva
morta e alguns de seus antepassados. "Ningum sabe se isto uma lenda ou se ele fez um
'David Copperfield'", disse Ernst, "mas, depois disso, ficou com a fama de feiticeiro da
morte".

As controvrsias sobreviveram morte de Trithemius. Em 1676, Wolfgang Ernst Heidel,


conselheiro do Arcebispo de Mainz, propagou que havia decodificado o Terceiro Livro. Heidel,
porm, causou consternao ao cifrar sua soluo, fazendo com que muitos no
acreditassem no que afirmava. Reeds e Ernst, depois de decifrarem a soluo de Heidel,
garantem que ele estava certo.
Apesar do Terceiro Livro de Trithemius ser importante na histria da criptografia, Reeds
comentou que "o ato de decifr-lo foi bastante simples. Crianas em idade escolar so
capazes de fazer este tipo de decifrao". Ernst precisou de duas semanas para faz-lo e
Reeds terminou a tarefa em dois dias. Ento, porque que ficou oculto por tanto tempo? Em
parte devido forma de reproduo de livros do sculo XVI. Pelo que se sabe, o manuscrito
original de Trithemius foi queimado e as cpias comearam a ser feitas a partir de outras
cpias. Quando se fazem cpias, comum cometer erros na transcrio de listas de nmeros
aparentemente sem sentido. Por outro lado, os padres numricos que parecem bvios para
leitores modernos podem ter sido mais difceis de discernir no sculo XVI. Naquela poca,
usava-se um baco ou dispositivo semelhante para fazer clculos. A aritmtica, a arte de
calcular usando nmeros escritos, estava apenas comeando a se popularizar. Talvez tenham
sido estas as razes do segredo permanecer intocado por tanto tempo. Em todo caso, por
estas ou por outras razes, o fato que a astcia de Trithemius foi efetiva principalmente
porque ele sabia que as pessoas acreditam no que lem. Se Trithemius disse que sua tcnica
se baseava em talisms e espritos planetrios, foi nisto que as pessoas acreditaram.

Mesmo hoje, uma pesquisa na Internet buscando "Trithemius" revela dezenas de links para
sites que versam sobre o oculto e, excepcionalmente, algum que fala sobre criptografia.
Quinhentos anos no foram suficientes para desfazer a cortina de fumaa...

Fontes

Byron Spice, artigo publicado em 29 de Junho de 1998


New York Times, A Mystery Unraveled, Twice - Gina Kolata em 14.04.98 pp.F1,F6,
arquivado no site Cryptome

Atualizao Ter, 14.04.2009 14:23

Girolamo
Cardano

1
2
3
4
5

(86 votos, mdia 3.8 de 5)


Escrito por vov Vicki

Ter, 21.06.2005 21:00

Girolamo Cardano(1501-1576)

Girolamo Cardano teve uma vida movimentada, contada em detalhes na sua


autobiografia, De vita propria liber (O Livro da Minha Vida). Cardano conta que nasceu,
depois de vrias tentativas de aborto, em Pvia, Itlia, em 24 de Setembro de 1501, como
filho ilegtimo de um jurista, Fazio Cardano, e Chiara Micheri. De acordo com seu relato, teve
uma infncia miservel caracterizada por doenas frequentes e tudo menos um tratamento
amoroso por parte dos pais.

Em 1520, finalmente fugiu desta situao familiar quando ingressou na Universidade de


Pvia. Terminou seus estudos universitrios em 1526 na Universidade de Pdua, com um
doutorado em Medicina, e passou a exercer a profisso de mdico na aldeia de Saccolongo,
perto de Pdua. Em 1531 casou com Lucia Bandarini, moa da regio. Tiveram dois filhos e
uma filha. Conforme os relatos da autobiografia, Cardano foi muito feliz nos anos em que
viveu em Saccolongo.

Em 1534, Cardano e a famlia mudaram-se para Milo, onde ele passou a ensinar Grego,
Astronomia, Dialtica e Matemtica nas escolas fundadas por Tomaso Piatti. Foi o incio do
seu grande interesse pela Matemtica. In 1539, escreveu seu primeiro tratado
matemtico, Practica arithmetica, e em 1545 produziu seu maior trabalho matemtico,Artis
magnae sive de regulis algebraicis liber unus (A Grande Arte), fato este que desencadeou a
disputa de precedncia com seu colega italiano Niccolo Tartaglia.

Tambm se interessava pela criptologia, tendo proposto uma cifra de substituio


polialfabtica com auto-chave, a qual continha vcios que inviabilizavam seu uso, e uma
grelha, conhecida como Grelha de Cardano, utilizada para esteganografia (e posteriormente
utilizada pelo Cardeal Richelieu).

Ao mesmo tempo em que ensinava Matemtica, Cardano manteve a sua prtica mdica e viu
sua fama crescer de tal forma que, em pouco tempo, gozava de grande reputao, abaixo
apenas do grande Andreas Vesalius. Em 1543 aceitou uma cadeira de Medicina na
Universidade de Pvia, mantendo esta posio at 1560, com um hiato de sete anos (entre
1552 a 1559). No ano de 1552 Cardano se encontrava na Esccia tratando do Arcebispo de
Edimburgo, uma indicao de que sua fama como mdico havia ultrapassado as fronteiras da
Itlia, inclusive como interpretador de sonhos. Foi amigo de Sir Francis Bacon e de Leonardo
da Vinci.

Cardano admite, entretanto, que sua vida tambm lhe trouxe desapontamentos amargos. De
acordo com suas palavras, seu filho mais velho "foi acusado de tentar envenenar a prpria
esposa, quando esta ainda estava debilitada aps um parto. No 17 dia de Fevereiro ele foi
preso e, cinquenta e trs dias aps, em 13 de Abril, foi decapitado na priso. E isto foi meu
supremo, meu infortnio maior".

Caiu em desgraa e mudou-se de Milo, aceitando por ltimo um professorado de Medicina


na Universidade de Bolonha. Como muitos da poca renascentista, Cardano foi e sempre
continuou acreditando em astrologia. Os problemas voltaram em 1570, quando foi preso pela
Inquisio pela "heresia" de ter feito um horscopo de Jesus Cristo. Cardano tambm fez seu
prprio horscopo e previu que viveria at os 75 anos. Efetivamente, quando atingiu esta
idade, cometeu suicdio em 21 de Setembro de 1576.

Fontes e Autoria

Karen Hunger Parshall. Compilao e texto: vov Vicki.

Atualizao Qui, 03.04.2008 13:34

Guerras e Diplomacia
A criptografia sempre foi usada intensamente nos perodos de guerra e nas comunicaes
dos servios diplomticos. Aqui voc encontra alguns exemplos e algumas histrias muito
interessantes.

Submarinos da
Kriegsmarine

1
2
3
4
5

(11 votos, mdia 4.6 de 5)


Escrito por vov Vicki
Dom, 07.03.2010 21:34

Uma das armas mais poderosas da Segunda Guerra Mundial foram os submarinos da
Marinha de Guerra alem (Kriegsmarine). Em 5 anos de atividades blicas, os
submarinos alemes afundaram 2.779 navios e, com eles, 14.41 milhes de toneladas
de carga.

Atualizao Seg, 08.03.2010 01:05


Leia mais...
A priso de Gottfried von Bismarck-
Schnhausen

1
2
3
4
5

(4 votos, mdia 5.0 de 5)


Escrito por vov Vicki
Sb, 06.03.2010 22:33

O conde Gottfried von Bismarck-Schnhausen, um oficial de alta patente na SS da


Alemanha nazista, acaba sendo preso num campo de concentrao sob a acusao de
ter participado do atentado contra Hitler ocorrido em 20 de Julho de 1944.

Atualizao Dom, 07.03.2010 01:45


Leia mais...

Transposies
Geomtricas *

1
2
3
4
5

(38 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Qua, 09.11.2005 18:43

ndice do Artigo
Transposies Geomtricas *

Confira a Cifra

Todas as pginas

As transposies preservam todas os caracteres de uma mensagem, apenas os mudam de


lugar. So baseadas no princpio matemtico da permutao. Existem diversos tipos de
transposio, entre elas as geomtricas. So chamadas de geomtricas porque usam uma
figura geomtrica, geralmente um quadrado ou retngulo, para orientar a transposio.

A transposio chamada de simples quando o sistema usar apenas um processo, e de


dupla quando usar dois processos distintos de transposio. A maioria dos sistemas
rearranjam o texto letra por letra, mas existem tambm os que rearranjam grupos de letras.

Existem ainda as transposies com grades ou grelhas, como a transposio de Fleissner e


as transposies por itinerrio.

TRANSPOSIES COLUNARES E LINEARES SIMPLES

Nas transposies que usam quadrados ou retngulos, o texto claro colocado nas figuras
geomtricas e retirado de uma forma diferente da entrada. Nas transposies colunares a
entrada de texto feita por linhas e a retirada por colunas, nas lineares a entrada de texto
feita por colunas e a retirada por linhas.

Transposies geomtricas colunares


A T RANS Nas transposies simples por coluna escreve-se o texto horizontalmente
numa matriz predefinida, obtendo-se o texto cifrado atravs das colunas
verticais. O destinatrio, usando o processo inverso, volta a obter o texto
POS I claro.

O E F I C Apesar de muito simples, serviu de base para o algoritmo alemo ADFGFX,


que foi utilizado durante a Primeira Guerra Mundial. Acompanhe o exemplo
I ENTE abaixo onde utilizada uma matriz de 6 colunas para o texto "A transposio
eficiente":

O resultado APOIT OERS ENAIF TNIE SC se a matriz for deixada


incompleta ou APOIT OERS ENAIF TNIE SCX se for completada, por exemplo, com X.

Transposies geomtricas lineares


A N S O I N Nas transposies simples por itinerrio escreve-se o texto verticalmente
numa matriz predefinida, obtendo-se o texto cifrado atravs das linhas
horizontais. O destinatrio, usando o processo inverso, volta a obter o texto
T S I CT claro.

RPE I E O resultado ANSOI NTSI CTRP EIEAO FE se a matriz for deixada


incompleta ou ANSOI NTSI CTRP EIEAO FEX se for completada, por
AO F E X exemplo, com X.

Estes dois sistemas so extremamente simples porque basta descobrir o


nmero de colunas ou linhas usadas na matriz para quebrar a cifra.
TRANSPOSIES COLUNARES COM CHAVE NUMRICA

BANANA Este tipo de transposio bem mais segura que a transposio colunar
simples. No possvel quebr-la apenas determinando o nmero de colunas
da matriz. Este processo de transposio semelhante ao usado para obter
415263 sequncias mistas de transposio.

A chave numrica geralmente baseada numa palavra ou frase chave.


Diferentemente das chaves usadas para obter transposies mistas, esta pode ter letras
repetidas. Para produzir uma chave numrica a partir da chave, as letras so numeradas em
ordem alfabtica e as letras repetidas so numeradas em sequncia da esquerda para a
direita.

Por exemplo, a palavra chave BANANA resultar na chave numrica 415263

Como nas transposies colunares simples, a matriz pode ou no ser preenchida


completamente:

BANANA O resultado ser TADQC ELACA ANOUE ou, se preenchidos os vazios, em


duas verses: TADQC XELXA CAANO UEX ou simplesmente TADQC ELACA
ANOUE.
41 5 2 63

AT AQUE
TRANSPOSIES POR ITINERRIO
CANC E L
As transposies por itinerrio utilizam tambm figuras geomtricas nas quais
seguido um determinado itinerrio para inserir as letras do texto claro. A
ADO
mais conhecida a famosa Rail Fence, descrita numa pgina prpria.

Todos os exemplos de transposio por itinerrio usaro o texto claro "atacar


inimigo pelos flancos".

Padro Tringulo, sada por colunas

Neste tipo de transposio insere-se o texto claro em linhas e obtm-se a cifra pelas
colunas:

TAC

AR I N I

M I GOP E L

O S F L ANCOS

O texto cifrado ser OMSAI FTRGL AAIOA CNPCI ECLOS.

Entrada por espiral externa, sada por colunas


ATA C A

LOS F R

EOS L I

P CN A N

OG I M I

Resulta no texto cifrado ALEPO TOOCG ASSNI CFLAM ARINI.

Entrada em diagonal, sada por coluna


AARME

TA I P F

CNO S N

I GO A O

I L L C S

Resulta no texto cifrado ATCII AANGL RIOOL MPSAC EFNOS.

Entrada por espiral interna, sada por diagonal


ANCO S

L I N I M

F RAT I

S ACA G

OL E P O

Resulta no texto cifrado ALNFI CSRNO OAAIS LCTME AIPGO.

Entrada em padro L, sada por espiral externa


A L OO S

T E S C N

AP F L A

COG I M
AR I N I

Resulta no texto cifrado ALOOS NAMIN IRACA TESCL IGOPF.

CONFIRA A CIFRA

Mensagem clara

BRASIL
Palavra-chave

Mensagem cifrada
Aplicativo em Javascript adaptado para os navegadores MS IE 5.0, Netscape 4.0 e Opera 3.0 ou superiores. A
Javascript precisa estar habilitada!

Fontes

Washington, DC, 13 September 1990, HEADQUARTERS / DEPARTMENT OF THE


ARMY, *FM 34-40-2 FIELD MANUAL NO 34-40-2
Didier Mller, Transpositions rectangulaires
Serge Delestan e Lionel Lejeune, Chiffrement & Cryptographie - Aspect technique

Atualizao Ter, 19.01.2010 22:15

O Basto de
Licurgo *

1
2
3
4
5

(39 votos, mdia 4.4 de 5)


Escrito por vov Vicki

Qua, 04.09.2002 00:00

A cifra de transposio mais antiga a do basto de Licurgo ou scytalae, um basto de


madeira ao redor do qual se enrolava firmemente uma tira de couro ou pergaminho, longa e
estreita. Escrevia-se a mensagem no sentido do comprimento do basto e depois a tira era
desenrolada, contendo a mensagem cifrada.

Alguns autores pem em dvida o uso efetivo do scytalae pelos espartanos. Mais adiante
est um trecho de Plutarco, citando o basto. Voc decide: o scytale realmente existiu ou
produto da fantasia?

Caractersticas

Origem: Usada pelos gregos de Esparta em 475 a.C. (?)


Classe: Transposio
Segurana: Baixssima
Uso: Apenas interesse histrico por ser o primeiro "dispositivo mecnico" de
criptografia.
Criptoanlise: Uma simples criptoanlise estatstica baseada na frequncia de
ocorrncia das letras da lngua suficiente para decifrar o texto.

O Basto de Licurgo

Uma forma de
transposio que
utiliza o primeiro
dispositivo
criptogrfico
militar
conhecido, o Basto de Licurgo ouscytalae espartano teve sua origem no sc. V a.C. Consiste
num basto no qual era enrolada uma tira de couro ou pergaminho, como mostrado na
figura ao lado. O remetente escrevia a mensagem na direo do comprimento do basto e
depois desenrolava a tira. Esta tira continha, ento, uma sequncia de letras sem sentido. O
mensageiro podia usar a tira como cinto, com as letras voltadas para dentro. O destinatrio,
quando recebia o "cinto", enrolava-o num basto cujo dimetro era igual ao do basto usado
pelo remetente. Desta forma, podia ler a mensagem.

Um pouco de histria

Plutarco
(50 a
125)

Plutarco, ensasta e bigrafo grego, nasceu em Queronia, na Becia, por volta do ano 50.
Escreveu Vidas Paralelas, tambm conhecida como Vidas de Homens Ilustres, uma galeria de
personalidades gregas e romanas. O texto, em Grego e traduzido para o Ingls, pode ser
encontrado na web em Plutarch, Lives (ed. Bernadotte Perrin) - Lysander 19.5

Falando de Lisandro de Esparta, escreve Plutarco:

"... e quando [os foras] acharam Trax, um dos amigos e camarada general de Lisandro, de
posse de dinheiro, condenaram-no morte e enviaram um rolo de mensagem para Lisandro,
ordenando seu retorno. O rolo de mensagem tem a seguinte caracterstica. Quando os foras
enviam um almirante ou um general para uma misso, eles fazem duas peas de madeira,
com exatamente o mesmo comprimento e dimetro, de modo que cada uma corresponda
outra em suas dimenses. Ficam com uma das peas e do a outra ao seu enviado. Eles
denominam estas peas de madeira de "scytalae". Depois, sempre que quiserem enviar
alguma mensagem secreta e importante, fazem um rolo de pergaminho, longo e estreito,
como se fosse uma tira de couro, e a enrolam ao redor do "scytalae", no deixando nenhum
espao vazio, mas sim cobrindo toda a superfcie com o pergaminho. Aps fazer isto, eles
escrevem o que querem sobre o pergaminho, enquanto ainda est enrolado ao redor do
"scytalae"; e, quando eles escreveram sua mensagem, eles retiram o pergaminho e o
enviam, sem a pea de madeira, para o comandante. Ele, quando o tiver recebido, no pode
entender o significado, - uma vez que as letras no tm conexo, mas esto desarranjadas,
- a no ser que ele pegue seu "scytalae" e enrole ao seu redor a tira de pergaminho de modo
que, quando seu curso espiralado for restaurado perfeitamente, e o que segue ligado ao
que precede, ele l ao redor do basto e, desse modo, descobre a continuidade da
mensagem. E o pergaminho, assim como o basto, chamado de "scytalae", assim como a
coisa medida possui o mesmo nome da medida."

Confira a Cifra

A ferramenta abaixo est escrita em JavaScript. Para que funcione corretamente, a


JavaScript precisa estar habilitada! Indique o dimetro do basto, coloque a mensagem clara
no campo "Mensagem clara" e clique em [Cifrar mensagem]. Para decifrar, coloque
o criptograma no campo "Mensagem cifrada" e clique em [Decifrar mensagem].

3
Dimetro (1-20)

Mensagem clara Mensagem cifrada


Reiniciar

Manter espaos
Eliminar espaos

Cifrar Mensagem Decifrar Mensagem


Cifragem lenta
Cifragem rpida
Limpar Limpar

Exerccios

Se voc quiser reforar seus conhecimentos, faa os Exerccios com o Basto de Licurgo.

Fontes e autoria

Perseus, sobre Plutarco


JavaScript: vov Vicki

Atualizao Seg, 13.04.2009 14:10

A frmula
SATOR

1
2
3
4
5

(53 votos, mdia 4.2 de 5)


Escrito por vov Vicki

Sex, 02.09.2005 01:52

A frmula Sator ou quadrado latino um exemplo intrigante de uma cifra de transposio.


Ela constituda por uma srie de palavras de 5 letras colocadas num quadrado, encontrada
nas paredes de residncias romanas em Pompia e Cirencester.

No quadrado se l 'rotas opera tenet arepo sator' o que, numa traduo


livre, significa 'ele, o que guia o arado, planta a semente'. Meu amigo
Dlcio, em Janeiro de 2005, contou que viu o quadrado latino pela
primeira vez no colgio onde estudou (o So Joaquim de Lorena - SP) e
que os padres salesianos traduziam literalmente os dizeres como "o
semeador Arepo segura com cuidado o arado". Observe que o quadrado
absolutamente simtrico - pode ser lido da esquerda para a direita, da direita para a
esquerda, de cima para baixo e de baixo para cima.
Mais surpresas

Exemplo de Quadrado
Latino,
exposto no
Manchester Museum,

Inglaterra

Acontece que estas inocentes palavras simtricas escondem uma mensagem muito mais
importante, a qual pode ser encontrada atravs da
transposio das suas letras.

Imagina-se que o Quadrado Latino era colocado nas casas


que ofereciam refgio aos cristos, os quais eram as nicas
pessoas que sabiam como transpor as letras para obter o real
significado do quadrado. Estranhamente, alguns historiadores
pensam que o Quadrado Latino mais antigo do que a Igreja
Catlica.

Entre 1924 e 1927, trs eruditos descobriram,


independentemente, que as letras podiam ser rearranjadas
em forma de cruz (Chr. Frank, Deutsche Gaue 25 (1924), 76;
F. Grosser, "Ein neuer Versuch zur Deutung der Sator-Formel", Z.N.W. 24 (1926), 165ff.; S.
Agrell, "Runornas talmystik och dess antika frebild", Skrifter utgivna av Vetenskaps-
Societen i Lund 6(1927), 31f.).

Observe o que acontece quando as letras so rearranjadas e ocupam novas posies:

Pater noster, que significa Pai Nosso, repetido duas vezes.


Os Pater noster esto dispostos em forma de cruz, que tem significado cristo.
Alm disso, aparecem as letras A e O, originadas das letras gregas alfa e mega e
que significam o comeo (alfa) e o fim (mega). Tambm isto tem um significado
cristo.

Outros significados

Mas no s de Pater noster que vive a frmula Sator. Vrios outros "significados" foram
encontrados.

Os do lado do bem:

Oro te, pater, oro te, pater, sanas


O pater, ores, pro aetate nostra
Ora, operare, ostenta te, pastor
Retro Satana, toto opere asper

Os do lado do mal:

Satan oro te, pro arte a te spero


Satan, ter oro te, opera praesto
Satan, oro te, reparato opes

Referncias Histricas - Portugal

O Stio de Conmbriga, que teria sido habitado desde o Neoltico, tem presena humana
segura no Calcoltico e na Idade do Bronze, pocas originrias dos testemunhos mais antigos
que at ns chegaram. certo que os Celtas aqui estiveram: os topnimos terminados em
"briga" so testemunho claro dessa presena. Conmbriga era portanto um castro quando os
Romanos em 138 a.C. aqui chegaram e se apoderaram do oppidum. (Texto retirado do
folheto informativo das Runas de Conmbriga - Cmara Municipal de Condeixa.)

Muitos sugerem que Conmbriga tinha origem num castro de origem celta da tribo dos Conii.
O que se sabe ao certo, que Conmbriga foi ocupada pelos romanos nas campanhas de
Dcimo Junio Bruto, em 139 a.C.. No reinado do imperador Csar Augusto (sculo I), a
cidade sofre importantes obras de urbanizao, tendo sido construdas as termas pblicas e
o Forum. Nos finais do sculo IV, e com o declnio do Imprio Romano, construda uma
cintura muralhada de defesa urbana, com cerca de 1500m de extenso, possivelmente para
substituir e reforar a muralha antiga, do tempo de Augusto. A maneira um tanto rstica
como est construida denota uma certa urgncia na sua construo, evidenciando um clima
de tenso e de eminentes ataques, por parte dos povos brbaros. Em 468 os Suevos
assaltam a cidade e destroem parte da muralha. A partir de ento, Conmbriga comea a
desertificar, acabando por perder o seu estatuto de sede episcopal para Aeminium
(Coimbra), que possuia melhores condies de defesa e sobrevivncia. Os habitantes que
ficaram, fundaram Condeixa-a-Velha, mais a norte. (texto da Wikipedia)

Mas, o que tudo isto tem a ver com a frmula Sator? O correspondente especial do site
Aldeia Numaboa em Portugal, Rogrio Marques, foi visitar o Museu Monogrfico de
Conmbriga e nos enviou algumas fotos.
Rplica da pea 556 do Museu Monogrfico de Conmbriga
(foto de
Rogrio Marques)
Explicao do Museu Monogrfico

(foto de Rogrio Marques)

A explicao do Museu Monogrfico de Conmbriga para a pea com a inscrio Sator: "O
pensamento de inspirao estica que lemos em Ccero - Sator "omnia" continet (i., o
cosmos o princpio de todas as coisas) - deve estar na origem deste jogo verbal que os
Romanos certamente aprendiam na escola e que chegou s provncias mais distantes - Sria,
Bretnia, Lusitnia - pela mo de oleiros e soldados.
Durante muito tempo foi erradamente considerado como smbolo cristo.

Disse o nosso correspondente: "Posso lhe assegurar que estas runas so consideradas
actualmente uma das sete maravilhas de Portugal, se bem que a cidade em si, prxima de
Coimbra (Aeminium) cerca de 17 Km perdeu para esta todo o seu poderio e importncia com
o avanar da histria. Coimbra tem uma das mais antigas Universidades da Europa, datada
de 1290".

Mais referncias histricas


Letras gticas nos arabescos
da moldura
do quadro de
Anna Selbdritt

Em 1902, Bartl, diretor de escola da cidade de bersee am Chiemsee, resolveu ir igreja de


So Pedro na topo da montanha Westerbuchberg. No era a primeira vez que visitava a
pequena capela, originalmente romnica, decorada com afrescos romnicos e gticos. Havia
um quadro de Anna Selbdritt, emoldurado com arabescos singulares, os quais queria copiar.
Ao fazer o desenho, acabou desvendando um segredo: as reas brancas do ornamento se
revelaram como letras gticas minsculas, com a seguinte inscrio:

sator - arepo - tenet - opera - rotas

Uma brincadeira do pintor da igreja ou ele usou apenas um molde antigo? Uma mensagem
para os iniciados na abbada da capela? Perguntas e mais perguntas. O fato que, at os
dias atuais, a frmula Sator conserva sua aura de enigma e segredo.

Muitas simpatias e rezas da medicina popular so finalizadas com estas palavras, seja para
"curar" doenas de humanos ou de animais. Acreditava-se at que esta frmula fosse
infalvel em casos de incndio. S era preciso pegar um pratinho de estanho, escrever
rapidamente a frmula dos dois lados e jog-lo no fogo. Ainda no ano de 1742 existia em
Sachsen, na Alemanha, uma ordem para manter tais pratinhos em estoque (nas casa e nos
edifcios pblicos) afim de se defender de incndios.
Inscrio em coluna

de Pompia (ano
76)

claro que, nestes casos, a frmula usada como o abracadabra dos mgicos, ou seja,
como frmula mgica. Na verdade, encontra-se a frmula Sator na chamada magia branca
da Idade Mdia. Ao contrrio da magia negra, associada ao demnio e ao mal, a magia
branca chamava Cristo para ajudar e era utilizada para curas ou para espantar o mal. Pelo
menos, esta era a opinio da poca. Na maioria das vezes, esta arte era nos exercida nos
conventos, principalmente pelos frades menos estudados. da que se originam receitas
mgicas que ainda so usadas hoje em dia. Mas no aqui que termina a histria da frmula
Sator.

Um amuleto da sia Menor, datado do sculo V, contm estas mesmas palavras. O verso
deste amuleto de bronze enfeitado com peixes, o que faz supor uma simbologia crist.
Neste caso, a frmula parece ter sido utilizada como orao.

A frmula Sator tambm encontrada voltando-se ainda mais no tempo. Nas escavaes
feitas em Pompia, que sabidamente foi coberta pelas cinzas de uma erupo do Vesvio no
ano de 79 d.C., Matteo della Corte encontrou esta frmula peculiar rabiscada numa coluna.
Ser que a inscrio foi feita pelos primeiros cristos antes da catstrofe ou ser que se
origina de cristos do sculo III, os quais saqueavam tesouros das casas soterradas? So
novas perguntas que continuam sem respota.

Quanto mensagem, estas palavras no tm um significado claro, mesmo para quem


domina o Latim. As palavras arepo e rotas so o maior problema. No entanto, analisando-as
com mais cuidado, percebe-se que arepo apenas o contrrio de opera e que rotas o
contrrio de sator. Ento, na realidade, existem apenas trs palavras: sator opera tenet.

Com isto, a coisa fica um pouco mais fcil. Seu significado, numa traduo livre, pode ser:

O semeador (Deus) segura sua obra (criao) na sua mo.

Para finalizar
Vale a pena citar uma outra interpretao que h algum tempo circula na Califrnia, EUA,
como "proteo" para os motoristas. L, o palndromo SATOR AREPO TENET OPERA ROTAS
apresentado como:

SAT ORARE P.O. TENET OPERA ROTAS

onde P.O. per orem. Em ingls significa "It's enough to pray verbally; it holds the works
and the wheels together" e, em Portugus, " suficiente rezar em voz alta; isto mantm o
motor e as rodas funcionando". moooole???

S mais uma coisa: se voc tropeou em palndromo... aqui vai uma explicao. Palndromo
uma frase (ou palavra) que, lida da esquerda para a direita ou da direita para o esquerda,
tem o mesmo sentido. Est junto com palindromia, que significa recada de uma doena.

Fonte

Fred Fabin - Bauernmedizin - Frtreffliche Hlffen aus Klosterapotheke, Volksglauben


und Sympathiezauber. 1991 Rosenheimer Verlagshaus. ISBN 3-475-52702-2.
Museu Monogrfico de Conmbriga

Texto publicado pela primeira vez na Aldeia em 23 de Outubro de 2002.

Atualizao Seg, 13.04.2009 19:41

Rail
Fence
*

1
2
3
4
5

(14 votos, mdia 4.4 de 5)


Escrito por vov Vicki

Qua, 09.11.2005 23:13

O rail fence, cuja traduo literal "paliada", uma transposio geomtrica porque segue
um padro fixo em zig-zag. Apesar de ser uma das cifras de transposio mais antigas, sua
origem desconhecida.

Esta cifra voltou a ser utilizada na Guerra de Secesso norte-americana (1861-1865),


quando tanto os confederados quanto os federalistas a utilizaram para cifrar mensagens.

CARACTERSTICAS

Origem: Desconhecida.
Classe: Transposio.
Segurana: Baixssima
Uso: Apenas como mais um exemplo de transposio.

EXEMPLOS DA CIFRA

Digamos que a mensagem "LULINHA PAZ E AMOR" deva ser cifrada com uma Rail Fence de
duas linhas:

L L N A A E M R

U I H P Z A O

O texto cifrado resultante obtido pela sequncia de linhas, ou seja: LLNAAEMR UIHPZAO.

Cifrando-se o mesmo texto com uma Rail Fence de 3 nveis obtemos LNAM UIHPZAO LAER.
Veja abaixo:

L N A M

U I H P Z A O

L A E R

Pode-se melhorar ligeiramente este mtodo aumentando o nmero de nveis ou deslocando a


primeira letra da mensagem para nveis seguintes.

CONFIRA A CIFRA

Mensagem clara
2
Nvel
Deslocamento 0

Mensagem cifrada

Aplicativo em Javascript adaptado para os navegadores MS IE 5.0, Netscape 4.0, Opera 3.0 e Firefox 1.0 ou superiores.
Javascript precisa estar habilitada!

Fontes

Didier Mller, Rail Fence


Renault, Javascript

Atualizao Ter, 14.04.2009 21:32

A grade giratria de
Fleissner *

1
2
3
4
5

(12 votos, mdia 4.6 de 5)


Escrito por vov Vicki

Qua, 09.11.2005 23:31

ndice do Artigo
A grade giratria de Fleissner *

confira a cifra

Todas as pginas

Eduard Baron (Freiherr) von Fleissner von Wostrowitz, um comandante da cavalaria


austraca, editou em 1881 seu livro "Handbuch der Kryptographie" (Manual da Criptografia)
no qual, entre outros mtodos criptogrficos, explica sua cifra da Grade Giratria.

CARACTERSTICAS

Origem: Criada pelo austraco Eduard Baron (Freiherr) von Fleissner von Wostrowitz.
Classe: Transposio.
Tipo: Geomtrica.
Caractersticas: Transposio de letras de acordo com um padro matricial que
girado 90 graus a cada bloco transposto.
Segurana: Baixa
Uso: Apenas interesse histrico.
Criptoanlise: Frequncia de ocorrncia de letras e ndice de Coincidncia.

COMO FUNCIONA A GRADE GIRATRIA

Uma grade giratria sempre composta por um quadrado dividido em um nmero par de
clulas: um quadrado com 4 clulas (2x2), com 16 clulas (4x4), com 36 clulas (6x6), etc.
Fleissner sugere usar como grade um carto em que algumas das clulas so vazadas de
modo que, girando-se o carto 90 graus cada vez, ao completar 4 posies (ou 360 graus),
todas as clulas do quadrado tenham ficado descobertas uma vez. Veja o exemplo dos giros
do carto, onde cada clula vazada possui uma cor diferente de preto:

Posio Inicial Sentido horrio 90 Sentido horrio 90 Sentido horrio 90


Posio 1 Posio 2 Posio 3 Posio 4

Para conferir se todas as clulas estiveram descobertas uma vez, acompanhe o resultado dos
giros do carto:
Posio 1 Posio 2 Posio 3 Posio 4
4 clulas 8 clulas 12 clulas 16 clulas

EXEMPLO DE CIFRA

Tomemos como exemplo o texto claro "RODA PIO NA PALMA DA MINHA MO" usando a
grade acima descrita. Dividimos o texto em blocos de 16 caracteres, os quais sero escritos
nas clulas vazadas, linha aps linha. Dispondo os caracteres do primeiro bloco, RODA PIO
NAPA LMAD, obtemos o seguinte:

R P I N
L
O D
A P M
O
A A A D

Posio Inicial Sentido horrio 90 Sentido horrio 90 Sentido horrio 90


Posio 1 Posio 2 Posio 3 Posio 4

O resultado ser um bloco de 16 caracteres completamente embaralhado como voc pode


observar abaixo:

P R I N

O L D

M A O P

A A A D

O mesmo processo repetido at que todos os caracteres da mensagem tenham sido


transpostos. O resultado mostra que o segundo bloco est incompleto. Para obter a simetria
desejada, basta preencher as posies vazias com quaisquer caracteres. Ao decifrar a
mensagem, o destinatrio no ter dificuldade em exclu-los.

P R I N H A A O Pode ser enviado como P R I N


H A A O
O L D M I M O L D
M B I M
M A O P M A O P
F X Q
A A A D N A A A D
N P H J
A mensagem cifrada tambm pode ser enviada como PRIN OLD MAOP AAAD HAAO MXIM
XXX NXXX. Obviamente os espaos tambm podem ser suprimidos.

CONFIRA A CIFRA

Escolha a grade clicando na marca correspondente. Para montar sua grade, clique nas
clulas que voc quiser marcar/desmarcar como clulas vazadas. Clique no boto [Testar
Grade] para conferir se a grade pode ser utilizada.

Mensagem clara

Grade 2
X X X
Grade 1

X X

X X X

X X

X X

X
Mensagem cifrada

Aplicativo em Javascript adaptado para os navegadores MS IE 5.0, Netscape 4.0, Opera 3.0, Firefox 1.0 ou superiores.
Javascript precisa estar habilitada!

Comentrio

Esta foi a cifra usada por Jlio Verne no seu romance Mathias Sandorf (primeira parte do
captulo IV).

Fontes

Didier Mller, Grille tournante


John Savard, Methods of Transposition
Grille du colonel Fleissner, excelente applet Java.

Atualizao Qua, 15.04.2009 11:31

Cifras de
Substituio

Escrito por vov Vicki

Dom, 07.01.2007 16:13

Cifras de substituio produzem criptogramas nos quais as letras do texto original, tratadas
individualmente ou em grupos de comprimento constante, so substitudas por outras letras,
figuras, smbolos ou uma combinao destes de acordo com um sistema predefinido e uma
chave.

Substituies Monoalfabticas

O sistema que substitui cada um dos caracteres de um texto claro usando outros caracteres
(letras, nmeros, smbolos, etc) conforme uma tabela de substituio pr-estabelecida o
sistema mais antigo que se conhece. As tabelas de substituio contm os caracteres que
sero substitudos e os caracteres de substituio. Estas tabelas tambm so conhecidas
como cifrantes ou alfabetos cifrantes. Quando apenas um cifrante aplicado, a substituio
chamada de monoalfabtica.

Leia mais sobre as substituies monoalfabticas.

Substituies Polialfabticas

Quando mais de um cifrante utilizado para cifrar um texto claro, o mtodo denominado
substituio polialfabtica.

Leia mais sobre as substituies polialfabticas.

Substituies Poligrmicas

Quando grupos de letras so substitudos por outro grupo de letras, diz-se que a substituio
poligrmica. No poligmica, como se v muitas vezes por a na Internet. Poligamia
significa mais de um parceiro (marido com duas ou mais esposas ou mulher com dois ou
mais maridos) e poligramia significa apenas mais de duas letras

Leia mais sobre as substituies poligrmicas.

Atualizao Sb, 24.01.2009 17:02

As substituies
monoalfabticas

1
2
3
4
5

(11 votos, mdia 4.3 de 5)


Escrito por vov Vicki

Sb, 03.09.2005 21:47

Uma tabela de substituio contm os caracteres que sero substitudos e os caracteres de


substituio. Esta tabela tambm conhecida como cifrante ou alfabeto cifrante. Quando
apenas um cifrante aplicado para transformar um texto claro num criptograma, a
substituio chamada de monoalfabtica.
Classificao das cifras clssicas

Monogrmicas ou Simples

Como cada um dos caracteres do texto claro substitudo por um outro, o comprimento da
mensagem cifrada igual ao comprimento da mensagem original e a frequncia de
ocorrncia das letras (nmeros ou smbolos) do criptograma a mesma que a frequncia de
ocorrncia das letras da lngua usada no texto claro. Este sistema chamado de
monoalfabtico porque apenas um alfabeto cifrante (ou tabela de substituio) aplicado e
classificado como substituiomonogrmica (ou monogrfica) porque cada caracter
tratado individualmente.

A substituio monogrmica tambm conhecida como uniliteral - uni = uma e literal =


letra (no confunda com unilateral!).

As cifras de substituio monoalfabtica monogrmica mais antigas so o Atbash e o Cdigo


de Csar. Na criptografia contempornea, que usa computadores, substitui-se blocos de bits
ao invs de caracteres. O princpio, porm, o mesmo.

Veja alguns exemplos de substituies simples.

Poligrmicas

A substituio monoalfabtica poligrmica tem as mesmas caractersticas da substituio


simples (ou monoalfabtica monogrmica), com a diferena de que se substitui grupos de
caracteres do texto original por um ou mais caracteres. Portanto, o comprimento da
mensagem cifrada nem sempre o mesmo da mensagem original.

Quando os grupos de substituio so constitudos por mais de uma letra ou smbolo,


tambm chamamos a substituio de multiliteral. As substituies multiliterais podem
ser digrmicas ou biliterais (grupos de duas letras ou smbolos), trigrmicas ou triliterais,
etc.

Homofnicas

Dentre as substituies monoalfabticas poligrmicas existe a substituio


chamada homofnica. Homofnico vem do grego e significa "mesmo som". o conceito de
ter sequncias diferentes de letras que so pronunciadas de forma semelhante. Na
criptologia, uma cifra que substitui cada um dos caracteres do texto claro por um de vrios
smbolos possveis, todos com o mesmo significado.

Apesar de vrios substitutos para cada um dos caracteres, o comprimento do texto cifrado
igual ao do texto claro. Um exemplo de substituio homofnica a cifra de Babou.

Veja alguns exemplos de substituies homofnicas.

Tomogrficas

Sistemas tomogrficos, tambm conhecidos como tomogrmicos, so aqueles nos quais


cada caractere substitudo por um grupo de duas ou mais letras ou nmeros.

O comprimento do criptograma maior do que o do texto original. Exemplos clssicos do


mtodo tomogrfico so o Cdigo de Polbio e a cifra de Bacon.

Veja alguns exemplos de substituies tomogrficas.

Atualizao Qua, 28.01.2009 14:54

As cifras
homofnicas *

1
2
3
4
5

(16 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Dom, 10.11.2002 22:00

ndice do Artigo

As cifras homofnicas *

Exemplo interativo
Todas as pginas

Para escapar da anlise da frequncia de ocorrncia das letras, uma soluo consiste em
substituir uma letra no por um smbolo convencionado, mas sim por um de vrios smbolos.
O nmero de smbolos referentes a cada letra do texto claro deve ser proporcional sua
frequncia de ocorrncia na lngua utilizada. Para o Portugus, por exemplo, as letras A, E e
O (de alta frequncia) teriam vrios substitutos possveis enquanto que J, X e Z teriam
apenas um. Este tipo de substituio chamada de homofnica, palavra que deriva do grego
e significa "do mesmo som", ou seja, de mesma pronncia. Na substituio homofnica, os
smbolos de substituio para a letra A so homfonos: todos so pronunciados como A.

Simeone de Crema

Em 1401, Simeone de Crema usou uma chave na qual cada vogal do texto original possua
vrios equivalentes. Isto comprova que, j nesta poca, o ocidente conhecia a criptanlise.
No pode haver outra explicao para o aparecimento destes mltiplos substitutos ou
homfonos. O fato dos homfonos serem aplicados a vogais, e no apenas
indiscriminadamente, indica, no mnimo, um conhecimento bsico da anlise de frequncia
de ocorrncia das letras.

A cifra homofnica de Simeone de Crema

Michele Steno

Michele Steno, doge de Veneza de 1400 a 1413, tambm tinha sua cifra homofnica.
Escolhia um dos muitos smbolos para cada caracter, alm de utilizar nulos e caracteres
especiais para certas palavras de uso frequente.
Substituio homofnica de Michele Steno

Giovanni Palatino

Giovanni Battista Palatino era conhecido como o "calgrafo dos calgrafos". Em 1540 publicou
seu primeiro trabalho, chamadoLibro Nuovo, com muitos exemplos de caligrafia que o
tornaram famoso. Incluiu tambm exemplos de escritas no-ocidentais, alm de hieroglifos e
alfabetos cifrantes. Atualmente existem manuscritos originais de Palatino na Bodleian
Library, em Oxford, e no Kunstgewerbemuseum, em Berlim.

Duque de Montmorency

Em 1552, o Duque de Montmorency usava um cifrante homofnico em sua correspondncia


com a Inglaterra. Observe que h uma pequena nomenclatura associada, onde palavras
inteiras so substitudas, como Rei da Frana, Inglaterra, guerra, etc. Alm disso, para
aumentar a segurana da cifra, Montmorency tambm fazia uso de nulos.
A cifra homofnica de Palatino
A cifra homofnica do Duque de Montmorency

Philibert Babou

Em 1558, Philibert Babou era o criptoanalista oficial do rei Franois I da Frana. Sua posio
era slida como uma rocha porque... sua linda esposa era amante do soberano

Henrique IV

Em 1595, Henrique IV, rei da Inglaterra, utilizava uma cifra homofnica particular para os
assuntos sigilosos. Um pouco mais elaborada, alm das vogais havia outras letras frequentes
com mais de um substituto.
A cifra homofnica de Henrique IV

A cifra homofnica de Babou

Luis XIII

Em 1628, Luis XIII usava uma cifra homofnica prpria. Na mesma poca, a correspondncia
de assuntos estrangeiros entre Constantinopla e a Frana tambm era cifrada e possua um
mtodo prprio.

A cifra do Rei da Frana, Luis XIII


Cifra homofnica da correspondncia Paris-Constantinopla

Exemplo de cifrante para o Portugus

Podemos substituir as letras do alfabeto por nmeros, atribuindo s letras de maior


frequncia uma quantidade maior de nmeros:

Letra Freq.% Cifrantes Letra Freq.% Cifrantes

000, 026, 052, 078, 104, 130, 156,


A 14.63 N 5.05 039, 091, 143, 195, 247
182, 208, 234, 260, 286, 312

066, 092, 118, 144, 170, 196,


B 1.04 027 O 10.73
222, 248, 274, 300

C 3.88 002, 028, 132, 210 P 2.52 119, 249

D 4.99 055, 107, 159, 185, 263 Q 1.20 172

030, 056, 082, 108, 134, 160, 186, 017, 069, 095, 147, 225, 277,
E 12.57 R 6.53
212, 238, 264, 290, 316 329

044, 096, 122, 174, 200, 252,


F 1.02 083 S 7.81
278, 304
G 1.30 292 T 4.34 071, 149, 227, 331

H 1.28 137 U 4.63 020, 046, 124, 254

I 6.18 112, 138, 164, 190, 216, 242 V 1.67 203

J 0.40 009 W 0.01 100

K 0.02 062 X 0.21 179

L 2.78 037, 089, 167 Y 0.01 024

M 4.74 012, 116, 194, 272, 324 Z 0.47 233

Confira a cifra

Texto claro

Texto cifrado

Texto decifrado Mod(26)


Clique vrias vezes no boto [Cifrar] e observe como diferentes criptogramas so gerados.
Apesar disto, o texto decifrado continua intacto.

No h motivo para se preocupar com a tabela de substituio. No precisa ser decorada,


basta achar o mod26 para recuperar a letra original! Isto nada tem a ver com as cifras
homofnicas originais, invencionice minha mesmo

Fontes

Didier Mller

Atualizao Seg, 13.04.2009 19:57

O Cdigo de
Polbio *

1
2
3
4
5

(44 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Sb, 02.07.2005 13:35

O historiador grego Polbio (204 a.C. a 122 a.C.), no seu livro Histrias, descreve um cdigo
poligrmico e atribui a autoria do mesmo aos seus contemporneos Cleoxeno e Democleto.

A idia substituir cada letra com um par de nmeros cujos algarismos esto
compreendidos entre 1 e 5. A base para a substituio dada por uma tabela de 5x5. Desta
forma, a mensagem pode ser transmitida com dois grupos de 5 tochas. Por exemplo, a letra
E transformada em 1 e 5 (veja abaixo), e pode ser transmitida com 1 tocha direita e 5
esquerda.

Na verdade, mais do que um cdigo secreto, esta cifra um sistema de telecomunicao -


um telgrafo tico. Telgrafos com tocha existiam h muitos sculos e j haviam sido usados
por Enias, o ttico, ao redor de 350 a.C. No entanto, eram baseados num nmero muito
limitado de mensagens possveis. O cdigo de Polbio se destaca porque se baseia na
decomposio da mensagem em letras individuais, permitindo transmitir qualquer tipo de
mensagem.

CARACTERSTICAS
Origem: Autoria de Cleoxeno e Democleto. Relatada por Polbio no seu
livro Histrias.
Classe: Substituio Monogrmica
Tipo: Monoalfabtica Tomogrfica
Segurana: Baixssima.
Uso: O mtodo serviu de base para muitos outros tipos de cifra. A tabela ficou
conhecida como Tabuleiro de Polbio ou checkerboard.
Criptoanlise: Uma simples anlise de frequncia suficiente para decifrar o texto.

O CDIGO DE POLBIO

As letras so colocadas num tabuleiro de 5x5. Como o alfabeto grego possui 24 letras,
Polbio props que a 25a. posio do tabuleiro fosse utilizada como sinal de sincronizao -
incio e fim da transmisso. No exemplo abaixo utilizei o alfabeto latino que possui o
"defeito" de ter 26 letras. Para obter a cifra, os caracteres K e Q, foneticamente muito
prximos, foram "fundidos". Deste modo, obtm-se a seguinte tabela:

| 1 | 2 | 3 | 4 | 5 |
|-----------------------------|
| 1 | A | B | C | D | E |
| 2 | F | G | H | I | J |
| 3 | K/Q | L | M | N | O |
| 4 | P | R | S | T | U |
| 5 | V | W | X | Y | Z |
|-----------------------------|

Cada letra representada pela combinao dos dois nmeros que correspondem posio
ocupada pela letra. Assim, A substitudo por 11, B por 12..., L por 32, etc, e a mensagem
clara transformada numa sequncia de nmeros que variam de 11 a 15, 21 a 25, 31 a 35,
41 a 45 e 51 a 55.

O cdigo de Polbio tem algumas caractersticas importantes: a reduo do nmero de


caracteres cifrantes utilizados (so apenas 5), a converso em nmeros (que permitem fazer
clculos adicionais) e a transformao de um smbolo em duas partes que podem ser usadas
separadamente. Sua importncia na histria da criptografia reside no fato de que serviu de
base para outros mtodos de cifragem como a Cifra Playfair e a Cifra Campal Germnica
(ADFGX), usada na Primeira Guerra Mundial.

Veja um exemplo do uso do Cdigo de Polbio logo abaixo:

Texto Original: T o c h a s d e P o l b i o
Texto Cifrado: 44 35 13 23 11 43 14 15 41 35 32 24 12 24 35

CONFIRA A CIFRA
Mensagem clara Mensagem cifrada
Reiniciar

Manter espaos
Eliminar
espaos

Cifrar Mensagem Decifrar Mensagem


Cifragem lenta
Cifragem
rpida
Limpar Limpar

Aplicativo em Javascript, que precisa estar habilitada!

Exerccios on line

Em Lpis e Papel - Exerccios com o Cdigo de Polbio - voc encontra material para testar e
reforar seus conhecimentos.

Atualizao Ter, 12.02.2008 17:50

Morse
fracionado

1
2
3
4
5
(8 votos, mdia 4.1 de 5)
Escrito por vov Vicki

Sex, 09.09.2005 03:10

ndice do Artigo

Morse fracionado

Morbit e Pollux

Todas as pginas

Existem algumas cifras que, antes de poderem ser aplicadas, exigem que o texto claro seja
passado para cdigo Morse. Existem vrias cifras deste tipo, com pequenas variaes. As
mais conhecidas so o Morse fracionado, o Pollux e o Morbit. A autoria destas cifras
desconhecida, mas com toda certeza s podem ter sido criadas aps 1844, ano em que o
telgrafo e o cdigo Morse foram finalmente reconhecidos. No sei dizer se estas cifras
chegaram a ser usadas. Atualmente servem apenas para criar enigmas que podem ser
resolvidos com lpis e papel.

Como em todas estas cifras a primeira etapa consiste em passar o texto claro para Morse,
segue uma tabela apenas com as letras do alfabeto para apoiar o texto.

a l w

b m x

c n y

d o z

e p

f q

g r

h s

i t

j u

k v
O Morse fracionado

A primeira etapa consiste em passar o texto claro para Morse colocando-se x entre cada letra
e xx entre cada palavra. Por exemplo, se quisermos cifrar ALDEIA NUMABOA, o resultado
ser o seguinte:

A L D E I A
.- x .-.. x -.. x . x .. x .- xx

N U M A B O A
-. x ..- x -- x .- x -... x --- x .-

Na segunda etapa prepara-se o alfabeto cifrante. Pode-se usar uma palavra-chave para
facilitar a obteno de um alfabeto desordenado, por exemplo, SAMUEL MORSE. Eliminando
as letras repetidas da senha e completando o cifrante com as letras restantes em ordem
alfabtica obtm-se:

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

Abaixo do cifrante adiciona-se trs linhas. A primeira, com grupos de 9 pontos, 9 traos e 8
x; a segunda com grupos de 3 pontos, traos e x; e a terceira com com grupos de ponto-
trao-x.

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

Na etapa final, fraciona-se o texto claro em Morse em grupos de 3 e compara-se cada um


destes grupos com os obtidos no cifrante, na vertical abaixo de cada letra, trocando-se cada
grupo pela letra correspondente:

. . . . . . -
- - x . x x x
x . - x . . x
L U R M O O N

- . x x x . - x
. . - . - . - .
x - - - . x - -
F A W Q V M H Q

Portanto, o texto ALDEIA NUMABOA, cifrado com Morse fracionante com a chave SAMUEL
MORSE, resulta em:

LURMOONFAWQVMHQ

Se, por acaso, o nmero de smbolos no for um mltiplo de trs, o ltimo bloco pode ser
completado com pontos ou com traos. S no possvel criar um bloco com xxx, porque
no h um equivalente no cifrante. Observe tambm que a mensagem cifrada (15 letras)
mais longa que a mensagem original (13 letras).

Morbit

A cifra Morbit uma variao do Morse cifrado. Ela pode ser considerada um Morse
fracionado simplificado. Muda a senha, que precisa ser de 9 letras e os grupos so de dois
elementos. Para efeito de comparao, vamos cifrar ALDEIA NUMABOA com a senha SAMUEL
MOR.

Para preparar o cifrante, numera-se a senha em ordem alfabtica e adiciona-se duas linhas
com pontos, traos e x:

S A M U E L M O R
8 1 4 9 2 3 5 6 7

. . . - - - x x x
. - x . - x . - x

Em seguida, fraciona-se a mensagem clara em Morse em grupos de 2 elementos que so


substitudos pelos correspondentes no cifrante:

A L D E I A
.- x .-.. x -.. x . x .. x .- xx

. x - . - . . . x -
- . . x . x x . . x
1 5 9 4 9 4 4 8 5 3

N U M A B O A
-. x ..- x -- x .- x -... x --- x .-

x . . - - x - - . x - x -
- x . x - . x . . - - . .
6 4 8 3 2 5 3 9 8 6 2 5 9

Observe que o segundo x do grupo divisor xx inicia o grupo da palavra numaboa e que, no
final, como faltou um smbolo para completar o grupo, foi adiconado um ponto. O texto
cifrado :

15949448536483253986259

Observe que a mensagem cifrada (23 nmeros) bem mais longa que a mensagem clara
(13 letras).

Pollux

O Pollux pode ser considerado um Morbit simplificado. O cifrante constitudo por dez dgitos
que so atribudos aos traos, pontos e x. Por exemplo, pode-se convencionar o seguinte:
Pontos 0123
Traos 456
Divisor 789

Utilizando este cifrante, uma das maneiras de se cifrar o texto ALDEIA NUMABOA
(dependendo dos substitutos escolhidos):

A L D E I A
.- x .-.. x -.. x . x .. x .- xx
04 7 1523 8 601 7 2 8 30 9 14 78

N U M A B O A
-. x ..- x -- x .- x -... x --- x .-
52 9 306 7 45 8 16 9 4230 7 564 8 15

O texto cifrado obtido :

04715 23860 17283 09147 85293 06745 81694 23075 64815

Observe que a mensagem cifrada bem mais longa do que a mensagem em texto claro e
que a substituio, alm de tomogrfica, funciona como se fosse um cifra homofnica (vrios
substitutos para o mesmo caracter).

Fontes

American Cryptogram Association - Chapter 8


Cipher Clerk

Atualizao Ter, 14.04.2009 13:33

Sobre as substituies
polialfabticas

1
2
3
4
5

(5 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Sb, 24.09.2005 23:50

Um alfabeto cifrante um conjunto de smbolos que sero utilizados para substituir os


smbolos (letras) originais. Numa substituio polialfabtica utilizam-se mltiplos cifrantes
para substituir os caracteres de uma nica mensagem.

Os alfabetos no precisam necessariamente ser de origens diferentes, por exemplo um


alfabeto romano e outro cirlico. O simples fato de alterar a ordem na sequncia das letras j
caracteriza um "novo" alfabeto. Se trocarmos a sequncia original do alfabeto latino "a b c ...
x y z" por "z y x ... c b a", j temos um alfabeto de substituio e "b c d ... y z a" um
alfabeto de substituio diferente. Se ambos forem utilizados para cifrar uma mesma
mensagem, ento trata-se de uma substituio polialfabtica.

A forma mais antiga da cifra polialfabtica foi desenvolvida por Leon Battista Alberti
em 1466. Seu sistema consistia em escrever o texto cifrado em letras minsculas e
usar letras maisculas como smbolos, denominados indicadores, para indicar a troca
do alfabeto cifrante. O cifrante do Disco de Alberti era ordenado e inclua os dgitos
de 1 a 4, usados para formar palavras-cdigo de uma pequena nomenclatura.
Posteriormente, formas mais modernas foram desenvolvidas, onde o cifrante era
mudado a cada letra do texto claro.
Um sistema de chave progressiva um sistema onde os alfabetos cifrantes (ou
chaves) so usados uns aps os outros numa ordem pr-estabelecida. Esta cifra foi
publicada postumamente num livro de Johannes Trithemius, em 1518. A tabela de
substituio deste mtodo conhecida como Tablula Recta de Trithemius.
A substituio polialfabtica com palavra-chave uma substituio onde uma
palavra-chave indica os alfabetos cifrantes que devem ser usados. Apesar deste
sistema ser chamado genericamente de Vigenre, ele foi criado pela primeira vez por
Giovanni Battista Bellaso em 1553. Dez anos mais tarde, em 1563, Giambattista
Della Porta adicionou o uso de alfabetos mistos a este sistema.
Num sistema de substituio polialfabtica com auto-chave h uma chave que indica
a escolha inicial do alfabeto cifrante. Depois, a prpria mensagem determina os
alfabetos subsequentes. A primeira proposta foi de Girolamo Cardano, porm possua
falhas. Foi Blaise de Vigenre quem publicou a forma moderna da cifra com auto-
chave em 1585.

Atualizao Ter, 26.06.2007 18:02

O Disco de
Alberti *
1
2
3
4
5

(41 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Sb, 25.06.2005 21:00

Leon Battista Alberti conhecido como "O Pai da Criptologia Ocidental", em parte porque
desenvolveu a substituio polialfabtica. A substituio polialfabtica uma tcnica que
permite que diferentes smbolos cifrados possam representar o mesmo smbolo do texto
claro. Isto dificulta a interpretao do texto cifrado pela aplicao da anlise de frequncia.
Para desenvolver esta tcnica, Alberti estudou os mtodos da poca usados para quebrar
cifras e elaborou uma cifra prpria que seria imune a estes mtodos.

A cifra de Alberti uma das cifras polialfabticas mais seguras. No obteve o sucesso que se
poderia esperar devido deciso do autor de mant-la secreta. Seu famoso tratado De
Componendis Cyphris passou praticamente despercebido quando foi publicado em Veneza
um sculo mais tarde como parte de um outro, tambm de sua autoria, o oposcoli morali.

Alberti completou esta descoberta, um marco na histria da criptologia, com uma outra
inveno notvel: o mtodo de recifragem (ou supercifragem). Para isto, comps uma tabela
com todas as combinaes possveis dos algarismos 1, 2, 3 e 4, criando valores que ficavam
entre 11 e 4444. Desta forma obteve 336 grupos, os quais utilizava como um pequeno
repertrio (ou dicionrio de cdigos). Diz Alberti: Introduzi estas palavras na minha
mensagem e, pela aplicao do procedimento, elas foram substitudas pelas letras que lhe
eram correspondentes. Cada um dos nmeros desta lista correspondia uma palavra que, se
aparecesse no texto claro, era substituda pelo nmero e este, por sua vez, era criptografado
como o restante do texto.

CARACTERSTICAS

Origem: Desenvolvida por Leon Battista Alberti em 1466.


Classe: Substituio monogrmica.
Tipo: Polialfabtica.
Caractersticas: Praticamente anula uma anlise de frequncia.
Segurana: Baixa

O DISCO DE ALBERTI
Alberti tambm foi um dos primeiros a projetar
e usar um dispositivo que facilitava o processo
criptogrfico. Este dispositivo ficou conhecido
como Disco de Alberti. O disco composto por
dois anis concntricos, um externo e um
interno. O anel externo fixo, com 24 casas
contendo 20 letras latinas maisculas (incluindo
o Z, com U=V e excluindo H J K W Y) e os
nmeros 1, 2, 3, e 4 para o texto claro. O anel
interno mvel, com as 24 letras latinas
minsculas para o texto cifrado. As 20 letras
maisculas esto em ordem alfabtica e as 24
minsculas esto desordenadas. Letras
minsculas fora de ordem uma norma
O Disco de Alberti fundamental pois, caso estivessem em ordem, a
cifra seria apenas uma generalizao do Cdigo
de Csar.

A CIFRA DE ALBERTI

Fixada uma letra minscula como ndice (por exemplo a letra m), deve-se ajustar o disco
mvel interno e escrever, como primeira letra do criptograma, a letra maiscula que se
escolher para corresponder ao m (no exemplo, a letra D). A seguir, algumas letras so
cifradas. Os nmeros 1, 2, 3, e 4 servem de nulos. Quando se decide alterar o alfabeto
cifrante, escreve-se uma nova letra maiscula para indicar claramente ao destinatrio de que
houve uma mudana no alfabeto cifrante. Ajusta-se a nova letra escolhida para que coincida
com a letra ndice (por exemplo, Z com m) e novamente algumas letras so cifradas.

Para aumentar a segurana (a letra maiscula constitui uma ajuda no s para o destinatrio
mas tambm para o "inimigo"), Alberti sugeriu usar um dos quatro nmeros para indicar a
alterao da lista cifrante. A letra minscula correspondente ao nmero ser a nova chave.
Decididamente torna-se uma cifra muito mais segura e claramente superior s que a
seguiram no tempo.

CONFIRA A CIFRA

As letras maisculas so omitidas para simplificar o processo. Escolha o deslocamento inicial


e clique em [Deslocar esquerda] para observar o resultado. Ao cifrar ou decifrar a
mensagem, o deslocamento indicado efetuado automaticamente.

Claro A B C D E F G I L M N O P Q R S T V X Z 1 2 3 4
Cifrado c # b m d g p f z n x y v t o s k e r l h a i q

0
Deslocamento inicial (0-23) Deslocar
esquerda

Mensagem clara Mensagem cifrada


Reiniciar

Manter
espaos
Eliminar
espaos
Agrupar

Cifrar Mensagem Decifrar Mensagem


Cifragem lenta
Cifragem
rpida
Limpar Limpar

Aplicativo em Javascript, que precisa precisa estar habilitada!

LPIS E PAPEL

Se voc quiser testar um software para gerar o disco original de Alberti ou outra combinao
da sua preferncia, d uma chegadinha na seo de Downloads da Aldeia e procure na
categoria Criptologia/Criptografia.

Para complementar este texto, faa os Exerccios com o Disco de Alberti.

Fontes e Autoria

As fontes voc encontra nos Links e na Biblioteca da Aldeia sob as denominaes Alberti ou
Disco de Alberti. Autoria do texto: vov Vicki.

Atualizao Dom, 14.06.2009 13:33


Bellaso e a
Palavra Chave

1
2
3
4
5

(7 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Sb, 02.07.2005 04:04

Na Criptologia, o grande mrito de Giovanni Battista Bellaso foi introduzir o conceito e o uso
de palavras-chave, os antepassados diretos da senha.

CARACTERSTICAS

Origem: Desenvolvida por Giovanni Battista Bellaso.


Classe: Substituio com palavra-chave.
Tipo: Polialfabtica monogrmica.
Caractersticas: Muito parecida com a cifra de Alberti porque usa alfabetos cifrantes
invertidos e no de todo arbitrrios. Bellaso foi o primeiro criptlogo moderno a
propor o uso de palavras-chave, posteriormente muito difundidas.
Segurana: Baixa

UMA DAS CIFRAS DE BELLASO

As publicaes de Bellaso, de 1553 e de 1564, contm algumas cifras de substituio


polialfabtica extremamente interessantes.

A ttulo de exemplo, descrevo a seguinte: a idia a de utilizar diversos


alfabetos desordenados de acordo com uma palavra ou frase convencionada - o
antepassado direto da senha de hoje. As letras da palavra secreta so escritas esquerda,
no incio e em duas linhas. As letras do alfabeto restantes so escritas a seguir, tambm em
duas linhas. Utiliza-se o alfabeto latino de 20 letras, onde J=I, U=V e no h as letras K, Y e
W. O exemplo original, publicado por Bellaso, com a palavra-chave IOVE, onde o Z
tambm excludo.

Veja abaixo um exemplo de como obter o primeiro alfabeto cifrante derivado onde a palavra-
chave MOLA:

M O B C D E F G H I
L A N P Q R S T V X
O segundo alfabeto obtido deslocando-se circularmente a segunda linha:

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

Utiliza-se o mesmo processo at serem obtidos 5 alfabetos derivados, sendo cada um deles
identificado por um grupo de 4 letras, como mostrado abaixo:

|-- M O B C D E F G H I
M E L R --|
|-- L A N P Q R S T V X

|-- M O B C D E F G H I
O F A S --|
|-- X L A N P Q R S T V

|-- M O B C D E F G H I
B G N T --|
|-- V X L A N P Q R S T

|-- M O B C D E F G H I
C H P V --|
|-- T V X L A N P Q R S

|-- M O B C D E F G H I
D I Q X --|
|-- S T V X L A N P Q R

Neste ponto, deve-se usar uma segunda palavra-chave (ou frase), por exemplo GENIAL.
Esta segunda palavra-chave serve de guia para escolher o alfabeto cifrante que corresponde
a cada uma das palavras. Veja no exemplo abaixo, onde o texto "inveno da palavra-chave"
ser cifrado:

Palavra-chave | G | E | N
| I
-----------------------------------------------------------
--------------
Texto Claro | I N V E N C A O | D A | P A L A V R A
| C H A V E
-----------------------------------------------------------
--------------
Texto Cifrado | T D M P D A C X | Q O | E C B C M G C
| X Q E B A

Atualizao Dom, 25.09.2005 00:11

A cifra de
Della Porta *
1
2
3
4
5

(7 votos, mdia 5.0 de 5)

Escrito por vov Vicki

Ter, 27.09.2005 03:42

O italiano Giambattista Della Porta foi o inventor do primeiro sistema literal de chave dupla, ou seja, a primeira cifra na
qual o alfabeto cifrante trocado a cada letra cifrada. Este sistema polialfabtico era extremamente robusto para a
poca, de modo que muitos consideram Della Porta como o "Pai da criptografia moderna". Della Porta inventou seu
sistema em 1563 e esta cifra foi utilizada com sucesso por mais de trs sculos.

Caractersticas

Origem: Desenvolvida por Della Porta em 1563.


Classe: Substituio monogrmica.
Tipo: Polialfabtica.
Caractersticas: muito parecida com a cifra de Bellaso.
Segurana: baixa.

A cifra de Della Porta

Cifrante de Della Porta

Della Porta empregou 11 alfabetos diferentes e reversveis que ele designou por AB, CD, EF, etc. Estes alfabetos podem
ser vistos na figura ao lado. O princpio o mesmo do deslocamento circular visto na Cifra de Bellaso.

Neste texto vamos aumentar os alfabetos para 13 para poder cifrar todas as letras do alfabeto ocidental atual (veja
abaixo).

Para cifrar uma letra, escolhe-se um alfabeto, digamos o alfabeto MN. Neste caso, o A ser trocado por U e a letra U
ser trocada pela letra A; o B ser substitudo por V e a letra V pela letra B, e assim por diante. Percebe-se que esta
uma cifra reversvel pois, se aplicarmos o mesmo mtodo num texto cifrado, obtemos novamente o texto claro.
Para no ter que usar todos os alfabetos (originalmente, onze), Della Porta sugere o uso de quatro, cinco ou seis
alfabetos. Alm disso, prope o uso de uma palavra chave cujas letras indiquem os alfabetos que devem ser utilizados
sucessivamente. Esta palavra-chave a chave do criptograma.

O cifrante

AB
A B C D E F G H I J K L M
N O P Q R S T U VWX Y Z
CD
A B C D E F G H I J K L M
Z N O P Q R S T U VWX Y
EF
A B C D E F G H I J K L M
Y Z N O P Q R S T U VWX
GH
A B C D E F G H I J K L M
X Y Z N O P Q R S T U VW
IJ
A B C D E F G H I J K L M
WX Y Z N O P Q R S T U V
KL
A B C D E F G H I J K L M
VWX Y Z N O P Q R S T U
MN
A B C D E F G H I J K L M
U VWX Y Z N O P Q R S T
OP
A B C D E F G H I J K L M
T U VWX Y Z N O P Q R S
QR
A B C D E F G H I J K L M
S T U VWX Y Z N O P Q R
ST
A B C D E F G H I J K L M
R S T U VWX Y Z N O P Q
UV
A B C D E F G H I J K L M
Q R S T U VWX Y Z N O P
WX
A B C D E F G H I J K L M
P Q R S T U VWX Y Z N O
YZ
A B C D E F G H I J K L M
O P Q R S T U VWX Y Z N

Para cifrar um texto, convenciona-se uma palavra-chave, por exemplo NUMABOA. Neste caso, os alfabetos cifrantes N,
U, M, A, B, O e A sero utilizados sucessivamente para cifrar a mensagem. Se quisermos cifrar a frase "cifra de porta,
chifre de porteira", obtemos o seguinte:

Palavra-chave N UMA B O AN UMA B O AN UMA B OA


Texto Claro c i f r a d e p o r t a c h i f r e d e ...
Texto Cifrado W Y Z E N W R I L K G N V U P V K R Q X ...
CONFIRA A CIFRA

CHAVE

Mensagem clara Mensagem cifrada


Reiniciar

Manter espaos
Eliminar
espaos
Agrupar

Cifrar Mensagem Decifrar Mensagem


Cifragem lenta
Cifragem
rpida
Limpar Limpar

Atualizao Dom, 14.06.2009 17:03

Tabula Recta de
Trithemius *

1
2
3
4
5

(13 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Ter, 03.07.2007 20:33

Johannes Trithemius (1462-1516), Ioannis Trithemius em Latim, considerado um dos "Pais


da Criptologia". Foi o primeiro a publicar um livro impresso (na poca eram comuns apenas
os livros manuscritos), em Latim, versando sobre criptografia: Polygraphiae libri sex,
Ioannis Trithemii abbatis Peapolitani, quondam Spanheimensis, ad Maximilianum
Ceasarem, ou seja, "Poligrafia em seis livros por Joo Trithemius, abade de Wrzburg,
anteriormente de Sponheim, dedicados ao Imperador Maximiliano". A primeira impresso foi
feita em 1518 por Johannes Haselberg, sendo o livro reimpresso em 1550, 1600 e 1613.
Uma traduo francesa, anotada e consideravelmente modificada, deve-se a Gabriel de
Collange, editada em 1561 e reimpressa em 1625.

Poligrafia de Trithemius

Para desespero dos franceses, os alemes e muitos autores dos anos 1600 e 1700 afirmam
que foi o abade Trithemius quem inventou as carreiras de Vigenre. Realmente, a tabela
encontrada na Polygraphia, mas denominada de "tabela de transposio" e no utilizada
da mesma forma que a de Vigenre. Alm disto, a noo de palavra-chave est totalmente
ausente na obra de Trithemius, porm indiscutvel que foi a primeira vez que uma tal
tabela foi citada.

A forma como Trithemius utilizava sua tabula recta era a seguinte: ele cifrava a primeira
letra da mensagem clara com a primeira linha, a segunda letra com a segunda linha... a
dcima quinta letra com a dcima quinta linha e assim sucessivamente. Quando alcanava a
ltima linha da tabela, recomeava com a primeira.
A explicao de como usar a tabela encontra-se no rodap da pgina do seu livro onde se
encontra a tabela. O texto em Latim o seguinte:

In hac tabula literarum canonica sive recta tot ex uno et usuali nostro latinarum literarum
ipsarum per mutationem seu transpositionem habes alphabeta, quot in ea per totum sunt
monogrammata, videlicet quater et vigesies quatuor et viginti, quae faciunt in numero
DLXXVI. ac per totidem multiplicata, paulo efficiunt minus quam quatuordecemmilia.

A traduo seria: sobre esta tabela regular ou carreiras de letras coloca-se, por permutao
ou por transposio, o alfabeto usual das nossas letras latinas; ou ento, coloca-se nesta
tabela todos os monogramas, de 24 em 24, o que totaliza um nmero de 576 e,
multiplicando por outro tanto (24) perfazem um pouco menos de 14.000.

Na verdade, as letras que correspondem primeira linha no so cifradas, enquanto que as


restantes so deslocadas no alfabeto o nmero de posies correspondentes ao nmero da
linha. como se fosse um Cdigo de Csar com um deslocamento diferente para cada letra.

Veja o exemplo abaixo, onde foi considerado o alfabeto latino de 26 letras:

Mensagem clara A L D E I A N U M A B
O A
Deslocamento 0 1 2 3 4 5 6 7 8 9 10
11 12
Mensagem cifrada A M F H M F S B U J L
Z M
Confira a cifra

Mensagem clara Mensagem cifrada


Reiniciar

Manter espaos
Eliminar espaos
Agrupar
Manter Nmeros
Sinais Grficos
Cifrar Mensagem Decifrar Mensagem
Cifragem lenta
Cifragem rpida Limpar Limpar

O aplicativo s funciona se a Javascript estiver habilitada!


Para uma cifragem lenta, clique repetidamente em [Cifrar mensagem].

Atualizao Qua, 17.06.2009 18:36

A cifra de
Vigenre *

1
2
3
4
5

(54 votos, mdia 4.6 de 5)


Escrito por vov Vicki

Qui, 28.09.2006 10:40

O francs Blaise de Vigenre (1523 - 1596) usou a criptografia como instrumento de


trabalho durante anos. Com a idade de 39 anos resolveu abandonar a carreira diplomtica e
dedicar-se exclusivamente aos estudos.

Vigenre
(1523-1596)
Em 1586 Vigenre publica seu livro de criptologia, o Trait des chiffres o secrtes manires
d'escrire, no qual descreve detalhadamente sua cifra de substituio polialfabtica com
palavra-chave e apresenta uma tabela de alfabetos cifrantes que ficou conhecida como
Carreiras de Vigenre.

O grande mrito do autor desta cifra foi o de aperfeioar um mtodo que j tinha sido
proposto por outros estudiosos, mas que precisava ser estruturado para oferecer a
segurana necessria. Vigenre baseou-se em Alberti e Trithemius, como tambm em alguns
contemporneos, como Bellaso e Della Porta.

Caractersticas

A cifra de Vigenre pertence classe de substituies com palavra-chave.


O tipo da substituio polialfabtica monogrmica (ou monogrfica) porque faz uso
de vrios alfabetos cifrantes (polialfabtica) aplicados individualmente
(monogrmica) aos caracteres da mensagem clara.
O mtodo faz uso de chaves, que podem ser palavras ou frases.
A segurana da cifra era alta para a poca - hoje considerada baixa. Foi somente
em 1863 que o criptlogo alemo Kasiski descobriu como quebrar a cifra de
Vigenre. O matemtico ingls Charles Babbage j havia quebrado a cifra em 1854,
fato que ficou desconhecido por muito tempo porque no publicou sua descoberta.

Carreiras de Vigenre

A tabela abaixo mostra as carreiras de Vigenre. O cabealho da tabela (a linha superior) o


alfabeto e a coluna lateral esquerda mostra o deslocamento dos caracteres. Na linha 0, entra
o alfabeto com deslocamento 0; na linha 1 os caracteres so deslocados em uma posio (o
alfabeto comea com a letra B); na linha 2 os caracteres so deslocados em duas posies e
assim sucessivamente.

Para cifrar a primeira letra do texto claro com a primeira letra da chave, procura-se a letra
do texto claro no cabealho e a letra da chave na coluna da esquerda. A letra encontrada na
interseco das duas referncias ser a substituta da letra do texto claro. Por exemplo, uma
letra D do texto claro com a chave G ser substituda pela letra J.

O processo de substituio manual muito sujeito a erros porque a leitura penosa e,


depois de algum tempo, bastante fatigante. Trabalhar com rguas sobre a tabela de
alfabetos cifrantes tambm acaba cansando. Devido a este fato, a partir de 1880, muitos
criptlogos passaram a utilizar a chamada Rgua de Saint-Cyr.

A B C D E F G H I J K L M N O P Q R S T U VWX Y Z
0 A B C D E F G H I J K L M N O P Q R S T U VW X Y Z
1 B C D E F G H I J K L M N O P Q R S T U VWX Y Z A
2 C D E F G H I J K L M N O P Q R S T U VWX Y Z A B
3 D E F G H I J K L M N O P Q R S T U VWX Y Z A B C
4 E F G H I J K L M N O P Q R S T U VWX Y Z A B C D
5 F G H I J K L M N O P Q R S T U VWX Y Z A B C D E
6 G H I J K L M N O P Q R S T U VWX Y Z A B C D E F
7 H I J K L M N O P Q R S T U VWX Y Z A B C D E F G
8 I J K L M N O P Q R S T U VWX Y Z A B C D E F G H
9 J K L M N O P Q R S T U VWX Y Z A B C D E F G H I
10 K L M N O P Q R S T U VWX Y Z A B C D E F G H I J
11 L M N O P Q R S T U V WX Y Z A B C D E F G H I J K
12 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
13 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
14 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
15 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
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23 X Y Z A B C D E F G H I J K L M N O P Q R S T U VW
24 Y Z A B C D E F G H I J K L M N O P Q R S T U VWX
25 Z A B C D E F G H I J K L M N O P Q R S T U V WX Y

EXEMPLO DA CIFRA DE VIGENRE

Como exemplo, vamos cifrar TEMOS UM NOVO PRESIDENTE com a palavra-chave


NUMABOA:

Texto ClaroT E M O S U M N O V O P R E S I D E N T E
Chave N U M A B O A N U M A B O A N U M A B O A
Deslocamento 13 20 12 0 1 14 0 13 20 12 0 1 14 0 13 20 12 0 1 14 0
Cifrado G Y Y O T I M A I H O Q F E F C P E O H E

Para cifrar um texto, convenciona-se uma palavra-chave. No exemplo NUMABOA. Neste


caso, os alfabetos cifrantes N, U, M, A, B, O e A sero utilizados sucessivamente para cifrar a
mensagem.

CONFIRA A CIFRA

CHAVE

Mensagem clara Mensagem cifrada


Reiniciar

Manter espaos
Eliminar espaos
Agrupar
Manter Nmeros
Sinais Grficos
Cifrar Mensagem Decifrar Mensagem
Cifragem lenta
Cifragem rpida Limpar Limpar

O aplicativo s funciona se a Javascript estiver habilitada!


Para uma cifragem lenta, clique repetidamente em [Cifrar mensagem].

Referncias
Le chiffre de Vigenre de Didier Mller.

Atualizao Dom, 14.06.2009 17:37

A cifra de
Beaufort *

1
2
3
4
5

(5 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Seg, 25.06.2007 22:00

A cifra do almirante ingls Francis Beaufort foi publicada aps sua morte por seu irmo.
importante notar que esta cifra, na realidade, foi criada por Giovanni Sestri em 1710.

Sir Francis
Beaufort (1774-1857)

Beaufort nasceu em Nacian em 1774. Em 1805, poca em que era responsvel por um navio
de guerra, teve a idia de atribuir nmeros aos graus da tabela de ventos utilizada pelos
marinheiros. Sua preocupao era a de facilitar a transmisso de observaes
metereolgicas. Sua tabela foi oficialmente utilizada pela marinha britnica em 1834 e seu
uso tornou-se generalizado em 1874, por ocasio da primeira conferncia de metereologia
martima em Londres. Em sua homenagem, um mar situado perto do rtico e banhando o
norte do Alasca e do Canad recebeu seu nome.

Apenas como curiosidade

Velocidade Velocidade
Descrio Fora Terra gua
Ns Km/h
gua est como um
Fumaa sobe
Calmaria 01 01 0 espelho.
verticalmente
Necessidade de
usar motor.
Pequenas
Fumaa indica a ondulaes na
direo do vento. superfcie da gua.
Befagem 13 15 1
Vento insuficiente Vento suficiente
para birutas. apenas para um
Spinnaker leve.
Sente-se o vento no
O vento agora
rosto. Folhas das
enche as velas.
Aragem 46 6 11 2 rvores se movem.
Pequenas
Birutas indicam a
ondulaes.
direo do vento.
Pequenas bandeiras
Veleiros comeam
esto estendidas.
a se inclinar.
Vento Fraco 7 10 12 19 3 Folhas agora se
Grandes
movem
ondulaes.
continuamente.
Boa brisa para
Poeira levantada
trabalho. Veleiros
Vento pelo vento. Pequenos
11 16 20 28 4 em velocidade de
Moderado galhos comeam a se
casco e com toda
curvar com o vento.
vela.
Numerosas cristas
Vento Pequenas rvores brancas. a hora
17 21 29 38 5
Fresco reagem ao vento. de encurtar as
velas.
O vento agora Cristas brancas por
assobia. A maior parte todo lado. Veleiros
Vento Forte 22 27 39 49 6
dos galhos das rvores comeam a
agora se movem. procurar refgio.
Ondas muito
maiores e os
Temporal rvores inteiras se
28 33 50 61 7 veleiros
Prximo movem.
permanecem nos
ancoradouros.
Todas as
Pequenos galhos
embarcaes
comeam a quebrar.
Temporal 34 40 62 74 8 procuram refgio.
Difcil andar contra o
Espuma em riscos
vento.
bem marcados.
Edificaes comeam
a mostrar pequenos
Temporal estragos. Galhos Baixa visibilidade
41 47 75 88 9
Forte grossos so devido nvoa.
quebrados. Impossvel
andar contra o vento.
Situao perigosa. Ondas com mais de
Tempestade 48 55 89 102 10
rvores so 8 metros.
arrancadas.
Tempestade
Situao perigosa. Ondas com mais de
Violenta - 56 63 103 117 11
Grandes danos. 10 metros.
Tufo
Situao perigosa. Ondas com mais de
Furaco 64 e mais 118 e mais 12
Danos excessivos. 14 metros.

Exemplo da cifra

Vamos cifrar a mensagem clara "QUEM SEMEIA VENTO COLHE TEMPESTADE" com a chave
"FURACO". Usando ascarreiras de Vigenre, basta localizar na COLUNA do caractere do
texto claro o caractere da chave. O caractere cifrado ser o da LINHA correspondente.
como se fosse a cifra de Vigenre "ao contrrio". Observe:

Vigenre Beaufort
======== ========
Claro Claro
Q Q

F V P F
Chave Cifra Cifra Chave

Se considerarmos o algoritmo da cifra de Beaufort, basta subtrair o valor do caractere do


texto claro do valor do caractere da chave. Trabalhar com um conjunto de 26 caracteres o
mesmo que dizer que estamos trabalhando com mdulo 26: valores menores do que zero e
maiores do que 25 precisam ser ajustados. Se quiser uma explicao mais detalhada, v at
a Escolinha da Aldeia e leia o tpico Aritmtica Modular.

Chave F U R A C A O F U R A C A O
Valor 5 20 17 0 2 0 14 5 20 17 0 2 0 14
Claro Q U E M S E M E I A V E N T
Valor 16 20 4 12 18 4 12 4 8 0 21 4 13 19

Chave-Claro -11 0 13-12-16 -4 2 1 12 17-21 -2-13 -5


Mod 26 15 0 13 14 10 22 2 1 12 17 5 24 13 21
CIFRADO P A N O K W C B M R F Y N V
Chave F U R A C A O F U R A C A O F U
Valor 5 20 17 0 2 0 14 5 20 17 0 2 0 14 5 20
Claro O C O L H E T E M P E S T A D E
Valor 14 2 14 11 7 4 19 4 12 15 4 18 19 0 3 4

Chave-Claro -9 18 3-11 -5 -4 -5 1 8 2 -4-16-19 14 2 16


Mod 26 17 18 3 15 21 22 21 1 8 2 22 10 7 14 2 16
CIFRADO R S D P V M B B I C W K H O C Q

Confira a cifra
Chave

Claro

Cifrado

Atualizao Qua, 22.04.2009 11:32

Beaufort estilo
alemo *

1
2
3
4
5

(1 voto, mdia 5.0 de 5)


Escrito por vov Vicki

Seg, 02.07.2007 22:00

A cifra de Beaufort uma das variantes da cifra de Vigenre. O estilo alemo uma variante
da cifra de Beaufort, ou seja, uma variante da variante de vigenre

Exemplo de cifragem

Vamos cifrar a mensagem clara "UM PEQUENO DETALHE MUDA TUDO" com a chave
"ALEMO". Usando as carreiras de Vigenre, basta localizar na LINHA do caracter da chave o
caracter do texto claro. O caracter cifrado ser o da COLUNA correspondente. como se
fosse a cifra de Vigenre "ao contrrio". Observe como a terceira letra do texto claro P
cifrada com a terceira letra da chave E:

Vigenre Beaufort Alem


------------ ------------ ------------
Claro Claro Cifra
P P L

E T P E E P
Chave Cifra Cifra Chave Chave Claro
------------ ------------ ------------
T = P + E P = E - P L = P - E

Se considerarmos o algoritmo da variante alem da cifra de Beaufort, basta subtrair o valor


do caracter da chave do valor do caracter do texto claro. Trabalhar com um conjunto de 26
caracteres o mesmo que dizer que estamos trabalhando com mdulo 26: valores menores
do que zero e maiores do que 25 precisam ser ajustados. Se quiser uma explicao mais
detalhada, v at a Escolinha da Aldeia e leia o tpico Aritmtica Modular.

Chave A L E M A O A L E M A O A L E M A
O A L E M A O
Valor 0 11 4 12 0 14 0 11 4 12 0 14 0 11 4 12 0
14 0 11 4 12 0 14
Claro U M P E Q U E N O D E T A L H E M
U D A T U D O
Valor 20 12 15 4 16 20 4 13 14 3 4 19 0 11 7 4 12
20 3 0 19 20 3 14
Claro-Chave 20 1 11 -8 16 6 4 2 10 -9 4 5 0 0 3 -8 12
6 3-11 15 8 3 0
Mod 26 20 1 11 18 16 6 4 2 10 17 4 5 0 0 3 16 12
6 3 15 15 8 3 0
CIFRADO U B L S Q G E C K R E F A A D S M
G D P P I D A

Confira a cifra

Chave

Claro
Cifrado

Atualizao Ter, 21.04.2009 22:40

A cifra de
Gronsfeld *

1
2
3
4
5

(9 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Ter, 03.07.2007 17:50

O belga Jos de Bronckhorst, Conde de Gronsfeld, era um homem de guerra e tambm um


diplomata. Seu cargo exigia que guardasse certos segredos importantes. Ao redor de 1734
acabou criando seu prprio sistema de cifras: melhorou a Cifra de Csar introduzindo um
deslocamento varivel indicado por uma chave numrica.

A cifra de Gronsfeld, na verdade, acaba sendo uma variante da Cifra de Vigenre, com uma
diferena: a cifra de Vigenre permite at 26 deslocamentos enquanto que a Gronsfeld,
atrelada aos dgitos de 0 a 9, tem apenas 10 deslocamentos possveis, ou seja, usa apenas
as 10 primeiras carreiras de Vigenre. Esta cifra classificada como uma substituio
polialfabtica com chave numrica.

Exemplo da cifra

Como exemplo cifraremos a mensagem clara "JOS DE BRONCKHORST" com a chave


"1734".

Claro J O S E D E B R O N C K H O R S T
Chave 1 7 3 4 1 7 3 4 1 7 3 4 1 7 3 4 1
Cifrado K V V I E L E V P U F O I V U W U
Confira a cifra

Chave Numrica

Claro

Cifrado

Atualizao Qui, 01.05.2008 11:27

Cilindro de
Jefferson *

1
2
3
4
5

(12 votos, mdia 3.3 de 5)


Escrito por vov Vicki

Ter, 03.07.2007 19:10


Thomas Jefferson
(1743-1826)

Na poca em que era secretrio de estado de George Washington, Thomas Jefferson, futuro
presidente dos Estados Unidos, criou um mtodo simples, engenhoso e seguro de cifrar e
decifrar mensagens: o cilindro cifrante. Durante a revoluo americana, Jefferson confiava
cartas importantes a mensageiros que as entregavam pessoalmente porm, quando se
tornou ministro americano para a Frana, os cdigos assumiram grande importncia na sua
correspondncia porque os agentes dos correio europeus abriam e liam todas as cartas que
passavam pelos seus comandos.

Apesar de, aparentemente, Jefferson ter abandonado o uso do cilindro cifrante em 1802, ele
foi "re-inventado" um pouco antes da Primeira Guerra Mundial e usado pelo exrcito
estadunidense e outros servios militares.

O cilindro de Jefferson (Jefferson's wheel cipher em Ingls), na sua forma original,


composto por 26 discos de madeira que giram livremente ao redor de um eixo central de
metal. As vinte e seis letras do alfabeto so inscritas aleatoriamente na superfcie mais
externa de cada disco de modo que cada um deles possua uma sequncia diferente de
letras. Girando-se os discos, pode-se obter as mensagens.

A Cifra de Jefferson

Cilindro de Jefferson construdo de acordo com


as recomendaes do autor

Observe na figura ao lado que, numa das linhas, possvel ler "THOMAS JEFFERSON WHEEL
CIPHER". Esta seria a mensagem clara. O remetente, no entanto, escolhe qualquer outra
linha e a envia ao destinatrio. Tomemos como exemplo a linha imediatamente acima da
mensagem clara. Neste caso, a mensagem cifrada enviada seria:

MZNCSK YONSLKTRF AJQQB RTXYUK

O destinatrio, que possui um cilindro com a mesma sequncia de discos, transfere a


mensagem recebida para o seu cilindro e procura uma linha que possua texto que faa
sentido. No nosso exemplo, ele encontra a mensagem decifrada na linha imediatamente
inferior da mensagem cifrada.

Confira a cifra

Existe um applet java que simula o Cilindro de Jefferson na Thinkquest. Se voc tiver a
plataforma java, vale a pena dar uma espiada.

Aqui na Aldeia voc encontra um simulador simplificado escrito em javascript. A linha em


destaque serve para voc posicionar seu texto. Para rodar os discos, basta clicar nas marcas
prximas dos nmeros.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Experimente decifrar a seguinte mensagem enviada usando o aplicativo acima:


QWHWB RYCXS AICZH GK

Alinhe as letras da mensagem cifrada na linha destacada e depois procure nas outras linhas
o texto claro.

Referncias

Monticello

Atualizao Ter, 21.04.2009 20:10

Substituies Poligrmicas
Quando os caracteres do texto claro so tratados em grupos de mais de uma letra e estes
grupos so substitudos pelo mesmo nmero de caracteres cifrados, considera-se a
substituio como poligrmica. Se o grupo for de duas letras, ela ser digrmica; se for de
trs letras, ela ser trigrmica e assim por diante. O comprimento do texto claro e do texto
cifrado ser igual porque cada grupo de caracteres substitudo por outro com o mesmo
nmero de caracteres.

10
Filtro: titulo Exibir #

# Ttulo do Artigo Autor Acessos

1 Cifra de Playfair vov Vicki 11414

2 Playfair de 2 grades vov Vicki 3586

3 Playfair de 3 grades vov Vicki 2973

4 Playfair de 4 grades vov Vicki 3233

Cifra de
Playfair

1
2
3
4
5

(34 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Sb, 24.01.2009 13:09

Apesar do nome do Baro de Playfair estar associado a uma das cifra clssicas mais
conhecidas, foi seu amigo, o cientista Charles Wheatstone, quem a concebeu. Aps sua
criao em 1854, o baro conseguiu que o governo britnico adotasse oficialmente o uso da
cifra - da o nome Cifra "de" Playfair.

A Playfair uma cifra de bloco primitiva, usando alguns princpios comuns s cifras de bloco
atuais. O melhor meio de se aproximar da criptologia moderna, sem ter que enfrentar a
teoria dos nmeros e a matemtica, entendendo a Playfair.

Um pouco de histria

Charles
Wheatstone

(1802-1875)

Wheatstone apresentou sua cifra em 1854 num jantar oferecido pelo lorde Granville. Entre
outros convidados ilustres estava lorde Palmerstone, futuro primeiro-ministro britnico.
Wheatstone, como bom marketeiro, demonstrou seu sistema usando a palavra-chave
Palmerstone. Aparentemente sua inteno era a de convencer alguns convidados de que era
uma cifra segura e que poderia ser utilizada na Crimia. Conforme Bauer, o sistema
realmente pode ter sido usado pela primeira vez na guerra da Crimia e existem relatrios
que comprovam seu uso na guerra dos Boers.

Wheatstone e Playfair apresentaram este sistema ao escritrio de Relaes Exteriores para


ser usado no meio diplomtico, mas o sistema foi recusado por ser muito complexo.
Wheatstone argumentou de que poderia ensin-lo para trs de cada quatro alunos da escola
primria em menos de quinze minutos, ao que o secretrio respondeu - "Isto mais do que
provvel, mas nunca vai conseguir ensin-lo aos adidos diplomticos".

Algumas caractersticas

A Cifra Playfair uma substituio polialfabtica em bloco bigrmico (ou digrmico). Nesta
substituio, as letras so tomadas duas a duas (bloco bigrmico), de acordo com regras
aplicadas a uma grade de 5 por 5 que contm o alfabeto cifrante.

A segurana desta cifra baixa e seu interesse apenas histrico. A criptoanlise pode ser
feita atravs da anlise da frequncia de dgrafos. Por ser uma cifra polialfabtica, a Playfair
dificulta um pouco a criptoanlise e, por ser uma cifra de dgrafos, preciso fazer uma
anlise da frequncia de dgrafos. Como existem mais dgrafos do que letras, o nmero de
elementos disponveis para a anlise diminui. Por exemplo: numa mensagem de 100 letras,
cifrada com uma substituio simples, temos 100 elementos derivados de uma escolha de
26; numa mensagem de 100 letras, cifrada em dgrafos, temos 50 elementos derivados de
uma escolha de 676.

A Playfair possui outras vantagens: no precisa de tabelas ou dispositivos complicados,


possui uma palavra-chave que pode ser memorizada ou trocada com facilidade, muito fcil
de ser implementada e pouco sujeita a erros. Devido a estas caractersticas o sistema
perfeito para ser usado como uma "cifra de campo".

Vamos a um exemplo de como usar esta cifra. Siga as etapas e, no final, faa um teste no
"Confira a cifra".

Preparando o texto claro

A preparao do texto claro extremamente fcil: basta formar grupos de 2 letras, os blocos
digrmicos. Cada bloco receber um tratamento de acordo com as regras cifrantes (veja
abaixo). O texto claro que ser cifrado com a Playfair :

Srgio Vieira de Melo, o brasileiro embaixador da paz, acaba de ser assassinado.

Preparamos o texto para ser cifrado:

SE RG IO VI EI RA DE ME LO OB RA SI LE IR OE MB
AI XA DO RD AP AZ AC AB AD ES ER AS SA SS IN AD O

De imediato notamos que o ltimo bloco ficou com apenas uma letra e que existe um bloco
com letra dupla (SS). Letras repetidas impedem que a cifra possa ser aplicada corretamente.
Nestes casos, convenciona-se uma letra de separao. Geralmente so usados o X e/ou o Z.
Caso falte uma letra no final, adiciona-se X ou Z. Corrigindo os blocos obtemos:

SE RG IO VI EI RA DE ME LO OB RA SI LE IR OE MB
AI XA DO RD AP AZ AC AB AD ES ER AS SA SX SI NA DO
^
|

O cifrante

N U M A B

O C D E F

G H I J K

L P Q R S
T V X Y Z

O alfabeto cifrante proposto por Wheatstone fica disposto numa grade de 5 por 5. Como o
alfabeto latino possui 26 letras, preciso eliminar uma das letras. Vrios critrios podem ser
utilizados. A variante inglesa considerar I/J como apenas I. Outros optam por eliminar o W,
substituindo-o por V, ou ento eliminar o Q, substituindo-o por K.

Alm disto, para facilitar a memorizao do cifrante, Wheatstone sugeriu comear o


preenchimento da grade com uma palavra-chave. O restante das clulas preenchido com
as letras faltantes em ordem alfabtica.

No nosso exemplo usaremos a palavra-chave NUMABOA, que precisa ser reduzida para
NUMABO para que o A no se repita. Alm disto, o W ser eliminado (veja ao lado).

As regras cifrantes

As letras de um bloco podem ter apenas 3 localizaes na grade: esto na mesma linha,
esto na mesma coluna ou esto em linhas e colunas diferentes. Portanto, existem apenas 3
regras que devem ser aplicadas aos blocos digrmicos:

1. Letras na mesma linha so substitudas pelas letras sua direita. Caso uma das
letras do bigrama esteja na ltima coluna da grade, "roda-se a linha" e utiliza-se a
letra da primeira coluna.
2. Letras na mesma coluna so substitudas pelas letras abaixo delas. Caso a letra
esteja na ltima linha, "roda-se a coluna" e utiliza-se a letra da primeira linha.
3. Letras em linhas e colunas diferentes: as letras do bigrama formam um
"quadriltero" e so substitudas pelas letras posicionadas nos cantos contrrios do
quadriltero.

N U M A B

O C D E F

G H I J K

L P Q R S

T V X Y Z

Regra 1

N U M A B

O C D E F
G H I J K

L P Q R S

T V X Y Z

Regra 2

N U M A B

O C D E F

G H I J K

L P Q R S

T V X Y Z

Regra 3

No se apavore. Alguns exemplos mostram que bico. Observe a regra 1 em


funcionamento, onde substitumos RA por YE. Se o digrama fosse GT, o G seria substitudo
por L e o T seria substitudo por N. Se o digrama fosse GL, seria substitudo por LT.

A regra 2 indica como o digrama OE deve ser substitudo. A letra O pela letra sua direita C
e a letra E pela letra sua direita F. Outros exemplos seriam PS substitudo por QL e MA
substitudo por AB.

A regra 3 a mais enjoada. Tomemos como exemplo o digrama LE. Visualize inicialmente o
quadriltero formado por estas duas letras. Conforme a regra, as letras do digrama sero
substitudas pelas letras da mesma linha, mas no canto oposto. Sendo assim, L substitudo
por R e E substitudo por O.

Pela regra 3, LE substitudo por RO, MG por IN e BP por SU.

Estas trs regras so a alma da cifra Playfair. Obviamente, as mesmas regras so aplicadas
para decifrar o texto, s que so usadas "ao contrrio".

O exemplo cifrado

Obedecendo as regras para a substituio, veja abaixo o texto cifrado do exemplo. Os


digramas foram mantidos para que fique mais fcil conferir as substituies efetuadas.

SE RG IO VI EI RA DE ME LO OB RA SI LE IR OE MB
RF LJ GD XH DJ YE EF AD TG FN YE QK RO JQ CF AN
AI XA DO RD AP AZ AC AB AD ES ER AS SA SX SI NA DO
MJ YM EC QE UR BY UE BN ME FR JY BR RB QZ QK UB EC

Observe as substituies sofridas pela letra E: foi trocada por F, D, O e J. Note que outras
letras tambm foram substitudas por mais de uma. Este o resultado da substituio
polialfabtica. Cada digrama, pela sua posio na grade, acaba fazendo uso de uma nova
combinao de letras, ou seja, de um novo alfabeto cifrante.

Confira a cifra

Mensagem clara

Grade

NUMABOA
Palavra-chave

Mensagem cifrada

Agradecimentos

Javascript de Didier Mller.

Atualizao Dom, 25.01.2009 14:27

Playfair de 2
grades
1
2
3
4
5

(5 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Dom, 25.01.2009 12:02

Uma das vantagens da Cifra Playfair sua versatilidade quanto s regras de substituio.
Largamente difundida e prestando-se s mais diversas adaptaes, tornou-se uma
verdadeira famlia de cifras. As mais interessantes so as de 2 grades, 4 grades e a
serializao.

Dentre as modificaes introduzidas, algumas aumentavam a segurana da cifra, outras a


enfraqueciam. Em todo caso, a Playfair foi utilizada pelo servio de inteligncia britnico e
vrias verses modificadas foram usadas pelas foras armadas alems durante a Segunda
Guerra Mundial.

As caractersticas desta cifra so as mesmas da Cifra Playfair original. Acompanhe as etapas


de cifragem usando a Playfair de 2 grades.

Preparando o texto claro

A preparao do texto claro a mesma realizada para a Cifra Playfair: formar grupos de 2
letras, ou seja, os blocos digrmicos ou dgrafos.

Os alemes introduziram a serializao, realizada antes da formao dos digramas, que


aumenta a segurana da cifra. Vejamos um exemplo de preparao com o texto claro

Durante a guerra a criptologia prospera.

Preparamos a serializao dividindo o texto claro em grupos de cinco letras e alinhando-os


verticalmente dois a dois:

DURAN ERRAA OLOGI PERA


TEAGU CRIPT APROS

De imediato notamos que o ltimo grupo ficou sem um grupo que lhe faa par. J sabemos
que, para corrigir isto, basta inserir "nulos", as letras X ou Z. Alinhando os grupos
obteremos:

DURAN ERRAA OLOGI PERA


TEAGU CRIPT APROS XXXX

Os digramas obtidos tomando sequencialmente as colunas formadas pela serializao so:

DT UE RA AG NU EC RR RI AP AT OA LP OR GO IS PX EX RX AX
Apesar da serializao ser uma parte essencial de algumas cifras de fracionamento, quando
usada com uma cifra digrmica, sua validade pode ser questionada. Neste caso, a
serializao permite que o criptoanalista trate o texto cifrado como uma substituio simples
com 26 homfonos para cada letra e a criptoanlise se torna mais fcil ao invs de mais
complicada.

Os cifrantes

N U M A B

O C D E F

G H I J K

L P Q R S

T V X Y Z

S O B M E

D I A C F

G H J K L

N P Q R T

U V X Y Z

Os alfabetos cifrantes tambm ficam dispostos em grades de 5 por 5. Como o alfabeto latino
possui 26 letras, preciso eliminar uma das letras. O critrio de eliminao variado. Nos
nossos exemplos eliminaremos o W, que ser substitudo por V.

Tambm, para facilitar a memorizao dos cifrantes, usaremos palavras-chave. O restante


das clulas preenchido com as letras faltantes em ordem alfabtica. As palavras-chave do
exemplo sero NUMABOA e SOBMEDIDA.

A palavra-chave NUMABOA precisa ser reduzida para NUMABO para que o A no se repita.
Pelo mesmo motivo, SOBMEDIDA ser reduzida para SOBMEDIA. Ao lado esto os dois
cifrantes obtidos.

S O B M E
D I A C F

G H J K L

N P Q R T

U V X Y Z

N U M A B

O C D E F

G H I J K

L P Q R S

T V X Y Z

Trabalhando com dois cifrantes, na maioria das vezes obteremos um quadriltero formado
pelas duas letras do digrama. Nestes casos, as letras do digrama sero substitudas pelas
letras dos cantos opostos do quadriltero. Caso as letras do digrama estejam na mesma
linha, elas so simplesmente invertidas. Outras regras podem ser aplicadas para este ltimo
caso, por exemplo, utilizar as letras direita ou esquerda.

Vamos ao nosso exemplo, onde o primeiro digrama DT: observe inicialmente o quadriltero
formado pelas duas letras destacadas em verde. D ser substituda por F (que est na
mesma linha e no canto oposto do quadriltero) e T ser substituda por Q.

O prximo digrama UE. Note que ambas as letras se situam na primeira linha das grades.
Portanto, como impossvel obter um quadriltero, as letras so simplesmente invertidas:
UE substudo por EU. O texto cifrado do exemplo est logo abaixo:

DT UE RA AG NU EC RR RI AP AT OA LP OR GO IS PX EX RX AX <-
digramas do texto claro

FQ EU QE SJ ST CE RR PE OR ER AO PL CL HN GM QV AY QY BY <-
texto cifrado

Aplicao

No pense que esta cifra apenas uma brincadeira. De acordo com vrias fontes, ela foi
utilizada durante a Segunda Guerra Mundial, protegendo informaes vitais. De acordo com
o livro Codebrakers, um relato das reminiscncias dos que trabalharam em Bletchey Park
(Londres) durante a Segunda Guerra Mundial diz que o exrcito alemo usou uma cifra na
qual dgrafos eram cifrados usando uma cifra de 2 grades. A marinha alem usou uma tabela
recproca de dgrafos, novamente depois de uma etapa de serializao, chamada de Cifra
Dockyard.

Jim Gillogly verificou que documentos no classificados (declarados no confidenciais) da


NSA, a National Security Agency dos EUA, contm informaes sobre outra cifra deste tipo
na qual os dgrafos so cifrados duas vezes atravs da grade dupla. Como cada letra cifrada
pela primeira vez podia ser encontrada na grade oposta para ser submetida segunda
cifragem, a relao entre os dgrafos claros e cifrados era muito mais complexa do que na
Cifra Playfair simples.

Confira a cifra

Este JavaScript no faz a serializao do texto claro, considera apenas os dgrafos.

Mensagem clara

NUMABOA
Palavra-chave 1
SOBMEDIDA
Palavra-chave 2

Grade 1 Grade 2

Mensagem cifrada

Atualizao Dom, 25.01.2009 13:0

Playfair de 3
grades

1
2
3
4
5

(3 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Dom, 25.01.2009 14:14

Esta cifra representa uma evoluo das cifras de 2 grades que, por sua vez, foi derivada da
Cifra Playfair. O interessante nesta variao da Playfair que os dgrafos cifrados resultam
em blocos de 3 letras, os trgrafos ou trigramas.

A origem desta cifra desconhecida. Ela faz uma substituio de letras, tomadas duas a
duas (bloco bigrmico) do texto claro, de acordo com regras aplicadas a trs grades de 5 por
5 que contm os alfabetos cifrantes. Cada bloco bigrmico transformado num bloco de 3
letras, ou seja, a mensagem cifrada maior que a de texto claro.

Preparando o texto claro

A preparao do texto claro a mesma realizada para a Cifra Playfair: formar grupos de 2
letras, os blocos digrmicos ou dgrafos. Exemplo:

Trs o primeiro nmero primo mpar.

Troca-se as letras acentuadas e divide-se o texto claro em blocos de 2 letras:

TR ES EO PR IM EI RO NU ME RO PR IM OI MP AR

Se o ltimo bloco tiver apenas uma letra, completa-se o bigrama com um "null" - uma letra
X ou Z, de acordo com o previamente convencionado.

Os cifrantes

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

Os alfabetos cifrantes tambm ficam dispostos em grades de 5 por 5. Como o alfabeto latino
possui 26 letras, preciso eliminar uma das letras. O critrio de eliminao variado. Nos
nossos exemplos eliminaremos o W, que ser substitudo por V.

Tambm, para facilitar a memorizao dos cifrantes, usaremos palavras-chave. O restante


das clulas preenchido com as letras faltantes em ordem alfabtica. As palavras-chave do
exemplo sero NUMABOA, SOBMEDIDA e ALDEIA.

A palavra-chave NUMABOA precisa ser reduzida para NUMABO para que o A no se repita.
SOBMEDIDA ser reduzida para SOBMEDIA e ALDEIA ser reduzida para ALDEI. Ao lado
esto os cifrantes obtidos.

Vamos trabalhar com trs alfabetos cifrantes - as grades 1, 2 e 3 que podem ser vistas ao
lado. O primeiro dgrafo do nosso texto claro TR.

Observe que a letra T, e sua coluna, esto destacadas na grade 1; a letra R, e sua linha,
esto destacadas na grade 2. A interseco das letras T e R correspondem letra Y,
destacada na grade 3.

Para cifrar o digrama TR e transform-lo num trigrama, escolhe-se uma das letras da coluna
do T, seguida da letra Y encontrada na interseco e adiciona-se uma das letras da linha do
R.

De acordo com esta regra, o digrama TR pode ser cifrado, por exemplo, em GYQ, NYN, LYP,
etc. Cifrando todos os digramas do texto claro podemos obter vrios textos cifrados
diferentes, porm todos podero ser decifrados para se obter a mesma mensagem original.
Um dos textos cifrados, por exemplo, poderia ser o seguinte:

TR ES EO PR IM EI RO NU ME RO PR IM OI MP AR
NYQ RBM ACS VSQ QNO YCC AQS TAZ IIM AQM HSQ QNB LCF XLT JET
Confira a cifra

Mensagem clara

NUMABOA
Palavra-chave 1
SOBMEDIDA
Palavra-chave 2
ALDEIA
Palavra-chave 3
Grade 2

Grade 1 Grade 3

Mensagem cifrada

Atualizao Dom, 25.01.2009 15:20

Playfair de 4
grades
1
2
3
4
5

(4 votos, mdia 3.3 de 5)


Escrito por vov Vicki

Dom, 25.01.2009 15:10

As cifras de 4 grades so uma evoluo lgica das cifras de 3 grades. mais uma das cifras
da famlia das Playfair. Nesta verso pode-se usar de 2 a 4 palavras-chave.

A origem desta cifra desconhecida. Ela faz uma substituio de letras, tomadas duas a
duas (bloco bigrmico) do texto claro, de acordo com regras aplicadas a quatro grades de 5
por 5 que contm os alfabetos cifrantes.

Preparando o texto claro

A preparao do texto claro a mesma realizada para a Cifra Playfair: formar grupos de 2
letras, os blocos digrmicos ou dgrafos. Exemplo:

Dois bom, trs demais e quatro uma loucura.

Troca-se as letras acentuadas e divide-se o texto claro em blocos de 2 letras:

DO IS EB OM TR ES ED EM AI SE QU AT RO EU MA LO UC UR AX

Como o ltimo bloco tem apenas uma letra, completa-se o bigrama com um "null" - uma
letra X ou Z, de acordo com o previamente convencionado.

Os cifrantes

Grade 1
a b c d e
f g h i j
k l m n o
p q r s t
u v x y z
Grade 3
B R A S I
L C D E F
G H J K M
N O P Q T
U V X Y Z
N U M A B
O C D E F
G H I J K
L P Q R S
T V X Y Z
Grade 2
a b c d e
f g h i j
k l m n o
p q r s t
u v x y z
Grade 4

Os alfabetos cifrantes tambm ficam dispostos em grades de 5 por 5. Como o alfabeto


latino possui 26 letras, preciso eliminar uma das letras. O critrio de eliminao variado.
Nos nossos exemplos eliminaremos o W, que ser substitudo por V.

Tambm, para facilitar a memorizao dos cifrantes, usaremos palavras-chave. O restante


das clulas preenchido com as letras faltantes em ordem alfabtica. Apenas duas
palavras-chave sero utilizadas, BRASIL E NUMABOA. Esta a forma tradicional das cifras
de 4 grades, porm nada impede que se use at quatro palavras-chave, uma para cada
grade. As grades sem palavra-chave contm as letras em ordem alfabtica.

A palavra-chave NUMABOA precisa ser reduzida para NUMABO para que o A no se repita.

A grande vantagem do uso de 4 grades que apenas a regra do quadriltero precisa ser
aplicada - as trs regras da cifra Playfair foram reduzidas para uma.

Usando o primeiro digrama do exemplo, fica fcil verificar que DO ser substitudo por IJ. IS
ser transformado em ER, EB em RB e assim sucessivamente.

Para decifrar a mensagem aplica-se o processo inverso. No nosso exemplo, a mensagem


cifrada a seguinte:

DO IS EB OM TR ES ED EM AI SE QU AT RO EU MA LO UC UR AX <-
texto claro
IJ ER RB JK PS SS SB AK SO TA NV IL TI BZ GM MH XN XL AT <-
texto cifrado

Confira a cifra

Mensagem clara

BRASIL
Palavra-chave 1
NUMABOA
Palavra-chave 2
Grade 1 Grade 3
a b c d e

f g h i j

k l m n o

p q r s t

u v 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 y z

Grade 4 Grade 2

Mensagem cifrada

Atualizao Dom, 25.01.2009 15:33

Exerccios on line
Tradicionalmente a criptologia de lpis e papel a criptologia amadorstica, um
entretenimento do tipo quebra-cabea onde os nicos instrumentos usados para resolver
charadas criptogrficas so o lpis, o papel e... o crebro! Os exerccios aqui
apresentados referem-se a sistemas de cifragem explicados nos tpicos de Substituio,
Transposio, Cdigos e Esteganografia da Criptografia NumaBoa. Podem ser facilmente
resolvidos com lpis e papel, mas com maior facilidade com as ferramentas on line.

10
Filtro: titulo Exibir #

# Ttulo do Artigo Data Autor Acessos

1 Exerccios com as Cifras Hebraicas 27.06.05 vov Vicki 14583

2 Exerccios com o Basto de Licurgo 27.08.02 vov Vicki 12900

3 Exerccios com o Cdigo de Polbio 02.07.05 vov Vicki 10558

4 Exerccios com o Cdigo de Csar 25.06.05 vov Vicki 17158

5 Exerccios com o Disco de Alberti 26.06.05 vov Vicki 11296

6 Exerccio com o DES 12.03.09 vov Vicki 7555

Exerccios com as Cifras


Hebraicas

1
2
3
4
5

(67 votos, mdia 4.6 de 5)


Escrito por vov Vicki

Seg, 27.06.2005 21:00

Estes exerccios se referem s cifras Atbash, Albam e Atbah, cujos mtodos so explicados
nas As cifras hebraicas. Estas so cifras arcaicas, classificadas como cifras de substituio
simples.

TABELAS DE SUBSTITUIO

Apenas para refrescar a memria, seguem as tabelas de substituio.


Para o ATBASH:

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

Para o ALBAM:

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

Para o ATBAH

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

FERRAMENTA DE TRABALHO

Mensagem clara Mensagem cifrada

Manter
espaos
Eliminar
espaos
Agrupar
Cifragem
lenta
Cifragem
rpida

Cifrar Atbash Decifrar Atbash


Cifrar Albam Decifrar Albam

Cifrar Atbah Decifrar Atbah

Limpar Limpar

Aplicativo em Javascript, que precisa estar habilitada!

Exerccio 1 - USANDO A RECIFRAGEM

Voc j deve ter experimentado cifrar algumas mensagens usando a ferramenta acima. A
substituio to simples que at um pequeno javascript faz a cifragem.

Uma das maneiras de aumentar o nvel de segurana destas substituies cifrar um texto
que j foi cifrado, ou seja, fazer a recifragem. Se voc cifrou, digamos, NUMABOA com
Atbash, o resultado MFNZYLZ. Acontece que, se usarmos novamente o Atbash para a
recifragem, o que obtemos NUMABOA porque estas cifras de substituio simples so
reversveis. Para poder recifrar um texto cifrado em Atbash, precisamos usar qualquer outro
mtodo, digamos Albam.

Original Cifra Cifrado Cifra Recifrado Mtodo


----------------------------------------------------------
-------
NUMABOA | Atbash | MFNZYLZ | | | Atbash
NUMABOA | Atbash | MFNZYLZ | Atbash | NUMABOA |
Atbash(Atbash)
NUMABOA | Atbash | MFNZYLZ | Albam | ZSAMLYM |
Albam(Atbash)

De acordo com o exemplo acima, preencha a ltima linha da tabela:

Texto Claro A B C D E F G H I J K L M N O P Q R S
T U V W X Y Z
Atbash Z Y X W V U T S R Q P O N M L K J I H
G F E D C B A
Albam(Atbash) M L K J I H G F E D C B A Z Y X W V U
T S R Q P O N
Atbah(Albam(Atbash)) ? ? ? ...
Confira a sua resposta clicando e arrastando o cursor do mouse entre as marcas:

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

Exerccio 2 - DECIFRANDO A MENSAGEM

Decifre a mensagem abaixo que foi cifrada com Atbah(Albam(Atbash)). Lembre-se que
o texto original no contm sinais grficos.

STXXTUWAXNRASYABOHOIZNYTABOEUTZQT

Confira abaixo a sua resposta.

| NOSSOPRESIDENTEFALAMUITOEFAZPOUCO |

Exerccio 3 - A ORDEM DOS FATORES ALTERA O PRODUTO?

A ordem da encriptao altera o texto cifrado? Explicando melhor: Atbash(Atbah) igual


a Atbah(Atbash)?

E na decifrao? A ordem faz diferena?

Confira a sua resposta.

| Sim, a ordem com que a cifragem foi realizada altera o


resultado. Veja abaixo:

Original Cifra Cifrado Cifra Recifrado Mtodo


----------------------------------------------------------
-------
NUMABOA | Atbash | MFNZYLZ | Atbah | ODESTPS |
Atbah(Atbash)
NUMABOA | Atbah | EXOIHMI | Atbash | VCLRSNR |
Atbash(Atbah)

Pelo mesmo motivo, a ordem da decifrao tambm faz


diferena. |

Exerccio 4 - QUAL O CONJUNTO?

O primeiro contato com a Matemtica: Qual o conjunto de smbolos utilizados para as


cifras hebraicas?

Confira a sua resposta.


| Originalmente, o CONJUNTO de smbolos utilizados nas
cifras hebraicas
era o das LETRAS DO ALFABETO hebraico. Hoje em dia,
podemos utilizar
as cifras com o conjunto de letras do alfabeto ocidental
atual, um
conjunto de 26 elementos.
|

Fontes e Autoria

Alguns exerccios foram copiados do site do Dr. Didier Mller (veja nos Links da Aldeia).
Texto e alguns exerccios: vov Vicki.

Atualizao Seg, 13.04.2009 14:18

Exerccios com o Basto


de Licurgo

1
2
3
4
5

(40 votos, mdia 4.3 de 5)

Escrito por vov Vicki

Ter, 27.08.2002 00:00

Estes exerccios referem-se ao Basto de Licurgo, tambm conhecido como scytalae, um presente dos gregos (dos

gregos e no de grego ). Esta uma cifra arcaica, classificada como cifra de transposio. Parece ser a primeira
referncia ao uso de uma "mquina" de cifragem.

FERRAMENTA DE TRABALHO

A ferramenta foi escrita em JavaScript. Para funcionar, a JavaScript precisa estar habilitada!
Mensagem
original

Dimetro (1- 3
20)

Mensagem
cifrada

EXERCCIO 1 - Decifre a mensagem

Cuadtheu rire sa oh tcom,e oh e h

Confira a sua resposta clicando e arrastando o cursor do mouse entre as marcas:

| O dimetro 5 mostra a frase

Custou achar o dimetro, hehehe |

EXERCCIO 2 - O dimetro

De acordo com o dimetro do basto, qual o algoritmo de cifragem do scytalae?

Confira a sua resposta clicando e arrastando o cursor do mouse entre as marcas:

| Se primeira letra da mensagem original estiver na primeira ala da tira


enrolada no basto, ento esta letra no sofre qualquer deslocamento.
Se utilizarmos o dimetro 1, as letras da mensagem original no sofrem
deslocamento e a mensagem cifrada igual original.
Isto quer dizer que apenas 1 linha de texto foi escrita.

Na realidade, o dimetro indica o nmero de letras em cada linha de texto:


dimetro 2 - duas letras por linha,
dimetro 3 - trs letras por linha... |

Se voc j leu a resposta parcial mostrada acima e entendeu, ento vamos analisar o seguinte exemplo:
A1B2C3D4E5F6

Original | dimetro 2 | dimetro 3 | dimetro 4


-------------|---------------|----------------|----------------
A1B2C3D4E5F6 | A1 | A1B | A1B2
| B2 | 2C3 | C3D4
| C3 | D4E | E5F6
| D4 | 5F6 |
| E5 | |
| F6 | |
-------------|---------------|----------------|-----------------
Cifrada | ABCDEF 123456 | A2D5 1C4F B3E6 | ACE 135 BDF 246

Concluso:

| A sequncia de letras ordenada em colunas. O nmero de colunas


igual ao dimetro. A mensagem cifrada obtida atravs das letras de
cada coluna. |

Atualizao Seg, 13.04.2009 14:11

Exerccios com o Cdigo de


Polbio

1
2
3
4
5

(41 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Sb, 02.07.2005 16:13

Este exerccio se refere ao Cdigo de Polbio, na verdade um telgrafo tico. Esta uma
cifra arcaica, classificada como cifra de substituio monoalfabtica digrmica. Ao que tudo
indica, o Cdigo de Polbio foi o primeiro sistema completo de transmisso de dados.

TABELA DE SUBSTITUIO

Apenas para refrescar a memria, segue a tabela de substituio:

| 1 | 2 | 3 | 4 | 5 |
|-----------------------------|
| 1 | A | B | C | D | E |
| 2 | F | G | H | I | J |
| 3 | K/Q | L | M | N | O |
| 4 | P | R | S | T | U |
| 5 | V | W | X | Y | Z |
|-----------------------------|

FERRAMENTA DE TRABALHO

Mensagem clara Mensagem cifrada


Reiniciar

Manter
espaos
Eliminar
espaos

Cifrar Mensagem Decifrar Mensagem


Cifragem
lenta
Cifragem
rpida
Limpar Limpar

Aplicativo em Javascript, que precisa estar habilitada!


Exerccio 1 - DECIFRANDO A MENSAGEM

Considerando as 10 tochas acesas como o sinal de incio/fim de transmisso, decifre a


mensagem abaixo:

Para conferir se a sua resposta est correta, clique e arraste o cursor do mouse entre as
marcas do campo abaixo:

| 34 45 33 11 12 35 11 = N U M A B O A |

Exerccio 2 - UM POUCO DE MATEMTICA

Voc seria capaz de expressar matematicamente a transformao de 25 caracteres


quaisquer para o cdigo de Polbio?

Para ajudar um pouco nesta tarefa, algumas observaes:

A primeira constatao que estamos lidando com um sistema com 5 elementos,


ou seja, dispomos apenas dos algarismos 1, 2, 3, 4 e 5 para compor o valor de cada
caracter.
Cada caracter identificado pelos elementos combinados dois a dois. Sabemos que
existem 25 combinaes possveis, pois 52 = 25 onde o nmero de elementos (5)
elevado combinao (2).
Em qualquer sistema fica mais fcil ter o zero como ponto de partida. Experimente
montar uma grade e numerar as linhas, as colunas e cada uma das suas "casas" ou
clulas. Voc deve obter algo como

| Coluna 0 | Coluna 1 | Coluna 2 | Coluna 3 |


Coluna 4 |
|----------|----------|----------|----------|----
------|
| Linha 0 | 0 | 1 | 2 | 3 |
4 |
| Linha 1 | 5 | 6 | 7 | 8 |
9 |
| Linha 2 | 10 | 11 | 12 | 13 |
14 |
| Linha 3 | 15 | 16 | 17 | 18 |
19 |
| Linha 4 | 20 | 21 | 22 | 23 |
24 |
Observe que h 5 linhas numeradas de 0 a 4, 5 colunas numeradas de 0 a 4 e uma
sequncia de 25 clulas numeradas de 0 a 24. Note tambm que, para determinar a
linha e a coluna de uma determinada clula, basta usar a operao de diviso.
Como estamos lidando com um conjunto de cinco elementos, sabemos que, a cada
5 elemento, trocamos de linha. Ento, basta dividir a posio da clula por 5 que
a parte inteira da diviso indicar a linha. Por exemplo, 17 / 5 = 3 e resta 2. A
clula 17 se econtra na Linha 3.
Cada linha dividida em 5 colunas. Isto significa que cada coluna corresponde a um
quinto de uma linha inteira, ou seja, uma frao da diviso e o resto da diviso
vai nos indicar a coluna. Usando o mesmo exemplo, 17 / 5 = 3 e resta 2. A clula
17 se encontra na Coluna 2.
Se este o algoritmo para se encontrar a posio de uma clula numa grade de 5 x
5, podemos express-lo matematicamente. A parte inteira de uma diviso algbrica
indicada por INT e o resto pode ser obtido atravs de uma diviso modular,
indicada por MOD. As constataes feitas acima podem ser escritas como INT( 17 /
5 ) = 3 e 17 (MOD 5) = 2. Generalizando, Linha = INT( Clula / 5) e Coluna =
Clula (MOD 5).
A clula 0 fica na coluna 0 da linha 0, a clula 1 fica na coluna 1 da linha 0, e assim
sucessivamente. Podemos trocar a numerao da clula pela sua posio na grade:
a clula 0 pode ser representada por 00, a clula 1 por 01, ..., a clula 5 por 10, a
clula 6 por 11, ..., a clula 17 por 32, etc. Para cada clula obtemos um nmero
composto pelo valor da linha multiplicado por 10 (para deslocar o nmero uma
casa decimal) somado ao valor da coluna. Este novo modo de identificar uma
clula pode ser respresentado por valor = (Linha x 10) + Coluna.
Neste ponto temos como identificar as clulas usando as linhas e as colunas e
tambm temos como calcular as linhas e colunas. Se valor = ( Linha x 10 ) +
Coluna e Linha = INT( Clula / 5), pode-se transformar o valor em valor = (INT(
Clula / 5) x 10) + Coluna. Da mesma forma, pode-se chegar em valor = (INT(
Clula / 5) x 10) + Clula (MOD 5).
Com esta nova frmula podemos calcular o valor da clula 0, ou seja, valor = (INT(
0 / 5 ) x 10) + 0 (MOD 5) = (0 x 10) + 0 = 0. Acontece que, no Cdigo de Polbio, a
clula 0 identificada pelo valor 11 e o nosso clculo da clula 0 resultou no valor
0. H uma diferena de 11 do valor esperado pelo cdigo de Polbio e o fornecido
pela nossa frmula. S falta acertar esta diferena para responder este teste. Voc
capaz de fazer isto?

Confira abaixo se a sua resposta est correta:

| valor = (INT( Clula / 5 ) x 10) + Clula


(MOD 5) + 11 |

Faa os clculos com qualquer uma das clulas ou, numerando as letras do alfabeto de 0 a
25, com qualquer uma das letras. Confira se o algoritmo da vov Vicki est realmente
certo

Atualizao Ter, 12.02.2008 21:40

Exerccios com o Cdigo


de Csar
1
2
3
4
5

(65 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Sb, 25.06.2005 21:00

Os exerccios a seguir se referem ao Cdigo de Csar, uma cifra arcaica classificada como
cifra de substituio simples.

EXERCCIOS

Apenas para refrescar a memria, segue a tabela de substituio clssica com


deslocamento de 3 posies, imprescindvel para trabalhar com o Cdigo de Csar:

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

Exerccio 1 - CIFRANDO UMA MENSAGEM

Voc deve estar se perguntando: onde est a ferramenta de trabalho? Desta vez ela vai
ficar de fora, porque para fazer a cifragem na unha, ou seja, para usar lpis e papel.

Cifre a mensagem a seguir usando um deslocamento de 7 posies:

A Csar o que de Csar.

Todos os caminhos levam a Roma.

Para conferir a sua resposta, clique e arraste o cursor do mouse no espao abaixo.

| HJLZHYVXBLLKLJLZHY AVKVZVZJHTPUOVZSLCHTHYVTH |
Exerccio 2 - O ALGORITMO DA CIFRA

Qual o algoritmo de encriptao do Cdigo de Csar (deslocamento de 3 posies)?

Para preparar a resposta preciso levar algumas coisas em considerado. Para comear,
trabalhamos com um conjunto de 26 elementos representados pelas letras do alfabeto
romano. Estes elementos podem ser numerados de 0 a 25. Vamos chamar de x a letra que
deve ser deslocada e de y a letra resultante do deslocamento. Se pretendemos que cada
elemento seja deslocado em trs posies, fica fcil, fcil:

Se x = 0 (letra A) ento y = 0 + 3 (letra D). At a, nenhuma dificuldade. Mas, e no caso de


x = 24 (letra Y) ento y = 24 + 3 = 27 ???

A Congruncia ou Aritmtica Modular mais uma vez entra em cena, coisa que vamos cansar
de usar. Estamos lidando com um conjunto de 26 elementos, ou seja, vamos utilizar a soma
algbrica mdulo 26. Observe:

Letra | Posio | Soma Algbrica | Soma Mdulo 26 |


Nova Letra
-----------------------------------------------------------
--------
A | 0 | 0 + 3 = 3 | (0 + 3) MOD 26 = 3 |
D
B | 1 | 1 + 3 = 4 | (1 + 3) MOD 26 = 4 |
E
... | ... | ... | ... |
...
X | 23 | 23 + 3 = 26 | (23 + 3) MOD 26 = 0 |
A
Y | 24 | 24 + 3 = 27 | (24 + 3) MOD 26 = 1 |
B
Z | 25 | 25 + 3 = 28 | (25 + 3) MOD 26 = 2 |
C

Da para o algoritmo so dois palitos. Para conferir a sua resposta, clique e arraste o cursor
do mouse no espao abaixo.

| y = (x + 3) MOD 26 |

Exerccio 3 - QUEBRANDO A CIFRA

Decifre a mensagem abaixo:


UVCBGRFR URHEVFGVPN R NDHRYN DHR PBZB ZRGBQB QR GENONYUB R NQBGNQN N
GVGHYB CEBIVFBEVB PBZB VQRVN QVERGEVM AN CRFDHVFN QBF SNGBF FRZ N
CERBPHCNPNB VAVPVNY QR FHN IREQNQR BH SNYFVQNQR

Para conferir a sua resposta, clique e arraste o cursor do mouse no espao abaixo:

| HIPOTESE HEURISTICA E AQUELA QUE COMO METODO DE TRABALHO E


ADOTADA A TITULO PROVISORIO
COMO IDEIA DIRETRIZ NA PESQUISA DOS FATOS SEM A PREOCUPACAO
INICIAL DE SUA VERDADE OU FALSIDADE
O deslocamento utilizado para cifrar a mensagem foi 13. |

Atualizao Seg, 11.02.2008 21:21

Exerccios com o Disco de


Alberti

1
2
3
4
5

(14 votos, mdia 3.9 de 5)


Escrito por vov Vicki

Dom, 26.06.2005 21:00

Estes exerccios se referem ao Disco de Alberti. Esta cifra foi a primeira substituio
polialfabtica, uma grande inovao na criptologia depois de mais de mil anos de
"paradeira". As referncias sobre o autor voc encontra em Leon Battista Alberti.

HOMENAGEM
Mrio de Andrade, por Segall

Em 2003 comemoramos 100 anos de Mrio de Andrade. Que fique registrada nesta pgina
minha homenagem ao poeta e escritor de Paulicia Desvairada, minha favorita. Aos 11 anos
de idade, Mrio Raul de Moraes Andrade escreveu seu primeiro poema, cantado com
palavras INVENTADAS. No toa que merece um destaque aqui na Criptografia NumaBoa
e ser tema destes exerccios.

Pianista e professor de Histria da Arte, comps com Francisco Mignoni a "Cantiga do Ai".
Esta a msica de fundo, digitalizada em midi pela Diviso de Msica e Arquivo Sonoro
(DIMAS) da Biblioteca Nacional.

Clique 2 vezes no boto |> da barra do QuickTime para iniciar.

O DISCO DE ALBERTI

O Disco de Alberti

Ao lado se encontra a reproduo do Disco de Alberti para ajudar nos exerccios. Desta vez,
nada de ferramenta de trabalho. pra fazer "na unha".
Exerccio 1 - DECIFRANDO UMA MENSAGEM

"Moa Linda Bem Tratada", de Mrio de Andrade. Decifre os dois primeiros versos com o
Disco de Alberti sabendo que a chave "n" e que, a cada quatro letras, o anel interno
deslocado uma posio no sentido anti-horrio:

Gvogmv yofgp noihp ifxfq ivqqt ybea& tokyh rhlvt pmmtk &q&zc smmpz kxbeb
gzczl cbgfq fq&vn o&nvb oyxtk dfpyv s&vdn bfrfa sgarl kfkse qsflr acz&e yhkh

Observe que a primeira letra do texto cifrado, escrita em maisculo, indica que a chave "n"
foi alinhada com a letra "G". Isto corresponde a um deslocamento 3. Crie uma tabela de
substituio e boa sorte!

Clique e arraste o cursor do mouse entre as marcas do quadro abaixo para conferir sua
resposta.

| Moa linda bem tratada,


Trs sculos de famlia,
Burra como uma porta:
Um amor.

Gr-fino do despudor,
Esporte, ignorncia e sexo,
Burro como uma porta:
Um coi. |

Exerccio 2 - CIFRANDO O RESTO DA MENSAGEM

Se voc descobriu o dois primeiros versos, ento cifre os dois restantes usando a
mesma chave alinhada em "C" e deslocando o disco interno uma posio no sentido anti-
horrio a cada quatro letras:

Mulher gordaa, fil,


De ouro por todos os poros
Burra como uma porta:
Pacincia...

Plutocrata sem conscincia,


Nada porta, terremoto
Que a porta de pobre arromba:
Uma bomba.

Confira o resultado:

| Ckcsyi olivn noera tsid& qcqbg ckcg& gbbgb penpp eldbg


ymrfp nyhzh id&fq
gixpk sx&oc kckgx mtved xftgy dodzg ekhip iyaay elcli
btnia cbyos qqtbk
tmmcq sofcs kb&ek
|

Autoria

Vov Vicki com a ajuda do grande mestre Mrio de Andrade

Atualizao Dom, 14.06.2009 14:24

Exerccio
com o DES

1
2
3
4
5

(15 votos, mdia 4.1 de 5)


Escrito por vov Vicki

Qui, 12.03.2009 16:10

ndice do Artigo

Exerccio com o DES

O caminho das pedras

Todas as pginas

Pgina 1 de 2

No existe forma melhor de entender e aprender alguma coisa do que pondo a mo na


massa. Alis, "por a mo na massa" uma expresso perfeita quando se trata
do algoritmocriptogrfico DES: o processo usado pelo algoritmo mais parece uma massa de
dados sendo sovada.

Se voc sabe o que o DES, tudo bem - continue a leitura. Se voc no tem idia do que
vem a ser o DES, talvez seja melhor dar uma lida em O algoritmo DES ilustrado e em O
algoritmo DES ilustrado II antes de continuar.

Neste exerccio faremos a cifragem da mensagem "Criptologia sempre NumaBoa" e


usaremos a chave DES "0E 32 92 32 EA 6D 0D 73".

PREPARANDO AS SUB-CHAVES

Precisamos criar 16 subchaves de acordo com as tabelas de substituio de bits mas, antes
disso, precisamos transformar nossa chave K em binrio:

0 E 3 2 9 2 3 2 E A 6
D 0 D 7 3
0000 1110 0011 0010 1001 0010 0011 0010 1110 1010 0110
1101 0000 1101 0111 0011
| | | | | | | |
| | | |
bits 5 10 15 20 25 30 35 40
45 50 55 60

A tabela de permutao PC-1 nos indica qual a nova sequncia de bits para a
chave K+ constituda por 8 sequncias de 7 bits dando um total de 56 bits:

PC-1
---------------------------------------
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
---------------------------------------
K+ = 0001010 0101100 0010111 0101000 1001111 1011000 0101110
0011110

Observe que o bit 57 0, o bit 49 0, o bit 41 0, o bit 33 1 e assim sucessivamente.

Agora dividimos a chave em duas partes iguais de 28 bits, C0 e D0:

C0 = 0001010 0101100 0010111 0101000


D0 = 1001111 1011000 0101110 0011110

Sabendo que os pares 1, 2, 9 e 16 devem receber 1 deslocamento esquerda e os pares


restantes 2 deslocamentos, obtemos o seguinte:

1 shift E
C1 = 0010100101100001011101010000
D1 = 0011111011000010111000111101
1 shift E
C2 = 0101001011000010111010100000
D2 = 0111110110000101110001111010
2 shift E
C3 = 0100101100001011101010000001
D3 = 1111011000010111000111101001
2 shift E
C4 = 0010110000101110101000000101
D4 = 1101100001011100011110100111
2 shift E
C5 = 1011000010111010100000010100
D5 = 0110000101110001111010011111
2 shift E
C6 = 1100001011101010000001010010
D6 = 1000010111000111101001111101
2 shift E
C7 = 0000101110101000000101001011
D7 = 0001011100011110100111110110
2 shift E
C8 = 0010111010100000010100101100
D8 = 0101110001111010011111011000
1 shift E
C9 = 0101110101000000101001011000
D9 = 1011100011110100111110110000
2 shift E
C10 = 0111010100000010100101100001
D10 = 1110001111010011111011000010
2 shift E
C11 = 1101010000001010010110000101
D11 = 1000111101001111101100001011
2 shift E
C12 = 0101000000101001011000010111
D12 = 0011110100111110110000101110
2 shift E
C13 = 0100000010100101100001011101
D13 = 1111010011111011000010111000
2 shift E
C14 = 0000001010010110000101110101
D14 = 1101001111101100001011100011
2 shift E
C15 = 0000101001011000010111010100
D15 = 0100111110110000101110001111
1 shift E
C16 = 0001010010110000101110101000
D16 = 1001111101100001011100011110

Agora concatenamos os pares obtidos atravs dos deslocamentos para a esquerda e, dos 56
bits, "pescamos" apenas 48 de acordo com a tabela P-2:

PC-2
----------------------------------
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
----------------------------------

C1D1 = 00101001011000010111010100000011111011000010111000111101
K1 = 001101100001010001100100011110001110000111100001

C2D2 = 01010010110000101110101000000111110110000101110001111010
K2 = 010000001011110100010001011101101110100011111101

C3D3 = 01001011000010111010100000011111011000010111000111101001
K3 = 010001011010010001110011001000111001110111011011

C4D4 = 00101100001011101010000001011101100001011100011110100111
K4 = 111001111100010010000010100011111011010100110011

C5D5 = 10110000101110101000000101000110000101110001111010011111
K5 = 011110101000001110000010011011110100111101100100

C6D6 = 11000010111010100000010100101000010111000111101001111101
K6 = 001110001001000000011011010110001100100111011110

C7D7 = 00001011101010000001010010110001011100011110100111110110
K7 = 001001010000000001011110110001011101010010011101

C8D8 = 00101110101000000101001011000101110001111010011111011000
K8 = 001001100100100010010100110010110011011011101001

C9D9 = 01011101010000001010010110001011100011110100111110110000
K9 = 010101000101010101000001011110011111011000110011

C10D10 = 01110101000000101001011000011110001111010011111011000010
K10 = 010000111100100101000101001111110100110000101110

C11D11 = 11010100000010100101100001011000111101001111101100001011
K11 = 000010011110000110000111100011000111100111010110

C12D12 = 01010000001010010110000101110011110100111110110000101110
K12 = 001100010000010110101011101001011110001011110101

C13D13 = 01000000101001011000010111011111010011111011000010111000
K13 = 111100010000000010100001111100111000111011000011

C14D14 = 00000010100101100001011101011101001111101100001011100011
K14 = 100100011000101010010100100111101000011100011111

C15D15 = 00001010010110000101110101000100111110110000101110001111
K15 = 000101000011001010010110000111110111011111000100

C16D16 = 00010100101100001011101010001001111101100001011100011110
K16 = 011000000110111100000100010011000011101011100111
PREPARANDO A MENSAGEM

A primeira providncia a ser tomada transformar os caracteres da mensagem em texto


claro nos seus valores ASCII hexadecimais:

C r i p t o l o g i a s e m p r e
N u m a B o a
43 72 69 70 74 6F 6C 6F 67 69 61 20 73 65 6D 70 72 65 20
4E 75 6D 61 42 6F 61

A seguir adicionamos os caracteres ASCII "0D" (retorno) e "0A" (quebra de linha) para
indicar o final da mensagem e separamos os caracteres em blocos de 64 bits (ou 16 dgitos
hexadecimais). Alm disso, completamos o ltimo bloco com zeros para ajustar seu
tamanho para 64 bits.

43726970746F6C6F 6769612073656D70 7265204E756D6142


6F610D0A00000000

Desta forma, nossa mensagem agora composta por 4 blocos de 16 dgitos hexadecimais.
Podemos ento transformar cada um dos blocos em binrio, obtendo os 64 bits de cada um
deles.

4 3 7 2 6 9 7 0 7 4 6 F
6 C 6 F
0100 0011 0111 0010 0110 1001 0111 0000 0111 0100 0110
1111 0110 1100 0110 1111

6 7 6 9 6 1 2 0 7 3 6 5
6 D 7 0
0110 0111 0110 1001 0110 0001 0010 0000 0111 0011 0110
0101 0110 1101 0111 0000

7 2 6 5 2 0 4 E 7 5 6 D
6 1 4 2
0111 0010 0110 0101 0010 0000 0100 1110 0111 0101 0110
1101 0110 0001 0100 0010

6 F 6 1 0 D 0 A 0 0 0 0
0 0 0 0
0110 1111 0110 0001 0000 1101 0000 0101 0000 0000 0000
0000 0000 0000 0000 0000

FAZENDO A MISTURA DA MASSA DE DADOS

De posse das 16 sub-chaves de 48 bits e dos 4 blocos de mensagem de 64 bits podemos


comear a "sovar" a mensagem para chegar ao texto cifrado. Neste exerccio mostro
apenas o trabalho feito com o primeiro bloco. O restante fica por sua conta - pode fazer o
exerccio na unha, correndo o risco de errar algum bit, ou utilizar o programa desenvolvido
pelo Laboratrio de Criptologia da Aldeia que voc encontra nos Downloads de Criptologia.

Na deste exerccio voc pode acompanhar o processo. Divirta-se ;)))

Agradecimento

Quero agradecer ao Robson Lages, de So Vicente - SP, por me alertar que os shifts para se
obter as sub-chaves no estavam corretos. Pior do que isto, no s neste texto como
tambm no programa DES, disponibilizado para download. Ambos j foram corrigidos.

Obrigada, Robson, um abrao da v Vicki

Anterior - Seguinte >>

Atualizao Qui, 14.01.2010 11:11

Sistemas de Cdigos
Cdigos podem ser protocolos de comunicao, ou seja, um "conjunto de convenes que rege o tratamento e,
especialmente, a formatao de dados num sistema de comunicao". Existem cdigos abertos (como o cdigo
Morse) e cdigos secretos.

Cdigos tambm podem ser uma coletnea de substitutos para letras, palavras ou frases inteiras. Geralmente so
colocados em livros, os chamados livros de cdigos ou nomenclaturas, como duas listas em ordem alfabtica.
Numa delas o texto claro est em ordem alfabtica (para facilitar a cifragem), seguido dos substitutos. Na outra,
os cdigos esto em ordem alfabtica (para facilitar a decifrao), seguidos do texto claro correspondente.

10
Filtro: titulo Exibir #

# Ttulo do Artigo Data Autor Acessos

1 Sistemas de Cdigo 16.11.06 vov Vicki 21421

Sistemas de
Cdigo

1
2
3
4
5

(58 votos, mdia 4.2 de 5)


Escrito por vov Vicki

Qui, 16.11.2006 19:46

Um cdigo essencialmente uma linguagem secreta inventada para esconder o sentido


de uma mensagem. Voc j deve ter ouvido, em algum filme, uma frase do gnero "GUIA
3, AQUI GUIA 2. O LEO EST NA JAULA".

Nesta frase, por exemplo, o agente "GUIA 2" usa palavras-cdigo para avisar o agente
"GUIA 3" que o espionado (LEO) entrou em casa (JAULA). Na prtica, cdigos de
espionagem ou cdigos militares so chamados de nmeros-cdigo ao invs de palavras-
cdigo. Normalmente so utilizados livros de cdigo que fornecem um dicionrio de
nmeros-cdigo e suas respectivas palavras. Por exemplo, a mensagem acima poderia ser
codificada como: "85772 24799 10090 59980", onde "85772" significa GUIA 3, "24799"
significa GUIA 2, "10090" significa LEO e "59980" significa JAULA. O conjunto de
palavras-cdigo e nmeros-cdigo denominado de Grupos de Cdigo (59980 - JAULA).
As palavras que representam so chamadas de texto claro (CASA, RESIDNCIA).

Originalmente, os grupos de cdigo estavam na mesma ordem que as suas respectivas


palavras claras. Por exemplo, uma palavra iniciada por "a" teria um nmero de cdigo baixo
e uma palavra iniciada por "z" teria um nmero de cdigo alto. Isto permitia que o mesmo
livro de cdigo fosse utilizado tanto para codificar quanto para decodificar uma mensagem.

Entretanto, estes cdigos de "uma-parte" eram muito previsveis e permitiam que leitores
indesejados descobrissem o padro e "crackeassem" ou quebrassem a mensagem,
revelando seus segredos. Para tornar as coisas mais difceis para os "quebradores", os
"fazedores" criaram cdigos onde a relao entre os grupos de cdigo e as palavras claras
no previsvel.

Isto significa que so necessrios dois livros de cdigo, um para localizar o texto claro e
achar os grupos de cdigo correspondentes (codificar) e outro para localizar os grupos de
cdigo e encontrar o texto claro correspondente (decodificar). Estes cdigos de "duas-
partes" so mais difceis de criar e usar, porm so muito mais difceis de serem quebrados.

Como quebrar um cdigo

Resolver uma cifra de substituio monoalfabtica fcil. Resolver um cdigo, mesmo o


mais simples, difcil. Decifrar uma mensagem codificada um tanto parecido com a
traduo de um documento em lngua estrangeira, onde a tarefa bsica construir um
"dicionrio" dos grupos de cdigo com as palavras claras que eles representam.

Uma das caractersticas de um cdigo simples o fato de que algumas palavras so mais
frequentes do que outras, como "de" e "um" ou "uma". Em mensagens telegrficas, o grupo
de cdigo para PONTO (fim de uma sentena) geralmente tambm comum. Isto ajuda a
definir a estrutura de uma mensagem em termos de sentenas, e at do seu sentido.
O que tambm ajuda a quebrar um cdigo juntar muitas mensagens codificadas com o
mesmo cdigo e depois obter evidncias como: local de onde foram enviadas e para onde
foram enviadas; hora em que foram enviadas; eventos que ocorreram antes e aps as
mensagens terem sido enviadas e os hbitos das pessoas que enviaram as mensagens
codificadas.

Por exemplo, um grupo de cdigo em particular, enviado quase que exclusivamente em


mensagens de um exrcito em particular, pode muito bem indicar o comandante deste
exrcito. Um grupo de cdigo que aparece em mensagens que precederam um ataque
numa localidade especfica pode muito bem significar esta localidade.

Alm disto, vrios truques podem ser usados para "plantar" informaes. Um dos mais
conhecidos enviar mensagens falsas que se referem a um ataque contra o inimigo,
informando uma determinada hora e um determinado lugar, e depois examinar mensagens
codificadas enviadas pelos inimigos como reao ao falso ataque.

Erros de codificao so especialmente teis e, claro, mais cedo ou mais tarde, pessoas
costumam fazer erros. Existem inmeros exemplos de erros verdadeiramente desastrosos.

O modo mais bvio para se quebrar um cdigo tentar obter o livro de cdigos atravs de
suborno, roubo ou invaso. Esta a fraqueza dos cdigos. Um bom cdigo pode ser mais
difcil de quebrar do que uma cifra de substituio, mas a elaborao, a distribuio e a
manuteno do sigilo dos livros de cdigo so as grandes deficincias deste sistema.

Como implementar um cdigo

Preparar um cdigo novo como construir um novo idioma. Elaborar um dicionrio para o
novo cdigo representa muito trabalho e muito tempo. Se um cdigo for comprometido,
toda a tarefa precisa ser refeita - o que significa muito trabalho para os codificadores e os
usurios do cdigo. Na prtica, depois de algum tempo de uso, os cdigos so alterados
para frustrar os quebradores de cdigos e esta reciclagem representa sempre muito tempo
e trabalho.

Uma vez tendo sido criados, a distribuio dos cdigos complicada e pode facilmente
compromet-los. Costuma-se dizer que duas pessoas podem guardar um segredo se uma
delas estiver morta. Pode ser exagero, mas o fato que um segredo mais difcil de ser
mantido se muitas pessoas tiverem conhecimento dele. Se apenas algumas poucas pessoas
fizerem uso de um cdigo, este est razoavelmente seguro mas, se exrcitos inteiros fazem
uso do mesmo cdigo, a dificuldade de mant-lo seguro muito grande.

Fontes

Introduction To Codes, Ciphers, & Codebreaking de Greg Goebel

Atualizao Qua, 15.04.2009 17:11

Cdigos Abertos
Os cdigos abertos so protocolos de comunicao cujos substitutos so de domnio
pblico. Os textos marcados com asterisco so interativos.
10
Filtro: titulo Exibir #

# Ttulo do Artigo Data Autor Acessos

1 Semforos de bandeiras 07.04.07 vov Vicki 12979

2 O Cdigo Braille * 09.08.06 vov Vicki 19975

3 O cdigo Morse * 07.09.05 vov Vicki 352004

4 Os alfabetos fonticos * 04.04.07 vov Vicki 33001

5 Base64 * 24.08.06 vov Vicki 11914

Semforos de bandeiras

1
2
3
4
5

(20 votos, mdia 3.7 de 5)


Escrito por vov Vicki

Sb, 07.04.2007 18:49

ndice do Artigo

Semforos de bandeiras

Semforo manual

Todas as pginas

Bandeiras e flmulas so sinalizadores ideais para transmitir mensagens curtas. H muito


tempo so usadas na comunicao naval e, mais recentemente, em vrias modalidades de
competio automobilstica. Conhea um pouco da histria destes cdigos especiais.

Semforos navais

A necessidade de comunicao entre embarcaes existia desde a


Antiguidade, mas foi somente em 1738 que o capito francs Mahe de la Bourdonnais criou
o primeiro cdigo numrico de bandeiras. Dez bandeiras de cores diferentes correspondiam
aos algarismos de 0 a 9 que, usadas em sries de trs, podiam representar os nmeros de
0 a 999. Para cada nmero havia uma palavra ou frase correspondente e este cdigo
permitia a comunicao distncia entre navios.

>Sir Home Popham

Em 1790, Lord Richard Howe, da Real Marinha Britnica, props o The Howe Code que
podia ser transmitido atravs de 10 bandeiras coloridas, 6 flmulas especiais para
caracteres de controle e um dicionrio de 260 referncias numricas, ampliadas para 340
em 1799.

Em 1803, o almirante Sir Home Popham publicou seu Telegraphic Signals or Marine
Vocabulary. No seu repertrio havia cerca de 3.000 sinais numricos aos quais
correspondiam palavras, expresses e at frases inteiras. De 1803 a 1812, Popham
aumentou o nmero de bandeiras e expandiu o vocabulrio do sistema para cerca de
30.000 palavras atravs da combinao de 3, s vezes 4, bandeiras diferentes.

Em 1805, o almirante Horatio Nelson transmitiu a mensagem "England expects that every
man will do his duty" (A Gr Bretanha espera que cada homem cumpra seu dever) antes da
famosa Batalha de Trafalgar. As primeiras palavras foram sinalizadas de acordo com o
repertrio de Popham, mas "duty" (dever) parece ter um padro prprio s conhecido pelos
britnicos.
A Gr Bretanha espera que cada homem cumpra seu dever

A imagem abaixo mostra as bandeiras usadas pelos sistemas de Lord Richard Howe e de Sir
Home Popham (a bandeira de nmero 4 est invertida, mas est correta). As bandeiras
numricas de Popham correspondem s letras A a K (I e J so consideradas iguais) e as
letras restantes so representadas por duas bandeiras. A imagem tambm mostra o
sistema de Marryat, o precursor do sistema internacional atual.

Em 1817 o capito Frederick Marryat criou o primeiro cdigo internacional. Seu Code of
Signals for the Merchant Service, um repertrio que serviu de padro para marinheiros do
mundo todo at 1870, possua 9.000 combinaes diferentes de bandeiras para designar
palavras precisas.

Em 1870 foi publicado o International Code of Signals, conhecido at hoje com o mesmo
nome. Depois de algumas modificaes, a partir de primeiro de janeiro de 1934 foi adotado
como Cdigo Internacional.
Atual Cdigo Internacional

Alm do Cdigo Internacional de Sinais, existe um semforo de duas bandeiras operado por
um sinalizador. Foi utilizado principalmente pela Marinha dos EUA no sculo passado, mas
seu curto alcance fez com que gradativamente entrasse em desuso. Hoje em dia seu uso
est limitado a certos tipos de comunicao do tipo administrativo ou tcnico entre
embarcaes ao largo ou ancoradas no cais.
Semforo de duas bandeiras

As bandeiras da Frmula 1

Para que os fiscais de pista possam se comunicar com os pilotos da Frmula 1 existem
vrias bandeiras:

A bandeira quadriculada (branco/preto) uma das mais conhecidas. Significa que


a corrida acabou e mostrada a cada um dos pilotos quando eles cruzam a linha
de chegada.

A bandeira vermelha significa que a corrida foi paralisada, geralmente porque um


carro acidentado ocupa uma posio perigosa na pista ou porque, devido a algum
outro motivo (por exemplo, uma nevasca ou chuva intensa), no possvel
continuar com segurana a corrida.
A bandeira amarela significa perigo a frente e que, por isso, as ultrapassagens
esto proibidas. Uma bandeirada apenas significa que o piloto deve diminuir a
velocidade; duas um sinal de que o piloto deve se preparar para parar, se for
necessrio.

A bandeira azul usada no decorrer da corrida para mostrar a um carro mais lento
quando ele est sendo seguido por um carro mais rpido, que est tentando
ultrapass-lo. O carro mais lento deve permitir que o mais rpido o ultrapasse
depois de ver a bandeira por trs voltas consecutivas ou pode ser penalizado.

A bandeira preta mostrada junto com o nmero de um carro. Significa que o


piloto do carro em questo deve se dirigir assim que possvel para os boxes,
geralmente porque ele desrespeitou alguma regra e foi desclassificado.

A bandeira vermelha e amarela indica que a pista est escorregadia. Trata-se de


uma advertncia para os pilotos no caso de haver gua ou leo na pista.

A bandeira verde informa que o perigo (indicado anteriormente por outra


bandeira) deixou de existir e os pilotos podem voltar a dirigir normalmente.

A bandeira preta e laranja mostrada junto com o nmero de um carro. Significa


que o carro em questo tem um problema mecnico e deve seguir para os boxes
assim que possvel.

A bandeira preta e branca diagonal mostrada junto com o nmero de um carro.


Significa que o piloto em questo est sendo advertido por conduta antiesportiva.
Uma bandeira preta pode ser mostrada logo a seguir para o mesmo piloto, se ele
no mudar sua conduta.

A bandeira branca adverte os pilotos da existncia de um veculo mais lento na


pista, provavelmente um guincho, uma ambulncia ou o safety car.

Referncias

Code de Popham|

Admiral Lord Nelson and his Navy

Semaphore Flag Signalling System


As bandeiras da Frmula 1

Atualizao Seg, 20.04.2009 21:45

O Cdigo
Braille *

1
2
3
4
5

(162 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Qua, 09.08.2006 18:54

Louis Braille

Louis Braille
(1809-1852)

Louis Braille nasceu em Coupvray, distrito de Seine-et-Marne, a cerca de 45 km de Paris,


no dia 4 de Janeiro de 1809. Seu pai, Simon-Ren, era seleiro e fabricante de arreios do
povoado. Aos 3 anos de idade, o menino Louis fere um dos olhos ao utilizar uma sovela da
oficina do pai. Apesar do cuidado dos pais, o ferimento contaminado e a infeco atinge
tambm o olho so. Braille fica totalmente cego.

Apesar de cego, Louis mandado para a escola primria. Por no poder ver e nem
escrever, decorava e recitava as lies que ouvia, espantando os professores com sua
inteligncia brilhante. Logo depois do seu dcimo aniversrio, com a ajuda do proco da
Aldeia e de seu professor, Louis consegue ingressar na instituio de Valentin Hay,
fundador de uma escola especial para cegos em Paris.

O mtodo utilizado pela escola era o de letras em relevo. A leitura era demorada, a
confeco dos livros era muito trabalhosa e os mesmos ficavam enormes - mas o mtodo
funcionava. Apesar de possuir sua tcnica de ensino, a instituio estava aberta para
novos mtodos e, aps exaustivas discusses, os professores resolveram tentar o mtodo
do capito de artilharia Charles Barbier de la Serre. O capito aperfeioara um cdigo
atravs de pontos que podia ser lido com os dedos e que era usado para ocultar segredos
de mensagens militares e diplomticas. Barbier denominou-o "escrita noturna" ou
"sonografia".

O mtodo de Barbier fascinou Braille, porm era muito complexo e no permitia que se
soletrasse as palavras. Um encontro com Teresa von Paradise, concertista cega, tambm
foi decisivo na sua vida. Teresa idealizara um engenhoso aparelho para ler e compor ao
piano. Aprendendo msica com ela, Braille tornou-se rapidamente organista e violoncelista
e, aos quinze anos, foi admitido como organista da Igreja de Santa Ana, em Paris.

O cdigo Braille

Rapaz educado e afvel, Braille tornou-se professor do Instituto em que estudara e era
recebido nos melhores sales da poca. Foi num desses sales que conheceu Alphonse
Thibaud, ento conselheiro comercial do governo francs. No meio de uma conversa,
Thibaud perguntou-lhe porque no tentava criar um mtodo que possibilitasse aos cegos
no apenas ler, mas tambm escrever. A princpio, Braille irritou-se com a sugesto, pois
achava que a tarefa devia caber aos que que podiam ver e no a ele. Reconsiderando,
comeou a admitir a possibilidade de realiz-la, mesmo sendo um deficiente visual.

Foi ento que comeou a trabalhar no cdigo de Barbier. Aps trs anos o jovem estudioso
conseguiu o que queria: um sistema de pontos em relevo representando letras.
Geralmente, aponta-se 1825 como o momento em que ele inventa o sistema. Todavia, foi
apenas em 1829 que a primeira edio do trabalho, intitulado "Processo para escrever as
palavras, a msica e o canto-cho, por meio de pontos, para uso dos cegos e dispostos
para eles" foi publicado. Deu-lhe a forma definitiva na segunda edio, publicada em 1837.

Aos 43 anos de idade, em 1852, Louis Braille morreu tuberculoso sem ver seu trabalho
reconhecido. S nas trs dcadas seguintes ele se tornaria famoso no mundo todo como
notvel benfeitor dos cegos. Seu sistema, aperfeioado por Foucault, hoje
universalmente adotado.

As clulas do cdigo

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
O Cdigo Braille constitudo por pontos em
z relevo dispostos sistematicamente. Cada
smbolo representado por uma combinao de
pontos, dos seis possveis, numa clula de 3 linhas e 2 colunas.

Hoje em dia existem vrios dispositivos para escrita em Braille, desde solues muito
simples at sofisticados dispositivos eletrnicos. O mais simples uma lousa com uma
rgua perfurada onde, com o auxlio de um estilete, possvel produzir os pontos em
relevo. Existe tambm uma mquina de escrever especial, impressoras ligadas a um
computador que produzem os relevos desejados, dispositivos com voz artifical que "lem"
braille, teclados de computador especiais e "anotadores" eletrnicos associados a
mquinas de calcular, calendrios, etc.

Apenas como curiosidade, existe um conjunto de caracteres Braille que pode ser utilizado
em documentos gerados por computador. a fonte Braille.ttf, do tipo true type, que
disponibilizei na seo de downloads.

Lousa com rgua e estilete

Meninas com anotador

O Cdigo Braille, perfeitamente sistematizado e baseado numa matriz fixa de 6 clulas,


fcil de ser trabalhado matematicamente. Desconheo se alguma vez foi utilizado na
criptografia, mas a idia no das piores... imagine uma mensagem cifrada que,
posteriormente transformada em Braille, pode ser lida at no escuro!

CONFIRA O CDIGO
Mensagem clara Mensagem em Braille

Manter espaos
Eliminar espaos
Cifragem lenta
Cifragem rpida

Codificar

Limpar Limpar

Fontes

American Foundation for the Blind

Atualizao Seg, 30.03.2009 20:12

O cdigo Morse *

1
2
3
4
5
(55307 votos, mdia 5.0 de 5)
Escrito por vov Vicki

Qua, 07.09.2005 17:48

Para poder transmitir mensagens atravs do dispositivo eletro-magntico que havia


inventado, o qual ele chamou de telgrafo, Morse precisava de um protocolo de
comunicao. Inicialmente imaginou numerar todas as palavras e transmitir os seus
nmeros. Cada algarismo era representado por um conjunto de sinais longos e curtos. O
receptor, usando um enorme "dicionrio", transformaria os nmeros em palavras e
recuperaria a mensagem original.

Alega-se que Alfred Vail, um dos colaboradores de Morse, foi quem desenvolveu o
chamado "Cdigo Morse". As letras do alfabeto foram definidas pelo padro "ponto e trao"
e os menores conjuntos de sinais foram atribudos s letras mais frequentes do Ingls.
Conta-se que Vail pegou jornais e comeou a contar letras, repetindo, provavelmente sem
saber, o que os criptoanalistas rabes j haviam feito sculos atrs.

Este novo cdigo reconhecia quatro estados: voltagem-ligada longa (trao), voltagem-
ligada curta (ponto), voltagem-desligada longa (espao entre caracteres e palavras) e
voltagem-desligada curta (espao entre pontos e traos), um sistema perfeito para o novo
dispositivo de comunicao. Usando este novo sistema, Morse demonstrou o
funcionamento do seu telgrafo em 1838, em Nova Iorque, transmitindo em 10 wpm, ou
seja, 10 palavras (words) por minuto. Nem assim conseguiu vencer o ceticismo geral e
ainda seriam precisos muitos anos at que congressistas e homens de negcio
conseguissem entender a importncia e o alcance deste novo meio de comunicao.

Pontos e Traos

O cdigo Morse mudou muito pouco desde a sua concepo. Cada caracter (letras,
nmeros, sinais grficos) possui um conjunto nico de pontos e traos. Veja a tabela
baixo:

a l x 1

b m y 2

c n z 3

d o ch 4

e p w 5

f q 6

g r / 7
h s 8

i t 9

j u 0

k v .

, ? ! $

@ = ~

incio de transmisso

fim de transmisso

erro

Escreva em Morse

Texto claro

MORSE
Aps clicar na letra desejada, aguarde alguns segundos para ouvir os sons curtos e longos
do cdigo Morse. Precisa do plugin QuickTime (testado nos navegadores Firefox, Netscape
e IE).

Observaes

A partir de 1 de Fevereiro de 1999, o cdigo Morse foi substitudo nas


comunicaes martmas por um sistema via satlite.
Se voc quiser produzir arquivos de som com cdigo Morse, v para a seo de
downloads e procure em Criptografia/Cdigos o programa WinMorse.
Se tiver interesse em fontes com o cdigo Morse, procure por Fontes/Cdigos na
seo de downloads.

Atualizao Seg, 15.06.2009 11:28

Os alfabetos fonticos *

1
2
3
4
5

(85 votos, mdia 3.8 de 5)


Escrito por vov Vicki

Qua, 04.04.2007 19:54

ndice do Artigo

Os alfabetos fonticos *

Alfabeto do PT

Todas as pginas

Pgina 1 de 2

Quem que nunca se confundiu com o som de "trs" e "seis" numa conversa telefnica?
to comum a confuso que ns, brasileiros, resolvemos trocar "seis" por "meia dzia" ou
simplesmente por "meia". A mesma confuso pode acontecer quando soletramos um nome
ao telefone ou numa conversa via rdio: a confuso entre "b" e "d" ou com "m" e "n"
fatal. Foi por este motivo que se resolveu criar alfabetos (e dgitos) fonticos, no s para
evitar confuses, mas tambm para garantir a segurana de vos (to em moda nos dias
atuais, com esta confuso louca no Brasil revelada pelos nossos controladores de vo) e na
transmisso de informaes faladas.

O alfabeto fontico NATO

Atualmente, o alfabeto fontico padro da aviao o recomendado pela ITU (International


Telecommunication Union - Unio Internacional de Telecomunicaes). A ITU existe desde a
inveno do telgrafo no sculo 19. Foi criada em Paris em 1865, na primeira Conveno
Internacional de Telgrafos e, em 1947, tornou-se uma agncia especializada da
Organizao das Naes Unidas (OTAN/NATO). Por este motivo, este alfabeto fontico
denominado alfabeto OTAN (ou NATO, como quiser). Neste alfabeto, cada letra
substituda por uma palavra que, verbalizada, no deixa dvidas:

A Alfa N Novembro (November)


B Bravo O Oscar
C Charlie P Papa
D Delta Q Quebec
E Eco R Romeu
F Foxtrot S Sierra
G Golfe T Tango
H Hotel U Uniforme (Uniform)
I ndia V Vtor (Victor)
J Julieta W Whiskey
K Quilo (Kilo) X Xray
L Lima Y Ianque (Yankee)
M Mique (Mike) Z Zulu

Para ouvir o som das palavras que identificam as letras (faladas em Ingls pelos pilotos
e pelos controladores de vo), clique nas mesmas e aguarde um instante. Infelizmente s
consegui fazer com que esta "trapizonga" funcionasse no Firefox, Opera, etc e tal. Se o seu
navegador o Internet Explorer... desculpe. No vai dar para ouvir. Ser que no est na
hora de trocar de navegador?

Os dgitos tm uma caracterstica especial: so falados em dobradinhas. Na tabela abaixo


est a pronncia em Ingls:

0 nada-zro 5 penta-five
1 una-un 6 soksi-siks
2 bsso-tu 7 sete-sven
3 terra-tri 8 cto-it
4 carte-fuer 9 nove-niner
ponto decimal decimal

Alfabetos fonticos em portugus (de Portugal)

O Berlitz phrase book mostra o seguinte alfabeto usado em comunicaes telefnicas:

Aveiro Faro Kodak Porto


Unidade
Braga Guarda Lisboa Queluz Vidago
Coimbra Horta Maria Rossio
Waldemar
Dafundo Itlia Nazar Setbal Xavier
vora Jos Ovar Tavira York

Zulmira

J em Aores, em 1966, a lista telefnica sugeria a mesma lista com pequenas alteraes:
Bragana no lugar de Braga, Kilograma no lugar de Kodak e Wilson substituindo Waldemar.

O Collins phrase book refere o alfabeto fontico:

Alexandre Frana Lisboa Quarto


Venezuela
Banana/Bastos Gabriel Maria Ricardo Xangai
Carlos Holanda Nicolau Susana Zebra
Daniel Itlia scar Teresa
Eduardo Jos Paris Ulisses

O AA phrase book sugere

Amrica Frana Kremlin Portugal Uruguai


Bernardo Grcia Londres Quilo Vitria
Colnia Holanda Madri Rssia
Washington
Dinamarca Irlanda Npoles Sucia Xangai
Espanha Japo Oslo Turquia Zurique

e o Collins dictionary

Antnio Francisco Ktia Pedro


rsula
Beatriz Gomes Lcia Quintela/Quinteta
Vera
Carlos Henrique Maria Roberto
William
dado Irene Nair Sandra
Xavier
Eliane Jos Osvaldo Tereza
Yolanda
Zebra

De acordo com Francisco Andragnes, nossos irmos argentinos usam o seguinte:

Alicia Federico Kilo andu Sara


Xilofon
Beatriz Guillermina Lola Ofelia Teresa
Yolanda
Carolina hombre Doble_lola Pandora Ursula
zapato
Dorotea Ines Maria Quintana Veronica
Eva Josefina Natalia Rosa
Washington

Anterior - Seguinte >>

Atualizao Dom, 12.04.2009 12:10

Base64
*

1
2
3
4
5

(22 votos, mdia 4.7 de 5)

Escrito por vov Vicki

Qui, 24.08.2006 16:07

Base64 um sistema numrico posicional cuja base 64 (da mesma forma que o sistema decimal um sistema
posicional de base 10). a maior potncia de base 2 que pode ser representada usando-se apenas caracteres ASCII.
Devido a esta caracterstica, a Base64 usada, entre outras coisas, como codificao de transferncia de e-mails.
Todas as variaes mais conhecidas pelo nome de Base64 usam caracteres de A a Z, a-z e 0-9 (nesta ordem) para os
primeiros 62 dgitos, mas os smbolos usados para os dois ltimos variam consideravelmente de acordo com o
sistema. Vrios outros mtodos de codificao, como o UUEncode e as verses mais atuais do BinHex, usam um
conjunto diferente de 64 caracteres para representar 6 dgitos binrios - s que estes mtodos nunca so chamados
de Base64.

O formato MIME

O formato MIME talvez seja o mais conhecido dos Base64. um esquema de codificao que transforma binrios em
texto, ou seja, transforma uma sequncia qualquer de bytes numa sequncia de caracteres ASCII que podem ser
impressos. O MIME foi projetado para codificar a transferncia de contedo de e-mails atravs da Internet. Os nicos
caracteres utilizados so os do alfabeto latino maisculo e minsculo (A-Z e a-z), os numerais (0-9) e os smbolos + e
/. Alm disso, o smbolo = um sufixo especial.

Como transformar binrios em MIME

A sequncia MIME :

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Digamos que se queira "mimeficar" SOL. Neste caso, procura-se o valor ASCII de cada um dos caracteres,
transforma-se estes valores em valores binrios, toma-se os valores dos bits seis a seis e transforma-se estes valores
novamente em valores ASCII. Acompanhe na tabela abaixo:

Contedo S O L Sabendo que, na Base64, as letras A-


Z correspondem s posies de 0 a
25, as letras a-z ficam nas posies
ASCII (bytes) 83 79 76 26 a 51 e que os dgitos 0-9 ocupam
as posies de 52 a 61, fica fcil
Binrio 010100110100111101001100 deduzir que o valor 20 corresponde
letra U, o valor 52 corresponde a zero
e assim por diante. Neste caso, o
ndice 20 52 61 12
correspondente Base64 de SOL
U09M. Tambm fica fcil perceber
Cdigo Base64 U 0 9 M que a codificao MIME maior do
que o texto original porque, para cada
trs caracteres originais obtemos quatro caracteres MIME.

Neste exemplo existem exatos 3 bytes. Nos casos em que o texto original composto por um nmero de bytes que
no seja mltiplo de 3, usa-se a seguinte regra:

nmero de bytes / 3 d resto 2 -> adiciona-se o sinal = no final


nmero de bytes / 3 d resto 1 -> adiciona-se dois sinais == no final

Especificaes MIME

As especificaes completas deste tipo de Base64 so dadas pelas RFC 1421 e RFC 2045.

Confira o cdigo

Digite o texto claro:

O texto claro em codificao utf-8 como valores decimais


claro para ut
tempo necessrio para texto claro => utf8

O texto codificado em UTF-8 transformado em Base64

utf para b64


tempo necessrio para utf-8 => b64

representao decimal do utf-8

base64 para
tempo necessrio para b64 => utf-8

O texto claro depois da converso

utf para claro


tempo necessrio para utf-8 => texto claro

claro para cla


tempo necessrio para a converso completa

Javascript UTF-8 Decoder and Encoder - base64 Encoder and Decoder de Tobias Kieslich.

Atualizao Qua, 15.04.2009 12:51

Esteganografia
A arte de esconder a existncia de mensagens. Caiu em desuso e foi novamente
"ressuscitada" para, na atualidade, ser usada na autenticao de documentos. Os textos
marcados com asterisco so interativos.
10
Filtro: titulo Exibir #

# Ttulo do Artigo Data Autor Acessos

1 O que Esteganografia 02.01.07 vov Vicki 16273

2 Ave Maria de Trithemius 02.01.07 vov Vicki 14622

A Grelha de Cardano (e de
3 23.06.05 vov Vicki 14498
Richelieu) *

4 Segurana Monetria Sua 02.01.07 vov Vicki 9848

5 Criptografia Visual * 30.12.06 vov Vicki 9488

Detectando dados ocultos em


6 21.03.05 vov Vicki 4364
imagens

O que
Esteganografia

1
2
3
4
5

(34 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Ter, 02.01.2007 22:38

O termo esteganografia vem do grego e significa "escrita coberta". um ramo particular da


criptologia que consiste, no em fazer com que uma mensagem seja ininteligvel, mas em
camufl-la, mascarando a sua presena. Ao contrrio da criptografia, que procura esconder
a informao da mensagem, a esteganografia procura esconder a EXISTNCIA da
mensagem.
Histrias da Histria

Contrariamente criptografia, que cifra as mensagens de modo a torn-las


incompreensveis, a esteganografia esconde as mensagens atravs de artifcios usando
imagens ou um texto que tenha sentido, mas que sirvam apenas de suporte (como o
alfabeto biliteral de Francis Bacon ou as famosas cartas de George Sand). A idia a
mesma das grelhas de Cardano e do "barn code": mesclar a mensagem numa outra, onde
apenas determinadas palavras devem ser lidas para descobrir o texto camuflado.

O primeiro uso confirmado da esteganografia est em "As Histrias" de Herdoto e remonta


ao sculo V a.C.: um certo Hstio, querendo fazer contato secreto com seu superior, o tirano
Aristgoras de Mileto, escolheu um escravo fiel, raspou sua cabea e escreveu na careca a
mensagem que queria enviar. Esperou que os cabelos crescessem e mandou o escravo ao
encontro de Aristgoras com a instruo de que deveriam raspar seus cabelos.

Ainda nas "As Histrias" de Herdoto consta que, para informar os espartanos de um
ataque iminente dos persas, o rei Demaratos utilizou um estratagema muito especial:
pegou tabletes, retirou-lhes a cera, gravou na madeira a mensagem secreta e recobriu os
tabletes novamente com cera. Deste modo, os tabletes, aparentemente virgens, no
chamaram a ateno e chegaram at as mos dos gregos. O problema foi que os gregos
no imaginavam que a cera que tinham importado continha mais do que apenas cera. Foi
Gorgo, a mulher de Lenidas, quem teve a idia de raspar a cera e bisbilhotar o fundo das
caixinhas que a transportava - leu a mensagem, avisou os gregos e garantiu a vitria sobre
os persas.

Na China antiga tambm se usava a esteganografia. Escreviam-se mensagens sobre seda


fina e o pequeno retalho era transformado numa bolinha que era recoberta por cera. Para
transportar a mensagem, obrigavam um mensageiro engolir a bolinha, ir at o destinatrio
e entreg-la depois de... cccaaaa.

No sculo XVI, o cientista italiano Giovanni Porta descobriu como esconder uma mensagem
num ovo cozido: escrevia sobre a casca do ovo cozido com uma tinta contendo uma ona de
alume ( 29 g) diluda em cerca de meio litro de vinagre. A soluo penetrava na casca e
se depositava sobre a superfcie branca do ovo. Depois, bastava o destinatrio abrir o ovo
para ler a mensagem.

O historiador da Grcia antiga, Enias, o Ttico, teve a idia de enviar uma mensagem
secreta fazendo minsculos furos em certas letras de um texto qualquer. A sucesso destas
letras marcadas fornecia o texto secreto. Dois mil anos mais tarde, remetentes ingleses
empregaram o mesmo mtodo, no para garantir o segredo de suas cartas, mas para evitar
o pagamento de taxas de correio muito caras. Na realidade, antes da reforma do servio
postal ao redor de 1850, enviar uma carta custava cerca de um shilling para cada cem
milhas de distncia. Os jornais, no entanto, eram isentos. Graas a furinhos de agulha, os
ingleses espertos enviavam suas mensagens gratuitamente transformando folhas de jornal
em verdadeiras peneiras Este procedimento tambm foi utilizado pelos alemes durante
a Primeira Guerra Mundial. Durante a Segunda Guerra, eles aperfeioaram o mtodo
marcando letras de jornais com tintas "invisveis" ao invs de fazerem furos.

Os espies alemes da Segunda Guerra utilizavam micropontos para fazer com que suas
mensagens viajassem discretamente. Eram fotografias do tamanho de um ponto (.) que
depois eram ampliadas para que a mensagem aparecesse claramente. Era uma espcie de
microfilme colocado numa letra, num timbre, etc.

Em 1999, Catherine Taylor Clelland, Viviana Risca e Carter Bancroft publicaram na revista
Nature "Hiding messages in DNA microdots" (escondendo mensagens em micropontos de
DNA). Como qualquer material gentico formado por cadeias de quatro nucleotdeos
(Adenina, Citosina, Guanina e Timina), podemos comparar estas cadeias a um alfabeto de
quatro letras: A, C, G e T. Alm disso, como os cientistas atualmente podem fabricar
cadeias de DNA com um conjunto predeterminado de nucleotdeos, nada os impede de
atribuir a um grupo de trs nucleotdeos uma letra do alfabeto, um nmero ou sinais de
pontuao (por exemplo, "A"=CGA, "B"=CCA, etc) e compor uma "mensagem gentica".
Para disfarar as pistas, pode-se misturar algumas outras sequncias aleatrias de
nucleotdeos. Para complicar as coisas, o resultado apenas visvel ao microscpio
eletrnico. Uma possvel aplicao deste mtodo esteganogrfico seria, por exemplo, uma
empresa que produz uma nova espcie de tomate e inclui sua marca de fbrica nas
molculas do tomate afim de evitar imitaes.

Escondendo mensagens em imagens GIF

Em 25.11.04, o Luciano fez contato para me contar do Projeto TaTu, brazuca da gema. No
site do projeto, no link About, encontra-se a seguinte explicao:

O "projeto" TaTu um trabalho de Matemtica III da faculdade Eseei, cujo objetivo


era demonstrar softwares de esteganografia. Este trabalho apresenta a
implementao web de ocultamento de mensagens criptografadas em imagens
digitais, utilizando algortmo de compresso Ruffman em conjunto com a
esteganografia. E ainda, o mtodo Last Significant Bit (LSB), para ocultar a
informao criptografada em uma imagem.
Equipe: Alberto Mello, Gilmar Kaminski, Luciano Juvinski, Marcelo, Renato Hayashi.
Professor: Jean Pierre Wasem

O site tem um visual muito agradvel e permite esconder mensagens (com ou sem senha)
em imagens no formato GIF. Recomendo a visita! Parabns equipe pelo excelente
trabalho e meus mais sinceros agradecimentos ao Luciano.

Fontes

The Codebrakers de David Kahn

Stganographie de Didier Mller

Atualizao Sb, 18.04.2009 13:01

Ave Maria de
Trithemius

1
2
3
4
5

(48 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Ter, 02.01.2007 21:56

Ao redor de 1500, Johannes Trithemius, um abade beneditino, imagina um sistema


esteganogrfico muito astucioso, a chamada "Ave Maria".

Este sistema composto por 14 alfabetos nos quais a cada letra corresponde uma palavra
ou grupo de palavras. O resultado da encriptao acaba sendo um texto (mais ou menos)
coerente, em Latim, como se fosse uma orao ou glorificao religiosa. Algumas palavras
"inteis" so adicionadas apenas para dar sentido ao texto. As "Ave Marias" so citadas pela
primeira vez no primeiro livro de Trithemius, a Polygraphia.

Uma "Ave Maria"

Veja a seguir um dos alfabetos de Ave Maria (que traduzi para o Portugus):

A: no cu
B: para todo o sempre
C: um mundo sem fim
D: numa infinidade
E: perpetuamente
F: por toda a eternidade
G: durvel
H: incessantemente
I-J: irrevogavelmente
K: eternamente
L: na sua glria
M: na sua luz
N: no paraso
O: hoje
P: na sua divindade
Q: em Deus
R: na sua felicidade
S: no seu reino
T: na sua majestade
U-V-W: na sua beatitude
X: na sua magnificncia
Y: ao trono

O inconveniente do sistema o tempo necessrio para a transposio de um texto de


qualquer tamanho e o grande aumento do texto esteganografado resultante. Por outro lado,
como a mensagem cifrada se apresenta como um conjunto normal de palavras, os
eventuais decifradores, devido s numerosas equivalncias, teriam que acumular uma
massa enorme de material antes de encontrar as semelhanas necessrias para obter a
chave.
Um exemplo

No paraso e no cu,
No cu e na sua glria,
Numa infinidade perpetuamente,
Irrevogavelmente no cu

No paraso e na sua beatitude,


Na sua luz, no cu, para todo o sempre,
Hoje no cu e na sua majestade,
Perpetuamente na sua luz.

Um mundo sem fim na sua felicidade,


Irrevogavelmente, na sua divindade,
Na sua majestade hoje e na sua glria,
Hoje durvel, irrevogavelmente, no cu!

Este adorvel poema em forma de orao significa nada mais nada menos que: Na Aldeia
NumaBoa tem Criptologia

Como vocs podem ver, o abade era realmente um gnio na dissimulao!

Atualizao Ter, 02.01.2007 22:01

A Grelha de Cardano (e de
Richelieu) *

1
2
3
4
5

(44 votos, mdia 4.2 de 5)

Escrito por vov Vicki

Qui, 23.06.2005 21:00


Girolamo Cardano
(1501-1576)

A grelha de Cardano consiste numa folha de material rgido na qual existem aberturas retangulares da altura de uma
linha de texto e de comprimento varivel, colocadas em intervalos irregulares.

O remetente coloca esta matriz sobre a folha de papel e escreve a mensagem secreta nas aberturas. Depois retira a
grelha e preenche os espaos vazios com letras quaisquer. O destinatrio simplesmente coloca uma grelha igual sobre
o texto recebido para fazer aparecer a mensagem recebida.

A idia extremamente simples, quase uma brincadeira de criana, porm o Cardeal Richelieu achou-a prtica e
segura o suficiente para que adaptasse este mtodo de esteganografia e o utilizasse na prtica.

CARACTERSTICAS

Origem: Desenvolvida por Girolamo Cardano, mdico, filsofo e matemtico.


Classe: Esteganografia
Tipo: Texto
Caractersticas: O texto esteganografado torna-se excessivamente longo.
Segurana: Baixssima
Uso: no tem mais aplicao.
Criptoanlise: anagramas

UM EXEMPLO

G M P A L O E M T N

P N I S D L A G U R
E M J S R L E T A C

I D R U V N O R A N

H O Q U E Z A P T A

Camuflar

O CARDEAL RICHELIEU

Cardeal
Richelieu
(1585-1642)

Alguns anos mais tarde, o Cardeal Richelieu, da Frana, usou um sistema parecido. Escrevia uma mensagem qualquer
que fazia algum sentido e que contivesse as letras da mensagem secreta na ordem correta. O destinatrio possua
uma grelha preparada previamente por Richelieu que permitia desvendar a mensagem enviada.

Um exemplo

M E U S A M I G O S
O V I N H O Q U E L H E S

E N V I E I N A S E G U N D A -

F E I R A O M A I S S E C O

E N C O R P A D O E L E V E .

A T E N C I O S A M E N T E

Camuflar

Autoria

Texto e exemplos: vov Vicki

Atualizao Dom, 14.06.2009 14:13


Segurana
Monetria Sua

1
2
3
4
5

(26 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Ter, 02.01.2007 20:34

Para quem estiver pensando que a esteganografia obsoleta ou apenas uma brincadeira
de criana, um alerta: a idade ou a simplicidade dos mtodos no invalidam sua aplicao.
Um bom exemplo a chamada segurana monetria, as marcas que do autenticidade ao
dinheiro e dificultam a falsificao de notas.

Segurana monetria

No mundo financeiro, a Sua sempre teve um papel de destaque. Conhecida pela


discreo (para no dizer segredo) e pela segurana que oferece a investidores, a moeda
corrente sua no poderia ser uma exceo - tambm precisa oferecer um alto grau de
segurana quanto sua autenticidade. Analisando o papel moeda em detalhes, o que mais
chama a ateno so os mtodos esteganogrficos utilizados.

Outros pases com tradio na impresso de papel moeda, incluindo-se a o Brasil, tambm
usam mtodos sofisticados de autenticao. J comea pelo papel utilizado para imprimir
as notas, produzido com alta tecnologia e difcil de ser imitado porque tem uma textura
especial, micromarcas, marcas d'gua, etc.

Qual foi a idia dos falsificadores? Como alguns pases usam cdulas do mesmo tamanho
para diversos valores (EUA, Brasil, etc), os falsrios raspam a tinta de notas de pequeno
valor e usam o papel para imprimir de modo fraudulento notas de valor maior. Se o
"trabalho" for bom, bastente difcil detectar as notas falsificadas. Mas o tamanho das
cdulas e outras caractersticas de impresso no detiveram os "profissionais" do ramo: o
Euro, alardeado como impossvel de ser falsificado, precisou competir com "clones" assim
que foi distribudo na Comunidade Europia e o real nem bem acabou de sair da casa
da moeda e j havia notas de R$50,00 circulando pelo Brasil "fabricadas" na Europa
As Cdulas

Mas voltemos Sua. A srie atual de notas foi emitida pelo Banco Nacional Suo - BNS
entre 1995 e 1998. Abaixo est a srie completa que esconde uma poro de "truques"
esteganogrficos:
A nota de 50 Francos Suos

Frente da nota de 50
Francos

Todas as notas desta srie possuem diversos elementos de segurana. Tomando a nota de
50 francos como exemplo, destacam-se vrias tecnologias utilizadas tanto na frente como
no verso da nota. Conhea os elementos da frente da nota, cujos pontos de aplicao
esto destacados em vermelho. Cada nota uma verdadeira "biblioteca esteganogrfica",
aplicando alta tecnologia em mtodos conhecidos de longa data:

A: As cifras com a tinta Iriodin: O nmero mgico.


B: As cifras em marca d'gua
C: As cifras em talhe doce: O nmero que tinge
D: O nmero perfurado (microperf )
E: A tinta com efeito ptico varivel: O nmero camaleo
F: As cifras com ultravioleta
G: As cifras metalizadas: O nmero cintilante
H: O efeito basculante
1: Frente e verso
2: Marca d'gua do rosto
3: Guillochis
4: Kinegram: A cifra danante
5: Microtexto
6: Smbolo para deficientes visuais

As cifras com a tinta Iriodin: O nmero mgico

O valor da nota impresso no local


indicado com A com uma tinta
transparente e ligeiramente brilhante que
se torna particularmente visvel quando a
luz estiver num ngulo preciso.

As cifras em marca d'gua

A indicao do valor da nota fica incrustada no papel sob a forma de


marca d'gua. Posicionando a nota contra a luz e observando
detalhadamente, possvel distinguir, sob a tinta de impresso, a marca
d'gua indicando o valor da mesma.

As cifras em talhe doce: O nmero que tinge

A indicao do valor da nota, impresso em talhe doce, aparece em


relevo e se revela rugoso ao tato. Ao ser esfregado, por exemplo
num papel branco, deixa traos da tinta de impresso bem visveis.

O nmero perfurado (microperf )

A cifra indicando o valor inscrita atravs de perfuraes muito


finas, denominadas microperf . Estas perfuraes no so visveis, a
no ser que se observe a nota contra uma fonte luminosa.

A tinta com efeito ptico varivel: O nmero camaleo


A indicao do valor da nota impresso no local
indicado com E com uma tinta que muda de cor
quando recebe luz de diferentes ngulos.
Inclinando a nota lentamente para frente e para
trs possvel observar como a cor dos nmeros
se modificam.

As cifras com ultravioleta

Sob luz ultravioleta, a metade esquerda da nota


mostra o valor em tom escuro e o rosto claro e
fluorescente. A metade direita mostra o valor da nota
em tom claro e fluorescente e o rosto em tom escuro.

As cifras metalizadas: O nmero cintilante


As cifras indicando o valor da nota so
metalizadas. Movimentando a nota como se fosse
uma pgina de livro, as cifras cintilam numa cor
prateada. Com o auxlio de uma lupa tambm
possvel reconhecer os monogramas SNB e BNS do
Banco Nacional Suo entre as cifras metalizadas. O
nmero cintilante est parcialmente recoberto
pela tinta de impresso.

O efeito basculante
A indicao do valor da nota impressa no local identificado por H s
pode ser vista a partir de um ngulo pouco habitual. Com a nota
posicionada horizontalmente, na altura dos olhos e com um
discretssimo ngulo de inclinao, pode-se ler o valor da mesma.

Frente e Verso

Duas cruzes so impressas, uma em cada face da nota, exatamente na mesma


posio. Uma ligeiramente maior que a outra. Pode-se ver, por
transparncia, uma cruz sua entre as duas silhuetas.
Marca d'gua do rosto

A poro superior direita da frente da nota ocupada pelo rosto em marca


d'gua. A direo do olhar idntico ao do rosto estampado na frente da
cdula.

Guillochis

A fina estrutura das curvas entrelaadas modifica discretamente sua cor de


linha para linha ou ao longo de cada linha.

Kinegram: A cifra danante


No centro da nota fica o Kinegram: o
valor da nota, mostrado em lminas
prateadas especiais, parece se mover.

Dois outros Kinegram menores mostram


a cruz sua e os monogramas do Banco
Nacional Suo: SNB e BNS.

A forma do Kinegram, a posio dos


dois menores e o movimento dos nmeros
so diferentes de acordo com o valor da
nota.

Microtexto

Nas duas faces da nota um texto


curto sobre a pessoa retratada
reproduzido numa impresso
to miniaturizada, que s com o
auxlio de uma poderosa lente
de aumento possvel l-lo.

O exemplo aqui reproduzido


corresponde ao texto
encontrado na frente da nota de
50 francos.
Smbolo para deficientes visuais

Um smbolo, perceptvel ao tato e diferente para cada valor, est gravado em


relevo na poro inferior da frente de cada nota para possibilitar o
reconhecimento da mesma pelos cegos e deficientes visuais.

Fontes

Banco Nacional Suo - Banknotes - The current banknote series

Atualizao Sb, 20.02.2010 19:01

Criptografia
Visual *

1
2
3
4
5

(18 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Sb, 30.12.2006 22:34

A criptografia visual foi apresentada por Naor e Shamir na EUROCRYPT '94. Eles se fizeram
a seguinte pergunta: possvel criar um esquema de troca de segredo baseado numa
imagem que possa ser reconstruda "visualmente" atravs da superposio de duas
imagens irreconhecveis?

A resposta SIM! Uma imagem (ou um texto transformado em imagem) pode ser
fracionada em duas ou mais imagens que contenham parte da informao e impressas em
transparncias. Observando apenas uma das fraes no possvel "ver" o que ela
contm, mas, se as transparncias forem superpostas, a imagem ser revelada.

Fracionando os pixels
Fracionando pixels

Os autores criaram o esquema mostrado na figura ao lado. O algoritmo especifica a


codificao de cada um dos pixels da imagem. Um pixel P repartido em dois sub-pixels e,
cada um deles, vai para uma transparncia. Se P for branco ou preto, feito um "cara ou
coroa" para escolher randomicamente uma das duas possibilidades.

Digamos que o primeiro pixel da imagem seja branco e que a primeira possibilidade tenha
sido escolhida - o resultado ser repetido na superposio e a cor ser cinza. O mesmo
acontece com a segunda possibilidade.

Se o primeiro pixel for preto e a primeira possibilidade tenha sido a escolhida, o resultado
da superposio ser preto. O mesmo acontece quando a segunda possibilidade for a
escolhida.

Observe que o resultado o mesmo para as imagens superpostas, mas essencialmente


diferente nas transparncias. Dependendo do "cara ou coroa", transparncias diferentes
produzem o mesmo resultado na superposio. Esta exatamente a segurana do mtodo
- a no existncia de um padro nas transparncias produzidas!

Confira o mtodo

Este um aplicativo on line simplificado para ilustrar como as imagens podem ser geradas.
Digite uma senha qualquer (que substitui o "cara e coroa") e um texto curto. Imprima o
resultado e sobreponha as imagens da transparncia (use um papel fino na impressora). O
resultado deve ser o da imagem sobreposta.

Senha:

Mensagem: numaboa

Quanto maior a mensagem, maior o tempo necessrio para criar as imagens. Como este
apenas um exemplo da tcnica, limitei o nmero de caracteres a 16. A senha no
necessria, mas aumenta a segurana do mtodo pois os pixels randmicos so gerados a
partir dela. Para randomizar foi usado um fluxo ARCFOUR conforme descrito por Bruce
Schneier em Applied Cryptography.

Imprima o resultado e confira o mtodo de Naor e Shamir

Fontes

Applied Crytography de Bruce Schneier.


Doug Stinson's Visual Cryptography.
Javascript original do Dr. Leemon Baird, modificado por vov Vicki.

Atualizao Sex, 17.04.2009 21:48

Detectando dados ocultos em


imagens

1
2
3
4
5

(5 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Seg, 21.03.2005 18:56

No existe uma frmula mgica para detectar a presena de dados escondidos em


imagens, mas h dois procedimentos bsicos para se comear: o ataque visual e
o ataque estatstico.

Caso a mensagem seja anexada no final do arquivo de cobertura, os bytes dos pixels da
imagem no so alterados, mas o tamanho do arquivo aumenta. Se no possuirmos a
imagem original para comparar o tamanho das duas, ainda assim possvel localizar e
extrair os dados usando, por exemplo, um editor hexadecimal. Mas, e se a tcnica utilizada
foi a LSB? (para conhecer os princpios desta tcnica, leia "LSB - Tcnica dos bits menos
significativos" em Criptografia / Papers).

No segundo caso, a coisa um pouco mais complicada e este artigo trata justamente deste
assunto.

O ATAQUE VISUAL

Muitas vezes o mtodo esteganogrfico utilizado para ocultar dados em imagens provoca
alteraes to insignificantes que no possvel dizer, apenas olhando, que a imagem foi
alterada - nem mesmo comparando a imagem original e a que contm dados embutidos.
Isto ocorre principalmente quando usada a tcnica chamada LBS, Least Significant Bitsou
dos bits menos significativos.

Se houver bits menos significativos alterados, o que se pode fazer para torn-los visveis?
Esta pergunta martelava minha cabea, o que me levou a apelar para o Google. Foi
quando achei a pgina do Guillermito, que no s explicou tintim por tintim, como ainda
disponibilizou vrios pequenos aplicativos (com cdigo fonte e tudo). Testei o programa
BMP2enhancedLSB do Guillermito, escrito em Assembly, mas o aplicativo teimou em me
informar que no era para win 32 bits. Foi da que resolvi criar o stegoBMP em Delphi (que
j est disponvel na seo de downloads em Criptologia/Esteganografia).

Uma das caractersticas do stegoBMP a de poder detectar a presena de mensagens


ocultas na rea de dados de arquivos bitmap BMP de 24 bits (mais sobre este formato em
"Formato BMP" em Informtica / Orculo de Referncias). No arquivo zipado h um bitmap
de exemplo - o teste.bmp. Este arquivo foi criado com uma logo do Google, na qual foi
inserida a letra do Hino Nacional Brasileiro (os arquivos bmp esto no pacote zipado; nesta
pgina h apenas os transformados em formato gif para diminuirem de tamanho - no
copie os gifs, eles no contm mensagens ocultas - faa o download do pacote).

Logo do Google (virgem) Logo do Google (virgem) rastreada

. .

Rastreamento da Logo do Google com texto


Logo da Google com texto embutido
embutido
Observe que as duas imagens, a virgem e a com texto embutido, so praticamente
idnticas. J as imagens rastreadas, chamadas de Raio X, mostram uma diferena
evidente. O RX da imagem virgem destaca apenas os elementos que compem a logo do
Google e o RX da mesma imagem com o texto embutido apresenta uma faixa de rudo na
rea superior. Esta faixa corresponde rea ocupada pela mensagem oculta.

O ATAQUE ESTATSTICO

Mas no s do destaque de LSB que vive a estegoanlise. Sabemos que os LSB e os


outros bits da imagem possuem uma ordem prpria, seno a imagem no seria uma
imagem e sim, uma maaroca de cores. Quando introduzimos a mensagem na imagem,
modificamos a "personalidade" dos LSB e bagunamos a ordem destes bits. Tirar a ordem
significa introduzir um fator randmico, ou seja, o mesmo que espalhar randomicamente
bits por todos os lados. Neste caso, a probabilidade passa a ser 50% de LSB 1 e 50% de
LSB 0. Ah! Este o pulo do gato e a dica para a aplicao de mtodos estatsticos.

Quando se trata de comportamento randmico (tambm chamado de acaso ou de


probabilidade), a estatstica soberana. Ela capaz de separar a baguna da ordem

Um dos testes mais simples a mdia. Se os LSB estiverem dispostos ao acaso, sabemos
que a mdia, tanto dos ligados quanto dos desligados, deve estar prxima de 0.5 (ou
50%). Quanto menos randmica for a distribuio dos LSB, mais distante de 0.5 estar a
mdia. Ento, se "cortarmos" uma imagem que contenha dados embutidos em "fatias" de
128 ou 256 bytes e calcularmos a mdia dos LSB, nas fatias onde h dados "estrangeiros",
a mdia tender para 0.5 e, nas fatias onde existem apenas dados "originais", a mdia
tender a se afastar de 0.5. Colocando cada um dos resultados obtidos num grfico, pode-
se observar este comportamento diferente e determinar visualmente a posio onde
comeam e onde acabam os dados enxertados. Observe as figuras abaixo:

Distribuio da mdia dos LSB na logo do Google virgem


Distribuio da mdia dos LSB na logo do Google com
texto oculto

O famoso Teste Phi de Friedman, aplicado normalmente em criptogramas para se


determinar a monoalfabeticidade (leia mais em Identificao de Classes), tambm pode
ser utilizado como ferramenta estatstica. que o Teste Phi tambm separa amostras
randmicas de amostras com uma ordem definida. Usando as mesmas "fatias" de 128
bytes das logos do Google que servem de exemplo e colocando num grfico a diferena
entre o Phi observado e o Phi randmico, obtm-se os seguintes grficos:

Teste Phi na logo do Google virgem


Teste Phi na logo do Google com dados ocultos

O ATAQUE DA COMPACTAO

Existe um outro aspecto interessante quanto aos arquivos modificados. Apesar das
imagens (virgem e com dados) possurem o mesmo nmero de bytes, quando so
compactadas (por exemplo, zipados), os arquivos compactados dos originais so MENORES
do que os compactados com dados ocultos. Isto se deve ao fato de que a mensagem
oculta fornece dados randmicos, e dados randmicos no so compactados porque no
possuem a redundncia necessria para uma compactao mais efetiva.

CONSIDERAES FINAIS

Conhecendo-se o formato de cada tipo de imagem (bmp, gif, jpg, png, etc), possvel usar
as mais diversas tcnicas de ocultao de dados, assim como rastre-las a procura de
reas suspeitas. Alm disso, qualquer tipo de arquivo de formato padronizado pode ser
utilizado como cobertura (doc, xls, rtf, etc).

Na seo de downloads, categoria Criptografia/Estegoanlise, voc encontra o programa


chi-square, da autoria de Guillermito, que identifica as reas randomizadas atravs do
clculo do chi quadrado. Escrito em Assembly, este programa minsculo e muito rpido.
Quando os testes anteriores falham, a salvao o chi-square. No deixe de experimentar.

Grande abrao a todos

vov Vicki

Atualizao Ter, 14.04.2009 13:24


Supercifragens
Supercifragem quando se usa mais de um mtodo, ou o mesmo mtodo vrias vezes,
para obter um criptograma.

10
Filtro: titulo Exibir #

# Ttulo do Artigo Data Autor Acessos

1 A Cifra de Bacon 04.09.05 vov Vicki 22548

2 A Cifra de Bazeries 25.01.09 vov Vicki 4034

3 A Cifra UBCHI * 28.01.09 vov Vicki 3758

A Cifra
de Bacon

1
2
3
4
5

(44 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Dom, 04.09.2005 23:43

ndice do Artigo

A Cifra de Bacon

Alfabetos triliterais

Todas as pginas

A cifra de Bacon, criada ao redor de 1600, bastante curiosa por que associa os mtodos
de substituio e de esteganografia.

Um pouco de histria

Francis Bacon
(1561-1626)

Francis Bacon foi um filsofo, escritor e poltico ingls. Estudou no Trinity College, em
Cambridge, e mais tarde em Londres. Em 1584 tornou-se membro do Parlamento e
durante vinte anos exerceu atividade como advogado e poltico, conquistando fama de
orador, escritor e causdico. Em 1613 tornou-se procurador geral e em 1616 foi nomeado
Lord Chanceler e par do Reino com o ttulo de Visconde de St. Albans. Acusado de
suborno, foi condenado priso, multa e perda de cargo; o perdo, porm, veio em
poucos dias. Bacon saiu da Tower (a Torre de Londres) e foi aposentado.

Algumas de suas obras, especialmente os seus Essays, esto entre as maiores


contribuies feitas ao pensamento humano desde os tempos dos filsofos gregos. Outros
livros igualmente importantes so New Atlantis, Life of Henry VII e The Advancement of
Learning. De especial interesse o captulo I do livro VI da obraThe Advancement of
Learning, onde Bacon descreve minuciosamente a sua cifra, hoje conhecida como
codificao binria de 5 bits.

Caractersticas

Origem: Desenvolvida por Francis Bacon e publicada no livro VI, captulo I do The
Advancement of Learning.
Classe: Substituio (binria de 5 bits) associada a esteganografia.
Tipo: Monoalfabtica tomogrfica.
Caractersticas: O texto cifrado um texto que faz sentido e o texto claro est
camuflado nesta mensagem aparentemente "normal".
Segurana: baixa.
Uso: Apenas interesse histrico.
Criptoanlise: as caractersticas das letras da mensagem de cobertura fazem
suspeitar do mtodo esteganogrfico.
A Cifra de Bacon

Knowledge of Cyphers to

the Knowledge of Writing

Letra Grupo binrio Letra Grupo binrio

A aaaaa 00000 N abbaa 01100

B aaaab 00001 O abbab 01101

C aaaba 00010 P abbba 01110

D aaabb 00011 Q abbbb 01111

E aabaa 00100 R baaaa 10000

F aabab 00101 S baaab 10001

G aabba 00110 T baaba 10010

H aabbb 00111 U/V baabb 10011

I/J abaaa 01000 W babaa 10100

K abaab 01001 X babab 10101


Francis Bacon detalha seu sistema de L ababa 01010 Y babba 10110
substituio que usa um alfabeto de 24 letras
onde I=J e U=V. Para cada uma das letras do
M ababb 01011 Z babbb 10111
alfabeto atribudo um grupo de 5 caracteres
compostos pelas letras "a" e "b". Como so
utilizadas apenas duas letras para a formao dos grupos, considera-se esta cifra como
sendo de expresso binria. Como os grupos so formados por 5 letras, considera-se a
cifra como sendo de 5 bits.

A formao dos grupos segue uma sequncia lgica, fcil de memorizar. Alm disso, os
"a" e "b" podem ser substitudos por 0 e 1, como mostrado na tabela ao lado.

O criptograma preparado em duas etapas, comeando pela substituio.

1a. Etapa: A Substituio

Vamos utilizar o sistema binrio ao invs de "a" e "b" porque ele menos confuso. Como
exemplo, vamos cifrar a mensagem NUMABOA.

Texto claro N U M A B O A

Binrio 01100 10011 01011 00000 00001 01101 00000

Cifrando NUMABOA obtemos uma sequncia de zeros e uns. Considerando que zero
corresponde a um bit desligado e que 1 corresponde a um bit ligado, podemos transferir
esta informao para qualquer texto "normal" que, de alguma forma, transmita esta
informao. Apenas para ilustrar, usaremos negrito para destacar os bits ligados e normal
para os desligados.

2a. Etapa: Escondendo a mensagem cifrada

Pode-ses usar qualquer texto para camuflar a mensagem cifrada. Tecnicamente esta
camuflagem chamada de cobertura. Como exemplo, uma frase de cobertura fazendo
uma brincadeira: "Voc sabia que SARS o contrrio de acars?"

Cobertura V o c s a b i a q u e S A R S o c o n t r r i o d e a c a r s ?

Cobertura 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0

Cobertura V o c s a b i a q u e S A R S o c o n t r r i o d e a c a r s ?

Neste exemplo, o destinatrio recebe a seguinte mensagem cifrada:

Voc sabia que SARS o contrrio de acars?


Alfabetos biformados de Bacon

claro que este mtodo de estaganografia muito bvio mas, por incrvel que parea,
muita gente vai pensar que a impressora est com problemas e... nada mais. claro que
Bacon fazia uso de um sistema de esteganografia um pouco mais sofisticado - utilizava a
caligrafia com dois alfabetos: um alfabeto para os bits ligados e outro, com discretas
diferenas, para os bits desligados. Estes alfabetos eram denominados por Bacon de
"biformados".

Observe, por exemplo, a letra "d": existe a verso com o trao vertical liso (a verso "a"
ou de bit desligado) e a verso com a extremidade enrolada (a verso "b" ou de bit
ligado). As diferenas entre os dois "E" maisculos so bem mais evidentes e entre os dois
"a" minsculos so quase que imperceptveis.

interessante notar que Bacon antecipou-se sua poca usando um sistema muito
semelhante ao sistema binrio atual. Alis, com 5 bits, o nmero de letras e smbolos do
seu alfabeto poderia ser 32 (25), e no somente 24 letras como sugerido originalmente.

BACONISMO

Baconismo a teoria que sustenta que Francis Bacon seria o autor das peas de William
Shakespeare. Muitos adeptos desta teoria procuraram na grande edio de 1623 um
cdigo que confirmasse esta tese. Elizabeth Wells Gallup publicou o resultado das suas
pesquisas em 1899 no livro intitulado The Bi-literal Cypher of Sir Francis Bacon in his
works and Deciphered by Mrs Elizabeth Wells Gallup. Dois criptoanalistas de renome,
William Friedman e sua esposa Elizabeth, fizeram uma abordagem cientfica do problema e
refutaram as "descobertas" de Elizabeth Wells Gallup: as ampliaes fotogrficas
mostraram que as diferenas entre os caracteres manuscritos deviam-se somente a
deformaes, a manchas de tinta ou a imperfeies no papel.

Francis Bacon no foi o nico que teve a idia de associar a esteganografia substituio.
Mesmo antes dele, houve vrios autores de renome que utilizaram e descreveram o
mesmo sistema.

Cardano

Girolamo
Cardano

(1501-1576)

a AAC g ABC n CCB t BAC

b AAB h CAC o CBA u/v BAB

c ACA i/j ABB p CBC w BAB

d ACC k CAB q CBB x BCA

e ACB l CAA r BAA y BCC

f ABA m CCA s CCC z BCB

Alfabeto triliteral de Cardano (1557)

Vigenre
Vigenre

(1523-1596)

a BBA g ACA n CCC t CBA

b BAA h ACC o CCA u/v BBC

c BAC i/j ACB p CCB w CBC

d AAA k ABA q CAA x CBB

e AAC l ABC r CAC y BBB

f AAB m ABB s CAB z BCB

Alfabeto triliteral de Vigenre (1587)

Wilkins

John
Wilkins

(1614-1672)
a AAA g CBB n ACC t CBC

b AAC h BAA o ACB u/v CBB

c AAB i/j BBA p ABA w CAC

d CAA k BBC q ABC x BCA

e CCA l BBB r ABB y BCC

f CCC m ACA s CBA z BCB

Alfabeto triliteral de Wilkins (1641)

Frederici

a AAB g ACB n BAC t CAC

b AAC h ACC o BCB u/v CAA

c ABA i/j BBA p BCA w CAB

d ABB k BBC q BCC x CBC

e ABC l BAB r CCA y CBA

f ACA m BAA s CCB z CBB

Alfabeto triliteral de Frederici (1685)

Fontes

Didier Mller - L'alphabet bilitre de Francis Bacon


Terry Ross - The Code that Failed: Testing a Bacon-Shakespeare Cipher
Thomas 'Penn' Leary - Bacon Is Shakespeare
Paul J. Dupuy, Jr. - Advancement of Learning
Didier Mller - Les chiffres trilitres

Atualizao Seg, 13.04.2009 20:06


A Cifra de Bazeries

1
2
3
4
5

(3 votos, mdia 3.0 de 5)


Escrito por vov Vicki

Dom, 25.01.2009 16:12

A cifra de Bazeries um bom exemplo de supercifragem. A supercifragem consiste em


aplicar sucessivamente dois ou mais algoritmos de cifragem. Na Cifra de Bazeries, aps
uma transposio de letras, efetua-se uma substituio simples.

Etienne
Bazeries

1846-1931

Etienne Bazeries foi um comandante francs que viveu de 1846 a 1931. Alm da cifra que
ficou conhecida pelo seu nome, tambm criou uma nova verso do cilindro de Jefferson
que, apesar da insistncia do comandante, foi recusado pelo exrcito francs.

Para demonstrar o mtodo de Bazeries usaremos a mensagem clara

H MUITOS SOLDADOS MORTOS DE MEDO NO IRAQUE.

A transposio

Como chave, escolhe-se um nmero qualquer, menor que um milho. Vamos escolher
4635 para o exemplo. A primeira providncia dividir a mensagem clara em blocos de
letras que correspondam chave convencionada. Neste nosso exemplo, o texto fica assim:

4 6 3 5 4 6 3 5 <- chave
repetida
HAMU ITOSSO LDA DOSMO RTOS DEMEDO NOI RAQUE <- blocos do
texto claro

Caso o ltimo bloco ficasse incompleto, com menos do que cinco letras, adicionaramos
nulos (letras X, Z ou sua escolha) para complet-lo.

A seguir faz-se uma transposio das letras dos blocos invertendo suas posies -
literalmente, escrevemos as letras ao contrrio. O resultado :

UMAH OSSOTI ADL OMSOD SOTR ODEMED OIN EUQAR

A substituio

a f k p u

b g l q v

c h m r x

d i n s y

e j o t z

Grade 1

Q U A T R

O S E I C

N B D F G

H J K L M

P V X Y Z

Grade 2

Numa grade de 5x5 escreve-se o alfabeto da esquerda para a direita e de cima para baixo.
Alm disto, convenciona-se qual letra ser eliminada para que se obtenha um alfabeto de
25 letras. No nosso exemplo, o W ser eliminado.

Numa segunda grade de 5x5 escreve-se a chave por extenso (cuidado com a ortografia)
eliminando-se as letras repetidas e completando-se a grade com as letras faltantes em
ordem alfabtica.

A grade 1 d a localizao das letras que devem ser substitudas e a grade 2 possui o
cifrante com as letra da substituio. Assim, 'a' ser substitudo por Q, 'b' por O e assim
sucessivamente.

Partindo do texto obtido na etapa de transposio, temos o seguinte resultado:

UMAH OSSOTI ADL OMSOD SOTR ODEMED OIN EUQAR <- resultado da
transposio

RDQB XLLXYJ QHE XDLXH LXYF XHPDPH XJK PRIQF <- substituio

Bazeries tambm sugeria trocar algumas das letras pela sua posio no alfabeto. Por
exemplo, as letras do resultado obtido neste exemplo podem formar grupos de cinco,
como tambm podem ter algumas substituies numricas, ou ambas as coisas:

RDQBX LLXYJ QHEXD LXHLX YFXHP DPHXJ KPRIQ F <- grupos de 5


letras

RDQ2 XLLXYJ QH5 XDLXH LXYF XHP4PH XJK PR9Q6 <- substituio
por nmeros

Fontes

Didier Mller - Le chiffre de Bazeries


The Cipher Exchange and Cipher Standards - ACA and YOU: Chapter 8

Atualizao Dom, 25.01.2009 17:37

A Cifra
UBCHI *

1
2
3
4
5
(12 votos, mdia 4.7 de 5)
Escrito por vov Vicki

Qua, 28.01.2009 20:20

A Cifra UBCHI foi utilizada pelos alemes logo depois do incio da Primeira Guerra Mundial,
mas John Falconer j havia mencionado os princpios desta cifra em 1685 no seu
texto Cryptomenysices Patefacta.

Este um exemplo de supercifragem porque uma transposio colunar com chave


realizada duas vezes. A seguir mostrarei como cifrar um texto claro usando a UBCHI.

Mtodo de cifragem

Vamos cifrar o seguinte texto claro:

A CRISE MUNDIAL RESULTADO DA GANNCIA?

Vamos usar a palavra-chave CRISEMUNDIAL. Inicialmente criamos uma grade de 12


colunas com a palavra-chave e inserimos o texto da mensagem clara por linhas, da
esquerda para a direita. Trocando as letras acentuadas e as especiais (como ) por letras
originais do nosso alfabeto, obtemos o seguinte:

A
C R I S E M U ND I AL
2 10 5 11 4 8 12 9 3 6 1 7
A C R I S E M UND I A
L E R E S U L T ADOD
GANAN C I A

A segunda etapa consiste em transferir as letras das colunas para uma grade das mesmas
dimenses (12x3), de acordo com a sua numerao, novamente inserindo as letras por
linhas e da esquerda para a direita. Comeamos com as letras da coluna 1 (I O), seguimos
com as letras da coluna 2 (A L A) e assim por diante:

C R I S E M U ND I AL
2 10 5 11 4 8 12 9 3 6 1 7
I O A L A N A A S S AR
R A D D A D E UNUT I
C E G I ENMLC

Depois disto, inserimos n letras quaisquer. Escolhi inserir cinco letras, NUMABOA:

C R I S E M U ND I A L
2 10 5 11 4 8 12 9 3 6 1 7
I OA L AN AAS SAR
R A D D A D E UNUT I
C E G I E N M L CNUM
ABOA

Finalmente, faz-se uma nova transposio nos mesmos moldes da primeira: inserimos as
letras das colunas de acordo com a sua numerao, fazendo a insero por linhas e da
esquerda para a direita. A coluna 1 agora tem as letras A T U, a coluna 2 tem as letras I R
C A e assim sucessivamente. Veja o resultado:

C R I S E M U ND I A L
2 10 5 11 4 8 12 9 3 6 1 7
A T U I R C A S NC A A
E A D G O S U NR I MN
DNAU L O A EBLD I
AAEM

O resultado desta dupla transposio :

ATUIR CASNC AAEAD GOSUN RIMND NAULO AEBLD IAAEM

Decifrando a mensagem

C R I S E M U ND I A L
2 10 5 11 4 8 12 9 3 6 1 7
A T U I R C A S NC A A
E A D G O S U NR I MN
DNAU L O A EBLD I
AAEM

C R I S E M U ND I A L
2 10 5 11 4 8 12 9 3 6 1 7
I OA L AN AAS SAR
R A D D A D E UNUT I
C E G I E N M L CNUM
ABOA

C R I S E M U ND I AL
2 10 5 11 4 8 12 9 3 6 1 7
I O A L A N A A S S AR
R A D D A D E UNUT I
C E G I ENMLC

A
C R I S E M U ND I AL
2 10 5 11 4 8 12 9 3 6 1 7
A C R I S E M UND I A
L E R E S U L T ADOD
GANAN C I A

Para decifrar uma mensagem UBCHI precisamos seguir o caminho inverso usado na
cifragem. Inicialmente colocamos todas as letras do criptograma numa grade de 12
colunas encabeada pela palavra-chave e a numerao das colunas.

Isto nos permite ver quais clulas esto ocupadas e quantas clulas ocupadas cada coluna
possui. A seguir inserimos as letras do criptograma agora por colunas. A coluna 1 recebe
as letras A T U, a coluna 2 recebe as letras I R C A e assim por diante.

A seguir, retiramos os caracteres nulos (cujo nmero tambm faz parte da chave da cifra).

Finalmente, repetimos a operao de transferir as letras das linhas para as colunas


numeradas.

Veja nas grades esquerda a sequncia correta da decifrao.

Confira a cifra

Os nulos so escolhidos aleatoriamente.

Mensagem clara

Palavra-chave
Nmeros da chave

Nmero de nulos 5

Mensagem cifrada

Referncias

Texto de Didier Mller, em Le chiffre UBCHI.

Atualizao Qui, 29.01.2009 22:18

Cifras de bloco
Com o advento do computador foi possvel trabalhar com nmeros ao invs de letras ou
outros caracteres grficos, um diferencial importante no cenrio da criptologia. O
trabalho incrivelmente entediante e extremamente susceptvel a erros quando feito
manualmente foi passado para as mquinas - os humanos, agora, apenas criam
funes e observam os resultados.

A mquina de cculos chamada computador muda a histria da criptografia e da


criptoanlise e, como sempre, tambm a histria da humanidade.
Nos anos da dcada de 1970, a primeira cifra de bloco que ficou conhecida
mundialmente foi a DES (Data Encryption Standard). Representou uma importante
evoluo na criptografia. Evoluo significa melhorar algum processo (ou alguns
processos) j conhecido com a adio de novas capacidades. Esta a histria da cifra
de bloco DES, baseada nos processos clssicos da substituio e da transposio.
Alguns lances de genialidade transformaram totalmente o cenrio e fizeram a balana
pender para o lado da criptografia. Pela primeira vez, a eterna concorrncia entre fazer
cdigos e quebr-los est num ponto em que a criptografia est ganhando a corrida e a
criptoanlise parece ficar para trs.

10
Filtro: titulo Exibir #

# Ttulo do Artigo Data Autor Acessos

Modos de operao das cifras de


1 06.10.05 vov Vicki 16597
bloco

2 O algoritmo DES ilustrado 28.08.05 vov Vicki 23082

3 O algoritmo DES ilustrado II 29.08.05 vov Vicki 20734

4 A segurana do DES 12.10.07 vov Vicki 5598

5 DES interativo * 04.10.05 vov Vicki 6637

6 O algoritmo IDEA ilustrado 11.09.05 vov Vicki 14156

7 TEA - Tiny Encryption Algorithm 08.09.06 vov Vicki 5969

8 XTEA * 08.09.06 vov Vicki 5299

9 BlockTEA e XXTEA * 09.09.06 vov Vicki 5674

Modos de operao das cifras


de bloco

1
2
3
4
5

(28 votos, mdia 4.3 de 5)


Escrito por vov Vicki

Qui, 06.10.2005 18:15

ndice do Artigo

Modos de operao das cifras de bloco

PCBC, CFB e OFB

Cifras de Feistel

Contador. Integridade e Propagao

Todas as pginas

As cifras de bloco operam em blocos de tamanho fixo, geralmente de 64 ou 128 bits. Para
cifrar mensagens cujo comprimento ultrapasse o tamanho do bloco, existem vrios modos
de operao. A maioria apenas confereconfidencialidade; algumas proporcionam
confidencialidade e autenticao. Este texto um resumo dos principais modos de
operao das cifras de bloco.

ECB - Electronic codebook

O modo de operao mais simples o electronic codebook - ECB (livro de cdigo


eletrnico). A mensagem clara fracionada em blocos de tamanho fixo e cada bloco
cifrado isoladamente. No final, a mensagem cifrada obtida pela concatenao dos blocos
cifrados.

Cifragem modo Electronic Codebook - ECB


Decifrao modo Electronic Codebiik - ECB

A desvantagem deste mtodo que blocos de texto claro iguais produzem tambm blocos
cifrados iguais, ou seja, o mtodo no esconde o padro dos dados. Este modo de
operao no acrescenta nada confidencialidade proporcionada pela cifra. A comparao
do resultado da aplicao de uma cifra de bloco nos dados de uma imagem grfica, usando
diversos modos de operao, mostra de forma clara a contribuio confidencialidade
proporcionada pelos modos de operao.

Imagem original Imagem com ECB Imagem no ECB

A imagem da direita mostra o aspecto da imagem original cifrada com CBC, CTR ou
qualquer outro modo de operao mais seguro. Estes modos fazem com que a imagem
cifrada no guarde resqucios da imagem origianl porque introduzem distrbios (chamados
de rudo) de forma aleatria (ou randmica). Esta aparncia, no entanto, no garante que
o mtodo de cifragem aplicado seja seguro. Mesmo uma cifra de baixssima segurana
pode introduzir rudo.

O modo ECB tambm pode fazer com que protocolos sem proteo de integridade se
tornem ainda mais vulnerveis a ataques, principalmente a ataques de replay (veja em
Criptoanlise/Tipos de ataque).

CBC - Cipher-block chaining


No modo de operao cipher-block chaining - CBC (corrente de blocos), feita uma
operao XOR entre cada novo bloco de texto claro com o bloco cifrado obtido na etapa
imediatamente anterior. Desta forma, cada um dos blocos cifrados depende de todos os
blocos de texto claro anteriores.

Cifragem modo Cipher-block Chaining - CBC

Decifrao modo Cipher-block Chaining - CBC

O CBC um dos modos de operao mais utilizados. Sua maior desvantagem ser
sequencial. Como no pode ser usado em paralelo (pois sempre depende do resultado
anterior), seu uso dificulta o processamento de blocos em paralelo, o que melhoraria o
desempenho do mtodo.

PCBC - Propagating cipher-block chaining

O modo de operao propagating cipher-block chaining - PCBC (corrente de blocos em


propagao) foi projetado para propagar ou esparramar melhor que o CBC pequenas
alteraes no texto cifrado. usado quase que exclusivamente no Kerberos e no WASTE.
As rotinas de cifragem e decifrao so as seguintes:

O vetor de inicializao
CFB - Cipher feedback e OFB - output feedback

O modo Output Feedback (OFB) transforma uma cifra de bloco num gerador de nmeros
pseudo-aleatrios. O texto cifrado realimenta a cifra de bloco e este processo repetido
para produzir um fluxo de bits pseudo-randmicos. O fluxo de bits totalmente
determinado pelo algoritmo, pela chave, por um vetor de inicializao e pelo nmero de
bits que realimentam a cifra em cada etapa. O fluxo de bits pode ento servir para fazer
uma operao XOR com o texto claro afim de produzir o texto cifrado, transformando
efetivamente a cifra de bloco numa cifra de fluxo.

O modo Cipher Feedback (CFB) difere do OFB apenas porque o texto cifrado (depois da
etapa XOR) realimenta o mtodo ao invs da sada da cifra de bloco (antes da etapa XOR).
Uma cifra de bloco operando no modo CFB no pode ser usada como um gerador de
nmeros randmicos.

Com o cipher feedback um bloco de fluxo de chave calculado cifrando-se o bloco de texto
cifrado anterior.

Cifragem modo Cipher Feedback - CFB


Decifrao modo Cipher Feedback - CFB

O modo output feedback gera o prximo bloco de fluxo de chave cifrando o bloco de fluxo
de chave anterior:

Cifragem modo Output Feedback - OFC


Decifrao modo Output Feedback - OFB

Cifras de Feistel

O diagrama a seguir mostra a estrutura genrica de uma cifra de Feistel, um esquema


usado na grande maioria das cifras de bloco modernas. A entrada quebrada em dois
blocos de mesmo tamanho, geralmente chamados de esquerdo (L - left) e direito (R -
right), que so repetidamente ciclados atravs do algoritmo. Em cada ciclo, uma funo
hash (f) aplicada no bloco direito e na chave, e o resultado do hash usado para fazer
um XOR com o bloco esquerdo. Depois disto, os blocos so trocados. O resultado do XOR
torna-se o novo bloco direito e o bloco direito inalterado torna-se o bloco esquerdo. O
processo ento repetido algumas vezes.
Cifras de Feistel

A funo hash apenas um embaralhador de bits. A operao correta do algoritmo se


baseia apenas na propriedade determinstica da funo hash, ou seja, se processar
exatamente as mesmas entradas o resultado ser sempre o mesmo.

Na decifrao, o texto cifrado dividido nos blocos esquerdo e direito. A chave e o bloco
bloco direito so submetidos funo hash para se obter o mesmo resultado hash usado
no ltimo ciclo da cifragem (observe que o bloco direito permanece inalterado no ltimo
ciclo da cifragem). Depois disto feito um XOR entre o hash e o bloco esquerdo para
reverter o ltimo ciclo da cifragem e o processo repetido at que todos os ciclos tenham
sido revertidos.

A segurana de uma cifra de Feistel depende essencialmente do tamanho da chave e da


irreversibilidade da funo hash. A forma ideal quando o resultado da funo hash se
parece com bits randmicos, a partir dos quais no seja possvel obter qualquer
informao a respeito da(s) entrada(s).
CTR - Counter

Assim como o OFB, o modo de operao counter - CTR (contador) transforma a cifra de
bloco numa cifra de fluxo. Ele cria o prcimo bloco de fluxo de chave cifrando os valores
sucessivos de um "contador". O contador pode ser qualquer funo simples que produza
uma sequncia que, com certeza, s sr repetida depois de um longo intervalo de tempo.
Apesar dessa exigncia, os contadores simples so os mais utilizados. O modo CRT possui
caractersticas muito semelhantes s do OFB, porm permite um acesso randmico na
decifrao e comprovadamente seguro se a cifra de bloco tambm for segura.

Cifragem modo Counter - CTR

Decifrao modo Counter - CTR

Proteo de Integridade e propagao de erro

Os modos de operao das cifras de bloco mostrados acima no proporcionam qualquer


proteo de integridade. Isto significa que um atacante, apesar de no conhecer a chave,
pode modificar o fluxo de dados de acordo com as suas necessidades. Hoje em dia se sabe
que, sempre que houver uma cifragem de dados, tambm essencial que se adicione uma
proteo de integridade para garantir a segurana. Em operaes seguras, o VI (vetor de
inicializao) e o texto cifrado gerado atravs destes modos de operao deveriam ser
autenticados com um MAC que deve ser checado antes de se efetuar uma decifrao.

Antes desses fatos serem conhecidos, era comum a discusso da "propagao de erros"
dos modos de operao. Observava-se, por exemplo, que um erro em um dos blocos
cifrados transmitidos resultaria num erro em apenas um dos blocos de texto claro
recuperado se o modo fosse ECB, enquanto que, no modo CBC, o erro afetaria dois blocos.

Propagao de erro no modo CBC

Havia os que achavam que esta resilincia era desejvel devido aos erros randmicos,
como tambm havia os que argumentavam que isto aumentava as possibilidades de
atacantes modificarem mensagens em proveito prprio. Entretanto, quanto uma proteo
de integridade efetiva aplicada, tais erros fazem com que a mensagem seja (com grande
probabilidade) descartada.

O vetor de inicializao

Para finalizar, algumas consideraes sobre os vetores de inicializao. Com exceo do


modo de operao ECB, todos os outros requerem um vetor de inicializao - VI. Este
vetor uma espcie de "bloquinho" (dummy block) cuja nica funo inicializar o
processo para o primeiro bloco. Alm disso, este bloquinho tambm adiciona um elemento
randmico ao processo. O VI no precisa ser secreto, mas importante que o mesmo VI
no seja reutilizado com a mesma chave. Nos modos CBC e CFB, a reutilizao de VIs
deixa vazar algumas informaes. Nos modos OFB e CTR, VIs repetidos destroem
totalmente a segurana. J no modo CFB, o VI precisa ser gerado randomicamente e ser
mantido em segredo at que o primeiro bloco de texto claro esteja pronto para ser cifrado.

Fontes

Connected: An Internet Encyclopedia


<="" a="" target="_blank" class="blank" style="text-decoration: none; color:
rgb(25, 25, 112); padding-right: 12px; background:
url(http://www.numaboa.net.br/plugins/system/mfblank/icon_external_light.gif)
100% 50% no-repeat;">Block cipher modes of operation
Crypt FAQ

Atualizao Dom, 14.06.2009 17:04


O algoritmo DES
ilustrado

1
2
3
4
5

(22 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Dom, 28.08.2005 22:03

ndice do Artigo

O algoritmo DES ilustrado

O fim do reinado

Todas as pginas

Conhea todos os detalhes da origem e da concepo do DES, o primeiro exemplar da


modernidade. O artigo sobre criptologia "The DES Algorithm Illustrated" de Grabbe, do
qual tomei conhecimento atravs do meu amigo Dr. Csar Bravo, e "The Code Book" de
Singh serviram de base para esta srie sobre o DES.

O National Bureau of Standards paquera o Gnio da Garrafa

O algoritmo DES (Data Encryption Standard) j foi o algoritmo de encriptao mais usado
no mundo. Durante muitos anos, e para muitas pessoas, "fazer cdigo secreto" e DES
foram sinnimos.

Em 15 de Maio de 1973, durante o reinado de Richard Nixon, o National Bureau of


Standards (NBS) publicou uma notcia no Federal Register solicitando formalmente
propostas de algoritmos criptogrficos para proteger transmisses e armazenamento de
dados. A notcia explicava porque a encriptao era um assunto importante.

Nas ltimas dcadas houve um aumento acelerado no acervo e na comunicao de dados


digitais do governo, da indstria e de outras organizaes do setor privado. Com
frequncia, o contedo destes dados transmitidos e armazenados de alto valor e/ou alta
sensibilidade. Hoje em dia so comuns as transmisses de dados de transferncias de
fundos de alguns milhes de dlares (entre agncias bancrias), da compra ou venda de
aes (entre bolsas de valores e corretoras), de mandados de priso ou registros de priso
e condenao (entre agncias de servios policiais), de reservas e emisses de passagens
areas (entre companhias areas e agncias de turismo) e de registros de sade e dados
de pacientes (entre mdicos e centros de tratamento).

O crescente volume, valor e confidencialidade destes registros regularmente transmitidos e


armazenados por agncias comerciais e governamentais acabou destacando o problema e
a preocupao com a exposio destes dados ao acesso e uso no autorizados. O mau uso
pode ocorrer sob a forma de roubo ou desfalques de registros de dados representando
dinheiro, modificaes maliciosas de balanos comerciais ou a interceptao e mau uso de
informaes confidenciais sobre pessoas. A necessidade de proteo torna-se ento
aparente e urgente.

Reconhecidamente, a encriptao (tambm conhecida por embaralhamento, cifragem ou


transformao de privacidade) representa a nica maneira de proteger tais dados durante
uma transmisso e um modo de proteger o contedo de dados armazenados em vrios
meios, contanto que se possa criar e validar uma encriptao forte o suficiente e que seja
passvel de ser integrada num sistema. O National Bureau of Standards solicitava tcnicas
e algoritmos para a encriptao de dados por computador. Tambm solicitava tcnicas
para implementar a funo criptogrfica: gerar, avaliar e proteger chaves criptogrficas;
manter arquivos codificados com chaves que expiram; fazer atualizaes parciais em
arquivos encriptados e misturar dados encriptados com claros para permitir marcaes,
contagens, roteamentos, etc. O Bureau, no seu papel de estabelecer padres e de auxiliar
o governo e a indstria no acesso tecnologia, se encarregaria de avaliar os mtodos de
proteo para preparar as linhas de ao.

O NBS ficou esperando por respostas. Nenhuma apareceu at 6 de Agosto de 1974, trs
dias antes da renncia de Nixon, quando a IBM apresentou um algoritmo candidato que ela
havia desenvolvido internamente, denominado LUCIFER.

HORST FEISTEL e o algoritmo LUCIFER

Horst Feistel chegou como imigrante alemo aos Estados Unidos em 1934. Estava prestes
a se tornar um cidado estadunidense quando os EUA entraram na guerra. Para Feistel,
alemo, isto significou uma imediata priso domiciliar, a qual se estendeu at 1944.
Durante alguns anos depois do incidente, Feistel manteve-se distante da criptologia para
evitar levantar suspeitas das autoridades. Porm, quando estava no Cambridge Research
Center da Fora Area Americana, no resistiu e comeou a pesquisar cifras.
Imediatamente comeou a ter problemas com a National Security Agency, a NSA,
organizao responsvel pela segurana das comunicaes militares e governamentais,
que tambm se incumbe de interceptar e decifrar mensagens estrangeiras. At hoje, mais
que qualquer outra organizao do mundo, a NSA a que emprega o maior nmero de
matemticos, a que compra a maior quantidade de hardware e a que intercepta mais
mensagens. Pode ser considerada a lder mundial da bisbilhotice e da quebra de sigilo.

A NSA no se importava com o passado de Feistel, queria apenas ter o monoplio da


pesquisa em criptografia e parece que acabou conseguindo fazer com que o projeto de
pesquisa de Feistel fosse cancelado. Em 1960, o pesquisador, perseguido, foi para a Mitre
Corporation, mas a NSA continuou fazendo presso e forou-o a abandonar seu trabalho
pela segunda vez. Feistel acabou indo para o Thomas J. Watson Laboratory da IBM, perto
de Nova Iorque, onde, por alguns anos, conseguiu prosseguir com suas pesquisas sem ser
caado. Foi neste laboratrio que, no incio de 1970, ele desenvolveu o sistema Lucifer. E
foi este o sistema apresentado NBS.

Aps avaliar o algoritmo com a ajuda da National Security Agency (ironia do destino), o
NBS adotou o algoritmo LUCIFER com algumas modificaes sob a denominao de Data
Encryption Standard (DES) em 15 de Julho de 1977. O DES foi rapidamente adotado na
mdia no digital, como nas linhas telefnicas pblicas. Depois de alguns anos, a
International Flavors and Fragrances, por exemplo, estava utilizando o DES para proteger
as transmisses por telefone das suas preciosas frmulas ("With Data Encryption, Scents
Are Safe at IFF" na Computerworld 14, No. 21, 95 de 1980).

Neste meio tempo, a indstria bancria, a maior usuria de encriptao depois do governo,
adotou o DES como padro para o mercado bancrio atacadista. Os padres do mercado
atacadista da indstria bancria so estabelecidos pelo American National Standards
Institute (ANSI). A norma ANSI X3.92, adotada em 1980, especifica o uso do algoritmo
DES.

O fim do reinado do DES

O governo dos EUA, durante os cerca de 20 anos de reinado do DES, forava a indstria a
limitar sua criptografia ao DES (e at a formas mais fracas) sem revelar como esta cifra
era fcil de quebrar. A aceitao desta poltica, praticamente sem contestao, colocou
toda a infraestrutura de importncia crtica em risco.

Deep Crack

Para provar a falta de segurana do DES, a Electronic Frontier Foundation - EFF construiu o
primeiro hardware para crackear mensagens codificadas por este mtodo. Na quarta-feira,
17 de Julho de 1998, o EFF DES Cracker, construdo com menos de US$ 250.000, venceu
um concurso lanado pelo RSA Laboratory, o "DES Challenge II", e a equipe recebeu o
prmio de US$ 10.000. A mquina precisou de menos de 3 dias para completar o desafio,
ultrapassando a marca de 39 dias anteriormente conseguida atravs de um processamento
macio de vrias dezenas de milhares de computadores em rede.
Seis meses mais tarde, no dia 19 de Janeiro de 1999, uma tera-feira, aDistributed.Net,
uma coaliso mundial de entusiastas do computador, trabalhando com um EFF DES
Cracker e uma rede distribuda de cerca de 100.000 PCs na Internet, quebrou novamente
o recorde. Para vencer o concurso DES Challenge III da RSA precisou apenas de 22 horas
e 15 minutos. No andar trreo da Conferncia sobre Segurana de Dados & Expo da RSA,
um encontro sobre segurana de dados e criptografia de grande importncia que
realizado em San Jos, California, o sistema estava testando 245 bilhes de chaves por
segundo quando a chave correta foi encontrada.

Estava decretado o fim do DES e provada a incompetncia do governo estadunidense em


avaliar riscos e estabelecer polticas de segurana adequadas.

Interesse na computao distribuda?

Caso voc tenha interesse e queira participar dos mais diversos projetos de
computao distribuda, visite o site da distributed.net. O pessoal continua mandando bala
e os resultados so surpreendentes!

O software usado no Deep Crack

A EFF publicou um livro, "Cracking DES - Secrets of Encryption Research, Wiretap Politics &
Chip Design - How federal agencies subvert privacy", onde conta em detalhes todos os
aspectos deste projeto que bateu de frente com a administrao dos EUA. Nos captulos 5,
6 e 7 est o cdigo fonte do software usado. O governo norte-americano, apoiando-se na
lei que probe a exportao de software de criptografia, impediu que este material fosse
publicado na Internet em servidores que estivessem em territrio dos EUA. No tem
problema...

O Departamento de Engenharia Eltrica da Universidade Catlica de Leuven, na Blgica,


escaneou o material e o disponibilizou em EFF DES Cracker Source Code. Caso voc tenha
dificuldade em fazer o download, procure na seo de Downloads da Aldeia, na categoria
Criptologia / Criptoanlise. L tambm est a preciosidade.

Fontes

"The DES Algorithm Illustrated", de J. Orlin Grabbe. Grabbe o autor do


"International Financial Markets", internacionalmente conhecido como um
especialista em derivativos. Atua em criptografia, segurana de transaes
bancrias e dinheiro eletrnico. Sua home page est em orlingrabbe.org.
Simon Singh, autor de vrios livros de sucesso, tambm escreveu "The Code
Book", livro sobre criptologia rico em detalhes histricos e extremamente didtico.
Bruce Schneier, Applied Cryptography: John Wiley & Sons, 1994.
Cracking DES no site da EFF.

Atualizao Seg, 13.04.2009 13:42

O algoritmo DES
ilustrado II

1
2
3
4
5

(34 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Seg, 29.08.2005 01:53

ndice do Artigo

O algoritmo DES ilustrado II

DES em detalhes

Subchaves

Codificando blocos

Codificando blocos II

Codificando blocos III

Codificando blocos IV

Todas as pginas

No artigo "O algoritmo DES ilustrado" voc encontra um pouco da histria do DES. Neste
artigo, vamos fazer uma radiografia deste algoritmo, bit a bit

Exemplos preliminares de DES

O DES trabalha com bits ou nmeros binrios - os 0s e 1s dos computadores digitais. Cada
grupo de 4 bits corresponde a um valor hexadecimal, cuja base 16. O binrio "0001"
corresponde ao nmero hexadecimal "1", o binrio "1000" igual ao nmero hexadecimal
"8", "1001" igual ao hexadecimal "9", "1010" igual a o hexadecimal "A" e "1111"
igual ao hexadecimal "F".

O DES funciona encriptando grupos de 64 bits de mensagem, o que significa 16 nmeros


hexadecimais. Para realizar a encriptao, o DES utiliza "chaves" com comprimento
aparente de 16 nmeros hexadecimais, ou comprimento aparente de 64 bits. Entretanto,
no algoritmo DES, cada oitavo bit da chave ignorado, de modo que a chave acaba tendo
o comprimento de 56 bits. Mas, para todos os efeitos, o DES organizado baseando-se no
nmero redondo de 64 bits (16 dgitos hexadecimais).

Por exemplo, se tomarmos a mensagem clara hexadecimal 8787878787878787 e a


encriptarmos com a chave DES hexadecimal 0E329232EA6D0D73, obteremos o texto
cifrado hexadecimal 0000000000000000. Se o criptograma for decifrado com a mesma
chave secreta, o resultado ser o texto claro original 8787878787878787 hexadecimal.

Este exemplo limpo e metdico porque nosso texto claro tinha o comprimento de exatos
64 bits. O mesmo seria verdade caso nosso texto claro tivesse um comprimento mltiplo
de 64 bits. Mas a maioria das mensagens no cair nesta categoria. No sero um mltiplo
exato de 64 bits (isto , um mltiplo exato de 16 nmeros hexadecimais).

Por exemplo, considere a seguinte mensagem: "Criptologia sempre NumaBoa". Esta


mensagem clara possui 28 bytes (56 dgitos hexadecimais) de comprimento. Neste caso,
para encriptar a mensagem, seu comprimento precisa ser ajustado com a adio de alguns
bytes extras no final. Depois de decifrar a mensagem, estes bytes extras so descartados.
lgico que existem vrios esquemas diferentes para adicionar bytes. Aqui ns iremos
adicionar apenas zeros no final, de modo que a mensagem total seja um mltiplo de 8
bytes (ou 16 dgitos hexadecimais, ou 64 bits).

O texto claro "Criptologia sempre NumaBoa" , em hexadecimal,

43 72 69 70 74 6F 6C 6F
67 69 61 20 73 65 6D 70
72 65 20 4E 75 6D 61 42
6F 61 0D 0A

Note que os primeiros 54 dgitos hexadecimais representam a mensagem em Portugus,


enquanto que "0D" o hexadecimal para Retorno (Carriage Return) e "0A" o
hexadecimal para Quebra de Linha (Line Feed), indicando que o arquivo de mensagem
chegou ao fim. Completamos ento a mensagem com alguns zeros no final para obter um
total de 64 dgitos hexadecimais:

43 72 69 70 74 6F 6C 6F
67 69 61 20 73 65 6D 70
72 65 20 4E 75 6D 61 42
6F 61 0D 0A 00 00 00 00

Se cifrarmos agora a mensagem clara em blocos de 64 bits (16 dgitos hexadecimais),


usando a mesma chave DES "0E329232EA6D0D73", obtemos o seguinte texto cifrado:

A1 BF 4C 8C 1F 44 6A 4C
CA 4D E4 28 6E DE 99 50
F5 59 66 2B B5 09 D9 3C
4B A7 70 FA E2 4B B3 C2

Este o cdigo secreto que pode ser transmitido ou armazenado. Decifrando o texto
encriptado restaura a mensagem original "Criptologia sempre NumaBoa".

Fluxograma simplificado

Etapas do algoritmo DES

O DES em detalhes

Se voc tem algum conhecimento da criptografia clssica, no vai ser difcil perceber que o
DES utiliza somente cifras tradicionais como a substituio e a transposio. A diferena
que, com a ajuda do computador, no se trabalha mais com letras e sim com bits. Os
princpios, porm, so os mesmos.

O DES uma cifra de bloco, o que significa que atua sobre blocos de texto claro de
determinado tamanho (64 bits) e retorna blocos de texto cifrado do mesmo tamanho.
Portanto, o DES resulta numa permutao entre os 2 64 (leia como "2 elevado a 64")
arranjos possveis de 64 bits, cada um deles podendo ser 0 ou 1. Cada bloco de 64 bits
dividido em dois blocos de 32 bits, um sub-bloco esquerdo L e um sub-bloco direito R (esta
diviso usada apenas em certas operaes).

Exemplo: Seja M o texto claro da mensagem M = 0123456789ABCDEF, onde M est no


formato hexadecimal (base 16). Reescrevendo M em formato binrio obtemos o bloco de
texto de 64 bits:

M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010
1011 1100 1101 1110 1111
L = 0000 0001 0010 0011 0100 0101 0110 0111
R = 1000 1001 1010 1011 1100 1101 1110 1111

O primeiro bit de M "0" e o ltimo bit "1". Lemos da esquerda para a direita.

O DES atua sobre blocos de 64 bits usando tamanhos de chave de 56 bits. Na realidade, as
chaves so armazenadas com 64 bits mas, passando por um processo que "retira" 8 bits,
so reduzidas para 56 bits. Estes 8 bits esto presentes nas chaves para garantir a
integridade das mesmas, ou seja, o ltimo bit de cada um dos 8 bytes da chave um bit
verificador, chamado de bit de paridade. Bits de paridade indicam quantos bits esto
setados (tm valor 1) nos sete primeiros bits do byte. Quando este nmero for par (da
paridade), o ltimo bit recebe o valor 1, caso contrrio, recebe o valor 0. Por exemplo, o
byte 00010011 possui 2 bits setados nos primeiros sete bits, por isso o byte completado
com 1; o byte 00110100 possui trs bits setados nos primeiros sete bits, por isso o byte
completado com 0. Apesar dos bits de paridade serem retirados, nos clculos a seguir
vamos sempre numerar os bits de 1 a 64, indo da esquerda para a direita.

Exemplo: seja K a chave hexadecimal K = 133457799BBCDFF1. Isto nos d a chave


binria (substituindo 1 = 0001, 3 = 0011, etc agrupados em oito bits):

K = 00010011 00110100 01010111 01111001 10011011 10111100


11011111 11110001

O algoritmo DES usa vrios passos at obter o resultado final. Leia a seguir.

Passo 1: A partir da chave de 56 bits, criar 16 subchaves de 48 bits

A chave de 64 bits permutada de acordo com a tabela a seguir, PC-1. Observe que nesta
tabela os bits de paridade foram excludos (os bits 8, 16, 24, 32, 40, 48, 56 e 64 esto
ausentes) portanto, esta operao s efetuada depois da verificao de integridade da
chave. Como a primeira entrada da tabela "57", isto significa que o 57 bit da chave
original K torna-se o primeiro bit da chave permutada K+. O 49 bit da chave original
transforma-se no segundo bit da chave permutada. O 4 bit da chave original o ltimo
bit da chave permutada. Observe que apenas 56 bits da chave original aparecem na chave
permutada.

PC-1
---------------------------------------
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
---------------------------------------

Exemplo: Da chave original de 64 bits

K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001

obtemos a permutao de 56 bits

K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111

A seguir, dividimos esta chave em duas metades, esquerda C0 e direita D0, onde cada
metade tem 28 bits.

Exemplo: Da chave permutada K+ obtemos

C0 = 1111000 0110011 0010101 0101111

D0 = 0101010 1011001 1001111 0001111

Com C0 e D0 definidas, criamos dezesseis blocos Cn e Dn, 1<=n<=16. Cada par de


blocos Cn e Dn formado pelo par anterior Cn-1 e Dn-1, respectivamente para n = 1, 2, ...,
16, usando o seguinte esquema de "deslocamentos para a esquerda" ("left shift") no bloco
anterior. Para fazer um deslocamento esquerda, mova cada bit uma posio para a
esquerda, exceto o primeiro bit, o qual deslocado para o final do bloco.

Nmero de Iteraes Nmero de deslocamentos esquerda


----------------------------------------------------------
1 1
2 1
3 2
4 2
5 2
6 2
7 2
8 2
9 1
10 2
11 2
12 2
13 2
14 2
15 2
16 1
Isto significa que, por exemplo, C3 e D3 so obtidos de C2 e D2, respectivamente, com dois
deslocamentos esquerda, eC16 e D16 so obtidos de C15 e D15, respectivamente, com um
deslocamento esquerda. Em todos os casos, um nico deslocamento esquerda significa
uma rotao dos bits uma posio para a esquerda de modo que, aps um deslocamento
esquerda, os bits nas 28 posies sejam os bits que previamente estavam nas posies 2,
3, ..., 28, 1.

Exemplo: Do par original C0 e D0 obtemos:

C0 = 1111000011001100101010101111

D0 = 0101010101100110011110001111

C1 = 1110000110011001010101011111
D1 = 1010101011001100111100011110

C2 = 1100001100110010101010111111
D2 = 0101010110011001111000111101

C3 = 0000110011001010101011111111
D3 = 0101011001100111100011110101

C4 = 0011001100101010101111111100
D4 = 0101100110011110001111010101

C5 = 1100110010101010111111110000

D5 = 0110011001111000111101010101

C6 = 0011001010101011111111000011
D6 = 1001100111100011110101010101

C7 = 1100101010101111111100001100
D7 = 0110011110001111010101010110

C8 = 0010101010111111110000110011
D8 = 1001111000111101010101011001

C9 = 0101010101111111100001100110
D9 = 0011110001111010101010110011

C10 = 0101010111111110000110011001

D10 = 1111000111101010101011001100

C11 = 0101011111111000011001100101
D11 = 1100011110101010101100110011

C12 = 0101111111100001100110010101
D12 = 0001111010101010110011001111

C13 = 0111111110000110011001010101
D13 = 0111101010101011001100111100

C14 = 1111111000011001100101010101
D14 = 1110101010101100110011110001

C15 = 1111100001100110010101010111

D15 = 1010101010110011001111000111

C16 = 1111000011001100101010101111
D16 = 0101010101100110011110001111

Agora montamos as chaves Kn, para 1<=n<=16, aplicando a seguinte tabela de


permutao em cada um dos pares concatenados CnDn. Cada par possui 56 bits,
porm PC-2 usa apenas 48 deles.

PC-2
----------------------------------
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
----------------------------------

Portanto, o primeiro bit de Kn o 14 bit de CnDn, o segundo bit o 17, e assim


sucessivamente, terminando com o 48 bit de Kn sendo o 32 de CnDn.

Exemplo: Para a primeira chave temos

C1D1 = 1110000 1100110 0101010 1011111 1010101 0110011 0011110 0011110

a qual, aps aplicarmos a permutao PC-2 transforma-se em

K1 = 000110 110000 001011 101111 111111 000111 000001 110010

Para as outras chaves temos

K2 = 011110 011010 111011 011001 110110 111100 100111 100101


K3 = 010101 011111 110010 001010 010000 101100 111110 011001
K4 = 011100 101010 110111 010110 110110 110011 010100 011101
K5 = 011111 001110 110000 000111 111010 110101 001110 101000

K6 = 011000 111010 010100 111110 010100 000111 101100 101111


K7 = 111011 001000 010010 110111 111101 100001 100010 111100
K8 = 111101 111000 101000 111010 110000 010011 101111 111011
K9 = 111000 001101 101111 101011 111011 011110 011110 000001
K10 = 101100 011111 001101 000111 101110 100100 011001 001111

K11 = 001000 010101 111111 010011 110111 101101 001110 000110


K12 = 011101 010111 000111 110101 100101 000110 011111 101001
K13 = 100101 111100 010111 010001 111110 101011 101001 000001
K14 = 010111 110100 001110 110111 111100 101110 011100 111010
K15 = 101111 111001 000110 001101 001111 010011 111100 001010

K16 = 110010 110011 110110 001011 000011 100001 011111 110101

Em relao s subchaves s. Agora vamos dar uma olhada na mensagem.

Passo 2: Codificar cada bloco de 64 bits de dados

Existe uma permutao inicial IP dos 64 bits de dados da mensagem M. Isto rearranja os
bits de acordo com a seguinte tabela, onde as entradas da tabela mostram o novo arranjo
de bits a partir da ordenao inicial. O 58 bit de M torna-se o primeiro bit de IP. O 50 bit
de M passa a ser o segundo bit de IP. O 7 bit de M ser o ltimo bit de IP.

IP
-----------------------------------------
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
-----------------------------------------

Exemplo: Aplicando a permutao inicial ao bloco de texto M citado anteriormente


obtemos

M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110
1111

IP = 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010
1010

Aqui, o 58 bit de M "1" e se torna o primeiro bit de IP. O 50 bit de M tambm "1" e
torna-se o segundo bit de IP. O 7 bit de M "0", o qual se torna o ltimo bit de IP.

Em seguida dividimos o bloco permutado IP numa metade esquerda L0 de 32 bits e numa


metade direita R0 de 32 bits.

Exemplo: Obtemos L0 e R0 de IP

L0 = 1100 1100 0000 0000 1100 1100 1111 1111


R0 = 1111 0000 1010 1010 1111 0000 1010 1010

Agora prosseguimos com 16 iteraes, para 1<=n<=16, usando uma funo f que opera
em dois blocos - no bloco de dados de 32 bits e na chave Kn de 48 bits - para produzir um
bloco de 32 bits. Seja + uma adio XOR (adio bit-a-bit mdulo 2) ento,
para n variando de 1 a 16, calculamos

Ln = Rn-1
Rn = Ln-1 + f(Rn-1,Kn)

O resultado aparece num bloco final, para n = 16, de L16R16. Isto , em cada iterao,
pegamos os 32 bits da direita do resultado anterior e transformamo-os nos 32 bits da
esquerda do passo atual. Para os 32 bits da direita do passo atual ns fazemos um XOR
dos 32 bits da esquerda do passo anterior atravs do clculo de f.

Exemplo: Para n = 1 temos

K1 = 000110 110000 001011 101111 111111 000111 000001 110010


L1 = R0 = 1111 0000 1010 1010 1111 0000 1010 1010
R1 = L0 + f(R0,K1)

Falta explicar como funciona a funo f. Para calcular f, primeiramente expandimos cada
bloco Rn-1 de 32 bits para 48 bits (para se ajustar ao tamanho das sub-chaves). Isto
feito usando uma tabela de seleo que repete alguns dos bits em Rn-1. Chamaremos o
uso desta tabela de seleo de funo E. Portanto, E(Rn-1) tem um bloco de entrada de 32
bits e um bloco de sada de 48 bits.

Seja E tal que os 48 bits de sada, escritos em 8 blocos de 6 bits cada, sejam obtidos
atravs da seleo de bits nas suas entradas de acordo com a seguinte tabela:

Tabela E de Seleo de bits


----------------------------------
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
----------------------------------

Portanto, os primeiros trs bits de E(Rn-1) so os bits das posies 32, 1 e 2 de Rn-1,
enquanto que os dois ltimos bits de E(Rn-1) so os bits da posio 32 e 1.

Exemplo: Calculamos E(R0) de R0 da seguinte maneira:

R0 = 1111 0000 1010 1010 1111 0000 1010 1010

E(R0) = 011110 100001 010101 010101 011110 100001 010101 010101

(Note que cada bloco de 4 bits originais foi expandido para um bloco de 6 bits de sada).

A seguir, no clculo de f, fazemos um XOR na sada E(Rn-1) com a chave Kn. O motivo de
se utilizar o XOR lgico porque este reversvel. Se A xor B = C, ento A xor C = B e B
xor C = A. A reversibilidade importante para podermos reverter o processo quando
quisermos decifrar a mensagem cifrada.

Kn + E(Rn-1)

Exemplo: Para K1, E(R0), temos

K1 = 000110 110000 001011 101111 111111 000111 000001


110010
E(R0) = 011110 100001 010101 010101 011110 100001 010101
010101
K1+E(R0) = 011000 010001 011110 111010 100001 100110 010100
100111

Ainda no terminamos o clculo da funo f. At este ponto, expandimos Rn-1 de 32 para


48 bits, usando a tabela de seleo E, e XORamos o resultado com a chave Kn. Com este
processo obtivemos 48 bits ou oito grupos de 6 bits. Agora fazemos uma coisa meio
estranha com cada grupo de seis bits: usamo-os como endereos em tabelas denominadas
"S boxes", ou "caixas S". Cada grupo de seis bits nos dar um endereo numa
caixa S diferente. Um nmero de 4 bits estar localizado neste endereo. Este nmero de
4 bits ir substituir os 6 bits originais. O principal resultado que os oito grupos de 6 bits
so transformados em oito grupos de 4 bits (as sadas de 4 bits das caixas S) num total de
32 bits.

Escrevemos o resultado anterior, que tem 48 bits, na forma:

Kn + E(Rn-1) = B1B2B3B4B5B6B7B8

onde cada Bi um grupo de seis bits. Agora calculamos

S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8)

onde Si(Bi) se refere isima sada da caixa S.

Repetindo, cada uma das funes S1, S2, ..., S8, pega um bloco de 6 bits como entrada e
devolve um bloco de 4 bits como sada. A tabela para determinar S1 mostrada e
explicada abaixo:

Funo S1
0 1 2 3 64 7 58 9 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0
7
1 | 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3
8
2 | 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5
0
3 | 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6
13

Se S1 a funo definida nesta tabela e B um bloco de 6 bits, ento S1(B)


determinada da seguinte maneira: O primeiro e o ltimo bit de B representam um nmero
na base 2 com valor decimal entre 0 e 3 (ou binrio 00 a 11). Que este nmero seja i. Os
4 bits centrais de B representam um nmero na base 2 com valor decimal entre 0 e 15 (ou
binrio de 0000 a 1111). Que este nmero seja j. Procure o nmero na tabela localizado
na j-sima coluna e na i-sima linha. um nmero que varia de 0 a 15 e unicamente
representado por um bloco de 4 bits. Este bloco a sada S1(B) de S1 para a entrada B.
Por exemplo, para o bloco de entrada B = 011011, o primeiro bit "0" e o ltimo "1",
indicando a linha 01. Os quatro bits centrais so "1101". Este o equivalente binrio do
decimal 13, de modo que a coluna ser a de nmero 13. Na linha 1, coluna 13, aparece 5.
Isto determina a sada; 5 o binrio 0101, de modo que a sada 0101.
Portanto, S1(011011) = 0101.

As tabelas definindo as funes S2, ..., S8 so as seguintes:

Funo S2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5
10
1 | 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11
5
2 | 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2
15
3 | 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14
9

Funo S3
0 1 2 3 4 5
6 7 8 9 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2
8
1 | 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15
1
2 | 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14
7
3 | 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2
12

Funo S4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4
15
1 | 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14
9
2 | 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8
4
3 | 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2
14

Funo S5
0 1 2 3 4 65 7 8 9 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14
9
1 | 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8
6
2 | 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0
14
3 | 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5
3

Funo S6
0 1 2 3 46 57 8 9 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5
11
1 | 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3
8
2 | 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11
6
3 | 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8
13

Funo S7
0 1 2 3 46 57 8 9 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6
1
1 | 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8
6
2 | 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9
2
3 | 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3
12

Funo S8

0 1 2 3 4 5
7 8 69 10 11 12 13 14
15
| -----------------------------------------------------------
---
0 | 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12
7
1 | 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9
2
2 | 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5
8
3 | 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6
11

Exemplo: Para a primeira rodada, obtemos como sada das oito caixas S:

K1 + E(R0) = 011000 010001 011110 111010 100001 100110 010100 100111

S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8) = 0101 1100 1000 0010 1011 0101


1001 0111

O estgio final do clculo de f fazer uma permutao P da sada da caixa S para obter o
valor final de f:

f = P(S1(B1)S2(B2)...S8(B8))

A permutao P definida pela tabela a seguir. P devolve uma sada de 32 bits a partir de
uma entrada de 32 bits permutando os bits do bloco de entrada.

P
------------------
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
------------------

Exemplo: Da sada das oito caixas S

S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8) = 0101 1100 1000 0010 1011 0101


1001 0111

obtemos

f = 0010 0011 0100 1010 1010 1001 1011 1011

Agora possuimos todos os elementos necessrios para calcular R 1, ou


seja, R1 = L0 + f(R0 ,K1)

L0 = 1100 1100 0000 0000 1100 1100 1111 1111


f(R0, K1) + 0010 0011 0100 1010 1010 1001 1011 1011
R1 = 1110 1111 0100 1010 0110 0101 0100 0100

Na prxima rodada obteremos L2 = R1, que o sub-bloco que acabamos de calcular, e


depois precisamos calcular R2 =L1 + f(R1, K2) e assim sucessivamente por 16 rodadas. No
final da dcima sexta rodada temos os sub-blocos L16 e R16. Invertemos ento a ordem
dos dois sub-blocos num bloco de 64 bits, ou seja, R16L16, e aplicamos a permutao
finalIP-1 definida na seguinte tabela:

IP-1
---------------------------------------------
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
---------------------------------------------

isto a, a sada do algoritmo possui o bit 40 do bloco de pre-sada como seu primeiro bit,
bit 8 como seu segundo bit, e assim sucessivamente, at o bit 25 do bloco de pre-sada
como seu ltimo bit.

Exemplo: Se processarmos todos os 16 blocos usando o mtodo definido previamente,


obteremos, na 16 rodada

L16 = 0100 0011 0100 0010 0011 0010 0011 0100

R16 = 0000 1010 0100 1100 1101 1001 1001 0101

Invertendo a ordem destes dois blocos e aplicando a permutao final em

R16L16 = 00001010 01001100 11011001 10010101 01000011 01000010 00110010


00110100

IP-1 = 10000101 11101000 00010011 01010100 00001111 00001010 10110100


00000101

o que, em formato hexadecimal, 85E813540F0AB405.

Portanto, a forma cifrada de M = 0123456789ABCDEF C = 85E813540F0AB405.

Decifrar simplesmente o inverso de cifrar, seguindo os mesmos passos acima descritos


porm invertendo a ordem das sub-chaves aplicadas.

MODOS DE OPERAO DO DES

O algoritmo DES transforma um bloco de mensagem M de 64 bits num bloco cifrado C. Se


cada bloco de 64 bits for cifrado individualmente, ento o modo de encriptao
denominado Electronic Code Book (ECB). Existem outros dois modos de cifragem DES, os
modos Chain Block Coding (CBC) e Cipher Feedback (CFB), os quais tornam cada bloco
cifrado dependente de todos os outros blocos de mensagem anteriores atravs de uma
operao inicial de XOR.

QUEBRANDO O DES

Antes que o DES fosse adotado como padro nacional (estadunidense), durante o perodo
em que o NBS estava solicitando comentrios sobre o algoritmo proposto, os criadores da
criptografia de chave pblica, Martin Hellman e Whitfield Diffie, registraram algumas
objees quanto ao uso do DES como algoritmo de encriptao. Hellman escreveu: "Whit
Diffie e eu ficamos preocupados com o fato de que o padro de encriptao de dados
proposto, enquanto provavelmente seguro em relao a assaltos comerciais, pode ser
extremamente vulnervel a ataques efetuados por uma organizao de inteligncia" (carta
ao NBS, 22 de Outubro de 1975).

Diffie e Hellman planejaram ento um ataque de "fora bruta" ao DES ("fora bruta"
significa aplicar sequencialmente as 256 chaves possveis at encontrar a chave correta que
decifra a mensagem cifrada). Propuseram o uso especfico de "computadores paralelos
usando um milho de chips para testar um milho de chaves cada um" por segundo e
estimaram o custo de uma mquina deste tipo em US$ 20 milhes.

Um salto para 1998. Sob a direo de John Gilmore do EFF, uma equipe gastou menos do
que US$ 250.000 para construir uma mquina que analisou todo o espao de chaves de 56
bits do DES e precisou, em mdia, 4.5 dias para completar a tarefa. Em 17 de Julho de
1998 eles anunciaram que haviam quebrado uma chave de 56 bits em 46 horas. O
computador, chamado de Deep Crack, usa 27 placas, cada uma com 64 chips, e capaz de
testar 90 bilhes de chaves por segundo.

Apesar disso, em 8 de Junho de 1998, Robert Litt, principal representante procurador geral
do Departamento de Justia dos Estados Unidos, negou que fosse possvel o FBI quebrar o
DES: "Deixe-me colocar o problema tcnico no contexto: foram precisos 14.000
computadores Pentium trabalhando durante quatro meses para decifrar uma nica
mensagem... No estamos falando apenas do FBI e da NSA [precisando de um poder de
processamento macio], estamos falando a respeito de cada departamento de polcia."

Respondeu o especialista em criptografia Bruce Schneier: "... o FBI ou incompetente ou


est mentindo, ou ambos". Schneier continua: "A nica soluo neste caso pegar um
algoritmo com uma chave maior; no existe silcio suficiente na galxia ou tempo
suficiente antes do sol se apagar para quebrar com fora bruta o triple-DES" (Crypto-
Gram, Counterpane Systems, 15 de Agosto de 1998).

TRIPLE-DES

O triple-DES apenas o DES com duas chaves de 56 bits aplicadas. Dada uma mensagem
em texto claro, a primeira chave usada para cifrar a mensagem em DES. A segunda
chave usada para decifrar o DES da mensagem cifrada. Como a segunda chave no a
correta para decifrar, esta decifrao apenas embaralha ainda mais os dados. A mensagem
duplamente embaralhada , ento, cifrada novamente com a primeira chave para se obter
o criptograma final. Este procedimento em trs etapas chamado de triple-DES ou triplo
DES.

Triple-DES apenas o DES efetuado trs vezes com duas chaves usadas numa
determinada ordem. O triple-DES tambm pode ser feito usando-se trs chaves diferentes,
ao invs de apenas duas. No primeiro caso, o espao das chaves de 2 112, no segundo,
de 2168.

Agradecimentos

Agradeo ao daimao por ter me alertado sobre os bits de paridade da chave.


Agradeo ao Luis Cludio por ter me alertado a respeito do espao das chaves.

Texto publicado pela primeira vez na Aldeia em 5 de Agosto de 2003.

Atualizao Seg, 20.04.2009 13:37

A segurana
do DES

1
2
3
4
5

(4 votos, mdia 3.3 de 5)


Escrito por vov Vicki

Sex, 12.10.2007 09:12

ndice do Artigo

A segurana do DES

Comprimento da chave

Todas as pginas

A enorme insistncia do governo dos EUA para que o DES fosse adotado de forma
abrangente na segurana de dados levantou uma srie de suspeitas. Apesar das repetidas
declaraes oficiais de que o DES era um algoritmo criptogrfico "inquebrvel", a
desconfiana s aumentou e os questionamentos se tornaram cada vez mais contundentes.

A segurana do DES

Para acompanhar melhor este texto sobre a segurana do DES, leia O algoritmo DES
ilustrado II.
O DES foi adotado oficialmente como padro de encriptao nos EUA em julho de 1977. A
segurana do algoritmo foi questionada por muitos especialistas. Sempre houve muita
especulao sobre o comprimento da chave, o nmero de iteraes e a estrutura das
caixas S (S-boxes). As caixas S, com todas aquelas constantes sem uma razo aparente
para a disposio usada, eram particularmente misteriosas. Algumas pessoas temiam que
a NSA (National Security Agency) tivesse colocado um "alapo" (trap door) no algoritmo
para que a agncia tivesse um meio fcil de decifrar mensagens.

O assunto foi investigado em 1978 pelo Comit de Inteligncia do Senado dos EUA. Tendo
acesso total aos mais altos segredos, o comit elaborou um relatrio que foi considerado
matria classificada. O resumo deste relatrio, no entanto, foi liberado e revela que a NSA
foi exonerada de qualquer envolvimento imprprio no projeto do algoritmo. "Foi dito que a
IBM foi convencida que uma chave mais curta era adequada, que a NSA deu uma
assistncia indireta no desenvolvimento das estruturas das caixas S e de que havia
certificado que a verso final do algoritmo DES, de acordo com o melhor do seu
conhecimento, no apresentava qualquer fraqueza estatstica ou matemtica" [1]. No
entanto, como o governo dos EUA nunca tornou pblicos os detalhes da investigao,
muitos no ficaram convencidos.

Tuchman e Meyer, dois dos criptgrafos da equipe da IBM que desenvolveu o DES,
afirmaram que a NSA no alterou o projeto [2]:

Sua atitude bsica era procurar funes fortes de substituio, permutao e chaves... A
IBM classificou como segredo as anotaes sobre os critrios de seleo a pedido da NSA...
Tuchman declarou: "A NSA nos disse que, inadvertidamente, tnhamos reinventado alguns
dos segredos mais bem guardados que ela usava para criar seus prprios algoritmos".

Apesar das vrias explicaes e declaraes, a questo ainda perdurou por muitos anos.
Em 1992, na National Computer Security Conference, a NSA voltou a afirmar que de forma
alguma havia interferido no projeto do DES e que a investigao feita pelo Senado em
1978 respondia todas as questes. Talvez sim, talvez no... o fato que os criptoanalistas
continuaram a analisar o algoritmo procura de possveis "armadilhas" e fraquezas. As
mais importantes so citadas neste artigo.

Chaves fracas

Devido ao modo como a chave inicial modificada para se obter a sub-chave para cada
rodada do algoritmo, certas chaves iniciais so chaves fracas [3,4].

O valor inicial dividido em duas partes e cada metade deslocada de forma


independente. Se todos os bits em cada metade forem 0 ou 1, ento a chave usada em
qualquer ciclo do algoritmo a mesma para todos os ciclos do algoritmo. Isto pode ocorrer
se a chave for constituda apenas por 1s, apenas por 0s ou se uma das metades tiver
apenas 1s e a outra apenas 0s. Alm disto, duas das chaves fracas possuem outras
propriedades que as tornam ainda menos seguras [4].

As chaves fracas so mostradas a seguir na notao hexadecimal (lembre-se de que cada


oitavo bit um bit de paridade e que a permutao inicial embaralha discretamente a
ordem da chave).

---------------------------------------------------
VALOR DA CHAVE FRACA CHAVE OBTIDA
---------------------------------------------------
0101 0101 0101 0101 0000000 0000000
FEFE FEFE FEFE FEFE FFFFFFF FFFFFFF
1F1F 1F1F 1F1F 1F1F 0000000 FFFFFFF
E0E0 E0E0 E0E0 E0E0 FFFFFFF 0000000

Alm das chaves fracas, existem pares de chaves que encriptam o texto claro em textos
cifrados idnticos. Em outras palavras: uma das chaves do par pode decifrar um texto
encriptado pela outra chave do par. Isto tambm se deve ao modo como o DES gera as
sub-chaves - ao invs de gerar 16 sub-chaves diferentes, estas chaves geram apenas duas
sub-chaves diferentes e cada uma delas usada oito vezes no algoritmo. Estas chaves so
conhecidas como chaves semi-fracas:

--------------------
CHAVES SEMI- FRACAS
--------------------
01FE 01FE 01FE 01FE
1FE0 1FE0 1FE0 1FE0
01E0 01E0 01E0 01E0
1FFE 1FFE 1FFE 1FFE
011F 011F 011F 011F
E0FE E0FE E0FE E0FE

FE01 FE01 FE01 FE01


E01F E01F E01F E01F
E001 E001 E001 E001
FE1F FE1F FE1F FE1F
1F01 1F01 1F01 1F01
FEE0 FEE0 FEE0 FEE0

Tambm existem chaves que produzem apenas quatro sub-chaves diferentes, cada uma
delas usada quatro vezes no algoritmo. So as seguintes:

CHAVES POSSIVELMENTE FRACAS


-----------------------------------------------------
1F1F0101 0E0E0101 E00101E0 F10101F1
011F1F01 010E0E01 FE1F01E0 FE0E01F1
1F01011F 0E01010E FE011FE0 FE010EF1
01011F1F 01010E0E E01F1FE0 F10E0EF1
FE0101FE FE0101FE
E0E00101 F1F10101 E01F01FE F10E01FE
FEFE0101 FEFE0101 E0011FFE F1010EFE
FEE01F01 FEF10E01 FE1F1FFE FE0E0EFE
E0FE011F F1FE0E01
FEE0011F FEF1010E 1FFE01E0 0EFE01F1
E0FE011F F1FE010E 01FE1FE0 01FE0EF1
E0E01F1F F1F10E0E 1FE001FE 0EF101FE
FEFE1F1F FEFE0E0E 01E01FFE 01F10EFE

FE1FE001 FE0EF101 0101E0E0 0101F1F1


E01FFE01 F10EFE01 1F1FE0E0 0E0EF1F1
FE01E01F FE01F10E 1F01FEE0 0E01FEF1
E001FE1F F101FE0E 011FFEE0 010EFEF1
1F01E0FE 0E01F1FE
01E0E001 01F1F101 011FE0FE 010EF1FE
1FFEE001 0EFEF001 0101FEFE 0101FEFE
1FE0FE01 0EF1FE01 1F1FFEFE 0E0EFEFE
01FEFE01 01FEFE01
1FE0E01F 0EF1F10E FEFEE0E0 FEFEF1F1
01FEE01F 01FEF10E E0FEFEE0 F1FEFEF1
01E0FE1F 01F1FE0E FEE0E0FE FEF1F1FE
1FFEFE1F 0EFEFE0E E0E0FEFE F1F1FEFE

Antes de condenar o DES por ter chaves fracas, bom lembrar que esta lista de 64 chaves
insignificante quando comparada com o conjunto de mais de 72 quatrilhes de chaves
possveis (para ser mais exata, so 72.057.594.037.927.936). Se escolhermos uma chave
ao acaso, mnima a possibilidade de pegar justamente uma das fracas. Bem, e se nos
entregarmos parania, basta checar se a chave escolhida uma das apontadas

O comprimento da chave

O DES foi o resultado de um aperfeioamento do algoritmo Lucifer criado por Horst Feistel
na IBM. O tamanho da chave no Lucifer de 128 bits e, no DES, foi reduzido para 56 bits.
Foi uma gritaria geral. Muitos criptgrafos estrilaram usando o argumento de que a
reduo do tamanho da chave aumentava a possibilidade de ataques de fora bruta terem
sucesso.

Em 1979, Diffie e Hellman declararam que um computador paralelo especialmente


construdo para quebrar o DES poderia recuperar a chave em um dia e custaria algo em
torno de US$20 milhes. Em 1984 Diffie revisou a estimativa - a chave poderia ser obtida
em dois dias e o custo seria de US$50 milhes [5]. Diffie e Hellman argumentaram
posteriormente que isto estaria fora do alcance de todos, exceto organizaes como a NSA,
mas que, ao redor de 1990, o DES seria totalmente inseguro [6]. Parece que os maiores
reclames foram Diffie e Hellman. Na poca, foram considerados lunticos insatisfeitos,
mas a sequncia dos acontecimentos mostrou que eram apenas crticos gabaritados
alertando sobre as graves consequncias de colocar todas as fichas num sistema que havia
sido adequado capacidade de computao existente h alguns anos e que evolua a
passos largos.

Enquanto a discusso prosseguia, as implementaes do DES em hardware chegavam


perto de um milho de encriptaes por segundo, ou seja, o que a mquina especial de
Diffie e Hellman requeria. Em 1984, chips especiais que implementavam o DES j
conseguiam realizar 256.000 encriptaes por segundo. Trs anos mais tarde, em 1987, o
nmero de encriptaes por segundo j havia dobrado e mais de um milho de chaves por
segundo podiam ser testadas... a coisa estava ficando preta.

Nesta poca ningum admitia estar construindo um "crackeador" de DES, mas h um bom
argumento para supor sua existncia. Numa conferncia realizada em 1993, Martin
Hellman falou sobre a possibilidade da existncia de uma mquina para ataques de fora
bruta [7]:

Apesar do custo de uma mquina para realizar pesquisas no DES usando a fora bruta ter
cado para menos de US$10 milhes e rplicas poderem ser construdas por menos de
US$1 milho, duvido que qualquer entidade comercial tenha ou venha a construir uma
dessas mquinas no futuro prximo. Esta soma em dinheiro exigiria um conluio de alto
nvel entre muitas pessoas e, como nenhuma empresa pode apoiar oficialmente tal
espionagem, isto seria muito difcil de ser feito. Alm do mais, mesmo com a mquina
construda, ainda assim seria preciso interceptar os canais de comunicao de interesse.

A situao muito diferente com a NSA e suas equivalentes estrangeiras, particularmente


a francesa Direction Generale de la Securite Exterieure (DGSE), que tem se vangloriado
abertamente de estar usando inteligncia comercial para ajudar empresas francesas a
vencer guerras de licitaes para obter grandes contratos. Elas so encorajadas legalmente
a fazer espionagem, tm grandes oramentos e rotineiramente interceptam imensos
volumes de dados.

Se elas construram uma mquina de fora bruta ou alguma coisa mais esperta, no sei
dizer. Mas ficaria surpreso se elas no possussem algum tipo de mquina especial para
quebrar o DES.

Nos anos de 1980, a empresa Robotron da Alemanha Ocidental fabricou centenas de


milhares de chips DES para a Unio Sovitica. Alegou que se tratava de chips cifradores
para clones do IBM-PC XT. Isto leva a duas implicaes: a Unio Sovitica usou estes chips
para construir um "crackeador" de DES ou a Unio Sovitica usava o DES para encriptar
suas prprias comunicaes - o que significa que a NSA construiu um.

O nmero de iteraes

Porque 16 rodadas? Porque no 32? Alan Konheim mostrou que aps oito iteraes o texto
cifrado essencialmente uma funo randmica de cada um dos bits do texto claro e de
cada bit da chave [8]. Porque, ento, o algoritmo nopra depois de oito rodadas?

Com o passar dos anos, vrios ataques tiveram sucesso em variaes do DES com um
nmero reduzido de rodadas. O DES com trs ou quatro rodadas foi quebrado com
facilidade em 1982. Alguns anos mais tarde, em 1985, o DES com seis rodadas tambm
caiu. A explicao para tais fatos chegou em 1990, quando Biham e Shamir tornaram
pblico um novo mtodo de criptoanlise: a criptoanlise diferencial. De acordo com este
novo mtodo, o DES com menos de 16 rodadas podia ser quebrado com um ataque de
texto claro conhecido com mais eficincia do que com um ataque de fora bruta.

A estrutura das caixas de substituio (S-boxes)

Alm de ser acusada de reduzir o tamanho da chave, a NSA tambm foi acusada de alterar
o contedo das caixas S. Quando pressionada para explicar a estrutura das caixas S, a
NSA alegou que estes elementos do algoritmo eram "sensveis" e que no seriam tornados
pblicos. Diante desta recusa fica fcil entender a preocupao de muitos criptgrafos
quanto existncia de uma trap door e o grande nmero de estudos e anlises focando as
caixas S.
No final de 1976, a NSA revelou vrios critrios aplicados s caixas S [9]:

Nenhuma caixa S uma funo afim linear da sua entrada (input). Em outras palavras,
no h um sistema de equaes lineares que possa expressar quatro bits de sada em
termos dos seis bits de entrada.

A alterao de um bit na entrada de uma caixa S resulta na alterao de pelo menos dois
bits na sada. Isto , as caixas S foram projetadas para maximizar o volume de difuso.

As caixas S foram escolhidas para minimizar a diferena entre o nmero de 1s e 0s quando


qualquer um dos bit de entrada for mantido constante. Isto , se voc mantiver um
determinado bit constante e alterar os outros cinco bits, a sada no deveria ter um
nmero desproporcionalmente grande de 1s ou 0s.

Ao invs de acalmar o povo, estas revelaes s fizeram aumentar as suspeitas e o debate


em torno do assunto. O que no se sabia nesta poca que os critrios usados pela NSA
foram utilizados apenas para tornar o algoritmo resistente a uma criptoanlise diferencial,
mtodo que s seria publicado por Biham e Shamir depois de mais de 10 anos da adoo
do DES. No foi a toa que a NSA se fechou em copas

Fontes

Bruce Schneier, Applied Cryptography: John Wiley & Sons, 1994.


Cracking DES no site da EFF.
[1] D.W.Davies e W.L.Price, Security for Computer Networks, segunda edio,
Nova Iorque: John Wiley & Sons, 1989.
[2] M.S.Conn, letter to Joe Abernathy, National Security Agency, Ser: Q43-111-92,
10 Jun 1992.
[3] D.W.Davies, "Some Regular Properties of the DES", Advances in Cryptology:
Proceedings of Crypto 82, Plenum Press, 1983, p.89-96.
[4] M.E.Hellman, R.C.Merkle, R.Schroeppel, L.Washington, W.Diffie, S.Pohling e
P.Schweitzer, "Results of an Initial Attempt to Cryptanalyze the NBS Data
Encryption Standard", Technical Report SEL 76-042, Information Systems Lab.,
Department of Electrical Engeneering, Stanford University, 1976.
[5] W.Diffie, "Cryptographic Technology: Fifteen Year Forecast", BNR Inc., Jan
1981.
[6] M.E.Hellman, "DES Will Be Totally Insecure Within Ten Years", IEEE Spectrum,
v. 16, n. 7, Jul 1979. p. 32-39.
[7] M.E.Hellman, Comments at 1993 RSA Data Security conference, 14-15 Jan
1993.
[8] A.G.Konheim, Cryptography: A Primer, New York: John Wiley & Sons, 1981.
[9] D.K.Branstead, J.Gait e S.Katze, Report on the Workshop on Cryptography in
Support of Computer Security, NBSIR 77-1291, National Bureau of Standards, Set
21-22, 1976, Setembro 1977.

Atualizao Ter, 21.04.2009 20:51


DES
interativo
*

1
2
3
4
5

(6 votos, mdia 4.2 de 5)

Escrito por vov Vicki

Ter, 04.10.2005 22:26

O algoritmo DES pode ser facilmente implementado em vrias linguagens de programao, inclusive em JavaScript.
Ento vocs acham que eu iria perder esta oportunidade? Mas, antes de fritar meus neurnios para escrever o cdigo

fonte, resolvi dar uma espiada na net. Foi quando encontrei um script prontinho para ser usado

Confira a cifra

O script, escrito em Julho de 2001, da autoria de Paul Tero. A performance foi otimizada por Michael Hayworthpara
permitir o uso de blocos grandes.

ECB o acrnimo do modo de operao electronic codebook, o mais simples de todos. O vetor de inicializao s
altera o resultado da cifragem quando se usa o modo de operao cipher-block chaining - CBC. Se a chave tiver oito
caracteres (64 bits), a mensagem ser cifrada em DES; se tiver 24 caracteres (192 bits), a mesagem ser cifrada
em DES triplo (3DES ou triple DES).

Texto
claro

esta a chave 24 bytes!


Chave Vetor de inicializao
<="" td="" style="border: 1px solid rgb(102, 102, 102);
color: navy; cursor: pointer; font-size: 12px; text-align:
center; background-color: rgb(240, 240, 240);">

Texto
cifrado

Hexadecimal

Texto
Decifrado

Atualizao Ter, 14.04.2009 14:47

O algoritmo IDEA
ilustrado
1
2
3
4
5

(21 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Dom, 11.09.2005 17:16

ndice do Artigo

O algoritmo IDEA ilustrado

Chave e Decifrao

Programao

Programao II

Programao III

Todas as pginas

O algoritmo IDEA (International Data Encryption Algorithm) foi desenvolvido em 1990, na


ETH Zurique - Sua, por James L. Massey e Xueija Lai. O IDEA um algoritmo simtrico
que utiliza uma chave de 128 bits.

Originalmente, o IDEA foi chamado de PES (Proposed Encryption Standard). Um ano aps
o seu lanamento, em 1991, Biham e Shamir demonstraram que o algoritmo era
susceptvel criptoanlise diferencial e os autores fizeram modificaes substanciais.
Chamaram o novo algoritmo de IPES (Improved Proposed Encryption Standard). Em
1992, o IPES foi rebatizado transformando-se no IDEA, um dos melhores algoritmos de
bloco. O proprietrio da patente deste mtodo a ASCOM. Visando sua disseminao, a
ASCOM autorizou o uso no comercial do algoritmo.

O algoritmo IDEA

O algoritmo usado tanto para a cifragem quanto para a decifrao e, como outras cifras
de bloco, usa a confuso e a difuso (maiores detalhes na Teoria da Informao) para
produzir o texto cifrado. A filosofia que norteou este projeto foi "misturar operaes de
grupos algbricos diferentes". O IDEA possui trs grupos algbricos cujas operaes so
misturadas. Estas operaes, que podem ser facilmente implementadas via hardware
e/ou software, so:

XOR
Adio mdulo 216 (adio ignorando qualquer overflow)
Multiplicao mdulo 216+1 (multiplicao ignorando qualquer overflow)

Todas estas operaes so feitas com blocos de 16 bits, o que faz com que este algoritmo
tambm seja eficiente em processadores de 16 bits.

Descrio do IDEA
Fluxograma do algoritmo IDEA

Na cifragem, o texto claro dividido em blocos de 64 bits. Cada um destes blocos


dividido em quatro sub-blocos de 16 bits: B1, B2, B3 e B4. Estes quatro sub-blocos so a
entrada da primeira volta ou rodada do algoritmo. No total, so oito rodadas. Em cada
rodada, os quatro sub-blocos so submetidos operao lgica XOR, somados e
multiplicados entre si e com seis sub-blocos de 16 bits oriundos da chave (K1, K2, K3,
K4, K5 e K6). Entre cada rodada, o segundo e o terceiro sub-bloco so trocados.

Em cada rodada, a sequncia de eventos a seguinte (acompanhe no fluxograma


acima):

1. Multiplicao de B1 pelo primeiro sub-bloco da chave K1.


2. Adio de B2 com o segundo sub-bloco da chave K2.
3. Adio de B3 com o terceiro sub-bloco da chave K3.
4. Multiplicao de B4 pelo quarto sub-bloco da chave K4.
5. XOR entre os resultados obtidos nas etapas (1) e (3).
6. XOR entre s resultados obtidos nas etapas (2) e (4).
7. Multiplicao do resultado da etapa (5) pelo quinto sub-bloco da chave K5
8. Adio dos resultados das etapas (6) e (7).
9. Multiplicao do resultado da etapa (8) pelo sexto sub-bloco da chave K6.
10. Adio dos resultados das etapas (7) e (9).
11. XOR entre os resultados obtidos nas etapas (1) e (9).
12. XOR entre os resultados obtidos nas etapas (3) e (9).
13. XOR entre os resultados obtidos nas etapas (2) e (10).
14. XOR entre os resultados obtidos nas etapas (4) e (10).

A sada da rodada so os quatro sub-blocos resultantes das etapas (11), (13), (12) e
(14). Exceto na ltima rodada, os sub-blocos (13) e (12) trocam de lugar e esta nova
sequncia de sub-blocos ser a entrada para a prxima rodada.

Aps a oitava rodada, a sada final transformada com:

1. Multiplicao de B1 pelo primeiro sub-bloco da chave K1.


2. Adio de B2 com o segundo sub-bloco da chave K2.
3. Adio de B3 com o terceiro sub-bloco da chave K3.
4. Multiplicao de B4 pelo quarto sub-bloco da chave K4.

No final, os quatro sub-blocos obtidos (G1, G2, G3 e G4) so concatenados para produzir
o texto cifrado.

Sub-blocos da chave

A obteno de sub-blocos da chave simples. O algoritmo usa 52 destes sub-blocos -


seis em cada uma das oito rodadas, mais quatro na ltima transformao. Inicialmente, a
chave de 128 bits dividida em oito sub-blocos de 16 bits. Estes so os primeiros sub-
blocos da chave: seis sero usados na primeira rodada e os outros dois sero K1 e K2 da
segunda rodada. Depois disto, os bits da chave so deslocados 25 posies para a
esquerda e a nova chave novamente dividida em oito sub-blocos, dos quais quatro
sero usados na segunda rodada e quatro na terceira. Este processo continua enquanto
sub-blocos da chave forem necessrios para completar o algoritmo.

A decifrao do IDEA

O processo da decifrao o mesmo da cifragem, com exceo dos sub-blocos da chave


que precisam ser revertidos. Na decifrao, os sub-blocos da chave so o inverso aditivo
ou o inverso multiplicativo dos sub-blocos da chave usados na cifragem. preciso
salientar que, no caso do IDEA, o inverso multiplicativo de 0 0. Estes clculos so um
pouco trabalhosos, mas, em compensao, s precisam ser realizados uma vez para cada
um dos sub-blocos. A tabela abaixo mostra os sub-blocos da chave na cifragem e os sub-
blocos da chave correspondentes na decifrao:

RODADA SUB-BLOCOS NA CIFRAGEM


------ ---------------------------------
1 K1(1) K2(1) K3(1) K4(1) K5(1) K6(1)
2 K1(2) K2(2) K3(2) K4(2) K5(2) K6(2)
3 K1(3) K2(3) K3(3) K4(3) K5(3) K6(3)
4 K1(4) K2(4) K3(4) K4(4) K5(4) K6(4)
5 K1(5) K2(5) K3(5) K4(5) K5(5) K6(5)
6 K1(6) K2(6) K3(6) K4(6) K5(6) K6(6)
7 K1(7) K2(7) K3(7) K4(7) K5(7) K6(7)
8 K1(8) K2(8) K3(8) K4(8) K5(8) K6(8)
sada K1(9) K2(9) K3(9) K4(9)

RODADA SUB-BLOCOS NA DECIFRAO


------ --------------------------------------------
1 K1(9)-1 -K2(9) -K3(9) K4(9)-1 K5(8) K6(8)
2 K1(8)-1 -K2(8) -K3(8) K4(8)-1 K5(7) K6(7)
3 K1(7)-1 -K2(7) -K3(7) K4(7)-1 K5(6) K6(6)
4 K1(6)-1 -K2(6) -K3(6) K4(6)-1 K5(5) K6(5)
5 K1(5)-1 -K2(5) -K3(5) K4(5)-1 K5(4) K6(4)
6 K1(4)-1 -K2(4) -K3(4) K4(4)-1 K5(3) K6(3)
7 K1(3)-1 -K2(3) -K3(3) K4(3)-1 K5(2) K6(2)
8 K1(2)-1 -K2(2) -K3(2) K4(2)-1 K5(1) K6(1)
sada K1(1)-1 -K2(1) -K3(1) K4(1)-1

A velocidade do IDEA

A velocidade de cifragem e decifrao do IDEA praticamente a mesma do DES. Devido


aos clculos suplementares nos sub-blocos da chave, a decifrao um pouco mais lenta
do que a cifragem.

Criptoanlise
O comprimento da chave do IDEA de 128 bits. Um ataque de fora bruta dos mais
eficientes precisaria fazer 2128 (ou 1036) cifragens para recuperar a chave. Se
dispusssemos de um bilho de chips que testassem um bilho de chaves por segundo
cada um, ainda assim seriam necessrios 1013 anos para se realizar a tarefa! Talvez a
fora bruta no seja o melhor mtodo para se quebrar o IDEA...

O algoritmo IDEA imune criptoanlise diferencial e, de acordo com Eli Biham, seu
ataque criptoanaltico de chave relacionada tambm no funcionou contra o IDEA.
Existem alguns textos que "descobriram" uma classe de chaves fracas. Estas chaves
fracas so diferentes das chamadas chaves fracas do DES, onde a funo de cifragem
auto-inversa. So consideradas fracas porque, se forem utilizadas, um atacante pode
identific-las com facilidade atravs de um ataque de texto claro escolhido. Por exemplo,
a chave

0000 0000 0F00 0000 0000 000F FFFF F000

uma chave fraca, sendo que os F podem ser substitudos por qualquer dgito
hexadecimal. Este no um problema crucial porque a chance de acidentalmente gerar
uma chave deste tipo extremamente pequena, da ordem de 2-96.

Programando o IDEA

A seguir, transcrevo o texto HOWTO: INTERNATIONAL DATA ENCRYPTION ALGORITHM -


sumrio da implementao por Fauzan Mirza ( F.U.Mirza@sheffield.ac.uk)

Observaes do autor

Este documento foi escrito para ajudar programadores a entenderem como implementar
o criptossistema IDEA.

Obrigado a Colin Plumb ( colin@nyx10.cs.du.edu) por ajudar a eliminar os erros que fiz
na verso rascunho deste documento. As fontes foram obtidas da implementao do IDEA
em assembly 8086 feita por Colin Plumb e a fonte da referncia IDEA de Richard De
Moliner ( demoliner@isi.ee.ethz.ch). Por favor, avisem-me se houver erros ou omisses.

O IDEA trabalha com unidades de 16 bits. Se voc for processar bytes, estes esto
definidos como big-endian de modo que, numa mquina Intel, preciso trocar os bytes
de posio.

O IDEA possui uma chave de usurio de 16 bytes (128 bits) que expandida numa
subchave de 104 bytes (832 bits). Os dados so processados em blocos de 8 bytes (64
bits).

O cdigo fonte em C

A funo Idea precisa receber a subchave, no a chave do usurio. O exemplo de cdigo


a seguir exige que a multiplicao seja feita em mdulo 65537 (como definido nas
especificaes do IDEA). Uma entrada zero considerada como sendo 65536.

void Idea(u_int16 *in, u_int16 *out, u_int16 *key)


{
u_int16 x0, x1, x2, x3, t0, t1, round;

x0 = *in++;
x1 = *in++;
x2 = *in++;
x3 = *in;

for (round = 0; round < 8; round++) {


x0 *= *key++;
x1 += *key++;
x2 += *key++;
x3 *= *key++;

t0 = x1;
t1 = x2;
x2 ^= x0;
x1 ^= x3;

x2 *= *key++;
x1 += x2;
x1 *= *key++;
x2 += x1;

x0 ^= x1;
x3 ^= x2;
x1 ^= t1;
x2 ^= t0;
}
*out++ = x0 * *key++;
*out++ = x2 + *key++; /* NB: Ordem */
*out++ = x1 + *key++;
*out = x3 * *key;
}

A funo a seguir pode ser usada para realizar a multiplicao mdulo 65537 usada no
IDEA.

u_int16 mul(u_int16 x, u_int16 y)


{
u_int32 p=x*y;

if (p == 0)
x = 65537-x-y;
else {
x = p >> 16;
y = p;
x = y-x;

if (y < x) x += 65537;
}
return x;
}

A funo a seguir usada para expandir a chave do usurio e obter a subchave de


cifragem. Os primeiros 16 bytes so a chave do usurio, o restante da subchave
calculado fazendo a rotao dos 16 bytes anteriores deslocando-os 25 bits para a
esquerda. O processo repetido at que a subchave seja completada. O cdigo a seguir
pode ser otimizado.

void Expandkey(u_int16 *ukey, u_int16 *key)


{
int i;

for (i=0; i<8; i++) key[i]=ukey[i];


for (i=8; i<52; i++) {
if ((i & 7) < 6)
key[i]=(key[i-7] & 127) << 9 | key[i-6] >> 7;
else if ((i & 7) == 6)
key[i]=(key[i-7] & 127) << 9 | key[i-14] >> 7;
else
key[i]=(key[i-15] & 127) << 9 | key[i-14] >> 7;
}
}

A funo para inverter a subchave de cifragem para obter a subchave de decifragem


necessria para decifraes que usam modos ECB e CBC. Inclui tambm as funes dos
inversos multiplicativo e aditivo.

Regras:

x + addinv(x) == 0
x * mulinv(x) == 1 (modulo 65537)

void Invertkey(u_int16 *in, u_int16 *out)


{
u_int16 t1, t2, t3, t4, round;
u_int16 *p = out + 52; /* We work backwards */

t1 = mulinv(*in++);
t2 = addinv(*in++);
t3 = addinv(*in++);
t4 = mulinv(*in++);
*--p = t4;
*--p = t3;
*--p = t2;
*--p = t1;

for (round = 1; round < 8; round++) {


t1 = *in++;
t2 = *in++;
*--p = t2;
*--p = t1;

t1 = mulinv(*in++);
t2 = addinv(*in++);
t3 = addinv(*in++);
t4 = mulinv(*in++);
*--p = t4;
*--p = t2; /* NB: Order */
*--p = t3;
*--p = t1;
}
t1 = *in++;
t2 = *in++;
*--p = t2;
*--p = t1;

t1 = mulinv(*in++);
t2 = addinv(*in++);
t3 = addinv(*in++);
t4 = mulinv(*in++);
*--p = t4;
*--p = t3;
*--p = t2;
*--p = t1;
}

u_int16 addinv(u_int16 x)
{
return 0-x;
}

Esta funo calcula o inverso multiplicativo usando o algoritmo do Mximo Divisor Comum
de Euclides. Zero e um so inversos deles mesmos.

u_int16 mulinv(u_int16 x)
{
u_int16 t0, t1, q, y;

if (x < 2) return x;
t0 = 0;
t1 = 65537 / x;
y = 65537 % x;
while (y != 1) {
q = x / y;
x = x % y;
t0 = t0 + (t1 * q);
if (x == 1) return t0;
q = y / x;
y = y % x;
t1 = t1 + (t0 * q);
}
return 65537-x;
}
------------------------ final do texto de Fauzan Mirza -----------------------

Comentrios e Sugestes

Caso voc queira criticar, complementar ou alterar este texto sobre o algoritmo IDEA,
faa contato por email usando a rea de texto do menu identificada com
PERGUNTA/CONTATO. a forma mais rpida de se comunicar comigo. No se esquea de
incluir o seu endereo de email para que eu possa responder. Por favor, confira seu
endereo antes de enviar sua mensagem.

Grande abrao

vov Vicki

Fontes

at-mix
Schneier, Bruce - Applied Cryptography, 1994
HOWTO: INTERNATIONAL DATA ENCRYPTION ALGORITHM

Atualizao Ter, 14.04.2009 14:06

TEA - Tiny Encryption Algorithm

1
2
3
4
5

(5 votos, mdia 4.2 de 5)


Escrito por vov Vicki

Sex, 08.09.2006 17:51

O algoritmo TEA uma cifra de bloco bastante segura, fcil de ser implementada em
vrias linguagens de programao e de processamento muito rpido.
TEA

O algoritmo TEA foi criado por David Wheeler e Roger Needham


no laboratrio de computao da Universidade de Cambridge,
Inglaterra, em novembro de 1994. A idia principal dos autores
foi criar um algoritmo seguro que, ao mesmo tempo, fosse fcil
de ser implementado nas mais diversas linguagens de
programao, pequeno e por isto facilmente guardado de
memria pelos programadores, de execuo rpida e que
consumisse poucos recursos das mquinas. Parece que
conseguiram... Tambm importante frisar que este algoritmo
no patenteado (domnio pblico).

Este texto trata apenas da primeira verso do TEA, um algoritmo do tipo Feistel que faz
uso de operaes de vrios grupos algbricos - XOR, ADD e SHIFT. Esta uma forma
muito engenhosa de obter as propriedades de difuso e confuso, os dois componentes
essenciais da segurana da cifra, sem a necessidade de usar P-boxes (caixas de
permutao para gerar difuso) ou S-boxes (caixas de substituio para gerar confuso).

O TEA cifra blocos de 64 bits de dados usando uma chave de 128 bits. Parece ser
bastante resistente criptoanlise diferencial e adquire uma difuso completa (quando a
diferena de um bit no texto claro causa aproximadamente 32 bits de diferena no texto
cifrado) aps seis ciclos. Por ser muito curto e simples, a velocidade de processamento
impressiona.

O algoritmo TEA

Os autores publicaram uma rotina, escrita em C, para uma cifragem com uma chave k[0]
- k[3] e com os dados em v[0] e v[1].

void code(long* v, long* k) {


unsigned long y=v[0],z=v[1], sum=0, /* set up */
delta=0x9e3779b9, n=32 ; /* a key schedule
constant */
while (n-->0) { /* basic cycle start */
sum += delta ;
y += (z<<4)+k[0] ^ z+sum ^ (z>>5)+k[1] ;
z += (y<<4)+k[2] ^ y+sum ^ (y>>5)+k[3] ; /* end cycle */
}
v[0]=y ; v[1]=z ; }

O algoritmo usa mltiplos de uma constante mgica, delta (), derivada da proporo de
ouro, para garantir que a cifragem seja diferente em cada ciclo. O valor de delta,
provavelmente no importante, mas para o TEA definido como:

Constante delta
A segurana do TEA

1 Ciclo do TEA = duas etapas Feistel

De acordo com os autores, este algoritmo pode substituir o DES com vantagens. Alm
disso, apesar de ter 32 ciclos (64 etapas Feistel) e apesar da velocidade de
processamento no ser o principal objetivo, o TEA trs vezes mais rpido que o melhor
software de implementao de DES com 16 etapas. Todos os modos de uso do DES
tambm so aplicveis ao TEA. O nmero de ciclos pode variar ou at fazer parte da
chave. Os autores tambm sugerem que a segurana pode ser aumentada quando se
aumenta o nmero de iteraes.

De acordo com o Prof. Simon Shepher, da Universidade de Bradford, Inglaterra, a


segurana do TEA muito boa, salientando que, at o momento (fevereiro de 2006), no
se obteve sucesso com nenhum tipo de criptoanlise. Acredita-se que o TEA seja to
seguro quanto o algoritmo IDEA, projetado por Massey e Xuenjia Lai. Usa a mesma
tcnica de grupos algbricos misturados, mas muito mais simples e, por isto mesmo,
muito mais rpido. Alm disso de domnio pblico, enquanto que o IDEA foi patenteado
pela Ascom-Tech AG na Sua. Parece que o professor um f de carteirinha do TEA.
Louva seu tamanho diminuto, sua velocidade, sua segurana e ressalta que "tambm
um timo gerador de nmeros randmicos que pode ser usado em simulaes Monte
Carlo e afins".

Mas o TEA tem falhas de segurana e j foi demonstrado que susceptvel aos ataques
de Chaves Equivalentes e de Chaves Relacionadas. O caso mais interessante foi
proporcionado por hackers, do XBox Linux Group, que conseguiram rodar o sistema
operacional Linux no console de jogos XBox da Microsoft que usa TEA como uma funo
hash na sua ROM. Um dos integrantes do grupo, Andy Green, explica que em cada
grupos de 64 bits, o XBox no consegue detectar uma alterao quando os bits 32 e 64
so alterados simultaneamente. Descobriram, ento, que trocando os bits 32 e 64 do
primeiro bloco de 64 bits da rea protegida fez com que o XBox passasse a rodar a partir
da RAM. Bastou inserir um comando na RAM para que o usurio controlasse a
mquina Esta notcia foi veiculada em 2002 na ZDNet.

Por estas e por outras, o TEA foi aperfeioado dando origem a outras verses: XTEA,
BlockTEA e XXTEA.

Fontes

TEA, a Tiny Encryption Algorithm, publicao dos autores.


Simon Shepherd, professor de matemtica computacional da Universidade de
Bradford, Inglaterra.
Tinyness: An Overview of TEA and Related Ciphers, criptoanlise feita por
Matthew D. Russell.

Atualizao Qua, 15.04.2009 13:04

XTEA *

1
2
3
4
5

(1 voto, mdia 5.0 de 5)


Escrito por vov Vicki

Sex, 08.09.2006 20:38

Depois da descoberta de fragilidades no TEA, os autores sugeriram algumas modificaes


no algoritmo.

O algoritmo XTEA

O XTEA (extended TEA, algumas vezes chamado de "tean") foi a resposta dos autores do
TEA, David Wheeler e Roger Needham, depois da descoberta de que ataques de Chaves
Equivalentes e de Chaves Relacionadas comprometiam a segurana do TEA. O novo
algoritmo apresentado tem a seguinte estrutura:

1 Ciclo do XTEA = 2 etapas Feistel

O XTEA usa as mesmas operaes bsicas do TEA (XOR, adio mdulo 2 32 e shifts), mas
a ordenao bem diferente. Para prevenir ataques baseados em chaves, as 4 sub-
chaves so misturadas de uma forma menos regular e com uma frequncia menor.

A implementao do algoritmo continua sendo fcil. Desta vez vou citar um exemplo
usando a linguagem de programao JavaScript:

// use 16 chars of 'password' to encrypt 'plaintext' with xTEA


function encrypt(plaintext, password)
{
var v = new Array(2), k = new Array(4), s = "", i;

plaintext = escape(plaintext); // use escape() so only have


single-byte chars to encode

// build key directly from 1st 16 chars of password


k[0] = Str4ToLong(password.slice(0,4));
k[1] = Str4ToLong(password.slice(4,8));
k[2] = Str4ToLong(password.slice(8,12));
k[3] = Str4ToLong(password.slice(12,16));

for (i=0; i<plaintext.length; i+=8) { // encode plaintext


into s in 64-bit (8 char) blocks
v[0] = Str4ToLong(plaintext.slice(i,i+4)); // ... note
this is 'electronic codebook' mode
v[1] = Str4ToLong(plaintext.slice(i+4,i+8));
code(v, k);
s += LongToStr4(v[0]) + LongToStr4(v[1]);
}

return escCtrlCh(s);
}

// use 16 chars of 'password' to decrypt 'ciphertext' with


xTEA
function decrypt(ciphertext, password)
{
var v = new Array(2), k = new Array(4), s = "", i;

k[0] = Str4ToLong(password.slice(0,4));
k[1] = Str4ToLong(password.slice(4,8));
k[2] = Str4ToLong(password.slice(8,12));
k[3] = Str4ToLong(password.slice(12,16));

ciphertext = unescCtrlCh(ciphertext);
for (i=0; i<ciphertext.length; i+=8) {
// decode ciphertext into s in 64-bit (8 char) blocks
v[0] = Str4ToLong(ciphertext.slice(i,i+4));
v[1] = Str4ToLong(ciphertext.slice(i+4,i+8));
decode(v, k);
s += LongToStr4(v[0]) + LongToStr4(v[1]);
}

// strip trailing null chars resulting from filling 4-char


blocks:
if (s.search(/\0/) != -1) s = s.slice(0, s.search(/\0/));

return unescape(s);
}

function code(v, k)
{
// Extended TEA: this is the 1997 revised version of Needham
& Wheeler's algorithm
// params: v[2] 64-bit value block; k[4] 128-bit key
var y = v[0], z = v[1];
var delta = 0x9E3779B9, limit = delta*32, sum = 0;

while (sum != limit) {


y += (z<<4 ^ z>>>5)+z ^ sum+k[sum & 3];
sum += delta;
z += (y<<4 ^ y>>>5)+y ^ sum+k[sum>>>11 & 3];
// note use of >>> in place of >> due to lack of
'unsigned' type in JavaScript
}
v[0] = y; v[1] = z;
}

function decode(v, k)
{
var y = v[0], z = v[1];
var delta = 0x9E3779B9, sum = delta*32;

while (sum != 0) {
z -= (y<<4 ^ y>>>5)+y ^ sum+k[sum>>>11 & 3];
sum -= delta;
y -= (z<<4 ^ z>>>5)+z ^ sum+k[sum & 3];
}
v[0] = y; v[1] = z;
}

// supporting functions

function Str4ToLong(s) {
// convert 4 chars of s to a numeric long
var v = s.charCodeAt(0) +
(s.charCodeAt(1)<<8) +
(s.charCodeAt(2)<<16) +
(s.charCodeAt(3)<<24);
return isNaN(v) ? 0 : v;
}

function LongToStr4(v) {
// convert a numeric long to 4 char string
var s = String.fromCharCode(v & 0xFF, v>>8 & 0xFF, v>>16 &
0xFF, v>>24 & 0xFF);
return s;
}

function escCtrlCh(str) {
// escape control chars which might cause problems with
encrypted texts
return str.replace(/[\0\n\v\f\r!]/g, function(c) { return
'!' + c.charCodeAt(0) + '!'; });
}

function unescCtrlCh(str) {
// unescape potentially problematic nulls and control
characters
return str.replace(/!\d\d?!/g, function(c) { return
String.fromCharCode(c.slice(1,-1)); });
}
XTEA em JavaScript

Os 128 bits (16 caracteres) da Senha so usados para cifrar o texto claro usando o XTEA
de Wheeler e Needham. Confira a cifra

Senha: senha

Texto claro: algum texto ultra-secreto!

Fontes

JavaScript do XTEA da autoria de Chris Veness.


Consideraes sobre a eficincia e a criptoanlise do XTEA de Matthew D. Russell.

Atualizao Qua, 15.04.2009 13:20

BlockTEA e XXTEA *

1
2
3
4
5

(1 voto, mdia 5.0 de 5)


Escrito por vov Vicki

Sb, 09.09.2006 13:50

Em 1997, Wheeler e Needham, autores do algoritmo TEA, publicam duas variaes mais
resistentes criptoanlise: o XTEA e o BlockTEA.
O algoritmo BlockTEA

Clique na imagem para ampliar

A grande novidade do BlockTEA que ele opera


em blocos de tamanho varivel mas mltiplo de
32 bits. O algoritmo aplica sequencialmente a
funo de arredondamento do XTEA em cada
word dos blocos e o combina com o bloco subsequente. Isto repetido em vrias etapas,
dependendo do tamanho do bloco (no mnimo 6 vezes). Um das vantagens deste
procedimento que a necessidade de modos de operao (como CBC, OFB, CFB, etc)
eliminada e que a cifra pode ser aplicada diretamente na mensagem.

A funo de arredondamento f do BlockTEA essencialmente a mesma do XTEA, ou seja:

Funo de arredondamento do BlockTEA

O algoritmo XXTEA

Um ano mais tarde, em 1998, Wheeler e Needham sugerem mais uma melhoria. Desta vez
a funo de arredondamento aperfeioada e a nova verso publicada com o nome de
XXTEA.
XXTEA em JavaScript

Este JavaScript da autoria de Chris Veness uma excelente ferramenta para testar o
XXTEA online.

Senha: senha

Texto claro: texto altamnete secreto!

Fontes

JavaScript de Chris Veness em Movable Type Scripts


Criptoanlise de Matthew D. Russell no artigo Tinyness: An Overview of TEA and
Related Ciphers

Atualizao Ter, 26.01.2010 16:24

Cifras de Fluxo
A grande maioria dos algoritmos criptogrficos atuais so cifras de
bloco. As cifras de fluxo, que convertem o texto claro em texto
cifrado bit a bit, ainda so objeto de pesquisa e tm uma aplicao
prtica muito discreta. O motivo que as cifras de fluxo dependem
de geradores randmicos de chaves que, apesar da aparente
simplicidade, so difceis de implementar atravs de software ou de
hardware.

10
Filtro: titulo Exibir #

Acesso
# Ttulo do Artigo Data Autor
s

Algoritmo
1 07.09.04 Neto 14704
Posicional
Algoritm
o
Posiciona
l

1
2
3
4
5

(20 votos, mdia 3.7 de 5)


Escrito por Neto

Ter, 07.09.2004 22:00

ndice do Artigo

Algoritmo Posicional

Sobre o autor

Todas as pginas

A criao de um algoritmo criptogrfico que fosse robusto o suficiente para ser considerado
seguro, mas no o bastante para consumir demasiado processamento computacional nem
aumentar muito o tamanho da informao a ser criptografada, foi o que levou
[CHIARAMONTE e MORENO] a apresentarem e publicarem seu Algoritmo Posicional em
2001. A preocupao bsica era a de criar um mtodo seguro, rpido e que no exigisse
chaves muito grandes mesmo que para isso fosse necessrio aceitar uma menor segurana
se comparada proporcionada pelos algortmos de chaves assimtricas. A simplicidade do
mtodo permitiu um ganho de tempo considervel ao processo de encriptao e
desencriptao e, apesar de apresentar uma fraqueza para textos longos, pode ser
considerado vlido e eficiente para vrias aplicaes justificando a sua anlise.

Analisando o algoritmo

Trata-se de um algoritmo de chave simtrica portanto com todas as implicaes e


limitaes que isso significa e considerado pelos autores como uma melhoria da Cifra de
Csar. Para evitar que a Anlise de Freqncias fosse utilizada, os autores propuseram que
a posio da letra no texto da mensagem influenciasse a sua codificao tornando-a,
assim, numa cifra polialfabtica.

O mtodo se baseia na implementao de uma funo polinomial, de coeficientes


conhecidos somente entre o transmissor e os receptores da mensagem criptografada
(Chave Privada), e na posio da letra no texto como varivel da funo, usando para
tanto os valores numricos de referncia constantes na Tabela ASCII. O Algoritmo bsico
assim proposto permitiria que se obtivessem textos cifrados seguros, rpidos e sem o
aumento de um byte sequer na informao bastando, para tanto, que todos os que
quisessem ler a mensagem obtivessem acesso chave com a qual ela fora cifrada.

Para exemplificar o uso do Algoritmo vamos apresentar uma verso reduzida, baseada em
um polinmio-chave de grau 5:

f(x) = p0 x5 + p1 x4 + p2 x3 + p3 x2 + p4 x + p5

onde:

p0, p1, p2, p3, p4 e p5 so os coeficientes que formam a Chave


Privada
X a varivel da posio da letra no texto da mensagem

Cifrando

Para exemplificar o processo vamos adotar a chave 1-5-1-2-7-1 (onde cada um dos
nmeros representa um dos coeficientes do polinmio acima: p 0, p1, etc...) e codificar o
texto VIKTORIA:

Posio (x) 1 2 3 4 5 6 7
8
Mensagem V I K T O R I
A
ASCII [1] 86 73 75 84 79 82 73
65
f(x) [2] 17 143 715 2429 6461 14587 29303
53945
[3] = [1] + [2] 103 216 790 2513 6540 14669
29376 54010
[3] MOD 256 103 216 22 209 140 77 192
250
Texto cifrado g M

OBS:

f(x) = 1.x5 + 5.x4 + 1.x3 + 2.x2 + 7.x + 1 onde f(1) = 17, f(2) = 143...

Os coeficientes do polinmio-chave podem ser quaisquer no nulos, mas o tamanho deles influencia
somente o tamanho da chave, a complexidade do resultado obtido s depende do grau do polinmio.
Notar que a letra I se repete no corpo da mensagem, mas no no texto cifrado.

O processo o mesmo para cada letra da mensagem, apenas se alterando o valor x do polinmio em
funo de sua posio no texto.

O tempo necessrio para a quebra da chave de um polinmio de grau 5 pelo Mtodo da Fora Bruta foi
calculado pelos autores com a frmula: 600 + (256grau-3 x 386) e variou entre um mnimo de 7
horas a 74 dias.

Cabe ressaltar que quanto maior o grau do polinmio mais seguro ser o mtodo contra
ataques do tipo Fora Bruta para tentativa de descoberta da chave. Sabe-se que
algoritmos do tipo RSA so considerados seguros no caso de chaves maiores do que 2 2048 e
para o Algoritmo Posicional, que tem sua expresso na forma 256 n+1 (onde n o grau do
polinmio-chave), isso se verifica com n = 255.

Decifrando

O processo inverso obtido por meio da mesma chave (algoritmo simtrico) e das mesmas
operaes bastante simples de serem implementadas em qualquer microcomputador,
informando-se agora o texto cifrado:

Posio (x) 1 2 3 4 5 6 7
8
Texto cifrado g M

ASCII [1] 103 216 22 209 140 77 192
250
f(x) [2] 17 143 715 2429 6461 14587 29303
53945
[3] = [1] - [2] 86 73 -693 -2220 -6321 -14510
-29111 -53695
ASCII [1] 86 73 75 84 79 82 73
65
Mensagem V I K T O R I
A

Criptoanlise

Como j foi ressaltado antes o Algoritmo da Substituio utiliza a funo MOD 256 o que
introduz 256 classes de equivalncia das chaves a serem obtidas, todavia tal tarefa
dificultada com a adoo de polinmios de grau maior do que 1 de modo a se obterem
nveis de segurana bastante eficientes com graus relativamente baixos (n = 255
equivalente ao RSA com chave de 2048 bits). Percebe-se ento que a abordagem pela
Fora Bruta no a mais adequada nem a recomendada.

Mas vamos nos ater um pouco na afirmao de que o algoritmo apresentado trata-se de
uma cifra polialfabtica. [OLIVEIRA] verificou que a utilizao da funo MOD associada
ordem na qual o caracter aparece no texto cria condies efetivas para se tentar quebrar o
cdigo a partir da anlise de frequncias o que foi sistematizado por [SIMAS JR.] que
constatou, na verdade, que tal artifcio cria no uma cifra polialfabtica, mas uma sucesso
de 256 cifras monoalfabticas distintas usadas rotacionalmente e, portanto, podem ter
suas anlises verificadas individualmente.

Concluso

Apesar de ser um algortmo muito simples e bastante resistente anlise pela Fora Bruta,
da forma como ele foi originalmente apresentado, a Anlise de Freqncias apresenta
resultados satisfatrios para quebra de sua segurana quando o texto cifrado apresenta
uma grande quantidade de caracteres para ser analisada. Podemos deduzir que algo em
torno de duas palavras para cada uma das 256 cadeias cifradas j seja suficiente para uma
primeira investida contra o contedo encriptado do texto numa tentativa de descobr-lo.
Assim para textos da ordem de 5 x 29 bytes (2,5 Kb) o mtodo ainda apresenta bons
resultados.

Em vista disto, os autores propuseram medidas adicionais de segurana como a criao de


uma chave secundria o que, todavia, aumentou muito o tempo de processamento,
principal vantagem do mtodo. Outras protees esto sendo estudadas de modo a tornar
o Algoritmo mais seguro para textos grandes e permitir que se tenha um ganho
significativo de tempo para operaes comerciais cotidianas.

Por se tratar de um algoritmo muito simples, facilmente implementvel em qualquer


microcomputador, e que apresenta resultados excelentes para textos de pequenas
dimenses (menores do que 2,5 Kb) podendo ter sua segurana aumentada com o uso de
ferramentas criativas dos criptologistas merece ser mais conhecido e estudado.

Fontes

Anlise Sobre a Segurana do Algoritmo de Criptografia Posicional; SIMAS JR.,


Thales Evandro; Lavras MG; 2002.
Criptografia POSICIONAL em Hardware (VHDL e FPGAs); CHIARAMONTE, Rodolfo
Barros e MORENO, Edward David; Marlia SP; 2002.
Uma Anlise da Segurana e da Eficincia do Algoritmo de Criptografia Posicional;
OLIVEIRA, Mrio Luiz Rodrigues; Lavras MG; 2002.
Criptografia Posicional: Uma Soluo para Segurana de Dados - CONCEITOS,
EXEMPLOS E DESEMPENHO; CHIARAMONTE, Rodolfo Barros e MORENO, Edward
David; Marlia SP; 2001.
Desempenho de um Algoritmo Posicional em Software e Hardware; CHIARAMONTE,
Rodolfo Barros e MORENO, Edward David; Marlia SP; 2001.

Sobre o autor

O ms de Agosto de 2004 foi diferente daqueles que eu estava acostumada a viver. Gosto
de brincar e dizer que o ms do cachorro louco, da bruma seca e das ms notcias. Pior
ainda se tiver uma sexta-feira 13, o que foi o caso este ano. S que aconteceram trs
coisas para provar que tudo isto mero preconceito.
No finalzinho do ms, lutando contra os spams (isto sim, pode ser chamado de praga de
Agosto), filtrei um e-mail de um internauta que j havia me dado a maior fora no meu
empreendimento literrio. Apesar dos zilhes de e-mails que recebo, reconheci o modo
gentil de se comunicar: era o Afren e, desta vez, se prontificando a ajudar a construir a
Aldeia NumaBoa. Ta a primeira notcia boa!

No demorou muito e recebi novo e-mail com um artigo ultra interessante, o qual
transcrevo com a autorizao do autor. Neste meio tempo descobri que o Afren valorizava
muito meu trabalho na net (fiquei toda orgulhosa ) porque ele tambm um daqueles
que no fica s no papo - bota a mo na massa s pelo prazer de colaborar e ajudar. Alis,
um dos autores dos verbetes sobre criptografia na Wikipedia, uma excelente enciclopdia
escrita por voluntrios. Agora diz que este segundo pacote de notcias no foi bom!

Mas a coisa no pra por a. Como toda av que se preze, coloco meus netos no lugar mais
alto do pdio - so todos campees (isto para no dizer que so lindos, maravilhosos,
estupendos, formidveis, etc e tal). Pois bem, meu novo amigo virtual tem Neto no nome e
eu no pude resistir: adotei-o imediatamente Beijo da v, Neto. Aqui est o seu texto
sobre o algoritmo posicional.

Atualizao Sb, 18.04.2009 15:15

Funes Hash
Conceitos bsicos e exemplos de funes criptogrficas hash. Os textos marcados
com asterisco so interativos.

10
Filtro: titulo Exibir #

# Ttulo do Artigo Data Autor Acessos

1 O que um hash? 20.09.05 vov Vicki 31965

2 As funes hash 13.09.05 vov Vicki 17596

3 MD4 * 24.09.05 vov Vicki 9725

4 MD5 * 25.09.05 vov Vicki 13413

5 SHA-1 * 07.09.06 vov Vicki 11482

O que um hash?
1
2
3
4
5

(83 votos, mdia 4.6 de 5)


Escrito por vov Vicki

Ter, 20.09.2005 19:56

ndice do Artigo

O que um hash?

Vulnerabilidades

Todas as pginas

Um hash, tambm chamado de "digesto", uma espcie de "assinatura" ou "impresso


digital" que representa o contedo de um fluxo de dados. Com certa frequncia os hashes
so chamados de checksum, o que provoca alguma confuso com os verdadeiros
checksums, os quais tm aplicaes e clculos totalmente diferentes. Um hash pode ser
comparado com um selo de embalagem que indica clara e inequivocamente se a
embalagem j foi aberta ou violada.

Via de mo nica

Hashes no so cifragens, so digestos! As cifragens transformam os dados do texto claro


num criptograma e vice-versa, ou seja, uma operao de duas mos. Alm disso, o
tamanho do criptograma geralmente igual ao comprimento do texto claro. Hashes, por
sua vez, transformam os dados do texto (claro ou cifrado) num pequeno digesto,
detamanho fixo, numa operao de mo nica. Uma operao de mo nica no tem
volta, ou seja, no possvel obter o texto claro a partir de um resultado hash.

Sada de comprimento fixo

Os hashes produzem "selos de segurana" de comprimento fixo, no importa o


comprimento do fluxo de dados ou do arquivo que representem. Qualquer alterao
efetuada no arquivo, por mnima que seja, altera substancialmente o resultado hash. Isto
ocorre porque, mesmo se apenas um dos bits do arquivo for alterado, muitos bits do
resultado sero afetados. Este comportamento conhecido como efeito avalanche.

O efeito avalanche fica bastante claro quando observamos o impacto da mudana de


apenas um bit no resultado hash. Para exemplificar, vamos usar os caracteres ASCII "A" e
"a". Note que apenas o sexto bit (contando da direita para a esquerda e iniciando pelo bit
zero) diferente:

Caracter ASCII ASCII


(decimal) (binrio)
----------------------------------
A 65 0100 0001
a 97 0110 0001

Usando o algoritmo MD5, o resultado hash obtido para os textos "Aldeia NumaBoa" e
"aldeia NumaBoa", cuja diferena reside num nico bit, completamente diferente:

Aldeia NumaBoa 3cdb658425ee484e4bff3d4583f6f851


aldeia NumaBoa 9c1f41ef263026b0283676d63df21fd1

Transformando o valor hexadecimal do hash dos dois textos nos seus correspondentes
binrios, o efeito avalanche fica evidente, pois a alterao de apenas um bit no texto
ocasionou a alterao de 62 bits do resultado hash:

3cdb6584 0011 1100 1101 1011 0110 0101 1000 0100


9c1f41ef 1001 1100 0001 1111 0100 0001 1110 1111
x.x. .... xx.. .x.. ..x. .x.. .xx. x.xx
12 bits diferentes

25ee484e 0010 0101 1110 1110 0100 1000 0100 1110


263026b0 0010 0110 0011 0000 0010 0110 1011 0000
.... ..xx xx.x xxx. .xx. xxx. xxxx xxx.
20 bits diferentes

4bff3d45 0100 1011 1111 1111 0011 1101 0100 0101


283676d6 0010 1000 0011 0110 0111 0110 1101 0110
.xx. ..xx xx.. x..x .x.. x.xx x..x ..xx
16 bits diferentes

83f6f851 1000 0011 1111 0110 1111 1000 0101 0001


3df21fd1 0011 1101 1111 0010 0001 1111 1101 0001
x.xx xxx. .... .x.. xxx. .xxx x... ....
14 bits diferentes

Aplicaes prticas do hash

Se os dados originais no podem ser recuperados a partir do hash gerado pelos mesmos,
ento para que servem os hashes? Apesar de parecer contraditrio, exatamente esta
caracterstica que possibilita o uso de algoritmos hash sempre que uma autenticao ou
uma validao seja necessria. Dentre as inmeras aplicaes destacam-se as seguintes:
Integridade de arquivos

Qualquer tipo de arquivo, por exemplo um arquivo de texto ou um programa de


computador, um fluxo de dados que produz um resultado hash nico. Quando um
arquivo disponibilizado para download, no existe a garantia de que o arquivo baixado
seja idntico ao original. Basta que ocorra um pequeno problema durante a transmisso
que altere os dados recebidos para que a "cpia" no seja perfeita. Uma das maneiras de
poder verificar se o arquivo baixado idntico ao disponibilizado conhecer o hash do
arquivo original. Aps o download possvel calcular o hash do arquivo baixado e, se os
dois hashes forem idnticos, a integridade da cpia comprovada. importante lembrar
que hashes parecidos ou "quase iguais" indicam sempre que os dados que os produziram
so diferentes, e nunca parecidos ou quase iguais!

Segurana de senhas

Guardar senhas em texto claro dar chance para o azar. Se um arquivo de senhas for
roubado ou um banco de dados com registros de senhas for hackeado, o estrago pode ser
enorme. Como um hash no reversvel e, para serem usadas, as senhas precisam ser
conferidas, muito mais prudente armazenar os resultados hash das senhas do que as
prprias senhas. O uso de uma senha pressupe que um usurio a digite. Tendo a senha
como entrada, fcil e rpido calcular o resultado hash da senha fornecida e compar-lo
com o valor arquivado. Se forem idnticos, a senha confere, mostrando que o usurio
conhecia uma senha vlida. Este procedimento reduz sensivelmente os riscos porque o
nico momento em que a senha pode ser roubada enquanto est sendo digitada e antes
de ser transformada em hash.

Assinaturas digitais

Para se obter uma assinatura digital vlida so necessrias duas etapas. A primeira criar
um hash do documento. Este hash identifica unicamente e inequivocamente o documento
do qual ele se originou. A seguir, o assinante submete o hash a um mtodo criptogrfico
usando sua chave privada. Como o hash criptografado s pode ser recuperado usando a
chave pblica do assinante, isto comprova a identidade da pessoa que assinou - a
chamada assinatura digital - e como o hash recuperado identifica o documento, a
assinatura est associada unicamente a este documento.

Vulnerabilidades

Pelo que foi visto at agora, o cenrio parece perfeito: usando mtodos que produzam
hashes de 128 bits, o nmero de hashes possveis atinge um valor astronmico. So, nada
mais, nada menos do que 2128 = 3,4 x 1038 possveis. Mais exatamente, as possibilidades
somam

340.282.366.920.938.463.463.374.607.431.768.211.456
hashes de 128 bits

Apesar deste valor enorme, como o nmero de conjuntos de dados praticamente


infinito, a possibilidade de que dois conjuntos de dados diferentes produzam o mesmo
hash no pode ser ignorada. Esta coincidncia de resultados conhecida como coliso.
Existem duas formas bsicas de se diminuir a ocorrncia de colises: aumentando o
nmero de bits do resultado hash e criando algoritmos que produzam hashes menos
vulnerveis. Existem algumas medidas que avaliam as vulnerabilidades. As principais so
mostradas a seguir.

Resistncia a colises

A resistncia a colises mede a dificuldade de encontrar duas entradas que produzam o


mesmo resultado hash. O valor hash pode ser qualquer um, o objetivo encontrar duas
entradas diferentes que forneam um resultado idntico.

Se for possvel obter o mesmo resultado hash para duas entradas diferentes, as
assinaturas digitais deixam de ser confiveis. Imagine um "compromisso de compra" que
possa ser substitudo por outro sem que o valor hash se modifique. Se os documentos
forem trocados por algum com ms intenes poderemos ter surpresas bastante
desagradveis. Um dos ataques mais conhecidos para encontrar colises o ataque do
aniversrio. Se voc estiver interessado, leia o texto Paradoxo do Aniversrio que se
encontra no Almanaque da Aldeia.

Coliso: procura de dois textos que produzam um mesmo hash


qualquer

Neste caso, a assinatura digital tambm no pode garantir a autenticidade do documento.


Pior do que isto, a assinatura digital coloca nossa anuncia no documento! Como j foi
visto, a alterao de um simples bit costuma alterar substancialmente o resultado hash.
Vai aqui uma sugesto: antes de colocar a sua assinatura digital, faa uma pequena
alterao "cosmtica" no documento que ser assinado. Basta adicionar um espao ou
retirar uma vrgula. Como os dois documentos, o correto e o fraudulento, precisam ser
preparados com antecedncia para produzirem o mesmo hash, pegamos o fraudador de
calas curtas se alterarmos o documento e, consequentemente, seu valor hash no ltimo
instante

Resistncia de pre-imagem

A resistncia de pre-imagem mede a dificuldade de criar um conjunto de dados que


resulte num determinado valor hash, sem conhecer o texto que o originou.

Pre-imagem: criao de determinado valor hash sem conhecer


o texto original

Se a resistncia de pre-imagem for pequena, ser mais fcil criar um texto qualquer cujo
hash seja igual a um conhecido. Imagine o caso das senhas. Se, conhecendo o valor hash
de uma delas, for possvel criar uma senha qualquer que resulte num hash idntico, a
segurana de um sistema que faa a autenticao exclusivamente com hashes de senhas
estar seriamente comprometido. Mesmo digitando a senha "fabricada", o resultado ser
aceito.

Resistncia de segunda pre-imagem

A resistncia de segunda pre-imagem mede a dificuldade de criar um conjunto de dados


que resulte num determinado valor hash, conhecendo o texto que o originou.

Segunda pre-imagem: criao de determinado valor hash


conhecendo o texto original

Assim como a resistncia de pre-imagem, se a resistncia de segunda pre-imagem for


baixa, a criao de um conjunto de dados que resulte num hash conhecido torna-se mais
fcil. comum encontrarmos software para download acompanhado de seus valores hash,
portanto, fcil obter a matria prima que pode ser fraudada. Se algum com ms
intenes alterar o software, mas conseguir preservar seu resultado hash, os usurios que
fizerem o download do "safadoware" no tero como identificar o software adulterado e
potencialmente perigoso!

Fontes

Steve Friedl's Unixwiz.net

Atualizao Ter, 14.04.2009 13:42

As funes hash

1
2
3
4
5
(33 votos, mdia 4.2 de 5)
Escrito por vov Vicki

Ter, 13.09.2005 00:44

ndice do Artigo

As funes hash

Aplicaes de funes hash

Segurana

Todas as pginas

Funes hash so funes que recebem dados de comprimento arbitrrio, comprimem


estes dados e devolvem um nmero fixo de bits, o resultado hash. Se uma funo deste
tipo satisfizer requisitos adicionais, ela pode ser usada em aplicaes criptogrficas como,
por exemplo, proteger a autenticidade de mensagens enviadas atravs de canais
inseguros. A idia bsica que o resultado hash fornea uma identidade nica para uma
mensagem e que a proteo de uma pequena identidade mais fcil de ser obtida do
que a proteo da mensagem como um todo.

Os cdigos de autenticao de mensagens (MAC - message authentication codes) tm


relao com as funes hash. Estes tambm so funes que comprimem uma entrada
de comprimento arbitrrio num nmero fixo de bits, mas o processo depende de uma
entrada secundria de comprimento fixo, a chave. por este motivo que os MACs
tambm so chamados de funes hash com chave. Em aplicaes prticas, a chave que
orienta os clculos de um MAC precisa ser mantida em segredo.

Funes hash criptogrficas

Para uma funo (sem chave) hash, o requisito para que o resultado hash sirva como
identidade nica para uma mensagem que seja impossvel ou impraticvel encontrar
pares de mensagens que colidam (isto , mensagens que produzam hashs iguais). Em
algumas aplicaes, no entanto, suficiente que, para cada resultado hash, seja
impraticvel encontrar a mensagem correspondente; ou que, dada uma mensagem, seja
impraticvel encontrar outra mensagem que produza o mesmo hash. De acordo com
estas premissas, existem duas definies informais para dois tipos diferentes de funes
hash.

Um hash de mo nica (one way hash) uma funo que satisfaz as seguintes
condies:

1. A entrada X pode ter um comprimento arbitrrio e o resultado h(X) possui um


nmero fixo de n bits.
2. Dados h e um input X, o clculo de h(X) precisa ser 'fcil'.
3. A funo precisa ser de mo nica, ou seja, para um dado Y na imagem de h,
seja 'difcil' achar uma mensagem Xde modo que h(X) = Y (resistncia de
preimagem) e, dados X e h(X), seja 'difcil' encontrar uma mensagem X'diferente
de X onde h(X') = h(X) (resistncia da segunda preimagem).

Uma funo hash resistente a colises uma funo h que satisfaz as seguintes
condies:

1. A entrada X pode ter um comprimento arbitrrio e o resultado h(X) possui um


nmero fixo de n bits.
2. Dados h e um input X, o clculo de h(X) 'fcil'.
3. A funo de mo nica, isto , resistente preimagem e segunda
preimagem.
4. A funo precisa ser resistente a colises: isto significa que 'difcil' encontrar
duas mensagens distintas que produzam o mesmo resultado hash.

Num cdigo de autenticao de mensagem MAC, o clculo (portanto, o resultado MAC)


depende de uma entrada secundria, a chave secreta. O propsito principal que o
adversrio, sem conhecer esta chave, no seja capaz de forjar o resultado MAC de
qualquer mensagem, mesmo se muitas mensagens e seus MACs correspondentes forem
conhecidos. Um cdigo de autenticao de mensagem ou MAC uma funo h que
satisfaz as seguintes condies:

1. A entrada X pode ter um comprimento arbitrrio e o resultado h(K,X) possui um


comprimento fixo de n bits. A funo possui como entrada secundria uma
chave K com um nmero fixo de k bits.
2. Dados h, K e uma entrada X, o clculo de h(K,X) precisa ser 'fcil'.
3. Dada uma mensagem X (mas com K desconhecido), o clculo de h(K,X) precisa
ser 'difcil'.

Aplicaes de funes hash e de MACs

Funes hash e MACs tm as mais diversas aplicaes. Entre outras, podem ser utilizadas
na autenticao de mensagens, assinaturas digitais, datao (timestamping) de
documentos e sistemas de senhas.

Autenticao de mensagens com hash

O problema da proteo da autenticidade de informaes tem dois aspectos: a


integridade dos dados e a autenticao da origem dos dados. A integridade dos
dados a garantia de que os dados no tenham sido alterados, sem autorizao, desde
o momento em que foram criados, transmitidos ou armazenados por uma fonte
autorizada. J a autenticao da origem dos dados um tipo de autenticao que
garante a fonte (origem) dos dados. Por definio, a autenticao da origem dos dados
inclui a integridade dos dados (informao que tenha sido modificada com autorizao
tem uma nova fonte).

Digamos que um remetente queira enviar uma mensagem para determinado destinatrio
atravs de um canal de comunicao inseguro. Para garantir que o destinatrio esteja
recebendo a mensagem da fonte correta e que a mensagem no foi modificada durante a
transmisso, o remetente cria um hash da mensagem e transmite esta pequena
sequncia de bits atravs de um canal autntico. Um canal autntico no
necessariamente um canal seguro, ele pode ser interceptado e o segredo no
garantido. O telefone, por exemplo, um canal deste tipo onde a autenticao feita
atravs do reconhecimento da voz. Depois disso, o remetente pode enviar a mensagem
atravs de um canal inseguro. O destinatrio, por sua vez, usando o
mesmo algoritmo hash, cria um resultado hash para a mensagem recebida e o compara
com o hash que lhe foi enviado. Se os dois hashes coincidirem, o destinatrio tem a
certeza de que a mensagem no foi alterada durante o trajeto.

Autenticao hash combinada com criptografia

Uma outra forma de enviar mensagens autenticadas adicionar o hash mensagem


clara e cifrar o conjunto com algum mtodo criptogrfico cuja chave seja conhecida tanto
pelo remetente quanto pelo destinatrio. O destinatrio decifra o conjunto, obtendo o
hash e a mensagem. Este mtodo precisa de um canal autntico e com privacidade para
poder transmitir a chave do mtodo criptogrfico.

Autenticao de mensagens com MAC

Neste caso, o remetente cria um resultado MAC usando uma chave. Depois, adiciona este
MAC mensagem e a envia atravs de um canal inseguro. Tambm aqui existe a
necessidade de usar um canal autntico e com privacidade para transmitir a chave do
algoritmo MAC.

Otimizao de assinaturas digitais

Esquemas de assinatura digital so um tipo diferente de primitivo criptogrfico. So


usados para a proteo da autenticidade, s que, adicionalmente, oferecem o servio
de no repdio. Isto significa que impossvel para um remetente negar a autoria de
uma mensagem autenticada. Assinaturas digitais baseiam-se em criptografia de chave
pblica.

Por exemplo, o usurio A possui o par de chaves SA e PA, onde SA a chave privada
(secreta) e PA a chave pblica. Inicialmente ele comprime sua mensagem M com a
funo hash h. O resultado hash h(M) usado como entrada do algoritmo de assinatura.
Este algoritmo depende da chave privada SA e calcula um valor assinaturaSA( h(M) ), que
pode ser expresso como s(M). O usurio associa a assinatura s(M) mensagem M e
envia o conjunto atravs de um canal inseguro. O destinatrio separa a assinatura s(M) e
a usa como entrada do algoritmo de verificao. Este algoritmo depende da chave
pblica PA e calcula o valor verPA( s(M) ). A assinatura e o algoritmo de verificao so
projetados de tal forma que, se o par de chaves PA e SA estiver correto, o resultado
hash h(M) corresponde mensagem M. O destinatrio calcula o hash da mensagem,
compara os dois hashes e, se coincidirem, tanto a assinatura, quanto a mensagem, so
autnticas.

Aplicaes como funes de mo nica (one-way)

Funes de mo nica so parecidas com as funes hash de mo nica - a diferena


que a entrada tem um comprimento fixo. Estas funes podem ser obtidas de vrios
modos, por exemplo, a partir de funes hash criptogrficas ou de cifras de bloco.
Nos sistemas de identificao baseados em senhas, ao invs de armazenar a senha,
armazena-se para cada usurio o resultado de uma funo de mo nica. Para verificar
se uma senha informada pelo usurio (identificao) est correta, o sistema aplica a
funo de mo nica na senha fornecida e compara o resultado obtido com o resultado
armazenado.

Uma outra aplicao, tambm muito til para identificaes, a chamada confirmao de
conhecimento. Neste caso, as partes provam que conhecem um segredo S sem revelar o
segredo. Para isto, basta cada um enviar para o outro uma funo de mo nica de S.

Funes de mo nica tambm podem ser aplicadas para calcular uma sequncia de
chaves que so usadas para proteger sesses de comunicao sucessivas. Comeando
com uma chave mestra K0, a chave da primeira sesso calculada como K1 = f(K0), a
da segunda sesso como K2 = f(K1) e assim sucessivamente. Um exemplo tpico a
derivao de chaves usada em sistemas de pagamento em terminais de pontos de venda
onde a divulgao de uma chave atualmente ativa no pode comprometer a segurana
de transaes anteriores. Esta propriedade chamada de segurana futura. Outro
exemplo a gerao de senhas num sistema de senhas de uso nico. Neste caso, cria-se
uma sequncia de senhas que sero usadas na ordem inversa da criao. Aplicando-se a
funo de mo nica a uma das senhas, o resultado precisa coincidir com a senha
anterior. A propriedade de mo nica impede que um adversrio, que conhea a senha
atual, possa calcular qualquer uma das senhas futuras.

Datao digital

A datao digital um servio que fornece uma autenticao temporal. Em particular,


uma datao digital fornece provas da existncia de certos fragmentos de informao
antes da data e da hora indicada na datao. Isto tem aplicao na proteo de direitos
de propriedade intelectual e em procedimentos seguros de auditoria. Por exemplo:

Um pesquisador que queira provar um "primeiro a inventar" ou "primeiro a


informar".
Uma empresa que queira provar a integridade de seus registros eletrnicos,
mostrando que estes no foram manipulados ou tiveram suas datas alteradas.

A datao tambm vital para servios de no-repdio confiveis. Em documentos


assinados que tenham um ciclo de validade longo, vrias verificaes podem ser
necessrias. Entretanto, o ciclo de validade de assinaturas digitais limitado por vrias
razes:

A chave privada da assinatura pode se tornar comprometida.


O certificado que prova o elo entre o usurio e sua chave pblica tem prazo de
validade.
O algoritmo criptogrfico usado no esquema da assinatura pode ser quebrado.

Estes problema pode ser contornado se um servio seguro de datao for utilizado. Um
usurio que cria uma assinatura num documento e requisita uma datao da informao
assinada prova que a assinatura foi gerada antes da marca temporal indicada na datao,
ou seja, antes de qualquer incidente eventualmente venha a invalidar a sua assinatura.
A segurana das funes hash

Em termos prticos, a segurana das funes criptogrficas hash pode ser medida
apenas em relao sua resistncia a ataques. Normalmente os adversrios procuram
uma preimagem, segunda preimagem ou coliso em funes hash ou produzem dados
forjados para um MAC.

Ataque randmico

Este o tipo de ataque mais bvio. O adversrio simplesmente seleciona uma entrada ao
acaso e espera pelo resultado hash. Dado o hash de uma mensagem h(M), o adversrio
tenta criar um outro documento, M', de modo que h(M) = h(M'). Se a funo hash
possuir um comportamento 'randmico', sua probabilidade de sucesso considervel
(cerca de 50%). Na prtica, o ataque pode ser efetuado em paralelo, usando a
computao distribuda num grande nmero de mquinas com uma chance no
desprezvel de se obter uma preimagem ou uma segunda preimagem.

Ataque do aniversrio

Este ataque se baseia na idia de que num grupo de 23 pessoas a probabilidade de que,
pelo menos, duas pessoas faam aniversrio no mesmo dia maior do que 50%.
Intutitivamente, a impresso geral que o grupo de pessoas deveria ser muito maior
para que isto acontecesse, motivo pelo qual esta constatao chamada de paradoxo do
aniversrio.

Este tipo de ataque mais sutil do que o anterior e baseia-se num problema padro da
estatstica. Quantas pessoas precisam estar numa sala para que a chance de uma delas
fazer aniversrio no mesmo dia que voc seja maior do que 50%? A resposta 253.
Agora, se a pergunta for "Quantas pessoas precisam estar numa sala para que a chance
de duas delas comemorarem aniversrio no mesmo dia seja maior do que 50%?", o
resultado surpreendente baixo. Com apenas 23 pessoas na sala, a chance de que duas
faam aniversrio no mesmo dia maior do que 50%. que, apesar do nmero baixo de
pessoas, existem mais de 500 pares diferentes de pessoas na sala. Caso voc tenha
interesse em saber como os clculos so efetuados, visite o Almanaque da Aldeia.

Achar algum com um aniversrio especfico anlogo ao primeiro ataque; achar duas
pessoas com o mesmo aniversrio randmico anlogo a este segundo ataque, tambm
conhecido como ataque do aniversrio.

Imagine que determinada funo hash siga todas as propriedades citadas acima e que a
melhor forma de atac-la seja atravs da fora bruta. Se esta funo criar um resultado
hash de m bits, encontrar uma mensagem que resulte no hash procurado requer
2m mensagens randmicas. Agora, encontrar duas mensagens que produzam o mesmo
hash requer apenas 2m/2 mensagens randmicas. Um computador que seja capaz de
processar um milho de mensagens por segundo levaria 600.000 anos para encontrar
uma segunda mensagem para determinado hash de 64 bits. A mesma mquina pode
achar um par de mensagens que resultam num hash de 64 bits igual em cerca de uma
hora!

Resta saber como um ataque do aniversrio pode ser usado para fins escusos. Imagine
que um safado prepare dois contratos, um favorvel para o bonzinho e outro no qual o
bonzinho transfere todos os seus bens para o safado. De posse destes dois documentos,
o safado faz vrias pequenas alteraes nos dois documentos: troca espao por espao-
backspace-espao, insere um ou dois espaos antes das quebras de linha, etc.
Introduzindo (ou no) estas pequenas alteraes em cada uma de 32 linhas de texto, o
safado consegue gerar 232 documentos diferentes. Depois disto, o safado compara os
hashes dos documentos at encontrar um par, tarefa perfeitamente possvel de ser
realizada se o resultado hash tiver apenas 64 bits. Encontrando estes dois documentos,
um do contrato bom e outro do contrato alterado, o safado pede para o bonzinho assinar
o documento bom usando um protocolo no qual ele apenas assina o valor hash. Quando
lhe convier, o safado troca os contratos e no h cristo que possa provar que no seja o
documento original assinado pelo bonzinho

Este cenrio no tem nada de surreal, perfeitamente possvel de ocorrer. E tudo por
conta do ataque do aniversrio aplicado a funes hash de 64 bits. Por este motivo, a
maioria das funes produzem hashes de pelo menos 128 bits. Isto fora qualquer
atacante a utilizar, no mnimo, 264 documentos randmicos para encontrar dois cujos
hashes tenham o mesmo valor. Mas como possvel obter hashes com mais de 64 bits?
Dentre os mtodos propostos, o seguinte bastante eficiente:

1. Gerar o valor hash de uma mensagem, usando uma funo hash de mo nica.
2. Concatenar a mensagem e o hash obtido.
3. Gerar um novo hash da mensagem com o hash concatenado.
4. Criar um valor hash maior que consiste da valor hash gerado na etapa 1
concatenado ao hash gerado na etapa 3.
5. Repetir as etapas 1 a 3 o quanto se desejar.

As funes hash mais conhecidas

SNEFRU uma funo hash de mo nica desenvolvida por Ralph Merkle que cria
resultados hash de 128 ou de 256 bits.
N-HASH um algoritmo inventado por pesquisadores da Nippon Telephone and
Telegraph, os mesmos que inventaram o FEAL. Usa blocos de 128 bits de
mesnagem e produz um resultado hash tambm de 128 bits.
MD4, onde MD vem de message digest, uma funo hash de mo nica
desenvolvida por Ron Rivest que tambm produz um valor hash de 128 bits.
MD5 uma verso melhorada do MD4. Tambm de Ron Rivest, produz um
resultado hash de 128 bits.
SHA, o Secure Hash Algorithm, foi desencolvido pelo NIST e pela NSA. Produz um
hash de 160 bits, tambm chamado de message digest.
RIPE-MD foi desenvolvido para o projeto RACE da Comunidade Europia. Seu
algoritmo uma variao do MD4.
HAVAL uma funo hash de mo nica de tamanho varivel inventada por
Yulian Zheng, Josef Pieprzyk e Jennifer Seberry. uma modificao do MD5.

Fontes

Schneier, Bruce - Applied Cryptography, 1994


Van Rompay, Bart - Tese "Analysis and Design of Cryptographic Hash Functions,
MAC Algorithms and Block Ciphers", Universidade Catlica de Leuven.
Atualizao Qua, 22.04.2009 11:05

MD4 *

1
2
3
4
5

(5 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Sb, 24.09.2005 19:54

ndice do Artigo

MD4 *

Etapas 4 e 5

A dana dos bits

MD4 interativo

Todas as pginas

A funo hash de mo nica MD4 foi projetada por Ron Rivest e publicada oficialmente
pela primeira vez em outubro de 1990. O algoritmo usa como entrada uma mensagem de
comprimento arbitrrio e produz uma "impresso digital" ou um "digesto de mensagem"
de 128 bits. MD vem de message digest, cuja traduo pode parecer estranha, mas
digesto de mensagem. Um digesto uma compilao de diretrizes ou uma coleo de
decises, geralmente aplicado como termo jurdico

O MD4 foi criado para ser utilizado em assinaturas digitais onde um texto longo precisa
ser "comprimido" de forma segura antes de ser cifrado com uma chave privada (secreta)
por um criptossistema de chave pblica. Foi projetado para ser bastante rpido em
mquinas de 32 bits. Alm disso, no necessita de grandes tabelas de substituio e pode
ser facilmente programado de forma compacta. O autor colocou o algoritmo no domnio
pblico.
Descrio do algoritmo MD4

A entrada do MD4 uma mensagem que pode ter qualquer comprimento, ou seja,
qualquer mensagem com um nmero arbitrrio de bits. O nmero de bits, representado
por b, um nmero inteiro positivo que varia de zero at o infinito. Para obter o digesto
da mensagem, seus bits, representados por m0, m1, ..., m{b-1}, onde b = nmero de bits
da mensagem, so submetidos a diversas operaes. Este processo dividido em cinco
etapas ou passos.

Passo 1: Adio de bits

A mensagem "esticada" com a adio de bits at que atinja um comprimento


congruente com 448 no mdulo 512, ou seja, adiciona-se tantos bits quantos forem
necessrios para que o comprimento da mensagem seja 448 ou qualquer mltiplo de 512
menos 64 bits (512 - 64 = 448, 1024 - 64 = 960, etc). Esta adio pressupe a incluso
de no mnimo um bit e, no mximo, de 512 bits.

O primeiro bit que deve ser adicionado logo no final da mensagem original um bit "1".
Todos os outros, necessrios para se atingir o comprimento preconizado, so bits "0".

Passo 2: Incluir comprimento

O valor b, que representa o comprimento em bits da mensagem original, deve ser


adicionado mensagem previamente preparada no passo 1 na forma de 64 bits. pouco
provvel que o valor de b seja maior do que 264, porm, caso isto ocorra, apenas os 64
bits menos significativos de b sero usados. Estes 64 bits so adicionados como
dois words de 32 bits. O word menos significativo inserido primeiro, seguido
do word mais significativo.

Neste ponto, o comprimento da mensagem resultante 512 ou um dos seus mltiplos.


Tambm um mltiplo exato de 16 words pois, se um word possui 32 bits,
16 words possuem 16 x 32 = 512 bits. Estes words podem ser representados por M[0, 1,
..., N-1], onde N um mltiplo de 16.

Passo 3: Inicializao do buffer MD

Um buffer de quatro words usado para calcular o digesto da mensagem. Os


registradores de 32 bits A, B, C e D so inicializados com os seguintes valores
hexadecimais:

word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10

Nestes valores, os bytes mais significativos so colocados aps os menos significativos,


ou seja

Hexadecimal Binrio
Decimal
----------- ---------------------------------------
-------------
A: 67 45 23 01 0110 0111 0100 0101 0010 0011 0000 0001
1.732.584.193
B: ef cd ab 89 1110 1111 1100 1101 1010 1011 1000 1001
4.023.233.417
C: 98 ba dc fe 1001 1000 1011 1010 1101 1100 1111 1110
2.562.383.102
D: 10 32 54 76 0001 0000 0011 0010 0101 0100 0111 0110
271.733.878

Passo 4: Processamento da mensagem em blocos de 16 words

Inicialmente so definidas trs funes auxiliares. Estas funes usam como entrada
trs words (3 x 32 = 96 bits) para produzirem uma sada de um word (32 bits). So elas

F(X,Y,Z) = (X and Y) or ((not X) and Z)


G(X,Y,Z) = (X and Y) or (X and Z) or (Y and Z)
H(X,Y,Z) = X xor Y xor Z

Em cada um dos bits, a funo F atua condicionalmente, ou seja, se X ento Y, seno Z.


G atua como uma funo de maioria: se pelo menos dois bits de X, Y e Z estiverem
ligados, G produz um bit "1" nesta posio, seno o bit ser "0". A funo H um XOR bit
a bit ou funo de paridade.

Antes de aplicar estas funes, os valores de A, B, C e D precisam ser preservados pois


sero usados no final do clculo. As variveis de trabalho, baseadas nestes valores e
usadas neste texto sero a = A, b = B, c = C e d = D

A seguir, as funes so aplicadas considerando-se que:

Tendo [abcd k s i] a operao ser a = ((a + F(b,c,d) +


X[k] + T[i]) <<< s) + b
T[i] uma constante
X[k] o sub-bloco de texto
<<< s rotao dos bits para a esquerda

Aplica-se inicialmente a funo F para completar a primeira rodada, onde a constante T[i]
= 0:

/* Rodada 1
[abcd 0 3] a = ((a + ((b and c) or ((not b) and d)) +
X[0]) <<< 3)
[dabc 1 7] d = ((d + ((a and b) or ((not a) and c)) +
X[1]) <<< 7)
[cdab 2 11] c = ((c + ((d and a) or ((not d) and b)) +
X[2]) <<< 11)
[bcda 3 19] b = ((b + ((c and d) or ((not c) and a)) +
X[3]) <<< 19)
[abcd 4 3] a = ((a + ((b and c) or ((not b) and d)) +
X[4]) <<< 3)
[dabc 5 7] d = ((d + ((a and b) or ((not a) and c)) +
X[5]) <<< 7)
[cdab 6 11] c = ((c + ((d and a) or ((not d) and b)) +
X[6]) <<< 11)
[bcda 7 19] b = ((b + ((c and d) or ((not c) and a)) +
X[7]) <<< 19)
[abcd 8 3] a = ((a + ((b and c) or ((not b) and d)) +
X[8]) <<< 3)
[dabc 9 7] d = ((d + ((a and b) or ((not a) and c)) +
X[9]) <<< 7)
[cdab 10 11] c = ((c + ((d and a) or ((not d) and b)) +
X[10]) <<< 11)
[bcda 11 19] b = ((b + ((c and d) or ((not c) and a)) +
X[11]) <<< 19)
[abcd 12 3] a = ((a + ((b and c) or ((not b) and d)) +
X[12]) <<< 3)
[dabc 13 7] d = ((d + ((a and b) or ((not a) and c)) +
X[13]) <<< 7)
[cdab 14 11] c = ((c + ((d and a) or ((not d) and b)) +
X[14]) <<< 11)
[bcda 15 19] b = ((b + ((c and d) or ((not c) and a)) +
X[15]) <<< 19)

A funo G usada na segunda rodada, onde a constante T[i] tem o valor hexadecimal
5A82 7999 ( o valor da raiz quadrada de 2):

/* Rodada 2
[abcd 0 3] a = ((a + ((b and c) or (b and d) or (c
and d)) + X[0] + 5A827999) <<< 3)
[dabc 4 5] d = ((d + ((a and b) or (a and c) or (b
and c)) + X[4] + 5A827999) <<< 5)
[cdab 8 9] c = ((c + ((d and a) or (d and b) or (a
and b)) + X[8] + 5A827999) <<< 9)
[bcda 12 13] b = ((b + ((c and d) or (c and a) or (d
and a)) + X[12] + 5A827999) <<< 13)
[abcd 1 3] a = ((a + ((b and c) or (b and d) or (c
and d)) + X[1] + 5A827999) <<< 3)
[dabc 5 5] d = ((d + ((a and b) or (a and c) or (b
and c)) + X[5] + 5A827999) <<< 5)
[cdab 9 9] c = ((c + ((d and a) or (d and b) or (a
and b)) + X[9] + 5A827999) <<< 9)
[bcda 13 13] b = ((b + ((c and d) or (c and a) or (d
and a)) + X[13] + 5A827999) <<< 13)
[abcd 2 3] a = ((a + ((b and c) or (b and d) or (c
and d)) + X[2] + 5A827999) <<< 3)
[dabc 6 5] d = ((d + ((a and b) or (a and c) or (b
and c)) + X[6] + 5A827999) <<< 5)
[cdab 10 9] c = ((c + ((d and a) or (d and b) or (a
and b)) + X[10] + 5A827999) <<< 9)
[bcda 14 13] b = ((b + ((c and d) or (c and a) or (d
and a)) + X[14] + 5A827999) <<< 13)
[abcd 3 3] a = ((a + ((b and c) or (b and d) or (c
and d)) + X[3] + 5A827999) <<< 3)
[dabc 7 5] d = ((d + ((a and b) or (a and c) or (b
and c)) + X[7] + 5A827999) <<< 5)
[cdab 11 9] c = ((c + ((d and a) or (d and b) or (a
and b)) + X[11] + 5A827999) <<< 9)
[bcda 15 13] b = ((b + ((c and d) or (c and a) or (d
and a)) + X[15] + 5A827999) <<< 13)

Na terceira rodada aplicada a funo H com a constante T[i] tem o valor hexadecimal
6ED9 EBA1 ( o valor da raiz quadrada de 3):

/* Rodada 3
[abcd 0 3] a = ((a + (b xor c xor d) + X[0] +
6ED9EBA1) <<< 3)
[dabc 8 9] d = ((d + (a xor b xor c) + X[8] +
6ED9EBA1) <<< 9)
[cdab 4 11] c = ((c + (d xor a xor b) + X[4] +
6ED9EBA1) <<< 11)
[bcda 12 15] b = ((b + (c xor d xor a) + X[12] +
6ED9EBA1) <<< 15)

[abcd 2 3] a = ((a + (b xor c xor d) + X[2] +


6ED9EBA1) <<< 3)
[dabc 10 9] d = ((d + (a xor b xor c) + X[10] +
6ED9EBA1) <<< 9)
[cdab 5 11] c = ((c + (d xor a xor b) + X[9] +
6ED9EBA1) <<< 11)
[bcda 13 15] b = ((b + (c xor d xor a) + X[13] +
6ED9EBA1) <<< 13)
[abcd 1 3] a = ((a + (b xor c xor d) + X[1] +
6ED9EBA1) <<< 3)
[dabc 9 9] d = ((d + (a xor b xor c) + X[9] +
6ED9EBA1) <<< 9)
[cdab 5 11] c = ((c + (d xor a xor b) + X[5] +
6ED9EBA1) <<< 11)
[bcda 13 15] b = ((b + (c xor d xor a) + X[13] +
6ED9EBA1) <<< 15)
[abcd 3 3] a = ((a + (b xor c xor d) + X[3] +
6ED9EBA1) <<< 3)
[dabc 11 9] d = ((d + (a xor b xor c) + X[11] +
6ED9EBA1) <<< 9)
[cdab 7 11] c = ((c + (d xor a xor b) + X[7] +
6ED9EBA1) <<< 11)
[bcda 15 15] b = ((b + (c xor d xor a) + X[15] +
6ED9EBA1) <<< 15)

Finalmente, os resultados obtidos para a, b, c, d so somados aos valores originais A, B,


C e D:

A = a + A
B = b + B
C = c + C
D = d + D

Passo 5: Obteno do valor hash

O digesto da mensagem produzido concatenando-se A, B, C e D, comeando com o


byte menos significativo de A e terminando com o mais significativo de D.

A dana dos bits

Para visualizar o que acontece no nvel dos bits, vamos tomar como exemplo o texto
"abc". Os valores dos caracteres que compem esta mensagem so:

Decimal Hexa Binrio


------- ---- ---------
a 97 61 0110 0001
b 98 62 0110 0010
c 99 63 0110 0011

O texto fornece apenas um bloco de 512 bits, dividido em 16 sub-blocos de 32 bits. Logo
depois dos bits da mensagem est o bit marcador "1" que, dentro do byte, assume a
forma 1000 0000. Os bytes so colocados no registrador de "trs para frente", ou seja:

1 0 6 3 6 2 6 1 (valor
hexadecimal)
---- ---- ---- ---- ---- ---- ---- ----
X[0] = 1000 0000 0110 0011 0110 0010 0110 0001
X[1] = 0000 0000 0000 0000 0000 0000 0000 0000
...
X[15] = 0000 0000 0000 0000 0000 0000 0001 1000 = 24
(comprimento da mensagem em bits)

A dana dos bits - A primeira rodada (funo F)

A primeira etapa da primeira rodada utiliza a funo F(b,c,d), soma o resultado com a e
com o texto, para finalmente fazer uma rotao de trs posies da esquerda para a
direita para obter o novo valor de a.

b = 1110 1111 1100 1101 1010 1011 1000 1001


AND c = 1001 1000 1011 1010 1101 1100 1111 1110
---------------------------------------
1000 1000 1000 1000 1000 1000 1000 1000 (1)

NOT b = 0001 0000 0011 0010 0101 0100 0111 0110


AND d = 0001 0000 0011 0010 0101 0100 0111 0110
---------------------------------------
0001 0000 0011 0010 0101 0100 0111 0110 (2)
(1) = 1000 1000 1000 1000 1000 1000 1000 1000
OR (2) = 0001 0000 0011 0010 0101 0100 0111 0110
---------------------------------------
F(b,c,d) = 1001 1000 1011 1010 1101 1100 1111 1110
+ a 0110 0111 0100 0101 0010 0011 0000 0001
---------------------------------------
1111 1111 1111 1111 1111 1111 1111 1111
+ texto X[0] 1000 0000 0110 0011 0110 0010 0110 0001
---------------------------------------
1000 0000 0110 0011 0110 0010 0110 0000
<<< 3 = 0000 0011 0001 1011 0001 0011 0000 0100 = a

A segunda etapa da primeira rodada repete o procedimento anterior aplicando a funo


F(a,b,c).

a = 0000 0011 0001 1011 0001 0011 0000 0100


AND b = 1110 1111 1100 1101 1010 1011 1000 1001
---------------------------------------
0000 0011 0000 1001 0000 0011 0000 0000 (1)

NOT a = 1111 1100 1110 0100 1110 1100 1111 1011


AND c = 1001 1000 1011 1010 1101 1100 1111 1110
---------------------------------------
1001 1000 1010 0000 1100 1100 1111 1010 (2)

(1) = 0000 0011 0000 1001 0000 0011 0000 0000


OR (2) = 1001 1000 1010 0000 1100 1100 1111 1010
---------------------------------------
F(a,b,c) = 1001 1011 1010 1001 1100 1111 1111 1010
+ d 0001 0000 0011 0010 0101 0100 0111 0110
---------------------------------------
1010 1011 1101 1100 0010 0100 0111 0000
+ texto X[1] 0000 0000 0000 0000 0000 0000 0000 0000
---------------------------------------
1010 1011 1101 1100 0010 0100 0111 0000
<<< 7 = 1110 1110 0001 0010 0011 1000 0101 0101 = d

Depois das 16 etapas da primeira rodada, os valores encontrados so:

a = 1010 0010 1001 1001 1010 0101 0100 0000


b = 1101 1010 0111 0001 0111 0011 1001 0101
c = 0010 0100 1011 1010 1010 1101 1100 1011
d = 0000 0100 1110 0001 1001 0010 1001 0011

A dana dos bits - A segunda rodada (funo G)

A segunda rodada usa os valores encontrados e aplica a funo G:

b = 1101 1010 0111 0001 0111 0011 1001 0101


AND c = 0010 0100 1011 1010 1010 1101 1100 1011
---------------------------------------
0000 0000 0011 0000 0010 0001 1000 0001 (1)

b = 1101 1010 0111 0001 0111 0011 1001 0101


AND d = 0000 0100 1110 0001 1001 0010 1001 0011
---------------------------------------
0000 0000 0110 0001 0001 0010 1001 0001 (2)

c = 0010 0100 1011 1010 1010 1101 1100 1011


AND d = 0000 0100 1110 0001 1001 0010 1001 0011
---------------------------------------
0000 0100 1010 0000 1000 0000 1000 0011 (3)

(1) = 0000 0000 0011 0000 0010 0001 1000 0001


OR (2) = 0000 0000 0110 0001 0001 0010 1001 0001
---------------------------------------
0000 0000 0111 0001 0011 0011 1001 0001
OR (3) = 0000 0100 1010 0000 1000 0000 1000 0011
---------------------------------------
G(b,c,d) = 0000 0100 1111 0001 1011 0011 1001 0011
+ a 1010 0010 1001 1001 1010 0101 0100 0000
---------------------------------------
1010 0111 1000 1011 0101 1000 1101 0011
texto X[0] = 1000 0000 0110 0011 0110 0010 0110 0001
---------------------------------------
0010 0111 1110 1110 1011 1011 0011 0100
+ const 0101 1010 1000 0010 0111 1001 1001 1001
(hexadecimal 5A827999)
---------------------------------------
1000 0010 0111 0001 0011 0100 1100 1101
<<< 3 0001 0011 1000 1001 1010 0110 0110 1100 = a

Seguindo o mesmo esquema, completa-se as 16 rodadas da segunda etapa com o auxlio


da funo G para se obter os novos valores:

a = 0111 0010 1001 0110 0101 1001 0100 1100


b = 1000 1110 0101 0011 0001 1011 1000 1111
c = 0011 1101 1101 0100 0010 0100 0010 0010
d = 0100 1110 0111 1110 0001 0111 0100 1000

A dana dos bits - A terceira rodada (funo H)

A terceira rodada usa os valores encontrados e aplica a funo H:

b = 1000 1110 0101 0011 0001 1011 1000 1111


XOR c = 0011 1101 1101 0100 0010 0100 0010 0010
---------------------------------------
1011 0011 1000 0111 0011 1111 1010 1101
XOR d = 0100 1110 0111 1110 0001 0111 0100 1000
---------------------------------------
H(b,c,d) = 1111 1101 1111 1001 0010 1000 1110 0101
+ a 0111 0010 1001 0110 0101 1001 0100 1100
---------------------------------------
0111 0000 1000 1111 1000 0010 0011 0001
texto X[0] = 1000 0000 0110 0011 0110 0010 0110 0001
---------------------------------------
1111 0000 1111 0010 1110 0100 1001 0010
+ const 0110 1110 1101 1001 1110 1011 1010 0001
(hexadecimal 6ED9EBA1)
---------------------------------------
0101 1111 1100 1100 1101 0000 0011 0011
<<< 3 1111 1110 0110 0110 1000 0001 1001 1010 = a

No final das 16 etapas da terceira rodada os valores so:

a = 0001 0010 1011 1100 0010 0101 1010 0011


b = 0110 0011 0000 1010 0111 0110 0010 0110
c = 0100 1111 0100 1111 1110 0100 0110 0001
d = 1000 1101 0100 0000 0101 0010 0000 0100

A dana dos bits - O clculo final para obter o hash

Somando os valores obtidos aos valores iniciais correspondentes e concatenando os


resultados obtm-se o hash:

a = 0001 0010 1011 1100 0010 0101 1010 0011


+ A = 0110 0111 0100 0101 0010 0011 0000 0001
---------------------------------------
0111 1010 0000 0001 0100 1000 1010 0100
---- ---- ---- ---- ---- ---- ---- ----
| 7 A | 0 1 | 4 8 | A 4 | = A448 017A

b = 0110 0011 0000 1010 0111 0110 0010 0110


+ B = 1110 1111 1100 1101 1010 1011 1000 1001
---------------------------------------
0101 0010 1101 1000 0010 0001 1010 1111
---- ---- ---- ---- ---- ---- ---- ----
| 5 2 | D 8 | 2 1 | A F | = AF21 D852

c = 0100 1111 0100 1111 1110 0100 0110 0001


+ C = 1001 1000 1011 1010 1101 1100 1111 1110
---------------------------------------
1110 1000 0000 1010 1100 0001 0101 1111
---- ---- ---- ---- ---- ---- ---- ----
| E 8 | 0 A | C 1 | 5 F | = 5FC1 0AE8

d = 1000 1101 0100 0000 0101 0010 0000 0100


+ D = 0001 0000 0011 0010 0101 0100 0111 0110
---------------------------------------
1001 1101 0111 0010 1010 0110 0111 1010
---- ---- ---- ---- ---- ---- ---- ----
| 9 D | 7 2 | A 6 | 7 A | = 7AA6 729D
O hash MD4 do texto "abc" : A448017AAF21D8525FC10AE87AA6729D

Ao vivo e em cores

Se toda esta salada de bits deu um n na sua cabea, no se desespere. Aqui est uma
ferramenta on line para quebrar o galho. O que parecia to complicado, na verdade to
simples que pode at ser implementado em JavaScript. Confira.

Texto

Clculo

Resultado

Bateria de testes MD4

Confira a preciso do script fazendo os testes sugeridos pelo autor do algoritmo. Lembre-
se: no existem hashes parecidos, apenas hashes idnticos conferem autenticidade.

MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0


MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24
MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d
MD4 ("message digest") = d9130a8164549fe818874806e1c7014b
MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9
MD4
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")
= 043f8582f241db351ce627e153e7f0e4
MD4
("123456789012345678901234567890123456789012345678901234567890123
45678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536
Consideraes finais

Apesar de ser aparentemente seguro, Rivest substituu o MD4 pelo MD5 em abril de
1992. Mesmo assim, o MD4 constinuou sendo usado por alguns anos porque sua
fragilidade no passava da especulao. Foi quando, na Eurocrypt de 1996, um ataque de
H. Dobbertin mostrou que se podia achar colises com uma probabilidade de 1/2 22. At
este ponto, nada de srio, mas a situao do MD4 ficou crtica em 2004 quando
pesquisadores chineses - Xiaoyun Wang, Dengguo Feng, Xuejia Lai e Hongbo Yu1 -
mostraram que podiam encontrar colises apenas com clculos feitos a mo. Na
Eurocrypt de 2005, Xiaoyun Wang, Xuejia Lai, Dengguo Feng, Hui Chen e Xiuyuan Yu
apresentaram um trabalho sobre a criptoanlise das funes hash MD4 e RIPEMD que
praticamente aposentou este hash. Na seo de downloads da Aldeia (Criptologia/Papers)
encontra-se o arquivo PDF deste ltimo trabalho.

Fontes de referncia

R. Rivest, "The MD4 Message Digest Algorithm", RFC 1186, outubro 1990.
R. Rivest, "The MD4 Message Digest Algorithm", RFC 1320, abril 1992.
JavaScript do algoritmo MD4 Verso 2.1 Copyright (C) Jerrad Pierce, Paul
Johnston 1999 - 2002.
Bruce Schneier, "Applied Cryptography"
Xiaoyun Wang, Collisions for Some Hash Functions MD4, MD5, HAVAL-128,
RIPEMD
Xiaoyun Wang, Cryptanalysis of the Hash Functions MD4 and RIPEMD

Atualizao Ter, 14.04.2009 13:53

MD5 *

1
2
3
4
5

(23 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Dom, 25.09.2005 01:34


ndice do Artigo

MD5 *

Etapa 5 e MD5 Interativo

Consideraes finais

Todas as pginas

O MD5 foi desenvolvido por Ron Rivest em 1991. basicamente o MD4 com um "cinto de
segurana" - os clculos so um pouco mais lentos, mas, em compensao, muito mais
seguro.

Da mesma forma que outras funes hash, o MD5 usado em assinaturas digitais onde
um texto longo precisa ser "comprimido" de forma segura antes de ser cifrado com uma
chave privada (secreta) por um criptossistema de chave pblica. Foi projetado para
mquinas de 32 bits, podendo ser facilmente programado de forma compacta. O autor
colocou o algoritmo no domnio pblico em abril de 1992.

Como o texto sobre a funo hash MD4 bastante minucioso e o MD5 muito parecido,
no h a necessidade de entrar em muitos detalhes. Caso voc tenha dvidas,
complemente a leitura com o texto MD4.

Descrio do algoritmo MD5

O entrada do MD5 um fluxo de dados (mensagem) que pode ter um nmero arbitrrio
de bits, representado por b, um nmero inteiro positivo que varia de zero at o infinito.
Para obter o digesto da mensagem, seus bits, representados por m0, m1, ..., m{b-1},
onde b = nmero de bits da mensagem, so submetidos a diversas operaes. Este
processo dividido em cinco etapas ou passos.

Passo 1: Preparao do fluxo de dados

Adiciona-se mensagem os bits necessrios para que seu tamanho mais 64 bits seja
divisvel por 512.

Passo 2: Incluso do comprimento

Depois da adio de bits, uma representao binria do tamanho original da mensagem e


que ocupa 64 bits, adicionada mesma. O conjunto obtido processado em blocos de
512 bits na estrutura iterativa de Damgrd/Merkle, sendo que cada bloco processado
em quatro rodadas distintas.

Passo 3: Inicializao do buffer MD

Um buffer de quatro words usado para calcular o digesto da mensagem. Os


registradores de 32 bits A, B, C e D so inicializados com os seguintes valores
hexadecimais:

word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10

Passo 4: Processamento da mensagem em blocos de 16 words (512 bits)

Primeiro definse-se quatro funes auxiliares. Cada uma delas usa trs words de 32 bits
para produzir uma sada de um word de 32 bits.

F(X,Y,Z) = (X and Y) or (not(X) and Z)


G(X,Y,Z) = (X and Z) or (Y and not(Z))
H(X,Y,Z) = X xor Y xor Z
I(X,Y,Z) = Y xor (X or not(Z))

A funo F atua como condicional sobre cada um dos bits: se X ento Y seno Z.
importante frisar que, se os bits de X, Y e Z so independentes e no induzidos
(unbiased) ento cada bit de F(X,Y,Z) tambm ser independente e no induzido.

As funes G, H e I so semelhantes funo F quanto ao "paralela bit a bit"


produzindo sadas de bits independentes e no induzidos se os mesmos tiverem estas
caractersticas. A funo H apenas um "XOR" ou funo de "paridade" das suas
entradas.

As etapas deste passo usam uma tabela de 64 elementos, T[1] a T[64], construda
partir da funo seno. T[i] for onsimo elemento da tabela e igual parte inteira de
abs(seno(i)) multiplicada por 4294967296, onde i expresso em radianos.

Antes de iniciar o processamento, deve-se armazenar os valores de A, B, C e D. Neste


texto, as variveis de trabalho sero expressas em letras minsculas, portanto
armazenamos a = A, b = B, c = C e d = D.

Divide-se cada bloco de 512 bits em 16 sub-blocos de 32 bits, aqui identificados por X[0]
a X[15]. Genericamente, os sub-blocos so designados por X[k]. A seguir, aplica-se as
funes F, G, H e I em quatro rodadas:

/* Rodada 1
/* Seja [abcd k s i] a operao a = b + ((a + F(b,c,d) +
X[k] + T[i]) <<< s)
/* Faa as seguintes 16 operaes.

[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA


3 22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA
7 22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA
11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA
15 22 16]
/* Rodada 2
/* Seja [abcd k s i] a operao a = b + ((a + G(b,c,d) +
X[k] + T[i]) <<< s)
/* Faa as seguintes 16 operaes.

[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA


0 20 20]
[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA
4 20 24]
[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA
8 20 28]
[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA
12 20 32]

/* Rodada 3
/* Seja [abcd k s i] a operao a = b + ((a + H(b,c,d) +
X[k] + T[i]) <<< s)
/* Faa as seguintes 16 operaes

[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA


14 23 36]
[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA
10 23 40]
[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA
6 23 44]
[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA
2 23 48]

/* Rodada 4
/* Seja [abcd k s i] a operao a = b + ((a + I(b,c,d) +
X[k] + T[i]) <<< s)
/* Faa as seguintes 16 operaes

[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA


5 21 52]
[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA
1 21 56]
[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA
13 21 60]
[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA
9 21 64]

/* Finalmente, faa as adies dos resultados obtidos


para a, b, c, d
/* com os valores iniciais de A, B, C e D
A = a + A
B = b + B
C = c + C
D = d + D

Passo 5: A sada

O digesto da mensagem produzido na sada a concatenao de A, B, C e D. Comea-se


com o byte menos significativo de A e termina-se com o byte mais significativo de D.

As rodadas em detalhes

Rodada 1 Rodada 2
-------------------------------- --------------------
-----------
F(a,b,c,d, X[ 0], 7, 0xd76aa478) G(a,b,c,d, X[ 1], 5,
0xf61e2562)
F(d,a,b,c, X[ 1],12, 0xe8c7b756) G(d,a,b,c, X[ 6], 9,
0xc040b340)
F(c,d,a,b, X[ 2],17, 0x242070db) G(c,d,a,b, X[11],14,
0x265e5a51)
F(b,c,d,a, X[ 3],22, 0xc1bdceee) G(b,c,d,a, X[ 0],20,
0xe9b6c7aa)
F(a,b,c,d, X[ 4], 7, 0xf57cc0af) G(a,b,c,d, X[ 5], 5,
0xd62f105d)
F(d,a,b,c, X[ 5],12, 0x4787c62a) G(d,a,b,c, X[10], 9,
0x02441453)
F(c,d,a,b, X[ 6],17, 0xa8304613) G(c,d,a,b, X[15],14,
0xd8a1e681)
F(b,c,d,a, X[ 7],22, 0xfd469501) G(b,c,d,a, X[ 4],20,
0xe7d3fbc8)
F(a,b,c,d, X[ 8], 7, 0x698098d8) G(a,b,c,d, X[ 9], 5,
0x21e1cde6)
F(d,a,b,c, X[ 9],12, 0x8b44f7af) G(d,a,b,c, X[14], 9,
0xc33707d6)
F(c,d,a,b, X[10],17, 0xffff5bb1) G(c,d,a,b, X[ 3],14,
0xf4d50d87)
F(b,c,d,a, X[11],22, 0x895cd7be) G(b,c,d,a, X[ 8],20,
0x455a14ed)
F(a,b,c,d, X[12], 7, 0x6b901122) G(a,b,c,d, X[13], 5,
0xa9e3e905)
F(d,a,b,c, X[13],12, 0xfd987193) G(d,a,b,c, X[ 2], 9,
0xfcefa3f8)
F(c,d,a,b, X[14],17, 0xa679438e) G(c,d,a,b, X[ 7],14,
0x676f02d9)
F(b,c,d,a, X[15],22, 0x49b40821) G(b,c,d,a, X[12],20,
0x8d2a4c8a)

Rodada 3 Rodada 4
-------------------------------- --------------------
-----------
H(a,b,c,d, X[ 5], 4, 0xfffa3942) I(a,b,c,d, X[ 0], 6,
0xf4292244)
H(d,a,b,c, X[ 8],11, 0x8771f681) I(d,a,b,c, X[ 7],10,
0x411aff97)
H(c,d,a,b, X[11],16, 0x6d9d6122) I(c,d,a,b, X[14],15,
0xab9423a7)
H(b,c,d,a, X[14],23, 0xfde5380c) I(b,c,d,a, X[ 5],21,
0xfc93a039)
H(a,b,c,d, X[ 1], 4, 0xa4beea44) I(a,b,c,d, X[12], 6,
0x655b59c3)
H(d,a,b,c, X[ 4],11, 0x4bdecfa9) I(d,a,b,c, X[ 3],10,
0x8f0ccc92)
H(c,d,a,b, X[ 7],16, 0xf6bb4b60) I(c,d,a,b, X[10],15,
0xffeff47d)
H(b,c,d,a, X[10],23, 0xbebfbc70) I(b,c,d,a, X[ 1],21,
0x85848dd1)
H(a,b,c,d, X[13], 4, 0x289b7ec6) I(a,b,c,d, X[ 8], 6,
0x6fa87e4f)
H(d,a,b,c, X[ 0],11, 0xeaa127fa) I(d,a,b,c, X[15],10,
0xfe2ce6e0)
H(c,d,a,b, X[ 3],16, 0xd4ef3085) I(c,d,a,b, X[ 6],15,
0xa3014314)
H(b,c,d,a, X[ 6],23, 0x04881d05) I(b,c,d,a, X[13],21,
0x4e0811a1)
H(a,b,c,d, X[ 9], 4, 0xd9d4d039) I(a,b,c,d, X[ 4], 6,
0xf7537e82)
H(d,a,b,c, X[12],11, 0xe6db99e5) I(d,a,b,c, X[11],10,
0xbd3af235)
H(c,d,a,b, X[15],16, 0x1fa27cf8) I(c,d,a,b, X[ 2],15,
0x2ad7d2bb)
H(b,c,d,a, X[ 2],23, 0xc4ac5665) I(b,c,d,a, X[ 9],21,
0xeb86d391)

Ao vivo e em cores

Aqui est uma ferramenta on line, escrita em JavaScript, para produzir digestos MD5.
Confira.

Texto
Clculo

Resultado

Bateria de testes

Confira a preciso do script fazendo os testes sugeridos pelo autor do algoritmo. Lembre-
se: no existem hashes parecidos, apenas hashes idnticos conferem autenticidade.

MD5 ("") = d41d8cd98f00b204e9800998ecf8427e


MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")
= d174ab98d277d9f5a5611c2c9f419d9f
MD5
("123456789012345678901234567890123456789012345678901234567890123
45678901234567890") = 57edf4a22be3c955ac49da2e2107b67a

Consideraes finais

Rivest melhorou a segurana do MD5 usando vrias tcnicas:

Adicionou uma quarta rodada.


Usou uma constante aditiva nica em cada etapa das rodadas.
Fez a funo G menos simtrica mudando-a de (XY or XZ or YZ) para (XZ or Y
not(Z))
Promoveu um "efeito avalanche" mais rpido com cada etapa adicionando seu
resultado etapa anterior.
Mudou a ordem da entrada dos words nas rodadas 2 e 3 para tornar seus padres
menos parecidos.
Otimizou as rotaes de cada rodada para obter um "efeito avalanche" mais
rpido.

Mas a funo hash MD5, um padro mundial usado principalmente nos sistemas de
senhas, realmente segura? Na Eurocrypt de 2005, Xiaoyun Wang, Xuejia Lai, Dengguo
Feng, Hui Chen e Xiuyuan Yu apresentaram um trabalho sobre a criptoanlise das
funes hash MD4, MD5, HAVAL-128 e RIPEMD que reduz drasticamente o tempo para
encontrar colises nestes hash. Na seo de downloads da Aldeia (Criptologia/Papers)
encontra-se o arquivo PDF deste trabalho.

Fontes de referncia

R. Rivest, "The MD5 Message Digest Algorithm", RFC 1321, abril 1992.
Bruce Schneier, "Applied Cryptography".
Xiaoyun Wang, Collisions for Some Hash Functions MD4, MD5, HAVAL-128,
RIPEMD
JavaScript do algoritmo MD5 Verso 2.1 Copyright (C) Paul Johnston 1999 -
2002.

Atualizao Ter, 14.04.2009 13:57

SHA-1 *

1
2
3
4
5

(23 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Qui, 07.09.2006 20:06

ndice do Artigo

SHA-1 *

Clculo do SHA-1

SHA-1 em Javascript

Todas as pginas

O SHA-1 (Secure Hash Algorithm - Algoritmo Hash Seguro) foi aprovado pelo governo dos
EUA em 1995 para ser usado por todos os departamentos e agncias federais na
autenticao de documentos digitais.

O que o SHA-1

O SHA-1 um padro usado para calcular a representao condensada de uma mensagem


ou arquivo de dados. Partindo de uma mensagem menor do que 2 64 bits, o SHA-1 produz
uma sada de 160 bits chamada de digesto da mensagem. Este digesto pode ser a entrada
para o DSA (Digital Signature Algorithm - Algoritmo de Assinatura Digital), o qual gera ou
faz a verificao da assinatura da mensagem. Criar uma assinatura para o digesto, ao
invs de criar uma para a mensagem, costuma melhorar a eficincia do processo porque o
digesto da mensagem habitualmente muito menor do que a mensagem. Tanto o
verificador, quanto o criador, precisam usar o mesmo algoritmo hash para gerar e verificar
uma assinatura digital.

O SHA-1 foi considerado seguro porque impraticvel encontrar uma mensagem que
corresponda a um determinado digesto ou encontrar duas mensagens diferentes que
produzam o mesmo digesto. Qualquer alterao feita numa mensagem em trnsito, com
grande probabilidade dar como resultado um digesto diferente e a assinatura no poder
ser confirmada. O SHA-1 uma reviso tcnica do SHA - foi adicionada uma operao de
deslocamento circular para a esquerda para aumentar a segurana oferecida por este
padro. O SHA-1 foi baseado em princpios semelhantes aos usados no algoritmo MD4,
criado pelo professor do MIT, Ronald L. Rivest.

Aplicaes do SHA-1

O SHA-1 pode ser aplicado, juntamente com o DSA, em e-mails, transferncias eletrnicas
de fundos, distribuio de software, armazenamento de dados e outras aplicaes que
requeiram garantia de integridade de dados e autenticao da origem dos dados. O SHA-1
tambm pode ser utilizado sempre que for necessrio gerar uma verso condensada de
uma mensagem.

O algoritmo SHA-1

Antes do clculo do digesto propriamente dito, o tamanho em bits da mensagem precisa


ser ajustado, as funes para os clculos precisam ser preparadas e algumas constantes
precisam ser definidas.

Ajuste do tamanho da mensagem

O objetivo deste ajuste transformar o comprimento da mensagem num mltiplo de 512


bits porque o clculo do digesto pelo SHA-1 processa sequencialmente blocos do referido
tamanho. Se a mensagem que servir de base para o clculo do digesto for menor do que
264 bits, a primeira etapa adicionar 1 bit no final da mensagem. Se usarmos a
mensagem teste como base, seus bits sero os mostrados na linha identificada por ASCII
(binrio):

Mensagem | t | e | s | t
| e |
ASCII (hexa) | 74 | 65 | 73 | 74
| 65 |
ASCII (binrio) | 0111 0100 | 0110 0101 | 0111 0011 | 0111 0100
| 0110 0101 |

Ou seja, o primeiro passo transformar a mensagem

01110100 01100101 01110011 01110100 01100101

em

01110100 01100101 01110011 01110100 01100101 1

Neste caso temos apenas um bloco de 41 bits, longe dos 512 necessrios. Para completar
este nmero, aps o bit delimitador so acrescentados tantos bits zero quantos forem
necessrios para alcanar o tamanho desejado. Acontece que os ltimos 64 bits do ltimo
bloco da mensagem devem ficar reservados para guardarem o tamanho original da
mensagem. Neste nosso exemplo temos apenas um bloco, ou seja, o primeiro e ltimo.
Neste caso, ao invs de adicionarmos 512 - 41 = 471 bits zero, acrescentaremos 512 - 64
- 41 = 407 bits zero. Em notao hexadecimal, a fonte para o SHA-1 com os zeros
adicionados passa a ser:

74657374 65800000 00000000 00000000


00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000

Os ltimos 64 bits sero adicionados levando o valor do comprimento da mensagem


original, ou seja, 40 (o bit delimitador no contado). A representao binria do valor 40
0010 1000, e a representao hexadecimal do valor 40 ocupando 64 bits 00000000
00000028. Adicionando este valor, o bloco completo fica

74657374 65800000 00000000 00000000


00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000028

As funes do SHA-1

O SHA-1 usa uma sequncia de funes lgicas conhecidas por f0, f1, ..., f79. Cada uma
destas funes atua sobre trs words de 32 bits (B, C e D) para produzirem apenas um
word. Para estes trs words B, C e D, a funo ft(B,C,D) definida como:

ft(B,C,D) = (B AND C) OR ((NOT B) AND D) ( 0 <= t <= 19)

ft(B,C,D) = B XOR C XOR D (20 <= t <= 39)

ft(B,C,D) = (B AND C) OR (B AND D) OR (C AND D) (40 <= t <= 59)


ft(B,C,D) = B XOR C XOR D (60 <= t <= 79).

As constantes do SHA-1

A seguinte sequncia de constantes de 32 bits K(0), K(1), ... , K(79) usada. Os valores
hexadecimais destas constantes so:

K = 5A827999 ( 0 <= t <= 19)

Kt = 6ED9EBA1 (20 <= t <= 39)

Kt = 8F1BBCDC (40 <= t <= 59)

Kt = CA62C1D6 (60 <= t <= 79).

O clculo do SHA-1

O digesto calculado a partir da mensagem ajustada. Para realizar o clculo so


necessrios dois buffers que possam armazenar temporariamente cinco words de 32 bits e
uma sequncia de oitenta words de 32 bits. Os words do primeiro buffer so identificados
por A, B, C, D e E. Os words do segundo buffer so identificados por H0, H1, H2, H3 e H4.
Os words da sequncia de oitenta words so identificados por W0, W1, ..., W79.

Alm dos buffers citados acima, usa-se tambm um buffer TEMP de um word. Os blocos da
mensagem (no nosso exemplo temos apenas um), cada um deles com 16 words, so
processados sequencialmente como mostrado a seguir:

Inicializando o buffer H

Os cinco words do buffer H recebem os seguintes valores iniciais (expressos em


hexadecimal):

H0 = 67452301
H1 = EFCDAB89
H2 = 98BADCFE
H3 = 10325476
H4 = C3D2E1F0

O loop de clculo

Chamando os blocos de 512 bits/16 words da mensagem ajustada de M1, M2, ..., Mn, os
seguintes clculos so realizados:

1. Divide-se Mi em 16 words W0, W1, ... , W15, onde W0 o word


da esquerda.

2. Para t = 16 at 79 faa Wt = S1(Wt-3 XOR Wt-8 XOR Wt-14 XOR Wt-


16)
3. Faa A = H0, B = H1, C = H2, D = H3, E = H4

4. Para t = 0 at 79 faa
TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt;
E = D; D = C; C = S30(B); B = A; A = TEMP;

5. Faa H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4
= H4 + E

Depois de processar todos os blocos, o digesto da mensagem ser constitudo pelos 160
bits representados pelos 5 words H0 H1 H2 H3 H4.

Calcule digestos online

Este pequeno aplicativo permite calcular digestos SHA-1 a partir da mensagem fornecida.
Para funcionar preciso que a JavaScript esteja habilitada no seu navegador.

CLCULO DE DIGESTOS SHA-1

Mensagem: abc

Hash:

Observao: O hash SHA-1 de abc deve ser


a9993e364706816aba3e25717850c26c9cd0d89d

SHA-1 em Javascript

Este script da autoria de Paul Johnston e o original pode ser encontrado nas fontes de
referncia. Para os curiosos, aqui est o script e a form que chama o mesmo:

/*
* A JavaScript implementation of the Secure Hash Algorithm,
SHA-1, as defined
* in FIPS PUB 180-1
* Version 2.1a Copyright Paul Johnston 2000 - 2002.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar,
Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for details.
*/

/*
* Configurable variables. You may need to tweak these to be
compatible with
* the server-side, but the defaults work in most cases.
*/
var hexcase = 0; /* hex output format. 0 - lowercase; 1 -
uppercase */
var b64pad = ""; /* base-64 pad character. "=" for strict RFC
compliance */
var chrsz = 8; /* bits per input character. 8 - ASCII; 16 -
Unicode */

/*
* These are the functions you'll usually want to call
* They take string arguments and return either hex or base-64
encoded strings
*/
function hex_sha1(s){return
binb2hex(core_sha1(str2binb(s),s.length * chrsz));}
function b64_sha1(s){return
binb2b64(core_sha1(str2binb(s),s.length * chrsz));}
function str_sha1(s){return
binb2str(core_sha1(str2binb(s),s.length * chrsz));}
function hex_hmac_sha1(key, data){ return
binb2hex(core_hmac_sha1(key, data));}
function b64_hmac_sha1(key, data){ return
binb2b64(core_hmac_sha1(key, data));}
function str_hmac_sha1(key, data){ return
binb2str(core_hmac_sha1(key, data));}

/*
* Perform a simple self-test to see if the VM is working
*/
function sha1_vm_test()
{
return hex_sha1("abc") ==
"a9993e364706816aba3e25717850c26c9cd0d89d";
}
/*
* Calculate the SHA-1 of an array of big-endian words, and a
bit length
*/
function core_sha1(x, len)
{
/* append padding */
x[len >> 5] |= 0x80 << (24 - len % 32);
x[((len + 64 >> 9) << 4) + 15] = len;

var w = Array(80);
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
var e = -1009589776;

for(var i = 0; i < x.length; i += 16)


{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
var olde = e;

for(var j = 0; j < 80; j++)


{
if(j < 16) w[j] = x[i + j];
else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c,
d)),
safe_add(safe_add(e, w[j]),
sha1_kt(j)));
e = d;
d = c;
c = rol(b, 30);
b = a;
a = t;
}

a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
e = safe_add(e, olde);
}
return Array(a, b, c, d, e);

/*
* Perform the appropriate triplet combination function for the
current
* iteration
*/
function sha1_ft(t, b, c, d)
{
if(t < 20) return (b & c) | ((~b) & d);
if(t < 40) return b ^ c ^ d;
if(t < 60) return (b & c) | (b & d) | (c & d);
return b ^ c ^ d;
}

/*
* Determine the appropriate additive constant for the current
iteration
*/
function sha1_kt(t)
{
return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :
(t < 60) ? -1894007588 : -899497514;
}

/*
* Calculate the HMAC-SHA1 of a key and some data
*/
function core_hmac_sha1(key, data)
{
var bkey = str2binb(key);
if(bkey.length > 16) bkey = core_sha1(bkey, key.length *
chrsz);

var ipad = Array(16), opad = Array(16);


for(var i = 0; i < 16; i++)
{
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}

var hash = core_sha1(ipad.concat(str2binb(data)), 512 +


data.length * chrsz);
return core_sha1(opad.concat(hash), 512 + 160);
}

/*
* Add integers, wrapping at 2^32. This uses 16-bit operations
internally
* to work around bugs in some JS interpreters.
*/
function safe_add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
/*
* Bitwise rotate a 32-bit number to the left.
*/
function rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}

/*
* Convert an 8-bit or 16-bit string to an array of big-endian
words
* In 8-bit function, characters >255 have their hi-byte
silently ignored.
*/
function str2binb(str)
{
var bin = Array();
var mask = (1 << chrsz) - 1;
for(var i = 0; i < str.length * chrsz; i += chrsz)
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (32 -
chrsz - i%32);
return bin;
}

/*
* Convert an array of big-endian words to a string
*/
function binb2str(bin)
{
var str = "";
var mask = (1 << chrsz) - 1;
for(var i = 0; i < bin.length * 32; i += chrsz)
str += String.fromCharCode((bin[i>>5] >>> (32 - chrsz -
i%32)) & mask);
return str;
}

/*
* Convert an array of big-endian words to a hex string.
*/
function binb2hex(binarray)
{
var hex_tab = hexcase ? "0123456789ABCDEF" :
"0123456789abcdef";
var str = "";
for(var i = 0; i < binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) &
0xF) +
hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) &
0xF);
}
return str;
}

/*
* Convert an array of big-endian words to a base-64 string
*/
function binb2b64(binarray)
{
var tab =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
+/";
var str = "";
for(var i = 0; i < binarray.length * 4; i += 3)
{
var triplet = (((binarray[i >> 2] >> 8 * (3 - i %4)) &
0xFF) << 16)
| (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) &
0xFF) << 8 )
| ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) &
0xFF);
for(var j = 0; j < 4; j++)
{
if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
}
}
return str;
}

<form name="form1">
<table align="center">
<tr><td colspan="2" bgcolor="#C0C0C0" align="center">CLCULO
DE DIGESTOS SHA-1</td></tr>
<tr>
<td>Mensagem:</td>
<td><input type="text" name="message" size="48"
value="abc"></td>
</tr>
<tr>
<td></td>
<td><input name="button" type="button"

onClick="document.form1.hash.value=hex_sha1(document.form1.mess
age.value)" value="Calcular Hash"></td>
</tr>
<tr bgcolor="#C0C0C0">
<td>Hash:</td>
<td><input type="text" name="hash" size="48" readonly></td>
</tr>
<tr align="center">
<td colspan="2" style="font-size: smaller">Observao: O
hash SHA-1 de abc
deve ser<br
/>a9993e364706816aba3e25717850c26c9cd0d89d</td>
</tr>
</table>
</form>

Fontes de referncia

FIPS 180-1
A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in
FIPS PUB 180-1
Movable Type Scripts - JavaScript da autoria de Chris Veness

Atualizao Dom, 06.12.2009 21:22

Criptografia de Chave Pblica


Algoritmos de chave pblica onde a cifragem feita atravs de
uma chave pblica e a decifrao feita atravs de uma chave
privada que no pode ser calculada com base na chave pblica.

10
Filtro: titulo Exibir #

Acesso
# Ttulo do Artigo Data Autor
s

Comunicao
vov
1 usando chave 03.10.07 9861
Vicki
pblica

Funes de mo vov
2 02.10.07 6708
nica Vicki

O algoritmo Diffie- vov


3 04.10.05 21665
Hellman Vicki

vov
4 Algoritmo RSA * 01.10.05 33975
Vicki
Comunicao
usando chave
pblica

1
2
3
4
5

(25 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Qua, 03.10.2007 10:46

Depois que Whitfield Diffie e Martin Hellman inventaram a criptografia de chave pblica
em 1976, a criptografia nunca mais foi a mesma: as chaves pblica e privada que
substituram a chave nica mudaram completamente o cenrio e as regras do jogo.

S para relembrar

Os algoritmos simtricos, tambm conhecidos como algoritmos de chave secreta ou


algoritmos de chave nica, dependem de uma prvia combinao entre os remetentes
sobre o uso de uma determinada chave. A segurana destes algoritmos reside
exclusivamente no segredo desta chave. Manter o segredo entre os remetentes j no
das coisas mais fceis - principalmente se forem mais de dois - e os problemas s
aumentam quando a distribuio desta chave entra em cena.

Um algoritmo simtrico pode ser comparado a um cofre. A chave a combinao do


cofre. Qualquer pessoa que conhea a combinao pode abri-lo, colocar uma mensagem
dentro dele e fech-lo novamente. Pessoas que tenham a combinao tambm podem
abri-lo e retirar documentos, mas aqueles que a desconhecem precisam aprender a
arrombar cofres.

A criptografia de chave pblica usa duas chaves diferentes, uma pblica e outra privada.
A chave pblica utilizada por qualquer pessoa que queira cifrar uma mensagem para o
proprietrio da chave privada. como se o dono da chave privada possusse um cofre
com uma abertura do tipo caixa de correio. Uma vez cifrada, a mensagem " colocada no
cofre" e no pode ser "retirada" (decifrada), a no ser pelo dono do cofre, o nico que
possui a combinao (a chave privada).

O universo da criptografia de chave pblica

Sob o ponto de vista matemtico, o processo da criptografia de chave pblica baseado


em funes de mo nica. Estas funes tm a caracterstica de serem fceis de calcular
e praticamente impossveis de serem revertidas (mais sobre o assunto em Funes de
mo nica). Na criptografia de chave pblica a cifragem do texto a parte fcil.
Qualquer pessoa pode cifrar o texto porque as instrues esto na chave pblica. A
decifrao que a parte difcil: sem conhecer o segredo, abrir a mensagem cifrada
pode levar milhares de anos mesmo se forem usados supercomputadores. O segredo,
tambm chamado de alapo da funo de mo nica, a chave privada.

Na rea da segurana da informao existem alguns personagens que j so velhos


conhecidos no jogo da comunicao. So Bob e Alice, os dois que querem trocar
mensagens sigilosas, e Eva, a espi bisbilhoteira. Veja a seguir como Bob e Alice trocam
mensagens usando criptografia de chave pblica:

1. Alice e Bob combinam usar um criptossistema de chave pblica.


2. Bob envia para Alice a sua chave pblica.
3. Alice cifra uma mensagem usando a chave pblica recebida e envia o texto
cifrado para Bob.
4. Bob decifra a mensagem de Alice usando sua chave privada.

Pela seqncia apresentada fica claro que a criptografia de chave pblica resolve o
problema da distribuio de chaves, caracterstico dos criptossistemas simtricos. Num
sistema convencional, Alice e Bob teriam que combinar o uso de uma chave. Digamos
que Alice escolhe uma e precisa fazer com que Bob tenha a mesma chave. Ela poderia
marcar um encontro e entreg-la pessoalmente a Bob ou envi-la pelo correio numa
carta registrada. Qualquer soluo que encontrar vai sempre implicar num planejamento
prvio e custar algum tempo. Isto no acontece com a criptografia de chave pblica,
pois, sem qualquer tipo de arranjo prvio, Alice pode enviar mensagens seguras para
Bob. Eva, a bisbilhoteira, pode monitorar o processo em qualquer ponto, pode conhecer
a chave pblica de Bob e pode interceptar a mensagem secreta de Alice. De nada vai
adiantar, pois precisa da chave privada de Bob para decifrar a mensagem.

O mais comum que usurios de determinados criptossistemas de chave pblica


guardem suas chaves pblicas num banco de dados. Neste caso, o protocolo ainda
mais simples:

1. Alice pega a chave pblica de Bob num banco de dados.


2. Alice cifra uma mensagem usando a chave pblica de Bob e envia o texto cifrado
para ele.
3. Bob decifra a mensagem de Alice usando sua chave privada.

No primeiro protocolo Bob precisou enviar sua chave pblica para Alice. No segundo, Bob
s envolvido no processo no momento em que resolve ler a mensagem.

Ataques contra a criptografia de chave pblica

Todo mundo est careca de saber que no existe sistema de segurana 100% perfeito -
e a criptografia de chave pblica no uma exceo. Para que um destes
criptossistemas possa ser efetivamente usado por milhes de pessoas, a existncia de
um banco de dados de acesso pblico que armazena todas as chaves pblicas
essencial. Comeou o enrosco...
O banco de dados precisa ser protegido e estar sob a responsabilidade de uma ou mais
pessoas de confiana. No jogo da segurana da comunicao, esta pessoa conhecida
por Trent. Eu prefiro cham-la de Pedro, como So Pedro, o guardio de todas as
chaves, principalmente as do cu

S Pedro pode alterar os registros do banco de dados, ou seja, ele garante que a chave
pblica de Bob pertence a Bob, a da Alice pertence mesmo a Alice e que a minha seja
realmente a minha. O cara que inferniza a vida do Pedro conhecido como Mallet e,
novamente, resolvi rebatizar o bacaninha com o apelido Mala. Resumindo: Pedro o
guardio do banco de dados e o Mala o esperto que quer passar a rasteira em Bob e
Alice.

Se o Mala for realmente esperto, ele consegue acessar o banco de dados e trocar a
chave pblica do Bob por uma da sua escolha. Alice, sem saber o que aconteceu, pega a
chave pblica de Bob (agora a do Mala), cifra uma mensagem e a envia para Bob. Bob
no consegue ler a mensagem de Alice, mas o Mala sim!

Mas isto no tudo. Mesmo se Pedro for ultra-eficiente impedindo o Mala de alterar
diretamente o banco de dados, ainda assim o Mala pode substituir chaves pblicas
durante as transmisses das mesmas porque Pedro trabalha em casa e atualiza o banco
de dados a partir do seu PC. Estando ciente deste perigo, Pedro resolve "assinar" cada
uma das chaves pblicas que envia para o banco de dados com a sua chave privada e,
como mostrou ser realmente confivel, foi promovido: passou a ser chamado
de Autoridade de Certificao de Chaves (Key Certification Authority) ou Centro de
Distribuio de Chaves (KDC - Key Distribution Center). Na vida real, o KDC assina
uma mensagem composta pelo nome do usurio, sua chave pblica e vrias informaes
adicionais referentes a este usurio. Esta mensagem assinada armazenada na ntegra
no banco de dados do KDC e, quando Alice requisitar a chave de Bob, ela pode verificar a
assinatura do KDC para ter a garantia de que a chave realmente verdadeira.

O assunto morreu aqui? Nem de longe! Apesar de todas as precaues, o Mala pode
continuar fazendo estragos, s que vai ter um pouco mais de trabalho com o KDC. Alice
ainda tem a chave pblica do KDC guardada em algum lugar. Se ele quiser "malar" vai
ter que substituir esta chave pela sua chave pblica, vai ter que corromper a base de
dados e vai ter que substituir as chaves vlidas pelas suas, todas assinadas com a sua
chave privada. Acho que at pro Mala seria pedir demais...

Atualizao Ter, 21.04.2009 21:46

Funes de mo nica

1
2
3
4
5

(12 votos, mdia 3.7 de 5)


Escrito por vov Vicki

Ter, 02.10.2007 18:33

A noo de funes de mo nica fundamental na criptografia de chave pblica. As


funes de mo nica, apesar de no serem um protocolo, so peas fundamentais na
construo dos algoritmos assimtricos, tambm conhecidos como algoritmos de chave
pblica.

O que so funes de mo nica

Funes de mo nica so funes relativamente fceis de calcular, mas quase


impossveis de reverter ou desfazer. Matematicamente falando, se tivermos o valor de x,
fcil calcular f(x), mas se tivermos o valor f(x), muito difcil encontrar o valor de x. O
"difcil" ou "quase impossvel" quer dizer que nem em um milho de anos todos os
computadores do mundo trabalhando juntos seriam capazes de calcular o valor reverso.

um exagero quando se afirma que funes de mo nica so absolutamente


irreversveis. Alis, nunca chegou a ser provado que tais funes realmente existam,
como tambm no existe nenhuma evidncia de que possam ser construdas. Apesar
disto, existem muitas funes que tm o jeito de mo nica: podemos calcul-las com
eficincia, mas, com os meios atuais, no se conhece um modo fcil de revert-las. Por
exemplo, x2 fcil de calcular, mas a raiz quadrada de x muito mais difcil de se obter.

Filosofanas parte, para dar continuidade a este texto vamos considerar as funes de
mo nica como sendo impossveis de serem revertidas.

Para o que servem funes de mo nica

Funes de mo nica no so apropriadas para encriptar mensagens porque o texto


cifrado no pode ser revertido para se obter novamente o texto claro. Se impossvel
obter o texto claro de uma mensagem cifrada com uma funo de mo nica, ento para
que todo este papo? Bem, que existem algumas funes deste tipo que possuem uma
passagem secreta ou alapo.

Uma funo de mo nica com alapo (trapdoor one-way function) mantm as


caractersticas da famlia (fcil de calcular e impossvel de reverter), mas, quando se
conhece o segredo, os dois clculos ficam fceis. A coisa mais ou menos assim:
conhecendo o valor de x, calcular o valor de f(x) fcil; calcular x conhecendo o valor
de f(x) impossvel; calcular x conhecendo f(x) e o segredo y fcil.

Uma caixa de correio uma boa comparao que pode ser feita com estas funes
especiais: a abertura da caixa pblica, qualquer um pode jogar uma carta dentro da
caixa. Abrir a caixa de correio j outra conversa: preciso detonar a caixa com uma
marreta ou a pessoa autorizada pode abri-la sem muito esforo porque possui a chave. A
criptografia de chave pblica funciona baseada neste princpio. Voc pode ler mais a
respeito no artigo Criptografia de chave pblica.
Funes hash de mo nica

Funes hash de mo nica possuem vrios nomes: funes de compresso, funes de


contrao, digesto de mensagem, impresso digital (fingerprint), checksum criptogrfico,
checagem de integridade de dados (DIC - data integrity check), cdigo de deteco de
manipulao (MDC - manipulation detection code), cdigo de autenticao de mensagem
(MAC - message authentication code) e cdigo de autenticao de dados (DAC - data
authentication code). Este monto de nomes tem uma explicao. As funes hash de
mo nica fazem parte de um novo filo criptogrfico descoberto recentemente. Os
autores precisavam dar nomes s suas descobertas para public-las e divulg-las nos
meios cientficos. medida em que foram sendo aplicadas na prtica, acabaram
recebendo mais alguns nomes e apelidos. Isto uma coisa tpica da modernidade.

As funes hash de mo nica (as hash manetas ) so mais nobres que as funes
hash simples, j so conhecidas h um bom tempo. Estas primas mais pobres (mas no
menos eficientes) recebem uma string e a transformam numa outra string de tamanho
fixo geralmente menor. Um exemplo bem simples uma funo hash que recebe como
entrada uma string e a transforma em um nico byte fazendo XOR com todos os bytes
da string de entrada. Qual seria a utilidade desta funo hash? A de criar uma impresso
digital para a string de entrada. Possuindo esta impresso digital podemos compar-la
com impresses digitais produzidas por outras strings de entrada e indicar se cada uma
das novas strings de entrada pode, ou no, ser igual string original. A certeza no
absoluta, mas a probabilidade de acertar muito grande. A "probabilidade de acertar
muito grande" quer dizer que strings diferentes podem gerar impresses digitais iguais.
Toda vez que isto for possvel, estamos falando de funes "muitas para uma", ou seja,
mais de uma entrada produz a mesma sada. Para um especialista no assunto, se ele
"sacar" a funo hash, bem... forjar uma string que produza a mesma impresso digital
no um bicho de sete cabeas.

J com uma funo hash de mo nica a coisa muda de figura. fcil gerar uma
impresso digital de uma string, mas muito difcil criar uma string que produza o
mesmo resultado. Isto aumenta consideravelmente o grau de confiana na comparao
de impresses digitais de strings e nos leva a um novo patamar de segurana. At que
algum aparea com novidades!

Atualizao Ter, 21.04.2009 21:50

O algoritmo Diffie-Hellman

1
2
3
4
5
(95 votos, mdia 4.7 de 5)
Escrito por vov Vicki

Ter, 04.10.2005 17:36

ndice do Artigo

O algoritmo Diffie-Hellman

O algoritmo

Teoria dos Nmeros

Conferindo os valores

Todas as pginas

O algoritmo Diffie-Hellman foi o primeiro algoritmo de chave pblica a ser inventado. Isto
signidica que seus autores tambm so os donos da idia. O algoritmo pode ser usado
para a distribuio de chaves, mas no para cifrar ou decifrar mensagens. Sua segurana
reside na dificuldade de calcular logaritmos discretos num campo finito comparada com a
facilidade de realizar exponenciaes no mesmo campo. Se voc ficou confuso com tudo
isto, no se preocupe. Leia o restante do texto e aprenda a mgica de Diffie-Hellman

Um pouco da histria

Whitfield

Diffie

Whitfield Diffie nasceu em Nova Iorque, EUA, em 1944. Desde criana tinha fascnio pela
matemtica e foi por isto que acabou estudando no MIT - Massachusetts Institute of
Technology, formando-se em 1965. Depois disto trabalhou com segurana de
computadores at que, em 1970, estava pronto para uma carreira solo - transformou-se
num dos poucos especialistas em segurana realmente independente, sem vnculos com o
governo ou com grandes corporaes. Seus cabelos longos e seu jeito de ser fazem de
Diffie uma espcie de hippie da alta tecnologia e, sem dvida alguma, pode ser
considerado o primeiro cypherpunk da histria.
Um dos problemas que mais chamava a ateno de Diffie era o problema da distribuio
de chaves. Acompanhando a evoluo da organizao de pesquisa ARPA (Advanced
Research Projects Agency), fundada pelo Departamento de Defesa dos EUA, a qual, em
1969, criou o sistema de comunicao em rede chamado de ARPANet, Diffie sentia que
uma revoluo estava prestes a acontecer e que o projeto abria as portas para o
desenvolvimento de uma supervia de comunicao. O tempo mostrou que seu
prognstico estava certo (em 1982 nascia a Internet) e que sua preocupao com o sigilo
e a privacidade dos usurios de uma grande rede era mais do que justificado. Neste
contexto, sabia que a criptografia se transformaria numa ferramenta essencial e que o
problema da distribuio de chaves se tornaria especialmente agudo.

Martin

/> Hellman

Em 1974 Diffie foi convidado para dar uma palestra na IBM e o tema, como no poderia
deixar de ser, foi sobre as vrias estratgias de ataque distribuio de chaves e
propostas para algumas solues. A reao dos ouvintes no foi das mais calorosas. Os
monstros sagrados da IBM, assim como todo mundo, tinham a idia preconcebida de que
este era um problema insolvel (e no seria um cabeludo que iria mudar as coisas). A
nica resposta positiva foi a de Alan Konheim, um dos especialistas em criptografia da
IBM. Comentou que Martin Hellman, professor da Universidade de Stanford, Califrnia,
tambm havia proferido uma palestra destacando o problema da distribuio de chaves.
Foi o que bastou para Diffie atravessar os EUA procura da pessoa que, aparentemente,
era a nica que compartilhava suas opinies.

Martin Hellman nasceu no Bronx, Nova Iorque, EUA, em 1945. Judeu numa vizinhana
catlica, teve problemas de autoafirmao desde a infncia. Ele conta que este foi um dos
motivos pelos quais comeou a se interessar pela criptografia - j que era diferente,
queria ser diferente de vez. At a inesperada visita de Diffie em 1974, o famoso livro de
David Kahn, The Codebreakers, tinha sido o livro de cabeceira e a nica fonte de
informao de Hellman. Depois de uma meia hora de conversa, um estava impressionado
com o conhecimento do outro e perceberam que no estavam mais sozinhos na busca de
uma soluo "impossvel". Apesar das evidentes diferenas de personalidade, este foi o
comeo de uma grande amizade e companheirismo. Imediatamente comearam a
arquitetar um plano para poderem trabalhar juntos. Como Diffie no tinha condies de
contratar o novo amigo como pesquisador, Hellman resolveu registrar Diffie como
estudante graduado de Stanford. E a peregrinao comeou...

Ralph Merkle

Aps algum tempo de trabalho conjunto, Ralph Merkle se juntou aos dois. Merkle era um
refugiado intelectual de um outro grupo de pesquisa cujo professor no simpatizava nem
um pouquinho com as idias mirabolantes de distribuio de chaves de Merkle. Era o
"maluco beleza" ideal e sua ajuda era mais do que bem vinda. Estava formado o trio, os
trs mosqueteiros desta histria.

O problema da distribuio de chaves

O problema da distribuio de chaves o mesmo que o do ovo e da galinha. Se duas


pessoas quiserem trocar mensagens secretas, elas precisam cifrar as mensagens. Para
cifr-las e decifr-las, precisam de uma chave secreta. Como esta chave tambm precisa
ser transmitida, teria que ser cifrada com outra chave, e assim indefinidamente.

Uma forma bastante simples de resolver o problema das chaves seria usar cadeados.
Digamos que Maria queira enviar uma mensagem para Joo. Ela coloca a mensagem
numa caixa de metal, fecha a caixa com um cadeado (s ela tem a chave deste cadeado)
e a envia para Joo. Joo tambm coloca um cadeado na caixa (s ele tem a chave deste
segundo cadeado) e devolve a caixa para Maria. Ao receber a caixa, Maria abre e retira o
seu cadeado e, novamente, envia a caixa para Joo. Agora, Joo pode tirar o seu
cadeado, abrir a caixa e ler a mensagem. Esquema perfeito? Quase...

Funes matemticas

Se as funes matemticas necessrias para cifrar uma mensagem tivessem um


comportamento igual ao dos cadeados, a soluo encontrada por Joo e Maria seria
perfeita. Infelizmente, este no o caso As funes matemticas precisam ser
"retiradas" na ordem inversa em que foram "colocadas", o que no necessrio quando
se trata de cadeados. Apesar disto, este foi o ponto de partida usado por Diffie e Hellman.

A maioria das funes matemticas so facilmente reversveis e, por este motivo, podem
ser chamadas de funes bidirecionais (eu costumo cham-las de funes gangorra ).
Uma funo multiplicativa reversvel, fcil de resolver e um timo exemplo. Digamos
que f(x) = 2x. Neste caso, se x = 3, ento f(x) = 2 x 3 = 6. Conhecendo a funo pode-
se calcular x com rapidez, independentemente do tamanho do resultado da funo. Por
exemplo, se f(x) = 1000, podemos fazer a conta de cabea e chegar em x = 500. At a,
nada de muito especial. Acontece que Diffie e Hellman estavam concentrando esforos na
procura de uma funo unidirecional ou de mo nica.

Podemos definir uma funo unidirecional como sendo uma funo que no tem volta
(esta seria a verdadeira funo unidirecional) ou cuja volta to complicada ou demorada
que, na prtica, a volta se torna invivel.

A aritmtica modular

Uma excelente fonte de funes unidirecionais a aritmtica modular. A aritmtica


modular uma rea da matemtica onde se lida com uma quantidade finita de nmeros
arranjados como num mostrador de relgio. Por isto a aritmtica modular tambm
conhecida como aritmtica circular. Usando o mostrador do relgio como exemplo, fcil
entender como funciona. A primeira coisa saber que o mostrador possui apenas 12
nmeros, portanto, o relgio mostra as horas em mdulo 12 (este o campo finito citado
na introduo). Apesar desta limitao, costumamos dizer, por exemplo, 15 horas. Como
estamos acostumados a raciocinar neste mdulo, imediatamente sabemos que o ponteiro
das horas est no 3. Na verdade fizemos um pequeno clculo mental (15 - 12 = 3) que
infelizmente no to eficiente quando falamos, por exemplo, 43 horas. Onde estar o
mostrador do relgio quando so 43 horas? Estar no 7 porque o ponteiro deu 3 voltas
completas (3 x 12 = 36) e depois avanou mais 7 posies (43 - 36 = 7). Resumindo,
para achar o mdulo de um nmero (ou de uma operao), divide-se este nmero (ou o
resultado) pelo mdulo e se considera apenas o resto.

43 (mod 12) = 43 12 = 3 com resto 7 --> 43 (mod 12) =


7
59 (mod 5) = 59 5 = 11 com resto 4 --> 59 (mod 5) =
4

da mesma forma

2 + 3 (mod 7) = 5 porque 5 7 = 0 com resto 5


2 + 9 (mod 7) = 4 porque 11 7 = 1 com resto 4
3 x 3 (mod 7) = 2 porque 9 7 = 1 com resto 2

O comportamento errtico dos resultados modulares faz com que a reverso de uma
operao modular seja bem mais trabalhosa do que a reverso de uma operao normal.
Se considerarmos a funo 4x, por exemplo, medida que o valor de x aumentar, o valor
do resultado tambm aumenta. A mesma funo em qualquer mdulo, no entanto, no
mostra a mesma linearidade. Observe a seguir:

41 = 4 41 (mod 11) = 4
42 = 16 42 (mod 11) = 5
43 = 64 43 (mod 11) = 9
44 = 256 44 (mod 11) = 3
45 = 1024 45 (mod 11) = 1

Quando os valores so pequenos, como os mostrados no exemplo, montar uma tabela


para encontrar o valor de xprocurado no nenhum bicho de sete cabeas. Mas imagine
encontrar pela frente alguma coisa como 1793x (mod 32748) ou outros nmeros bem
maiores. Em primeiro lugar j haveria um problema com as calculadoras (e, dependendo
do tamanho dos nmeros, at com o computador) e, em segundo lugar, o processo pode
ser to demorado que voc levaria a vida inteira para achar o resultado correto. por isto
que este um exemplo clssico de funo unidirecional.

Como pesquisadores tarimbados, Diffie e Hellman sabiam que nada podia ser desprezado,
mesmo aquilo que parecesse ser coisa que as crianas aprendem no primeiro grau.
Depois de dois anos de trabalho com as funes unidirecionais oferecidas pela aritmtica
modular, Hellman finalmente conseguiu provar o que at ento era considerado
impossvel: remetente e destinatrio poderiam usar uma estratgia que punha o
problema da distribuio de chaves a nocaute!

O algoritmo Diffie-Hellman
No incio de 1976, Hellman estava analisando um axioma que j existe h algumas
centenas de anos. A idia era usar a funo na forma de

gx (mod n)

Para que a mgica funcionasse, havia algumas restries:

g (a base) precisa ser menor do que n (o mdulo)


e
g precisa ser maior do que 1

Para obter as chaves, Joo e Maria podem trocar informaes abertamente, sem a
mnima preocupao com algum que esteja presente ou que eventualmente esteja
interceptando estas informaes. Em apenas 4 etapas, os dois tero uma chave secreta.

1. A escolha da base e do mdulo

Inicialmente Joo e Maria escolhem dois nmeros grandes, um para a base g e um para o
mdulo n, obedecendo as restries citadas acima. Esta escolha no necessariamente
envolve apenas os dois, mais pessoas podem participar do grupo de usurios. Para
facilitar, ser usado um exemplo com nmeros pequenos e apenas com Joo e Maria.
Digamos que eles, durante o intervalo das aulas, tenham concordado com

g = 7
e
n = 11

2. A escolha dos expoentes

Depois, na privacidade da sua casa, Joo escolhe um expoente x bem grande. Este
nmero Joo mantm cuidadosamente em segredo. Maria faz a mesma coisa e tambm
mantm sua escolha em segredo. De posse dos seus expoentes, os dois calculam o
resultado da funo:

MARIA JOO
-------------------------- ---------------------
-----
x = 6 y = 3

M = 76 (mod 11) J = 73 (mod 11)


M = 117649 (mod 11) J = 343 (mod 11)
M = 4 J = 2

3. A troca de resultados

No dia seguinte, os dois se encontram novamente no intervalo das aulas. Maria entrega o
resultado obtido (M=4) para Joo e este entrega o resultado que obteve (J=2) para
Maria. Mais uma vez, nenhum dos dois est preocupado que algum tome conhecimento
destes nmeros.

4. O clculo da chave secreta


Com o resultado obtido pelo outro, Joo e Maria voltam a fazer clculos em particular.
Usam a mesma funo s que, desta vez, a base usada por Maria o resultado obtido por
Joo e a base usada por Joo o resultado obtido por Maria. Os expoentes continuam
sendo os previamente escolhidos:

MARIA JOO
-------------------------- --------------------
------
x = 6 y = 3

J' = 26 (mod 11) M' = 43 (mod 11)


J' = 64 (mod 11) M' = 64 (mod 11)
J' = 9 M' = 9

Como num passe de mgica, ambos chegaram ao mesmo resultado e agora possuem
uma chave secreta em comum

Algumas consideraes

A chave secreta nada mais do que gxy (mod n). Para confirmar, basta fazer os clculos:

gxy (mod n) = 76 x 3 (mod 11)


= 718 (mod 11)
= 1.628.413.597.910.449 (mod 11)
= 9

Mesmo que se conhea os valores de g, n, M e J no possvel calcular o valor da chave


secreta. Se usarmos o mtodo das tentativas (ou seja, a fora bruta) poderemos
encontrar inmeros valores que fecham as primeiras equaes. Por exemplo, no caso de
Maria, os valores possveis de x so 6, 16, 26, ..., 6 + 10n e, no caso de Joo, os valores
possveis de y so 3, 13, 23, ..., 3 + 10n. Tanto x quanto y podem ter infinitos valores de
acordo com as progresses aritmticas citadas e estes valores precisariam ser agrupados
em todos os pares possveis para tentar encontrar a chave - uma tarefa impossvel de ser
realizada se os valores escolhidos forem grandes o suficiente.

Mas no so apenas os valores suficientemente grandes dos expoentes que conferem


segurana a este sistema. A escolha de g e n tambm tem uma influncia acentuada. O
mdulo n deve ser um nmero primo e, mais importante do que isto, (n-1)/2 tambm
deve ser um nmero primo. A base g, por sua vez, deve ser uma raiz primitiva no mdulo
n (mais sobre o assunto logo a seguir). Agora, o mais importante de tudo que n deve
ser grande, ter no mnimo 512 bits (ou seja, ter 64 bytes, o que o mesmo que 64
algarismos). Usar 1028 bits seria mais seguro.

Operaes modulares da Teoria dos Nmeros


Normalmente as operaes modulares e os nmeros primos so conceitos fceis de
serem absorvidos. Estes conceitos fazem parte da Teoria dos Nmeros, uma rea da
matemtica que lida apenas com nmeros inteiros. Uma das coisas que sempre me
chamou a ateno que os matemticos adoram encontrar particularidades e certas
caractersticas de comportamento dos nmeros. Como no sou matemtica, vejo isto
como uma mania de querer descobrir a personalidade dos nmeros, o que transforma a
matemtica numa investigao de detetive, num jogo de caa ao tesouro ou numa
brincadeira de "o que , o que ?". Isto me ajuda um bocado

Raiz Primitiva

Por exemplo, fui dar uma olhada no que a raiz primitiva de um mdulo. Descobri que
um nmero g a raiz primitiva de um mdulo n quando este nmero elevado s
potncias de 1 at n-1 (mod n) fornecer todos os resduos possveis deste mdulo. Por
exemplo, 3 uma raiz primitiva do (mod 5) porque:

31 (mod 5) = 3 (mod 5) = 3
32 (mod 5) = 9 (mod 5) = 4
33 (mod 5) = 27 (mod 5) = 2
34 (mod 5) = 81 (mod 5) = 1

Estas operaes resultaram em todos os resduos que o mdulo 5 pode oferecer. O fato
de no estarem em ordem no tem importncia, pois a premissa que todos apaream
uma vez. Apenas para fixar esta noo, observe o comportamento de 4 no mdulo 5:

41 (mod 5) = 4 (mod 5) = 4
42 (mod 5) = 16 (mod 5) = 1
43 (mod 5) = 64 (mod 5) = 4
44 (mod 5) = 256 (mod 5) = 1

Estes clculos nos mostram que 4 no uma raiz primitiva do mdulo 5. Quando o valor
dos mdulos pequeno, pode-se fazer o clculo com lpis e papel, mas, se o valor do
mdulo for muito grande, a calculadora no vai ter espao para os dgitos e os clculos
vo levar um tempo enorme. Ainda bem que os matemticos acham atalhos que facilitam
a nossa vida. Conforme Burton publicou em 1986, um dos atalhos que podemos pegar

Se o MDC(g,n)=1 (ou seja, g e n so primos entre si)


e a ordem multiplicativa de g (mod n) for igual a (n),
onde (n) a funo totiente,
ento g uma raiz primitiva do mdulo n.

Deu n na sua cabea? Pra falar a verdade, na minha tambm deu. que esto faltando
algumas peas para resolver este quebra-cabea. O MDC, ou mximo divisor comum, no
tem segredos. J a ordem multiplicativa e a funo totiente...

Ordem Multiplicativa

O jeito ir por partes. A ordem multiplicativa, tambm chamada de ordem


modular, Haupt-exponent (expoente principal) ou simplesmente ordem, uma
caracterstica dos mdulos (mais um dos seus traos de pesonalidade ) Se obtivermos
a resposta para a pergunta "Qual o expoente de um nmero (mod n) para que o
resultado seja 1?", saberemos a ordem deste nmero neste mdulo. Por exemplo, a
ordem de 2 (mod 7) igual a 3 porque 21 (mod 7) = 2, 22 (mod 7) = 4 e 23 (mod 7) = 1.
Como o resultado procurado o expoente 3, a ordem multiplicativa de 2 (mod 7) = 3.
Reveja os clculos que foram feitos para achar uma das razes primitivas do mdulo 5.
Eles tambm nos mostram que a ordem de 3 (mod 5) = 4.

Mas, e se o mdulo for muito grande? Ser que precisamos calcular um monte de
potncias mdulo at descobrir qual a ordem multiplicativa de um nmero neste
mdulo? Alguns matemticos famosos j cuidaram disso, facilitando as coisas para ns.

O Pequeno Teorema de Fermat

Fermat nos conta que, se o mdulo n for um nmero primo e se o nmero g no for um
mltiplo de n, ento a ordem multiplicativa do nmero g no mdulo n igual a n-1
porque

gn-1 (mod n) = 1

Funo Totiente de Euler

A funo totiente de Euler, tambm conhecida como funo phi de Euler, designada por
phi(n) ou (n). Esta funo, onde o n representa um mdulo, nos revela mais uma faceta
modular: indica quantos resduos (os restos das divises) deste mdulo so primos em
relao a n. Por exemplo, no mdulo 6, os resduos possveis vo de 1 a 5. Como o valor
zero indica ausncia de resduo, ele no considerado. Agora, comparando 6 com cada
elemento do conjunto de resduos possveis, quando que estes nmeros so primos
entre si? Acompanhe:

6 e 1 --> Sim, o nico divisor comum 1, ou seja, MDC(6,


1) = 1
6 e 2 --> No, ambos so divisveis por 1 e 2
6 e 3 --> No, ambos so divisveis por 1 e 3
6 e 4 --> No, ambos so divisveis por 1 e 2
6 e 5 --> Sim, MDC(6, 5) = 1

De acordo com os resultados, (6) representado pelo conjunto de dois elementos {1,
5}, ou seja, (6) = 2. A acontece mais uma coisa interessante: quando n for um nmero
primo, todos os resduos so relativamente primos a n. Se soubermos disso de antemo,
no ser preciso calcular nenhum MDC, s lembrar que o zero a ausncia de resduo.
Ento, (7) = 6, (5) = 4 e, generalizando, (n) = n - 1 E tem mais uma dica. Se o
mdulo for um nmero composto por dois fatores primos p e q, ento

phi(n) ou (n) = (p - 1) x (q - 1)

Para conferir, basta fazer as contas com o mdulo 6. Como 6 composto pelos nmeros
primos 2 e 3, ento phi(6) = (2 - 1) x (3 - 1) = 1 x 2 = 2. Guarde bem esta ltima
frmula porque ela aparece uma poro de vezes em algoritmos de chave pblica!

Mas Euler tambm nos forneceu uma outra ferramenta muito til que serve para calcular
a ordem multiplicativa de um nmero num mdulo que no seja primo. Acabamos de ver
que Fermat quebrou o galho para os mdulos que so primos. Euler generalizou o
Pequeno Teorema de Fermat e quebrou um galho ainda maior.

A generalizao de Euler do Pequeno Teorema de Fermat

Euler nos ensina que, se o MDC(g, n) = 1, ou seja, se o nmero g e o mdulo n forem


primos entre si, ento a ordem multiplicativa de g (mod n) igual a phi(n) porque

g(n) (mod n) = 1

Conferindo a raiz primitiva calculada no incio

No exemplo 3 (mod 5), de acordo com aquela afirmao de Burton que deu n na minha
cabea, se a ordem multiplicativa 3 (mod 5) e a funo totiente phi(5) forem iguais,
ento 3 uma raiz primitiva do mdulo 5. Por outro lado, se os resultados forem
diferentes, 3 no uma raiz primitiva do mdulo 5. Como j fizemos os clculos e
determinamos que 3 uma raiz primitiva do mdulo 5, ento a ordem multiplicativa de 3
(mod 5) e phi(5) precisam ser iguais. Burton parece ter razo, elas so mesmo iguais:
ordem multiplicativa de 3 (mod 5) = 4 e phi(5) = 4.

Raiz primitiva de um mdulo grande

As ferramentas citadas neste texto ajudam a provar com rapidez se determinado nmero
ou no uma raiz primitiva de determinado mdulo, mesmo quando este mdulo tiver
um valor muito grande. Veja mais um exemplo: 143 uma raiz primitiva do mdulo
1142? Para responder esta pergunta, a primeira providncia verificar se 143 e 1142 so
primos entre si:

143 | 11
13 | 13 --> Os divisores de 143 so 11, 13 e 1
1 |

1142 | 2
571 | 571 --> Os divisores de 1142 so 2, 571 e 1
1 |

O nico e o mximo divisor que estes nmeros tm em comum


1, ou seja

MDC(143, 1142) = 1 mostra que 143 e 1142 so primos entre


si.

A seguir, calculamos o phi(1142). Como 1142 um nmero composto pelos fatores 571 e
2, o phi(1142) pode ser calculado de acordo com a frmula

phi(n) = (p - 1) x (q - 1)

phi(1142) = (571 - 1) x (2 - 1) = 570

Agora s confirmar se a ordem multiplicativa de 143 (mod 1142) tambm igual a 570,
ou seja, se 143570 (mod 1142) = 1. Como o mdulo 1142 no um nmero primo, no
vamos poder usar o Pequeno Teorema de Fermat, mas, em compensao, como o
MDC(143, 1142) = 1, eles so primos entre si e podemos apelar para a generalizao que
Euler fez deste teorema, o qual nos diz que:

g(n) (mod n) = 1

ou seja, de acordo com Euler,

143(1142) (mod 1142) = 1


143570 (mod 1142) = 1

e, se ainda houver dvidas, s calcular para verificar


que

3,4796964099440242706248097324932e+1228 (mod 1142) = 1

Conferindo os valores de Joo e Maria

Ser que nossos amigos cuidaram para que os valores usados com o algoritmo Diffie-
Hellman realmente oferecessem o mximo de segurana possvel? Descontando o fato de
que propositalmente foram escolhidos valores pequenos para a base e para o mdulo
afim de facilitar o acompanhamento do exemplo, ainda falta avaliar alguns itens
da checklist:

O mdulo n deve ser um nmero primo: o mdulo escolhido foi 11, que primo -
-> OK
(n-1)/2 tambm precisa ser primo: (11 - 1) / 2 = 10 / 2 = 5, que primo --> OK
A base g precisa ser uma raiz primitiva no mdulo n: OK (veja abaixo)

Os escolhidos foram g = 7 e n = 11.

MDC(7, 11) = 1 (so primos entre si)

phi(11) = (11 - 1) = 10 (phi de nmero primo)

Como n primo e g no um mltiplo de n,


o Pequeno Teorema de Fermat aplicvel:

710 (mod 11) =


282.475.249 (mod 11) = 1 (a ordem multiplicativa de 7
(mod 11) 10)

phi(11) = 10 |
| --> 7 uma raiz primitiva no
mdulo 11
ordem 7 (mod 11) = 10 |
Diffie-Hellman estendido

V. S. Miller e Kevin McCurley estenderam este algoritmo para curvas elpticas e Taher
ElGamal usou a idia bsica para desenvolver um algoritmo de encriptao e de
assinatura digital. Alm disso, o protocolo de troca de chaves pode ser facilmente
estendido para atender trs ou mais pessoas. Se Joo, Maria e Onofre quiserem gerar
uma chave secreta, o procedimento o seguinte:

1. Maria escolhe um inteiro grande qualquer x e calcula


X = gx (mod n)
2. Joo escolhe um inteiro grande qualquer y e calcula
Y = gy (mod n)
3. Onofre escolhe um inteiro grande qualquer z e calcula
Z = gz (mod n)
4. Maria envia X para Joo, Joo envia Y para Onofre e
Onofre envia Z para Maria.
5. Maria calcula Z' = Zx (mod n)
6. Joo calcula X' = Xy (mod n)
7. Onofre calcula Y' = Yz (mod n)
8. Maria envia Z' para Joo, Joo envia X' para Onofre e
Onofre envia Y' para Maria.
9. Maria calcula k = Y'x (mod n)
10. Joo calcula k = Z'y (mod n)
11. Onofre calcula k = X'z (mod n)

A chave secreta k igual a gxyz (mod n) e este protocolo pode ser facilmente estendido
para quatro ou mais pessoas.

Sugestes

Se voc precisar de mais algumas ferramentas on line, procure-as na Escolinha da Aldeia


na Caixa de Ferramentas. Sugestes: MDC - Mximo Divisor Comum, Este nmero
primo?, Aritmtica Modular, Logaritmos e Potenciao. Divirtam-se com o Diffie-Hellman
e um grande abrao da

vov Vicki

Fontes

Bruce Schneier, "Applied Cryptography"


Simon Singh, "O Livro dos Cdigos"
Number Theory - Congruences
David Morgan, Primitive roots and Diffie-Hellman key exchange>/li>

Atualizao Ter, 14.04.2009 14:44


Algoritmo RSA *

1
2
3
4
5

(133 votos, mdia 4.8 de 5)


Escrito por vov Vicki

Sb, 01.10.2005 20:29

ndice do Artigo

Algoritmo RSA *

Cifrar mensagem

Decifrar mensagem

RSA on line

Todas as pginas

O RSA um algoritmo de chave pblica idealizado por Ron Rivest, Adi Shamir e Leonard
Adleman. O nome do algoritmo deriva das iniciais dos sobrenomes dos autores. Desde
1977, Diffie, Hellman e Merkle so considerados os inventores do conceito do algoritmo
assimtrico e, desde 1978, Rivest, Shamir e Adleman so admirados por terem criado a
implementao mais perfeita da criptografia de chave pblica.

Os bastidores
Ron Rivest

Como era o trio de pesquisadores do Laboratrio de Cincia da Computao do MIT em


1976? Ron Rivest um jovem cientista da computao, dono de uma curiosidade cientfica
insacivel e de uma imensa capacidade de absorver e aplicar novas idias. Assim que leu o
trabalho publicado por Diffie, Hellman e Merkle, ficou obcecado pelo assunto e passou a
procurar sem descanso uma funo matemtica que pudesse transformar a idia dos trs
criptlogos num sistema real e vivel. Alm disso, Rivest acabou "contaminando" um
colega, Adi Shamir, tambm cientista da computao. Shamir, conhecido pelo seu intelecto
brilhante, mordeu a isca. Os dois conjecturavam insistentemente procura de uma cifra
assimtrica produzindo teorias mirabolantes que, uma aps a outra, eram contestadas pelo
terceiro colega, Leonard Adleman. Depois de quase um ano de brainstorming, Adleman,
um matemtico calmo e detalhista, estava ganhando de mil a zero, pois, at ento, todas
as sugestes de Rivest e Shamir tinham falhas imperdoveis.

Adi Shamir

A esperana estava quase se esgotando quando Rivest, no meio de uma noite de insnia,
lembrou-se de uma particularidade da matemtica. Era muito simples e provavelmente
havia tomado conhecimento do assunto quando ainda estava na escola primria: a
fatorao. Multiplicar dois nmeros primos uma questo de segundos mas, se temos
apenas o resultado e quisermos encontrar os nmeros primos (fatores) deste resultado, o
processo bem mais demorado. medida que multiplicamos nmeros primos cada vez
maiores, o tempo gasto para fatorar o resultado aumenta exponencialmente. Talvez esta
funo fosse a resposta to procurada!

A noite foi definitivamente de insnia. Rivest escreveu at o romper do dia e, logo de


manh, foi procurar seu "advogado do diabo". Adleman, acostumado com as exploses
intelectuais do amigo, comeou a ler o texto preparando-se para encontrar defeitos. Leu,
releu e, para o espanto dos dois, no havia nada para ser contestado. Nascia o primeiro
algoritmo de chave pblica, a primeira cifra assimtrica perfeitamente acabada.

Leonard
Adleman

Mais uma curiosidade: Rivest havia batizado o algoritmo de ARS, colocando as iniciais do
sobrenome do trio pesquisador em ordem alfabtica. Adleman protestou porque achava
que tinha contribudo pouco e porque no via futuro algum na publicao do trabalho.
Pediu inclusive que seu nome fosse retirado. Rivest, ciente da importncia do papel
desempenhado por cada um, pediu que Adleman pensasse melhor no assunto e desse a
sua resposta no dia seguinte. No querendo magoar os amigos, Adleman concordou que
seu nome fosse citado em ltimo lugar, motivo pelo qual a cifra foi rebatizada e passou a
ser chamada de RSA.

Noes de Aritmtica

Os conhecimentos necessrios para entender o RSA so bsicos. Antes de mais nada,


preciso lembrar que um nmero primo um nmero diferente de 1 que s divisvel
exatamente por 1 ou por ele mesmo. Assim, 3 um nmero primo porque s tem uma
diviso exata quando dividido por 1 ou por 3. J o nmero 4 no primo porque pode ser
dividido exatamente por 1, 2 e 4. Se o nmero 4 no um nmero primo, ento pode ser
fatorado, ou seja, pode-se encontrar os nmeros primos que, multiplicados, resultam em 4
(no caso, 2 x 2).

Existem alguns nmeros conhecidos como primos entre si. Dois nmeros inteiros so ditos
primos entre si quando no existir um divisor maior do que 1 que divida ambos. Isto
significa que o mximo divisor comum dos primos entre si igual a 1.

Outro conceito necessrio a aritmtica modular. Na aritmtica modular no dispomos de


uma quantidade infinita de nmeros, mas de um grupo finito deles. O melhor exemplo o
mostrador do relgio que, por sinal, trabalha no mdulo 12. Quando o mostrador passa do
12, no tem como mostrar 13 horas porque o conjunto dos nmeros disponveis vai de 1 a
12. Desta forma, 12 horas + 1 hora = 1 e 9 horas + 8 horas = 5. Costuma-se escrever
estas operaes da seguinte forma: 12 + 1 = 1 (mod 12) e 9 + 8 = 5 (mod 12).

x 1 2 3 4 5 6 O modo de se encontrar um resultado modular


dividindo o resultado no modular pelo mdulo e
considerar o resto. Por exemplo, 9 + 8 = 17 e 17
3x 3 9 27 81 243 729 12 = 1 com resto 5. Da mesma forma, 11 x 9 (mod
13) 11 x 9 = 99 e 99 13 = 7 com resto 8, ou
3x (mod 7) 3 2 6 4 5 1 seja, 11 x 9 = 8 (mod 13). Podemos complicar um
pouco as coisas e considerar uma potenciao.
Digamos que a base seja 3 e que este nmero seja
Tabela 1 elevado a um nmero qualquer que chamaremos de
Comportamento errtico x. Para analisar o comportamento da funo 3x (mod
da funo 3x (mod 7) 7) acompanhe os resultados obtidos na tabela 1. Na
operao normal, os valores encontrados so
crescentes. J na operao modular, os resultados
so errticos e difceis de predizer.

Pois bem, por mais incrvel que possa parecer, para entender a mecnica do algoritmo RSA
no preciso mais do que isto!

A mecnica do algoritmo RSA

Rivest, Shamir e Adleman criaram um funo especial que praticamente pode ser
considerada unidirecional (ou de mo nica). As funes unidirecionais autnticas no tm
volta, ou seja, o resultado no pode ser revertido para os valores iniciais. A funo do RSA
to complicada ou to demorada de ser revertida que, para efeitos prticos, pode ser
considerada como uma funo de mo nica. O algoritmo pode ser dividido em 6 fases, a
saber:
1. Escolha de dois nmeros primos gigantes

O destinatrio ou dono da chave privada deve escolher dois nmeros primos. Quanto
maiores forem estes nmeros, maior ser a segurana obtida. Estes nmeros so
identificados por p e q e devem ser mantidos em segredo. Para facilitar o
acompanhamento do processo, usaremos um exemplo com nmeros primos
pequenos: p = 19 e q = 23.

2. Clculo da chave pblica

Escolhidos os nmeros primos secretos, o destinatrio multiplica-os para obter um novo


nmero N, ou seja:

N = p x q
N = 19 x 23
N = 437

A seguir, escolhe um nmero e que no tenha fatores comuns com (p-1) x (q-1). Isto o
mesmo que dizer que e e (p-1) x ( q-1) precisam ser primos entre si:

(p-1) x (q-1) = 18 x 22
(p-1) x (q-1) = 396

Fatorando o resultado 396, obtemos o seguinte (lembra das aulas de aritmtica do


primeiro grau?):

396 | 2
198 | 2
99 | 3
33 | 3
11 | 11
1 |

ou seja, 396 = 2 x 2 x 3 x 3 x 11

Para que e e 396 sejam primos entre si, o valor de e no pode ser divisvel nem por 2,
nem por 3 e nem por 11. Digamos que o nmero escolhido tenha sido 13.

Estes dois nmeros, N = 437 e e = 13 so a chave pblica.

3. Clculo da chave privada

Aqui cabe mais uma explicao aritmtica. O inverso de um nmero inteiro 1 dividido por
este nmero. Por exemplo, o inverso de 3 1/3 porque 3 x 1/3 = 1 e o inverso de 18
1/18 porque 18 x 1/18 = 1. Este conceito tambm pode ser aplicado aritmtica modular.

Considere 5 (mod 14). O resultado 5 porque 5 14 = 0 com resto 5. O inverso de 5


(mod 14) precisa ser um nmero que, multiplicando 5, resulte 1 no mdulo 14 (assim
como 3 x 1/3 = 1). Neste caso, o clculo do inverso no uma tarefa trivial. Como os
nmeros do exemplo so pequenos, podemos achar o inverso de 5 (mod 14) por tentativa:

5 x 1 (mod 14) = 5 (mod 14) = 5


5 x 2 (mod 14) = 10 (mod 14) = 10
5 x 3 (mod 14) = 15 (mod 14) = 1 <----

Se chamarmos 5 de a, o mdulo de n e a varivel que multiplica 5 de y, podemos


generalizar o problema do inverso de um mdulo como a x y (mod n) = 1 onde precisamos
encontrar o valor de y. O inverso de um mdulo tambm conhecido como reduo
modular. importante saber que nem todas as redues modulares tm solues. Por
exemplo, 2 no tem um inverso no mdulo 14. De modo geral, quando a e n so primos
entre si, existe uma soluo nica e, quando a e n no so primos entre si, no existe uma
soluo.

Para calcular a chave privada ser preciso fazer uma reduo modular. No exemplo que
est sendo usado, a reduo modular 13 (mod 396). O clculo de um inverso modular
por tentativa pode ser um processo muito demorado e existem formas mais elegantes de
resolver o problema. Uma delas o algoritmo de Euclides estendido que ser aplicado
no nosso exemplo.

(1) 13 396 = 0 com resto 13 ... divide-se o


valor pelo mdulo
(2) 396 13 = 30 com resto 6 ... divide-se o
divisor anterior pelo resto
(3) 13 6 = 2 com resto 1 ... divide-se o
divisor anterior pelo resto
6 1 = 6 com resto 0 ... divide-se o
divisor anterior pelo resto

Na verdade, o clculo acima nada mais do que o clculo do mximo divisor comum entre
13 e 396, comumente expresso como MDC(13,396). Como o ltimo divisor com resto zero
(diviso exata) 1, sabemos que o MDC(13,396) = 1. Este o algoritmo de Euclides que
tambm serve para determinar se os nmeros so primos entre si.

O algoritmo de Euclides estendido usa apenas os restos diferentes de zero das divises
mostradas acima. Estes podem ser expressos da seguinte maneira:

(1) 13 = (1 x 13) - (0 x 396)


13 = (1 x 13)

(2) 6 = (1 x 396) - (30 x 13) ... e como (1)


nos diz que 13 = (1 x 13)
6 = (1 x 396) - (30 x (1 x 13))
6 = (1 x 396) - (30 x 13)

(3) 1 = (1 x 13) - (2 x 6) ... e como (2)


nos diz que 6 = (1 x 396) - (30 x 13)
1 = (1 x 13) - 2 x ((1 x 396) - (30 x 13))
1 = (1 x 13) - (2 x 396) + (60 x 13)
1 = (61 x 13) - (2 x 396)
O multiplicador de 13 o inverso de 13 (mod 396). Neste caso, se chamarmos o inverso
de d, ento d = 61. Esta a chave privada e que precisa ser mantida em sigilo.

Como os nmeros primos que serviram de base para obter estes valores j cumpriram a
sua funo e precisam ser mantidos em segredo, eles podem ser simplesmente
descartados. Resumindo os passos at este ponto temos:

Chave pblica: 437 e 13


Chave privada: 437 e 61

4. Publicao da chave

Uma vez definida a chave pblica N = 437 e e = 13, ela pode ser distribuda livremente
para servir de chave para todos os remetentes que quiserem enviar mensagens cifradas
para o dono do par de chaves. importante esclarecer que se pode publicar e e
manter d em segredo ou fazer o contrrio, publicar d e manter e em segredo.

5. Cifrar uma mensagem

Digamos que um dos amigos do dono da chave queira lhe enviar uma mensagem
confidencial e que o contedo desta mensagem seja (para variar) "numaboa". Esta
mensagem precisa ser transformada num nmero (ou nmeros) para que o algoritmo
possa ser aplicado. Para isto, os valores ASCII dos caracteres da mensagem so perfeitos:

n = 110
u = 117
m = 109
a = 97
b = 98
o = 111
a = 97

Neste caso, a mensagem ser representada por m = 110117109979811197.


Inicialmente m deve ser dividida em blocos. No presente exemplo, um bom tamanho sero
blocos de trs dgitos. Assim:

m1 = 110
m2 = 117
m3 = 109
m4 = 979
m5 = 811
m6 = 197

preciso esclarecer que o ltimo bloco no precisa necessariamente ter trs dgitos. Cada
um dos blocos ser submetido seguinte cifragem usando a chave pblica, onde N o
mdulo e e o expoente:

c = me (mod N)

c1 = 11013 (mod 437)


c2 = 11713 (mod 437)
c3 = 10913 (mod 437)
c4 = 97913 (mod 437)
c5 = 81113 (mod 437)
c6 = 19713 (mod 437)

Como as mquinas de calcular normalmente no mostram mais do que 10 a 12 dgitos,


podemos facilitar os clculos usando a propriedade distributiva da multiplicao modular.
Como 13 = 5 + 5 + 3, ento

c1 = 11013 (mod 437)


= [1105 (mod 437) x 1105 (mod 437) x 1103 (mod 437)]
(mod 437)

Como 1105 (mod 437) = 16.105.100.000 (mod 437) = 325


e 1103 (mod 437) = 1.331.000 (mod 437) = 335

c1 = [325 x 325 x 335] (mod 437)


= 35.384.375 (mod 437)
= 48

c2 = 11713 (mod 437)


= [1175 (mod 437) x 1175 (mod 437) x 1173 (mod 437)]
(mod 437)

Como 1175 (mod 437) = 21.924.480.357 (mod 437) = 262


e 1173 (mod 437) = 1.601.613 (mod 437) = 8

c2 = [262 x 262 x 8] (mod 437)


= 549.152 (mod 437)
= 280

Completando os clculos, a mensagem cifrada ser 048 280 401 146 243 330

6. Decifrar a mensagem

Decifrar a mensagem significa realizar a mesma exponenciao, porm usando a chave de


decifrao ou chave privada:

m = cd (mod N)

m1 = 4861 (mod 437)


m2 = 28061 (mod 437)
m3 = 40161 (mod 437)
m4 = 14661 (mod 437)
m5 = 24361 (mod 437)
m6 = 33061 (mod 437)

Se com o expoente 13 j aconselhvel usar a propriedade distributiva da multiplicao


modular, com o expoente 61 esta necessidade fica ainda mais evidente. Como
normalmente usamos o computador para fazer os clculos e a mquina usa o sistema
binrio, segue um exemplo de como usar a base 2. O valor decimal 61 expresso em
binrio como 0011 1101, ou seja, o mesmo que 25 + 24 + 23 + 22 + 20 = 32 + 16 + 8 +
4 + 1 = 61. Tomando o bloco m1 como exemplo, podemos calcular:

4861 (mod 437) = 4832 x 4816 x 488 x 484 x 48 (mod 437)

Como
484 (mod 437) = (482 (mod 437))2 (mod 437)
= (2.304 (mod 437))2 (mod 437)
= 1192 (mod 437)
= 14.161 (mod 437)
= 177

Como
488 (mod 437) = ((482 (mod 437))2 (mod(437))2 (mod 437)
e (482 (mod 437))2 (mod 437) = 177
ento = 1772 (mod 437)
= 31.329 (mod 437)
= 302

Pelo mesmo raciocnio


4816 (mod 437) = (488 (mod 437))2 mod (437)
= 3022 mod (437)
= 91.204 (mod 437)
= 308

E novamente pelo mesmo raciocnio


4832 (mod 437) = (4816 (mod 437))2 mod (437)
= 3082 mod (437)
= 94.864 (mod 437)
= 35

De posse destes valores intermedirios, fica fcil calcular

4861 (mod 437) = 4832 x 4816 x 488 x 484 x 48 (mod 437)


= 35 x 308 x 302 x 177 x 48 (mod 437)
= 27.659.237.760 (mod 437)
= 110 <-- o valor original

Esta forma "binria" de calcular a exponenciao um bom exemplo de como montar uma
sub-rotina em qualquer linguagem de programao para calcular tanto a cifragem quanto a
decifrao, por que iterativa.

Segurana e Velocidade

Com frequncia se afirma que a segurana do RSA depende exclusivamente da dificuldade


de fatorar nmeros grandes. Mas no bem assim. At agora no foi provado
matematicamente que seja necessrio fazer a fatorao de N para calcular a mensagem
clara a partir do texto cifrado e da chave pblica. Portanto, no possvel descartar a
possibilidade de algum "maluco beleza" descobrir uma forma de encontrar a chave privada
usando a chave pblica. Enquanto isto no acontecer, a forma mais bvia de atacar o RSA
vai continuar sendo descobrir um mtodo de fatorao rpido que consiga abrir N nos seus
fatores primos. Tambm, enquanto isto, a segurana do RSA vai depender essencialmente
dos nmeros primos que escolhermos para criar as chaves. Primos pequenos, como os
usados no exemplo, so um desastre e primos grandes demais (usados pelos paranicos
por segurana) acabam tornando os clculos extremamente lentos.

J que falamos de clculos lentos, no custa frisar que um software que implementa o
algoritmo RSA cerca de 100 vezes mais lento do que um que implementa o DES. Por
mais otimizado que seja, nada supera uma cifra de bloco em termos de velocidade. Se o
algoritmo for implementado atravs de hardware, o cenrio no melhora. Muito pelo
contrrio. Pelo que se sabe, chips especiais para RSA so cerca de 1000 vezes mais lentos
do que chips para o DES, ou seja, em termos de velocidade, a coisa fica 10 vezes pior!
Mas, apesar de tudo isto, o que eu tenho a dizer "vida longa para os algoritmos
assimtricos!".

Brinque um pouco on line para sentir o gosto. Acho que vale a pena por que me diverti um
bocado escrevendo o JavaScript

Confira a cifra

Escrevi a ferramenta de cifragem e decifrao abaixo em JavaScript. Utilizo apenas


nmeros primos pequenos por dois motivos: para no penalizar a velocidade do script e
por pura preguia, para no ter que usar uma biblioteca especial que lide com nmeros
muito grandes. Os valores considerados para a cifragem so os valores ASCII dos
caracteres da mensagem clara.

Esta ferramenta um modelo simplificado do algoritmo RSA e serve apenas para fins
didticos. Espero que ajude a entender o mecanismo do RSA.

Escolha dois nmeros primos DIFERENTES, p e q, e


clique em para obter os valores de N, e e d.

Primeiro nmero primo: Segundo

nmero primo:
N e d

Digite abaixo o texto que deve ser cifrado e depois


clique em

Para obter novamente o texto claro clique em

Algumas dicas

Existe uma ferramenta para calcular o inverso modular atravs do algoritmo de Euclides
estendido na Escolinha da Aldeia. Procure na Caixa de Ferramentas/Matemticas/Algoritmo
de Euclides Estendido. Na mesma Caixa de Ferramentas voc encontra vrias outras que
podem ajudar: Aritmtica Modular, Este nmero primo?, MDC - Mximo Divisor Comum e
Logaritmos e Potenciao.

Alm disso, nos Garranchos NumaBoa/Sistemas Informatizados h um aplicativo para


determinar os valores ASCII do teclado (os mesmos que foram usados acima). T na
mo

Fontes

Bruce Schneier, "Applied Cryptography".


Steve Burnett e Stephen Paine, "RSA Security's Official Guide to Cryptography".
Simon Singh, "O Livro dos Cdigos".
Paul Johnson, RSA Algorithm.
David Shapiro, RSA In JavaScript.

Atualizao Dom, 14.06.2009 12:10

Dispositivos Criptogrficos
As cifragens podem ser feitas com o auxlio de rguas, cilindros,
mquinas e hardware, tudo especialmente projetado para obter
criptogramas com mais rapidez e com menos erros. A evoluo
destes dispositivos sempre dependeu de dois fatores: a evoluo
da prpria criptografia e a evoluo das tcnicas mecnicas,
eltricas e eletrnicas.

10
Filtro: titulo Exibir #

Acesso
# Ttulo do Artigo Data Autor
s

Introduo aos
vov
1 dispositivos 07.11.05 6610
Vicki
criptogrficos

A Rgua de Saint- vov


2 08.11.05 8432
Cyr Vicki

vov
3 Cilindros cifrantes 08.11.05 7240
Vicki

O princpio dos vov


4 09.11.05 9473
rotores Vicki
Simulador da vov
5 10.12.07 11193
Mquina Enigma * Vicki

vov
6 Enigma em Java 25.02.10 6207
Vicki

Hardware de vov
7 08.11.05 6136
Encriptao Vicki

Introduo
aos
dispositivos
criptogrfico
s

1
2
3
4
5

(10 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Seg, 07.11.2005 21:52

Antes de existir uma mensagem secreta necessrio que exista uma mensagem clara. A
mensagem clara pode ser escondida de tantas formas diferentes quantas forem criadas
pela imaginao humana. Para isto podem ser usados artifcios que envolvam sons,
imagens, smbolos, sinais ou qualquer outra coisa que possa ser percebida pelos
sentidos. Se quisermos, at o gosto de uma refeio ou o cheiro de um perfume pode ser
usado para transmitir uma mensagem secreta.

O fator primordial, analisando a criptologia por este aspecto, so os CINCO SENTIDOS:


viso, audio, tato, olfato e paladar (o sexto sentido deixamos para a criptanlise ).
Todos eles podem ser receptores de mensagens secretas. As mquinas e os dispositivos
podem ser utilizados quando um dos sentidos falha ou quando quisermos facilitar a
percepo de mensagens secretas. Esta uma das suas aplicaes.

Voc deve se lembrar do caso do gs Sarin no metr de Tquio. No que o gs tenha


sido uma mensagem secreta... era secreto porque era invisvel! O olfato humano no
detecta o Sarin, ou seja, no recebe a mensagem de perigo. O "dispositivo" usado pela
equipe de socorro foi algo inslito: canrios. Utilizaram a extrema sensibilidade deste
pssaro como um detector do gs. Foi muito estranho ver como o pessoal do socorro
entrava nas estaes subterrneas carregando gaiolas, s que, se o pssaro tivesse um
troo... o socorrista voltava correndo para o ar livre!

Para que um receptor possa receber uma mensagem, a ao de um transmissor


obrigatria, pois o transmissor que vai tentar alertar ou fornecer informaes a um dos
cinco sentidos do receptor. O agente humano pode usar a fala e os gestos ou pode fazer
uso de mquinas e dispositivos que facilitem e/ou melhorem a transmisso. Pode-se
simplesmente falar em cdigo, mas, para vencer a distncia, tambm podemos falar em
cdigo pelo telefone. Pode-se batucar uma mensagem secreta ou ento usar o telgrafo.
Podemos entregar bits gravados num disquete ou envi-los pela Internet.

Para que a mensagem secreta enviada pelo transmissor possa chegar ao receptor
preciso coloc-la num substratoqualquer e escolher um meio de transporte. Se eu
falar algumas palavras em cdigo para um ouvinte-receptor que esteja ao meu lado, a
mensagem constituda por ondas sonoras (o substrato) que se propagam pelo ar (o
meio)... e depois se perdem. Se eu fizer alguns gestos para um receptor que esteja me
vendo de longe, a mensagem constituda pelas "figuras" no espao que os gestos (o
substrato) representam. Mas tambm possvel desenhar (meio) mensagens em pedras
(substrato), escrev-las (meio) em papel (substrato) ou grav-las (meio) em fitas ou
discos magnticos (meio), todos processos diferentes, mas que funcionam
perfeitamente.

E onde entram os dispositivos criptogrficos? So teis sempre que se queira agilizar,


diminuir a ocorrncia de erros e facilitar ou automatizar qualquer processo criptogrfico,
seja na elaborao, na transmisso, na recepo ou na decifrao.

OS DISPOSITIVOS MAIS ANTIGOS

O uso de dispositivos ou mquinas criptogrficas existe desde a Antiguidade. O mais


antigo dispositivo de criptografia talvez seja o Basto de Licurgo, uma "mquina" de
criptografia datada de 487 a.C. e descrita nas transposies. Outro artefato muito
interessante, datado de 200 a.C. o telgrafo tico de Polbio, cuja descrio voc
encontra nas substituies tomogrficas.

AS MQUINAS DA RENASCENA

Foi apenas na Renascena, a partir de 1300, que comearam a surgir os primeiros


dispositivos criptogrficos de importncia. Os primeiros foram os discos de cifragem,
inventados nesta poca. Como exemplo pode-se citar o Disco de Alberti (substituies) e
a Grelha de Cardano (esteganografia).

AS MQUINAS RECENTES

A sofisticao dos dispositivos criptogrficos foi aumentando a medida que a construo


de mquinas em geral, o descobrimento de novos materiais e a engenharia foram
evoluindo. Mtodos criptogrficos mais elaborados tambm acabaram gerando a
necessidade de mquinas auxiliares, desde as menores e mais simples at engenhosos
"dinossauros" mecnicos. Existem alguns exemplos muito interessantes que so
descritos nesta seo de dispositivos criptogrficos:

Rgua de Saint-Cyr
Cilindros Cifrantes
O princpio dos rotores
Mquina das Diferenas

A mquina das diferenas foi inventada por Charles Babbage e foi includa nesta lista
porque a considero a tatarav do computador

AS MQUINAS E DISPOSITIVOS ATUAIS

Nem preciso dizer que o principal dispositivo da atualidade o computador. Mas no


o nico e muito menos o primeiro. Nesta mesma seo so referidos alguns exemplos.

Atualizao Ter, 08.11.2005 03:45

A Rgua de Saint-Cyr

1
2
3
4
5

(11 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Ter, 08.11.2005 02:10

Este instrumento deve seu nome academia militar francesa situada na cidade de Saint-
Cyr onde, entre 1880 e o incio do sculo XX, serviu para instruir estudantes de
criptologia. Foi o holands Auguste Kerckhoff, figura de destaque na criptologia, quem
batizou esta rgua com o nome de Saint-Cyr.

O instrumento, parecido com as antigas rguas de clculo, relativamente simples.


composto por uma tira longa de papel ou cartolina, denominada "estator" ou parte fixa, a
qual contm um alfabeto ordenado clssico, e por uma segunda tira, mvel e mais
comprida do que a primeira, contendo dois alfabetos sucessivos. Tradicionalmente, o
alfabeto claro colocado na parte fixa.
Fig. 1 - A Rgua de Saint-Cyr

AS APLICAES

Esta rgua permite fazer substituies monoalfabticas do tipo do Cdigo de Csar. Basta
deslocar a parte mvel o nmero de letras que corresponde ao deslocamento desejado.
Para cifrar o texto, troca-se a letra da parte fixa pela letra correspondente da parte mvel.
De acordo com a Fig.1, cujo mdulo 5, quando se cifra NUMABOA, obtm-se SZRFGTF.
Para decifrar, faz-se o contrrio: troca-se a letra da parte mvel pela letra correspondente
da parte fixa.

Com um pouco de prtica, a rgua de Saint-Cyr tambm pode ser usada nas substituies
polialfabticas. Neste caso, a cada troca de alfabeto cifrante, desloca-se a parte mvel de
modo a obter o mdulo desejado. No caso da cifra de Vigenre, por exemplo, desloca-se a
parte mvel a cada letra do texto claro de modo que a "letra da vez" da palavra-chave
esteja posicionada abaixo da letra A da parte fixa.

Fig. 2 - N da parte fixa alinhado com o A da parte mvel

Por exemplo, para cifrar GRANDE IDEIA com a palavra-chave NUMABOA, primeiramente
desloca-se a parte mvel para alinhar o N com o A da parte fixa (Fig. 2). A seguir,
procura-se o G na parte fixa e substitui-se a letra pelo T.

Para substituir a segunda letra posiciona-se a parte mvel da rgua de modo que o U
fique alinhado com o A da parte fixa. Depois se localiza o R no alfabeto claro e troca-se
pelo L (Fig. 3). Desloca-se novamente a parte mvel para alinhar o M com o A da parte
fixa e se substitui o A por M, e assim sucessivamente. O resultado obtido ser TLMNES
IQYUA.

um vai e vem da parte mvel que d gosto, mas, apesar disto, a margem de erro
muito menor do que trabalhar com as Carreiras de Vigenre.

LPIS E PAPEL

Fazer uma rgua de Saint-Cyr no nenhum fim de mundo. S preciso uma folha de
cartolina, uma tesoura (ou estilete), umas canetas coloridas e um pouco de jeito. Corta-se
duas tiras de cartolina, uma com o dobro do comprimento da outra. Divide-se a primeira
em 26 "casas" e a segunda em 52. Cada casa abriga uma letra do alfabeto. Para facilitar,
as letras do alfabeto claro e do cifrante podem ter cores diferentes. Ta a idia

Atualizao Dom, 14.06.2009 17:08

Cilindros cifrantes

1
2
3
4
5

(10 votos, mdia 3.8 de 5)


Escrito por vov Vicki

Ter, 08.11.2005 16:35

Os cilindros cifrantes so constitudos por vrios discos com um orifcio central, montados
sobre um eixo. Devem poder rodar de forma independente e, na sua superfcie mais
externa, possuem alfabetos permutados. O cilindro montado com discos que possuam
sequncias de letras diferentes.

Fig.
1
-
Cilindro
cifrante
M-94B
com
alguns
discos
retirados
do
eixo

O nmero de cilindros corresponde ao nmero de letras que podem ser cifradas em cada
etapa. Por exemplo, se um cilindro possuir 10 discos, uma mensagem clara de 25 letras
dever ser cifrada em 3 etapas: 2 blocos de 10 letras e 1 bloco de 5 letras.

A cifragem efetuada girando-se os discos de modo que o bloco de texto claro seja
legvel numa linha do cilindro. Para introduzir um fator randmico no processo, o que
aumenta a segurana do mtodo, escolhe-se aleatoriamente um bloco do texto cifrado de
qualquer outra linha do cilindro. As linhas do cilindro so denominadas de "generatrix". A
primeira linha abaixo do texto claro a primeira geratriz, a segunda linha abaixo do texto
a segunda geratriz e assim por diante.

A decifrao feita de modo inverso: os discos so girados de forma que uma linha
reproduza o texto cifrado e, depois, localiza-se uma outra linha que contenha o texto
claro. Na regra, existe apenas uma linha que mostra o texto decifrado.

Fig.
2
-
Foto
de
um
cilindro
M-94
usado
pelo
exrcito
dos
EUA
de
1922
a
1943

Com este tipo de cilindros possvel obter cifras usando-se alfabetos independentes
atravs de um procedimento fcil e pouco sujeito a erros. Ao contrrio das tabelas, de
produo trabalhosa e que exigem muita concentrao para serem utilizadas, os discos
rotantes so prticos, com um porm: s fornecem alfabetos que "andam par e passo"
com o alfabeto primrio.

Os discos podem ser colocados no eixo em diversas sequncia e esta disposio funciona
como uma chave. O nmero de chaves utilizveis constitudo por todas as possveis
permutaes dos discos e pode ser aumentado se houver discos sobressalentes. Portanto,
o conjunto de chaves pode ser ampliado com facilidade.

Por outro lado, os alfabetos nicos gravados na superfcie dos discos no so apropriados
como chaves. Eles podem cair em mos erradas se um cilindro for obtido pelo inimigo.
Alm do mais, no fcil alterar a disposio das letras dos discos.

UM POUCO DE HISTRIA

Apesar de haver exemplares mais antigos, os cilindros cifrantes so uma inveno


tipicamente do sculo XIX. Foram utilizados pelos militares no sculo XX, at a Segunda
Guerra Mundial.

Fredrik GRIEPENSTIERNA (1728-1804) construu um dispositivo cifrante cilndrico para o


rei Gustavo III da Sucia em 1786. Seu sistema, no entanto, um pouco diferente do
acima descrito.

Thomas Jefferson (1743-1826), de 1801 a 1809 terceiro presidente dos Estados Unidos,
desenvolveu em 1795 um dispositivo com 36 discos, mas que nunca chegou a ser
utilizado.

A idia s se tornou realmente atual depois que Kasiski demonstrou com que facilidade as
cifras polialfabticas peridicas podiam ser quebradas e depois que Kerckhoff deixou claro
como a dependncia dos alfabetos pode ser explorada.

tienne BAZERIES (1846-1931) construu em 1891 um dispositivo com 20 discos e


sugeriu que a fora militar francesa o utilizasse. Como, logo aps, De Viaris quebrou o
sistema, o dispositivo nunca chegou a ser usado.

Em 1893, Arthur Hermann sugeriu o uso de dispositivos rotantes equivalentes. Estes


acabaram sendo utilizados a partir da Primeira Guerra pelo exrcito dos EUA.

Em 1922, conforme sugesto de Friedman, o exrcito dos EUA passou a utilizar o


dispositivo M-94, de 25 discos, em diversas variaes e com vrios aperfeioamentos
(por exemplo, o M-138-A com 30 discos originrios de um estoque de 100) at o fim da
Segunda Grande Guerra. O sistema destes dispositivos foram em parte quebrados pelos
alemes (Rohrbach).

PEA RARA

Fig. 3 - Cilindro cifrante do

/> Museu Criptolgico Nacional da


NSA.
Acredita-se ser o
dispositivo mais antigo do gnero.

Este dispositivo de cifragem e decifragem foi adquirido pela NSA no incio dos anos 80.
Imaginou-se inicialmente tratar-se de um modelo do "Jefferson cipher wheel", porm a
conexo no foi provada.

Sabe-se que estes dispositivos j haviam sido descritos em pocas muito mais remotas,
por exemplo, por Francis Bacon em 1605. Alm disso, parecem ter sido muito comuns
nas "black chambers" de governos europeus.

Tudo indica que este cilindro cifrante tenha sido projetado para o idioma francs, que era
a lngua usada na diplomacia at o final da Primeira Guerra Mundial. Sua origem West
Virginia e desconhece-se como tenha chegado at l.

Fontes

Klaus Pommerening, Universidade de Mainz


Museu Criptolgico Nacional da NSA

Atualizao Ter, 14.04.2009 20:36

O princpio dos rotores

1
2
3
4
5

(14 votos, mdia 4.0 de 5)


Escrito por vov Vicki

Qua, 09.11.2005 00:45

Mquinas de cifragem com rotores trabalham com uma sequncia de substituies


monoalfabticas, alternadas a cada letra do texto claro. Esta troca de alfabeto cifrante a
cada letra efetuada por um "rotor". Para entender o princpio de funcionamento destas
mquinas, vamos inicialmente ver como funciona um rotor.

O princpio da substituio
Fig. 1 - Disco rotor com
contatos
(face de sada)

Fig. 2 - Disco rotor com


contatos
(face de entrada)

Um rotor constitudo por um disco que possui contatos na borda externa em ambas as
faces. O nmero de contatos igual ao nmero de letras que o alfabeto do disco possui.
Os contatos da face A esto ligados aos contatos da face B de forma irregular. Por
exemplo, o contato 1 ligado ao 5, o 2 ao 18, etc. Como consequncia dos contatos
trocados obtm-se uma substituio monoalfabtica que ocorre da seguinte maneira:

Numa das faces - a face de entrada - os contatos so ligados a um teclado. Na


outra face - a face de sada - os contatos so ligados a pequenas lmpadas
identificadas por uma letra ou so ligados a uma impressora ou outro dispositivo
de impresso.
Na face de entrada cada uma das teclas do teclado est ligada a um contato.
Como as ligaes entre os contatos da face de entrada e os da face de sada esto
trocados, a sada de letras diferentes das correspondentes face de entrada.
Fig. 3 - Contatos trocados no rotor
da mquina Enigma

Fig. 4 - Contatos trocados


no rotor Hebern

Na tabela abaixo est um exemplo fictcio do que pode ocorrer. A primeira linha
corresponde s letras do teclado. A segunda linha contm a sequncia dos contatos da
face de entrada, nesta etapa do exemplo ligados aos contatos das letras correspondentes
do teclado. A terceira contm a sequncia das ligaes entre os contatos da face de
entrada e os da face de sada e, finalmente, a quarta linha indica a letra cifrada, resultado
da substituio.

No exemplo foi ressaltada a letra "a" do teclado, ligada ao contato da letra "A" na face de
entrada. Esta, por sua vez, est ligada ao contato que corresponde letra "K" na face de
sada. Como resultado, a letra "a" substituda pela letra "K".

Da mesma forma podemos verificar que a letra "i", por exemplo, ser substituda pela
letra "H", a "e" por "C" e assim por diante.

Teclado 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

Entrada 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

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

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
Tabela exemplo de substituio por rotor

O princpio da rotao

Aps a substituio de uma letra, o rotor girado para ocupar uma nova posio. Desta
forma obtida uma substituio polialfabtica.

Substituindo as letras por nmeros (o que no altera o processo), vamos analisar o


exemplo acima depois do rotor ter rodado uma posio: a letra "a" do teclado se encontra
agora no contato Z=25, a letra "b" do teclado no contato A=00 e assim sucessivamente.
Observe as tabelas abaixo:

Posio Inicial Avano de 1 Posio

a 00 + 16 A a 25 + 12 A

b 01 | 22 B b 00 | 16 B

c 02 | 04 C c 01 | 22 C

d 03 | 17 D d 02 | 04 D

e 04 | 19 E e 03 | 17 E

f 05 | 25 F f 04 | 19 F

g 06 | 20 G g 05 + 25 G

h 07 | 08 H h 06 20 H

i 08 | 14 I i 07 08 I

j 09 | 15 J j 08 14 J

k 10 + 00 K k 09 15 K

l 11 18 L l 10 00 L

m 12 03 M m 11 18 M

Na posio inicial, a letra "a" do teclado foi substituda pela letra "K". Aps o avano de
uma posio do rotor, a mesma letra "a" passa a ser substituda por "G".

Descrio com o uso de uma tabela

O alfabeto primrio, o qual descreve a posio inicial do rotor, encontra-se na linha 0. Os


alfabetos acompanhantes so chamados de alfabetos "rotantes".

Os alfabetos rotantes, como de costume, podem ser escolhidos progressivamente ou


atravs de uma chave.

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 -> claro
---------------------------------------------------
0 K X V M C N O P H Q R S Z Y I J A D L E G W B
U T F -> primrio

1 G L Y W N D O P Q I R S T A Z J K B E M F H X C V U
2 V H M Z X O E P Q R J S T U B A K L C F N G I Y D W
3 X W I N A Y P F Q R S K T U V C B L M D G O H J Z E
4 F Y X J O B Z Q G R S T L U V W D C M N E H P I K A
5 B G Z Y K P C A R H S T U M V W X E D N O F I Q J L
6 M C H A Z L Q D B S I T U V N W X Y F E O P G J R K
7 L N D I B A M R E C T J U V W O X Y Z G F P Q H K S
8 T M O E J C B N S F D U K V W X P Y Z A H G Q R I L
9 M U N P F K D C O T G E V L W X Y Q Z A B I H R S J
10 K N V O Q G L E D P U H F W M X Y Z R A B C J I S T
11 U L O W P R H M F E Q V I G X N Y Z A S B C D K J T
12 U V M P X Q S I N G F R W J H Y O Z A B T C D E L K
13 L V W N Q Y R T J O H G S X K I Z P A B C U D E F M
14 N M W X O R Z S U K P I H T Y L J A Q B C D V E F G
15 H O N X Y P S A T V L Q J I U Z M K B R C D E W F G
16 H I P O Y Z Q T B U W M R K J V A N L C S D E F X G
17 H I J Q P Z A R U C V X N S L K W B O M D T E F G Y
18 Z I J K R Q A B S V D W Y O T M L X C P N E U F G H
19 I A J K L S R B C T W E X Z P U N M Y D Q O F V G H
20 I J B K L M T S C D U X F Y A Q V O N Z E R P G W H
21 I J K C L M N U T D E V Y G Z B R W P O A F S Q H X
22 Y J K L D M N O V U E F W Z H A C S X Q P B G T R I
23 J Z K L M E N O P W V F G X A I B D T Y R Q C H U S
24 T K A L M N F O P Q X W G H Y B J C E U Z S R D I V
25 W U L B M N O G P Q R Y X H I Z C K D F V A T S E J

Algumas consideraes fazem-se necessrias. Observe que cada diagonal da tabela, da


esquerda para a direita e de cima para baixo, contm um alfabeto padro. Alm disso, as
representaes possveis de uma letra no esto uniformemente distribudas.

Como na coluna correspondente letra "A" do alfabeto claro no aparecem todas as


letras, os incios das linhas no so apropriadas para orientarem a escolha de um alfabeto
atravs de uma chave. Devido a isto, mais fcil escolher o nmero da linha, uma vez
que este corresponde s letras do alfabeto (0=A, 1=B, ..., 25=Z).

Fontes

Klaus Pommerening, Universidade de Mainz

Atualizao Ter, 14.04.2009 21:02

Simulador da Mquina Enigma


*

1
2
3
4
5

(63 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Seg, 10.12.2007 17:56

Encontrei este excelente simulador da Mquina Enigma de trs rotores no site do


Frank Spiess. No pude resistir e coloquei este flash aqui na Aldeia. Preciso dizer que
no pude pedir licena para o autor por no ter encontrado uma forma de fazer
contato, mas ficam aqui meus agradecimentos e os crditos de autoria.
No adianta fazer o download deste simulador para usar offline. Ele foi
programado para rodar apenas quando servido pelo site do autor.

Atualizao Qui, 25.02.2010 11:01

Enigma em Java

1
2
3
4
5

(9 votos, mdia 4.4 de 5)


Escrito por vov Vicki

Qui, 25.02.2010 11:02

Procurando mais
umm pouco na web,
encontrei um applet
Java muito bem
feitinho da autoria
do Andy Carlson.
Para completar a
coleo de mquinas
Enigma da Aldeia,
aqui est o
simulador.

S para relembrar, a
mquina Enigma foi
usada pelos alemes
na Segunda Guerra
Mundial para cifrar
mensagens militares
e diplomticas.

Este applet est


disposio para
download no site do
autor e na seo de
downloads da Aldeia.

Atualizao Qui,
25.02.2010 11:29

Hardware de Encriptao

1
2
3
4
5

(10 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Ter, 08.11.2005 02:59

Hardware de encriptao um pea de hardware criada especificamente para manipular


processos criptogrficos. Pode ser um chip especial colocado na placa me, um disco rgido
especial ou uma placa acessria.

Alguns dispositivos apenas aceleram os processos de cifragem, independentemente do


mtodo utilizado. Chips dedicados gerenciam e atendem unicamente os processos
criptogrficos liberando a CPU desta tarefa, o que representa um ganho significativo na
performance de encriptaes e decifragens. Estes chips geralmente so otimizados para
alguns tipos especficos de chaves mas, ainda assim, so muito rpidos mesmo que uma
chave no seja do tipo otimizado. Um HD com dispositivo de encriptao faz a
cifragem/decifrao automaticamente toda vez que houver escrita/leitura de dados neste
disco. Normalmente este tipo de dispositivo no permite escolher a chave ou o
comprimento de chave. Existem tambm placas especiais de encriptao, projetadas
especialmente para certos tipos/comprimentos de chave. Costumam ser utilizadas em
tarefas especficas, como a encriptao SSL, e so incrivelmente rpidas. Para o usurio
comum, o chip na placa me geralmente a melhor escolha (muitas placas me VIA j
vm com um chip deste tipo).

A segurana oferecida por qualquer sistema de encriptao depende unicamente da sua


chave. As placas aceleradoras e os HDs geralmente so fornecidos com chaves e
comprimentos de chave bastante seguros. O inconveniente destes sistemas, alm de
serem mais caros, que no se pode fazer upgrades. Se a chave ou o comprimento de
chave deixarem de fornecer a segurana desejada, os dispositivos precisam ser trocados.
J o chip onboard aceita qualquer chave que voc fornecer. Com as chaves otimizadas, o
processamento mais rpido e, com as no otimizadas, apenas um pouco mais demorado.

Atualizao Ter, 08.11.2005 03:26

Criptoanlise
Fundamentos, informaes e mtodos essenciais para "quebrar" e para medir a segurana
de sistemas criptogrficos.

10
Filtro: titulo Exibir #

# Ttulo do Artigo Autor Acessos

1 O que criptoanlise vov Vicki 8523

2 O seguro morreu de bits vov Vicki 8541

3 Frequncia de ocorrncia de letras no Portugus vov Vicki 19659

4 Frequncia de ocorrncia de letras no Espanhol vov Vicki 3600

5 Ferramenta de anlise de frequncia vov Vicki 8062

6 Identificao de Classes vov Vicki 3251

7 Como calcular o ndice de Coincidncia (Kappa) vov Vicki 8379

8 Exemplo de criptoanlise para iniciantes vov Vicki 5923

9 Anlise das substituies monoalfabticas vov Vicki 4347


10 A grande brincadeira de Trithemius vov Vicki 5548

11 Anlise da Cifra de Vigenre vov Vicki 7653

12 Quebrando uma transposio geomtrica simples vov Vicki 2849

13 Quebrando uma transposio colunar com chave vov Vicki 2722

14 Quebrando uma grade giratria vov Vicki 3624

15 EFF DES Cracker vov Vicki 4439

16 Criptoanlise Diferencial vov Vicki 6528

17 DPA - Anlise Diferencial do Consumo de Energia vov Vicki 4949

18 Criptoanlise acstica vov Vicki 2824

<< Incio < Anterior 1 2 Seguinte > Fim >>


Pgina 2 de 2

O que
criptoanlise

1
2
3
4
5

(18 votos, mdia 4.7 de 5)


Escrito por vov Vicki

Qui, 25.08.2005 18:46

A criptologia uma cincia que se ocupa da criptografia e da criptoanlise. A criptografia


o estudo dos mtodos e das tcnicas de cifragem. A criptoanlise, por sua vez, se ocupa
do estudo das formas de se "quebrar" sistemas. coisa de hacker

Criptoanlise a cincia de quebrar uma mensagem cifrada. Veja bem, quebrar no o


mesmo que decifrar. Decifrar obter a mensagem original quando se conhece o sistema e
usando a chave tambm conhecida. Quebrar hackear o sistema e descobrir a chave.

Desde que existe a criptografia tambm existiram os hackers de planto. Durante a Idade
Mdia, poca de extrema paradeira e de uma desvairada perseguio aos "demnios" da
criptografia na Europa, a civilizao rabe-islmica deu uma enorme contribuio: foi o
bero da criptoanlise. De 700 a 1200, incrveis estudos estatsticos e figuras de destaque
como al-Khalil, al-Kindi, Ibn Dunainir e Ibn Adlan marcaram poca. Na Idade Moderna,
merecem destaque o holands Kerckoff e o alemo Kasiski.

Uma vez que a criptoanlise se ocupa em quebrar sistemas, bvio que um dos temas
relevantes seja a segurana. natural intuir que, quanto mais seguro for um sistema,
mais difcil ser quebr-lo. Porm, como medir o nvel de segurana? Existem sistemas a
prova de hackers? Para ter uma idia do que vem a ser segurana, traduzi um artigo do
guru da atualidade, Bruce Schneier que rebatizei com o ttulo O seguro morreu de bits. J
que voc caiu nesta pgina, aproveite a oportunidade e d uma lida para avaliar a
complexidade do assunto.

Atualizao Qui, 25.08.2005 20:14

O seguro morreu de bits

1
2
3
4
5

(10 votos, mdia 4.6 de 5)


Escrito por vov Vicki

Qui, 25.08.2005 20:07

ndice do Artigo

O seguro morreu de bits

Consideraes adicionais

Todas as pginas

O texto de Bruce Schneier, publicado em 15 de Outubro de 1999 na newsletter mensal


CRYPTO-GRAM, d uma idia clara da estrutura, da segurana e dos problemas relacionados
a sistemas de criptografia baseados em algoritmos simtricos.

A newsletter grtis e traz resumos, anlises, insights e comentrios sobre segurana de


dados e criptografia. Os textos so em Ingls. Para assinar a newsletter basta acessar o site
da Counterpane ou enviar uma mensagem em branco para crypto-gram-
subscribe@chaparraltree.com

Fiz a traduo do artigo minha moda e sem a devida autorizao do autor. Espero que o
guru carequinha no queira me processar. O ttulo "O seguro morreu de bits" foi idia
minha

O tamanho da chave e a segurana

Bruce Schneier

Apesar do que todos queiram te contar, o comprimento de uma chave criptogrfica


praticamente no tem nada a ver com a segurana. Uma chave curta significa segurana
ruim, porm uma chave longa no necessariamente significa uma boa segurana.

A fechadura da porta da frente da sua casa tem uma srie de pinos. Cada um destes pinos
possui mltiplas posies possveis. Quando algum pe a chave na fechadura, cada um dos
pinos movido para uma posio especfica. Se as posies ditadas pela chave so as que a
fechadura precisa para ser aberta, ela abre. De outra forma, no.

A maioria das fechadura tem cinco pinos, cada um dos quais pode estar em uma de dez
posies diferentes. Isto significa que existem 100.000 chaves possveis. Um ladro, com um
molho de chaves muito grande, pode experimentar cada uma das chaves, uma aps a outra,
e eventualmente encontrar uma que funcione. melhor que ele tenha muita pacincia
porque, mesmo que ele possa experimentar uma chave a cada cinco segundos, vai precisar
de cerca de 69 horas para achar a chave certa - e isto no inclui as idas ao banheiro ou os
intervalos para um lanche.

Um belo dia um vendedor bate sua porta e oferece uma fechadura nova. A fechadura que
ele oferece possui seis pinos com doze posies cada. Um ladro, diz ele, vai precisar de 259
dias ininterruptos de tentativas com chaves diferentes antes que consiga abrir a sua porta.
Voc se sente mais seguro com esta nova fechadura?

Provavelmente no. De qualquer maneira, nenhum ladro ficaria na frente da sua casa por
69 horas. mais provvel que ele use uma micha, que arrebente a porta, quebre uma janela
ou que apenas se esconda atrs de uma rvore at que voc aparea na calada da frente.
Uma fechadura com um nmero maior de pinos e posies no vai aumentar a segurana da
sua casa porque o tipo especfico de ataque que ela dificulta - tentar cada uma das chaves
provveis - no bem o que te preocupa. Se o nmero de pinos for suficiente para tornar
este ataque impraticvel, voc no tem que se preocupar com ele.

A mesma coisa vlida para chaves criptogrficas. Se forem suficientemente longas, no h


motivos para se preocupar, e o comprimento que "suficientemente longo" mais
complicado do que um simples nmero - depende da aplicao e da quantidade de entropia
das chaves.

Comeando do incio

Vamos comear pelo incio. Uma chave criptogrfica um valor secreto que modifica
um algoritmo de encriptao. Se Alice e Bob compartilham uma chave, eles podem usar o
algoritmo para se comunicarem com segurana. Se Eva, uma bisbilhoteira, no conhece a
chave, ela no consegue ler as mensagens de Alice ou de Bob. Ela forada a tentar
"quebrar" o algoritmo, isto , tentar descobrir a chave apenas atravs do texto cifrado.

Uma coisa bvia que ela pode fazer tentar cada uma das chaves possveis, como o ladro
hipottico citado no incio. Se a chave tiver o comprimento de n bits, ento existem
2n chaves possveis. Desta forma, se a chave tiver 40 bits de comprimento, existem
aproximadamente um trilho de chaves possveis. Isto seria uma tremenda duma chatice
para o ladro, porm computadores so perfeitos para tarefas horrivelmente chatas. Na
mdia, um computador precisa testar cerca da metade das chaves possveis antes de achar a
correta, de forma que uma mquina capaz de testar um bilho de chaves por segundo levaria
18 minutos para achar a chave de 40 bits correta. A mquina Deep Crack, "quebradora" do
DES, testou 90 bilhes de chaves por segundo e podia encontrar, em mdia, uma chave DES
de 56 bits em 4 dias e meio. O projeto de pesquisa de chaves atravs da Internet distribuda,
o distributed.net (o qual inclua a Deep Crack), conseguia testar 250 bilhes de chaves por
segundo quando estava nos picos de atividade.

Tudo isto est em escala linear. Em 1996, um grupo de criptgrafos (inclusive eu) estavam
pesquisando as vrias tecnologias que poderiam ser usadas para construir mquinas de
criptoanlise pela fora bruta e recomendaram uma chave de, no mnimo, 90 bits para
garantir a segurana at 2016. O Triple-DES tem uma chave de 112 bits e a maioria dos
algoritmos modernos tm chaves de pelo menos 128 bits. Mesmo uma mquina um bilho de
vezes mais rpida que a Deep Crack levaria 1015 anos para testar todas as 2112 chaves e
recuperar o texto claro. Mesmo considerando que a lei de Moore continue vlida pelas
prximas centenas de anos, isto ser seguro por um longo perodo.

Ento, porque se preocupar? Porque no usar simplesmente chaves de zilhes de bits e


ficarmos seguros pelo resto dos tempos? Para responder esta pergunta, preciso explicar o
que entropia.

A Entropia

A entropia a medida da incerteza. Quanto mais incerta for alguma coisa, maior a
entropia desta coisa. Por exemplo, se escolhermos uma pessoa ao acaso, de uma populao
geral, ela ser do sexo masculino ou do sexo feminino - a varivel "sexo" possui um bit de
entropia. Se uma pessoa ao acaso prefere um dos quatro Beatles, e cada um deles
igualmente preferido, isto corresponde a dois bits de entropia. O sexo de algum que esteja
participando de uma competio de natao masculina no tem entropia, pois todos so do
sexo masculino. A entropia da preferncia por um dos Beatles num f-clube de John Lennon
muito menor do que dois bits porque muito mais provvel que uma pessoa ao acaso
prefira o John. Quanto maior for a certeza numa varivel, menor ser a entropia.

O mesmo vlido para chaves criptogrficas. O simples fato de que um algoritmo aceita um
chave de 128 bits no significa que ele possua 128 bits de entropia na sua chave. Ou, mais
exatamente, a melhor maneira de quebrar uma dada implementao de um algoritmo de
encriptao de 128 bits pode no ser experimentar cada uma das chaves provveis.
Preocupaes

A primeira preocupao com a qualidade do algoritmo de encriptao. Todos os clculos


citados levam em considerao que os algoritmos usam as chaves que recebem e as usam
com perfeio. Se existirem falhas no algoritmo, isto reduz a entropia das chaves. Por
exemplo, o algoritmo A5/l, usado nos telefones celulares GSM da Europa, tem uma chave de
64 bits, mas o tempo para quebr-lo o mesmo necessrio para quebrar uma chave de 40
bits pela fora bruta. Isto significa que, mesmo que se tenha fornecido ao algoritmo uma
chave de 64 bits de entropia, ele usa apenas 40 bits de entropia na chave. Num caso como
este, tambm possvel usar um algoritmo que use efetivamente uma chave de 40 bits.

O mesmo problema est atrasando a implantao do algoritmo AES. O governo dos EUA quer
substituir o DES (que tem uma chave de 56 bits) por um novo algoritmo que aceite chaves
de at 256 bits. A esta altura h cinco semifinalistas, mas ser que qualquer um deles
fornece a entropia de 256 bits que alega possuir? Este tambm o motivo pelo qual fica
difcil levar a srio os anunciantes de produtos com chaves de mil bits - eles no entendem
como funcionam as chaves e a entropia.

A segunda preocupao com a origem das chaves. Todos os clculos de comprimento de


chave que acabei de fazer consideram que cada chave tenha o mximo de entropia quando
ela gerada. Em outras palavras, considerei que cada chave igualmente provvel. Isto
simplesmente no corresponde realidade.

Muitas chaves so geradas a partir de senhas ou frases-senha. Um sistema que aceita


senhas de 10 caracteres ASCII pode necessitar de 80 bits para represent-los, porm possui
muito menos do que 80 bits de entropia. Caracteres ASCII estendidos nem vo aparecer e
senhas que so palavras reais (ou prximas de palavras reais) so muito mais provveis do
que strings de caracteres randmicos. Tenho visto que a entropia estimada do Ingls padro
de 1,3 bits por caracter; as senhas, provavelmente, tm menos de 4 bits de entropia por
caracter. Isto significa que uma frase-senha algo como uma chave de 32 bits e que, se
voc quiser uma chave de 128 bits, vai precisar de uma frase-senha em Ingls que tenha 98
caracteres.

Como voc pode perceber, um motor para quebrar senhas atravs da fora bruta no vai
testar pela ordem cada uma das chaves possveis. Vai testar primeiro as mais provveis e
depois testar as restantes de acordo com um critrio semelhante. Vai testar as senhas mais
comuns, do tipo "password" e "1234", depois o dicionrio de Ingls inteiro e finalmente
maisculas e nmeros extras variados, e assim por diante. L0phtcrack um programa de
quebra de senhas que faz isto; num Pentium Pro 200 ele pode comparar um arquivo de 200
senhas com um dicionrio de 8 Megabytes de senhas comuns em menos de um minuto.
Testar todo o espao do alfabeto de 26 caracteres leva 26 horas e o espao alfanumrico de
36 caracteres leva cerca de 250 horas.

A Segurana

por isso que hilrio quando companhias como a Microsoft coletam encriptaes de 128
bits e depois baseiam a chave na senha (isto caracteriza muito bem toda a segurana do
Windows NT). Os algoritmos que eles usam at podem aceitar uma chave de 128 bits, mas a
entropia de uma senha est longe, muito longe disso. Na verdade, no importa o quanto a
criptografia seja boa ou qual seja o comprimento da chave - senhas fracas iro quebrar este
sistema.

Alguns lidaram com este problema exigindo senhas cada vez mais fortes, mas isto tambm
no efetivo. Nas ltimas dcadas, a lei de Moore tornou possvel usar a fora bruta em
chaves cada vez maiores e com mais entropia. Ao mesmo tempo, existe um mximo de
entropia que o usurio comum de computadores (ou mesmo o usurio acima da mdia)
queira lembrar. Voc no pode esperar que ele guarde na memria uma string de 32
caracteres hexadecimais randmicos, mas isso que precisa acontecer se ele tiver que
decorar uma chave de 128 bits. Estes dois nmeros chegaram no limite. Quebradores de
senhas, agora, podem quebrar qualquer coisa que possivelmente seja razovel esperar que
um usurio memorize. O usurio vai reclamar que as senhas boas so difceis de guardar,
mas justamente por isso que so consideradas boas.

Mas as chaves geradas randomicamente tambm no so necessariamente as melhores


porque dependem de um programa gerador de nmeros randmicos que produza chaves
com um mximo de entropia. Foi exatamente uma falha no gerador de nmeros randmicos
o que quebrou a encriptao do Netscape verso 1.1. Apesar do gerador de nmeros
randmicos ter sido usado para gerar chaves de 128 bits, a entropia mxima estava ao redor
de 20 bits. Desta forma, o algoritmo no era melhor do que um que gerasse uma chave de
20 bits.

As solues existem, porm requerem renncias da engenharia. A biometria pode gerar


senhas melhores, mas no porque contenham mais entropia. Por exemplo, uma impresso
digital (meu palpite de que seja equivalente a uma chave de cerca de 60 bits) melhor
porque no existe algo como uma impresso digital ruim da forma como existe uma senha
ruim. Smart cards oferecem um jeito conveniente de transportar uma chave de alta entropia,
porm possuem as restries associadas a um dispositivo fsico. E, para alguns sistemas de
comunicao, protocolos de chave pblica podem gerar segredos de alta entropia usando
apenas informao pblica. A verificao on-line de senhas, que previne os ataques de
dicionrio off-line, tambm funciona em algumas circunstncias.

Senhas so um grande negcio. Vejo sistemas PKI complexos onde a chave privada
protegida por uma senha. Praticamente todos os produtos de encriptao em HD baseiam
sua segurana numa chave a ser lembrada pelo usurio. Praticamente toda a segurana do
Windows NT entra em colapso porque foi construda sobre senhas que precisam ser
lembradas pelo usurio. At a PGP se abre se o usurio escolher uma frase-senha ruim. No
interessa quais sejam os algoritmos ou de que tamanho sejam as chaves que usem -
segredos que precisam ser lembrados por usurios no so seguros.

Observaes sobre algoritmos de chave pblica

Este texto fala sobre algoritmos simtricos (cifras de bloco e de fluxo), os quais usam strings
com um nmero arbitrrio de bits como chaves. Os sistemas de chave pblica com chaves
matemticas, como o produto de dois nmeros primos grandes, so diferentes. Ainda
existem ataques pela fora bruta contra sistemas de chave pblica, porm eles envolvem a
soluo de problemas matemticos como a fatorao. O grupo que acabou de fatorar uma
chave RSA de 512 bits disse que o clculo representou cerca de 2% do esforo na procura de
uma chave de 56 bits. Estimativas para a futura segurana das chaves RSA so muito mais
difceis de se estabelecer porque preciso considerar os avanos na matemtica de
fatorao, assim como os avanos na velocidade e na conectividade na rede de
computadores.

Estimativas conservadoras indicam que chaves de 1024 bits so boas o suficiente para mais
alguns poucos anos e que, chaves de 2048 bits, deveriam ser boas o suficiente para os
prximos dez anos (aproximadamente). Mas, uma vez que ningum nem mesmo sabe se a
fatorao "difcil", certamente possvel que um matemtico brilhante possa aparecer e
tornar estes tamanhos de chave inseguros.

As chaves RSA, claro, tm entropia demais para se memorizar. Ou elas so encriptadas


com uma frase-senha e armazenadas no HD, ou so armazenadas em um token como um
smart card. Algumas vezes so at mesmo deixadas abertas.

Fonte

Texto de Bruce Schneier publicado em 15.10.99 no CRYPTO-GRAM.

Atualizao Dom, 14.06.2009 16:54

Frequncia de ocorrncia de letras no


Portugus

1
2
3
4
5

(25 votos, mdia 4.6 de 5)


Escrito por vov Vicki

Dom, 28.08.2005 00:56

ndice do Artigo

Frequncia de ocorrncia de letras no Portugus

Distribuio

Palavras curtas

Todas as pginas

Para variar, por mais que eu procurasse, no encontrei referncias na web sobre a frequncia
de ocorrncia de letras no Portugus do Brasil. Encontra-se anlises de frequncia para o
Ingls, o Alemo, o Francs, o Espanhol e at para o Latim. Mas para o Portugus...

Se no tem (ou no acho), ento mos obra: fiz um pequeno programa em Delphi (estava
com preguia e com pressa...) que faz a anlise de textos em ASCII puro. O programa usa a
tecnologia de streaming de memria, o que permite a leitura e a anlise de textos muito
longos (acima da limitao de 32 Kb do memo do Delphi). Este programa, chamado
Frequncia NumaBoa, est disponvel para download na Seo de Downloads - categoria
Criptologia - Criptoanlise.
Os resultados que obtive utilizando a "tecnologia de ponta" da Aldeia so apresentados a
seguir.

Ensaio de Frequncias

Como ensaio estatstico, usei 6 textos de autores conhecidos e de pocas diferentes. Todos
os textos so de domnio pblico (sem copyright) e podem ser encontrados com facilidade
na Internet para download.

Os textos foram analisados transformado-se vogais acentuadas (, , ,...) em vogais


normais e o C cedilha em C.

1. A Profisso de Jacques Pedreira, de Joo do Rio, com 49.958 palavras e 232.882


letras.
2. Memrias Pstumas de Brs Cubas (50 primeiros captulos), de Machado de Assis,
com 26.326 palavras e 115.580 letras.
3. Contos Gauchescos, de Joo Simes Lopes Neto, com 33.013 palavras e 143.520
letras.
4. Obras Selecionadas de Rui Barbosa, com os textos "A Emancipao Progride" e "Pelos
Escravos! s Senhoras Baianas", com 4.781 palavras e 23.121 letras.
5. Os Bruzundangas, de Lima Barreto, com 41.633 palavras e 200.581 letras.
6. Texto lido na cerimnia de encerramento do Frum Social Mundial 2002, de
Saramago, com 2.053 palavras e 9.827 letras. Este, o nico autor portugus, para
por um pouco de tempero na anlise.

No total, foram analisadas 157.764 palavras com 725.511 letras - uma amostra significante
para dar consistncia aos resultados.

Frequncia das letras

Letra Freq.% Letra Freq.%


A 14.63 N 5.05
B 1.04 O 10.73
C 3.88 P 2.52
D 4.99 Q 1.20
E 12.57 R 6.53
F 1.02 S 7.81
G 1.30 T 4.34
H 1.28 U 4.63
I 6.18 V 1.67
J 0.40 W 0.01
K 0.02 X 0.21
L 2.78 Y 0.01
M 4.74 Z 0.47
Histograma por Histograma por

/> Ordem Alfabtica /> Ordem de


Frequncia

Caractersticas do Portugus do Brasil

O comprimento mdio das palavras em Portugus do Brasil de 4.53 letras.


Quando as letras so ordenadas pela frequncia, formam grupos bem definidos:
1. A, E, O
2. S, R, I
3. N, D, M, U, T, C
4. L, P, V, G, H, Q, B, F
5. Z, J, X, K, W, Y

Letras Freq.
6 vogais: A, E, I, O, U, (Y) 48.75 %
20 consoantes
5 de frequncia alta: S, R, N, D, M 49.12 %
10 de frequncia mdia: T, C, L, P, V, G, H, Q, B, F 21.03 %
6 de frequncia baixa: Z, J, X, K, W 1.10 %
100.00 %

As vogais A, E, I, O, U e as consoantes S, R, N, D, M formam mais de 3/4 dos textos


em Portugus.
A mdia de vogais a cada 10 letras de 4.88

Distribuio da frequncia uniliteral - DFU

frequncia 15 13 11 8 7 6 5 5 5 5 4 4 3 3 2 1 1 1 1 1 0 0 0 0 0 0
Letra A E O SR I NDMUTCLPVGHQBFZJXHYW

DIGRAMAS E TRIGRAMAS MAIS FREQUENTES

DE 1.76 QUE 0.96


RA 1.67 ENT 0.56
ES 1.65 COM 0.47
OS 1.51 NTE 0.44
AS 1.49 EST 0.34
DO 1.41 AVA 0.34
AR 1.33 ARA 0.33
CO 1.31 ADO 0.33
EN 1.23 PAR 0.30
QU 1.20 NDO 0.30
ER 1.18 NAO 0.30
DA 1.17 ERA 0.30
RE 1.14 AND 0.30
CA 1.11 UMA 0.28
TA 1.10 STA 0.28
SE 1.08 RES 0.27
NT 1.08 MEN 0.27
MA 1.06 CON 0.27
UE 1.05 DOS 0.25
TE 1.05 ANT 0.25
20 Digramas mais frequentes 20 Trigramas mais frequentes
(em 100 letras) (em 100 letras)

Letras iniciais e finais

Letras D A E C P S O M N Q T F U V L R B I G J H Z K X W Y
Iniciais 12 11 11 8 7 6 6 6 5 4 4 3 3 3 2 2 2 2 2 1 1 - - - - -

Letras A O E S M R U I L Z D T H N C Y B X V K G F P W Q J
Finais 70 65 60 48 21 14 10 5 4 2 - - - - - - - - - - - - - - - -

PALAVRAS CURTAS MAIS FREQUENTES

em 100 em 100
2 letras 3 letras
letras letras
1 em 100
letra letras DE 0.82 QUE 0.63
E 0.88 UM 0.31 NAO 0.29
A 0.84 SE 0.30 UMA 0.21
O 0.71 DA 0.27 COM 0.21
OS 0.25 ERA 0.14
DO 0.25 POR 0.12
AS 0.19 MAS 0.11
EM 0.17 DOS 0.11
NO 0.14 LHE 0.09
NA 0.12 FOI 0.07
ME 0.11 ELE 0.07
AO 0.10 DAS 0.07
EU 0.07 SUA 0.06
SO 0.05 SEU 0.06
LA 0.05 SEM 0.05
JA 0.05 SER 0.04
HA 0.04 NEM 0.04
MEU 0.04
ELA 0.04
ATE 0.04

OBSERVAES

O textos para esta anlise foram obtidos dos sites abaixo:

A Biblioteca Virtual do Estudante Brasileiro


Falares Literrios
IMN - Instituto Moreira Necho - O Site Brasileiro da Comunicao (site desativado)
Vitual Books Online - Sua Biblioteca de Livros Eletrnicos
Livro Gratuito

Em 17.03.07 a Isis me enviou um e-mail com um link para um trabalho do Bruno da Rocha
Braga (brunorb@ravel.ufrj.br), Anlise de Freqncias de Lnguas publicado em 24 de maro
de 2003, que complementa este texto. Fui conferir a indicao e, para minha surpresa, o
cara usou um programa da minha autoria (que pode ser baixado na seo de downloads)
para realizar seus experimentos. No entanto, ESQUECEU de colocar esta citao nas
referncias do seu trabalho, uma falha imperdovel para um investigador de respeito da
Ravel / COPPE / UFRJ. A corzinha dos grficos gerados pelo meu programa nica e no
deixa dvidas. Confira se a v est mentindo...

Texto publicado pela primeira vez na Aldeia em 3 de Setembro de 2002.

Atualizao Seg, 13.04.2009 13:21


Frequncia de ocorrncia de letras no
Espanhol

1
2
3
4
5

(6 votos, mdia 3.7 de 5)


Escrito por vov Vicki

Seg, 26.01.2009 20:15

A determinao da frequncia de letras, digramas e trigramas de um determinado idioma


essencial para a anlise de textos cifrados. Este processo conhecido desde a Antiguidade e
deve-se, ao que tudo indica, a al-Kindi. Neste artigo voc encontra os dados relativos ao
Espanhol.

Frequncia das Letras

Letra Freq.% Letra Freq.%

A 12.30 N 7.41

B 1.03 O 8.68

C 4.49 P 2.63

D 5.04 Q 1.02

Histograma por E 13.69 R 6.44


Ordem Alfabtica
F 0.77 S 6.97

G 1.04 T 4.82

H 0.65 U 3.99

I 7.78 V 1.04

J 0.28 W 0.02

K 0.02 X 0.16

Histograma por L 5.84 Y 0.66


Ordem de Frequncia
M 2.84 Z 0.34

Anlise

O comprimento mdio das palavras no Espanhol de 4.96 letras.


Quando as letras so ordenadas pela frequncia, formam grupos bem definidos:
1. E, A
2. O, S
3. R, N, I, D
4. L, C, T, U
5. M, P
6. B, G, Y, V, Q, H, F, Z, J, X
7. K, W
Se o artigo "el" omitido, L cai para o 5o. grupo e A se torna a letra mais frequente.
Em Espanhol, textos com menos de 500 palavras so inadequados para a
determinao de frequncias. Mesmo em amostras com este comprimento, a letra A
pode mostrar uma frequncia maior que E e C, D e P (as quais exibem as variaes
mais acentuadas das frequncias da tabela acima) geralmente aparecem logo aps a
frequncia de E.
Peculiaridades mais importantes em relao ao Ingls:
a. Frequncia alta de Q.
b. Frequncia alta de A.
c. Frequncia baixa de T.
Peculiaridades mais importantes em relao ao Francs:
. Frequncia alta de O.
a. Frequncia baixa de T.
b. Ferquncia baixa de U.

Digramas e Trigramas mais frequentes

EN 2731 ENT 959

DE 2285 QUE 902

ES 2232 NTE 768


EL 1876 DEL 695

LA 1866 ELA 588

AL 1698 ION 556

NT 1649 DAD 553

RE 1536 CIO 517

ER 1526 CON 515

ON 1523 EST 513

OS 1523 ADE 512

AD 1435 ALI 502

AR 1426 IDA 481

UE 1352 NCI 434

RA 1325 EAL 418

CI 1323 ODE 403

AS 1315 ACI 394

TE 1261 CIA 393

SE 1174 ESE 389

CO 1147 IEN 386

20 Digramas mais frequentes 20 Trigramas mais frequentes

Observaes e Referncias

Todas as tabelas desta pgina foram construdas contando-se as frequncias num texto
espanhol de 100.000 letras composto por textos sobre o princpio da essncia (29.198),
sobre a Argentina (14.748), sobre Che Guevara (35.084) e sobre a teoria da relatividade
(20.970). Estes textos forma obtidos atravs da European Literature - Electronic Texts.

Fui buscar referncias no site de Didier Mller - Cours de Cryptologie, onde voc encontra
outras anlises de frequncia (francs, alemo, ingls e russo).

Informaes adicionais foram obtidas da Santa Cruz Public Libraries, na pgina Frequency of
Occurrence of Letters in Spanish, informando que as tabelas e o texto so de Fletcher Pratt,
Secret and Urgent: the Story of Codes and Ciphers Blue Ribbon Books, 1939, pp. 254-255.
Atualizao Seg, 26.01.2009 20:43

Ferramenta de anlise de
frequncia

1
2
3
4
5

(14 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Dom, 03.11.2002 01:00

Uma das principais ferramentas de criptoanlise a anlise de frequncia. No caso da


criptografia clssica, a frequncia da ocorrncia dos caracteres. Na criptografia atual, a
anlise da frequncia em nvel de bits. A Aldeia oferece uma ferramenta on line para a
anlise da frequncia de ocorrncia de letras, uma cortesia da vov Vicki

Anlise de Frequncia on line

Esta uma ferramenta para a anlise da frequncia da ocorrncia de letras em textos


escritos com o alfabeto ocidental atual. Escrita em JavaScript, ela fornece uma contagem de
letras e um histograma. Para que funcione, a JavaScript precisa estar habilitada no seu
navegador.

Copie e cole (ou digite) os textos desejados nas caixas de texto e depois clique no boto
[Analisar]. O analisador ignora sinais grficos e nmeros. As letras acentuadas so
substitudas pelas respectivas letras sem acento. Qualquer smbolo que no faa parte do
alfabeto ocidental atual eliminado ou substitudo.

TEXTO 1 - Claro

TEXTO 2 - Criptografado
ANLISE DE FREQUNCIA DO TEXTO 1

ANLISE DE FREQUNCIA DO TEXTO 2

Atualizao Ter, 19.02.2008 13:03

Ferramenta de anlise de
frequncia

1
2
3
4
5

(14 votos, mdia 4.9 de 5)


Escrito por vov Vicki

Dom, 03.11.2002 01:00

Uma das principais ferramentas de criptoanlise a anlise de frequncia. No caso da


criptografia clssica, a frequncia da ocorrncia dos caracteres. Na criptografia atual, a
anlise da frequncia em nvel de bits. A Aldeia oferece uma ferramenta on line para a
anlise da frequncia de ocorrncia de letras, uma cortesia da vov Vicki

Anlise de Frequncia on line

Esta uma ferramenta para a anlise da frequncia da ocorrncia de letras em textos


escritos com o alfabeto ocidental atual. Escrita em JavaScript, ela fornece uma contagem de
letras e um histograma. Para que funcione, a JavaScript precisa estar habilitada no seu
navegador.

Copie e cole (ou digite) os textos desejados nas caixas de texto e depois clique no boto
[Analisar]. O analisador ignora sinais grficos e nmeros. As letras acentuadas so
substitudas pelas respectivas letras sem acento. Qualquer smbolo que no faa parte do
alfabeto ocidental atual eliminado ou substitudo.

TEXTO 1 - Claro

TEXTO 2 - Criptografado

ANLISE DE FREQUNCIA DO TEXTO 1

ANLISE DE FREQUNCIA DO TEXTO 2

Atualizao Ter, 19.02.2008 13:03

Identificao de
Classes

1
2
3
4
5

(3 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Seg, 26.01.2009 18:42

Na criptoanlise das cifras clssica, uma das primeiras primeiras providncias que
precisamos tomar determinar a classe da cifra, ou seja, tentar descobrir se se trata de uma
transposio ou de uma cifra de substituio.

Revendo a diferena fundamental entre cifras de substituio e cifras de transposio,


observa-se que:

Nas cifras de substituio os valores normais ou convencionais das letras do texto


claro so alterados, porm as posies relativas das letras permanecem na sua
sequncia original.
Nas cifras de transposio apenas as posies relativas das letras do texto claro so
alteradas, enquanto que os valores convencionais das letras so mantidos.

DFU

O termo Distribuio de Frequncia Uniliteral - DFU (Uniliteral Frequency Distribution - UFD)


utilizado para identificar uma cifra de substituio simples.

Observao: uniLITERAL e no unilateral. Uni de "um" e literal, que significa "expresso


por letras". Da, uniliteral = expresso por apenas uma letra.

Trs propriedades podem ser observadas atravs de uma DFU aplicada a um texto cifrado de
tamanho mdio composto apenas por letras:

Se a cifra pertence classe de substituio ou classe de transposio.


Se for da classe de substituio, se mono- ou polialfabtica.
Se for monoalfabtica, se padro (direta ou reversa) ou mista.

Organograma da Criptologia

Classe de Cifra

Como a cifra de transposio rearranja o texto original sem alterar as entidades do mesmo, o
nmero de vogais (A, E, I, O, U, Y), de consoantes de alta frequncia (C, D, N, M, R, S, T),
de consoantes de frequncia mdia (B, F, G, H, L, P, Q, V) e, especialmente as consoantes de
baixa frequncia (J, K, W, X, Z), so exatamente as mesmas no texto cifrado e no texto
original (as letras se referem a um texto em ingls). Numa cifra de substituio, as
porcentagens convencionais de vogais e consoantes esto alteradas no texto cifrado.

medida que o tamanho das mensagens cifradas diminui, existe uma maior probabilidade de
desvios da proporo normal de vogais e consoantes. medida que o tamanho dos textos
cifrados aumenta, os desvios se tornam cada vez menores. Com 1.000 letras ou mais,
praticamente no existe diferena entre as propores tericas e as reais. Friedman criou
uma tabela mostrando a expectativa normal para vogais, consoantes de frequncia alta,
mdia e baixa, alm da expectativa de brancos (blanks).

Em portugus, por exemplo, numa mensagem de 100 letras devem existir cerca de 48
vogais(A, E, I, O, U, Y), aproximadamente 37 consoantes de alta frequncia (S, R, N, D, M,
T, C) e cerca de 13 consoantes de frequncia mdia (L, P, V, G, H, Q, B, F). Ainda se espera
2 consoantes de frequncia baixa (Z, J, X, K, W).

Uma classe de cifra considerada como de transposio se o texto cifrado estiver dentro dos
limites acima citados. Ser considerada como sendo de substituio se os valores
encontrados estiverem fora dos limites convencionados para o comprimento da mensagem.
[Friedman1/ p32-39]

Distribuio de Frequncia Uniliteral - DFU

A distribuio de frequncia uniliteral (DFU) pode ser utilizada para indicar a


monoalfabeticidade. A distribuio normal mostra cristas (elevaes) e vales (depresses)
devido a dois fatores:

Sons elementares representados por smbolos so usados com mais frequncia. Esta
uma das caractersticas mais marcantes de qualquer linguagem alfabtica.

Exceto por poucas excees, cada som representado por um nico smbolo.

O mapeamento da correspondncia um-para-um entre a mensagem original e a mensagem


cifrada mostrar uma DFU deslocada, com posies absolutas das cristas e vales diferentes
do normal.

Cristas e vales evidentes na DFU de um criptograma indicativo de que se trata de uma cifra
monoalfabtica. Este um dos testes para a cifra de substituio mono/polialfabtica.

Numa DFU, a ausncia de cristas e vales evidentes indica uma forma complexa de
substituio. O aspecto achatado da distribuio um dos critrios para a rejeio da
hiptese de uma substituio monoalfabtica.

Teste Phi para monoalfabeticidade

Este teste compara o valor PHI(o) observado para a distribuio que esteja sendo testada
com o valor PHI(r) randmico e o valor PHI(p) esperado no texto original. Para textos
militares em ingls os valores so:

PHI(r) = 0.0385N(N-1)
PHI(p) = 0.0667N(N-1)

onde N o nmero de elementos na distribuio. A constante .0385 o equivalente decimal


de 1/26 e a constante .0667 a soma dos quadrados das probabilidades de ocorrncia de
cada uma das letras no texto original em ingls. [Friedman3]

Exemplo 1

Teste PHI do seguinte criptograma:

OWQWZ AEDTD QHHOB AWFTZ WODEQ


TUWRQ BDQRO XHQDA GTBDH PZRDK
f 3 3 7 2 1 1 4 1 4 1 6 3 4 1 5 1 3

TC 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

f(f-
6 6 42 2 0 0 12 0 12 0 30 6 12 0 20 0 6
1)

Onde:

N = nmero de letras = soma de fi = 50


PHI(o) = soma [fi(fi-1)] = 154
PHI(r) = .0358N(N-1) = .0385 x 50 x 49 = 94
PHI(p) = .0667N(N-1) = .0667 x 50 x 49 = 163

Como valor observado PHI(o) = 154 se aproxima mais do valor esperado no texto original
PHI(p) = 163 do que do valor randmico PHI(r) = 94, existe uma corroborao matemtica
da hiptese de que o texto cifrado seja monoalfabtico.

Exemplo 2

Na distribuio do texto cifrado indicada abaixo:

f 1 1 1 2 1 1 1 3 1 1 1 2 1 1 1 1 2 3

TC 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

f(f-
0 0 0 2 0 0 0 6 0 0 0 2 0 0 0 0 2 6
1)

N = 25 letras
PHI(o) = 18
PHI(r) = .0385 x 25 x 24 = 23
PHI(p) = .0667 x 25 x 24 = 40

Como o valor observado PHI(o) est mais prximo do valor randmico PHI(r), ento esta
distribuio de letras NO monoalfabtica.

Antes de tirar concluses apressadas e considerar este teste como perfeito, faa o PHI com
"a quick brown fox jumps over the lazy dog".

f 2 1 1 1 2 1 1 1 1 1 1 1 1 1 4 1 1 2 1 1 1 1 1 1 1 2

TC 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

f(f-
2 0 0 0 2 0 0 0 0 0 0 0 0 0 12 0 0 2 0 0 0 0 0 0 0 2
1)

N = 33 letras
PHI(o) = 20
PHI(r) = .0385 x 33 x 32 = 41
PHI(p) = .0667 x 33 x 32 = 70

Como o valor observado PHI(o) menos que a metade do valor randmico PHI(r), isto
sugere que as letras desta frase no poderiam estar em texto original e inteligvel em
qualquer lngua. E agora? Se voc no encontrou uma explicao racional para este ltimo
exemplo, aguarde a derivao simplificada de Sinkov.

TABELAS DE KULLBACK

Textos monoalfabticos e digrmicos para oito lnguas:

Lngua Texto Monoalfabtico Texto Digrmico

Ingls 0.0661N(N-1) 0.0069N(N-1)

Francs 0.0778N(N-1) 0.0093N(N-1)

Alemo 0.0762N(N-1) 0.0112N(N-1)

Italiano 0.0738N(N-1) 0.0081N(N-1)

Japons 0.0819N(N-1) 0.0116N(N-1)

Portugus 0.0791N(N-1)

Russo 0.0529N(N-1) 0.0058N(N-1)

Espanhol 0.0775N(N-1) 0.0093N(N-1

Texto Randmico

Monogrmico Digrmico Trigrmico

0.038N(N-1) 0.0015N(N-1) 0.000057N(N-1)


ndice de Coincidncia ou Teste Kappa de Friedman

de Friedman o famoso ndice de Coincidncia. mais um mtodo para expressar a


monoalfabeticidade de um criptograma. Compara-se o I.C. terico com o I.C. obtido.

O I.C. definido como sendo a razo entre PHI(o)/PHI(r). Utilizando o exemplo 1 descrito
acima, pode-se calcular o I.C.=154/94=1.64. O I.C. terico para o Ingls 1.73 (ou
.0667/.0385). O I.C. de um texto randmico igual a 1 (ou .0385/.0385).

Em 1920 Friedman escreveu um texto intitulado "O ndice de Coincidncia e sua Aplicao na
Criptografia" ("The Index of Coincidence and Its Application in Cryptography") que , talvez,
o tratado mais importante na histria da criptografia. [Friedman2]

Alfabetos Cifrantes - Padro ou Desordenados

Partindo de premissa de que uma DFU seja monoalfabtica, observa-se as cristas e os vales
da distribuio. Se as cristas e os vales ocuparem posies deslocadas em relao DFU
normal, ento o alfabeto tem toda probabilidade de ser ordenado ou padro (A, B, C,...). Se
isto no ocorrer, o texto cifrado foi preparado utilizando-se um alfabeto desordenado. A
direo em que as cristas e vales progredirem, da esquerda para a direita ou da direita para
a esquerda, indica se o alfabeto padro ou reverso (Z, Y, X, ...)

Referncias

Friedman, William F. and Callimahos, Lambros D., Military


[FRIEDMAN1] Cryptanalytics Part I - Volume 1, Aegean Park Press, Laguna Hills, CA,
1985.

Friedman, William F., The Index of Coincidence and Its Applications In


[FRIEDMAN2] Cryptography, Publication 22, The Riverbank Publications, Aegean
Park Press, Laguna Hills, CA, 1979.

Kullback, Solomon, Statistical Methods in Cryptanalysis, Agean Park


[KULLBACK]
Press, Laguna Hills, Ca. 1976.

[LANAKI] LANAKI e suas aulas de Criptografia Clssica.

Atualizao Seg, 26.01.2009 19:40

Como calcular o ndice de Coincidncia


(Kappa)
1
2
3
4
5

(10 votos, mdia 4.1 de 5)


Escrito por vov Vicki

Seg, 26.01.2009 20:49

O ndice de Coincidncia (IC) de Friedman indica a probabilidade de dois caracteres de um


texto cifrado, tomados ao acaso, corresponderem mesma letra. Em 1920, Friedman
publicou "The Index of Coincidence and Its Application in Cryptography", sendo este,
provavelmente, o tratado mais importante na histria da criptografia.

O IC utilizado para se determinar a monoalfabeticidade de um texto. Quando seu valor


estiver ao redor de 0.762, a probabilidade do texto claro ter sido submetido a uma
substituio monoalfabtica muito grande. Se o ndice for significantemente menor, ento o
texto claro deve ter sido submetido a uma substituio polialfabtica.

Cada idioma possui um IC prprio por que a frequncia da ocorrncia das letras peculiar a
cada um deles o que, obviamente, altera o ndice.

O clculo do IC

O clculo do IC feito em duas etapas. Inicialmente calcula-se a probabilidade de quantas


letras do texto cifrado correspondem a A, B, ..., Z. Depois, realiza-se a soma destas
probabilidades para se obter o IC.

Tomemos como exemplo o texto cifrado plsual tlroao crqcoc auiser emmoir anstoi
ozaend roabio rmrcaa ocsnen idtliu annvdu epranr etqeeu sscepx texrae xemxot
ssiedt, composto por 108 caracteres. A frequncia da ocorrncia das letras deste texto a
seguinte:

f 11 1 6 4 13 7 4 4 7 10 3 2 10 8 7 5 1 4 1

TC 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

Primeira Etapa

A frmula abaixo permite calcular a probabilidade da ocorrncia de cada uma das letras do
alfabeto num texto cifrado. n1corresponde a A e n ao nmero total de letras do texto
analisado. Repete-se o clculo com n2 para B at n26 para Z.
No preciso se assustar com a simplificao da frmula obtida por Friedman. Com apenas
um exemplo fica tudo claro. Inicialmente tomemos o A como exemplo: esta letra ocorre 11
vezes no texto, portanto basta calcular 11 x (11 - 1) = 11 x 10 = 110. Agora vamos calcular
n(n-1) = 108 x (108 - 1) = 108 x 107 = 11.556. Conforme a frmula, basta dividir um pelo
outro, ou seja, 110/11556 = 0.0095. Repetindo o clculo para todas as outras letras
obtemos os seguintes resultados:

A 0.00951 N 0.00363

B O 0.00779

C 0.00260 P 0.00052

D 0.00104 Q 0.00017

E 0.01350 R 0.00779

F 0.00104 S 0.00485

G T 0.00363

H U 0.00173

I 0.00363 V

J W

K X 0.00104

L 0.00104 Y

M 0.00104 Z

Segunda Etapa

Basta somar os valores obtidos e teremos os IC do texto: 0.0645. Este valor est
arredondado porque foram usadas apenas 5 casas decimais aps a vrgula. O resultado no
javascript abaixo um pouco diferente porque mais casas decimais so consideradas.

A frmula da somatria dos ndices de coincidncia de cada letra para se obter o ndice de
Coincidncia do texto est abaixo:
A frmula final do ndice de Coincidncia

Esta , portanto, a frmula final que permite calcular o ndice de Coincidncia de um texto,
seja claro ou cifrado.

Confira o ndice

Referncias
Friedman, William F. and Callimahos, Lambros D., Military
[FRIEDMAN1] Cryptanalytics Part I - Volume 1, Aegean Park Press, Laguna
Hills, CA, 1985.

Friedman, William F., The Index of Coincidence and Its


[FRIEDMAN2] Applications In Cryptography, Publication 22, The Riverbank
Publications, Aegean Park Press, Laguna Hills, CA, 1979.

[POMMERENING] Kryptologie - Koinzidenzindizes nach FRIEDMAN

Atualizao Seg, 26.01.2009 21:52

Exemplo de criptoanlise para


iniciantes

1
2
3
4
5

(10 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Ter, 27.01.2009 18:57

Neste exemplo de criptoanlise para iniciantes no vou comear o texto entregando o ouro.
Siga a rotina de trabalho e descubra no final o sistema e a chave que foram empregados
para cifrar a mensagem. Veja como possvel obter o texto original da mensagem.

A mensagem cifrada

V RMHFURXRVMGV MLH KILGVTVI XLN OVRH KIVXRHZNLH MLH KILGVTVI XLN


NZGVNZGRXZ

Como um exemplo para iniciantes, os espaos entre as palavras foram conservados.

Uma dica: letras acentuadas e letras especiais (como ) foram substitudas pelas letras
originais do alfabeto.

Outra dica: a mensagem est em portugus.

Primeiro contato
1. A mensagem cifrada composta por 11 grupos de letras (11 palavras?), num total
de 65 letras.
2. Note que h um grupo de letras que ocorre em duplicidade: MLH KILGVTVI XLN.
3. A primeira letra do criptograma (V) pode ser O, A, E, ...
4. Os grupos MLH e XLN podem ser coisa do tipo QUE, NO, COM, etc.
5. Fazendo um pouco de ordem:

POSIO 1 2 3 4 5
Mensagem
V RMHFURXRVMGV MLH KILGVTVI XLN
Cifrada

POSIO 6 7 8 9 10
Mensagem
OVRH KIVXRHZNLH MLH KILGVTVI XLN
Cifrada

POSIO 11
Mensagem
NZGVNZGRXZ
Cifrada

Tabela de Frequncia

Letra Ocorrncias Porcentagem


F 1 1.54 %
G 5 7.69 %
H 6 9.23 %
I 5 7.69 %
K 3 4.62 %
L 7 10.77 %
M 4 6.15 %
N 5 7.69 %
O 1 1.54 %
R 6 9.23 %
T 2 3.08 %
U 1 1.54 %
V 10 15.39 %
X 5 7.69 %
Z 4 6.15 %
TOTAL 65 100.00 %

Foi utilizado o programa 'Frequncia NumaBoa' para obter a distribuio da frequncia e os


histogramas da mensagem cifrada. Se voc tiver interesse, o programa est disponvel na
seo de downloads da Aldeia em [Downloads / Criptologia / Criptoanlise]

Determinao da Classe da Cifra


As cifras podem ser de transposio ou de substituio. A primeira tarefa tentar identificar
a classe qual a mensagem cifrada pertence. Um dos mtodos de determinao de classe
a comparao da frequncia de ocorrncia de vogais e consoantes, as ltimas de acordo com
o nvel de frequncia (alto, mdio, baixo). importante observar principalmente as
consoantes de frequncia baixa.

Quanto maior o desvio dos valores encontrados em relao aos valores esperados, tanto
maior a probabilidade de se tratar de uma cifra de substituio.

ENCONTRADO ENCONTRADO
TIPOS LETRAS ESPERADO (em 65 (em 100
letras) letras)
Vogais AEIOU 48-49 7 11
Consoantes de Alta
CDMNRST 37 17 26
Frequncia
Consoantes de
BGHFLPQV 12-13 29 45
Frequncia Mdia
Consoantes de
JKWXYZ 1 12 18
Baixa Frequncia
Total 100 65 100

A distribuio encontrada por grupo de frequncia mostra grandes desvios em relao aos
valores esperados. Tudo indica tratar-se de uma cifra de substituio e, se for realmente
uma cifra de substituio, preciso determinar se uma substituio monoalfabtica ou
polialfabtica.

A Distribuio de Frequncia Uniliteral - DFU

A anlise da distribuio de frequncia uniliteral - DFU permite determinar se a mensagem


cifrada por substituio mono ou polialfabtica. Comparam-se as cristas e vales das
frequncias encontradas com o perfil das frequncias esperadas.
Frequncia esperada

Frequncia
encontrada

As caractersticas da lngua portuguesa podem ser vistas em maiores detalhes em Frequncia


da ocorrncia de letras no Portugus.

Apesar das cristas e vales no coinciderem nas duas amostras, verifica-se que ainda so
muito marcadas nas letras encontradas. Alm disto, chama a ateno que o grupo formado
pelas frequncias esperadas das letras de L a V ( esquerda) muito semelhante ao grupo
formado pelas frequncias econtradas ( direita) das letras F a O.
Mesmo deslocando um grfico em relao ao outro, parece difcil encontrar uma coincidncia
de padro de distribuio. Mas veja o que acontece quando invertemos um dos grficos (o
grfico da distribuio esperada):

A distribuio das frequncias torna-se bastante prxima. Considerando que a mensagem


cifrada possui apenas 65 letras, o que aumenta em muito a chance de desvios acentuados, o
desvio encontrado bastante discreto.

At o momento, tudo indica tratar-se de uma mensagem cifrada por substituio


monoalfabtica com deslocamento de 26 posies. Se que voc se lembra, parece ser o
mesmo padro do Atbash!

Decifrando a mensagem

A B C D E F GH I J K L M
ZYXWVUT S RQP ON

POSIO 1 2 3 4 5
Mensagem
V RMHFURXRVMGV MLH KILGVTVI XLN
Cifrada
Mensagem
e insuficiente nos proteger com
Original

POSIO 6 7 8 9 10
Mensagem
OVRH KIVXRHZNLH MLH KILGVTVI XLN
Cifrada
Mensagem
leis precisamos nos proteger com
Original
POSIO 11
Mensagem
NZGVNZGRXZ
Cifrada
Mensagem
matematica
Original

INSUFICIENTE NOS PROTEGER COM LEIS.


PRECISAMOS NOS PROTEGER COM MATEMTICA.

Frase de Bruce Schneier, autor de algoritmos de criptografia forte como Blowfish e Doublefish.

Atualizao Seg, 03.08.2009 21:24

Anlise das substituies


monoalfabticas

1
2
3
4
5

(3 votos, mdia 5.0 de 5)


Escrito por vov Vicki

Seg, 26.01.2009 09:56

Cifras de substituio que utilizam apenas um alfabeto cifrante so denominadas


de substituies monoalfabticas. Considerando que o alfabeto ocidental atual possui 26
letras, possvel obter exatos 403.291.461.126.605.635.584.000.000 alfabetos cifrantes
diferentes rearranjando suas 26 letras. O alfabeto cifrante escolhido para uma substituio
simples chamado de chave.

Parece impossvel determinar qual a chave utilizada numa cifra de substituio


monoalfabtica (ou simples). Ser que as cifras de substituio monoalfabticas, como
as cifras hebraicas, o cdigo de Csar e a cifra do Kama-Sutra, so inquebrveis?

Anlise Combinatria

Est na hora de dar uma olhada em alguns princpios matemticos. Nada de pnico, coisa
pouca. O estudo dos procedimentos para se obter agrupamentos de elementos, como as 26
letras do alfabeto, chamado de Anlise Combinatria e o processo de rearranjo dos
elementos chamado de permutao simples.
A forma de calcular o nmero de permutaes possveis atravs do fatorial do nmero dos
elementos envolvidos, no nosso caso, fatorial de 26 (que anotado como 26!). Pois , 26!
igual a 26x25x24x23x22x...x4x3x2x1 e d esta cifra astronmica de mais de 400 septilhes.

Se voc no tem idia do que estou falando, d uma passada na Escolinha da Aldeia e
explore um pouco as ferramentas matemticas relacionadas anlise combinatria. Depois
volte para dar continuidade leitura deste texto. Desejo sucesso!

Se voc tira de letra a Anlise Combinatria, especialmente a permutao simples, ento


continue sossegadamente com a leitura deste artigo

Obtendo um cifrante (ou chave)

Para obter uma chave ou alfabeto cifrante, basta rearranjar as letras do alfabeto ou deixar
que um dos 400 septilhes seja escolhido ao acaso. Preencha o alfabeto cifrante ou clique em
[Randomizar Alfabeto] para obter uma chave:

Alfabeto 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 Cifrante

| Randomizar Alfabeto | Limpar Alfabeto Cifrante |

Cifrando um texto

Digite um texto e obtenha a cifragem pela substituio simples que utiliza o alfabeto cifrante
acima determinado. Quanto mais longo for o texto, mais claro fica o exemplo. No use letras
acentuadas, c cedilha ou qualquer outro caractere grfico porque no podero ser
substitudos pelo alfabeto cifrante e s vo atrapalhar a anlise (por exemplo, corao deve
ser escrito coracao).

Texto Claro Texto Cifrado


Manter
espaos

Lento Cifrar Decifrar

Rpido Limpar

Quebrando a cifra

Se a sua mensagem for interceptada pelo inimigo e ele detectar corretamente que a cifra
utilizada foi uma substituio monoalfabtica, ainda assim ele ter pela frente uma tarefa
(teoricamente) impossvel: testar todas as chaves at encontrar a correta, o que tambm
(teoricamente) nem com gua benta e nem com fora bruta ele vai conseguir. Acontece que
nem tudo est perdido para o inimigo se ele conhecer a chamada Anlise da Frequncia de
Ocorrncia de Letras.

Anlise da Frequncia de Ocorrncia de Letras

Em qualquer idioma alguns sons so utilizados com mais frequncia do que outros. Isto
significa que, na linguagem escrita, algumas letras tambm so mais utilizadas do que
outras. Determinar a frequncia com que ocorrem determinadas letras em determinada
lngua, ou seja, fazer uma Anlise da Frequncia de Ocorrncia de Letras no nenhuma
novidade - o grande sbio rabe al-Kindi j teve esta idia h mais de 1.000 anos atrs.

Na substituio monoalfabtica cada letra trocada pela letra correspondente do alfabeto


cifrante ou chave. Isto significa que as caractersticas das letras originais so transferidas
para as novas letras, inclusive suas caractersticas de frequncia de ocorrncia. o mesmo
que trocar seis por meia dzia... o caminho das pedras para quebrar uma cifra deste tipo!

Comparando as frequncias

Se voc preparou um alfabeto cifrante, digitou um texto claro e obteve o texto cifrado
correspondente, ento voc pode comparar a frequncia da ocorrncia das letras de ambos
os textos. Clique aqui em [Fazer Anlise de Frequncia] e observe no grfico que a
caracterstica de ocorrncia das letras originais foi transferida para as letras do texto cifrado.

Trabalhando com frequncias


Frequncia das
letras
no
portugus - A 15%

Compare a letra mais frequente do texto cifrado com a letra mais frequente do texto claro e
depois confira com o alfabeto cifrante. Este um dos pares de troca. Faa o mesmo com a
segunda letra mais frequente - novamente voc vai reconhecer um par de troca. Estamos
fazendo testes conhecendo tanto o texto claro quanto o cifrado. Nosso inimigo, no entanto,
no tem informaes a respeito do texto claro como, por exemplo, o idioma utilizado para
redigir a mensagem. A resposta para esta pergunta essencial porque define o padro da
frequncia da ocorrncia de letras que deve ser usada para fazer a comparao. bvio que
SEMPRE existem outras pistas que podem ajudar: o remetente da mensagem, o destinatrio,
o possvel assunto, etc.

Caso o inimigo se decida pelo Portugus, claro que vai fazer uma anlise de frequncia
usando esta lngua como base. Quanto mais longo for o texto, maior a probabilidade dos
valores encontrados estarem mais prximos dos valores padro. Alm disto, no se deve
esquecer que os valores padro representam a MDIA da frequncia de ocorrncia. O padro
para a letra A de 14.63% - esta frequncia pode variar, digamos, de 13% a 17%. Neste
caso estamos contando com um desvio de cerca de 2%.

Alm disto, o inimigo bom de criptoanlise vai procurar o fio da meada analisando
inicialmente os extremos: letras de frequncia muito alta e letras de frequncia muito baixa.

Se voc tiver interesse nas caractersticas da lngua portuguesa, como os valores


encontrados para a frequncia de ocorrncia de letras, dgrafos, etc, ento d uma olhada
em Portugus (do Brasil) - Frequncia da Ocorrncia de Letras.

Atualizao Seg, 26.01.2009 10:39


A grande brincadeira de
Trithemius

1
2
3
4
5

(18 votos, mdia 4.5 de 5)


Escrito por vov Vicki

Sb, 31.01.2009 21:35

Em 1499, Johannes Trithemius escreveu um controvertido livro crptico


chamado Steganographia (que significa escrita oculta). Durante anos este livro circulou em
forma de manuscrito antes de, finalmente, ser impresso em 1606 e depois ser colocado na
lista oficial dos livros proibidos pela Igreja Catlica em 1609. Imaginem s, naquela poca
em que por muito menos a Inquisio mandava queimar bruxos e bruxas na fogueira,
ostensivamente Trithemius explicou como usar espritos para enviar mensagens secretas.
Espritos, demnios ou apenas criptografia?

Para entender do que trata este artigo, leia antes O segredo do terceiro livro
(Trithemius).

Os dois primeiros livros da trilogia da Steganographia contm numerosos exemplos de


alguns tipos de cifras simples. Por exemplo, na mensagem que comea com PARAMESIEL
OSHURMI DELMUSON THAFLOIN PEANO CHARUSTREA MELANY LYAMUNTO..., a primeira
palavra sem sentido indica o sistema criptogrfico que est sendo utilizado. O decifrador,
ento, sabe como extrair cada letra de cada palavra, iniciando pela segunda palavra, para
obter a mensagem em Latim: Sum tali cautela ut...

O Terceiro Livro

O Livro III contm principalmente tabelas de nmeros, cujas colunas so identificadas por
smbolos zodiacais e planetrios, sugerindo que sejam dados astronmicos ou astrolgicos.
Diferentemente dos dois volumes anteriores, existem pouqussimas indicaes que ajudam a
decifrar o contedo.

Durante sculos estudiosos discutiram se o terceiro livro da Steganographia, incompleto,


continha qualquer mensagem cifrada. Muitos concluram que o livro no guardava qualquer
segredo criptogrfico e que apenas descrevia operaes mgicas, interessantes apenas para
ocultistas.

Entretanto, o prefcio do Livro III comea anunciando o objetivo provocativo de apresentar


um mtodo de transmitir mensagens distncia sem o uso da palavra, de um livro ou de um
mensageiro. Trithemius adverte neste prefcio que estava se expressando de forma
deliberadamente obscura:
Isto eu fiz para homens de estudo e homens profundamente
engajados com o estudo da mgica, de modo que, com a Graa de
Deus, possa ser inteligvel at um certo grau, enquanto que, por
outro lado, para os casca-grossa comedores de nabo, possa
permanecer um segredo escondido por todo o tempo e, para seus
intelectos obtusos, ser um livro selado para todo o sempre.

Estas palavras provocativas fizeram com que Thomas Ernst, professor de Alemo do La
Roche College em Pittsbrugh, e Jim Reeds, matemtico do AT&T Labs em Florham Park, no
resistissem em aceitar o desafio lanado h cinco sculos.

Apesar de muita pesquisa, no consegui encontrar nenhum dos textos originais de Ernst ou
de Reeds. Encontrei uma referncia criptoanlise efetuada por Reeds no Cracking a
Medieval Code, publicado em 4 de Maio de 1998 por Ivars Peterson, no site da Mathematical
Association of America. Foi este texto que usei como referncia para escrever este artigo.

As hipteses de Reeds

"Ao receber uma fotocpia do Steganographia, decidi ver se poderia achar qualquer
mensagem escondida no livro III", relembra Reeds no texto publicado no jornal Cryptologia.
"Sabia que o Livro III provavelmente era um rascunho. Portanto, informaes importantes
poderiam estar faltando; a verso impressa, obviamente, no havia sido revisada pelo
autor."

Ao mesmo tempo, Reeds comenta que "se o Livro III fosse algo como os Livros I e II, ento
provavelmente seria intil tentar seguir as instrues dadas no texto. Alm disto, eu poderia
esperar que qualquer texto claro [decifrado] fosse curto e banal."

Reeds teve sorte. Suas suposies de que a cifra era numrica e de que as tabelas deveriam
ser lidas em colunas verticais estavam corretas. Ele tambm imaginou que a tabela que
acompanhava o prefcio deveria ser uma forma de chave, na qual linhas sucessivas
descrevem blocos de 25 nmeros especificando frmulas de encriptao distintas que
transforma letras em nmeros.

Testando as hipteses

Reeds comeou transcrevendo a primeira tabela numrica. Transformou colunas em linhas,


excluu todos os cabealhos e dados que no aparecessem nas colunas originais e substituu
qualquer smbolo no numrico pelo sinal /. Veja abaixo um exemplo do resultado:

/ 644 650 629 650 645 635 646 636 632 646 639 634 641 642 649
642 648 638 634 647 632 630 642 633 648 650 655 626 650 644 638
633 635 642 632 640 637 643 638 634 / 669 675 654 675 670 660
675 661 651 671 664 659 666 667 674 667 673 663 659 672 657 655
667 658 673 675 660 651 675 669 663 658 660 667 637 665 662 668
663 659 / 694 700 679 700 695 685 696 686

Ele notou que as barras (/) dividiam os primeiros 160 nmeros em quatro blocos, todos com
40 nmeros. Alm disto, quase todos os nmeros de cada bloco ocupavam um determinado
intervalo numrico.
Reeds ento escreveu os quatro blocos de 40 nmeros em quatro linhas, uma abaixo da
outra, para verificar se havia alguma semelhana na estrutura das linhas:

644 650 629 650 645 635 646 636 632 646. . .
669 675 654 675 670 660 675 661 651 671. . .
694 700 679 700 695 685 696 686 632 696. . .
719 725 704 725 720 710 721 711 707 721. . .

Ele verificou que, com raras excees, os nmeros das colunas formadas tm uma diferena
de 25 em relao ao nmero imediatamente superior.

"Apesar de ainda no saber da existncia de uma cifra", diz Reeds, "estava claro, atravs da
emergncia deste padro, que minhas hipteses iniciais eram suficientemente verdadeiras,
quanto leitura por colunas e quanto importncia do nmero 25, para que eu pudesse
continuar."

"E, se houvesse uma cifra, este achado com certeza seria devido presena de quatro cpias
de um islogo: quatro cpias do mesmo texto claro, cifrado de modo diferente porm
relacionado", continua ele. "Se eu descobrisse como ler estas partes do texto, cifradas com
nmeros entre 626 e 650, provavelmente poderia usar a mesma receita para ler as partes
cifradas com nmeros entre 651 e 675: simplesmente subtraindo 25 de cada nmero e
procedendo da forma anterior."

Anlise de frequncia

Reeds resolveu checar a frequncia de cada um dos 25 nmeros diferentes de cada linha:

626 1 631 0 636