A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Criptografia Numaboa

Como calcular o Índice de Coincidência (Kappa)

Seg

26

Jan

2009


21:49

(10 votos, média 4.10 de 5) 


O Índice de Coincidência (IC) de Friedman indica a probabilidade de dois caracteres de um texto cifrado, tomados ao acaso, corresponderem à mesma letra. Em 1920, Friedman publicou "The Index of Coincidence and Its Application in Cryptography", sendo este, provavelmente, o tratado mais importante na história da criptografia.

O IC é utilizado para se determinar a monoalfabeticidade de um texto. Quando seu valor estiver ao redor de 0.762, a probabilidade do texto claro ter sido submetido a uma substituição monoalfabética é muito grande. Se o índice for significantemente menor, então o texto claro deve ter sido submetido a uma substituição polialfabética.

Cada idioma possui um IC próprio por que a frequência da ocorrência das letras é peculiar a cada um deles o que, obviamente, altera o índice.

O cálculo do IC

O cálculo do IC é feito em duas etapas. Inicialmente calcula-se a probabilidade de quantas letras do texto cifrado correspondem a A, B, ..., Z. Depois, realiza-se a soma destas probabilidades para se obter o IC.

Tomemos como exemplo o texto cifrado plsual tlroao crqcoc auiser emmoir anstoi ozaend roabio rmrcaa ocsnen idtliu annvdu epranr etqeeu sscepx texrae xemxot ssiedt, composto por 108 caracteres. A frequência da ocorrência das letras deste texto é a seguinte:

f 11 1 6 4 13 7 4 4 7 10 3 2 10 8 7 5 1 4 1
TC A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Primeira Etapa

A fórmula abaixo permite calcular a probabilidade da ocorrência de cada uma das letras do alfabeto num texto cifrado. n1 corresponde a A e n ao número total de letras do texto analisado. Repete-se o cálculo com n2 para B até n26 para Z.

Cálculo

Não é preciso se assustar com a simplificação da fórmula obtida por Friedman. Com apenas um exemplo fica tudo claro. Inicialmente tomemos o A como exemplo: esta letra ocorre 11 vezes no texto, portanto basta calcular 11 x (11 - 1) = 11 x 10 = 110. Agora vamos calcular n(n-1) = 108 x (108 - 1) = 108 x 107 = 11.556. Conforme a fórmula, basta dividir um pelo outro, ou seja, 110/11556 = 0.0095. Repetindo o cálculo para todas as outras letras obtemos os seguintes resultados:

A0.00951 N0.00363
B O0.00779
C0.00260 P0.00052
D0.00104 Q0.00017
E0.01350 R0.00779
F0.00104 S0.00485
G T0.00363
H U0.00173
I0.00363 V
J W
K X0.00104
L0.00104 Y
M0.00104 Z
Segunda Etapa

Basta somar os valores obtidos e teremos os IC do texto: 0.0645. Este valor está arredondado porque foram usadas apenas 5 casas decimais após a vírgula. O resultado no javascript abaixo é um pouco diferente porque mais casas decimais são consideradas.

A fórmula da somatória dos índices de coincidência de cada letra para se obter o Índice de Coincidência do texto está abaixo:

Somatória

A fórmula final do Índice de Coincidência

Esta é, portanto, a fórmula final que permite calcular o Índice de Coincidência de um texto, seja claro ou cifrado.

IC

Confira o Índice

Referências

[FRIEDMAN1] Friedman, William F. and Callimahos, Lambros D., Military Cryptanalytics Part I - Volume 1, Aegean Park Press, Laguna Hills, CA, 1985.
[FRIEDMAN2] Friedman, William F., The Index of Coincidence and Its Applications In Cryptography, Publication 22, The Riverbank Publications, Aegean Park Press, Laguna Hills, CA, 1979.
[POMMERENING] Kryptologie - Koinzidenzindizes nach FRIEDMAN
Вадим Логофет отецказан чугунный для костралобановский обыскалександр лобановскийavoкупить электроинструментотзывы полигон

Informações adicionais