RC2

Da Wikipedia, l'enciclopedia libera.
RC2
RC2 InfoBox Diagram.png
La funzione di mescolamento dell'RC2: quattro di esse costituiscono un MIXING round, un passaggio di mescolamento
Generale
Progettisti Ronald Rivest
Prima pubblicazione sviluppato nel 1987, svelato nel 1996
Dettagli
Dimensione chiave da 8 a 128 bit, con incrementi di 8 bit (default: 64 bit)
Dimensione blocco 64 bit
Struttura Rete di Feistel
Numero di passaggi 18 (16+2)
Migliore crittanalisi
Un attacco correlato alla chiave è attuabile con 234 testi in chiaro scelti (Kelsey ed aa.vv., 1997)

In crittografia l'RC2 è un cifrario a blocchi progettato da Ronald Rivest nel 1987 (la sigla "RC" sta per "Ron's Code" o "Rivest Cipher").

Storia[modifica | modifica wikitesto]

Lo sviluppo dell'RC2 fu voluto dalla Lotus Software la quale era alla ricerca di un cifrario da esportato al di fuori degli USA come algoritmo crittografico integrato nel suo Lotus Notes. A causa della ferrea regolamentazione in materia di esportazione della crittografia al di fuori del Paese che vigeva negli USA in quel periodo (e che è durata fino al 1996), Louts dovette presentare il cifrario alla NSA per il suo esame. L'NSA ricevette l'RC2 e suggerì alcune modifiche, tra cui la limitazione della lunghezza della chiave a 40 bit il massimo consentito dalla legge per l'esportazione di primitive crittografiche. Le modifiche furono apportate da Rivest molto velocemente, dato che l'algoritmo supportava già nativamente chiavi di lunghezza variabile, e l'RC2 fu così approvato nel 1989.

Inizialmente i dettagli dell'algoritmo, di proprietà di RSA Security, la società per cui lavorava Rivest, furono tenuti segreti; ma il 29 gennaio 1996 fu pubblicato da un utente anonimo sul forum sci.crypt di Usenet il codice sorgente di un algoritmo crittografico i cui risultati erano identici a quelli ottenuti dall'RC2 originale (una simile scoperta era già stata effettuata nel 1994 quando ad essere pubblicato sullo stesso forum fu il codice sorgente dell'RC4, anch'esso tenuto segreto fino ad allora): non è chiaro se chi pubblicò il codice sorgente ebbe accesso alle specifiche dell'algoritmo oppure lo ottenne mediante ingegneria inversa.

Struttura[modifica | modifica wikitesto]

L'RC2 lavora su blocchi dati di 64 bit con una chiave di lunghezza variabile da 8 a 128 bit, con incrementi di 8 bit. La funzione di Feistel opera sui dati con 18 passaggi: 16 sono di un tipo definito MIXING (mescolamento), che consistono di 4 applicazioni di una funzione di trasformazione denominata MIX (mostrata nel diagramma in figura), e 2 di un altro tipo definito MASHING (mescolamento).

Sicurezza[modifica | modifica wikitesto]

L'RC2 è vulnerabile ad un attacco correlato alla chiave attuato con 234 testi in chiaro scelti[1].

Note[modifica | modifica wikitesto]

  1. ^ Kelsey e aa.vv. - 1997

Voci correlate[modifica | modifica wikitesto]

Fonti[modifica | modifica wikitesto]

Bibliografia[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]