Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TEORIA DA COMUNICAO DE
SISTEMAS SECRETOS
Este texto apareceu num relatrio confidencial, "A Mathematical Theory of Cryptography", em
1 de setembro de 1946. Atualmente no mais considerado material classificado.
1. Introduo e Sumrio
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
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.
2. Sistemas
Secretos
2. Sistemas Secretos
M = Ti-1E
1. A
2.
3. A
4.
1
Shannon,
C.
E.,
"A
Mathematical
Theory
Communication", Bell System Technical Journal, Julho
1948, p.379; Outubro de 1948, p.623.
of
de
5.
A.
Kolmogoroff,
"Grundbegriffe
der
Wahrscheinlichkeitsrechnung", Ergebnisse der Mathematic, v.
2, No. 3 (Berlim 1933).
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.
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.
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 ...
T O D O S A N E ...
A Vigenre de perodo 1 chamada de cifra de Csar. uma substituio simples onde cada
letra de M avanada uma quantidade fixa no alfabeto. Esta quantidade a chave, que pode
ser qualquer nmero de 0 a 25. As assim chamadas Beaufort e Variante Beaufort so
semelhantes Vigenre e cifram-se respectivamente pelas equaes
ei = ki - mi (mod 26)
ei = mi - ki (mod 26)
ki + li + ... + si
assim como na transposio composta, o mnimo mltiplo comum dos perodos individuais.
Quando a Vigenre usada com uma chave ilimitada, que nunca se repete, temos o sistema
Vernam 6 com
ei = mi + ki (mod 26)
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").
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.
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.
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
...
...
Chave
...
Criptograma U
...
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
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
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
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
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
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.
7. Cifras puras e
mistas
ndice do Artigo
Teoremas 3 a 5
Todas as pginas
Pgina 1 de 2
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.
TEOREMA 1
Tj-1TkTk-1Tj = I
de modo que cada elemento tenha um inverso. A lei associativa verdadeira desde que estas
sejam operaes e que a propriedade de grupo derive de
TiTj-1Tk = TiTr = Ts
TEOREMA 2
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:
ndice do Artigo
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
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
8. Sistemas
semelhantes
R = AS
Isto significa que cifrar com R o mesmo que cifrar com S e depois atuar no resultado com a
transformao A. Se escrevemos R~S para indicar que R semelhante a S, ento fica claro
que R~S implica em S~R. R~S e S~T tambm implica que R~T e, finalmente, que R~R. Isto
pode ser resumido dizendo que a semelhana uma relao de equivalncia.
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
Existem sistemas que nunca fornecem informao ao inimigo, no importando quanto texto
interceptado? Na anlise destes problemas, os conceitos de entropia, redudncia e afins,
desenvolvidos na "A Mathematical Theory of Communication" (que passar a ser referido
como MTC), encontraro uma ampla aplicao.
10. Segredo
Perfeito
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
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.
Agora precisam existir tantos E quantas forem M porque, para um i fixo, Ti d uma
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):
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
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
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.
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
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:
Alm disto
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
pi = 1
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
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,
P(E) = P(Ci) / i
onde E um membro de Ci
TEOREMA 11
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
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.
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
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.
2. Sistemas
Secretos
2. Sistemas Secretos
M = Ti-1E
1. A
2.
3. A
4.
transformao,
a
nica
do
sistema,
no
criptograma
interceptado. O decifrador e o criptanalista, neste caso,
possuem a mesma informao. Em geral, a nica diferena
entre o conhecimento do decifrador e o conhecimento do
criptanalista inimigo que o decifrador conhece a chave
especfica que est sendo usada enquanto o criptanalista
conhece apenas as probabilidades a priori das vrias chaves
do conjunto. O processo de decifrao o de aplicar o
inverso da transformao especfica usada para a cifragem do
criptograma. O processo de criptanlise o de tentar
determinar a mensagem (ou a chave especfica) tendo o
criptograma e as probabilidades a priori das vrias chaves e
mensagens.
3. Representao de
Sistemas
A fraude do
Camouflage
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,
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
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
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
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
Existem mais alguns pormenores desta histria que talvez sejam de interesse. Se voc ainda
tiver pacincia, leia na prxima pgina.
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
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.
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.
ndice do Artigo
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.
17-38).
ndice do Artigo
O curso
O curso II
O curso III
Todas as pginas
Pgina 3 de 4
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.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).
Weakness in SAFER K-64" (Advances in Cryptology - CRYPTO '95 Proceedings, SpringerVerlag, 1995, pp. 274-286).
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
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.
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.
1.
2.
3.
4.
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
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
Roubo de
criptografia RFID
/4
PiorMelhor
Leia mais...
Prmio de
$100.000
/ 11
PiorMelhor
Prmio de
$100.000
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
Leia mais...
Resultado
surpreendente
/3
PiorMelhor
Resultado
surpreendente
SHA-1 FOI
QUEBRADA!
colises na
fora bruta
colises na
colises na
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)