A cifra de Porta é uma cifra polialfabética descrita em 1563 pelo estudioso italiano Giovanni Battista della Porta. Foi um dos primeiros métodos a usar vários alfabetos e mudar de alfabeto para cada letra cifrada. Isso a tornava mais robusta do que muitas cifras de sua época, e ela foi usada por cerca de três séculos, até o século XIX.
O princípio é simples. Cada par de letras do alfabeto possui seu próprio alfabeto de substituição. Como o alfabeto latino tem 13 pares, existem 13 alfabetos: AB, CD, EF, GH, IJ, KL, MN, OP, QR, ST, UV, WX e YZ. Eles podem ser deduzidos facilmente da tabela. O próprio Porta recomendava alfabetos aleatórios para aumentar a segurança e levá-los consigo para decifrar. Aqui são usados os alfabetos normais por simplicidade. Para cifrar, escolhe-se o alfabeto correspondente à letra atual da chave e procura-se a letra oposta. Um exemplo ajuda a entender:
|
Para compreender bem a cifra de Porta, vejamos o exemplo acima. Queremos cifrar a sequência “Porta cipher” com a chave “key”:
| C | h | i | f | f | r | e | d | e | P | o | r | t | a | ||
| c | l | e | c | l | e | c | l | e | c | l | e | c | l | ||
| o | p | t | r | n | g | q | y | p | d | g | g | h | v |
A chave é repetida quantas vezes forem necessárias para alcançar o comprimento do texto. Depois, para cada letra, procura-se sua correspondente no alfabeto indicado pela letra atual da chave. Para cifrar o primeiro “p” com a letra de chave “k”, usa-se o alfabeto “KL”, no qual p corresponde a h. Para “o”, a letra de chave “e” indica o alfabeto “EF”, no qual o vira d, e assim por diante.
Para decifrar a cifra de Porta, basta inverter o processo. Normalmente são necessárias a chave e os alfabetos usados. A cifra foi considerada segura até que o criptoanalista Kasiski conseguiu quebrá-la em 1863 usando uma simples análise de frequência depois de determinar o comprimento da chave, por exemplo com o teste de Friedman. Uma chave muito longa e aleatória e um texto cifrado curto dificultam a análise, mas o método não é considerado seguro atualmente. Uma cifra de Porta pode ser suspeitada por seu baixo índice de coincidência, causado pelo uso de vários alfabetos.