You are on page 1of 77

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.

TEORIA DA COMUNICAO DE
SISTEMAS SECRETOS

Criptografia Numaboa - Papers


Escrito por Shannon
Seg, 26.11.2007 16:59

Este texto apareceu num relatrio confidencial, "A Mathematical Theory of Cryptography", em
1 de setembro de 1946. Atualmente no mais considerado material classificado.

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

1. Introduo e Sumrio
Os problemas da criptografia e dos sistemas secretos proporcionam uma aplicao
interessante da teoria da comunicao 1. Neste ensaio desenvolvida uma teoria dos
sistemas secretos. A abordagem em nvel terico e sua pretenso a de complementar o
tratamento encontrado em trabalhos padro de criptografia 2 nos quais feito um estudo
detalhado dos muitos tipos padro de cdigos e cifras e das formas de quebr-los. Ns
daremos uma ateno maior estrutura matemtica geral e s propriedades dos sistemas
secretos.
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 falso criptograma 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.
Em segundo lugar, o tratamento limitado a casos de informao discreta, onde a
mensagem que deve ser cifrada consiste numa sequncia de smbolos discretos escolhidos
de um conjunto finito. Estes smbolos podem ser letras de um idioma, palavras de uma
lngua, nveis de amplitude de uma fala ou sinais de vdeo "quantizados", etc, porm a
nfase e a preocupao maior foi com o caso das letras.
O ensaio divido em trs partes. Os principais resultados sero resumidos a seguir. A
primeira parte lida com a estrutura matemtica bsica dos sistemas secretos. Assim como na
teoria da comunicao, um idioma considerado como sendo representado por um processo

estocstico que produz uma sequncia discreta de smbolos de acordo com algum sistema de
probabilidades. Associado ao idioma, h um certo parmetro D, o qual denominaremos
redundncia da linguagem. D mede, de alguma forma, quanto o comprimento de um texto,
neste idioma, pode ser reduzido sem perder qualquer informao. Como um exemplo
simples, uma vez que U sempre segue o Q em palavras em ingls, o U pode ser omitido sem
perdas. Redues considerveis so possveis em ingls devido estrutura estatstica da
lngua, a alta frequncia de certas letras ou palavras, etc. A redundncia tem uma
importncia central no estudo dos sistemas secretos.
Um sistema secreto definido abstratamente como sendo um conjunto de transformaes
de um espao (o conjunto das mensagens possveis) em um segundo espao (o conjunto dos
criptogramas possveis). Cada determinada transformao do conjunto corresponde a uma
cifragem com uma determinada chave. Espera-se que as transformaes sejam reversveis
(no-singulares), de modo que uma decifrao nica seja possvel quando a chave
conhecida.
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.
Se o inimigo intercepta o criptograma, ele pode calcular a partir dele as probabilidades a
posteriori das vrias mensagens e chaves possveis que possam ter produzido o criptograma.
Este conjunto de probabilidades a posteriori constituem seu conhecimento sobre a chave e a
mensagem aps a interceptao. Portanto, o "conhecimento" identificado pelo conjunto de
proposies associadas s suas probabilidades. O clculo das probabilidades a posteriori o
problema genrico da criptanlise.
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.
Se o inimigo intercepta N letras de criptogramas neste sistema, suas probabilidades mudam.
Se N for grande o suficiente (digamos 50 letras), geralmente existe a probabilidade a
posteriori prxima de um de ser uma mensagem, enquanto que todas as outras tm a
probabilidade total prximas de zero. Portanto, existe uma "soluo" essencialmente nica
para o criptograma. Para um N menor (digamos N = 15), usualmente existiro muitas
mensagens e chaves com probabilidade comparvel, com nenhuma nica prxima a um.
Neste caso, existem "solues" mltiplas para o criptograma.
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.
A segunda operao de combinao a "adio ponderada".

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
tambm uma transformao no conjunto. Isto , cifragem, decifrao e cifragem com
quaisquer trs chaves precisam ser equivalentes cifragem com alguma chave.
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
Se R e S so semelhantes, pode-se obter uma correspondncia um-para-um entre os
criptogramas resultantes, levando s mesmas probabilidades a posteriori. Os dois sistemas
so criptanaliticamente idnticos.
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.
O "segredo perfeito" definido como a exigncia de que um sistema, aps a interceptao
de um criptograma representando vrias mensagens, possua exatamente as mesmas
probabilidades a priori das mesmas mensagens antes da interceptao. Foi demonstrado que
o segredo perfeito possvel porm, se o nmero de mensagens for finito, requer o mesmo
nmero de chaves possveis. Se a mensagem for gerada constantemente numa determinada
"taxa" (a ser definida posteriormente), a chave precisa ser gerada a uma taxa igual ou
maior.

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.

1 - Shannon, C. E., "A Mathematical Theory of Communication", Bell System Technical


Journal, Julho de 1948, p.379; Outubro de 1948, p.623.
2 - Veja, por exemplo, H. F. Gaines, "Elementary Cryptanalysis", ou M. Givierge, "Cours de
Cryptographie".
* - A palavra "inimigo", originria de aplicaes militares, comumente usada no trabalho
criptogrfico para denominar qualquer pessoa que possa interceptar um criptograma.

2. Sistemas
Secretos

Criptografia Numaboa - Papers


Escrito por Shannon
Seg, 26.11.2007 20:44

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos

2. Sistemas Secretos

Como primeiro passo na anlise matemtica da criptogafia


necessrio idealizar a situao adequadamente e definir, de
maneira matematicamente aceitvel, o que queremos dizer com
sistema secreto.

Um diagrama "esquemtico" de um sistema secreto genrico


mostrado na Fig. 1. Na extremidade transmissora existem duas
fontes de informao - uma fonte da mensagem e uma fonte da
chave. A fonte da chave produz uma chave em particular
dentre as chaves possveis do sistema. Esta chave
transmitida de alguma forma, supostamente no interceptvel,
por exemplo por um mensageiro, para a extremidade receptora.
A fonte da mensagem produz uma mensagem (a "clara"), a qual
cifrada, e o criptograma resultante enviado
extremidade receptora atravs de um meio possivelmente
interceptvel, por exemplo rdio. Na extremidade receptora,
o criptograma e a chave so combinados no decifrador para
recuperar a mensagem.

conhecendo-se E e K. Portanto, as transformaes T i da


famlia precisam possuir inversos nicos Ti-1 de modo que TiTi1
= I, a transformao de identidade. Portanto

M = Ti-1E

Em todos os casos, este inverso precisa existir e ser nico


para cada E, o qual pode ser obtido de uma M com chave i.
Portanto, chegamos definio:

Um sistema secreto uma famlia de transformaes Ti, reversveis e nicas,


de um conjunto de mensagens possveis em um conjunto de criptogramas,
tendo a transformao Ti uma probabilidade pi associada.

Reciprocamente, qualquer conjunto de entidades deste tipo


ser chamado de "sistema secreto". Por convenincia, o
conjunto das mensagens possveis ser chamado de "espao de
mensagens" e o conjunto de criptogramas possveis de "espao
de criptogramas".

Dois sistemas secretos sero iguais se forem constitudos


pelo mesmo conjunto de transformaes Ti, com o mesmo espao
de mensagens e criptogramas (extenso e domnio) e a mesma
probabilidade para as chaves.

Um sistema secreto pode ser visualizado mecanicamente como


uma mquina que possua um ou mais controles. Uma sequncia
de letras, a mensagem, alimenta a entrada da mquina e uma
segunda
srie
emerge
na
sada.
A
uma
determinada
configurao dos controles corresponde uma determinada chave
que est sendo usada. Alguns mtodos estatsticos precisam
ser estabelecidos para a escolha de uma chave dentre todas
as possveis.

Para tornar o problema matematicamente tratvel, devemos


assumir que o inimigo conhece o sistema que est sendo
usado, isto , ele conhece a famlia de transformaes Ti e
as probabilidades de escolha das vrias chaves. Pode ser que
esta premissa seja refutada com o argumento de que esteja
fora da realidade porque, com frequncia, o criptanalista
no conhece o sistema usado ou desconhece as probabilidades
em questo. Existem duas respostas para esta objeo:

1. A

restrio muito mais fraca do que parece


inicialmente devido nossa definio ampla do que um
sistema secreto. Imagine que um criptgrafo intercepte
uma mensagem e que no saiba se foi usada uma
substituio por transposio ou uma cifra de Vigenre.
Ele pode considerar a mensagem como tendo sido cifrada
por um sistema no qual parte da chave seja a
especificao de qual dos dois tipos foi usado e a
parte seguinte como sendo a chave especfica para este
tipo. Estas trs possibilidades diferentes possuem
probabilidades associadas de acordo com as melhores
estimativas das probabilidades a priori do cifrador,
usando os respectivos tipos de cifras.

2.

3. A

premissa a que atualmente comumente usada em


estudos criptogrficos. pessimista e portanto segura,
mas, a longo prazo, realista, uma vez que a expectativa
de que nosso sistema pode ser eventualmente
descoberto. Portanto, mesmo quando um sistema
inteiramente novo inventado, de modo que o inimigo
no possa atribuir-lhe nenhuma probabilidade a priori
antes de desvend-lo, ainda assim preciso conviver
com a expectativa do seu eventual conhecimento.

4.

A situao parecida com a que ocorre na teoria dos jogos 3,


onde se assume que o oponente "descobre" a estratgia de
jogo que est sendo usada. Em ambos os casos, a premissa
serve para delinear nitidamente o conhecimento do oponente.

Uma segunda objeo possvel nossa definio de sistemas


secretos que ela no leva em conta a prtica comum da
insero de nulos em uma mensagem e o uso de substitutos
mltiplos. Nestes casos no existe um criptograma nico para
uma dada mensagem e chave - o cifrador pode escolher
vontade dentre vrios criptogramas diferentes. A situao
poderia
ser
tratada,
porm
iria
apenas
adicionar
complexidade
ao
presente
estgio
sem
alterar
substancialmente qualquer dos resultados bsicos.

Se as mensagens forem produzidas por um processo de Markoff


do tipo descrito em (1) para representar uma fonte de
informao, as probabilidades das vrias mensagens so
determinadas pela estrutura do processo de Markoff. No
momento, entretanto, queremos ter uma viso mais geral da

situao e considerar as mensagens meramente como um


conjunto
abstrato
de
entidades
com
probabilidades
associadas, no necessariamente compostas por uma sequncia
de letras e no necessariamente produzidas por um processo
de Markoff.

Deve ser destacado que, em todo este trabalho, um sistema


secreto no significa uma, mas sim um conjunto de muitas
transformaes. Aps a escolha da chave, apenas uma destas
transformaes usada e, devido a isto, pode-se ser
induzido a definir um sistema secreto como uma simples
transformao num idioma. O inimigo, entretanto, no sabe
qual foi a chave escolhida e as chaves que "podem ter sido"
so to importantes para ele quanto a efetivamente usada. Na
verdade, apenas a existncia destas outras possibilidades
que confere algum segredo ao sistema. Uma vez que o segredo
nosso interesse primrio, somos forados a ficar com o
conceito bastante elaborado para um sistema secreto definido
acima. Este tipo de situao, onde as possibilidades so to
importantes quanto as atualidades, ocorre frequentemente em
jogos de estratgia. O desenrolar de um jogo de xadrez
amplamente controlado por linhas que no so completadas. A
"existncia virtual" de imputaes no realizadas, da teoria
dos jogos, tambm guarda alguma semelhana.

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.

Existe uma srie de difceis questes epistemolgicas


associadas teoria do secretismo ou, na realidade, com
qualquer teoria que envolva questes de probabilidade
(particularmente probabilidades a priori, teorema de Baye,
etc.)
quando
aplicadas
a
situaes
fsicas.
Tratada
abstratamente, a teoria da probabilidade pode ser enquadrada
numa base lgica rigorosa atravs do enfoque da moderna

teoria das medidas 4 5. Entretanto, aplicadas a uma situao


fsica, especialmente quando esto envolvidas probabilidades
"subjetivas" e experimentos que no podem ser repetidos,
aparecem muitas questes de validade lgica. Por exemplo, no
enfoque de segredo aqui utilizado, as probabilidades a
priori de vrias chaves e mensagens so consideradas como
conhecidas
pelo
criptgrafo
inimigo
como
podemos
determinar
operacionalmente
se
suas
estimativas
esto
corretas, baseadas no seu conhecimento da situao?

Podemos construir situaes criptogrficas artificiais do


tipo "urn and die", nas quais as probabilidades a priori
possuem um significado definido no ambguo, e a idealizao
aqui usada certamente apropriada. Em outras situaes que
pudermos imaginar, por exemplo uma comunicao interceptada
entre marcianos invasores, as probabilidades a priori seriam
provavelmente to incertas que seriam desprovidas de
significado. A maioria das situaes criptogrficas prticas
ficam em algum ponto entre estes limites. Um criptanalista
poderia ficar tentado em classificar as mensagens possveis
em categorias como "razovel", "possvel porm pouco
provvel" e "absurdo", mas sente logo que esta subdiviso
mais detalhada no faz sentido.

Felizmente, em situaes prticas, apenas erros extremos nas


probabilidades a priori de chaves e mensagens causam erros
significantes nos parmetros importantes. Isto se deve ao
comportamento
exponencial
do
nmero
de
mensagens
e
criptogramas e s medidas logartmicas utilizadas.

1
Shannon,
C.
E.,
"A
Mathematical
Theory
Communication", Bell System Technical Journal, Julho
1948, p.379; Outubro de 1948, p.623.

of
de

3. Veja von Neumann e Morgenstern "The Theory of Games",


Princeton 1947.

4. Veja J. L. Doob, "Probability as Measure", Annals of


Math. Stat., v. 12, 1941, pp. 206-214.

5.
A.
Kolmogoroff,
"Grundbegriffe
der
Wahrscheinlichkeitsrechnung", Ergebnisse der Mathematic, v.
2, No. 3 (Berlim 1933).

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos


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.
As mensagens possveis so representadas por pontos esquerda e os possveis
criptogramas por pontos direita. Se uma determinada chave, digamos a chave 1,
transforma a mensagem M2 no criptograma E4, ento M2 e E4 so ligados por uma linha
identificada por 1, etc. De cada uma das mensagens possveis precisa haver exatamente
uma linha saindo para cada chave diferente. Se o mesmo verdadeiro para cada
criptograma, dizemos que o sistema fechado.
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 especificandose 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.

[] [Fig. 2 - Diagrama de linhas para sistemas simples]}

Fig. 4 - Sistema Puro

Traduo vov Vicki

Atualizao Qua, 17.06.2009 19:50

4. Alguns exemplos de sistemas


secretos

Criptografia Numaboa - Papers


Escrito por Shannon
Ter, 27.11.2007 09:22

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos


4. Alguns exemplos de sistemas secretos
Nesta seo sero dados alguns exemplos de cifras. Estas cifras sero citadas com frequncia

no restante deste texto com propsitos ilustrativos.

4.1 CIFRA DE SUBSTITUIO SIMPLES


Nesta cifra, cada letra da mensagem trocada por um substituto fixo, geralmente tambm
uma letra. Portanto, a mensagem

M = m1m2m3m4 ...
onde m1, m2, ... so letras sucessivas transforma-se em

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.

4.2 TRANSPOSIO (Perodo fixo d)


A mensagem dividida em grupos de comprimento d e a permutao aplicada ao primeiro
grupo, a mesma permutao ao segundo grupo, etc. A permutao a chave e pode ser
representada por uma permutao dos primeiros d inteiros. Portanto, para d = 5, poderemos
ter 2 3 1 5 4 como permutao. Isto significa que

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 ...
se transforma em

m2 m3 m1 m5 m4 m7 m8 m6 m10 m9 ...
Aplicaes sequenciais de duas ou mais transposies sero chamadas de transposies
compostas. Se os perodos so d1, d2, ..., dn, fica claro que o resultado uma transposio de
perodo d, onde d o mnimo mltiplo comum de d1, d2, ..., dn.

4.3 VIGENRE E VARIAES


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)
onde ki tem o perodo d no ndice i. Por exemplo, com a chave G A H obtemos
mensagem

N O W I S T H E ...

chave repetida G A H G A H G A ...


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)

A Beaufort de perodo um chamada de cifra de Csar reversa.


A aplicao de duas ou mais Vigenre em sequncia ser chamada de Vigenre composta.
Tem a equao

ei = mi + ki + li + ... + si (mod 26)


onde, em geral, ki , li , ..., si tm perodos diferentes. O perodo das suas somas,

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)
sendo o ki escolhido ao acaso e independentemente entre 0, 1, ..., 25. Se a chave for um
texto com sentido, temos a cifra de "chave corrida" ("running key").

4.4 SUBSTITUIO DIGRMICA, TRIGRMICA e N-GRMICA


Ao invs de substituir letras, pode-se substituir digramas, trigramas, etc. A substituio
digrmica genrica requer uma chave constituda pela permutao dos 262 digramas. Pode
ser representada por uma tabela na qual a linha corresponde primeira letra do digrama e a
coluna segunda letra, com as inscries na tabela sendo as substituies (usualmente
tambm digramas).

4.5 VIGENRE DE ALFABETO NICO DESORDENADO


uma substituio simples seguida de uma Vigenre.

ei = f(mi) + ki
mi = f -1(ei - ki)
O "inverso" deste sistema uma Vigenre seguida de uma substituio simples.

ei = g(mi + ki)
mi = g -1(ei) - ki
4.6 SISTEMA MATRICIAL 7
Um dos mtodos de substituio n-grmica operar em sucessivos n-gramas com uma
matriz que possua um inverso. Assume-se que as letras estejam numeradas de 0 a 25,
transformando-as em elementos de um anel algbrico. Do n-grama m1 m2 ... mn de
mensagem, a matriz aij d um n-grama de criptograma

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.

4.7 A CIFRA PLAYFAIR


Este um tipo particular de substituio digrmica dirigida por um alfabeto desordenado de
25 letras escrito num quadrado 5x5. (A letra J geralmente eliminada do trabalho

criptogrfico - pouco frequente e, quando ocorre, pode ser substituda pelo I.) Imagine que
o quadrado chave seja como o mostrado abaixo:
L

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 em RI, 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.

4.8 SUBSTITUIO COM MLTIPLOS ALFABETOS DESORDENADOS


Nesta cifra existe um conjunto de l substituies simples que so usadas em sequncia. Se o
perodo d for quatro ento m1 m2 m3 m4 m5 m6 ... se torna

f1(m1)f2(m2)f3(m3)f4(m4)f1(m5)f2(m6)...
4.9 A CIFRA DE AUTOCHAVE
Um sistema do tipo Vigenre, no qual a prpria mensagem ou o criptograma resultante
usado como "chave", chamado de cifra de autochave. A cifragem iniciada com uma
"chave preparatria" (a qual, a nosso ver, a chave inteira) e continuada com a mensagem
ou criptograma deslocado de acordo com o comprimento da chave preparatria como
indicado abaixo, onde a chave preparatria COMET.
A mensagem usada como "chave"
Mensagem

...

Chave

...

Criptograma U

...

O criptograma usado como "chave" :


Mensagem

...

Chave

...

Criptograma U

...

4.10 CIFRAS FRACIONADAS


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

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.
7. Veja L. S. Hill, "Cryptography in an Algebraic Alphabet", American Math. Monthly, v. 36,
No. 6, 1, 1929, pp. 306-312; tambm "Concerning Certain Linear Transformation Apparatus
of Cryptography", v. 38, No. 3, 1931, pp. 135-154.
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.

6. A lgebra de Sistemas
Secretos

Criptografia Numaboa - Papers


Escrito por Shannon
Ter, 27.11.2007 20:30

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos


6. A lgebra de Sistemas Secretos
Se tivermos dois sistemas secretos T e R, com frequncia podemos combin-los de vrios
modos para formar um novo sistema secreto S.
Se T e R possurem o mesmo domnio (espao de mensagem) podemos formar um tipo de
"adio ponderada",

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.
Se T consiste das transformaes T1 , ..., Tm com probabilidades p1 , ..., pm e R consiste de R1
, ..., Rk com probabilidades q1, ..., qk, ento S = pT + qR consiste respectivamente das
transformaes T1 , ..., Tm , R1 , ..., Rk com probabilidades pp1 , pp2 , ..., ppm , qq1 , qq2 , ...,
qqk.
Generalizando, podemos formar a soma de inmeros sistemas.

Notamos que qualquer sistema T pode ser escrito como a soma de operaes fixas

T = p1T1 + p2T2 + ... + pmTm


sendo Ti uma operao de cifragem definida de T, correspondendo escolha da chave i cuja
probabilidade pi.
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

Isto d uma operao resultante S que escrevemos como um produto

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
so escolhidas, e n chaves de R tm as probabilidades

p'1 p'2 ... p'n

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.
Alm disso, temos as leis

p(p'T + q'R) + qS = pp'T + pq'R + qS


(a lei da associao ponderada para a adio)

T(pR + qS) = pTR + qTS


(pR + qS)T = pRT + qST
(leis da distribuio direita e esquerda) e

p1T + p2T + p3R = (p1 + p2)T + p3R


Deveria ser enfatizado que estas operaes combinantes de adio e de multiplicao
aplicam-se aos sistemas secretos como um todo. O produto de dois sistemas TR no deve ser
confundido com o produto das transformaes nos sistemas TiRj, que tambm aparecem com
frequncia neste trabalho. O primeiro, TR, um sistema secreto, isto , um conjunto de
transformaes com probabilidades associadas; o ltimo uma transformao em particular.
Alm disso, a soma de dois sistemas pR + qT um sistema - a soma de duas
transformaes no est definida. Os sistemas T e R podem comutar sem a comutao
individual de Ti e Rj, isto , se R for um sistema Beaufort de perodo dado, com chaves
igualmente provveis, em geral

mas, claro que RR no depende da ordem; na verdade

RR = V
uma Vigenre de mesmo perodo com chave randmica. Por outro lado, se os elementos Ti e
Rj de dois sistemas T e R comutarem, 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
ser denominado de idempotente. Por exemplo, substituio simples, transposio de perodo
p, Vigenre de perodo p (todos com cada chave igualmente provvel) so idempotentes.
O conjunto de todos os sistemas secretos endomrficos definidos num espao de mensagem
fixo constitui uma "variedade algbrica", isto , um tipo de lgebra, usando as operaes de

adio e multiplicao. De fato, as propriedades da adio e da multiplicao que discutimos


podem ser resumidas da seguinte maneira:

O conjunto de cifras endomrficas com o mesmo espao de mensagem e as


duas operaes de combinao, a adio ponderada e a multiplicao,
formam uma lgebra associativa linear com um elemento unitrio,
independentemente do fato de que os coeficientes duma adio ponderada
precisarem ser no-negativos e a soma dos mesmos ser a unidade.
As operaes de combinao nos fornecem um meio de construir muitos tipos novos de
sistemas secretos partir de outros, como nos exemplos dados. Tambm podemos us-las
para descrever a situao que um criptanalista enfrenta quando tenta solucionar um
criptograma de tipo desconhecido. Na realidade, ele est solucionando um sistema secreto do
tipo
T = p1A + p2B + ... + prS + p'X

p=1

onde A, B, ..., S so tipos conhecidos de cifras, com suas pi probabilidades a priori nesta
situao, e onde p'X corresponde possibilidade de um tipo completamente novo e
desconhecido de cifra.

Traduo vov Vicki

7. Cifras puras e
mistas

Criptografia Numaboa - Papers


Escrito por Shannon
Qua, 28.11.2007 08:06

ndice do Artigo

7. Cifras puras e mistas

Teoremas 3 a 5

Todas as pginas
Pgina 1 de 2

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos


7. Cifras puras e mistas
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.
Isto pode ser contrastado com a cifra

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.
A causa da homogeneidade destes sistemas deriva da propriedade do grupo - notamos que,
nos exemplos acima de cifras homogneas, o produto TiTj de quaisquer duas transformaes
no conjunto igual a uma terceira transformao Tk no conjunto. Por outro lado, TiSj
simplesmente no se iguala a qualquer transformao na cifra

pS + qT
a qual contm apenas substituies e transposies, e no produtos.
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.

Fig. 2 - Diagrama de linhas para sistemas simples

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

Ti-1TjTk-1Tl = Ts-1TkTk-1Tl = Ts-1Tl


usando nossa suposio de que Ti-1Tj = Ts-1Tk para alguma s.
A operao Ti-1Tj significa, evidentemente, cifrar a mensagem com a chave j e depois decifrar
com a chave i, o que nos traz de volta ao espao de mensagem. Se T for endomrfica, isto ,
as prprias Ti transformam o espao M nele mesmo (como no caso da maioria das cifras
onde tanto o espao de mensagem quanto o espao de criptograma consistem de sequncias
de letras) e as Ti so um grupo e igualmente provveis, ento T pura, uma vez que

TiTj-1Tk = TiTr = Ts
TEOREMA 2
O produto de duas cifras puras que comutam puro.
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:

Fig. 4 - Sistema Puro

7. Cifras puras e mistas Pgina 2

Criptografia Numaboa - Papers


Escrito por Shannon
Qua, 28.11.2007 08:06

ndice do Artigo

7. Cifras puras e mistas

Teoremas 3 a 5

Todas as pginas
Pgina 2 de 2

TEOREMA 3
Num sistema puro as mensagens podem ser divididas num conjunto de
"classes residuais" C1, C2, ..., Cs e os criptogramas num conjunto de classes
residuais correspondente C'1, C'2, ..., C's com as seguintes propriedades:
(1) As classes residuais das mensagens so mutuamente exclusivas e

contm, coletivamente, todas as mensagens possveis. De forma similar para


as classes residuais dos criptogramas.
(2) A cifragem de qualquer mensagem em Ci, com qualquer chave, produz
um criptograma em C'i. A decifrao de qualquer criptograma em C'i, com
qualquer chave, leva a uma mensagem em Ci.
(3) O nmero de mensagens em Ci, digamos i, igual ao nmero de
criptogramas em C'i e um divisor de k o nmero de chaves.
(4) Cada mensagem em Ci pode ser cifrada em cada um dos criptogramas
em C'i por exatamente k/i chaves diferentes. De forma similar para a
decifrao.
A importncia do conceito de cifra pura (e a razo para o nome) reside no fato de que, na
cifra pura, todas as chaves so essencialmente as mesmas. Seja qual for a chave usada para
uma mensagem em particular, as probabilidades a posteriori de todas as mensagens so
iguais. Para ver isto, note que duas chaves diferentes aplicadas mesma mensagem levam a
dois criptogramas na mesma classe residual, digamos C'i. Por isso, os dois criptogramas
poderiam, cada um, serem decifrados por k/i chaves em cada mensagem de Ci e em
nenhuma outra mensagem. Sendo todas as chaves igualmente provveis, as probabilidades a
posteriori de vrias mensagens so portanto
PE(M) = P(M)PM(E) / P(E) = P(M)PM(E) / MP(M)PM(E) = P(M) / P(Ci)
onde M est em Ci, E est em C'i e a soma sobre todas as mensagens em Ci. Se E e M no
estiverem em classes residuais correspondentes, PE(M) = 0.
Pode ser mostrado de forma anloga que as probabilidades a posteriori das diferentes chaves
so as mesmas em valor, porm estes valores esto associados a chaves diferentes quando
uma chave diferente usada. O mesmo conjunto de valores de PE(K) foi submetido a uma
permutao entre as chaves. Portanto temos como resultado o quarto teorema.

TEOREMA 4
Num sistema puro, as probabilidades a posteriori de vrias mensagens PE(M)
so independentes da chave escolhidas. As probabilidades a posteriori das
chaves PE(K) so as mesmas em valor porm so submetidas a uma
permutao com uma escolha de chave diferente.
A grosso modo podemos dizer que, numa cifra pura, qualquer escolha de chave leva ao
mesmo problema criptanaltico. Uma vez que as diferentes chaves resultam em criptogramas
da mesma classe residual, isto significa que todos os criptogramas da mesma classe residual
so criptanaliticamente equivalentes - eles levam s mesmas probabilidades a posteriori de
mensagens e, independentemente de uma permutao, s mesmas probabilidade de chaves.
Como um exemplo disso, a substituio simples com todas as chaves igualmente provveis
uma cifra pura. A classe residual correpondente de um dado criptograma E o conjunto de
todos os criptogramas que podem ser obtidos de E por operaes TiTk-1E. Neste caso, TiTk-1
ela prpria uma substituio e, consequentemente, qualquer substituio em E resulta num
outro membro da mesma classe residual. Desta forma, se o criptograma for
E=XCPPGCFQ
ento
E1 = R D H H G D S N

E2 = A B C C D B E F
etc esto na mesma classe residual. bvio neste caso que estes criptogramas so
essencialmente equivalentes. Tudo que de importncia numa substituio simples com
chave randmica o padro das repeties de letras, sendo as prprias letras variveis sem
importncia (dummy variables). Na verdade podemos dispens-las totalmente, indicando o
padro das repeties em E como a seguir:

Esta notao descreve a classe residual porm elimina toda informao do membro especfico
da classe. Desta forma, deixa precisamente apenas a informao que criptanaliticamente
pertinente. Isto est relacionado a um mtodo de ataque a cifras de substituio simples - o
mtodo das palavras padro.
Na cifra do tipo Csar, apenas as primeiras diferenas mod 26 do criptograma so
significantes. Dois criptogramas com o mesmo ei esto na mesma classe residual. Quebrase esta cifra pelo processo simples de anotar os 26 membros da classe residual da mensagem
e de escolher aquela que faz sentido.
A Vigenre de perodo d com chave randmica um outro exemplo de cifra pura. Aqui a
classe residual da mensagem consiste de todas as sequncias com a mesmas primeiras
diferenas como criptograma, para letras separadas pela distncia d. Para d = 3 a classe
residual definida por:
m1 -- m4 = c1 -- c4
m2 -- m5 = c2 -- c5
m3 -- m6 = c3 -- c6
m4 -- m7 = c4 -- c7
onde E = e1 , e2 , ... o criptograma e m1 , m2 , ... qualquer M na classe residual
correspondente.
Na cifra de transposio de perodo d com chave randmica, a classe residual consiste de
todos os arranjos dos ei nos quais nenhum ei retirado do seu bloco de comprimento d e
quaisquer dois ei numa distncia d permanecem nesta distncia. Isto usado para quebrar
estas cifras da seguinte maneira: O criptograma escrito em blocos sucessivos de
comprimento d, um abaixo do outro como mostrado abaixo (d = 5):
e1

e2

e3 e4 e5

e6

e7

e8 e9 e10

e11

e12 .

As colunas so ento separadas e rearranjadas para fazer um texto com sentido. Quando as
colunas so separadas, a nica informao que sobra a classe residual do criptograma.

TEOREMA 5
Se T pura ento TiTj-1T = T, onde TiTj so quaisquer duas transformaes
de T. Inversamente, se isto for verdadeiro para qualquer TiTj num sistema T,
ento T pura.
A primeira parte deste teorema bvia pela definio de um sistema puro. Para provar a
segunda parte, notamos primeiramente que, se TiTj-1T = T, ento TiTj-1Ts uma

transformao de T. Resta mostrar que todas as chaves so equiprovveis.


Ns temos T = spsTs e
spsTiTj-1Ts = spsTs
O termo esquerda somado a s = j produz pjTi. O nico termo em Ti, direita, piTi. Uma
vez que todos os coeficientes so no-negativos, a consequncia
pj < pi
O mesmo argumento vlido com i e j trocados e consequentemente
pj = pi
e T puro. Portanto, a condio que TiTj-1T = T pode ser usada como uma definio
alternativa de um sistema puro.

8. Sistemas
semelhantes

Criptografia Numaboa - Papers


Escrito por Shannon
Qua, 28.11.2007 08:34

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos


8. Sistemas semelhantes
Dois sistemas secretos R e S sero considerados semelhantes se existir uma transformao A
que tenha um inverso A-1 de modo que

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.
A importncia criptogrfica da semelhana que, se R~S, ento R e S so equivalentes sob o
ponto de vista criptoanaltico. Na verdade, se um criptoanalista interceptar um criptograma
do sistema S, ele pode transform-lo em um do sistema R simplesmente aplicando a
transformao A. Um criptograma do sistema R transformado para um do S aplicando-se A 1
. Se R e S forem aplicados ao mesmo idioma ou espao de mensagem, ento h uma
correspondncia de um-para-um entre os criptogramas resultantes. Criptogramas

correspondentes do a mesma distribuio de probabilidades a posteriori para todas as


mensagens.
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 autochave com uma srie d de A's para a chave preparatria.

Traduo vov Vicki

Atualizao Ter, 03.06.2008 16:03

9. Secretismo Terico Introduo

Criptografia Numaboa - Papers


Escrito por Shannon
Qua, 28.11.2007 09:27

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte II - Secretismo Terico


9. Introduo
Agora vamos considerar os problemas relacionados ao "segredo terico" de um sistema. Qual
a imunidade de um sistema criptoanlise quando o criptoanalista tem tempo e fora de
trabalho ilimitados para analisar criptogramas?
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.

Traduo vov Vicki

10. Segredo
Perfeito

Criptografia Numaboa - Papers


Escrito por Shannon
Qua, 28.11.2007 11:13

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte II - Secretismo Terico


10. Segredo Perfeito
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
O criptoanalista intercepta um determinado E e pode calcular, pelo menos em princpio, as
probabilidades a posteriori para as vrias mensagens PE(M). natural definir o secretismo
perfeito pela condio de que, para todos E, as probabilidades a posteriori so iguais s
probabilidades a priori, independentemente dos seus valores. Neste caso a interceptao da
mensagem no deu qualquer informao ao criptoanalista 9. Qualquer ao do criptoanalista
que dependa da informao contida neste criptograma no pode ser alterada porque todas as
probabilidades do que o criptograma contm permanecem inalteradas. Por outro lado, se a
condio no satisfeita, existiro situaes em que o inimigo possui certas probabilidades a
priori e podero ocorrer certas escolhas de chave e de mensagem nas quais ocorrero
alteraes nas probabilidades do inimigo. Isto, por sua vez, pode afetar suas aes e,
consequentemente, o segredo perfeito no foi obtido. Por esta razo a definio dada
necessariamente requerida por nossas idias intuitivas do que um secretismo perfeito deve
significar.
Uma condio necessria e suficiente para um secretismo perfeito pode ser encontrada como
a seguir: Temos o teorema de Bayes

PE(M) = P(M) PM(E) / P(E)


onde
P(M) = probabilidade a priori da mensagem M.
PM(E) = probabilidade condicional do criptograma E se a mensagem M for escolhida, isto , a
soma de todas as probabilidades de todas as chaves que produzem o criptograma E da
mensagem M.
P(E) = probabilidade de obter o criptograma E de qualquer origem.
PE(M) = probabilidade a posteriori da mensagem M se o criptograma E for interceptado.
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)
e temos o segredo perfeito. Portanto, temos o resultado:

TEOREMA 6
Uma condio necessria e suficiente para o secretismo perfeito que PM(E)
= P(E) para todas M e E. Isto , PM(E) precisa ser independente de M.
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.

Fig. 5 - Secretismo perfeito

Agora precisam existir tantos E quantas forem M porque, para um i fixo, 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 P E(M) = 1/n = P(E) e que temos um
secretismo perfeito. Um exemplo mostrado na Fig. 5 com s = i+j - 1 (Mod 5).
Sistemas perfeitos, nos quais o nmero de criptogramas, o nmero de mensagens e o
nmero de chaves so todos iguais, so caracterizados por propriedades que (1) cada M est
conectada a cada E exatamente por uma linha e (2) todas as chaves so igualmente
provveis. Portanto, a representao matricial do sistema um "Quadrado Latino".
Na MTC foi mostrado que a informao pode ser convenientemente medida atravs da
entropia. Se temos um conjunto de possibilidades com probabilidades p1, p2, ..., pn, a
entropia H dada por:

H = - pi log pi
Num sistema secreto existem duas escolhas estatsticas envolvidas, a da mensagem e a da
chave. Medimos a quantidade de informao produzida quano uma mensagem escolhida
por H(M):

H(M) = - P(M) log P(M)


sendo a soma referente a todas as mensagens possveis. Analogamente existe uma incerteza
associada escolha da chave dada por:

H(K) = - P(K) log P(K)


Em sistemas perfeitos do tipo descrito acima, a quantidade de informao na mensagem no
mximo log n (ocorrendo quando todas as mensagens so equiprovveis). Esta informao
pode ser completamente escondida somente se a incerteza da chave for no mnimo log n.
Este o primeiro exemplo de um princpio geral que vai aparecer com frequncia: no existe
um limite para o que pode ser obtido com uma certa incerteza na chave - a quantidade de
incerteza que podemos introduzir na soluo no pode ser maior do que a incerteza da chave.
A situao um pouco mais complicada se o nmero de mensagens for infinito. Suponha, por
exemplo, que elas so geradas como sequncias infinitas de letras atravs de um processo
Markoff adequado. Fica claro que nenhuma chave finita dar um secretismo perfeito.
Supomos, ento, que a fonte da chave gere uma chave do mesmo modo, ou seja, como uma
sequncia infinita de smbolos. Suponha, tambm, que apenas um certo comprimento de
chave LK seja necessrio para cifrar e decifrar um comprimento L M de mensagem. Deixe que o
logaritmo do nmero de letras no alfabeto da mensagem seja RM e que o alfabeto da chave
seja RK. Ento, no caso finito, fica evidente que o segredo perfeito exige

RM LM < RK LK
Este tipo de secretismo perfeito realizado pelo sistema Vernam.
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/R M, 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/R M 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
A desvantagem de sistemas perfeitos para grandes sistemas de correspondncia ,
naturalmente, o volume equivalente de chave que precisa ser enviado. Nas sees
subsequentes vamos analisar o que pode ser obtido com tamanhos menores de chave, em
particular com chaves finitas.

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

Criptografia Numaboa - Papers


Escrito por Shannon
Qui, 29.11.2007 16:52

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte II - Secretismo Terico


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
5
C R E A S
D S F B T
E T G C U
F U H D V
G V I E W
H W J F X
I X K G Y
J Y L H Z
K Z M I A
L A N J B
M B O K C
N C P L D
O D Q M E
P E R N F
Q F S O G
R G T P H
S H U Q I
T I V R J

N = 1

N = 2

N = 3

N = 4

N =

.028
.038
.131
.029
.020
.053
.063
.001
.004
.034
.025
.071
.080
.020
.001
.068
.061
.105

.0377
.0314
.0881
.0189

.1111

.3673

.0063
.0126

.1321
.0222
.1195
.0377
.0818
.0126
.0881
.2830

.2500

.4389

.0056
.1667

.6327

U J W S K
.025
V K X T L
.009
W L Y U M
.015
X M Z V N
.002
Y N A W O
.020
Z O B X P
.001
A P C Y Q
.082
B Q D Z R
.014
H(dgitos decimais) 1.2425

.0056

.0503
.9686

.6034

.285

Tabela 1 - Probabilidades a posteriori para criptogramas do tipo Csar

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.
Frequncias de trigramas tambm foram tabuladas e so mostradas na coluna N = 3. As
probabilidades de quatro e cinco letras sequenciais foram obtidas pela multiplicao das
frequncias de trigramas porque, a grosso modo,

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.
O conjunto de probabilidades a posteriori descreve como o conhecimento do criptoanalista
sobre a mensagem e sobre a chave gradualmente se torna mais preciso medida que mais
material cifrado obtido. Esta descrio, no entanto, muito elaborada e difcil de obter para
nossos propsitos. O desejado uma descrio simplificada desta aproximao de uma
soluo possvel nica.
Uma situao parecida ocorre na teoria da comunicao quando um sinal transmitido
perturbado por rudo. necessrio criar uma medida adequada de incerteza do que
realmente foi transmitido conhecendo apenas a verso perturbada dada pelo sinal recebido.
Na MTCa foi mostrado que uma medida matemtica natural desta incerteza a entropia
condicional do sinal transmitido quando o sinal recebido conhecido. Esta entropia
condicional foi chamada, por convenincia, de equivocao.
Do ponto de vista do criptoanalista, um sistema secreto praticamente idntico a um sistema
de comunicao com rudo. A mensagem (sinal transmitido) tratada por um elemento
estatstico, o sistema cifrante, com sua chave escolhida estatisticamente. O resultado desta
operao o criptograma (anlogo a um sinal perturbado) que fica disponvel para ser
analisado. As maiores diferenas nestes dois casos so: primeiro, que a operao da
transformao cifrante geralmente tem uma natureza mais complexa do que um rudo
perturbador num canal; e, em segundo lugar, a chave do sistema secreto usualmente
escolhida de um conjunto finito de possibilidades enquanto que o rudo num canal geralmente
introduzido continuamente e, na verdade, escolhido de um conjunto infinito.

Com estas consideraes em mente, natural usar a equivocao como um ndice de


secretismo terico. Deve ser observado que existem duas equivocaes importantes, a da
chave e a da mensagem. Estas sero expressas por HE(K) e HE(M) respectivamente. Elas so
dadas por:

HE(K) = E,K P(E,K) log PE(K)


HE(M) = E,K P(E,M) log PE(K)
onde E, M e K so o criptograma, a mensagem e a chave e
P(E,K) a probabilidade da chave K e do criptograma E.
PE(K) a probabilidade a posteriori da chave K se o criptograma E for interceptado.
P(E,M) e PE(M) so as probabilidades similares para a mensagem ao invs da chave.
A soma em HE(K) refere-se a todos os criptogramas possveis de determinado comprimento
(digamos N letras) e a todas as chaves. Para HE(M), a soma de todas as mensagens e
criptogramas de comprimento N. Portanto, HE(K) e HE(M) so funes de N, o nmero de
letras interceptadas. Algumas vezes, isto ser indicado explicitamente escrevendo-se H E(K,N)
e HE(M,N). Note que estas so equivocaes "totais", isto , no as dividimos por N para
obter a taxa de equivocao que foi usada na MTC.
Os mesmos argumentos gerais usados para justificar a equivocao como medida de
incerteza na teoria da comunicao tambm podem ser aplicados aqui. Notamos que uma
equivocao zero requer que uma mensagem (ou chave) tenha uma probabilidade unitria,
diferente de zero, que corresponde a um conhecimento completo. Considerada como uma
funo de N, a diminuio gradual da equivocao corresponde a um aumento do
conhecimento da mensagem ou da chave original. As duas curvas de equivocao plotadas
como funes de N sero denominadas de caractersticas de equivocao do sistema secreto
em questo.
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.

12. Propriedades da
Equivocao

Criptografia Numaboa - Papers


Escrito por Shannon
Sex, 30.11.2007 07:22

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte II - Secretismo Terico


12. Propriedades da Equivocao
A equivocao possui vrias propriedades interessantes, a maioria das quais se encaixa na
nossa figura intuitiva de como um valor deste tipo deveria se comportar. Primeiro vamos
mostrar que a equivocao da chave ou de uma parte fixa da mensagem diminui quando
mais material cifrado interceptado.

TEOREMA 7
A equivocao da chave HE(K,N) uma funo no-incrementativa de N. A
equivocao das primeiras A letras da mensagem uma funo noincrementativa do nmero N que foi interceptado. Se N letras foram
interceptadas, a equivocao das primeiras N letras da mensagem menor
ou igual da chave. Isto pode ser escrito:
HE(K, S) < HE(K,N) S>N
HE(M, S) < HE(M,N) S>N (H para A primeiras letras de texto)
HE(M,N) < H E(K,N)
A qualificao relativa a A letras no segundo resultado do teorema tal de modo que a
equivocao ser calculada de acordo com a quantidade de mensagem que foi interceptada.
Se for, a equivocao da mensagem (isto usualmente ocorre) aumenta por um tempo devido
meramente ao fato de que mais letras fornecem um espao possvel maior de mensagens. Os
resultados do teorema so o que se poderia esperar de um bom ndice de segredo porque
dificilmente esperamos estar numa situao pior depois de interceptar material adicional. O
fato de poderem ser provados uma justificativa adicional para se usar a medida da
equivocao.
Os resultados deste teorema so uma consequncia de certas propriedades da entropia
condicional provada na MTC. Portanto, para demonstrar a primeira ou a segunda declarao
do Teorema 7, temos para qualquer chance os eventos A e B

H(B)> HA(B)
Se identificarmos B com a chave (conhecendo as primeiras S letras do criptograma) e A com
as N - S letras restantes, obtemos o primeiro resultado. De forma semelhante, identificando B
com a mensagem d o segundo resultado. O ltimo resultado deriva de

HE(M)<HE(K,M) = HE(K)+HE,K(M)
e do fato de que HE,K(M) = 0 uma vez que K e E determinam uma M nica.
Como a mensagem e a chave so escolhidas de forma independente, temos:

H(M,K) = H(M) + H(K)

Alm disto

H(M,K) = H(E,K) = H(E) + HE(K)


sendo a primeira igualdade resultante do fato de que o conhecimento de M e K ou de E e K
equivalente ao conhecimento de todos os trs. Combinando os dois obtemos a frmula para a
equivocao da chave:

HE(K) = H(M) + H(K) - H(E)


Em particular, se H(M) = H(E) ento a equivocao da chave, H E(K), igual incerteza a
priori da chave, H(K). Isto ocorre em sistemas perfeitos descritos acima.
A frmula para a equivocao da mensagem pode ser encontrada de forma parecida. Temos

H(M,E) = H(E) + HE(M) = H(M) + HM(E)


HE(M) = H(M) + HM(E) - H(E)
Se temos um sistema de produto S = TR, de se esperar que o segundo processo de
cifragem diminuir a equivocao da mensagem. Que isto realmente verdade pode ser
demonstrado como a seguir: Deixe M, E1, E2 serem a mensagem e a primeira e segunda
cifragens respectivamente. Ento

PE1E2(M) = PE1(M)
Consequentemente

HE1E2(M) = HE1(M)
Como, para quaisquer variveis de chance x, y, z, Hxy(z)<Hy(z), temos o resultado desejado,
HE2(M) > HE1(M).

TEOREMA 8
A equivocao de uma mensagem em um sistema de produto S = TR no
menor do que quando R usado.
Suponha agora que temos um sistema T que pode ser expresso como uma soma ponderada
de vrios sistemas R, S, ..., U

T = p1R + p2S + ... + pmU

pi = 1

e que os sistemas R, S, ..., U tm equivocaes H1, H2, H3, ..., Hm.

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,

HA(B) < H(B) < H(A) + HA(B)


Identificamos A com um determinado sistema que esteja sendo usado e B com a chave ou a
mensagem.
Existe um teorema semelhante para as
identificamos A com um determinado idioma.

somas

ponderadas

de

linguagens.

Neste,

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.
A redundncia total DN para N letras da mensagem definida por

DN = log G - H(M)
onde G o nmero total de mensagens de comprimento N e H(M) a incerteza de escolher
uma delas. Em sistemas de secretismo onde o nmero total de criptogramas possveis igual
ao nmero de mensagens possveis de comprimento N, H(E) < log G. Consequentemente,

HE(K) < H(K) + H(M) - H(E)


> H(K) - [ log G - H(M)]
portanto

H(K) - HE(K) < DN


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:

P(E) = P(Ci) / i

onde E um membro de Ci

onde i o nmero de diferentes mensagens em Ci. Portanto, temos

H(E) = - i i ( P(Ci) / i ) log ( P(Ci) / i )


H(E) = - i P(Ci) log ( P(Ci) / i )
Substituindo na nossa equao HE(K) obtemos:

TEOREMA 11

Para uma cifra pura


HE(K) = H(K) + H(M) + i P(Ci) log ( P(Ci) / i )
Este resultado pode ser usado para calcular HE(K) em certos casos de interesse.

Traduo vov Vicki

Atualizao Ter, 03.06.2008 16:08

13. Equivocao para Substituio


Simples

Criptografia Numaboa - Papers


Escrito por Shannon
Sb, 08.12.2007 18:12

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte II - Secretismo Terico


13. Equivocao para Substituio Simples numa Linguagem de Duas
Letras
Agora vamos calcular a equivocao na chave ou mensagem quando uma substituio
simples aplicada a uma linguagem de duas letras, com probabilidades p e q para 0 e 1, e
com letras sucessivas escolhidas independentemente.
Temos:

HE(M) = HE(K) = - P(E) PE(K) log PE(K)


A probabilidade de que E contenha exatamente s zeros numa permutao em particular :

1/2(psqN-s + qspN-s)
e as probabilidades a posteriori da identidade e das substituies invertidas (apenas as duas
no sistema) so, respectivamente:

Existem

termos para cada s, portanto

Fig. 6 - Equivocao para Substituio Simples numa Linguagem de Duas Letras

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.

Traduo vov Vicki

Atualizao Qua, 17.06.2009 19:44

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

1. Introduo e Sumrio
Os problemas da criptografia e dos sistemas secretos proporcionam uma aplicao
interessante da teoria da comunicao 1. Neste ensaio desenvolvida uma teoria dos
sistemas secretos. A abordagem em nvel terico e sua pretenso a de complementar o
tratamento encontrado em trabalhos padro de criptografia 2 nos quais feito um estudo
detalhado dos muitos tipos padro de cdigos e cifras e das formas de quebr-los. Ns
daremos uma ateno maior estrutura matemtica geral e s propriedades dos sistemas
secretos.
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 falso criptograma 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.
Em segundo lugar, o tratamento limitado a casos de informao discreta, onde a
mensagem que deve ser cifrada consiste numa sequncia de smbolos discretos escolhidos
de um conjunto finito. Estes smbolos podem ser letras de um idioma, palavras de uma
lngua, nveis de amplitude de uma fala ou sinais de vdeo "quantizados", etc, porm a
nfase e a preocupao maior foi com o caso das letras.
O ensaio divido em trs partes. Os principais resultados sero resumidos a seguir. A
primeira parte lida com a estrutura matemtica bsica dos sistemas secretos. Assim como na
teoria da comunicao, um idioma considerado como sendo representado por um processo
estocstico que produz uma sequncia discreta de smbolos de acordo com algum sistema de
probabilidades. Associado ao idioma, h um certo parmetro D, o qual denominaremos
redundncia da linguagem. D mede, de alguma forma, quanto o comprimento de um texto,
neste idioma, pode ser reduzido sem perder qualquer informao. Como um exemplo
simples, uma vez que U sempre segue o Q em palavras em ingls, o U pode ser omitido sem
perdas. Redues considerveis so possveis em ingls devido estrutura estatstica da
lngua, a alta frequncia de certas letras ou palavras, etc. A redundncia tem uma
importncia central no estudo dos sistemas secretos.
Um sistema secreto definido abstratamente como sendo um conjunto de transformaes
de um espao (o conjunto das mensagens possveis) em um segundo espao (o conjunto dos
criptogramas possveis). Cada determinada transformao do conjunto corresponde a uma
cifragem com uma determinada chave. Espera-se que as transformaes sejam reversveis
(no-singulares), de modo que uma decifrao nica seja possvel quando a chave
conhecida.
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.
Se o inimigo intercepta o criptograma, ele pode calcular a partir dele as probabilidades a
posteriori das vrias mensagens e chaves possveis que possam ter produzido o criptograma.
Este conjunto de probabilidades a posteriori constituem seu conhecimento sobre a chave e a
mensagem aps a interceptao. Portanto, o "conhecimento" identificado pelo conjunto de
proposies associadas s suas probabilidades. O clculo das probabilidades a posteriori o
problema genrico da criptanlise.
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.
Se o inimigo intercepta N letras de criptogramas neste sistema, suas probabilidades mudam.
Se N for grande o suficiente (digamos 50 letras), geralmente existe a probabilidade a
posteriori prxima de um de ser uma mensagem, enquanto que todas as outras tm a
probabilidade total prximas de zero. Portanto, existe uma "soluo" essencialmente nica
para o criptograma. Para um N menor (digamos N = 15), usualmente existiro muitas
mensagens e chaves com probabilidade comparvel, com nenhuma nica prxima a um.
Neste caso, existem "solues" mltiplas para o criptograma.
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.
A segunda operao de combinao a "adio ponderada".

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
tambm uma transformao no conjunto. Isto , cifragem, decifrao e cifragem com
quaisquer trs chaves precisam ser equivalentes cifragem com alguma chave.

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
Se R e S so semelhantes, pode-se obter uma correspondncia um-para-um entre os
criptogramas resultantes, levando s mesmas probabilidades a posteriori. Os dois sistemas
so criptanaliticamente idnticos.
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.
O "segredo perfeito" definido como a exigncia de que um sistema, aps a interceptao
de um criptograma representando vrias mensagens, possua exatamente as mesmas
probabilidades a priori das mesmas mensagens antes da interceptao. Foi demonstrado que
o segredo perfeito possvel porm, se o nmero de mensagens for finito, requer o mesmo
nmero de chaves possveis. Se a mensagem for gerada constantemente numa determinada
"taxa" (a ser definida posteriormente), a chave precisa ser gerada a uma taxa igual ou
maior.
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.

1 - Shannon, C. E., "A Mathematical Theory of Communication", Bell System Technical


Journal, Julho de 1948, p.379; Outubro de 1948, p.623.
2 - Veja, por exemplo, H. F. Gaines, "Elementary Cryptanalysis", ou M. Givierge, "Cours de
Cryptographie".
* - A palavra "inimigo", originria de aplicaes militares, comumente usada no trabalho
criptogrfico para denominar qualquer pessoa que possa interceptar um criptograma.

2. Sistemas
Secretos

Criptografia Numaboa - Papers


Escrito por Shannon
Seg, 26.11.2007 20:44

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos

2. Sistemas Secretos

Como primeiro passo na anlise matemtica da criptogafia

onde a transformao Ti, aplicada mensagem M, produz o


criptograma E. O ndice i corresponde chave particular que
est sendo usada.

Genericamente, iremos assumir que h apenas um nmero finito


de chaves possveis e que cada uma possua uma probabilidade
pi associada. Portanto, a fonte da chave representada por
um processo estatstico ou dispositivo que escolhe uma das
transformaes do conjunto de transformaes T1, T2, ..., Tm
com as respectivas probabilidades p1, p2, ..., pm. De forma
anloga, iremos assumir genericamente um nmero finito de
mensagens
possveis
M1,
M2,
...,
Mn
associadas
s
probabilidades a priori q1, q2, ..., qn. As mensagens
possveis, por exemplo, podem ser as sequncias de letras
possveis no ingls, todas de comprimento N, e as
probabilidades associadas so ento relativas s frequncias
de ocorrncia destas sequncias num texto normal em ingls.

Na extremidade receptora preciso poder recuperar M


conhecendo-se E e K. Portanto, as transformaes Ti da
famlia precisam possuir inversos nicos Ti-1 de modo que TiTi1
= I, a transformao de identidade. Portanto

M = Ti-1E

Em todos os casos, este inverso precisa existir e ser nico


para cada E, o qual pode ser obtido de uma M com chave i.
Portanto, chegamos definio:

Um sistema secreto uma famlia de transformaes Ti, reversveis e nicas,


de um conjunto de mensagens possveis em um conjunto de criptogramas,
tendo a transformao Ti uma probabilidade pi associada.

Reciprocamente, qualquer conjunto de entidades deste tipo


ser chamado de "sistema secreto". Por convenincia, o
conjunto das mensagens possveis ser chamado de "espao de
mensagens" e o conjunto de criptogramas possveis de "espao
de criptogramas".

Dois sistemas secretos sero iguais se forem constitudos


pelo mesmo conjunto de transformaes Ti, com o mesmo espao
de mensagens e criptogramas (extenso e domnio) e a mesma
probabilidade para as chaves.

Um sistema secreto pode ser visualizado mecanicamente como


uma mquina que possua um ou mais controles. Uma sequncia
de letras, a mensagem, alimenta a entrada da mquina e uma
segunda
srie
emerge
na
sada.
A
uma
determinada
configurao dos controles corresponde uma determinada chave
que est sendo usada. Alguns mtodos estatsticos precisam
ser estabelecidos para a escolha de uma chave dentre todas
as possveis.

Para tornar o problema matematicamente tratvel, devemos


assumir que o inimigo conhece o sistema que est sendo
usado, isto , ele conhece a famlia de transformaes Ti e
as probabilidades de escolha das vrias chaves. Pode ser que
esta premissa seja refutada com o argumento de que esteja
fora da realidade porque, com frequncia, o criptanalista
no conhece o sistema usado ou desconhece as probabilidades
em questo. Existem duas respostas para esta objeo:

1. A

restrio muito mais fraca do que parece


inicialmente devido nossa definio ampla do que um
sistema secreto. Imagine que um criptgrafo intercepte
uma mensagem e que no saiba se foi usada uma
substituio por transposio ou uma cifra de Vigenre.
Ele pode considerar a mensagem como tendo sido cifrada
por um sistema no qual parte da chave seja a
especificao de qual dos dois tipos foi usado e a
parte seguinte como sendo a chave especfica para este
tipo. Estas trs possibilidades diferentes possuem
probabilidades associadas de acordo com as melhores
estimativas das probabilidades a priori do cifrador,
usando os respectivos tipos de cifras.

2.

3. A

premissa a que atualmente comumente usada em


estudos criptogrficos. pessimista e portanto segura,
mas, a longo prazo, realista, uma vez que a expectativa
de que nosso sistema pode ser eventualmente
descoberto. Portanto, mesmo quando um sistema
inteiramente novo inventado, de modo que o inimigo
no possa atribuir-lhe nenhuma probabilidade a priori
antes de desvend-lo, ainda assim preciso conviver
com a expectativa do seu eventual conhecimento.

4.

A situao parecida com a que ocorre na teoria dos jogos 3,


onde se assume que o oponente "descobre" a estratgia de
jogo que est sendo usada. Em ambos os casos, a premissa
serve para delinear nitidamente o conhecimento do oponente.

Uma segunda objeo possvel nossa definio de sistemas


secretos que ela no leva em conta a prtica comum da
insero de nulos em uma mensagem e o uso de substitutos
mltiplos. Nestes casos no existe um criptograma nico para
uma dada mensagem e chave - o cifrador pode escolher
vontade dentre vrios criptogramas diferentes. A situao
poderia
ser
tratada,
porm
iria
apenas
adicionar
complexidade
ao
presente
estgio
sem
alterar
substancialmente qualquer dos resultados bsicos.

Se as mensagens forem produzidas por um processo de Markoff


do tipo descrito em (1) para representar uma fonte de
informao, as probabilidades das vrias mensagens so
determinadas pela estrutura do processo de Markoff. No
momento, entretanto, queremos ter uma viso mais geral da
situao e considerar as mensagens meramente como um
conjunto
abstrato
de
entidades
com
probabilidades
associadas, no necessariamente compostas por uma sequncia
de letras e no necessariamente produzidas por um processo
de Markoff.

Deve ser destacado que, em todo este trabalho, um sistema


secreto no significa uma, mas sim um conjunto de muitas
transformaes. Aps a escolha da chave, apenas uma destas
transformaes usada e, devido a isto, pode-se ser
induzido a definir um sistema secreto como uma simples
transformao num idioma. O inimigo, entretanto, no sabe
qual foi a chave escolhida e as chaves que "podem ter sido"
so to importantes para ele quanto a efetivamente usada. Na
verdade, apenas a existncia destas outras possibilidades
que confere algum segredo ao sistema. Uma vez que o segredo
nosso interesse primrio, somos forados a ficar com o
conceito bastante elaborado para um sistema secreto definido
acima. Este tipo de situao, onde as possibilidades so to
importantes quanto as atualidades, ocorre frequentemente em
jogos de estratgia. O desenrolar de um jogo de xadrez
amplamente controlado por linhas que no so completadas. A
"existncia virtual" de imputaes no realizadas, da teoria
dos jogos, tambm guarda alguma semelhana.

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.

Existe uma srie de difceis questes epistemolgicas


associadas teoria do secretismo ou, na realidade, com
qualquer teoria que envolva questes de probabilidade
(particularmente probabilidades a priori, teorema de Baye,
etc.)
quando
aplicadas
a
situaes
fsicas.
Tratada
abstratamente, a teoria da probabilidade pode ser enquadrada
numa base lgica rigorosa atravs do enfoque da moderna
teoria das medidas 4 5. Entretanto, aplicadas a uma situao
fsica, especialmente quando esto envolvidas probabilidades
"subjetivas" e experimentos que no podem ser repetidos,
aparecem muitas questes de validade lgica. Por exemplo, no
enfoque de segredo aqui utilizado, as probabilidades a
priori de vrias chaves e mensagens so consideradas como
conhecidas
pelo
criptgrafo
inimigo
como
podemos
determinar
operacionalmente
se
suas
estimativas
esto
corretas, baseadas no seu conhecimento da situao?

Podemos construir situaes criptogrficas artificiais do


tipo "urn and die", nas quais as probabilidades a priori
possuem um significado definido no ambguo, e a idealizao
aqui usada certamente apropriada. Em outras situaes que
pudermos imaginar, por exemplo uma comunicao interceptada
entre marcianos invasores, as probabilidades a priori seriam
provavelmente to incertas que seriam desprovidas de
significado. A maioria das situaes criptogrficas prticas
ficam em algum ponto entre estes limites. Um criptanalista
poderia ficar tentado em classificar as mensagens possveis
em categorias como "razovel", "possvel porm pouco
provvel" e "absurdo", mas sente logo que esta subdiviso
mais detalhada no faz sentido.

Felizmente, em situaes prticas, apenas erros extremos nas


probabilidades a priori de chaves e mensagens causam erros
significantes nos parmetros importantes. Isto se deve ao
comportamento
exponencial
do
nmero
de
mensagens
e
criptogramas e s medidas logartmicas utilizadas.

3. Representao de
Sistemas

Criptografia Numaboa - Papers


Escrito por Shannon
Seg, 26.11.2007 21:35

Teoria da Comunicao de Sistemas Secretos


C. E. Shannon

Parte 1 - Estrutura Matemtica de Sistemas Secretos


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.
As mensagens possveis so representadas por pontos esquerda e os possveis
criptogramas por pontos direita. Se uma determinada chave, digamos a chave 1,

transforma a mensagem M2 no criptograma E4, ento M2 e E4 so ligados por uma linha


identificada por 1, etc. De cada uma das mensagens possveis precisa haver exatamente uma
linha saindo para cada chave diferente. Se o mesmo verdadeiro para cada criptograma,
dizemos que o sistema fechado.
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.

[] [Fig. 2 - Diagrama de linhas para sistemas simples]}

Fig. 4 - Sistema Puro

Traduo vov Vicki

A fraude do
Camouflage

Criptografia Numaboa - Papers


Escrito por vov Vicki
Dom, 20.03.2005 16:18

ndice do Artigo

A fraude do Camouflage

Localizando o texto

O engodo da senha

O engodo da senha 2

Os boatos

Todas as pginas
Pgina 1 de 5
O software Camouflage um dos mais primrios em termos de esteganografia. Adiciona
dados no final de arquivos de diversos tipos usando um mtodo que, para ser muito gentil,

Para quem no est familiarizado com as lidas criptogrficas (e esteganogrficas), estas


afirmaes parecem sem sentido ou coisa de sociedades hermticas. Se voc no sabe o que
um XOR, sugiro que d uma olhada no texto da seo de Informtica - Orculo de
Referncias - Gerais e leia Lgica Booleana antes de continuar. Se voc j sabe, ento vamos
l!
A seguir esto trs imagens no formato gif: mosquito.gif (a imagem original), mosquitoC.gif
(a imagem com texto camuflado sem senha) e mosquitoCP.gif (a imagem com texto
camuflado protegido pela senha "numaboa").

Gif original (2,3 Kb)

Gif + texto (3,4 Kb)

Gif + texto + senha (3,4 Kb)

O TAMANHO DOS ARQUIVOS


A primeira coisa que chama a ateno o tamanho dos arquivos. Se o criptoanalista no
possuir a imagem original, este fator no relevante, mas no deixa de ser um ponto fraco
do mtodo.

A fraude do Camouflage Pgina 2

Criptografia Numaboa - Papers


Escrito por vov Vicki
Dom, 20.03.2005 16:18

ndice do Artigo

A fraude do Camouflage

Localizando o texto

O engodo da senha

O engodo da senha 2

Os boatos

Todas as pginas
Pgina 2 de 5

LOCALIZANDO O TEXTO ADICIONADO


Sabendo que qualquer arquivo gif possui uma "assinatura de fim de arquivo" constituda pelos
valores hexadecimais 00 3B (assim como arquivos jpg possuem os terminadores FF D9), ao
se inspecionar num editor hexadecimal as imagens que contm texto, encontra-se muitos
bytes aps o ponto onde o arquivo deveria terminar (destacado em azul). A seguir, encontrase um bloco de dados que contm alguns valores de cabealho do camouflage e o texto
cifrado (destacado em vermelho). Este, por sua vez, seguido por um longo bloco de 20
(valor hexadecimal do ASCII do caracter "espao"), interrompido em trs pontos por mais
alguns dados.
Observe a listagem abaixo que corresponde imagem mosquitoC.gif, que contm texto
cifrado sem senha:

2384
2400
E0 C2 01
2416
E0 C2 01
2432
C3 7D 80
2448
D6 11 31
2464
6E CF E0
2480
ED 97 A0
2496
99 A7 85
2512
BA 5C 90
2528
E3 0F 45
Alguns dados
2544
66 E2 4F
+ texto cifrado
2560
5E B4 94
2576
EC 2C B1
2592
A2 F5 7D
2608
3E 23 B5
2624
AA AE E9
2640
A5 FF FF
2656
2E C5 01
2672
F4 17 4D
2688
11 32 27
2704
20 20 20

E0
E0
C1
8D
99
CA
F1
AD
A4

6F
7D
81
53
BA
CD
BD
D3
E7

82
2E
CA
A2
5F
8F
27
46
0D

F3
F6
08
0C
2D
E9
F1
04
AC

2F
D6
41
E8
76
77
2E
72
3E

2E
00
0D
48
32
CC
AE
B6
73

C5
00
F1
8B
76
4C
26
B6
65

01
00
D2
DC
41
09
0C
E2
9C

00
30
43
B9
8C
07
86
41
F0
C4

3B
F6
B5
00
96
96
15
1B
5B
3F

20
AC
3B
39
3B
00
04
CB
8F
78

00
47
4E
27
BD
EB
4E
6A
DC
01

5C
58
68
1A
6C
45
15
F7
8C
78

22 CF 5B 43 FF CD F1 FC A9 16 DE 5B AB
5E
45
FE
FE
9E
FF
90
79
20
20

2A
74
76
DC
CB
FF
85
C0
20
20

5C
98
4F
A9
88
20
DF
78
20
20

72
03
10
1A
EA
00
34
80
20
20

4F
F4
5D
A4
3D
23
23
86
20
20

F4
7D
F6
F9
21
2E
2E
AA
20
20

56
FD
7E
1B
1E
C5
C5
E0
20
20

D9
4D
97
DC
79
01
01
11
20
20

5D
DE
7B
92
46
E0
90
45
20
20

17
49
7E
E0
0A
D7
98
1C
20
20

30
CB
65
A1
5D
0D
1B
EA
20
20

95
75
02
B4
F8
8B
8B
D6
20
20

24
0E
03
59
36
2F
61
B7
20
20

2720
2736
2752
2768
2784
2800
Buffer
2816
2832
2848
2864
2880
2896
2912
2928
Alguns
2944
2960
2976
2992
3008
3024
3040
3056
3072
Buffer
3088
3104
3120
3136
3152
3168
3184
Alguns
3200
3216
3232
3248
3264
3280
3296
3312
Buffer
3328
3344
3360
3376
3392
3408
3424
3440
Alguns
3456

20 20
20 20
20 20
20 20
20 20
20 20
vazio
20 20
20 20
20 20
20 20
20 20
20 20
20 20
09 53
dados
20 20
20 20
20 20
20 20
20 20
20 20
20 20
20 20
20 20
vazio
20 20
20 20
20 20
20 20
20 20
20 20
00 5D
dados
20 20
20 20
20 20
20 20
20 20
20 20
20 20
20 20
vazio
20 20
20 20
20 20
20 20
20 20
20 20
20 20
20 20
dados
20 20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20

20
20
20
20
20
20
20
79

20
20
20
20
20
20
20
CF

20
20
20
20
20
20
20
60

20
20
20
20
20
20
20
8E

20
20
20
20
20
20
20
CF

20
20
20
20
20
20
20
A8

20
20
20
20
20
20
20
D6

20
20
20
20
20
20
20
03

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
6F
20

20
20
20
20
20
20
FA
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20
20

20
20
20
20
20
20
09

20
20
20
20
20
20
00

20
20
20
20
20
20
00

20
20
20
20
20
20
02

20
20
20
20
20
20
00

20
20
20
20
20
20
20

20
20
20
20
20
20
20

20
20
20
20
20
20
20

20
20
20
20
20
20
20

20
20
20
20
20
20
20

20
20
20
20
20
20
20

20
20
20
20
20
D6
20

20
20
20
20
20
00
20

20
20
20
20
20
00
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
74

20
20
20
20
20
20
20
A4

20
20
20
20
20
20
20
54

20
20
20
20
20
20
20
10

20
20
20
20
20
20
20
22

20
20
20
20
20
20
20
97

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20
20
20
20
20
20
20
20

20 20 20 20 20 20 20 20

Os dados no precisam ser dissecados, pois no so importantes para quebrar este sistema

capenga. Apenas como curiosidade, o comprimento do texto embutido na imagem aparece


duas vezes - est destacado com sublinhado.

A fraude do Camouflage Pgina 3

Criptografia Numaboa - Papers


Escrito por vov Vicki
Dom, 20.03.2005 16:18

ndice do Artigo

A fraude do Camouflage

Localizando o texto

O engodo da senha

O engodo da senha 2

Os boatos

Todas as pginas
Pgina 3 de 5

O ENGODO DA SENHA
Se compararmos os valores hexadecimais do arquivo que esconde o texto SEM senha e do
arquivo que esconde o texto COM senha, d vontade de rir. Os textos cifrados (que ficam no
primeiro bloco de dados) so IDNTICOS, ou seja, a senha no foi usada para nada
nica diferena entre as duas imagens est na segunda "ilha" de dados:

3168
20 20 20 20 20 20 20 20 20 20 20 20 20 D6 00 00
3184
00 5D 09 00 00 02 00 20 20 20 20 20 20 20 20 20
Sem senha
3200
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3168
20 20 20 20 20 20 20 20 20 20 20 20 20 D6 00 00
3184
00 5D 09 00 00 02 00 6C E0 17 43 6E C9 75 20 20
Com senha
3200
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Comparando-se os dois trechos, observamos que foram adicionados 7 bytes, exatamente o
tamanho da senha utilizada ("numaboa") - um sinal claro de que o mtodo fraco.
Conhecendo-se a localizao da senha, de se supor que o buffer que a segue deve servir
apenas para armazenar senhas e que o tamanho mximo da senha seja de 255 bytes.

Efetivamente, se ocultarmos um texto usando como senha a letra a repetida 255 vezes, o
resultado ser:

3168
3184
3200
3216
3232
3248
3264
3280
3296
3312
3328
3344
3360
3376
3392
3408
3424
3440

20
00
AE
42
FB
EB
FC
DB
C5
CB
38
74
72
D2
CD
B4
BF
6E

20
5D
DE
AC
7D
BC
22
53
3E
5D
1D
96
5D
A4
88
F3
04
2C

20
09
04
1F
03
CD
F5
0A
84
50
63
11
02
14
AB
1B
B5
CA

20
00
41
FD
59
52
2B
61
0F
FB
4F
B5
5D
A2
3D
59
17
F3

20
00
0E
48
15
E2
A6
B2
46
C8
E7
78
F3
F1
2F
9B
58
AC

20
02
FF
86
45
01
24
A4
4B
FF
56
F9
70
1B
5F
B1
17
10

20
00
D2
9D
61
48
0C
A3
BA
EE
98
41
85
93
68
01
FD
74

20
63
F8
83
34
92
44
F5
F7
E8
4A
DE
3A
D3
48
8D
BB
A4

20
F4
04
98
BE
19
15
55
1F
12
1F
41
7A
D7
19
94
09
54

20
1B
2B
2C
20
45
8A
CE
5F
D2
30
D9
69
A9
48
46
EC
10

20
43
32
B3
AA
5F
6A
D1
29
58
93
34
43
B1
F8
DB
C9
22

20
6D
9A
23
60
1B
F9
84
58
AB
20
06
01
59
3B
8F
C1
97

20
C7
97
2F
C3
8A
A8
F4
27
53
E0
AD
2D
EB
E5
D6
C7
20

D6
75
14
67
D6
B2
1D
1C
AE
B4
6D
E0
2B
A3
B4
BF
7F
20

00
80
35
A1
92
85
9D
4B
0E
91
B5
79
A4
E7
DB
FE
B8
20

00
80
CC
99
EE
FC
A9
E5
10
50
04
ED
EB
91
3F
FA
BA
20

Se a senha constituda por 255 letras a foi armazenada no buffer da senha com bytes uns
diferentes dos outros, o que vem imediatamente cabea que a senha deve ter sido
modificada por uma string tambm de 255 caracteres. O modo mais simples (e ingnuo) de
"casar" esta string com a senha fazendo a operao lgica XOR entre os bytes da senha e
os bytes da string "secreta".
Como a operao XOR reversvel, se repetirmos as operaes XOR dos bytes do buffer com
o byte 61 (valor hexadecimal do ASCII da letra a), o resultado ser a... string secreta original
:) Assim, os primeiros 16 bytes do buffer da senha XORados com 61 resultam em

XOR
=

63 F4 1B 43 6D C7 75 80 80 AE DE 04 41 0E FF D2
61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
------------------------------------------------02 95 7A 22 0C A6 14 E1 E1 CF BF 65 20 6F 9E B3

O contedo total do buffer XORado, ou seja, a string ou chave "secreta" revela-se a seguinte:

02
99
E2
55
F3
25
94
96
89
2B
BF
5B
B2
29
EC
DA

95
65
F9
DF
78
74
34
7E
73
7E
20
1B
B6
78
F5
68

7A
4A
4D
41
24
EB
AF
3E
B3
51
B8
08
C8
29
27
8D

22
53
D2
CB
3E
0B
B0
48
39
F2
55
22
D0
99
BA
A8

0C
FB
42
01
7A
98
E5
39
CA
41
67
60
38
5A
EE
A0

A6
F6
4E
A2
EB
C9
95
46
32
81
CC
4C
8A
84
B7
A6

14
75
06
B7
D3
7C
7D
CF
D5
0C
81
4A
C2
D5
DE
1E

E1
54
C0
F3
E4
FC
2A
6F
F0
D4
18
C5
86
BA
9F
D9

E1
AD
F8
8F
9D
C8
84
71
31
65
8C
8A
F0
5E
9B
DB

CF
23
9A
8A
9D
BA
A4
AA
59
15
13
B3
AC
D5
DE
0F

BF
CD
1C
DD
43
32
5F
3C
7C
F7
3C
C5
E9
92
65
4D

65
7E
62
AC
94
6B
E5
31
02
70
63
75
CA
7A
D4
AB

20
9C
38
33
4A
00
6E
9A
2E
D4
3C
C3
5C
38
76
92

6F
29
74
83
C7
D3
27
A9
86
19
92
90
4E
FA
39
CD

9E
E7
24
60
45
C5
2A
9E
37
98
11
7A
3E
D0
76
71

B3
FC
00
29
6D
C2
DB
8F
F9
20
E4
F2
09
60
9C

A fraude do Camouflage Pgina 4

Criptografia Numaboa - Papers


Escrito por vov Vicki
Dom, 20.03.2005 16:18

ndice do Artigo

A fraude do Camouflage

Localizando o texto

O engodo da senha

O engodo da senha 2

Os boatos

Todas as pginas
Pgina 4 de 5
Se voltarmos para a imagem que contm o texto cifrado com senha de 7 bytes e realizarmos
um XOR destes bytes com os 7 primeiros da chave "secreta", obteremos o seguinte
resultado:

senha
XOR
=
ASCII

6C E0 17 43 6E C9 75
02 95 7A 22 0C A6 14
---------------------6E 75 6D 61 62 6F 61
n

Esta foi muuuito fcil. Agora s repetir a operao com o bloco que contm alguns dados e
o texto cifrado para extrair a mensagem embutida na imagem, ou seja:

2416
XOR chave
=
ASCII
2432
XOR chave
=
ASCII

43 B5 3B 4E 68
02 95 7A 22 0C
---------------41 20 41 6C 64
A
A l d
C3 7D 80 C1 81 CA 08 41 0D F1 D2 B9 00 39 27 1A
A6 14 E1 E1 CF BF 65 20 6F 9E B3 99 65 4A 53 FB
------------------------------------------------65 69 61 20 4E 75 6D 61 62 6F 61 20 65 73 74 E1
e i a
N u m a b o a
e s t

2448
XOR chave
=
ASCII
2464
XOR chave
=
ASCII
2480
XOR chave
=
ASCII

D6 11 31 8D 53 A2 0C E8 48 8B DC 8C 96 3B BD 6C
F6 75 54 AD 23 CD 7E 9C 29 E7 FC E2 F9 4D D2 42
------------------------------------------------20 64 65 20 70 6F 72 74 61 6C 20 6E 6F 76 6F 2E
d e
p o r t a l
n o v o .
6E CF E0 99 BA 5F 2D 76 32 76 41 07 96 00 EB 45
4E 06 C0 F8 9A 1C 62 38 74 24 00 55 DF 41 CB 01
------------------------------------------------20 C9 20 61 20 43 4F 4E 46 52 41 52 49 41 20 44

a
C O N F R A R I A
D
ED 97 A0 CA CD 8F E9 77 CC 4C 09 86 15 04 4E 15
A2 B7 F3 8F 8A DD AC 33 83 60 29 F3 78 24 3E 7A
------------------------------------------------4F 20 53 45 47 52 45 44 4F 2C 20 75 6D 20 70 6F
O
S E G R E D O ,
u m
p o

e assim por diante...


S Deus sabe porque o autor deste mtodo horroroso cifrou tambm a senha. Alis, nem
preciso conhecer a senha que o usurio utilizou para retirar o texto de qualquer arquivo
(imagem, som, texto, etc e tal). s pregar o chinelo com texto oculto XOR chave para obter
o texto claro.
Se voc quiser saber o texto na ntegra que est escondido nas imagens mosquitoC.gif e
mosquitoCP.gif, copie as imagens, abra qualquer delas num editor hexadecimal, retire o texto

Existem mais alguns pormenores desta histria que talvez sejam de interesse. Se voc ainda
tiver pacincia, leia na prxima pgina.

A fraude do Camouflage Pgina 5

Criptografia Numaboa - Papers


Escrito por vov Vicki
Dom, 20.03.2005 16:18

ndice do Artigo

A fraude do Camouflage

Localizando o texto

O engodo da senha

O engodo da senha 2

Os boatos

Todas as pginas
Pgina 5 de 5
Em 2002 surgiram os primeiros boatos de que a Al Qaeda estava usando mtodos de
esteganografia para ocultar mensagens terroristas em grficos espalhados pela Internet.
Aproveitando o furor causado pelas falsas informaes, devidamente vitaminadas por
jornalistas inescropulosos, em 11 de setembro deste mesmo ano, o "gnio" de criptgrafo
que inventou esta maravilha de "mtodo" foi entrevistado no show "Le Journal des Bonnes
Nouvelles" do "Canal Plus". Fizeram uma "demonstrao" de um software de esteganografia
"famoso" e "inquebrvel, mesmo pela NSA", que escondia dados de uma "forma totalmente
indetectvel" e que era "ilegal". Adivinhou, era o Camouflage
Alguns criptoanalistas amadores, entre eles Guillermito, Kaski e ViKTORY, precisaram apenas
de algumas horas para detonar o Camouflage. E no foi s isto. Colocaram disposio
programas que extraem o texto claro de qualquer arquivo "camuflador". No site do
PaketStorm h tambm um script Perl, da autoria de Andrew Christensen, que faz o mesmo
servio. Todo estes softwares encontram-se disposio na seo de downloads da Aldeia.
MORAL DA HISTRIA: no acredite em tudo que voc ouve ou v na tev e na Internet. Pode
ser a maior fria.
Abraos a todos e tenham um bom dia

de Criptoanlise das Cifras de Bloco para Autodidatas


Bruce Schneier
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.
A nica maneira de aprender criptoanlise atravs da prtica. Um estudante precisa
simplesmente quebrar algoritmo por algoritmo inventando novas tcnicas e modificando as
existentes. Ler os resultados criptoanalticos de outros ajuda, mas isto no substitui a
experincia prpria.
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.

Este um curso de criptoanlise de cifras de bloco para autodidatas. Neste curso, um


estudante pode seguir um caminho ordenado atravs da literatura acadmica e chegar ao
fim plenamente capaz de quebrar novos algoritmos e publicar seus resultados criptoanlticos.
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.
At mesmo o melhor estudante no ser capaz de encontrar todas as quebras publicadas
sem olhar o texto de criptoanlise associado. Muitos destes resultados foram descobertos
pelos melhores crebros criptoanalticos na academia. Penso que um estudante deveria
dedicar pelo menos uma semana tentando quebrar um algoritmo sem olhar no paper da
criptoanlise e depois disto dar uma olhada rpida no resultado - ou apenas ler o resumo,
introduo e concluso - para depois tentar quebrar o algoritmo por pelo menos mais trs
dias.
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.

2. O que significa "quebrar" uma cifra?


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 2 128 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.

3. Porque cifras de bloco?


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
praticamente impossvel entender alguns resultados criptoanalticos sem um bom
conhecimento de conceitos simples sobre probabilidade e estatstica. O The Handbook of
Applied Cryptography tem uma introduo rpida e muito til sobre a teoria da
probabilidade, entretanto, estudantes que estiverem vendo isto pela primeira vez, talvez
encontrem uma introduo mais apropriada num livro de texto dedicado probabilidade e
estatstica.
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.
impossvel entender realmente um ataque criptoanaltico sem implement-lo. Realizando
um ataque descrito num paper pode ser muito instrutivo; implementando um novo ataque
inventado por voc, com frequncia expe sutilezas que no aparecem numa anlise terica.
Por este motivo, a programao matemtica numa linguagem como a C tambm uma
habilidade requerida.

4.1 Fundo histrico


A criptoanlise de algoritmos de encriptao pr-computador no realmente aplicvel
criptoanlise de algoritmos modernos, mas uma leitura interessante e um bom exemplo do
estado mental requerido para praticar criptoanlise. No considero isto um pr-requisito
requerido, mas o estudante interessado deveria considerar ler Helen Fourche Gaines,
Cryptanalysis: A Study of Ciphers and their Solution (Dover Publications, 1939). Tambm
so interessantes os volumes escritos por William F. Friedman e re-impressos pela Agean
Park Press: Elements of Cryptanalysis; Military Cryptanalysis, Partes I, II, III e IV; The
Riverbank Publications, Partes I, II e III; e Military Cryptanalytics, Parte I, Vol. 1 e 2, e Parte
II, Vol. 1 e 2. A Agean Park Press est em http://www.ageanpress.com/books/.
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.

5. Obtendo material para o curso


Os papers usados no curso so de procedimentos de vrias conferncias diferentes. Tentei
evitar publicaes obscuras, mas, invariavelmente, algumas se infiltraram. Isto significa que
muitas cifras de bloco boas no esto listadas abaixo: CAST um exemplo tpico. Por favor,
no considere a excluso de uma cifra como alguma evidncia de fora ou fraqueza,
simplesmente uma questo de disponibilidade.
A maioria dos papers so de procedimentos de conferncias da Springer-Verlag, todos
publicados na srie Lecture Notes in Computer Science (LNCS). A maioria das bibliotecas de
universidades assinam a srie LNCS. No mnimo, um estudante deveria ter um CD-ROM com
todos os procedimentos da Crypto e Eurocrypt (disponvel no Springer-Verlag) e os
procedimentos da srie Fast Software Encryption (FSE). Existem muitos outros papers nestas
sries, cuja leitura vale a pena, do que os citados aqui.

Mantenho uma pgina na web em http://www.counterpane.com com indicaes para os


papers na WWW. Com o CD-ROM, os procedimentos da FSE e meus recursos na Web
possvel fazer praticamente tudo neste curso.
Criptografia Numaboa - Curso de Criptologia
Escrito por vov Vicki
Sb, 08.12.2007 19:17

ndice do Artigo

Curso de Criptoanlise das Cifras de Bloco

O curso

O curso II

O curso III

Todas as pginas
Pgina 2 de 4

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.

6.2 Criptoanlise bsica


Tente fazer a criptoanlise dos seguintes algoritmos simplificados:

RC5 de 8 rodadas sem qualquer rotao.


RC5 de 8 rodadas com a quantidade de rotao igual ao nmero de rodadas.
DES de 12 rodadas sem qualquer caixa S (S-boxes).
Regra B do Skipjack de 8 rodadas (Uma descrio do Skipjack pode ser encontrada
na web).
DES de 4 rodadas.
Uma cifra genrica "fechada" (isto , cifrando com a chave A e depois a chave B o
mesmo que cifrar com a chave C, para todas as chaves).
DES de 6 rodadas.
Regra A do Skipjack de 4 rodadas seguida por quatro rodadas com a regra B do
Skipjack.

Todos estes algoritmos so descritos em B. Schneier, Applied Cryptography, Second Edition


(John Wiley & Sons, 1996) e em A. J. Menezes, P.C. van Oorschot e S.A. Vanstone, Handbook
of Applied Cryptography (CRC Press, 1997).

6.3 Criptoanlise da FEAL


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, SpringerVerlag, 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.

6.4 Criptoanlise diferencial


Leia os captulos 1 at 5 de E. Biham e A. Shamir, Differential Cryptanalysis of the Data
Encryption Standard (Springer-Verlag, 1993). Se voc no conseguir encontrar o livro, leia E.
Biham e A. Shamir, "Differential Cryptanalysis of the Full 16-Round DES" (Advances in
Cryptology - CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 487-496).

6.5 Criptoanlise diferencial da FEAL


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).

6.6 Criptoanlise diferencial da LOKI-89


A primeira verso da LOKI agora chamada de LOKI-89. Leia L. Brown, J. Pieprzyk e J.
Seberry, "LOKI: A Cryptographic Primitive for Authentication and Secrecy Applications"
(Advances in Cryptology - AUSCRYPT '90 Proceedings, Springer-Verlag, 1990, pp. 229-236).
Encontre um ataque diferencial; uma soluo est em L.R. Knudsen, "Cryptanalysis of LOKI"
(Advances in Cryptology - ASIACRYPT '91, Springer-Verlag, 1993, pp. 22-35). O livro de
Biham e Shamir tambm discute esta criptoanlise.

6.7 Criptoanlise diferencial da MacGuffin


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.

6.8 Criptoanlise diferencial do Khafre


Leia a descrio do Khafre em R. C. Merkle, "Fast Software Encryption Functions" (Advances
in Cryptology - CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 476-501). Tente quebrlo. Um ataque diferencial est em E. Biham e A. Shamir, "Differential Cryptanalysis of Snefru,
Khafre, REDOC II, LOKI, and Lucifer" (Advances in Cryptology - CRYPTO '91 Proceedings,
Springer-Verlag, 1992, pp. 156-171). Veja tambm o livro de Biham e Shamir.

6.9 Criptoanlise diferencial do PES


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, SpringerVerlag, 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).

6.10 Criptoanlise linear


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).

6.11 Criptoanlise linear da FEAL


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).

6.12 Caractersticas Condicionais Diferenciais


Caractersticas condicionais foram introduzidas por I. Ben-Aroya e E. Biham, "Differential
Cryptanalysis of Lucifer" (Advances in Cryptology - CRYPTO '93 Proceedings, Springer-Verlag,
1994, pp. 187-199). Leia as sees 1-3 sobre o Lucifer e caractersticas condicionais. Depois
tente encontrar o ataque antes de ler a seo 4. Leia o incio da seo 5, sobre o RDES. Tente
encontrar o ataque antes de ler o resto do paper.

Criptografia Numaboa - Curso de Criptologia


Escrito por vov Vicki
Sb, 08.12.2007 19:17

ndice do Artigo

Curso de Criptoanlise das Cifras de Bloco

O curso

O curso II

O curso III

Todas as pginas
Pgina 3 de 4

6.13 Criptoanlise rotacional de chaves relacionadas


Leia os resultados obtidos com a LOKI-89 e a LOKI-91 em E. Biham, "New Types of
Cryptanalytic Attacks Using Related Keys" (Journal of Cryptology, v. 7, n. 4, 1994, pp. 229246). Se no conseguir o jornal, leia a cpia preliminar (Advances in Cryptology EUROCRYPT '93, Springer-Verlag, 1994, pp. 398-409). Ataque a variante do DES descrita na
seo 5 (seo 6 na verso Eurocrypt).

6.14 Criptoanlise Diferencial-Linear

Leia S. Langford e M. Hellman, "Differential-Linear Cryptanalysis" (Advances in Cryptology CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 17-26). Tente aplicar estas tcnicas
FEAL. A resposta est em K. Aoki e K. Ohta, "Differential-Linear Cryptanalysis of FEAL-8"
(IEICE Transactions: Fundamentals of Electronics, Communications, and Computer Sciences
(Japan), v. E79-A, n. 1, 1996, pp. 20-27). Boa sorte para encontrar este jornal - japons.

6.15 Relaes entre a criptoanlise diferencial e a linear


Leia E. Biham, "On Matsui's Linear Cryptanalysis" (< ?94 EUROCRYPT - Cryptology in>,
Springer-Verlag, 1995, pp. 356-365).

6.16 Criptoanlise diferencial de ordem mais alta


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).

6.17 Criptoanlise diferencial de ordem mais alta da KN-Cipher


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).

6.18 Aproximaes lineares mltiplas


Leia B. Kaliski Jr. e M. Robshaw, "Linear Cryptanalysis Using Multiple Approximations"
(Advances in Cryptology | CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 26-39). Tente
quebrar a FEAL usando estas tcnicas. Uma soluo est em B. Kaliski Jr. e M. Robshaw,
"Linear Cryptanalysis Using Multiple Approximations and FEAL" (Fast Software Encryption,
Second International Workshop Proceedings, Springer-Verlag, 1995, pp. 249-264).

6.19 Criptoanlise do TWOPRIME


Leia C. Ding, V. Niemi, A. Renvall e A. Salomaa, "TWOPRIME: A Fast Stream Ciphering
Algorithm" (Fast Software Encryption, 4th International Workshop Proceedings, SpringerVerlag, 1997, pp. 88-102). TWOPRIME, na realidade, uma cifra de bloco. Tente quebr-la;
existe todo tipo de ataque. Resultados esto em D. Coppersmith, D. Wagner, B. Schneier e J.
Kelseym, "Cryptanalysis of TWOPRIME" (Fast Software Encryption, 5th International
Workshop Proceedings, Springer-Verlag, 1998, pp. 32-48).

6.20 Criptoanlise do Blowfish


Leia B. Schneier, "Description of a New Variable-Length Key, 64-Bit BlockCipher (Blowfish)"
(Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag,
1994, pp. 191-204) e tente quebrar o Blowfish. Alguns resultados foram publicados em S.
Vaudenay, "On the Weak Keys in Blowfish" (Fast Software Encryption, 3rd International
Workshop Proceedings, Springer-Verlag, 1996, pp. 27-32). Tambm existe um ataque
diferencial contra o Blowfish de cinco rodadas numa tese de V. Rijmen's Ph.D.

6.21 Criptoanlise do ICE


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).

6.22 Criptoanlise do LOKI-91


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. 3650). Procure por qualquer tipo de criptoanlise; alguns resultados podem ser encontrados em
L.R. Knudsen, "Cryptanalysis of LOKI91" (Advances in Cryptology - AUSCRYPT '92, SpringerVerlag, 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).

6.23 Criptoanlise do CMEA


Leia as sees 1 e 2 de D. Wagner, B. Schneier e J. Kelsey, "Cryptanalysis of the Cellular
Message Encryption Algorithm" (Advances in Cryptology - CRYPTO '97 Proceedings, SpringerVerlag, 1997, pp. 526-537). Tente quebrar o algoritmo antes de ler o resto do paper.

6.24 Criptoanlise do IDEA


O IDEA descrito (sendo chamado de IPES) 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). A anlise mais fcil tentar achar chaves fracas; uma
resposta est em J. Daemen, R. Govaerts e J. Vandewalle, "Weak Keys for IDEA" (Advances
in Cryptology - CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 224-231). Procure por
outros ataques; algumas solues esto em W. Meier, "On the Security of the IDEA Block
Cipher" (Advances in Cryptology - EUROCRYPT '93 Proceedings, Springer- Verlag, 1994, pp.
371-385) e em P. Haawkes e L. O'Connor, "On Applying Linear Cryptanalysis to IDEA"
(Advances in Cryptology - ASIACRYPT '96, Springer-Verlag, 1996, pp. 105-115).

6.25 Diferenciais truncados


Leia L.R. Knudsen, "Truncated and Higher Order Differentials" (Fast Software Encryption, 2nd
International Workshop Proceedings, Springer-Verlag, 1995, pp. 196-211), sees de 1 a 4.
Tente aplicar as tcnicas de diferenciais truncados antes de ler os resultados na seo 5.
Tente quebrar o SAFER usando diferenciais truncados. Resultados esto em L.R. Knudsen e
T.A Berson, "Truncated Differentials of SAFER" (Fast Software Encryption, 3rd International
Workshop Proceedings, Springer-Verlag, 1996, pp. 15-26).

6.26 Criptoanlise diferencial de chaves relacionadas


Leia J. Kelsey, B. Schneier e D. Wagner, "Key-Schedule Cryptanalysis of IDEA, G-DES, GOST,
SAFER, and Triple-DES" (Advances in Cryptology - CRYPTO '96 Proceedings, Springer-Verlag,
1996, pp. 237-251). Tente aplicar as tcnicas em 3-Way, DES-X e TEA antes de ler J. Kelsey,
B. Schneier e D. Wagner, "Related-Key Cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X,
NewDES, RC2, and TEA" (Information and Communications Security, First International
Conference Proceedings, Springer-Verlag, 1997, pp. 203-207).

6.27 Generalizaes da criptoanlise linear


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, SpringerVerlag, 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, SpringerVerlag, 1994, pp. 26-39). Tente aplicar as tcnicas ao LOKI91 antes de ler a seo 5.

6.28 Criptoanlise do Akelarre

Leia G. Alvarez, D. De la Guia, F. Montoya e A. Peinado, "Akelarre: A New Block Cipher


Algorithm" (Workshop on Selected Areas in Cryptography (SAC '96) Workshop Record,
Queens University, 1996, pp. 1-14). Tente quebrar o algoritmo. Resultados esto em L.R.
Knudsen e V. Rijmen, "Two Rights Sometimes Make a Wrong" (Workshop on Selected Areas
in Cryptography (SAC '97) Workshop Record, School of Computer Science, Carleton
University, 1997, pp. 213-223) e N. Ferguson e B. Schneier, "Cryptanalysis of Akelarre"
(Workshop on Selected Areas in Cryptography (SAC '97) Workshop Record, School of
Computer Science, Carleton University, 1997, pp. 201-212). Se voc no conseguir achar
outras, uma descrio do Akelarre est no ltimo paper.

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).

6.30 Teoria da criptoanlise diferencial e linear


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).

6.31 Criptoanlise da VINO


Leia A. Di Porto e W. Wolfowicz, "VINO: A Block Cipher Including Variable Permutations"
(Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag,
1994, pp. 205-210). Nenhuma criptoanlise foi publicada at agora; tente ser o primeiro.

6.32 Ataque de interpolao


Leia as sees de 1 a 3.3 de T. Jakobsen e L. Knudsen, "The Interpolation Attack on Block
Ciphers" (Fast Software Encryption, 4th International Workshop Proceedings, SpringerVerlag, 1997, pp. 28-40). Leia as modificaes no SHARK na seo 3.4 e tente quebr-lo
antes de ler o restante do paper.

6.33 Ataques a funes de rodadas no-surjetivas


Leia E. Biham e A. Biryukov, "An Improvement of Davies' Attack on DES" (Advances in
Cryptology - EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, pp. 461-467). Tambm
vale a pena ler B. Rijmen, B. Preneel e E. De Win, "On Weaknesses of Non-surjective Round
Functions" (Designs, Codes, and Cryptography, v. 12, n. 3, 1997, pp. 253-266).

6.34 Criptoanlise do KHUFU


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).

6.35 Criptoanlise do SAFER


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, SpringerVerlag, 1995, pp. 274-286).

6.36 Modos de operao


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, SpringerVerlag, 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.

6.37 Criptoanlise avanada do IDEA


Tente quebrar o IDEA usando diferenciais truncados e caractersticas diferenciais-lineares.
Resultados esto em J. Borst, L.R. Knudsen e V. Rijmen, "Two Attacks on Reduced IDEA"
(Advances in Cryptology - EUROCRYPT '97, Springer-Verlag, 1997, pp. 1-13) e P. Hawkes,
"Differential-Linear Weak Key Classes of IDEA" (Advances in Cryptology - EUROCRYPT '98
Proceedings, Springer-Verlag, 1998, pp. 112-126).

6.38 Criptoanlise do TEA


Leia D. Wheeler e R. Needham, "TEA, a Tiny Encryption Algorithm" (Fast Software
Encryption, 2nd International Workshop Proceedings, Springer-Verlag, 1995, pp. 97-110).
Nenhuma criptoanlise, exceto a do esquema de chaves, foi publicada; tente ser o primeiro.

6.39 Criptoanlise do RC5


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, SpringerVerlag, 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. 116).

6.40 Criptoanlise do MISTY


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, ISEC985, 1998).

6.41 Criptoanlise do Square


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.

6.42 Submisses para o AES


Em 1998, o National Instutute of Standards and Technology solicitou candidatos de cifras de
bloco para substituir o DES. Foram recebidas quinze submisses. Leia sobre o processo e as

submisses no site do NIST, que inclui links para detalhes de vrias submisses:
http://www.nist.gov/aes/. Quebre tudo o que conseguir; envie os resultados para o NIST.

7. Concluso
O nico modo de se tornar um bom projetista de algoritmos sendo um bom criptoanalista:
quebrando algoritmos. Muitos deles. Sempre e sempre. Apenas depois que um estudante
mostrou sua habilidade em criptoanalisar os algoritmos de outros que seus prprios
projetos sero levados a srio.
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.
Os criptoanalistas tambm procuram por documentaes que dem sustentao ao projeto.
Novamente, projeto fcil, a anlise que difcil. Projetos que surgem com anlises
detalhadas - quebras de variantes simplificados, verses com rodadas reduzidas,
implementaes alternativas - mostram que o inventor sabia o que estava fazendo quando
criou a cifra. Uma simples reviso das submisses para o AES mostra quais projetos so
srios e quais no; a maioria dos projetos srios eram compostos principalmente de
criptoanlise.
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

O paper original, A Self-Study Course in Block-Cipher Cryptanalysis est disponvel na seo


de Downloads/Criptologia/Papers.

Uma nova linguagem


matemtica

Criptografia Numaboa - Curso de Criptologia


Escrito por vov Vicki
Sex, 30.11.2007 19:13

Quando comecei a me interessar pela criptologia, principalmente pela criptoanlise


(criptoanalistas so os hackers!), percebi que no seria possvel ignorar a matemtica. Era
uma situao muito incmoda: a curiosidade era enorme mas, como acontece com a maioria

das pessoas, a cincia dos nmeros me intimidava. A pergunta que me fiz foi a seguinte:
deveria desistir logo de cara ou enfrentar o medo? Foi da que descobri que a matemtica

O modelo da criptologia
O objetivo fundamental da criptografia permitir que duas pessoas,
geralmente chamadas de Alice e Bob, possam se comunicar atravs de
um canal inseguro de modo que um "inimigo", o Oscar, no possa
entender o que est sendo transmitido. Este canal pode ser uma linha
telefnica, uma rede de computadores ou outro meio de comunicao
qualquer. Estes so os personagens desta histria.
A informao que Alice quer enviar para o Bob, chamada de texto claro ou
texto aberto, pode ser um recado em portugus (ou qualquer outra lngua),
dados numricos, um arquivo de som, etc e tal - a estrutura da informao
no importa. Alice cifra o texto claro usando uma chave predeterminada e
envia o texto cifrado resultante atravs de um canal inseguro... inseguro
porque o Oscar pode bisbilhotar este canal e interceptar a mensagem da
Alice.
Acontece que o espio Oscar no entende chongas da mensagem interceptada porque no
capaz de decifr-la. Por outro lado, o Bob, que conhece a chave, pode decifrar o texto e
recontruir a mensagem original.
Este o modelo clssico da criptologia: Alice e Bob fazendo criptografia e Oscar tentando
fazer criptoanlise.

Um pouco da linguagem matemtica


Para comear a aprender o "idioma" matemtico, aqui est o primeiro termo do nosso
"dicionrio", o C:

Conjunto uma coleo de coisas. Por exemplo, uma coleo de CDs um conjunto,
uma coleo de carros miniatura um conjunto e assim por diante.
C significa "pertence". Se chamarmos o conjunto de carros miniatura de M e esta
coleo tiver uma Ferrari vermelha, ento podemos escrever que "F pertence a M" ou
F C M.

O modelo matemtico da criptologia


Um criptossistema um quntuplo, ou seja, um sistema onde cinco "entidades" precisam
ser consideradas (A, C, K, E, D):

1.

O conjunto finito de mensagens claras chamado de A (textos Abertos).

2.

O conjunto finito de mensagens cifradas chamado de C.

3.

K, tambm conhecido como espao das chaves, o conjunto das chaves


possveis e
k uma das chaves do conjunto.

4.

Uma regra de cifragem ser chamada de ek, onde e vem de encriptao e k


da chave usada. Portanto, k C K e, para cada chave pertencente ao conjunto de
chaves, haver uma encriptao diferente que pertence ao conjunto ek C E.

5.

Para cada regra de cifragem haver uma regra de decifrao d e k ser a chave
usada. As regras de decifrao pertencem ao conjunto D, ou seja, dk C D.
DICIONRIO

Pertence a
Conjunto finito de mensagens claras A
Conjunto finito de mensagens cifradas C
Conjunto das chaves (espao das chaves) K
Uma chave (k) do espao das chaves (K), ou seja, k C K
Regra de cifragem ek que pertence ao conjunto de regras de cifragem E, ou seja, ek
CE
Regra de decifrao dk que pertence ao conjunto de regras de decifrao D, ou
seja, dk C D

O dicionrio vai nos ajudar a entender a seguinte "frase" matemtica:

CE

D correspondente.

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 como ek(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:
dk(ek(x)) = x para qualquer texto claro x C A

Noo de Protocolo
Para Alice e Bob se comunicarem usando um determinado criptossistema ser preciso
estabelecer certas regras de comunicao que os dois conheam e obedeam: o chamado
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 caracter da mensagem clara pertence ao conjunto de caracteres desta mensagem e,
como esta mensagem pertence ao conjunto de mensagens claras A, os caracteres tambm
fazem parte deste conjunto A. Se chamarmos cada caracter de xi, o valor de i precisa ser
igual ou maior do que 1 e menor ou igual ao nmero de caracteres da mensagem (que j
chamamos de n). Ento:
xi C A onde n > 1 e 1 < i < n
Cada xi cifrado usando a regra de cifragem ek especificada pela chave escolhida. Alice faz os
seguintes clculos:
yi = ek(xi), 1 < i < n
para obter a mensagem cifrada
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:
y = ek(x1) = ek(x2) onde x1 diferente de x2.
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.

Atualizao Qua, 17.06.2009 19:43

Roubo de
criptografia RFID
/4
PiorMelhor

Notcias na Aldeia - Notcias da Criptografia


Escrito por vov Vicki
Sex, 04.04.2008 21:14

17 de Maro de 2008 - Roubo de criptografia de carto RFID compromete 1 bilho de


cartes no mundo
O governo holands emitiu um alerta de segurana das chaves de acesso que so baseadas

no chip de RFID Mifare Classic.

Atualizao Sex, 04.04.2008 21:37

Leia mais...

Prmio de
$100.000
/ 11
PiorMelhor

Notcias na Aldeia - Notcias da Criptografia


Escrito por vov Vicki
Seg, 08.10.2007 22:00

Empresa lana desafio e oferece prmio de 100 mil dlares


Por Ren Ribeiro, da PC WORLD

Desenvolvedora de software de criptografia pagar a soma a quem abrir arquivo protegido


pelo seu algoritmo.

Prmio de
$100.000

Notcias na Aldeia - Notcias da Criptografia


Escrito por vov Vicki
Seg, 08.10.2007 22:00

Empresa lana desafio e oferece prmio de 100 mil dlares


Por Ren Ribeiro, da PC WORLD

Desenvolvedora de software de criptografia pagar a soma a quem abrir arquivo protegido


pelo seu algoritmo.
A empresa canadense Whitenoise Labs, que desenvolve solues de criptografia, lana em 15
de outubro prximo um desafio a quem se interessa pelo tema. A confiana da empresa em

seu algoritmo muito grande, pois o prmio para quem conseguir quebrar um arquivo
criptografado pelo software da Whitenoise de 100 mil dlares canadenses.
Na cotao de hoje (09/10), o dlar canadense vale 1,02 dlares americanos. Por enquanto o
desafio est lanado para residentes do Canad e EUA, entretanto, em uma conversa com a
empresa Shikatronics, que representa a Whitenoise em outros pases, o desafio pode ser
brasil@wnlabs.com
estendido ao Brasil. Para isso basta enviar um e-mail para
informando o interesse em participar do desafio.
Conforme a quantidade de e-mails, a Whitenoise abrir a competio aos brasileiros. O
desafio termina no dia 15 de abril de 2008 e o resultado ser divulgado pela empresa em seu
site. Para ser validado, necessrio explicar qual foi o procedimento utilizado para abrir o
arquivo e, claro, mostrar o contedo do arquivo.

Nmero
primo gigante
/ 17
PiorMelhor

Notcias na Aldeia - Notcias da Criptografia


Escrito por vov Vicki
Qui, 16.03.2006 19:57

Pesquisadores da Universidade Estadual Central do Missouri, nos EUA, identificaram o maior


nmero primo j visto, com mais de 9 milhes de dgitos.

Atualizao Qua, 15.04.2009 11:52

Leia mais...

Resultado
surpreendente
/3
PiorMelhor

Notcias na Aldeia - Notcias da Criptografia


Escrito por vov Vicki
Sb, 23.07.2005 03:26

Coisas surpreendentes sempre acontecem e, quando o resultado altamente positivo, acho


que a notcia precisa ser compartilhada. Hoje recebi um e-mail do Ari Caldeira contando que
um dos textos da Criptografia NumaBoa serviu de base para um projeto interessantssimo:
um teclado adaptado para as necessidades de usurios brasileiros e que atenua (ou at
mesmo evita) sintomas da LER.

Atualizao Dom, 12.04.2009 11:23

Resultado
surpreendente

Notcias na Aldeia - Notcias da Criptografia


Escrito por vov Vicki
Sb, 23.07.2005 03:26

Coisas surpreendentes sempre acontecem e, quando o resultado altamente positivo, acho


que a notcia precisa ser compartilhada. Hoje recebi um e-mail do Ari Caldeira contando que
um dos textos da Criptografia NumaBoa serviu de base para um projeto interessantssimo:
um teclado adaptado para as necessidades de usurios brasileiros e que atenua (ou at
mesmo evita) sintomas da LER.
O Ari, muito antenado e uma das milhares de vtimas das leses por esforos repetitivos (LER
= Leses por Esforos Repetitivos), resolveu pesquisar o assunto e tomar uma iniciativa.
Visitou fruns, deu tratos bola e achou uma soluo pra l de interessante: criou um
teclado sob medida para evitar o problema. Entre outras fontes, utilizou os resultados de uma
pesquisa que realizei em 2002 sobre a frequncia de ocorrncia de letras no Portugus do
Brasil.
isso a, pessoal. Uma pesquisa voltada para a criptografia acabou rendendo uma soluo
Vale a pena dar uma olhada no texto Teclados Nativos para a Lngua
Portuguesa.
Recado para o Ari: foi muita gentileza sua enviar-me um email para comunicar o resultado da
sua pesquisa e admirvel a sua lisura em citar todas as fontes de referncia. Pode parecer
bobagem, mas coisa rara nos dias de hoje. Que sirva de exemplo para todos ns.

SHA-1 FOI
QUEBRADA!

Notcias na Aldeia - Notcias da Criptografia


Escrito por vov Vicki
Ter, 15.03.2005 01:32

No uma verso reduzida. No uma verso simplificada. A SHA-1 de verdade!


A equipe de pesquisa de Xiaoyun Wang, Yiqun Lisa Yin e Hongbo Yu (a maioria dos
integrantes so da Universidade Shandong na China) fez circular no moc um paper
descrevendo os resultados que obteve:

colises na
fora bruta
colises na
colises na

SHA-1 completo em 2**69 operaes hash, muito menos que o ataque de


de 2**80 operaes baseadas no comprimento do hash.
SHA-0 em 2**39 operaes.
SHA-1 de 58 etapas em 2**33 operaes.

Este ataque se baseia em ataques anteriores SHA-0 e SHA-1, e um resultado


criptoanaltico importante, muito importante mesmo: o primeiro ataque SHA-1 que mais
rpido do que a fora bruta.
Bruce Schneier escreveu sobre o SHA, e a necessidade de substitu-lo, em setembro de 2004.
Exceto pelos detalhes do novo ataque, tudo o que ele disse continua de p.

"Funes hash one-way so estruturas criptogrficas usadas em muitas aplicaes. So


usadas juntamente com algoritmos de chave pblica, tanto na encriptao quanto nas
assinaturas digitais. So usadas para checar a integridade. So usada na autenticao. Tm
todo tipo de aplicao na maioria dos diferentes protocolos. Muito mais do que algoritmos de
encriptao, as funes hash one-way so a locomotiva da criptografia moderna."
"Em 1990, Ron Rivest inventou a funo hash MD4. Em 1992, ele melhorou a MD4 e
desenvolveu outra funo hash: a MD5. Em 1993, a National Security Agency, NSA, publicou
uma funo hash muito parecida com a MD5, chamada de SHA (Secure Hash Algorithm).
Depois, em 1995, citando a recente descoberta de uma fraqueza que a agncia se recusava a
corrigir, a NSA fez uma alterao na SHA. O novo algoritmo foi chamado de SHA-1. Hoje, a
funo hash mais utilizada a SHA-1 e a MD5 ainda usada em aplicaes mais antigas."
"Espera-se que as funes hash one-way tenham duas propriedades. Uma, que sejam one
way. Isto significa que fcil calcular o valor hash de uma mensagem, mas que impossvel
recriar a mensagem original usando-se seu valor hash (com 'impossvel' eu quero dizer que
'no pode ser feito num tempo razovel') A segunda, que no apresentem colises. Isto
significa que impossvel encontrar duas mensagens que se fragmentem no mesmo valor
hash. O raciocnio criptogrfico por trs destas duas propriedades sutil e convido os leitores
curiosos a buscarem maiores detalhes no meu livro Applied Cryptography."
"Quebrar uma funo hash significa mostrar que uma destas propriedades, ou ambas, no
verdadeira."
No ms passado, trs criptgrafos chineses mostraram que a SHA-1 no est livre de
colises, isto , eles desenvolveram um algoritmo mais rpido do que a fora bruta, capaz de
encontrar colises.
A SHA-1 produz um hash de 160 bits, ou seja, toda mensagem fragmentada num nmero
de 160 bits. Dado que existe um nmero infinito de mensagens que se fragmentam em cada
um dos valores possveis, ento existe um nmero infinito de possveis colises. Mas, como o
nmero dos hashes possveis extremamente grande, a possibilidade de encontrar uma
coliso por acaso insignificante (uma em 2^80, para ser exato). Se fragmentarmos 2^80
mensagens randmicas, encontraremos um par que se fragmentou no mesmo valor. Esta a
forma "brute force" de encontrar colises e depende unicamente do tamanho do valor hash.
"Quebrar" a funo hash significa poder encontrar colises mais depressa do que isto. E foi
isto o que os chineses fizeram.
Eles conseguem encontrar colises na SHA-1 com 2^69 clculos, cerca de 2.000 mais rpido
do que a fora bruta. No momento, esta apenas a ponta do iceberg do que possvel fazer
usando a tecnologia disponvel. Dois exemplos comparveis de computao macissa ilustram
este ponto.
Em 1999, um grupo de criptgrafos construu um cracker de DES. Ele era capaz de realizar
2^56 operaes DES em 56 horas. A mquina custou $250K, se bem que o custo de clones
ficava entre $50K e $75K. Extrapolando esta mquina usando a Lei de Moore, uma mquina
similar construda nos dias de hoje poderia realizar os 2^60 clculos em 56 horas e 2^69
clculos em trs anos e trs meses. Ou, uma mquina que custasse $25M a $38M poderia
fazer os 2^69 clculos nas mesmas 56 horas.
Do ponto de vista do software, a melhor comparao a procura de uma das 2^64 chaves
realizada pela distributed.net e que terminou em 2002. Um artigo descreveu o acontecimento
da seguinte maneira:
"Durante a competio, 331.252 usurios participaram colocando ciclos ociosos dos seus
processadores disposio da procura da chave. Aps 1.757 dias (4.81 anos), um
participante no Japo descobriu a chave vencedora". A Lei de Moore mostra que, nos dias de
hoje, este clculo levaria um quarto do tempo para ser realizado -- ou que apenas um quarto
dos computadores seria necessrio. Deste modo, atualmente, uma computao de 2^69

levaria oito vezes mais de tempo ou necessitaria oito vezes mais computadores.
"A magnitude destes resultados depende de quem voc . Se voc for um criptgrafo, um
grande negcio. Apesar de no serem revolucionrios, estes resultados so avanos
substanciais na rea. As tcnicas descritas pelos pesquisadores tm chance de terem outras
aplicaes e, como resultado, ser possvel projetar sistemas mais seguros. aasim que a
cincia da criptografia progride: aprendemos como projetar novos algoritmos quebrando
outros algoritmos. Adicionalmente, algoritmos da NSA so considerados uma espcie de
tecnologia aliengena: vm de uma raa superior sem mais explicaes. Qualquer
criptoanlise bem sucedida contra um algoritmo da NSA um dado interessante na questo
de quanto o pessoal deles realmente bom."
Para o usurio comum da Internet, esta notcia no motivo para pnico. Ningum poder
quebrar assinaturas digitais ou ler mensagens encriptadas imediatamente. Depois deste
anncioa, o mundo eletrnico no est menos seguro do que sempre foi.
Mas existe um velho ditado na NSA: "Os ataques ficam cada vez melhores; nunca ficam
piores". Assim como o ataque desta semana se baseou em outros textos descrevendo
ataques contra verses simplificadas da SHA-1, SHA-0, MD4 e MD5, outros pesquisadores se
basearo nestes resultados. O ataque contra a SHA-1 ficar cada vez melhor assim que
outros utilizarem estas informaes para desenvolver truques mais rpidos, otimizaes, etc.
E a Lei de Moore continuar marchando, fazendo com que o ataque existente se torne mais
rpido e mais barato.
Jon Callas, o CTO do PGP, situa a coisa melhor: " a hora de andar, mas no de correr, para
as sadas de incndio. Voc no v fumaa, mas os alarmes de fogo comearam a tocar".
Basicamente a mesma coisa foi dita por Schneier em agosto de 2004.
"Est na hora de abandonar a SHA-1."
"Por sorte, existem alternativas. O National Institute of Standards and Technology j possui
padres para funes hash mais longas e mais difceis de serem quebradas: SHA-224, SHA256, SHA-384, e SHA-512. J so padres governamentais e j podem ser usadas. So boas
substitutas, mas eu gostaria de ver mais."
"Gostaria de ver o NIST orquestrar uma competio mundial para uma nova funo hash, do
mesmo modo que fez com o novo algoritmo de encriptao, o AES, para substituir o DES. O
NIST deveria fazer uma chamada para algoritmos e conduzir uma srie anlises, onde a
comunidade analisa vrias propostas com o objetivo de estabelecer um novo padro."
"A maioria das funes hash que temos, e todas as que so amplamente utilizadas, baseiamse nos princpios gerais da MD4. Aprendemos muito sobre as funes hash na dcada
passada e penso que podemos comear a aplicar estes conhecimentos para criar algo ainda
mais seguro."
As funes hash so as primitivas criptogrficas menos entendidas e as tcnicas de hashing
so muito menos desenvolvidas do que as tcnicas de encriptao. Frequentemente
aparecem resultados criptogrficos surpreendentes no hashing. Schneier tem um paper,
escrito com John Kelsey, que descreve um algoritmo para encontrar segundas pre-imagens
com SHA-1 -- uma tcnica que pode ser generalizada para praticamente todas as outras
funes hash -- em 2^106 clculos: muito menos do que os 2^160 clculos necessrios na
fora bruta. Este ataque completamente terico e nem remotamente prtico, mas ele
demonstra que ainda h muito o que aprender sobre hashing.
Diz Schneier: "Ao reler o que escrevi em setembro passado, fica claro que eu esperava que
isto acontecesse. Mas no to cedo e muito menos de forma to impressionante. Os
criptgrafos chineses merecem muito crdito pelo trabalho realizado e ns precisamos
comear a trabalhar para substituir a SHA".

Resumo do paper (a verso completa ainda no est disponvel): SHA NOTE (em

Ingls)

You might also like