# CipherSaber

CipherSaber és un protocol de xifratge simètric senzill basat en el xifratge de flux RC4. Els seus objectius són tant tècnics com polítics: ofereix una protecció raonablement forta de la confidencialitat dels missatges, però està dissenyat per ser prou senzill perquè fins i tot els programadors novells puguin memoritzar l'algoritme i implementar-lo des de zero. Segons el dissenyador, una versió de CipherSaber en el llenguatge de programació QBASIC només necessita setze línies de codi. El seu aspecte polític és que, com que és tan senzill, es pot tornar a implementar en qualsevol lloc i en qualsevol moment i, per tant, proporciona una manera perquè els usuaris es comuniquin de manera privada, encara que els controls governamentals o altres facin completament impossible la distribució del programari criptogràfic normal.

## Història i finalitat

CipherSaber va ser inventat per Arnold Reinhold per mantenir una criptografia forta a les mans del públic. Molts governs han implementat restriccions legals sobre qui pot utilitzar la criptografia, i molts més les han proposat. En donar a conèixer els detalls d'un algorisme de xifratge segur però fàcil de programar, Reinhold espera mantenir la tecnologia de xifratge accessible per a tothom.
A diferència de programes com PGP que es distribueixen com a programari preescrit còmode d'utilitzar, Reinhold publica CipherSaber només com a especificació. L'especificació està pensada per ser tan senzilla que fins i tot un programador principiant la pugui implementar fàcilment. Tal com explica el lloc web de CipherSaber :
    A la trilogia Star Wars de George Lucas, s'esperava que els cavallers Jedi fessin els seus propis sabres de llum. El missatge era clar: un guerrer enfrontat a un poderós imperi decidit al control totalitari ha de ser autosuficient. A mesura que ens enfrontem a una amenaça real d'una prohibició de la distribució de criptografia forta, als Estats Units i possiblement a tot el món, hauríem d'emular els mestres Jedi aprenent a crear programes de criptografia forts per nosaltres mateixos. Si això es pot fer, la criptografia forta serà impossible de suprimir.
El lloc web té un fitxer gràfic que es mostra com a certificat "CipherKnight"; tanmateix, aquest fitxer es xifra mitjançant CipherSaber amb una clau coneguda publicada al costat del fitxer. Els usuaris poden veure el gràfic (i, opcionalment, imprimir-lo per emmarcar) escrivint primer la seva pròpia implementació de CipherSaber per desxifrar el fitxer. Escrivint la seva pròpia implementació i realitzant algunes altres tasques petites, l'usuari es converteix en un CipherKnight i el certificat desxifrat certifica el seu títol de cavaller. Per tant, en lloc de proporcionar una eina ja feta, el dissenyador de CipherSaber espera ajudar els usuaris d'ordinadors a entendre que són capaços de fer els seus propis programes de criptografia forts sense haver de dependre de desenvolupadors professionals o el permís del govern.

## Descripció tècnica

A la versió original de CipherSaber (ara anomenada CipherSaber-1 o CS1), cada missatge xifrat comença amb un vector d'inicialització aleatori de deu bytes (IV). Aquest IV s'adjunta a la clau CipherSaber per formar l'entrada a l'algoritme de configuració de la clau RC4. El missatge, XORed amb el flux de claus RC4, segueix immediatament.
L'atac de Fluhrer, Mantin i Shamir a RC4 ha fet que CipherSaber-1 sigui vulnerable si s'envien un gran nombre (>1000) missatges amb la mateixa clau CipherSaber. Per solucionar-ho, el dissenyador de CipherSaber ha fet un protocol modificat (anomenat CipherSaber-2) en què el bucle de configuració de la clau RC4 es repeteix diverses vegades (es recomana 20). A més d'acordar una clau secreta, les parts que es comuniquen amb CipherSaber-2 han d'acordar quantes vegades repetir aquest bucle.
La sortida del text xifrat és un flux de bytes binari que està dissenyat per ser "indistingible del soroll aleatori". Per utilitzar-lo amb sistemes de comunicacions que només accepten dades ASCII, l'autor recomana codificar el flux de bytes com a dígits hexadecimals. Això és menys eficient que, per exemple, la codificació MIME base64, però és molt més senzill de programar, d'acord amb l'objectiu de CipherSaber de màxima facilitat d'implementació.

## Referències

* ↑ «CipherSaber Home Page» (en anglès). [Consulta: 2 octubre 2024].
* ↑ «CipherSaber – Rule The Web» (en anglès americà), 04-04-2014. [Consulta: 2 octubre 2024].
* ↑ «BartMassey/ciphersaber2» (en anglès), 10-06-2021. [Consulta: 2 octubre 2024].
* ↑ «Ciphersaber (QBASIC) - LiteratePrograms» (en anglès). [Consulta: 2 octubre 2024].