Remove ads
xifratge de blocs de clau simètric derivat de RC5 From Wikipedia, the free encyclopedia
En criptografia, RC6 (Rivest cipher 6) és un xifratge de blocs de clau simètric derivat de RC5. Va ser dissenyat per Ron Rivest, Matt Robshaw, Ray Sidney i Yiqun Lisa Yin per complir els requisits de la competició Advanced Encryption Standard (AES). L'algoritme va ser un dels cinc finalistes, i també es va presentar als projectes NESSIE i CRYPTREC. Era un algorisme propietari, patentat per RSA Security.[1]
RC6 | |
---|---|
Detall | |
Estructura | Xarxa tipus Feistel |
RC6 pròpiament dit té una mida de bloc de 128 bits i admet mides de clau de 128, 192 i 256 bits fins a 2040 bits, però, com RC5, es pot parametritzar per suportar una gran varietat de longituds de paraules, mides de clau i nombre de rondes. RC6 és molt semblant a RC5 en l'estructura, utilitzant rotacions dependents de dades, addició modular i operacions XOR; de fet, RC6 es podria veure com entrellaçant dos processos de xifratge RC5 paral·lels, tot i que RC6 utilitza una operació de multiplicació addicional no present a RC5 per tal de fer que la rotació depengui de cada bit d'una paraula, i no només dels pocs bits menys significatius.[2]
Tingueu en compte que l'algoritme d'expansió de claus és pràcticament idèntic al de RC5. L'única diferència és que per a RC6, es deriven més paraules de la clau subministrada per l'usuari.
// Encryption/Decryption with RC6-w/r/b
//
// Input: Plaintext stored in four w-bit input registers A, B, C & D
// r is the number of rounds
// w-bit round keys S[0, ... , 2r + 3]
//
// Output: Ciphertext stored in A, B, C, D
//
// '''Encryption Procedure:'''
B = B + S[0]
D = D + S[1]
for i = 1 to r do
{
t = (B * (2B + 1)) <<< lg w
u = (D * (2D + 1)) <<< lg w
A = ((A ^ t) <<< u) + S[2i]
C = ((C ^ u) <<< t) + S[2i + 1]
(A, B, C, D) = (B, C, D, A)
}
A = A + S[2r + 2]
C = C + S[2r + 3]
// '''Decryption Procedure:'''
C = C - S[2r + 3]
A = A - S[2r + 2]
for i = r downto 1 do
{
(A, B, C, D) = (D, A, B, C)
u = (D * (2D + 1)) <<< lg w
t = (B * (2B + 1)) <<< lg w
C = ((C - S[2i + 1]) >>> t) ^ u
A = ((A - S[2i]) >>> u) ^ t
}
D = D - S[1]
B = B - S[0]
L'agost de 2016, es va revelar el codi que es coneixia com a "implants" d'Equation Group o NSA per a diversos dispositius de seguretat de xarxa. Les instruccions adjuntes van revelar que alguns d'aquests programes utilitzen RC6 per a la confidencialitat de les comunicacions de xarxa.[3]
Com que RC6 no es va seleccionar per a l'AES, no es va garantir que RC6 estigui lliure de drets d'autor. A Gener 2017[update] </link></link> , una pàgina web del lloc web oficial dels dissenyadors de RC6, RSA Laboratories, afirma el següent: [4]
L'èmfasi a la paraula "si" suggereix que RSA Security Inc. pot haver requerit llicències i pagaments de drets d'autor per a qualsevol producte que utilitzi l'algorisme RC6. RC6 era un algorisme de xifratge patentat; no obstant això, les patents van caducar entre el 2015 i el 2017.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.