Cifra Autokey - Autokey cipher
Uma cifra autokey (também conhecida como cifra autoclave ) é uma cifra que incorpora a mensagem (o texto simples ) na chave . A chave é gerada a partir da mensagem de alguma forma automatizada, às vezes selecionando certas letras do texto ou, mais comumente, adicionando uma pequena chave de introdução à frente da mensagem.
Existem duas formas de cifra autokey: cifras key-autokey e text-autokey . Uma cifra autokey de chave usa membros anteriores do fluxo de chaves para determinar o próximo elemento no fluxo de chaves. Uma autokey de texto usa o texto da mensagem anterior para determinar o próximo elemento no fluxo de chaves.
Na criptografia moderna, as cifras de fluxo de sincronização automática são cifras autokey.
História
Esta cifra foi inventada em 1586 por Blaise de Vigenère com uma tabela recíproca de dez alfabetos. A versão de Vigenère usava uma letra do alfabeto combinada como base, criando a chave escrevendo essa letra e depois o resto da mensagem.
Autokies mais populares usam uma tabula recta , um quadrado com 26 cópias do alfabeto, a primeira linha começando com 'A', a próxima linha começando com 'B' etc. , e a chave é gerada escrevendo a cartilha e depois o resto da mensagem, como na versão de Vigenère. Para criptografar um texto simples, a linha com a primeira letra da mensagem e a coluna com a primeira letra da chave são localizadas. A letra na qual a linha e a coluna se cruzam é a letra do texto cifrado.
Método
A cifra autokey, conforme usada pelos membros da American Cryptogram Association , começa com uma palavra-chave relativamente curta, o primer , e anexa a mensagem a ela. Se, por exemplo, a palavra-chave for QUEENLY
e a mensagem for attack at dawn
, a chave será QUEENLYATTACKATDAWN
.
Plaintext: attackatdawn... Key: QUEENLYATTACKATDAWN.... Ciphertext: QNXEPVYTWTWP...
A mensagem de texto cifrado seria, portanto, "QNXEPVYTWTWP".
Para descriptografar a mensagem, o destinatário começaria escrevendo a palavra-chave combinada.
QNXEPVYTWTWP QUEENLY
A primeira letra da chave, Q, seria então obtida e essa linha seria encontrada em uma tabula recta. Essa coluna para a primeira letra do texto cifrado seria examinada, também Q neste caso, e a letra do topo seria recuperada, A. Agora, essa letra seria adicionada ao final da chave:
QNXEPVYTWTWP QUEENLYA a
Então, como a próxima letra na chave é U e a próxima letra no texto cifrado é N, a linha U é examinada para encontrar o N para recuperar T:
QNXEPVYTWTWP QUEENLYAT at
Isso continua até que toda a chave seja reconstruída, quando o primer pode ser removido desde o início.
Com a cifra autokey de Vigenère, um único erro na criptografia torna o resto da mensagem ininteligível.
Criptanálise
As cifras Autokey são um pouco mais seguras do que as cifras polialfabéticas que usam chaves fixas, pois a chave não se repete em uma única mensagem. Portanto, métodos como o exame Kasiski ou o índice de análise de coincidência não funcionarão no texto cifrado, ao contrário de cifras semelhantes que usam uma única chave repetida.
Uma fraqueza crucial do sistema, no entanto, é que o texto simples é parte da chave. Isso significa que a chave provavelmente conterá palavras comuns em vários pontos. A chave pode ser atacada usando um dicionário de palavras comuns, bigramas , trigramas etc. e tentando decifrar a mensagem movendo essa palavra através da chave até que apareça um texto potencialmente legível.
Considere um exemplo de mensagem meet at the fountain
criptografada com a palavra KILT
- chave do primer : Para começar, o autokey seria construído colocando o primer na frente da mensagem:
plaintext: meetatthefountain primer: KILT autokey: KILTMEETATTHEFOUN
A mensagem é então criptografada usando a chave e os alfabetos de substituição, aqui uma tabula recta:
plaintext: meetatthefountain key: KILTMEETATTHEFOUN ciphertext: WMPMMXXAEYHBRYOCA
O invasor recebe apenas o texto cifrado e pode atacar o texto selecionando uma palavra que provavelmente aparecerá no texto simples. Neste exemplo, o invasor seleciona a palavra the
como uma parte potencial da mensagem original e, em seguida, tenta decodificá-la colocando THE
em todos os locais possíveis na chave:
ciphertext: WMP MMX XAE YHB RYO CA key: THE THE THE THE THE .. plaintext: dfl tft eta fax yrk .. ciphertext: W MPM MXX AEY HBR YOC A key: . THE THE THE THE THE . plaintext: . tii tqt hxu oun fhy . ciphertext: WM PMM XXA EYH BRY OCA key: .. THE THE THE THE THE plaintext: .. wfi eqw lrd iku vvw
Em cada caso, o texto simples resultante parece quase aleatório porque a chave não está alinhada para a maior parte do texto cifrado. No entanto, examinar os resultados pode sugerir que as localizações da chave estejam devidamente alinhadas. Nesses casos, o texto descriptografado resultante é potencialmente parte de uma palavra. Neste exemplo, é altamente improvável que dfl
seja o início do texto simples original e, portanto, é altamente improvável que as três primeiras letras da chave sejam THE
. Examinando os resultados, vários fragmentos que possivelmente são palavras podem ser vistos e outros podem ser eliminados. Em seguida, os fragmentos de texto simples podem ser classificados em sua ordem de probabilidade:
unlikely ←——————————————————→ promising eqw dfl tqt ... ... ... ... eta oun fax
Um fragmento de texto simples correto também aparecerá na chave, deslocado para a direita pelo comprimento da palavra-chave. Da mesma forma, o fragmento da chave adivinhada ( THE
) também aparece no texto simples deslocado para a esquerda. Assim, ao adivinhar os comprimentos das palavras-chave (provavelmente entre 3 e 12), mais texto simples e chave podem ser revelados.
Tentar isso com oun
, possivelmente depois de perder algum tempo com os outros, resulta no seguinte:
shift by 4: ciphertext: WMPMMXXAEYHBRYOCA key: ......ETA.THE.OUN plaintext: ......the.oun.ain
shift by 5: ciphertext: WMPMMXXAEYHBRYOCA key: .....EQW..THE..OU plaintext: .....the..oun..og
shift by 6: ciphertext: WMPMMXXAEYHBRYOCA key: ....TQT...THE...O plaintext: ....the...oun...m
Uma mudança de 4 pode parecer boa (ambos os outros têm Qs improváveis) e, portanto, o revelado ETA
pode ser deslocado de volta em 4 para o texto simples:
ciphertext: WMPMMXXAEYHBRYOCA key: ..LTM.ETA.THE.OUN plaintext: ..eta.the.oun.ain
Muito pode ser trabalhado agora. A palavra-chave tem provavelmente 4 caracteres ( ..LT
) e parte da mensagem é visível:
m.eta.the.oun.ain
Como as suposições em texto simples têm efeito nos 4 caracteres principais à esquerda, é fornecido feedback sobre suposições corretas e incorretas. As lacunas podem ser rapidamente preenchidas:
meetatthefountain
A facilidade da criptoanálise é causada pelo feedback da relação entre o texto simples e a chave. Uma suposição de três caracteres revela mais seis personagens (três de cada lado), que então revelam outros personagens, criando um efeito cascata. Isso permite que suposições incorretas sejam descartadas rapidamente.
Veja também
Notas
Referências
- Bellaso, Giovan Battista, Il vero modo di scrivere in cifra con facilà, prestezza, et securezza di Misser Giovan Battista Bellaso, gentil'huomo bresciano , Iacobo Britannico, Bressa 1564.
- Vigenère, Blaise de, Traicté des chiffres ou secrètes manières d'escrire , Abel l'Angelier, Paris 1586. ff. 46r-49v.
- LABRONICUS (Buonafalce, A), Primeiras Formas da Mesa de Porta , “O Criptograma”, vol. LX n. 2, Wilbraham 1994.
- Buonafalce, Augusto, Bellaso's Reciprocal Ciphers , “Cryptologia” 30 (1): 39-51, 2006.
- LABRONICUS (Buonafalce, A), Vigenère e Autokey. Uma atualização , “The Cryptogram”, vol. LXXIV n. 3, Plano 2008.
links externos
- Secret Code Breaker - AutoKey Cipher Decoder and Encoder
- Uma implementação Javascript da cifra Autokey