Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
vov Vicki
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.
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.
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.
Esteganografia ( 6 Artigos )
Supercifragens ( 3 Artigos )
Cdigos ( 1 item )
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.
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.
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.
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 )
Criptoanlise ( 18 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.
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 )
Indecifrados ( 1 item )
Voc e a
Criptografia
1
2
3
4
5
(35 votos, mdia 4.5 de 5)
Escrito por vov Vicki
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.
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.
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
Voc e a
Criptografia
1
2
3
4
5
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.
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
Sobre a
autora
1
2
3
4
5
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?
NA INTERNET
Introduo Criptografia
NumaBoa
1
2
3
4
5
ndice do Artigo
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.
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.
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.
SEGURANA DA INFORMAO
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
AS GUERRAS
CRIPTOANLISE
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
MQUINAS
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
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
LABORATRIOS
Guerras e
Criptografia
1
2
3
4
5
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
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
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.
Criptografia e Segurana
Pblica
1
2
3
4
5
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.
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.
Criptografia de chave
pblica
1
2
3
4
5
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.
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.
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.
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
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.
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"
Classificao
das cifras
1
2
3
4
5
ndice do Artigo
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.
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 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
Organograma simplificado
As cifras de substituio
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:
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.
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
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.
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.
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
Algoritmos bsicos da
criptografia atual
1
2
3
4
5
Cifras simtricas
Cifras assimtricas
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.
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.
Existem vrios mtodos para gerar e verificar assinaturas digitais. O algoritmo mais
conhecido o RSA.
FUNES HASH
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.
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.
Fonte
A Histria e a
Criptologia
1
2
3
4
5
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
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.
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.
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
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
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.
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
1
2
3
4
5
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.
Fontes
O Livro de Jeremias e o
Atbash
1
2
3
4
5
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.
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.
1
2
3
4
5
ndice do Artigo
1300 a 1453
Todas as pginas
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)
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)
1250
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.
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 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
al-
Kindi
1
2
3
4
5
al-Kindi (801 -
873)
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".
Manuscrito de al-Kindi
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".
Fontes
1
2
3
4
5
ndice do Artigo
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
Fontes
Leon Battista
Alberti
1
2
3
4
5
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
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.
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.
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
Johannes
Trithemius
1
2
3
4
5
(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.
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
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.
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)
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
1
2
3
4
5
Johannes Trithemius
(1462-1516)
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,
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".
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
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".
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
Girolamo
Cardano
1
2
3
4
5
Girolamo Cardano(1501-1576)
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.
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".
Fontes e Autoria
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
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.
1
2
3
4
5
Transposies
Geomtricas *
1
2
3
4
5
ndice do Artigo
Transposies Geomtricas *
Confira a Cifra
Todas as pginas
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.
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.
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.
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
LOS F R
EOS L I
P CN A N
OG I M I
TA I P F
CNO S N
I GO A O
I L L C S
L I N I M
F RAT I
S ACA G
OL E P O
T E S C N
AP F L A
COG I M
AR I N I
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
O Basto de
Licurgo *
1
2
3
4
5
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
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
"... 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
3
Dimetro (1-20)
Manter espaos
Eliminar espaos
Exerccios
Se voc quiser reforar seus conhecimentos, faa os Exerccios com o Basto de Licurgo.
Fontes e autoria
A frmula
SATOR
1
2
3
4
5
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.
Outros significados
Mas no s de Pater noster que vive a frmula Sator. Vrios outros "significados" foram
encontrados.
Os do lado do bem:
Os do lado do mal:
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
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".
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.
Com isto, a coisa fica um pouco mais fcil. Seu significado, numa traduo livre, pode ser:
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:
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
Rail
Fence
*
1
2
3
4
5
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.
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
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
A grade giratria de
Fleissner *
1
2
3
4
5
ndice do Artigo
A grade giratria de Fleissner *
confira a cifra
Todas as pginas
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.
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:
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
P R I N
O L D
M A O P
A A A D
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
Cifras de
Substituio
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.
Substituies Polialfabticas
Quando mais de um cifrante utilizado para cifrar um texto claro, o mtodo denominado
substituio polialfabtica.
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
As substituies
monoalfabticas
1
2
3
4
5
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.
Poligrmicas
Homofnicas
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.
Tomogrficas
As cifras
homofnicas *
1
2
3
4
5
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.
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
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
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.
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
Confira a cifra
Texto claro
Texto cifrado
Fontes
Didier Mller
O Cdigo de
Polbio *
1
2
3
4
5
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.
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.
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
Exerccios on line
Em Lpis e Papel - Exerccios com o Cdigo de Polbio - voc encontra material para testar e
reforar seus conhecimentos.
Morse
fracionado
1
2
3
4
5
(8 votos, mdia 4.1 de 5)
Escrito por vov Vicki
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 . -
. . . . . . -
- - 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
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
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
Sobre as substituies
polialfabticas
1
2
3
4
5
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.
O Disco de
Alberti *
1
2
3
4
5
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
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
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
Manter
espaos
Eliminar
espaos
Agrupar
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.
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.
1
2
3
4
5
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
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
A cifra de
Della Porta *
1
2
3
4
5
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
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:
CHAVE
Manter espaos
Eliminar
espaos
Agrupar
Tabula Recta de
Trithemius *
1
2
3
4
5
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.
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
Manter espaos
Eliminar espaos
Agrupar
Manter Nmeros
Sinais Grficos
Cifrar Mensagem Decifrar Mensagem
Cifragem lenta
Cifragem rpida Limpar Limpar
A cifra de
Vigenre *
1
2
3
4
5
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
Carreiras de Vigenre
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.
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
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
CONFIRA A CIFRA
CHAVE
Manter espaos
Eliminar espaos
Agrupar
Manter Nmeros
Sinais Grficos
Cifrar Mensagem Decifrar Mensagem
Cifragem lenta
Cifragem rpida Limpar Limpar
Referncias
Le chiffre de Vigenre de Didier Mller.
A cifra de
Beaufort *
1
2
3
4
5
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.
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
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
Confira a cifra
Chave
Claro
Cifrado
Beaufort estilo
alemo *
1
2
3
4
5
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:
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
A cifra de
Gronsfeld *
1
2
3
4
5
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
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
Cilindro de
Jefferson *
1
2
3
4
5
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.
A Cifra de Jefferson
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:
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.
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
Alinhe as letras da mensagem cifrada na linha destacada e depois procure nas outras linhas
o texto claro.
Referncias
Monticello
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 #
Cifra de
Playfair
1
2
3
4
5
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.
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.
Vamos a um exemplo de como usar esta cifra. Siga as etapas e, no final, faa um teste no
"Confira a cifra".
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 :
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.
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
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.
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
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
Playfair de 2
grades
1
2
3
4
5
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.
A preparao do texto claro a mesma realizada para a Cifra Playfair: formar grupos de 2
letras, ou seja, os blocos digrmicos ou dgrafos.
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:
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.
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.
Confira a cifra
Mensagem clara
NUMABOA
Palavra-chave 1
SOBMEDIDA
Palavra-chave 2
Grade 1 Grade 2
Mensagem cifrada
Playfair de 3
grades
1
2
3
4
5
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.
A preparao do texto claro a mesma realizada para a Cifra Playfair: formar grupos de 2
letras, os blocos digrmicos ou dgrafos. Exemplo:
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.
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
Playfair de 4
grades
1
2
3
4
5
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.
A preparao do texto claro a mesma realizada para a Cifra Playfair: formar grupos de 2
letras, os blocos digrmicos ou dgrafos. Exemplo:
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
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.
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
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 #
1
2
3
4
5
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
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
Manter
espaos
Eliminar
espaos
Agrupar
Cifragem
lenta
Cifragem
rpida
Limpar Limpar
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.
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 |
Decifre a mensagem abaixo que foi cifrada com Atbah(Albam(Atbash)). Lembre-se que
o texto original no contm sinais grficos.
STXXTUWAXNRASYABOHOIZNYTABOEUTZQT
| NOSSOPRESIDENTEFALAMUITOEFAZPOUCO |
Fontes e Autoria
Alguns exerccios foram copiados do site do Dr. Didier Mller (veja nos Links da Aldeia).
Texto e alguns exerccios: vov Vicki.
1
2
3
4
5
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 2 - O dimetro
Se voc j leu a resposta parcial mostrada acima e entendeu, ento vamos analisar o seguinte exemplo:
A1B2C3D4E5F6
Concluso:
1
2
3
4
5
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
| 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
Manter
espaos
Eliminar
espaos
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 |
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
Os exerccios a seguir se referem ao Cdigo de Csar, uma cifra arcaica classificada como
cifra de substituio simples.
EXERCCIOS
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
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.
Para conferir a sua resposta, clique e arraste o cursor do mouse no espao abaixo.
| HJLZHYVXBLLKLJLZHY AVKVZVZJHTPUOVZSLCHTHYVTH |
Exerccio 2 - O ALGORITMO DA CIFRA
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:
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:
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 |
Para conferir a sua resposta, clique e arraste o cursor do mouse no espao abaixo:
1
2
3
4
5
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.
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.
Gr-fino do despudor,
Esporte, ignorncia e sexo,
Burro como uma porta:
Um coi. |
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:
Confira o resultado:
Autoria
Exerccio
com o DES
1
2
3
4
5
ndice do Artigo
Todas as pginas
Pgina 1 de 2
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.
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
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
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.
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
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.
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 #
Sistemas de
Cdigo
1
2
3
4
5
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).
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.
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.
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.
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
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 #
Semforos de bandeiras
1
2
3
4
5
ndice do Artigo
Semforos de bandeiras
Semforo manual
Todas as pginas
Semforos navais
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 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.
Referncias
Code de Popham|
O Cdigo
Braille *
1
2
3
4
5
Louis Braille
Louis Braille
(1809-1852)
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.
CONFIRA O CDIGO
Mensagem clara Mensagem em Braille
Manter espaos
Eliminar espaos
Cifragem lenta
Cifragem rpida
Codificar
Limpar Limpar
Fontes
O cdigo Morse *
1
2
3
4
5
(55307 votos, mdia 5.0 de 5)
Escrito por vov Vicki
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
Os alfabetos fonticos *
1
2
3
4
5
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.
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?
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
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.
e o Collins dictionary
Base64
*
1
2
3
4
5
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.
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:
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:
Especificaes MIME
As especificaes completas deste tipo de Base64 so dadas pelas RFC 1421 e RFC 2045.
Confira o cdigo
base64 para
tempo necessrio para b64 => utf-8
Javascript UTF-8 Decoder and Encoder - base64 Encoder and Decoder de Tobias Kieslich.
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 #
A Grelha de Cardano (e de
3 23.06.05 vov Vicki 14498
Richelieu) *
O que
Esteganografia
1
2
3
4
5
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.
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.
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 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
Ave Maria de
Trithemius
1
2
3
4
5
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.
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
No paraso e no cu,
No cu e na sua glria,
Numa infinidade perpetuamente,
Irrevogavelmente no cu
Este adorvel poema em forma de orao significa nada mais nada menos que: Na Aldeia
NumaBoa tem Criptologia
A Grelha de Cardano (e de
Richelieu) *
1
2
3
4
5
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
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
1
2
3
4
5
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
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:
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
Guillochis
Microtexto
Fontes
Criptografia
Visual *
1
2
3
4
5
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
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.
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.
Fontes
1
2
3
4
5
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).
. .
O ATAQUE ESTATSTICO
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:
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).
vov Vicki
10
Filtro: titulo Exibir #
A Cifra
de Bacon
1
2
3
4
5
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.
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
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.
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
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.
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 ?
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)
Vigenre
Vigenre
(1523-1596)
Wilkins
John
Wilkins
(1614-1672)
a AAA g CBB n ACC t CBC
Frederici
Fontes
1
2
3
4
5
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.
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 :
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.
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:
RDQ2 XLLXYJ QH5 XDLXH LXYF XHP4PH XJK PR9Q6 <- substituio
por nmeros
Fontes
A Cifra
UBCHI *
1
2
3
4
5
(12 votos, mdia 4.7 de 5)
Escrito por vov Vicki
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.
Mtodo de cifragem
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
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).
Confira a cifra
Mensagem clara
Palavra-chave
Nmeros da chave
Nmero de nulos 5
Mensagem cifrada
Referncias
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.
10
Filtro: titulo Exibir #
1
2
3
4
5
ndice do Artigo
Cifras de Feistel
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.
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.
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).
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.
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.
O modo output feedback gera o prximo bloco de fluxo de chave cifrando o bloco de fluxo
de chave anterior:
Cifras de Feistel
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.
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.
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.
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
Fontes
1
2
3
4
5
ndice do Artigo
O fim do reinado
Todas as pginas
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.
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 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.
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 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.
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!
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...
Fontes
O algoritmo DES
ilustrado II
1
2
3
4
5
ndice do Artigo
DES em detalhes
Subchaves
Codificando blocos
Codificando blocos II
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
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".
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).
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
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
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
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).
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.
O algoritmo DES usa vrios passos at obter o resultado final. Leia a seguir.
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
---------------------------------------
A seguir, dividimos esta chave em duas metades, esquerda C0 e direita D0, onde cada
metade tem 28 bits.
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
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
----------------------------------
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
-----------------------------------------
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.
Exemplo: Obtemos L0 e R0 de IP
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.
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:
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.
(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)
Kn + E(Rn-1) = B1B2B3B4B5B6B7B8
S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8)
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
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:
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
------------------
obtemos
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.
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."
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
A segurana
do DES
1
2
3
4
5
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].
---------------------------------------------------
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
Tambm existem chaves que produzem apenas quatro sub-chaves diferentes, cada uma
delas usada quatro vezes no algoritmo. So as seguintes:
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.
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.
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.
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.
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.
Fontes
1
2
3
4
5
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
Texto
cifrado
Hexadecimal
Texto
Decifrado
O algoritmo IDEA
ilustrado
1
2
3
4
5
ndice do Artigo
Chave e Decifrao
Programao
Programao II
Programao III
Todas as pginas
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
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.
No final, os quatro sub-blocos obtidos (G1, G2, G3 e G4) so concatenados para produzir
o texto cifrado.
Sub-blocos da chave
A decifrao do IDEA
A velocidade do IDEA
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
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
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
x0 = *in++;
x1 = *in++;
x2 = *in++;
x3 = *in;
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.
if (p == 0)
x = 65537-x-y;
else {
x = p >> 16;
y = p;
x = y-x;
if (y < x) x += 65537;
}
return x;
}
Regras:
x + addinv(x) == 0
x * mulinv(x) == 1 (modulo 65537)
t1 = mulinv(*in++);
t2 = addinv(*in++);
t3 = addinv(*in++);
t4 = mulinv(*in++);
*--p = t4;
*--p = t3;
*--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
1
2
3
4
5
O algoritmo TEA uma cifra de bloco bastante segura, fcil de ser implementada em
vrias linguagens de programao e de processamento muito rpido.
TEA
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].
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
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.
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
XTEA *
1
2
3
4
5
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:
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:
return escCtrlCh(s);
}
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]);
}
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;
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
Fontes
BlockTEA e XXTEA *
1
2
3
4
5
Em 1997, Wheeler e Needham, autores do algoritmo TEA, publicam duas variaes mais
resistentes criptoanlise: o XTEA e o BlockTEA.
O algoritmo 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
Fontes
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
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
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:
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.
Fontes
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.
Funes Hash
Conceitos bsicos e exemplos de funes criptogrficas hash. Os textos marcados
com asterisco so interativos.
10
Filtro: titulo Exibir #
O que um hash?
1
2
3
4
5
ndice do Artigo
O que um hash?
Vulnerabilidades
Todas as pginas
Via de mo nica
Usando o algoritmo MD5, o resultado hash obtido para os textos "Aldeia NumaBoa" e
"aldeia NumaBoa", cuja diferena reside num nico bit, completamente diferente:
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:
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
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
Resistncia a colises
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.
Resistncia de pre-imagem
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.
Fontes
As funes hash
1
2
3
4
5
(33 votos, mdia 4.2 de 5)
Escrito por vov Vicki
ndice do Artigo
As funes hash
Segurana
Todas as pginas
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:
Uma funo hash resistente a colises uma funo h que satisfaz as seguintes
condies:
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.
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.
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.
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.
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
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.
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
MD4 *
1
2
3
4
5
ndice do Artigo
MD4 *
Etapas 4 e 5
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.
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".
word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10
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
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
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)
A = a + A
B = b + B
C = c + C
D = d + D
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:
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 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.
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
Confira a preciso do script fazendo os testes sugeridos pelo autor do algoritmo. Lembre-
se: no existem hashes parecidos, apenas hashes idnticos conferem autenticidade.
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
MD5 *
1
2
3
4
5
MD5 *
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.
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.
Adiciona-se mensagem os bits necessrios para que seu tamanho mais 64 bits seja
divisvel por 512.
word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10
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.
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 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.
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.
/* 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
/* 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
Passo 5: A sada
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.
Consideraes finais
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.
SHA-1 *
1
2
3
4
5
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 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
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 |
em
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:
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:
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:
O clculo do SHA-1
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
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:
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.
Este pequeno aplicativo permite calcular digestos SHA-1 a partir da mensagem fornecida.
Para funcionar preciso que a JavaScript esteja habilitada no seu navegador.
Mensagem: abc
Hash:
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;
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);
/*
* 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
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
vov
4 Algoritmo RSA * 01.10.05 33975
Vicki
Comunicao
usando chave
pblica
1
2
3
4
5
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
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).
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.
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.
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...
Funes de mo nica
1
2
3
4
5
Filosofanas parte, para dar continuidade a este texto vamos considerar as funes de
mo nica como sendo impossveis de serem revertidas.
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
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!
O algoritmo Diffie-Hellman
1
2
3
4
5
(95 votos, mdia 4.7 de 5)
Escrito por vov Vicki
ndice do Artigo
O algoritmo Diffie-Hellman
O algoritmo
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.
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
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
da mesma forma
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
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 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.
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
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
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.
MARIA JOO
-------------------------- --------------------
------
x = 6 y = 3
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:
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
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
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.
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
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:
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.
g(n) (mod n) = 1
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.
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 |
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)
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
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)
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:
A chave secreta k igual a gxyz (mod n) e este protocolo pode ser facilmente estendido
para quatro ou mais pessoas.
Sugestes
vov Vicki
Fontes
1
2
3
4
5
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
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!
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
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.
Pois bem, por mais incrvel que possa parecer, para entender a mecnica do algoritmo RSA
no preciso mais do que isto!
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.
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
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.
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.
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.
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:
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:
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.
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
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)
Completando os clculos, a mensagem cifrada ser 048 280 401 146 243 330
6. Decifrar a mensagem
m = cd (mod N)
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
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
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
Esta ferramenta um modelo simplificado do algoritmo RSA e serve apenas para fins
didticos. Espero que ajude a entender o mecanismo do RSA.
nmero primo:
N e d
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.
Fontes
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
vov
3 Cilindros cifrantes 08.11.05 7240
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
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.
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.
AS MQUINAS DA RENASCENA
AS MQUINAS RECENTES
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
A Rgua de Saint-Cyr
1
2
3
4
5
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.
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.
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
Cilindros cifrantes
1
2
3
4
5
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
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.
PEA RARA
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
1
2
3
4
5
O princpio da substituio
Fig. 1 - Disco rotor com
contatos
(face de sada)
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:
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.
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".
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
Fontes
1
2
3
4
5
Enigma em Java
1
2
3
4
5
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.
Atualizao Qui,
25.02.2010 11:29
Hardware de Encriptao
1
2
3
4
5
Criptoanlise
Fundamentos, informaes e mtodos essenciais para "quebrar" e para medir a segurana
de sistemas criptogrficos.
10
Filtro: titulo Exibir #
O que
criptoanlise
1
2
3
4
5
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.
1
2
3
4
5
ndice do Artigo
Consideraes adicionais
Todas as pginas
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
Bruce Schneier
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.
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.
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
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.
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.
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.
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.
Fonte
1
2
3
4
5
ndice do Artigo
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.
No total, foram analisadas 157.764 palavras com 725.511 letras - uma amostra significante
para dar consistncia aos resultados.
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 %
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
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 - - - - - - - - - - - - - - - -
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
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...
1
2
3
4
5
A 12.30 N 7.41
B 1.03 O 8.68
C 4.49 P 2.63
D 5.04 Q 1.02
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
Anlise
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
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
Ferramenta de anlise de
frequncia
1
2
3
4
5
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
Identificao de
Classes
1
2
3
4
5
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.
DFU
Trs propriedades podem ser observadas atravs de uma DFU aplicada a um texto cifrado de
tamanho mdio composto apenas por letras:
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]
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.
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.
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)
Exemplo 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
f(f-
6 6 42 2 0 0 12 0 12 0 30 6 12 0 20 0 6
1)
Onde:
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
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
Portugus 0.0791N(N-1)
Texto Randmico
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]
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
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
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.
1
2
3
4
5
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
Uma dica: letras acentuadas e letras especiais (como ) foram substitudas pelas letras
originais do alfabeto.
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
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.
Frequncia
encontrada
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):
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
Frase de Bruce Schneier, autor de algoritmos de criptografia forte como Blowfish e Doublefish.
1
2
3
4
5
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!
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
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).
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.
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.
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.
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.
1
2
3
4
5
Para entender do que trata este artigo, leia antes O segredo do terceiro livro
(Trithemius).
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.
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
/ 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:
Testando a chave
gazafrequenslibicosduyitca?[gamma]agotriumphos
Sem sombra de dvida, um texto pronuncivel e com palavras em Latim. Comeava a fazer
sentido...
Algumas indicaes adicionais ajudaram Reeds a desvendar o esquema que Trithemius havia
usado. Por exemplo, o smbolo beta, na verdade, era a sequncia sch, comum no Alemo. O
que Reeds pensou ser o x, era w. Ele descobriu, ento, que alfa era tz e gama era th.
"Um ltimo golpe de sorte ajudou na identificao do alfabeto da cifra", disse Reeds. Ele fez
uma pesquisa na Internet procurando pela frase de duas palavras gaza frequens. O resultado
mostrou uma referncia em Latim, Gaza frequens Libycos duxit Carthago triumphos..., o que
acabou confirmando gama como th e indicou que a letra identificada por Reeds como y, na
verdade era x.
A Cifra de Trithemius
As cifras do Livro III revelam-se como cifras de substituio numrica, com mltiplos
equivalentes numricos fornecidos para cada letra do texto claro, conclui Reeds.
Th Sch Tz Z X W U T S R Q P O N M L I H G F E D C B A
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 00
O que foi que Trithemius cifrou que compensasse a briga que ele comprou? O texto acaba se
revelando um tanto embolado, provavelmente indicando que algumas partes foram perdidas
ao longo do tempo ou se perderam nas transcries feitas mo. Portanto, o texto
disponvel atualmente representa um pouco mais que uma coleo de fragmentos isolados
de sentenas. Estes fragmentos no revelam nada de espantoso, apenas frases comuns em
Latim ou Alemo. claro que muitas delas tm o tempero prprio da irreverncia de
Trithemius, do tipo "o portador desta carta um salafrrio e um ladro".
"O Livro III contm criptogramas", diz Reeds. "Tal como nos Livros I e II, eles esto
camuflados e so apresentados num contexto de mgica angelical". Entretanto, a tcnica
criptogrfica diferente porque as letras so representadas por nmeros, disfarados como
dados astrolgicos, ao invs de estarem escondidas numa massa de letras maior.
Consideraes finais
Trithemius deve ter escolhido a linguagem dos anjos no para promover mgica, mas como
um atrativo para capturar o interesse do leitor. "Se foi isso", diz Reeds, "ele foi
excepcionalmente bem sucedido, mesmo que tenha calculado mal como este livro seria
recebido".
1
2
3
4
5
Esta uma ferramenta para a anlise da Cifra de Vigenre que usa a frequncia de
ocorrncia das letras do alfabeto ocidental atual, contagem de letras, histogramas e anlise
de redundncia, totalmente escrita em JavaScript. por isso que a JavaScript precisa estar
habilitada no seu navegador para que o programa possa funcionar.
Copie e cole (ou digite) o texto desejado na caixa de texto claro e depois clique no boto
[Cifrar]. O analisador ignora sinais grficos, nmeros e letras acentuadas, ou seja,
qualquer smbolo que no faa parte do alfabeto ocidental atual.
Texto claro
Chave CHAVE
Texto cifrado
REDUNDNCIA
ATENO: Para textos longos (acima de 200 letras), a rotina da redundncia pode demorar
um pouco at apresentar os resultados. Neste caso, tente diminuir as ocorrncias escolhendo
grupos de tamanho 4 a 5 (ou 5 a 6). Voc tambm pode receber uma mensagem de alerta,
perguntando se para abortar o script. Responda NO ABORTAR para que a rotina do script
possa terminar e apresentar o resultado.
4 5
Redundncia com grupos de a letras
| Determinar Redundncia | Limpar |
Rearranje o texto para cada letra da chave. Depois, faa a anlise do texto rearranjado e
compare com a frequncia padro para tentar determinar a letra correta. Adicione a nova
letra chave da seo Troca de Letras e faa a substituio.
Na seo FREQUNCIA PADRO, logo abaixo, clique para escolher o padro da lngua na qual
voc supe que esteja a mensagem clara.
2. Caso esteja difcil encontrar o padro, tente alinhar as letras de MENOR frequncia
(de preferncia as de frequncia zero).
3. Caso o padro ainda no esteja claro, procure alinhar as letras de MAIOR frequncia.
5. Transfira a letra da chave para a caixa de texto situada na seo TROCA DE TEXTO.
A chave pode conter espaos em branco para as letras que ainda so dvida, por
exemplo, CH V pode ser CHAVE ou CHUVA. Clique em [Trocar] para observar o
resultado.
FREQUNCIA PADRO
TROCA DE LETRAS
| Trocar | Limpar |
1
2
3
4
5
(3 votos, mdia 3.7 de 5)
Escrito por vov Vicki
ORSLN ENRQU AIOEH UDCPU SDRHL AEIOE EHOAA ERQAN RQEAQ OSAUL
TFUAI UPQEA OREEV GEEUU LGAIR INETE RQORT STOUR ROUDA OEORM
OEPEE MUPRA PLMAR MEMRI NREMD ROMHO ACEOE EECBO VDITT SSSRU
MAOAE AMFQA SERFN XMOAU THMFR OTBEZ IIOFO APOEH ECCLR RCOCM
URIOI ATADL MMAOE DCESE AAIOD EEOBS R
Roteiro da Criptoanlise
Fig.1 - Histograma
Dentre as possveis informaes sobre o contexto destacam-se a origem e o destino da
mensagem, o assunto tratado e o idioma. Nenhuma delas conhecida, porm podemos
tentar estabelecer o idioma utilizado.
Identificar corretamente o idioma de um texto cifrado nem sempre uma tarefa fcil,
principalmente quando se trata de um texto curto. Em todo caso, a primeira providncia
estabelecer a frequncia de ocorrncia de letras:
25 3 8 8 34 5 2 6 12 0 0 7 14 6 27 6 7 24 10 9 14 10 0 1 0 1
A B CD E FGH I J K L MN O PQ R S T U V WX Y Z
Num total de 231 caracteres, chama a ateno a porcentagem de vogais (A E I O U): 48.5%
ou 112 em 231. Alm disto, a letra mais frequente o E (15%). As consoantes de alta
frequncia (28%) so R M S T D, as de mdia frequncia (21%) so C Q L P N H F B e as de
baixa frequncia (3%) so V G Z X W K J.
Pelos primeiros resultados, e principalmente pela forte presena da letra E, o idioma tem
uma grande probabilidade de ser Portugus ou Espanhol. Confira lendo o artigo Frequncia
da Ocorrncia de Letras no Portugus, o artigo Frequncia da Ocorrncia de Letras no
Espanhol e compare os histogramas destes idiomas com o histograma da frequncia de
ocorrncia de letras do texto cifrado (fig.1).
Como a distribuio da frequncia de ocorrncia das letras do texto cifrado segue um padro
quase idntico ao encontrado no Portugus, podemos afirmar que se trata de
uma transposio, pois uma substituio alteraria esta distribuio.
Alm disto, existe uma importante caracterstica da lngua portuguesa: quase 50% dos
caracteres so vogais. Analisando a porcentagem das vogais em cada linha obtemos o
seguinte resultado:
ORSLNENRQUA 4 (36%)
IOEHUDCPUSD 5 (46%)
RHLAEIOEEHO 7 (64%)
EAMFQASERFN 4 (36%)
A matriz 21x11 parece ter
XMOAUTHMFRO 4 (36%) uma distribuio de vogais
ligeiramente melhor, com
TBEZIIOFOAP 6 (54%) valores mais prximos de
48% e com uma distribuio
OEHECCLRRCO 4 (36%) mais uniforme.
CMURIOIATAD 6 (54%)
LMMAOEDCESE 5 (46%)
AAIODEEOBSR 7 (64%)
Os mtodos mais comuns de transposio so entrada por linha/sada por coluna, entrada
por coluna/sada por linha e transposio de colunas numeradas (chave). Em todos estes
mtodos, a mensagem clara obtida pelo processo inverso, ou seja, uma entrada por
linha/sada por coluna decifrada com uma entrada por coluna/sada por linha.
Testando o primeiro processo nas duas matrizes, obtemos as seguintes matrizes transpostas:
ODEETMOSAHM
RRAVSUMRUEM
SHQGTPHUTCA
LLOEOROMHCO
NASEUAAAMLE
EEAURPCOFRD OIRAQUEEUMPRETEXTOCLA
NIUURLEARRC ROHAOPETROLEOTAMBEMMA
ROLLOMOEOCE SELESQUEREMMESMOEHUMI
QETGUAEATOS LHARAEUROPADESFAZERAO
UEFADREMBCE NUEQUALQUERRESQUICIOD
AHUIAMEFEMA EDIALOGODEMOCRATICOEE
IOAROECQZUA NCONTRARAMEMBUSHOLIDE
OAIIEMBAIRI RPERFEITOUMHOMEMFRACO
EAUNOROSIIO QUEQUERSEPROVARFORTEB
HEPERIVEOOD USHEAVITORIADOFRACASS
URQTMNDRFIE ADOAIGNORANCIANOPODER
DQEEORIFOAE
CAAREETNATO
PNOQPMTXPAB
URROEDSMODS
SQERERSOELR
A soluo
O texto da primeira matriz no faz o mnimo sentido. O da segunda, porm, nos revela a
mensagem clara:
Observaes
No exemplo acima tivemos a "sorte" de escolher duas matrizes, das quais uma era a correta.
A sorte, porm, no invalida o processo utilizado.
1
2
3
4
5
UEOJE MOHSE QLREO DPUOF EUOIR IIETD APERC OIDPS OEOTS AESIU
LRHGE OEXME OLIAN PCANO SDOGN ADIMR SACAA MLEEO NAICA GUEPM
ADCOQ AUTIT OCXE
Roteiro de Criptoanlise
Frequncia das
letras
Inicialmente vamos tentar estabelecer o idioma utilizado, pois este um dos aspectos mais
importantes do contexto. Identificar corretamente o idioma de um texto cifrado nem sempre
uma tarefa fcil, principalmente quando se trata de um texto curto. Em todo caso, a
primeira providncia estabelecer a frequncia de ocorrncia das letras:
12 0 6 6 16 1 3 2 9 1 0 4 5 4 15 5 2 5 6 4 6 0 0 2 0 0
A B C D E F GH I J K L MN O PQR S T UVWX Y Z
Num total de 114 caracteres, o que chama a ateno a porcentagem de vogais (A E I O U):
50.9% ou 58 em 114. Alm disto, a letra mais frequente o E (16), seguida pelo O (15). As
consoantes de alta frequncia (29%) so S D C R P M, as de mdia frequncia (18%) so T N
L G X Q H e as de baixa frequncia (2%) so J F.
Pelos primeiros resultados, o idioma tem uma grande probabilidade de ser o Portugus.
Confira o texto Frequncia da Ocorrncia de Letras no Portugus.
Digamos que se trata de uma transposio e que j tenham sido testadas matrizes de
diversos tamanhos sem resultado. Ento agora est na hora de testar uma transposio
colunar com chave.
BANANA
4 1 5 2 6 3
Nas transposies com chave, a incidncia das vogais assume importncia ainda maior.
Sabemos que no Portugus cerca de 50% dos caracteres so vogais. A tentativa obter uma
matriz onde cada linha possua uma porcentagem de vogais prxima a este valor. Na hiptese
de se tratar de uma matriz totalmente preenchida, os 114 caracteres podem ser arranjados
em matrizes de 2x57, 3x38, 6x19, 19x6, 38x3 e 57x2. Dentre estas possibilidades, a mais
provvel parece ser 6x19, ou seja, a palavra-chave teria 6 letras.
123456 Vogais
1 UEOJEM 4
2 OHSEQL 2
3 REODPU 3 (50%)
4 OFEUOI 5
5 RIIETD 3 (50%)
6 APERCO 3 (50%)
7 IDPSOE 3 (50%)
8 OTSAES 3 (50%)
9 IULRHG 2
10 EOEXME 4
11 OLIANP 3 (50%)
12 CANOSD 2
13 OGNADI 3 (50%)
14 MRSACA 2
15 AMLEEO 4
16 NAICAG 3 (50%)
17 UEPMAD 3 (50%)
18 COQAUT 3 (50%)
19 ITOCXE 3 (50%)
6...35
M...OE 1
L...SQ 2
U...OP 3
I...EO 4
D...IT 5
O...EC 6
E...PO 7
S...SE 8 Como primeira tentativa, at que no est mau - a maioria das linhas
possui 3 vogais e as outras distanciam-se apenas ligeiramente do
esperado. Agora tentar encontrar a sequncia correta de colunas. O
G...LH 9
processo mais utilizado o de anagramas, ou seja, tentar encontrar
sequncias de caracteres plausveis ou at mesmo palavras completas.
E...EM 10
Uma das melhores dicas de anagramas a letra Q que, em vrias
P...IN 11 lnguas, seguida de U. O trigrama mais frequente em Portugus
QUE, mas no podemos nos esquecer que QUA, QUO e, mais raramente,
QUI tambm so possibilidades que devem ser consideradas.
D...NS 12
A 2a. e a 18a. linhas possuem a letra Q. Alm disto, a linha 18 possui
I...ND 13 tambm a letra U. A 2a. linha no possui a letra U, porm ela aparece
na linha seguinte. A nica maneira de torn-las contguas seria deslocar
A...SC 14 o Q da linha 18 para a coluna 6 e o U da linha 19 para a primeira coluna.
Faamos um rearranjo das colunas 3 e 5, as que contm Q e U na linha
18, e da coluna 6, que contm o U na terceira linha.
O...LE 15
Observe o resultado da permutao das coluna direita. Agora comea
G...IA 16 um verdadeiro "jogo de caa-palavras". Usando o mesmo raciocnio de Q
seguido de U, podemos analisar a letra H: ou inicia uma palavra
D...PA 17 (homem, hoje, h, etc), ou faz parte de trgafos como CH..., LH..., etc.
Logo na segunda linha encontramos um H e a primeira letra o L: LH...
uma boa possibilidade, que pode ser ampliada para LHE ou LHO
T...QU 18
(porque E e O so as nicas vogais desta linha).
Se o rearranjo de colunas estiver correto para a primeira linha, ento tambm estar correto
para as restantes. No custa tentar com as colunas posicionadas em 6-2-1-4-3-5:
621435
1 MEUJOE
2 LHOESQ
3 UERDOP
4 IFOUEO
5 DIREIT
6 OPAREC
7 EDISPO
8 STOASE O resultado obtido MEUJOE LHOESQ UERDOP IFOUEO DIREIT OPAREC
EDISPO STOASE GUIRLH EOEXEM PLOAIN DACONS IGOAND ARMASC OMAELE
GANCIA DEUMPA TOCAQU ETICOX, ou seja,
9 GUIRLH
MEU JOELHO ESQUERDO PIFOU E O DIREITO PARECE DISPOSTO
10 EOEXEM A SEGUIR-LHE O EXEMPLO. AINDA CONSIGO ANDAR, MAS COM A
ELEGNCIA DE UM PATO CAQUTICO.
11 PLOAIN
12 DACONS
Observaes
13 IGOAND
O texto foi extrado de uma crnica do Joo Ubaldo e a palavra chave utilizada
foi UBALDO. Pelo que me foi informado, este texto cifrado foi enviado para o
14 ARMASC
ortopedista pelo Joo que, obviamente, pretendia se vingar do mdico -
conseguiu provocar vrias fraturas neuronais no homem de branco
15 OMAELE
Brincadeiras parte, o exemplo acima nos mostra que decifrar uma
16 GANCIA transposio sempre uma sequncia de tentativas e um enorme exerccio de
pacincia. Uma vez identificada a lngua da mensagem, as vogais e as
consoantes raras constituem o mapa da mina.
17 DEUMPA
Neste exemplo, a matriz simtrica e totalmente preenchida, o que acaba
18 TOCAQU facilitando o trabalho. Para matrizes com clulas em branco ou nas
transposies triangulares ou em crculo, algumas tcnicas adicionais precisam
19 ETICOX ser aplicadas.
Basic Cryptanalysis
*FM 34-40-2
FIELD MANUAL
NO 34-40-2 HEADQUARTERS
DEPARTMENT OF THE ARMY
Washington, DC, 13 September 1990
1
2
3
4
5
(2 votos, mdia 5.0 de 5)
Escrito por vov Vicki
ndice do Artigo
Clulas vazadas
Todas as pginas
A cifra de transposio geomtrica de Fleissner usa uma grade que serve de padro para a
transposio. Para acompanhar este exerccio de criptoanlise imperioso que voc conhea
o mtodo em detalhes - leia A grade giratria de Fleissner.
O texto cifrado
O seguinte texto foi enviado por um funcionrio do Palcio do Planalto para um reprter de
uma revista. Isto tudo o que se sabe do criptograma:
Como o texto est em grupos de 6 caracteres, pressupe-se que tenha sido cifrado com uma
grade giratria de 6x6 clulas.
Caso o texto cifrado no estivesse separado em grupos de letras, teramos que identificar
o tamanho da grade utilizada. Aqui vai uma dica: a grade sempre tem o mesmo nmero de
linhas e colunas, seno no seria possvel gir-la. Como o criptograma possui 108
caracteres, as grades possveis seriam 2x2, 3x3 e 6x6. Por que isto? Porque a grade 2x2
possui 4 clulas e a diviso 1084=27 (uma diviso exata); a grade 3x3 possui 9 clulas e a
diviso 1089=12 tambm uma diviso exata; a grade 4x4 possui 16 clulas e a diviso
10816=6.75 no uma diviso exata... e assim por diante.
Entre uma grade de 2x2, 3x3 e 6x6, prefiro a 6x6. Esta ser nossa primeira hiptese e
ento, antes de mais nada, preciso por um pouco de ordem na disposio dos caracteres:
cada letra ocupa uma clula identificada por um nmero de linha e um nmero de coluna.
Transfira o texto cifrado para as trs grades 6x6 (10836=3) necessrias. Voc deve obter o
seguinte:
1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
1 p l s u a l 1 o z a e n d 1 e p r a n r
2 t l r o a o 2 r o a b i o 2 e t q e e u
3 c r q c o c 3 r m r c a a 3 s s c e p x
4 a u i s e r 4 o c s n e n 4 t e x r a e
5 e mmo i r 5 i d t l i u 5 x e mx o t
6 a n s t o i 6 a n nvdu 6 s s i e d t
Na criptoanlise do texto, sempre que nos referirmos posio de uma letra, citamos sua
linha e coluna (ex: no primeiro grupo 1,1 a letra p; 2,1 a letra t).
Agora partimos do pressuposto de que o texto composto por 3 grupos que foram cifrados
com o MESMO padro de transposio.
Anlise inicial
O texto composto por 108 caracteres. O ndice de Coincidncia (IC) do texto cifrado
0.06352, indicando uma grande probabilidade de se tratar de uma TRANSPOSIO ou
SUBSTITUIO MONOALFABTICA e do idioma ser romnico (Francs 0.0778, Italiano
0.738, Espanhol 0.0775, Portugus 0.0791, Ingls 0.0661). Ser que o funcionrio do
Planalto escreveu em Ingls?
Outra caracterstica que 43% dos caracteres so vogais. A frequncia de ocorrncia das
letras 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 MN O P Q R S T U VWX Y Z
Partindo do pressuposto de que a mensagem foi cifrada com uma transposio (os
agrupamentos de 6 caracteres sugerem esta cifra) e que esteja em Portugus, ento a letra
Q, que ocorre 2 vezes, tem uma grande probabilidade de ser seguida pela letra U. Alm
disto, sabemos que o trigrama QUE um dos mais frequentes neste idioma. Este vai ser o
primeiro ponto de abordagem.
O trigrama QUE
1 2 3 4 5 6
1 p l s u a l
2 t l r o a o
3 c r q c o c
4 a u i s e r
5 e mmo i r
6 a n s t o i
1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
1 p l s u a l 1 o z a e n d 1 e p r a n r
2 t l r o a o 2 r o a b i o 2 e t q e e u
3 c r q c o c 3 r m r c a a 3 s s c e p x
4 a u i s e r 4 o c s n e n 4 t e x r a e
5 e mmo i r 5 i d t l i u 5 x e mx o t
6 a n s t o i 6 a n n v d u 6 s s i e d t
Combinao 1 Combinao 3
Posio [3,3] [1,4] [4,5] Posio [3,3] [4,2] [4,5]
Bloco 1 Q U E Q U E
Bloco 2 R E E R C E
Bloco 3 C A A C E A
Combinao 2 Combinao 4
Posio [3,3] [1,4] [5,1] Posio [3,3] [4,2] [5,1]
Bloco 1 Q U E Q U E
Bloco 2 R E I R C I
Bloco 3 C A X C E X
p l s u a l
t l r o a o
c r Q c o c
a U i s E r
e mm o i r
a n s t o i
1 2 3 4 5 1
5 1 2 3 1 2
4 3 1 1 2 3
3 2 1 1 3 4
2 1 3 2 1 5
1 5 4 3 2 1
Sabendo que a distribuio das clulas vazadas precisa ser tal que, ao se girar a grade 4
vezes, todas as clulas tenham sido expostas uma vez, h um mtodo para determinar as
posies vazadas. Divide-se o quadrado em quadrados concntricos. Cada um destes
quadrados contm um nmero de clulas vazadas igual ao nmero de clulas de um lado
menos 1. A partir da, numera-se as clulas no sentido horrio. Depois disto escolhe-se um
de cada nmero de cada camada para ser a clula vazada (observe esquerda).
p l s u a l p l s u a l
t l r o a o t l ao
c r Q c o c c Q c
a U i s E r a U Er
e mm o i r e m i r
a n s t o i a n s t o i
A excluso das clulas que NO podem estar vazadas diminui em 9 o conjunto de caracteres
possveis. Agora comear a brincar de "caa palavras". Antes do QUE existem apenas 11
letras que podem ser consideradas. Comeando com o P, podemos formar, por exemplo, PUA
- PULA - PULO - PALA - PATA - PATO. Considerando o L, possvel formar LUA - LULA - LUTA
- LUTO - LATA - LATO. Com o S podemos formar SUA - SUL - SULTO - SAL - SALA -
SALTO e com o T possvel formar TO.
A palavra que chama a ateno, j que o bilhete veio do Palcio do Planalto, LULA! Vale a
pena testar esta hiptese:
Parece comear a fazer sentido. ZE DIRCE pode muito bem ser Z DIRCEU. Se estivermos no
caminho certo, vamos eliminar novamente as clulas que no podem estar vazadas:
L s Ua L
t A
Q c
aU E
r
n t
L U L
A
Q
U E
r
n t
Restam apenas 3 posies, das quais precisamos escolher 2. Os outros blocos podem dar
mais informaes:
Z E D P A R
I E
R C
C E E A
u t
n v s e
Se considerarmos que o segundo bloco contm Z DIRCEU, ento a clula [4,6] parece ser
uma das que procuramos. No primeiro bloco teramos LULA QUER, no segundo Z DIRCEU e
no terceiro PARECE AT. Com isto, restam apenas duas letras soltas no primeiro e segundo
bloco, mas o terceiro poderia ser PARECE AT. Se esta ltima hiptese estiver correta,
identificamos as 9 clulas vazadas e a grade teria este aspecto:
.
.
.
.
.
.
DECIFRANDO A MENSAGEM
Utilizando a grade giratria sobre o texto cifrado encontra-se o seguinte:
LULAQUERTROCARMINISTROSMASOPALOCCIEOZEDIRCEUVAOCONTINUAR
MANDANDONOBRASILPARECEATEQUETEMOSTRESPRESIDENTESXXXX
ou seja,
Consideraes finais
Voc pode estar pensando "este exemplo foi preparado para dar certo", mas voc vai se
admirar: apesar de parecer muito complicada, a cifra giratria bem menos segura do que
se imagina (complicao no segurana!). Caso o trigrama "QUE" no estivesse presente,
ainda assim a tcnica de "caa palavras" nos teria levado a possibilidades muito boas.
Lembre-se de que o primeiro bloco constitudo por 36 letras e que o comprimento mdio
das palavras no Portugus de 5 a 6 letras. Isto nos d a certeza de encontrar pelo menos
uma palavra inteira no primeiro bloco.
Alm disto, os trigramas mais frequentes no Portugus so QUE, ENT e COM e j vimos que
um trigrama pode fazer "milagres".
1
2
3
4
5
Julho de 1998 - A mquina "EFF DES Cracker" traz honestidade ao debate sobre criptologia.
"Produzir de uma poltica adequada para encriptao provou ser um desafio poltico muito
difcil. Acreditamos que s ser possvel criar boas polticas se todos os participantes forem
honestos uns com os outros e com o pblico", disse John Gilmore, co-fundador da EFF e lder
do projeto. "Quando um governo no quer revelar fatos relevantes, o setor privado precisa
conduzir a pesquisa de forma independente e publicar os resultados para que todos possam
conhecer as vantagens e desvantagens sociais envolvidas na escolha das polticas".
A fundao sem fins lucrativos projetou e construiu o EFF DES Cracker para conter as
alegaes feitas por representantes do governo dos EUA de que governos no conseguem
decifrar informaes quando esto protegidas pelo DES ou que redes de computadores de
vrios milhes de dlares precisariam de meses para decifrar uma mensagem. "O governo
usou esta alegao para justificar polticas de encriptao fracas e de 'recuperao de
chaves', a qual deteriora a privacidade e a segurana na era digital", disse o Diretor
Executivo da EFF Barry Steinhardt. "Agora chegou a hora de um debate honesto, com todas
as informaes, o qual, acreditamos, nos permitir reverter estas polticas".
"A EFF provou o que vem sendo questionado por cientistas h vinte anos, que o DES pode
ser quebrado de forma rpida e barata", disse Gilmore. "Agora que o pblico sabe, ele no
ser mais enganado e induzido a comprar produtos que prometem privacidade real mas
fornecem apenas o DES. Isto vai prevenir que fabricantes se curvem frente presses
governamentais para 'emburrecer' seus produtos, porque estes produtos no tero mais
procura". Steinhardt complementou, "Se uma pequena sem fins comerciais pode quebrar o
DES, seus competidores tambm podem. Daqui a cinco anos algum adolescente pode muito
bem construir um DES Cracker para uma feira de cincias da sua escola".
O Data Encryption Standard, adotado como padro federal em 1977 para proteger
comunicaes no classificadas e dados, foi projetado pela IBM e modificado pela National
Security Agency. Ele usa chaves de 56 bits, o que significa que um usurio precisa usar uma
combinao certa de 56 1s (uns) e 0s (zeros) para decodificar corretamente a informao.
De acordo com um artigo da "Federal Computer Week" de 1993, o DES foi responsvel por
mais de US$125 milhes por ano em vendas de software e hardware. A Trusted Information
Systems informou em Dezembro passado que o DES pode ser encontrado em 281 produtos
de encriptao estrangeiros e em 466 produtos domsticos, o que corresponde a algo entre
um tero e a metade do mercado.
Um DES cracker uma mquina que pode ler informaes encriptadas com o DES
encontrando a chave que foi usada para encriptar os dados. DES crackers foram pesquisados
por cientistas e especulados na literatura popular sobre criptografia desde os anos de 1970.
O projeto do EFF DES Cracker consiste num computador pessoal comum conectado a uma
grande matriz de chips customizados. Levou menos de um ano para ser construdo pela EFF
e custou menos do que US$250.000.
Esta semana marca o primeiro teste pblico do EFF DES Cracker, o qual venceu a ltima
competio de velocidade de quebra do DES patrocinada pelo RSA Laboratories. Dois
desafios anteriores do RSA provaram que imensas colees de computadores coordenados
atravs da Internet podiam quebrar o DES com sucesso. Comeando na segunda-feira de
manh, o EFF DES Cracker comeou a procurar a resposta correta para este ltimo desafio,
o RSA DES Challenge II-2. Em menos de 3 dias de procura, o EFF DES Cracker encontrou a
chave correta. "Ns pesquisamos mais do que 88 bilhes de chaves a cada segundo, durante
56 horas, antes de encontrarmos a chave de 56 bits correta que permitiu decifrar a resposta
pedida pelo desafio RSA, a qual era 'It's time for those 128-, 192-, and 256-bit keys' ( hora
para chaves de 128, 192 e 256 bits)", disse Gilmore.
Muitos dos melhores criptgrafos do mundo concordam que o EFF DES Cracker representa
uma ruptura na forma de avaliar a segurana computacional e as polticas pblicas que
controlam seu uso. "Com a chegada do EFF DES Cracker, o jogo mudou para sempre", disse
Whitfield Diffie, Engenheiro da Sun Microsystems e famoso co-inventor da criptografia de
chave pblica. "Vastas colaboraes via Internet no podem ser ocultadas, de modo que no
podem ser usadas para atacar mensagens secretas reais. O EFF DES Cracker mostra que
fcil construir mquinas de procura que podem fazer isto".
"A novidade no que um DES cracker pode ser constudo; sabamos disto h anos", disse
Bruce Schneier, presidente da Counterpane Systems. "A novidade que ele pode ser
construdo de forma barata usando tecnologia de prateleira e um mnimo de engenharia,
apesar do departamento de Justia e do FBI terem negado que isto fosse possvel". Matt
Blaze, um criptgrafo da AT&T Labs, concorda: "O anncio de hoje importante porque
mostra inequivocamente que o DES vulnervel, mesmo a atacantes com recursos
relativamente modestos. A existncia do EFF DES Cracker prova que o perigo da procura de
chaves do DES com 'fora bruta' uma realidade. Apesar da comunidade criptogrfica ter
entendido durante anos que as chaves do DES eram muito pequenas, sistemas baseados no
DES ainda continuam a ser projetados e usados. O anncio de hoje deveria dissuadir
qualquer um de usar o DES".
A EFF e a O'Reilly e Associados publicaram um livro sobre o EFF DES Cracker, "Cracking
DES: Secrets of Encryption Research, Wiretap Politics, and Chip Design". O livro contm
detalhes completos dos chips para o EFF DES Cracker, placas e software. So dados
suficientes para outros pesquisadores poderem reproduzir, validar e/ou melhorar a pesquisa
da EFF, um passo importante no mtodo cientfico. O livro s est disponvel em papel
porque os controles americanos sobre a exportao de criptologia potencialmente
transformam em crime a publicao de tais informaes na Internet.
A EFF preparou um documento sobre o EFF DES Cracker que inclui o prefcio escrito por
Whitfield Diffie para o "Cracking DES" (veja aqui).
A Electronic Frontier Foundation uma das organizaes de liberdade civil mais importantes
devotada a assegurar que a Internet permanea sendo o primeiro veculo realmente global
para a liberdade de expresso e que a privacidade e a segurana de todas as comunicaes
on-line seja preservada. Fundada em 1990 como uma organizao de interesse pblico sem
fins lucrativos, a EFF tem sua sede em So Francisco, califrnia. A EFF mantm um extenso
arquivo de informaes sobre poltica de encriptao, privacidade e liberdade de expresso no
seu site (http://www.eff.org).
Criptoanlise
Diferencial
1
2
3
4
5
Certas diferenas nos pares de texto claro tm uma grande probabilidade de reaparecerem
nos pares do texto cifrado resultante. Estas diferenas so chamadas de caractersticas.
Por exemplo, se a diferena entre dois textos claros for 0080 8200 6000 000 (em
hexadecimal), ento aps trs rodadas, ignorando a permutao inicial do DES, a
probabilidade desta diferena aparecer nos dois textos cifrados resultantes continuar sendo
0080 8200 6000 000 de (1/16)2 ou 5%.
Este ataque funciona no DES e em outros algoritmos semelhantes com caixas S (S-boxes)
constantes porque depende essencialmente da estrutura das caixas S. Acontece que as
caixas S do DES foram otimizadas para resistir criptoanlise diferencial. Os detalhes
matemticos desta abordagem vo alm da proposta deste texto, mas podem ser
encontrados nos trabalhos:
8 214 238 4 29
O texto conhecido funciona com o DES em qualquer um dos seus modos de operao - ECB,
CBC, CFB e OFB - com a mesma complexidade.
Observaes finais
Existem algumas aspectos que precisam ser destacados. O primeiro que este ataque
principalmente terico porque o tempo enorme e a quantidade de dados necessria para
montar um ataque torna-o inacessvel para a maioria das pessoas. S para se ter uma idia,
para obter os dados necessrios para o ataque gasta-se cerca de 3 anos para cifrar um fluxo
de dados a 1.5 Mbits/segundo de texto claro escolhido. Em segundo lugar, este um ataque
com texto claro escolhido. A criptoanlise diferencial tambm funciona como um ataque a um
texto claro conhecido, mas preciso "escarafunchar" todos os pares de texto claro/texto
cifrado at encontrar os que possam ser usados.
Para o DES com 16 etapas completas, este tipo de ataque ligeiramente menos eficiente do
que o da fora bruta (o ataque da criptoanlise diferencial precisa de 2 55.1 operaes
enquanto a fora bruta precisa de 255 operaes). O consenso que, quando implementado
adequadamente, o DES resiste a uma criptoanlise diferencial. E a surgem as perguntas:
Porque o DES to resistente criptoanlise diferencial? Porque as caixas S foram
otimizadas para dificultar ao mximo este ataque? Porque existem apenas as etapas
necessrias e no mais do que isto? A resposta : porque os projetistas do DES j conheciam
a criptoanlise diferencial. Don Coppersmith, da IBM, disse o seguinte num newsgroup da
IBM:
Adi Shamir desafiou Coppersmith a revelar que no havia encontrado qualquer ataque
melhor do que este, mas Coppersmith preferiu ficar em silncio.
Referncia bibliogrfica
Bruce Schneier, "Applied Cryptography" John Wiley & Sons, Inc, 1994
1
2
3
4
5
Introduo
SPA
DPA
Muitas tcnicas foram criadas para testar algoritmos criptogrficos isolados. Por
exemplo, a criptoanlise diferencial e a criptoanlise linear podem se aproveitar de
caractersticas estatsticas extremamente pequenas que se mostram nas entradas ou
nas sadas de cifras. Estes mtodos foram muito bem estudados porque podem ser
aplicados atravs da anlise de apenas uma das partes da arquitetura do sistema - a
estrutura matemtica de um algoritmo.
Referncias
1
2
3
4
5
ndice do Artigo
Criptoanlise acstica
Mais FAQ
Experincias prticas
Todas as pginas
Introduo
Em 2004, Dmitri Asonov e Rakesh Agrawal do IBM Almaden Research Center revelaram que
teclados de computador e teclados numricos usados em telefones e mquinas automticas
(ATMs) so vulnerveis a ataques baseados na identificao do som produzido pelas
diferentes teclas. Usaram uma rede neural para reconhecer as teclas pressionadas e,
analisando os sons gravados, conseguiram recuperar o texto digitado. Atacantes que usam
dispositivos de escuta clandestina podem utilizar esta tcnica para obter senhas, frases-
senha, PINs (personal identification number) e outras informaes relacionadas segurana
de dados.
Antes de prosseguir com este assunto, dois esclarecimentos. Um ataque de canal lateral
um tipo de ataque que depende de informaes obtidas das implementaes fsicas de um
criptossistema, ou seja, vai bisbilhotar apenas o hardware, no levando em conta possveis
fraquezas dos algoritmos utilizados. Exemplos deste tipo de ataque so consumo de tempo
(timing), vazamentos eletromagnticos, vazamentos de som e consumo de energia. Redes
neurais, em termos prticos, so ferramentas de modelagem estatstica de dados no-
lineares. Podem ser usadas para modelar relaes complexas entre entradas e sadas para
encontrar padres nos dados analisados. Como sabemos, achou um padro... achou uma
porta de entrada!
Este papo de zumbido, rudo, barulhinho, tc-tc de teclado, etc no coisa nova. No seu
livro Spycatcher, Peter Wright, espio aposentado do MI5, discute o uso de um ataque
acstico contra mquinas de cifragem Hagelin em 1956. Para os mais curiosos, o ataque
recebeu o nome em cdigo "ENGULF".
FAQ
Estas perguntas mais frequentes (FAQ) respondidas por Adi Shamir e Eran Tromer so muito
elucidativas. No custa traduzir...
Pergunta 2 - Como uma fonte acstica de baixa frequncia (KHz) contm informao
de uma CPU muito mais rpida (GHz)?
De duas formas. Primeiro, quando a CPU est executando uma operao longa, ela pode
criar uma assinatura espectral acstica caracterstica. Por exemplo, logo abaixo mostramos
como a assinatura/decifrao do RSA soa diferente para diferentes chaves secretas. Em
segundo lugar, obtemos informao temporal sobre a durao de cada operao e isto pode
ser usado para montar ataques de tempo (veja a pergunta 10), especialmente quando o
atacante puder afetar a operao de input (isto , num cenrio de ataque por texto cifrado
escolhido).
Uma medida bvia o uso de equipamentos de reduo de rudo, como caixas " prova de
som", projetados para atenuar todas as frequncias relevantes. Por outro lado, uma fonte
suficientemente forte com uma larga faixa de rudos pode mascarar sinais importantes. Esta
alternativa, no entanto, pouco atrativa devido a problemas ergonmicos (ningum quer
ficar surdo!).
A espionagem de teclados j foi muito discutida - as teclas podem ser identificadas pelo
tempo ou, como proposto recentemente por Asonov e Agrawal, pelos diferentes sons que
produzem ao serem pressionadas. Este ataque pode ser aplicado para obter dados entrados
manualmente (como senhas), mas no apropriado para dados secretos maiores como, por
exemplo, chaves RSA.
Outra fonte acstica a procura feita pelos cabeotes de discos rgidos. Esta fonte, no
entanto, no muito til na presena de caching, gravaes com retardo e multitarefa.
Antes dos computadores modernos a espionagem acstica j era praticada. Vale lembrar a
tcnica "ENGULF" do MI5, recontada por Peter Wright no livro Spycatcher, onde foi obtida a
chave secreta de uma mquina de cifragem Hagelin no embaixada do Egito atravs de uma
escuta telefnica.
Pergunta 6 - Porque se incomodar com ataques acsticos se j existem os ataques
TEMPEST e de anlise do consumo de energia?
Pergunta 7 -
Apesar de no ser a nica detectvel, a instruo 80x86 HLT a mais fcil de ser detectada
acusticamente. Esta instruo coloca a CPU num estado especial de baixo consumo que
perdura at a prxima chamada de interrupo do hardware. Em CPUs modernas, este
estado desliga temporariamente muitos dos circuitos on-chip, o que reduz drasticamente o
consumo de energia e altera as emisses acsticas por um perodo de tempo relativamente
longo. Experimentalmente, a diferena entre computao ativa (que normalmente nunca
envolve instrues HLT) e uma CPU ociosa (onde o kernel executa instrues HLT no
seu loop de ociosidade) usualmente bastante evidente. Se o nico programa que estiver
rodando for um aplicativo criptogrfico, ento isto j suficiente para se detectar quando o
programa "acorda" para manipular inputs e quando ele termina suas tarefas criptogrficas -
esta informao pode ser usada para montar ataques de tempo. claro que detalhes
acsticos adicionais mais sutis fornecero ainda mais informaes.
Nossas experincias sugerem que, na maioria dos computadores, cada tipo de operao
possui uma assinatura acstica - um som caracterstico. Isto se aplica a qualquer operao,
criptogrfica ou de qualquer outro tipo. Focamos as operaes criptogrficas porque estas
so projetadas para proteger informaes, portanto, vazamentos de informao nestes casos
podem ser crticos. Por exemplo, a recuperao de uma simples chave de decifrao pode
comprometer o sigilo de todas as mensagens enviadas atravs do canal de comunicao
correspondente.
Experincias prticas
Inicialmente pensei em parar por aqui a traduo do artigo de Shamir e Tromer, mas vi que
era uma pena no mostrar os resultados at certo ponto surpreendentes publicados pelos
autores. Bem, ento vamos l.
Exceto onde especificado de outra forma, o computador que foi gravado um sem marca
usando uma placa-me PC Chips M754LMR, CPU Intel Celeron 666MHz e fonte Astec
ATX200-3516. Este computador foi escolhido devido s suas emanaes acsticas
particularmente intensas, mas em hiptese alguma um caso especial: todos os
computadores que testamos mostraram uma correlao significante entre o espectro
acstico e as atividades da CPU e, em cerca da metade dos casos, o efeito pde ser ouvido
naturalmente quando padres apropriados de atividade de CPU foram usados.
Esta a gravao do GnuPG 1.2.4 assinando uma mensagem curta usando uma chave RSA
randmica precalculada de 4096 bits. A assinatura feita duas vezes, ambas precedidas por
uma parada (instruo HLT), manisfestando-se como rudo de banda larga. Para a
assinatura, o GnuPG usa exponenciao baseada em CRT e isto visvel no espectrograma:
a durao de cada assinatura particionada em dois estgios parecidos mas distintos,
correspondentes exponenciao mdulo p e mdulo q.
Assinatura GnuPG
Acstico ou eletromagntico?
Como podemos ter certeza de que estamos captando um sinal acstico real e no apenas
emanaes eletromagnticas com o microfone ou seu cabo atuando como uma antena? Em
primeiro lugar, uma diferena audvel pode ser percebida por uma pessoa atenta. Para uma
evidncia mais conclusiva, aqui a experincia anterior foi repetida, s que desta vez com o
microfone envolto num leno de tecido no condutor:
Esta a gravao do GnuPG 1.2.4 assinando uma mensagem fixa usando vrias chaves RSA
diferentes de 4096 bits geradas anteriormente. Cada assinatura precedida por uma breve
parada (estado HLT). Uma equalizao curva-X aplicada para atenuar as frequncias
baixas. Voc pode ver claramente que cada assinatura (e efetivamente cada mdulo p e q)
possui uma assinatura espectral nica.
A seguir vamos para uma experincia mais controlada, tentando distinguir espectros
caractersticos de diferentes operaes da CPU. Escrevemos um programa simples que
executa loops contendo uma das seguintes instrues x86: HLT, MUL, FMUL, acesso
memria desprezando os caches L1 e L2 e REP NOP. Abaixo executamos cada um destes
loops homognenos e depois os executamos uma segunda vez. aplicada uma equalizao
curva-X.
Loops de operaes da CPU
Aqui est a mesma experincia (apesar da diferena na escala do tempo) efetuada num IBM
ThinkPad T21 movido por baterias. Surpreendentemente suas emanaes acsticas so
diferentes (e fornecem menos informaes) quando alimentado por uma fonte AC.
Referncias
Acoustic cryptanalysis, On nosy people and noisy machines de Adi Shamir e Eran
Tromer (o artigo original).
Baudline, software de gravao digital.
Researchers recover typed text using audio recording of keystrokes, press release de
Sarah Yang em 14.09.2005.
10
Filtro: titulo Exibir #
O pirata La Buse
1
2
3
4
5
ndice do Artigo
O pirata La Buse
Sua opinio
Todas as pginas
O pirata Olivier Le Vasseur era o terror nas costas das Antilhas. Ficou conhecido como La
Buse, o Falco, porque caa sobre as suas vtimas assim como faz o pssaro que lhe rendeu
o cognome. No incio do sculo XVIII, era uma celebridade em todo o Mar do Caribe.
Sua fama fez com que fosse duramente reprimido pela marinha francesa e inglesa, motivo
pelo qual decidiu transferir sua atuao para o Oceano ndico. Das ilhas Runion, Maurcio e
Rodrigues, no arquiplago de Mascareas, a Oeste da ilha de Madagascar, escolheu Reunin
como residncia e central de logstica. No foi por acaso. A ilha tem 2.510 quilmetros
quadrados e muitos contrastes na sua paisagem: praias de areia branca, lagoas e vulces (o
mais alto, Piton de Neiges, tem 3.086 metros de altura). Seu terreno acidentado era um
abrigo ideal e o clima tropical, suave e mido, era agradvel.
A tomada da N. S. do Cabo foi considerada como o maior e mais rendoso assalto a um nico
navio dentre os muitos que ocorreram durante o sculo XVIII, motivo pelo qual teve grande
repercusso e publicidade. De acordo com relatos da poca (e posteriores), sabe-se que a
fragata transportava uma carga riqussima, constituda por sedas, porcelanas e outras
mercadorias exticas. Alm disso, trazia um enorme carregamento de diamantes, muitos dos
quais pertenciam ao Conde da Ericeira, e outros ao prprio Rei, D. Joo V.
Segundo uma destas fontes, treze portugueses desertaram para se juntarem aos piratas,
mas igualmente refere que o Conde da Ericeira continuou a lutar no tombadilho da nau at a
sua espada se partir, ganhando admirao e respeito dos atacantes. Resolveram, ento,
restituir-lhe a espada, cujo punho tinha ouro e diamantes incrustados, e seus pertences
pessoais. O Conde, dizendo que no permitiria distines entre si e os restantes
companheiros de infortnio, recusou a oferta. Em consequncia, os piratas pilharam esses
bens e destruiram aquilo que, certamente, seria o mais valioso sob um ponto de vista
cultural e histrico - a coleo de livros e manuscritos que o Conde da Ericeira juntara e
trazia para a sua biblioteca. Foram rasgados para servirem de buchas nos mosquetes dos
piratas!
Depois de uma "carreira de sucesso", La Buse era um homem rico e resolveu morar em
Madagascar. A pirataria tornou-se em hobby e, de tempos em tempos, o pirata exercia
novamente a atividade com a qual havia feito fama e fortuna. Num destes
empreendimentos, foi capturado por um navio negreiro, levado para a cidade de Saint Paul
para ser julgado e condenado forca. Foi executado no dia 7 de Julho de 1730 e sepultado
no cemitrio da cidade. Seu tmulo e sua histria ainda exercem grande fascnio, e no so
poucos os que ainda procuram seu tesouro em Maurcio, ilhas Seychelles e Reunin.
Depois de conhecer a histria e de ver o criptograma deixado por La Buse, voc capaz de
dizer o que ele escreveu? Como estas ilhas, j na poca de Le Buse, estavam sob o domnio
da Frana, o texto est em Francs
Alm disso, ser que algum tem a chance de encontrar o tesouro do pirata? Deixe o seu
comentrio.
Fontes
Papers de Criptologia
Alguns textos sobre assuntos especficos como avaliaes de mtodos, de softwares e
suporte tcnico para entender ou desenvolver tcnicas criptogrficas e de criptoanlise.
10
Filtro: titulo Exibir #
TEORIA DA COMUNICAO DE
1 26.11.07 Shannon 5745
SISTEMAS SECRETOS
16 LSB - Tcnica dos bits menos significativos 21.03.05 vov Vicki 2633
1
2
3
4
5
Este texto apareceu num relatrio confidencial, "A Mathematical Theory of Cryptography",
em 1 de setembro de 1946. Atualmente no mais considerado material classificado.
1. INTRODUO E SUMRIO
PARTE I
2. SISTEMAS SECRETOS
3. REPRESENTAO DE SISTEMAS
4. ALGUNS EXEMPLOS DE SISTEMAS SECRETOS
5. AVALIAO DE SISTEMAS SECRETOS
6. A LGEBRA DE SISTEMAS SECRETOS
7. CIFRAS PURAS E MISTAS
8. SISTEMAS SEMELHANTES
PARTE II
SECRETISMO TERICO
9. INTRODUO
10. SEGREDO PERFEITO
11. EQUIVOCAO
12. PROPRIEDADES DA EQUIVOCAO
13. EQUIVOCAO PARA SUBSTITUIO SIMPLES NUMA LINGUAGEM DE DUAS
LETRAS
14. CARACTERSTICA DA EQUIVOCAO NUMA CIFRA "RANDMICA"
15. APLICAO EM CIFRAS PADRO
16. VALIDADE DE UMA SOLUO DE CRIPTOGRAMA
17. SISTEMAS SECRETOS IDEAIS
18. EXEMPLOS DE SISTEMAS SECRETOS IDEAIS
19. OBSERVAES ADICIONAIS SOBRE EQUIVOCAO E REDUNDNCIA
20. DISTRIBUIO DA EQUIVOCAO
PARTE III
SECRETISMO PRTICO
1. Introduo e
Sumrio
1
2
3
4
5
1. Introduo e Sumrio
O tratamento, de certo modo, limitado. Primeiro, existem trs tipos de sistemas secretos:
(1) Sistemas de encobrimento, incluindo mtodos como tinta invisvel, ocultao de
mensagens em textos inocentes ou num falsocriptograma de cobertura, ou outros mtodos
nos quais a existncia de uma mensagem escondida do inimigo; (2) Sistemas de
privacidade, por exemplo inverso de fala, nos quais so necessrios equipamentos especiais
para recuperar a mensagem; (3) Sistemas secretos "verdadeiros", onde o significado da
mensagem escondido por cifras, cdigos, etc, apesar da sua existncia no ser ocultada e
se assume que o inimigo possua todos os equipamentos especiais necessrios para
interceptar e gravar o sinal transmitido. Consideramos apenas o terceiro tipo - sistemas de
encobrimento so primariamente um problema psicolgico e sistemas de privacidade so um
problema tecnolgico.
Considera-se que cada chave, e portanto cada transformao, tenha uma possibilidade a
priori associada - a probabilidade de escolher esta chave. De forma semelhante, considera-se
que cada mensagem possvel tenha uma probabilidade a priori associada, determinada pelo
processo estocstico subjacente. Na verdade, estas probabilidades para as vrias chaves e
mensagens so as probabilidades a priori do criptanalista inimigo para as escolhas em
questo e representam seu conhecimento a priori da situao.
Para usar o sistema, primeiramente uma chave escolhida e enviada para o ponto receptor.
A escolha da chave determina uma transformao especfica no conjunto que forma o
sistema. Depois, uma mensagem selecionada e a transformao especfica correspondente
chave selecionada aplicada a esta mensagem para produzir o criptograma. O criptograma
transmitido ao ponto receptor por um canal e pode ser interceptado pelo "inimigo" *. Ao
final da recepo, o inverso da transformao especfica aplicada ao criptograma para
recuperar a mensagem original.
Como exemplo destas noes, numa cifra de substituio simples com chave randmica,
existem 26! transformaes que correspondem a 26! maneiras como podem ser substitudas
as 26 letras diferentes. Todas so igualmente provveis, portanto, cada uma tem uma
probabilidade a priori de 1/26!. Se isto for aplicado ao "ingls normal", assumindo que o
criptanalista saiba apenas que a mensagem corresponda a um texto em ingls e nada mais,
as probabilidades a priori de vrias mensagens de N letras so meramente suas frequncias
relativas em textos normais em ingls.
Considerando que um sistema secreto seja representado desta forma, como um conjunto de
transformaes de um conjunto de elementos em outro, h duas operaes naturais de
combinao que produzem um terceiro sistema a partir de dois sistemas dados. A primeira
operao de combinao chamada de operao de produto e corresponde cifragem da
mensagem com o primeiro sistema secreto R e cifragem do criptograma resultante com o
segundo sistema S, sendo as chaves para R e S escolhidas independentemente. Esta
operao total um sistema secreto cujas transformaes consistem de todos os produtos
(no sentido usual de produtos de transformaes) das trasnformaes em S com
transformaes em R. As probabilidade so os produtos das probabilidades das duas
transformaes.
T = pR + qS p + q = 1
Ela corresponde a fazer uma escolha preliminar de qual sistema deve ser usado, R ou S, com
as respectivas probabilidades p e q. Quando isto for feito, R ou S usado como definido
originalmente.
J foi demonstrado que sistemas secretos com estas duas operaes de combinao formam
essencialmente uma "lgebra associativa linear" com um elemento unitrio, uma variedade
algbrica que foi extensivamente estudada por matemticos.
Entre os muitos sistemas secretos possveis existe um com muitas propriedades especiais.
Este tipo denominamos de sistema "puro". Um sistema puro quando todas as chaves so
igualmente provveis e quando, para quaisquer trs transformaes Ti, Tj, Tk no conjunto, o
produto
TiTj-1Tk
Com uma cifra pura foi demonstrado que todas as chaves so essencialmente equivalentes -
todas produzem o mesmo conjunto de probabilidades a posteriori. Alm disso, quando um
dado criptograma interceptado, existe um conjunto de mensagens que podem ter
produzido o criptograma (uma "classe residual") e as probabilidades a posteriori da
mensagem desta classe so proporcionais s probabilidades a priori. Toda informao que o
inimigo obteve interceptando o criptograma uma especificao da classe residual. Muitas
das cifras comuns so sistemas puros, inclusive a substituio simples com chave randmica.
Neste caso, a classe residual consiste de todas as mensagens com o mesmo padro de
repetio de letras do criptograma interceptado.
Dois sistemas, R e S, so ditos "semelhantes" quando existir uma transformao fixa A com
uma inversa, A-1, de modo que
R = AS
A segunda parte do ensaio lida com o problema do "secretismo terico". Qual a segurana
de um sistema em relao criptanlise quando o inimigo possui tempo e pessoal ilimitados,
disponveis para a anlise do criptograma interceptado? O problema est estreitamente
relacionado a questes de comunicao na presena de rudo e os conceitos de entropia e
equivocao desenvolvidos para o problema da comunicao tm uma aplicao direta nesta
parte da criptografia.
Se um sistema secreto com chaves finitas for usado e N letras do criptograma forem
interceptadas, haver, para o inimigo, um certo conjunto de mensagens com certas
probabilidades que este criptograma poderia representar. medida que N aumenta, o campo
geralmente se estreita at que, eventualmente, haja uma soluo "nica" para o
criptograma; uma mensagem com probabilidade essencialmente unitria enquanto todas as
outras so praticamente zero. Uma quantidade H(N) definida, denominada de equivocao,
e mede de forma estatstica o quanto o criptograma mdio, de N letras, est prximo de uma
soluo nica; isto , o grau de incerteza que o inimigo tem em relao mensagem original
depois de interceptar um criptograma de N letras. Vrias propriedades da equivocao so
deduzidas - por exemplo, a equivocao da chave nunca aumenta com o aumento de N. Esta
equivocao um ndice de secretismo terico - terico pelo fato de permitir que o inimigo
use um tempo ilimitado para analisar o criptograma.
determinada a funo H(N) para um certo tipo idealizado de cifra, chamada de cifra
randmica. Com certas modificaes, esta funo pode ser aplicada a vrios casos de
interesse prtico. Isto proporciona um meio de calcular aproximadamente quanto material
interceptado necessrio para se obter a soluo de um sistema secreto. Atravs desta
anlise fica evidenciado que, em idiomas comuns e com os tipos usuais de cifras (no
cdigos), esta "distncia da unicidade" aproximadamente H(K)/D. Aqui, H(K) um nmero
que mede o "tamanho" do espao da chave. Se todas as chaves forem a priori igualmente
provveis, H(K) o logaritmo do nmero de chaves possveis. D a redundncia da lngua e
mede a quantidade de "represso estatstica" imposta pelo idioma. Na substituio simples
com chave randmica, H(K) log1026!, ou aproximadamente 20, e D (em dgitos decimais
por letra) cerca de 0.7 para o ingls. Portanto, a unicidade ocorre depois de cerca de 30
letras.
possvel contruir sistemas secretos com uma chave finita para certas "lnguas" nas quais a
equivocao no se aproxime de zero medida que N->infinito (N tenda ao infinito). Neste
caso, independentemente da quantidade de material interceptado, o inimigo no obtm uma
soluo nica para a cifra. Restam-lhe muitas alternativas, todas de probabilidade razovel.
Tais sistemas chamamos de sistemas ideais. possvel, em qualquer idioma, aproximar-se
de tal comportamento - isto , fazer com que a aproximao de zero de H(N) devolva um N
arbitrariamente grande. Entretanto, estes sistemas possuem algumas limitaes, como a
complexidade e a susceptibilidade a erros na transmisso do criptograma.
A terceira parte deste ensaio dedicada ao "secretismo prtico". Dois sistemas com o
mesmo tamanho de chave podem ser solucionados de forma nica quando N letras tiverem
sido interceptadas, porm diferem muito quanto ao volume de trabalho necessrio para obter
a soluo. feita uma anlise da fraqueza bsica dos sistemas secretos. Isto leva a mtodos
para a construo de sistemas que vo requerer uma grande quantidade de trabalho para
serem solucionados. Finalmente, discute-se uma certa incompatibilidade entre as vrias
qualidades desejadas para sistemas secretos.
2. Sistemas
Secretos
1
2
3
4
5
2. Sistemas Secretos
E = f(M,K)
E = Ti M
M = Ti-1E
Deve ser notado que, de acordo com a nossa definio, uma nica
operao numa lngua produz um tipo degenerado de sistema
secreto - um sistema com apenas uma chave de probabilidade
unitria. Tal sistema no possui segredo - o criptanalista acha
a mensagem aplicando o inverso desta transformao, a nica do
sistema, no criptograma interceptado. O decifrador e o
criptanalista, neste caso, possuem a mesma informao. Em geral,
a nica diferena entre o conhecimento do decifrador e o
conhecimento do criptanalista inimigo que o decifrador conhece
a chave especfica que est sendo usada enquanto o criptanalista
conhece apenas as probabilidades a priori das vrias chaves do
conjunto. O processo de decifrao o de aplicar o inverso da
transformao especfica usada para a cifragem do criptograma. O
processo de criptanlise o de tentar determinar a mensagem (ou
a chave especfica) tendo o criptograma e as probabilidades a
priori das vrias chaves e mensagens.
3. Representao de
Sistemas
1
2
3
4
5
3. Representao de Sistemas
Um sistema secreto como foi definido pode ser representado de vrias maneiras. Uma que
conveniente para propsitos ilustrativos um diagrama de linha, como nas Figs. 2 e 4.
Uma forma mais comum de descrever um sistema especificando, para uma chave
arbitrria, a operao que realizada na mensagem para se obter o criptograma. De forma
anloga, definem-se implicitamente as probabilidades para as vrias chaves descrevendo-se
como uma chave escolhida ou o que sabemos dos hbitos do inimigo na escolha de chaves.
As probabilidades para mensagens so implicitamente determinadas especificando-se nosso
conhecimento a priori dos hbitos de linguagem do inimigo, da situao ttica (que ir
influenciar o contedo provvel da mensagem) e qualquer informao especial relativa ao
criptograma que possamos ter.
1
2
3
4
5
Nesta seo sero dados alguns exemplos de cifras. Estas cifras sero citadas com frequncia
no restante deste texto com propsitos ilustrativos.
Nesta cifra, cada letra da mensagem trocada por um substituto fixo, geralmente tambm
uma letra. Portanto, a mensagem
M = m1m2m3m4 ...
E = e1e2e3e4 ...
= f(m1)f(m2)f(m3)f(m4) ...
onde a funo f(m) uma funo com uma inversa. A chave uma permutao do alfabeto
(quando os substitutos forem letras), por exemplo, X G U A C D T B F H R S L M Q V Y Z W
I E J O K N P. A primeira letra X o substituto para o A, G o substituto para o B, etc.
m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 ...
se transforma em
m2 m3 m1 m5 m4 m7 m8 m6 m10 m9 ...
Na cifra de Vigenre a chave constituda por uma srie de d letras. Estas so escritas
repetidamente abaixo da mensagem e as duas so adicionadas mdulo 26 (considerando o
alfabeto numerado de A=0 a Z=25). Portanto,
ei = mi + ki (mod 26)
mensagem N O W I S T H E ...
criptograma T O D O S A N E ...
A Vigenre de perodo 1 chamada de cifra de Csar. uma substituio simples onde cada
letra de M avanada uma quantidade fixa no alfabeto. Esta quantidade a chave, que pode
ser qualquer nmero de 0 a 25. As assim chamadas Beaufort e Variante Beaufort so
semelhantes Vigenre e cifram-se respectivamente pelas equaes
ei = ki - mi (mod 26)
ei = mi - ki (mod 26)
ki + li + ... + si
assim como na transposio composta, o mnimo mltiplo comum dos perodos individuais.
Quando a Vigenre usada com uma chave ilimitada, que nunca se repete, temos o sistema
Vernam 6 com
ei = mi + ki (mod 26)
ei = g(mi + ki)
mi = g -1(ei) - ki
7
4.6 SISTEMA MATRICIAL
ei = aij mj i = 1, ..., n
A matriz aij a chave e a decifrao feita com a matriz inversa. A matriz inversa existir
se, e somente se, a determinante |aij| possuir um elemento inverso no anel.
L Z Q C P
A G N O U
R D M I F
K Y H V S
X B T E W
O substituto para o digrama AC, por exemplo, o par de letras nos outros cantos do
retngulo definido por A e C, isto ,LO, o L ocorrendo primeiro porque est acima do A. Se
as letras do digrama estiverem numa linha horizontal, como emRI, usa-se as letras que
estejam direita, DF; RF se torna DR. Se as letras estiverem numa linha vertical, so
usadas as letras abaixo delas. Deste modo, PS se torna UW. Se as letras do digrama forem
repetidas, pode-se usar nulos para separ-las ou elas podem ser omitidas, etc.
Mensagem S E N D S U P P L I E S ...
Chave C O M E T S E N D S U P ...
Criptograma U S Z H L M T C O A Y H ...
Mensagem S E N D S U P P L I E S ...
Chave C O M E T U S Z H L O H ...
Criptograma U S Z H L O H O S T S Z ...
Nestas, cada letra inicialmente cifrada em duas ou mais letras ou nmeros e estes smbolos
so misturados de alguma forma (por exemplo, por transposio). O resultado pode ento
ser retraduzido para o alfabeto original. Ento, usando um alfabeto desordenado de 25 letras
como chave, podemos traduzir as letras em nmeros quinrios de dois dgitos usando a
tabela:
0 1 2 3 4
0 L Z Q C P
1 A G N O U
2 R D M I F
3 K Y H V S
4 X B T E W
Desta forma, B se torna 41. Depois que a srie resultante de nmeros transposta de
alguma forma, eles so tomados em pares e traduzidos de volta para letras.
4.11 CDIGOS
Nos cdigos, as palavras (ou, algumas vezes, as slabas) so trocadas por grupos de letras
substitutas. Algumas vezes uma cifra de um tipo ou de outro aplicada ao resultado.
6. G. S. Vernam, "Cipher Printing Telegraph Systems for Secret Wire and Radio Telegraphic
Communications", Journal American Institute of Electrical Engineers, v. XLV, pp. 109-115,
1926.
8. Este sistema trivial do ponto de vista do segredo uma vez que, com exceo das
primeiras d letras, o inimigo estar de posse da "chave" inteira.
5. Avaliao de Sistemas
Secretos
1
2
3
4
5
(0 votos, mdia 0 de 5)
Escrito por Shannon
Existem numerosos critrios que deveriam ser aplicados para estimar o valor de um sistema
secreto proposto. Os mais importantes deles so:
Existem alguns sistemas que so perfeitos - o inimigo no est em melhor posio depois de
interceptar qualquer quantidade de material do que estava antes. Outros sistemas, apesar de
lhe fornecerem alguma informao, no possuem uma "soluo" nica para os criptogramas
interceptados. Entre os sistemas de soluo nica, existe uma grande variao no volume de
trabalho necessrio para obter a soluo e no volume de material que precisa ser
interceptado para transformar a soluo em nica.
6. A lgebra de Sistemas
Secretos
1
2
3
4
5
S = pT + qR
onde p + q = 1. Esta operao consiste em primeiramente fazer uma escolha preliminar com
as probabilidades p e q, determinando qual dos T e R sero usados. Esta escolha faz parte
da chave de S. Aps esta determinao, T ou R sero usados como definido originalmente. A
chave total de S precisa especificar qual de T e R ser usado e qual chave de T(ou de R)
ser usada.
Notamos que qualquer sistema T pode ser escrito como a soma de operaes fixas
Uma segunda forma de combinar dois sistemas secretos tomando o "produto", mostrado
esquematicamente na Fig. 3. Suponha que T e R sejam dois sistemas e que o domnio
(espao da linguagem) de R possa ser identificado com a srie (espao de criptograma) de T.
Neste caso podemos aplicar primeiro T nossa linguagem, e depois R ao resultado deste
processo de cifragem.
Fig. 3 - Produto de dois sistemas S = RT
S = RT
A chave para S composta pelas duas chaves de T e R, onde se assume que tenham sido
escolhidas independentemente e de acordo com as suas probabilidades originais. Portanto,
se m chaves de T, com probabilidades
p1 p2 ... pm
ento S tem no mximo mn chaves com probabilidades pi p'j. Em muitos casos, algumas das
transformaes por produto RiTj sero as mesmas e podem ser agrupadas somando-se suas
probabilidades.
A cifragem por produto usada com frequncia; por exemplo, segue-se uma substituio
com uma transposio ou uma transposio com uma Vigenre, ou aplica-se um cdigo ao
texto e o resultado cifrado com uma substituio, transposio, fracionamento, etc.
Deve-se notar que a multiplicao nem sempre comutativa (no sempre que temos RS =
SR), apesar de o ser em casos especiais, como na substituio e na transposio. Uma vez
que ela representa uma operao, por definio ela associativa. Isto , R(ST) = (RS)T =
RST.
RiRj RjRi
RR = V
uma Vigenre de mesmo perodo com chave randmica. Por outro lado, se os
elementos Ti e Rj de dois sistemas T e Rcomutarem, ento o sistema comuta.
Um sistema cujos espaos M e E possam ser identificados, um caso muito comum quando
sequncias de letras so transformadas em sequncias de letras, pode ser denominado
de endomrfico. Um sistema endomrfico T pode ser elevado a uma potncia Tn.
Um sistema secreto T, cujo produto com ele mesmo igual a T, isto , para o qual
TT = T
onde A, B, ..., S so tipos conhecidos de cifras, com suas pi probabilidades a priori nesta
situao, e onde p'Xcorresponde possibilidade de um tipo completamente novo e
desconhecido de cifra.
7. Cifras puras e
mistas
1
2
3
4
5
ndice do Artigo
Teoremas 3 a 5
Todas as pginas
Pgina 1 de 2
Certos tipos de cifras, como a substituio simples, a transposio por um perodo dado, a
Vigenre por um perodo dado, a Vigenre com alfabeto desordenado, etc, (todas com cada
chave igualmente provvel) possuem uma certa homogeneidade em relao chave. Seja
qual for a chave, os processos de cifragem, decifrao e desencriptao so essencialmente
os mesmos.
pS + qT
onde S uma substituio simples e T uma transposio de um dado perodo. Neste caso,
todo o sistema muda quanto cifragem, decifrao e desencriptao, dependendo se a
substituio ou a transposio que est sendo usada.
pS + qT
Podemos definir uma cifra "pura", ento, como uma cujas Ti formam um grupo. Isto,
entretanto, seria muito restritivo uma vez que requer que o espao E seja o mesmo que o
espao M, ou seja, que o sistema seja endomrfico. A transposio fracionada to
homognea quanto a transposio ordinria, mesmo no sendo endomrfica. A definio
mais apropriada a seguinte: Uma cifra T pura se, para cada Ti , Tj , Tk existir uma Ts de
modo que
TiTj-1Tk = Ts
e se cada chave for igualmente provvel. De outra forma, a cifra mista. Os sistemas da Fig.
2 so mistos. A Fig. 4 pura se todas as chaves forem igualmente provveis.
TEOREMA 1
Numa cifra pura, as operaes Ti-1Tj, as quais transformam o espao de
mensagem nele mesmo, formam um grupo cuja ordem m, o nmero das
diferentes chaves.
Para
Tj-1TkTk-1Tj = I
de modo que cada elemento tenha um inverso. A lei associativa verdadeira desde que estas
sejam operaes e que a propriedade de grupo derive de
TiTj-1Tk = TiTr = Ts
TEOREMA 2
Para, se T e R comutam, TiRj = RlTm para cada i,j com l,m apropriados e
TiRj(TkRl)-1TmRn = TiRjRl-1Tk-1TmRn
= RuRv-1RwTrTs-1Tl
= RhTg
Entretanto, a condio de comutao no necessria para o produto ser uma cifra pura.
Um sistema com apenas uma chave, isto , com uma operao T1 nica e definida, puro
desde que a nica escolha de ndices for
T1T1-1T1 = T1
Ento a expanso de uma cifra genrica numa soma de tais transformaes simples tambm
a exibe como uma soma de cifras puras.
Um exame do exemplo de uma cifra pura mostrado na Fig. 4 revela certas propriedades. As
mensagens caem em certos subconjuntos, os quais chamaremos de classes residuais, e os
criptogramas possveis esto divididos em classes residuais correspondentes. Existe pelo
menos uma linha de cada mensagem duma classe para cada criptograma da classe
correspondente, e no existem linhas entre classes que no tenham correspondncia. O
nmero de mensagens numa classe um divisor do nmero total de chaves. O nmero de
linhas "em paralelo" de uma mensagem M para um criptograma da classe correspondente
igual ao nmero de chaves dividido pelo nmero de mensagens da classe que contm a
mensagem (ou criptograma). mostrado no apndice que isto, em geral, se mantm para
cifras puras. Resumindo formalmente temos:
8. Sistemas
semelhantes
1
2
3
4
5
(0 votos, mdia 0 de 5)
Escrito por Shannon
8. Sistemas semelhantes
R = AS
Isto significa que cifrar com R o mesmo que cifrar com S e depois atuar no resultado com a
transformao A. Se escrevemos R~S para indicar que R semelhante a S, ento fica claro
que R~S implica em S~R. R~S e S~T tambm implica que R~T e, finalmente, que R~R. Isto
pode ser resumido dizendo que a semelhana uma relao de equivalncia.
Se algum tiver um mtodo para quebrar o sistema R, ento qualquer sistema S semelhante
a R pode ser quebrado reduzindo-o a R atravs da aplicao da operao A. Este um
dispositivo frequentemente usado na criptoanlise prtica.
Como exemplo trivial, uma substituio simples onde os substitutos no so letras, mas
smbolos arbitrrios, semelhante substituio simples que usa letras como substitutos.
Um segundo exemplo so as cifras de Csar e Csar reverso. A ltima, algumas vezes,
quebrada depois de transformada no tipo Csar. Isto pode ser feito revertendo o alfabeto no
criptograma. As Vigenre, Beaufort e Variao da Beaufort so todas semelhantes quando a
chave for randmica. A cifra de "auto-chave" (onde a mensagem usada como "chave")
preparada com a chave K1 K2 ... Kd semelhante a um tipo Vigenre com a chave adicionada
e subtrada Mod 26 em alternncia. A transformao A, neste caso, a "decifrao" da auto-
chave com uma srie d de A's para a chave preparatria.
9. Secretismo Terico -
Introduo
1
2
3
4
5
9. Introduo
Um criptograma possui uma soluo nica (mesmo que esta exija um volume impraticvel de
trabalho) e, se no, quantas solues razoveis possui? Quanto de texto num dado sistema
precisa ser interceptado at que a soluo se torne nica? Existem sistemas que nunca se
tornam nicos na soluo, no importando a quantidade de texto cifrado interceptado?
Existem sistemas que nunca fornecem informao ao inimigo, no importando quanto texto
interceptado? Na anlise destes problemas, os conceitos de entropia, redudncia e afins,
desenvolvidos na "A Mathematical Theory of Communication" (que passar a ser referido
como MTC), encontraro uma ampla aplicao.
10. Segredo
Perfeito
1
2
3
4
5
Vamos supor que as mensagens possveis so em nmero finito M1, ..., Mn, que possuam
probabilidades a priori P(M1), ..., P(Mn) e que estejam cifradas nos criptogramas possveis E1,
..., Em atravs de
E = TiM
Uma condio necessria e suficiente para um secretismo perfeito pode ser encontrada como
a seguir: Temos o teorema de Bayes
onde
Para um secretismo perfeito, PE(M) precisa ser igual a P(M) para todos E e todas M. Portanto,
ou P(M) = 0, uma soluo que precisa ser excluda porque demandamos a igualdade
independentemente dos valores de P(M), ou
PM(E) = P(E)
para cada M e E. Reciprocamente, se PM(E) = P(E), ento
PE(M) = P(M)
TEOREMA 6
Posto de outra forma, a probabilidade total de todas as chaves que transformam M i num
dado criptograma E igual de todas as chaves transformando M j no mesmo E, para todas
Mi, Mj e E.
Agora precisam existir tantos E quantas forem M porque, para um ifixo, Ti d uma
correspondncia de um-para-um entre todas as M e alguns dos E. Para um secretismo
perfeito PM(E) = P(E) <> 0 para qualquer um destes E e para qualquer M. Portanto, existe
pelo menos uma chave transformando qualquer M em qualquer um destes E. Mas todas as
chaves de uma M fixa para E diferentes precisam ser diferentes e, desta forma, o nmero de
chaves diferentes pelo menos o mesmo que o nmero das M. S possvel obter o
secretismo perfeito com este nmero de chaves, como mostrado no seguinte exemplo: Deixe
Mi ser numerada de 0 a n, da mesma forma Ei e, usando n chaves, deixe que
Ti Mj = Es
onde s = i + j (Mod n). Neste caso podemos ver que PE(M) = 1/n = P(E) e que temos um
secretismo perfeito. Um exemplo mostrado na Fig. 5 com s = i+j - 1 (Mod 5).
Na MTC foi mostrado que a informao pode ser convenientemente medida atravs da
entropia. Se temos um conjunto de possibilidades com probabilidades p 1, p2, ..., pn, a
entropia H dada por:
H = - pi log pi
sendo a soma referente a todas as mensagens possveis. Analogamente existe uma incerteza
associada escolha da chave dada por:
RM LM < RK LK
Estes resultados foram deduzidos tomando por base probabilidades das mensagens a
priori desconhecidas ou arbitrrias. A chave requerida para um secretismo perfeito depende
do nmero total de mensagens possveis. Seria de esperar que, se o espao de mensagem
possuir uma estatstica fixa conhecida, de modo que tenha uma taxa mdia definida de R
para gerar informao, de acordo com a MTC, ento a quantidade de chave necessria
poderia ser reduzida em R na mdia em apenas na proporo R/RM, e isto realmente
verdade. De fato, a mensagem pode ser passada atravs de um transdutor que elimina a
redundncia e reduz o comprimento esperado nesta proporo e, depois, um sistema
Vernam pode ser aplicado ao resultado. Evidentemente a quantidade de chave usada por
cada letra da mensagem estatisticamente reduzida por um fator R/RM e, neste caso, as
fontes de chave e informao esto apenas alinhadas - um bit de chave oculta
completamente um bit de informao da mensagem. Tamb, facilmente demonstrvel,
atravs dos mtodos usados na MTC, que isto o melhor que pode ser feito.
Sistemas de secretismo perfeito possuem um lugar no cenrio prtico - eles podem ser
usados tanto onde a maior importncia est ligada ao segredo completo - por exemplo, na
correspondncia entre os mais altos nveis de comando ou em casos onde o nmero de
mensagens possveis pequeno. Portanto, para dar um exemplo extremo, se apenas duas
mensagens, "sim" ou "no", foram antecipadas, um sistema perfeito seria aplicvel com,
talvez, uma tabela de transformao:
M K | A B
----|-----
sim | 0 1
no | 1 0
9 - Um purista poderia objetar que o inimigo obteve alguma informao quando sabe que
uma mensagem foi enviada. Isto pode ser respondido tendo, entre as mensagens, uma
"vazia" que corresponde a "nenhuma mensagem". Se nenhuma mensagem originada, a
vazia cifrada e enviada como criptograma. Neste caso, at este modicum de informao
restante eliminado.
11.
Equivocao
1
2
3
4
5
11. Equivocao
Suponhamos que uma cifra de substituio simples tenha sido usada num texto em ingls e
que interceptamos uma certa quantidade, N letras, de texto cifrado. Para
um N razoavelmente grande, digamos de mais de 50 letras, com grande probabilidade
haver sempre uma soluo nica para a cifra, isto , s uma boa sequncia em ingls que
se transforma no material interceptado atravs de uma substituio simples.
Entretanto, com um N menor, a chance de existir mais de uma soluo maior: com N = 15
geralmente haver vrios fragmentos de texto que se encaixam, enquanto que com N = 8
uma boa parte (da ordem de 1/8) de todas as sequncias razoveis em ingls e deste
comprimento sero possveis porque raro haver mais de uma letra repetida nas 8. Com N =
1, qualquer letra claramente possvel e possui a mesma probabilidade a posteriori que sua
probabilidade a priori. Para uma letra o sistema perfeito.
Isto geralmente acontece com cifras que tm soluo. Antes de qualquer material ser
interceptado, podemos imaginar as probabilidades a priori anexadas s vrias mensagens
possveis, como tambm s vrias chaves. Assim que algum material interceptado, o
criptoanalista calcula as probabilidades a posteriori; medida que N aumenta, as
probabilidades de certas mensagens aumenta e, da maioria, diminui, at finalmente restar
apenas uma que tem a probabilidade prxima de um, enquanto a probabilidade total de
todas as outras se aproxima de zero.
Estes clculos podem ser efetuados para sistemas muito simples. A tabela 1 mostra as
probabilidades a posteriori para uma cifra do tipo Csar aplicada a um texto em ingls com a
chave escolhida randomicamente dentre 26 possibilidades. Para habilitar o uso de tabelas de
frequncia padro para letras, digramas e trigramas, o texto foi iniciado num ponto
randmico (abrindo-se um livro e colocando-se um lpis numa pgina randmica). A
mensagem selecionada deste modo comea com "creases to ...", comeando dentro da
palavra "increases". Se se sabe que a mensagem o incio de uma sentena, um conjunto de
probabilidades diferente precisa ser usado para as frequncias de letras, digramas, etc, que
aparecem no incio das sentenas.
Decifraes N = 1 N = 2 N = 3 N = 4 N = 5
C R E A S .028 .0377 .1111 .3673 1
D S F B T .038 .0314
E T G C U .131 .0881
F U H D V .029 .0189
G V I E W .020
H W J F X .053 .0063
I X K G Y .063 .0126
J Y L H Z .001
K Z M I A .004
L A N J B .034 .1321 .2500
M B O K C .025 .0222
N C P L D .071 .1195
O D Q M E .080 .0377
P E R N F .020 .0818 .4389 .6327
Q F S O G .001
R G T P H .068 .0126
S H U Q I .061 .0881 .0056
T I V R J .105 .2830 .1667
U J W S K .025
V K X T L .009
W L Y U M .015 .0056
X M Z V N .002
Y N A W O .020
Z O B X P .001
A P C Y Q .082 .0503
B Q D Z R .014
H(dgitos decimais) 1.2425 .9686 .6034 .285 0
A Csar com chave randmica uma cifra pura e a chave escolhida no afeta as
probabilidades a posteriori. Para determinar as que precisamos precisamos apenas listar
todas as decifraes possveis para todas as chaves e calcular usas probabilidades a priori. As
probabilidades a posteriori so estas divididas pela sua soma. As decifraes possveis so
encontradas atravs do processo padro de "correr o alfabeto" e podem ser vistas na coluna
da esquerda. Estas formam a classe residual da mensagem. Para apenas uma letra
interceptada, as probabilidades a posteriori so iguais s probabilidades a priori para
letras 10 e so mostradas na coluna encabeada por N = 1. Para duas letras interceptadas, as
probabilidades so as dos digramas ajustados para somar a unidade e so mostradas na
coluna N = 2.
p(ijkl) = p(ijk)pjk(l)
Observe que com trs letras o campo foi reduzido para quatro mensagens de probabilidade
bastante alta, sendo as outras muito pequenas se comparadas. Com quatro h apenas duas
possibilidades e, com cinco, apenas uma - a decifrao correta.
Em princpio, isto poderia ser aplicado a qualquer sistemas, mas, a no ser que a chave seja
muito pequena, o nmero de possibilidades to grande que o trabalho envolvido torna o
clculo proibitivo.
Os valores de HE(K,N) e HE(M,N) para o criptograma do tipo Csar considerado acima foram
calculados e so dados na ltima linha da Tabela 1. HE(K,N) e HE(M,N) so iguais neste caso
e so dados em dgitos decimais (isto , a base logartmica 10 usada nos clculos). Deve-
se notar que aqui a equivocao para um criptograma em particular e que a soma foi feita
apenas para M (ou K), e no para E. Geralmente a soma seria para todos os criptogramas
interceptados de comprimento N e daria a mdia da incerteza. As dificuldades
computacionais so proibitivas para este tipo de clculo geral.
10. As probabilidades para esta tabela foram obtidas nas tabelas de frequncia dadas por
Fletcher Pratt num livro "Secret and Urgent" publicado por Blue Ribbon Books, Nova Iorque,
1939. Apesar de no estarem completas, so suficientes para nossos propsitos.
Traduo vov Vicki
12. Propriedades da
Equivocao
1
2
3
4
5
(0 votos, mdia 0 de 5)
Escrito por Shannon
TEOREMA 7
H(B)> HA(B)
HE(M)<HE(K,M) = HE(K)+HE,K(M)
Alm disto
A frmula para a equivocao da mensagem pode ser encontrada de forma parecida. Temos
PE1E2(M) = PE1(M)
Consequentemente
HE1E2(M) = HE1(M)
TEOREMA 8
Suponha agora que temos um sistema T que pode ser expresso como uma soma ponderada
de vrios sistemas R, S, ..., U
TEOREMA 9
A equivocao H de uma soma ponderada de sistemas est ligada pelas
desigualdades
piHi < H < piHi - pi log pi
Estes so os melhores limites possveis. Os H podem ser equivocaes tanto
da chave, quanto da mensagem.
O limite superior obtido, por exemplo, em sistemas fortemente ideais (que sero descritos
mais tarde) onde a decomposio feita em transformaes simples do sistema. O limite
inferior obtido se todos os sistemas R, S, ..., U vo para espaos de criptogramas
completamente diferentes. Este teorema tambm provado pelas desigualdades gerais que
governam a equivocao,
Identificamos A com um determinado sistema que esteja sendo usado e B com a chave ou a
mensagem.
TEOREMA 10
Suponha que um sistema possa ser aplicado s linguagens L1, L2, ..., Lm e
tenha caractersticas de equivocao H1, H2, ..., Hm. Quando aplicada soma
ponderada piLi, a equivocao H ligada por
piHi < H < piHi - pi log pi
Estes limites so os melhores possveis e as equivocaes em questo
podem ser tanto da chave quanto da mensagem.
DN = log G - H(M)
portanto
Isto mostra que, em sistemas fechados, por exemplo, a diminuio da equivocao da chave
depois de N letras foi interceptada e no maior do que a redundncia de N letras do idioma.
Nestes sistemas, que compreendem a maior parte das cifras, apenas a existncia da
redundncia nas mensagens originais que possibilita uma soluo.
Suponha agora que temos um sistema puro. Deixe que classes diferentes de resduos de
mensagens sejam C1, C2, C3, ..., Cr e que o conjunto correspondente de classes de resduos
de criptogramas seja C'1, C'2, C'3, ..., C'r. A probablidade de cada E em C1 a mesma:
TEOREMA 11
Este resultado pode ser usado para calcular HE(K) em certos casos de interesse.
1
2
3
4
5
(0 votos, mdia 0 de 5)
Escrito por Shannon
Temos:
1/2(psqN-s + qspN-s)
Para p = 1/3, q = 2/3 e para p = 1/8 e q = 7/8, HE(K,N) foi calculado e mostrado na Fig.
6.
Curso de Criptologia
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.
10
Filtro: titulo Exibir #
Curso de vov
1 08.12.07 13100
Criptoanlise das Vicki
Cifras de Bloco
1
2
3
4
5
ndice do Artigo
O curso
O curso II
O curso III
Todas as pginas
22 de Setembro de 1998
1. Introduo
Desde a poca em que estava escrevendo Applied Cryptography sou solicitado a recomendar
um livro sobre criptoanlise. Infelizmente minha resposta que, apesar de existirem bons
livros sobre criptografia, no existem livros, bons ou ruins, sobre criptoanlise. uma lacuna
que no vejo ser preenchida nos prximos tempos. A criptoanlise um campo to dinmico
que qualquer livro de tcnicas estaria obsoleto antes mesmo de ser impresso. E mesmo que
de alguma forma o livro continuasse atual, teria pouco para ensinar sobre criptoanlise.
Esta resposta leva a uma outra pergunta: onde adquirir a prtica? A Internet uma fonte
inesgotvel de algoritmos medocres - alguns at mesmo entram rastejando na literatura
acadmica - mas o estudante que comea com a criptoanlise no tem como saber quais
algoritmos compensam ser estudados e quais esto alm do seu alcance. Tentar quebrar os
algoritmos que j foram quebrados (sem antes olhar o que outros j fizeram) a nica
resposta.
Agora a pergunta : quais so as cifras que devemos tentar quebrar e em qual sequncia?
Este paper minha tentativa para dar uma resposta, na esperana de que esta resposta
facilite o estudo da criptoanlise.
O que fiz foi listar algoritmos publicados e criptoanlises publicadas numa ordem coerente:
por tipo de criptoanlise e dificuldade. Uma das tarefas do estudante ler os textos que
descrevem os algoritmos e depois tentar reproduzir os resultados criptoanalticos publicados
(definitivamente mais difcil aprender criptoanlise atravs de papers acadmicos do que
atravs de livros de texto, mas, quanto mais cedo um estudante se acostumar a ler textos
acadmicos, mais depressa conseguir progredir). Os resultados em outros papers
publicados servem como um "chave para a resposta".
A chave para a resposta nunca definitiva; muito provavelmente existem outros ataques,
at melhores dos que foram publicados. Alguns textos sobre criptoanlise possuem erros.
Estudantes que seguirem este curso podem acabar conseguindo resultados publicveis.
Se um estudante ainda no conseguir quebrar a cifra, neste ponto faz sentido ler e estudar a
criptoanlise publicada. Se um estudante no conseguir quebrar nenhuma das cifras -
especialmente as mais fceis - isto um bom indicativo de que deveria encontrar outra linha
de trabalho.
As lies esto em ordem, mas a ordenao est meio solta nos tpicos. As primeiras lies
so mais fceis, mas depois tento misturar um pouco as coisas. Os estudantes podem pular
lies que so mais difceis e depois voltar para elas, ou at mesmo simplesmente pular
algumas (existem muitas delas). Tambm no minha inteno que o estudante complete
uma lio antes de ir para a prxima. Um estudante esperto, provavelmente, ir trabalhar
com mais de uma lio por vez.
Boa sorte.
Quebrar uma cifra no necessariamente significa encontrar uma forma prtica para que um
interceptador possa recuperar o texto claro a partir do texto cifrado. Na criptografia
acadmica as regras so consideravelmente menos rgidas. Quebrar uma cifra simplesmente
significa encontrar uma fraqueza na cifra que possa ser explorada com uma complexidade
menor do que a fora bruta. No interessa se a fora bruta requerer 2128 encriptaes; um
ataque que precisar de 2110 encriptaes j ser considerado uma quebra. As quebras
tambm podem necessitar quantidades irreais de texto claro conhecido ou escolhido -
256 blocos - ou quantidades irreais de armazenamento: 280. Colocando de forma simples,
uma quebra pode ser apenas uma "fraqueza certificacional": evidncia de que a cifra no
atua como declarado.
Uma criptoanlise de sucesso pode significar a demonstrao de uma quebra contra uma
variedade de uma cifra com rodadas reduzidas - DES com 8 rodadas versus DES completo de
16 rodadas, por exemplo - ou uma variedade simplificada da cifra. A maioria das quebras
comea como criptoanlise de variedades com rodadas reduzidas e, eventualmente (talvez
alguns anos mais tarde), so estendidas para a cifra completa.
Pesquisas acadmicas com cifras de bloco progrediram num rumo diferente do das pesquisas
com cifras de fluxo. Papers sobre cifras de bloco tradicionalmente possuem esquemas
concretos (com parmetros e nomes especficos) ou quebras destes esquemas. Papers sobre
cifras de fluxo com frequncia so esquemas gerais ou tcnicas de anlise com aplicaes
gerais e exemplos. Apesar da criptoanlise de cifras de fluxo ser pelo menos to importante
quanto a criptoanlise de cifras de bloco, e mais importante no meio militar, muito mais
difcil alinhavar um curso usando textos acadmicos. Uma boa fonte de cifras de fluxo est
disponvel online em http://www.rsa.com/rsalabs/node.asp?id=2002.
4. Pr-requisitos
Outros tpicos sobre matemtica discreta e cincia da computao tambm so teis, apesar
de no serem de conhecimento obrigatrio. Um estudante deveria saber ou estar preparado
para aprender lgebra linear, teoria dos grupos, teoria da complexidade, anlise
combinatria e teoria de grficos. Isto deveria ser estudado com afinco juntamente com a
criptoanlise.
Uma leitura cuidadosa de David Kahn, The Codebreakers (The Macmillan Company, 1967),
indispensvel para um entendimento da histria da criptografia. Eu a recomendo com
veemncia.
6. O curso
6.1 Background
Leia pelo menos dois dos seguintes livros: B. Schneier, Applied Cryptography, Second Edition
(John Wiley & Sons, 1996), D.R. Stinson, Cryptography: Theory and Practice (CRC Press,
1995) e A. J. Menezes, P.C. van Oorschot e S.A. Vanstone,Handbook of Applied
Cryptography (CRC Press, 1997). Concentre-se nos captulos sobre cifras de bloco, mas
recomendo fortemente que voc leia tudo.
Parece que praticamente qualquer ataque criptoanaltico moderno funciona contra a FEAL.
Primeiro leia o algoritmo: A. Shimizu e S. Miyaguchi, "Fast Data Encipherment Algorithm
FEAL" (Advances in Cryptology - EUROCRYPT '87 Proceedings, Springer-Verlag, 1988, pp.
267-278). Agora, tente quebr-lo. Alguns ataques podem ser encontrados em: B. Den Boer,
"Cryptanalysis of F.E.A.L." (Advances in Cryptology - EUROCRYPT '88 Proceedings, Springer-
Verlag, 1988, pp. 275-280), H. Gilbert e P. Chasse, "A Statistical Attack on the FEAL-8
Cryptosystem" (Advances in Cryptology - CRYPTO '90 Proceedings, Springer-Verlag, 1991,
pp. 22-33) e A. Tardy-Corfdir e H. Gilbert, "A Known Plaintext Attack of FEAL-4 and FEAL-6"
(Advances in Cryptology - CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 172-182).
Voc tambm pode reinventar tanto a criptoanlise diferencial quanto a criptoanlise linear
se se esforar bastante.
Ataque a FEAL usando a criptoanlise diferencial. Uma soluo, que o primeiro paper que
fala sobre ataques diferenciais, S. Murphy, "The Cryptanalysis of FEAL-4 with 20 Chosen
Plaintexts" (Journal of Cryptology, v. 2, n. 3, 1990, pp. 145-154). Veja tambm o captulo 6
de E. Biham and A. Shamir, Differential Cryptanalysis of the Data Encryption
Standard (Springer-Verlag, 1993).
Leia M. Blaze e B. Schneier, "The MacGuffin Block Cipher Algorithm" (Fast Software
Encryption, Second International Workshop Proceedings, Springer-Verlag, 1995, pp. 97-110).
Tente quebrar a cifra. Um ataque diferencial est em V. Rijmen e B. Preneel, "Cryptanalysis
of MacGuffin" (Fast Software Encryption, Second International Workshop Proceedings,
Springer-Verlag, 1995, pp. 353-358). Existem muito mais ataques, nenhum dos quais
publicado. Vale a pena dedicar um tempo para este algoritmo e at mesmo voltar para ele
mais tarde neste curso. Na medida em que voc aprender mais tcnicas, descobrir mais
ataques.
O precursor do IDEA foi o PES; veja X. Lai e J. Massey, "A Proposal for a New Block
Encryption Standard" (Advances in Cryptology - EUROCRYPT '90 Proceedings, Springer-
Verlag, 1991, pp. 389-404). Tente quebr-lo usando a criptoanlise diferencial. Resultados (e
um redesenho) esto em X. Lai, J. Massey e S. Murphy, "Markov Ciphers and Differential
Cryptanalysis" (Advances in Cryptology - CRYPTO '91 Proceedings, Springer-Verlag, 1991,
pp. 17-38).
Leia M. Matsui, "Linear Cryptanalysis Method for DES Cipher" (Advances in Cryptology -
EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 386-397). Tente melhorar os
resultados. Uma soluo est em M. Matsui, "The First Experimental Cryptanalysis of the
Data Encryption Standard" (Advances in Cryptology - CRYPTO '94 Proceedings, Springer-
Verlag, 1994, pp. 1-11).
Tente quebrar a FEAL usando tcnicas da criptoanlise linear. Solues esto em M. Matsui e
A. Yamagishi, "A NewMethod for Known Plaintext Attack of FEAL Cipher" (Advances in
Cryptology - EUROCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 81-91) e K. Ohta e K.
Aoki, "Linear Cryptanalysis of the Fast Data Encipherment Algorithm" (Advances in
Cryptology - CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 12-16). Veja tambm S.
Moriai, K. Aoki e K. Ohta, "Improving the Search Algorithm for the Best Linear Expression"
(Advances in Cryptology - EUROCRYPT '95 Proceedings, Springer-Verlag, 1995, pp. 157-
170).
Leia E. Biham, "On Matsui's Linear Cryptanalysis" (, Springer-Verlag, 1995, pp. 356-365).
Se conseguir achar, leia X. Lai, "Higher Order Derivatives and Differential Cryptanalysis"
(Communications and Cryptograpy, Kluwer Academic Publishers, 1994, pp. 227-233). Leia a
seo 4 de L.R. Knudsen, "Truncated and Higher Order Dierentials" (Fast Software
Encryption, 2nd International Workshop Proceedings, Springer-Verlag, 1995, pp. 196-211).
Leia K. Nyberg e L.R. Knudsen, "Provable Security Against Differential Cryptanalysis" (Journal
of Cryptology, v. 8, n. 1, 1995, pp. 27-37). A cifra na seo 5 chamada de KN-Cipher;
tente quebr-la usando diferenciais de ordem mais alta. A Kiefer tambm descrita em K.
Kiefer, "A New Design Concept for Building Secure Block Ciphers" (Proceedings of Pragocrypt
'96, CTU Publishing House, 1996, pp. 30-41). Uma boa soluo se encontra em T.
Shimoyama, S. Moriai e T. Kaneko, "Improving the Higher Order Differential Attack and
Cryptanalysis of the KN Cipher" (Information Security. First International Workshop ISW '97
Proceedings, Springer-Verlag, 1998, pp. 32-42).
Leia M. Kwan, "The Design of ICE Encryption Algorithm" (Fast Software Encryption, 4th
International Workshop Proceedings, Springer-Verlag, 1997, pp. 69-82). Um ataque
diferencial est em B. Van Rompay, L.R. Knudsen e V. Rijmen, "Differential Cryptanalysis of
ICE Encryption Algorithm" (Fast Software Encryption, 5th International Workshop
Proceedings, Springer-Verlag, 1998, pp. 270-283).
O LOKI foi redesenhado; a nova verso foi chamada de LOKI-91. Leia L. Brown, M. Kwan, J.
Pieprzyk e J. Seberry, "Improving Resistance to Differential Cryptanalysis and the Redesign
of LOKI" (Advances in Cryptology - ASIACRYPT '91 Proceedings, Springer-Verlag, 1993, pp.
36-50). Procure por qualquer tipo de criptoanlise; alguns resultados podem ser encontrados
em L.R. Knudsen, "Cryptanalysis of LOKI91" (Advances in Cryptology - AUSCRYPT '92,
Springer-Verlag, 1993, pp. 196-208). Um ataque linear (contra o LOKI-91 e o LOKI-89) pode
ser encontrado em T. Tokita, T. Sorimachi e M. Matsui, "Linear Cryptanalysis of LOKI and
s2 DES" (Advances in Cryptology - ASIACRYPT '94, Springer-Verlag, 1995, pp. 293-303).
Leia C. Harpes, G. Kramer e J. Massey, "A Generalization of Linear Cryptanalysis and the
Applicability of Matsui's Piling-up Lemma" (Advances in Cryptology - EUROCRYPT '95
Proceedings, Springer-Verlag, 1995, pp. 24-38), C. Harpes e J. Massey, "Partitioning
Cryptanalysis" (Fast Software Encryption, 4th International Workshop Proceedings, Springer-
Verlag, 1997, pp. 13-27). Tente aplicar estas tcnicas ao DES antes de ler o Apndice C do
segundo paper. Leia as sees de 1 a 4 de B. Kaliski Jr. e M. Robshaw, "Linear Cryptanalysis
Using Multiple Approximations" (Advances in Cryptology - CRYPTO '94 Proceedings, Springer-
Verlag, 1994, pp. 26-39). Tente aplicar as tcnicas ao LOKI91 antes de ler a seo 5.
6.29 Whitening
Leia J. Kilian e P. Rogaway, "How to Protect DES Against Exhaustive Key Search" (Advances
in Cryptology - CRYPTO '96 Proceedings, Springer-Verlag, 1996, pp. 252-267).
Leia os seguintes papers: K. Nyberg, "Linear Approximation of Block Ci- phers" (Advances in
Cryptology - EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, pp. 439-444), K. Nyberg e
L. Knudsen, "Provable Security Against a Differential Attack," (Journal of Cryptology, v. 8, n.
1, 1995, pp. 27-37) e K. Nyberg e L. Knudsen, "Provable Security Against a Differential
Cryptanalysis" (Advances in Cryptology - CRYPTO '92 Proceedings, Springer-Verlag, 1993,
pp. 566-574).
Leia a descrio do KHUFU em R.C. Merkle, "Fast Software Encryption Functions" (Advances
in Cryptology - CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 476-501). Tente quebr-
lo. Uma anlise est em H. Gilbert and P. Chauvaud, "A Chosen-Plaintext Attack on the 16-
Round Khufu Cryptosystem" (Advances in Cryptology - CRYPTO '94 Proceedings, Springer-
Verlag, 1994, pp. 359-368).
Leia J.L. Massey, "SAFER K-64: A Byte-Oriented Block-Ciphering Algorithm" (Fast Software
Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 1-17).
Tente atacar esta cifra. Resultados podem ser encontrados em J.L. Massey, "SAFER K-64:
One Year Later" (Fast Software Encryption, 2nd International Workshop Proceedings,
Springer-Verlag, 1995, pp. 212-241), S. Vaudenay, "On the Need for Multipermutations:
Cryptanalysis of MD4 and SAFER" (Fast Software Encryption, Second International Workshop
Proceedings, Springer-Verlag, 1995, pp. 286-297) e L.R. Knudsen, "A Key-Schedule
Weakness in SAFER K-64" (Advances in Cryptology - CRYPTO '95 Proceedings, Springer-
Verlag, 1995, pp. 274-286).
Leia E. Biham, "On Modes of Operation" (Fast Software Encryption, Cambridge Security
Workshop Proceedings, Springer-Verlag, 1994, pp. 116-120) e E. Biham, "Cryptanalysis of
Multiple Modes of Operation" (Advances in Cryptology - ASIACRYPT '94 Proceedings,
Springer-Verlag, 1995, pp. 278-292). Leia as sees 1 e 2 de E. Biham, "Cryptanalysis of
Ladder-DES" (Fast Software Encryption, 4th International Workshop Proceedings, Springer-
Verlag, 1997, pp. 134-138). Tente quebrar a construo antes de ler o restante do paper.
Leia tambm D. Wagner, "Analysis of Some Recently Proposed Modes of Operation" (Fast
Software Encryption, 5th International Workshop Proceedings, Springer-Verlag, 1998, pp.
254-269) e tente quebrar as construes antes de ler a anlise.
Leia R.L. Rivest, "The RC5 Encryption Algorithm" (Fast Software Encryption, 2nd
International Workshop Proceedings, Springer-Verlag, 1995, pp. 86-96). Tente quebrar o
RC5. Voc pode achar alguns resultados em B.S. Kaliski e Y.L. Yin, "On Differential and
Linear Cryptanalysis of the RC5 Encryption Algorithm" (Advances in Cryptology - CRYPTO '95
Proceedings, Springer-Verlag, 1995, pp. 445-454), L.R. Knudsen e W. Meier, "Improved
Dierential Attacks on RC5" (Advances in Cryptology - CRYPTO '96 Proceedings, Springer-
Verlag, 1996, pp. 216-228) e A.A. Selcuk, "New Results in Linear Cryptanalysis of RC5" (Fast
Software Encryption, 5th International Workshop Proceedings, Springer- Verlag, 1998, pp. 1-
16).
Leia M. Matsui, "New Structure of Block Ciphers with Provable Security Against Differential
and Linear Cryptanalysis" (Fast Software Encryption, 3rd International Workshop
Proceedings, Springer-Verlag, 1996, pp. 205-218) e M. Matsui, "New Block Encryption
Algorithm MISTY" (Fast Software Encryption, 4th International Workshop Proceedings,
Springer-Verlag, 1997, pp. 54-68). O nico resultado criptoanaltico que conheo est em H.
Tanaka, K. Hisamatsu e T. Kaneko, "Higher Order Differential Attack of MISTY without FL
Functions" (The Institute of Electronics, Information, and Communication Engineers, ISEC98-
5, 1998).
Leia J. Daemen, L. Knudsen e V. Rijmen, "The Block Cipher Square" (Fast Software
Encryption, 4th International Workshop Proceedings, Springer-Verlag, 1997, pp. 149-165),
menos a seo 6. Tente atacar esta cifra antes de ler esta seo.
7. Concluso
J que uma grande quantidade de cifras inventada todos os anos - algumas publicadas,
algumas patenteadas, algumas proprietrias - como podem os criptoanalistas saber quais
compensam ser estudadas? Eles olham para o pedigree do algoritmo. Um algoritmo que
tenha sido inventado por algum que mostrou ser capaz de quebrar algoritmos - estudou a
literatura, talvez usando este curso, e publicou algumas quebras de sua autoria que no
haviam sido descobertas antes - tem uma chance muito maior de inventar uma cifra segura
do que algum que deu uma lida rpida na literatura e depois inventou alguma coisa. Nos
dois casos o inventor acredita que sua cifra segura; no primeiro caso, a opinio do inventor
tem valor.
Qualquer um pode criar um algoritmo que ele mesmo no consegue quebrar. No nem ao
menos difcil. O difcil a criptoanlise e apenas um criptoanalista experiente pode projetar
uma boa cifra.
Por favor, observe: o texto foi escrito por Bruce Schneier h quase 10 anos! Muita coisa
mudou, mas os princpios continuam os mesmos e este roteiro no deixou de ser o caminho
das pedras para quem quer comear e tem interesse em se tornar um especialista em
criptologia no sculo XXI
1
2
3
4
5
O modelo da criptologia
Este o modelo clssico da criptologia: Alice e Bob fazendo criptografia e Oscar tentando
fazer criptoanlise.
Para comear a aprender o "idioma" matemtico, aqui est o primeiro termo do nosso
"dicionrio", o C:
DICIONRIO
C Pertence a
Trocando imagens e smbolos por palavras: Para cada CHAVE pertencente ao CONJUNTO DE
CHAVES existe uma REGRA DE CIFRAGEM que pertence ao CONJUNTO DE REGRAS DE
CIFRAGEM que tem uma REGRA DE DECIFRAO correspondente que pertence ao
CONJUNTO DE REGRAS DE DECIFRAO.
ek e dk so funes. A funo de cifragem pode ser usada num texto claro x e isto "dito"
matematicamente comoek(x). O resultado que o texto claro transformado em texto
cifrado, ou seja, ek: A -> C. Com a funo de decifrao ocorre o contrrio, o que pode ser
dito como dk: C -> A.
A funo de cifragem ek(x) transforma o texto claro x num texto cifrado, portanto, podemos
chamar ek(x) de texto cifrado. Se aplicarmos a funo de decifrao correspondente a este
texto cifrado, obtemos novamente o texto claro. Veja como podemos dizer isto de forma
resumida na linguagem matemtica:
Noo de Protocolo
Neste exemplo, Alice e Bob escolhem uma das chaves do conjunto de chaves (k C K). Isto
pode ser feito num encontro pessoal ou atravs de um canal seguro - em todo caso, longe
dos olhos do Oscar. Mais tarde, digamos que Alice queira enviar uma mensagem para Bob
atravs de um canal inseguro. Esta mensagem constituda por caracteres que podem ser
expressos como
x = x1 x2 ... xn
Como n indica o nmero de caracteres da mensagem, claro que n precisa ser maior do que
zero porque, se for zero, no existe mensagem nenhuma. A forma matemtica de dizer isto
n > 1 e significa n maior ou igual a 1. Alm disto, j sabemos que a mensagem, seja ela
qual for, pertence ao conjunto de textos claros, ou seja, x C A.
Cada xi cifrado usando a regra de cifragem ek especificada pela chave escolhida. Alice faz
os seguintes clculos:
y = y1 y2 ... yn
Quando Bob recebe a mensagem cifrada de Alice, ele aplica a regra de decifrao d k em
y1 y2 ... yn e obtm novamente a mensagem clara x1 x2 ... xn
Um pouco mais de matemtica
A funo de cifragem (ou regra de encriptao) precisa ser uma funo injetiva. Que
negcio este? Bem, a regra ek, quando aplicada, pode dar apenas um resultado. Funes
que do apenas um resultado so chamadas de injetivas, injetoras, unvocas ou 1-1. A
importncia do uso de funes 1-1 na criptografia fica clara no seguinte exemplo:
Neste caso, quando Bob for decifrar y, ele encontra dois resultados diferentes. Qual deles
deve ser usado? Nenhum! O sistema est bichado porque a funo de cifragem usada no
era unvoca.