# SAFER

SAFER (Secure And Fast Encryption Routine) és el nom d'una família d'algorismes de xifratge per blocs dissenyats principalment per James Massey per a la societat Cylink Corporation. La primera versió SAFER K i la revisió SAFER SK parteixen dels mateixos principis per al xifratge però el nombre de voltes i la programació de claus es varen reforçar.
Algunes de les versions ulteriors com SAFER+ i SAFER++ han participat respectivament al concorres AES i al projecte NESSIE. Aquests algoritmes no han estat objecte de patents i poden ser utilitzats sense restricció.

## SAFER K i SAFER SK

La primera versió de SAFER SAFER K-64, va ser publicada per Massey el 1993. El «K-64» es refereix a la seva clau de 64 bits. La mida de bloc és de 64 bits. L'any següent, Massey va publicar una versió amb una clau de 128 bits i una programació de claus modificada que havia estat concebuda pel ministeri d'affers interiors de Singapur. Aquesta versió va ser designada SAFER K-128.
Lars Knudsen i Sean Murphy van descobrir les vulnerabilitats en aquesta versió i van demanar que la programació de claus fos reforçada segons els suggeriments de Knudsen. Aquestes variants van ser designades SAFER SK-64 i SAFER SK-128, el «SK» significa « Strengthened Key » (clau reforçada). La remor propagada per la FAQ sobre l'indret de RSA Security afirma que de fet aquest SK significaria « Stop Knudsen ». Una altra variant, amb una clau reduïda per a les restriccions d'exportació, va ser publicada: SAFER SK-40.
Tots aquests xiftages estan basats en la mateixa arquitectura de ronda. Cada ronda es divideix en quatre parts:
* mescla de clau
* capa de substitució
* segona mexcla de clau
* capa de difusió
En la primera etapa, el bloc en clar és dividit en 8 segments de 8 bits i les subclaus procedents de la programació de claus s'afegeixen via una addició mòdul 256 o un XOR. La capa de substitució consisteix en dos caixes S, sent una la inversa de l'altre. El seu contingut prové de l'exponenciació discreta de 45$^x$ i del logaritme x·log(45). Després d'una segona mescla de claus, Llavors la part de difusió utilitza un enfocament nou: una pseudotransformació d'Hadamard que es farà servir més tard en Twofish.

## SAFER+ i SAFER++

Més tard es varen dissenyar dues versions pels armenis Gurguèn Khatxatrian i Melsik Kureguian amb l'ajuda de Massey. L'esquema de xifratge va ser modificat per a l'ocasió i per tenir en compte noves restriccions.
* SAFER+ (Massey et alii, 1998) va ser candidat al concurs AES i té una mida de bloc de 128 bits. El xifratge no va ser finalista. SAFER+ ha estat inclòs a l'estàndard Bluetooth com a algorisme d'autentificació i per a la generació de claus.
* SAFER++ (Massey et alii, 2000) ha estat candidat per al projecte NESSIE. Van ser publicades dues versions, una de 64 bits i l'altre de 128 bits.

## Referències

* Alex Biryukov, Christophe De Cannière, Gustaf Dellkrantz: Cryptanalysis of SAFER++. CRYPTO 2003: 195-211
* Lars R. Knudsen: A Detailed Analysis of SAFER K. J. Cryptology 13(4): 417-436 (2000)
* James L. Massey: SAFER K-64: A Byte-Oriented Block-Ciphering Algorithm. Fast Software Encryption 1993: 1-17
* James L. Massey: SAFER K-64: One Year Later. Fast Software Encryption 1994: 212-241
* James Massey, Gurguèn Khatxatrian, Melsik Kureguian, Nomenament of SAFER+ tens Candidate Algorithm fur the Advanced Encryption Standard (AES)
* Massey, J l, "Announcement of té Strengthened Key Schedule fur the Cipher SAFER", September 9, 1995.
* James Massey, Gurguèn Khatxatrian, Melsik Kureguian, "Nomenament of SAFER++ tens Candidate Algorithm fur the New European Schemes fur Firmes, Integrity, and Encryption (NESSIE)," Presented at the First Open NESSIE Workshop, November 2000.
* Lars R. Knudsen: A Key-schedule Weakness in SAFER K-64. CRYPTO 1995: 274-286
* Lars R. Knudsen, Thomas A. Berson: Truncated Differentials of SAFER. Fast Software Encryption 1996: 15-26
* Nominació de SAFER+ tens Candidate Algorithm fur the Advanced Encryption Standard (AES), Submission document from Cylink Corporation to NIST, June 1998.

## Enllaços externs

* (francès) Traducció de l'atac de Schneier et alii. sobre SAFER+
* (anglès) Fiche SCAN de SAFER-K
* (anglès) Fiche SCAN de SAFER-SK