# GOST 28147-89

GOST és un algorisme de xifratge per blocs inventat a la Unió Soviètica i publicat com a centraleta el 1990 (GOST 28147-89). El nom de GOST prové de Gosudarstvennyi Standard, que significa «estàndard governamental». GOST és un estàndard més ampli que cobreix tant les firmes digitals com les funcions de "hash".
GOST va ser, d'alguna manera, l'equivalent soviètic de l'estandard americà DES. Els dos algorismes són relativament semblants amb l'ús d'una xarxa de Feistel.

## Funcionament

GOST fa servir un bloc de 64 bits i una clau de 256 bits. Les seves caixes-S (caixes de substitució) poden ser secretes i contenen aproximadament 512 bits protegits, la qual cosa permet tenir una clau efectiva de 768 bits. La xarxa de Feistel posseeix 32 rondes; cada etapa és senzilla:
* addició d'una subclau de 32 bits (mòdul 2³²)
* pas del resultat a una sèrie de substitucions via les caixes-S
* rotació del resultat cap a l'esquerra 11 bits
Després de la rotació s'obté la sortida de la funció present a cada volta. La programació de claus és igualment senzilla:
* dividir la clau de 256 bits en 8 subclaus de 32 bits
* fer servir quatre vegades cada clau en l'algorisme
Les caixes-S accepten les entrades de 4 bits i produeixen una sortida de 4 bits. La substitució a cada volta comprèn vuit caixes de 4x4 elements.
Aquestes substitucions depenen de la implementació i de la seguretat desitjada (caixes-S secretes o no). Els valors de les caixes-S no eren proveïts en les especificacions, cosa que va fer suposar que el govern havia distribuït voluntàriament valors vulnerables. Bruce Schneier va informar que un constructor de circuits integrats dedicats a GOST havia generat les caixes-S ell mateix amb l'ajuda d'un generador de nombres pseudoaleatoris.

## Criptoanàlisi

Respecte a DES, l'estructura de cada volta en GOST és molt senzilla. Tanmateix, els dissenyadors de GOST han intentat compensar aquesta simplicitat integrant 32 rondes dins de l'algorisme i la possibilitat de tenir les caixes-S secretes.
L'efecte allau és més lent a aparèixer en GOST que en DES. L'estandard soviètic fa servir una rotació en lloc d'una permutació. Això és compensat, una vegada més, per l'augment del nombre de rondes.
Hi ha hagut relativament poca criptoanàlisi de GOST en relació amb DES, però, malgrat la seva simplicitat, és relativament robust. El gran nombre de rondes i les caixes secretes fan la criptanàlisi diferencial o lineal més difícil. Fins i tot si l'efecte allau és més lent en iniciar-se, es mostra eficaç al final de les 32 rondes.
El 1996, Bruce Schneier, Niels Ferguson i David Wagner havien criptoanalitzat la programació de claus de GOST. Fins i tot si el seu atac no és practicable, van mostrar que l'ús d'un generador aleatori per omplir les caixes de substitució no era una bona idea.
Per a més informacions també s'aconsella llegir Further Comments on the Soviet Encryption Algorithm, de Zhang, Pieprzyk et alii.

## Referències

* Schneier, Bruce. Applied Cryptography, 2nd edition, 1996. ISBN 0-471-11709-9.

## Enllaços externs

* (anglès) Gost, l'algorisme soviètic de xifratge Arxivat 2008-09-15 a Wayback Machine.
* (anglès) Fiche SCAN de GOST
* (anglès) Further Comments on Soviet Encryption Algorithm Arxivat 2005-10-30 a Wayback Machine.
* (anglès) Key schedule cryptanalysis of GOST