Programació de claus

La programació de claus de DES ("<<<" denota una rotació vers l'esquerra)

En criptografia, l'anomenat xiframent per producte és una classe de xiframent, on el (des-)xiratge de dades es fa en "rondes". L'organització general de cada ronda és la mateixa, amb l'excepció d'alguns paràmetres durament codificats i una part de la clau, anomenada una subclau. Una prgoramancó de clau és un algorisme que, donada la clau, calcula les subclaus que es faran servir en aquestes rondes.

Alguns tipus de programacions de clau

  • Alguns sistemes de xifratge tenen programacions de clau simples. Per exemple, el xifratge per bloc TEA simplement parteix la clau de 128 bits en quatre peces de 32 bits i els fa servir repetidament en successives rondes.
  • DES fa servir una programació de clau on la clau de 56 bits es divideix en dues meitats de 28 bits; cada meitat es tracta després separadament. En successives rondes, les dues meitats es giren cap a l'esquerra un o dos bits (especificats per a cada ronda), i llavors 48 bits de subclau es seleccionen per Permuted Choice 2 (PC-2) (tria permitada 2) - 24 bits de la meitat de l'esquerra, i 24 de la de la dreta. Les rotacions signifiquen que un conjunt diferent de bits s'utilitzen en cada subclau; cada bit es fa servir en aproximadament 14 d'entre les 16 subclaus.
  • En un esforç per evitar relacions simples entre la clau de xifratge i les subclaus, per resistir a formes de criptoanàlisi lineal tals com l'atac per clau relacionada i l'atac per lliscament, molts xifratges moderns fan servir programacions de clau molt més elaborats, algorismes que fan servir una funció unidireccional per generar una "clau expandida" de la qual es treuen les subclaus. Alguns xifratges, com Rijndael (AES) i Blowfish, fan servir parts de l'algorisme de xifratge mateix per a aquesta expansió clau a vegades inicialitzada amb alguns " nombres de tipus no tinc res amagat a la màniga". Altres xifratges com RC5, expandeix les claus amb funcions que són una mica o completament diferents de les funcions d'encriptació.

Notes

Knudsen i Mathiassen (2004) donen alguna prova experimental que indica que la programació de clau jugua una part a proporcionar força en contra els criptoanàlisi lineal i diferencial. Per a Xarxwa de Feistel de juguet, s'observava que els que tenen programacions de clau complexes i ben dissenyades poden arribar a una distribució uniforme per a les probabilitats dels criptoanàlisis lineal i diferencials més ràpid que aquells amb programacions de clau pobrament dissenyats.

Referències

  • Lars R. Knudsen and John Erik Mathiassen, On the Role of Key Schedules in Attacks on Iterated Ciphers, ESORICS 2004, pp322–334.
  • Uri Blumenthal and Steven M. Bellovin, A Better Key Schedule for DES-like Ciphers, Proceedings of PRAGOCRYPT '96.