Cifrado César

Na Galipedia, a Wikipedia en galego.

En criptografía, o cifrado César, tamén coñecido como cifrado por desprazamento, código de César ou desprazamento de César, é unha das técnicas de codificación máis simples e máis usadas. É un tipo de cifrado por substitución no que unha letra no texto orixinal é substituída por outra letra que se atopa un número fixo de posicións máis adiante no alfabeto. Por exemplo, cun desprazamento de 3, o A sería substituído polo D (situado 3 lugares á dereita do A), o B sería substituído polo E etc. Este método debe o seu nome a Xulio César, que o usaba para comunicarse cos seus xenerais.

O cifrado César moitas veces pode formar parte de sistemas máis complexos de codificación, como o cifrado Vigenère, e ata ten aplicación no sistema ROT13. Como todos os cifrados de substitución alfabética simple, o cifrado César se descifra con facilidade e na práctica non ofrece moita seguridade na comunicación.

Exemplo[editar | editar a fonte]

A transformación pódese representar alineando dous alfabetos; o alfabeto cifrado e un alfabeto normal que está desprazado un número determinado de posicións cara á esquerda ou á dereita. Por exemplo, aquí o cifrado César está usando un desprazamento de seis espazos cara á dereita:

Texto orixinal:   ABCDEFGHIJKLMNÑOPQRSTUVWXYZ
Texto codificado: GHIJKLMNÑOPQRSTUVWXYZABCDEF

Para codificar unha mensaxe, simplemente débese buscar cada letra da liña do texto orixinal e escribir a letra correspondente na liña codificada. Para descodificalo deber facer o contrario.

Texto orixinal:   WIKIPEDIA, A ENCICLOPEDIA LIBRE
Texto codificado: CÑPÑVKJÑG, G KSIÑIQUVKJÑG QÑHXK


A codificación tamén se pode representar usando aritmética modular, transformando as letras en números, de acordo ao esquema A = 0, B = 1,..., Z = 26.[1] A codificación da letra x cun desprazamento n pode ser descrita matematicamente como:[2]

E_n(x) = x + n \mod {27}.

A descodificación faise de maneira similar:

D_n(x) = x - n \mod {27}.

A operación de substitución consérvase sempre ao longo de toda a mensaxe, polo que o cifrado se clasifica coma un cifrado de tipo substitución monoalfabética, en oposición a substitución polialfabética.

Historia e uso[editar | editar a fonte]

O cifrado César foi nomeado así en honra a Xulio César, quen usou un alfabeto con desprazamento de tres espazos.

O cifrado César recibe o seu nome en honra a Xulio César, que, segundo Suetonio, o usou cun desprazamento de tres espazos para protexer as súas mensaxes importantes de contido militar:

Se tiña que dicir algo confidencial, escribíao usando o cifrado, isto é, cambiando a orde das letras do alfabeto, para que nin unha palabra puidese entenderse. Se alguén quere descodificalo, e entender o seu significado, debe substituír a cuarta letra do alfabeto, é dicir, o D polo A, e así cos demais.
Suetonio, Vida dos Césares 56 [1].

Aínda que César é a primeira persoa da que se sabe que usase este sistema, anteriormente xa se utilizaron outros cifrados por substitución. O sobriño de Xulio César, Augusto, tamén empregou o cifrado pero cun desprazamento de un:

Cando escribía un texto cifrado, substituía o B polo A, o C polo B e o resto das letras dese mesmo modo, usando AA para X.
Suetonio, Vida de Augusto 88.

Hai indicios de que Xulio César usaba tamén sistemas máis complicados, e un escritor, Aulo Xelio, fai referencia a un tratado (agora perdido) sobre o cifrado:[3]

Hai incluso un tratado enxeñosamente escrito do gramático Probus referente ao significado secreto das letras na composición das epístolas do César.
Aulo Xelio, 17.9.1–5.

Non se sabe como de efectivo resultaba realmente o cifrado César nesa época, pero debeu ser razoablemente seguro, xa que poucos inimigos de César saberían ler, e moito menos poderían levar a cabo a criptoanálise necesaria. Asumindo que o atacante puidese ler a mensaxe, non existen probas da existencia de técnicas para solucionar este tipo de codificación.[4]

No século XIX, a sección de avisos persoais dos xornais servía ás veces para intercambiar mensaxes codificadas usando técnicas de cifrado simples. David Kahn (1967) describe algúns exemplos de comunicación secreta entre amantes que utilizaban este cifrado no periódico The Times.[5] Mesmo en 1915, o cifrado César ainda era utilizado: a armada rusa empregábao substituíndo outros cifrados máis complicados que resultasen moi difíciles de utilizar polas súas tropas; os criptoanalistas alemáns e austríacos non tiveron moita dificultade para decodificar as mensaxes.[6]

O cifrado César pódese encontrar na actualidade nalgúns xoguetes modernos, coma os aneis decodificadores. No algoritmo ROT13 úsase o cifrado César cun desprazamento de 13, un método simple para ofuscar o texto que se usa nalgúns foros de internet para ocultar texto (coma a liña final dun chiste ou partes dunha historia que non se quere revelar), pero non se usa como método de codificación.[7]

O cifrado Vigenère usa o cifrado César cun desprazamento diferente en cada posición do texto; o valor do desprazamento defínese usando unha palabra clave repetitiva. Se a palabra clave fose escollida ao chou e tan longa coma a mensaxe (para que non se repita), o sistema resultante sería, en teoría, indescifrábel. Para claves máis curtas que a mensaxe (é dicir, polo cifrado Vigenère), que é o que se usaba historicamente, aparece no texto un padrón cíclico que se pode detectar co método Kasiski, e saber a lonxitude da clave. Unha vez coñecida a lonxitude da clave, por exemplo k, entón o criptograma descomponse en criptogramas k de César que se poden descifrar cunha análise frecuencial.[8]

A modo anecdótico, cómpre sinalar tamén que o capo mafioso Bernardo Provenzano, detido en 2006, utilizaba para comunicarse, en pleno século XXI, notas escritas cunha máquina de escribir, codificadas mediante este rudimentario algoritmo, renegando de calquera tecnoloxía nova como o teléfono móbil ou a internet. A pesar do rudimentario do sistema, conseguíu ter á policía despistada durante anos.[9]

Descifrado[editar | editar a fonte]

Desprazamento Posible mensaxe
orixinal
0 Ep exeuyi
1 Do dwdtxh
2 Cn cvcswg
3 Bm bubrvf
4 Ao ataque
5 Zk zszptd
6 Yj yryosc
...
23 Hs hahxbl
24 Gr gzgwak
25 Fq fyfvzj

O descifrado do cifrado César pódese facer doadamente, mesmo se só se dispón dun texto cifrado curto. Pódense considerar dúas situacións:

  1. Un atacante coñece (ou adiviña) que se pode utilizar algunha forma simple de substitución de letras, pero non sabe que se usa o cifrado César.
  2. Un atacante sabe que se empregou o cifrado César, pero non coñece o valor do desprazamento.

Na primeira situación pódense aplicar dous métodos. O primeiro baseado nun ataque de forza bruta:[10] como só existe un determinado número de valores de desprazamento, pódense probar todos ata encontrar unha mensaxe coherente.[11] Unha forma de facer isto é usar unha taboa e en cada ringleira escribir o texto cun desprazamento diferente.[12] O exemplo de texto cifrado dado na táboa da dereita é "Ep exeuyi"; pódese recoñecer a mensaxe orixinal a primeira ollada cun desprazamento de catro.

Na segunda situación, o proceso de descifrado é aínda máis directo. Como só hai un número limitado de posibles desprazamentos, pódense probar todos por orde, nun ataque por forza bruta.[13] Unha forma de facelo é escribir unha táboa na que se descifra un anaco do texto con todos os desprazamentos posibles[14] — esta técnica ás veces coñécese como «completando o compoñente claro».[15] No exemplo da táboa da dereita inténtase decodificar o texto cifrado «Ep exeuyi»; neste caso, o texto coherente recoñécese instantaneamente a primeira ollada, atopándose codificado por un desfasamento de cinco letras cara á esquerda. Outra forma de obter a solución mediante este método é escribindo debaixo de cada letra o alfabeto en orde inversa e empezando por esa letra. Este proceso pódese acelerar usando cintas verticais co alfabeto escrito en orde inversa e aliñado, de modo que formen o texto cifrado nunha fila. Así, o texto coherente debe aparecer nalgunha das filas.

Distribución das letras nun texto común.

O segundo método de descifrado consiste en comparar as distribucións de frecuencias das letras (análises de frecuencia). Representando as frecuencias das letras no texto cifrado e coñecendo a distribución de letras no idioma orixinal da mensaxe orixinal, unha persoa pode determinar facilmente o valor do desprazamento. Por exemplo, en español, as frecuencias das letras E e A (as máis frecuentes) e as da K e a W (as menos frecuentes) son particularmente distinguibles.[16] Os ordenadores tamén poden facelo a base de medicións, facendo que a distribución actual coincida coa distribución esperada (pódese utilizar por exemplo un análise de distribución chi cadrado).[17]

A maioría das veces só se atopará unha mensaxe descifrada. Con todo, cando a mensaxe é moi curta poden aparecer varias palabras descifradas. Por exemplo, "ezaz" pode ser descifrado como "topo" ou "xefe"; de xeito similar "xzyz" pode ser descifrado como "cede" ou "mono".

Repetir o proceso de cifrado varias veces non mellora a seguridade. Isto débese a que usar dous desprazamentos, por exemplo o desprazamento A e o desprazamento B, sería equivalente a usar un desprazamento de A B. En terminoloxía matemática, o cifrado repetido con diferentes claves forma un grupo.[18]

Notas[editar | editar a fonte]

  1. Cryptology: From Caesar Ciphers to Public-Key Cryptosystems. 18. January 1987. pp. 3. DOI:10.2307/2686311.
  2. Wobst, Reinhard (2001). Cryptology Unlocked. pp. 19. ISBN 978-0470060643.
  3. Classical Cryptography. 58. December 1992. pp. 114.
  4. Fundamentals of Computer Security. Springer. pp. 6. ISBN 3540431012.
  5. Kahn, David (1967). The Codebreakers. pp. 775–6. ISBN 978-0-684-83130-5).
  6. Kahn, David (1967). The Codebreakers. pp. 631–2. ISBN 978-0-684-83130-5).
  7. Wobst, Reinhard (2001). Cryptology Unlocked. Wiley. pp. 20. ISBN 978-0470060643.
  8. Kahn, David. The Codebreakers, 1967. ISBN 978-0-684-83130-5.
  9. Mafia boss undone by clumsy crypto. The Register. 19 de abril de 2006. http://www.theregister.co.uk/2006/04/19/mafia_don_clueless_crypto/. Consultado o 13 de xuño de 2008.
  10. Beutelspacher, Albrecht (1994). Cryptology. Mathematical Association of America. pp. 8–9. ISBN 0-88385-504-6.
  11. Secret Communication among the Greeks and Romans. 10. April 1969. pp. 153. DOI:10.2307/3101474.
  12. Sinkov, Abraham; Paul L. Irwin (1966). Elementary Cryptanalysis: A Mathematical Approach. Mathematical Association of America. pp. 13–15. ISBN 0883856220.
  13. Beutelspacher, Albrecht. Cryptology. Mathematical Association of America, 1994, 8–9. ISBN 0-88385-504-6.
  14. Leighton, Albert C. «Secret Communication among the Greeks and Romans». Technology and Culture, vol. 10, 2, pàg. 153.
  15. Sinkov, Abraham; Paul L. Irwin. Elementary Cryptanalysis: A Mathematical Approach. Mathematical Association of America, 1966, 13–15. ISBN 0-88385-622-0.
  16. Singh, Simon. The Code Book. Anchor, 2000, 72?77. ISBN 0-385-49532-3.
  17. Savarese, Chris; Brian Hart. «The Caesar Ciphe r», 15-7-2002. Consultado o 16 de xullo de 2008.
  18. Wobst, Reinhard (2001). Cryptology Unlocked. Wiley. pp. 31. ISBN 978-0-470-06064-3.

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]

Bibliografía[editar | editar a fonte]

Ligazóns externas[editar | editar a fonte]