La crittografia si divide in crittografia e crittoanalisi. Inoltre, la crittografia assortisce un algoritmo simmetrico e un algoritmo e protocolli asimmetrici.
La crittografia è l'introduzione della crittografia sul lato mittente, seguita dalla decrittografia sul lato destinatario. Ciò impedisce l'accesso da parte di un avversario. Rijndael e rijndaelgestiti sono tali algoritmi. È stato ufficialmente accettato nel 2000.
Punti chiave
- Rijndael è un algoritmo di crittografia a chiave simmetrica selezionato come Advanced Encryption Standard (AES) del governo degli Stati Uniti.
- RijndaelManaged è una classe .NET che fornisce un'implementazione gestita dell'algoritmo Rijndael.
- Entrambi hanno lo stesso scopo di fornire la crittografia, ma RijndaelManaged offre un'interfaccia più accessibile per gli sviluppatori .NET.
Rijndael vs Rijndael gestito
Rijndael è un algoritmo di crittografia a blocchi utilizzato per la comunicazione sicura e la protezione dei dati. È una classe base scelta come Advanced Encryption Standard (AES). Rijndael gestita è la classe derivata e non ereditabile di Rijndael. Rientra nella categoria dei sigillati pubblici, il che indica che la classe non può essere estesa ulteriormente.

Rijndael è un algoritmo di codifica. Due studiosi belgi, Joan Daemen e Vincent Rijmen, hanno presentato al mondo un algoritmo di crittografia avanzato. Nel 1997 iniziarono la formazione dei Rijndael.
Dal nome, possiamo dire che Rijndael è una miscela di Daemen e Rijmen. Il NIST, o National Institute of Standard Technology, ha stabilito Rijndael come candidato di AES.
Rijndael managed è la classe estesa di Rijndael. Eredita completamente il codice della classe base (qui Rijndael) a parte l'inizializzazione e la distruzione. Non possiamo ereditare Rijndaelgestito in quanto è una classe sigillata.
Lo scopo di sigillare Rijndaelgestito è impedire che venga ulteriormente esteso da parte dei programmatori.
Tavola di comparazione
Parametri di confronto | Rijndael | Rijndael gestito |
---|---|---|
Classe | Classe base | Classe derivata |
Immobili | ereditabile | Non ereditabile |
Categoria | Classe astratta pubblica | Classe pubblica Sealed |
la creazione di istanze | Istanziato automaticamente | Non viene istanziato automaticamente |
Dipendenza | Non è necessario che contatti la classe derivata | Può contattare la classe base durante l'avvio |
Cos'è Rijndael?
Con il crollo di DES, il governo degli Stati Uniti aveva un disperato bisogno di un algoritmo di crittografia avanzato. Il NIST ha avviato una competizione aperta a livello internazionale nel 1997.
Quindici candidati hanno escogitato 15 diversi tipi di algoritmi. Tra questi, cinque sono riusciti nel turno successivo. Rijndael ha guadagnato il palco nel 2000.
Rijndael è stato progettato in modo efficiente da Vincent Rijmen e Joan Daemen. Rijndael è un codice a blocchi. Un codice a blocchi non è altro che la crittografia del testo in chiaro in testo cifrato utilizzando una chiave di cifratura e viceversa. È composto da permutazioni booleane che operano su vettori di bit.
La lunghezza del blocco e la lunghezza della chiave variano in Rijndael a qualsiasi multiplo di 32 bit. Il minimo è 128 bit e il massimo è 256 bit. Il numero di giri è proporzionale alla lunghezza della chiave.
10 giri per 128 bit, 12 giri per 192, 14 per 256. La sicurezza si restringe con un aumento dei giri. Ogni round è composto da 4 sequenze.
Passaggio SubBytes, seguito dal passaggio ShiftRows, seguito dal passaggio MixColumns e infine dal passaggio Aggiunta chiave. Durante la progettazione di Rijndael sono stati presi in considerazione tre criteri, che sono i seguenti
- Prevenzione da tutti gli attacchi,
- Intelligibilità del progetto
- Concisione e velocità del codice ad ampio spettro.
Cosa è gestito da Rijndael?
Rijndaelmanaged è la classe derivata di Rijndael. Eredita l'implementazione di Rijndael. Come Rijndael, è anche un cifrario a blocchi. Il testo in chiaro viene elaborato in blocchi. È un algoritmo di crittografia.
Rijndael ha gestito e gestito la crittografia a chiave privata. Utilizza una chiave privata per crittografare il testo normale in testo cifrato e decrittografare il testo cifrato in testo semplice.
Applicazione di Rijndaelgestito
.NET
nucleo .NET
framework .NET
standard .NET
Xamarin.Android
Novell. iOS
Xamarin.Mac
Ciò che implica è che Rijndael gestito è un'esecuzione teorica di Rijndael. Non possiamo istanziarlo. Possiamo creare un'implementazione della classe base che incorpori un particolare codice e denominarlo di conseguenza.
Questo perché possiamo implementare dalla classe base e quindi scambiare il layout della classe derivata. La lunghezza del blocco e la lunghezza della chiave ricordano quella del Rijndael.
Una classe derivata come Rijmdaelmanaged viene definita non ereditabile in contrasto con la relativa classe base. Rijndaelmanaged appartiene alla categoria dei 'sigilli pubblici'.
Il sigillo implica che questa classe di algoritmo non può essere ulteriormente ereditata o estesa, a differenza della classe astratta di base. Lo spazio dei nomi utilizzato per Rijndaelowned è simile a quello di Rijndael.
Rientrano nello spazio dei nomi "system.security.cryptography".
Principali differenze tra Rijndael e Rijndael gestito
- Rijndael è la classe base, mentre Rijndaelangled è la classe derivata.
- Rijndael può istanziare da solo, mentre quest'ultimo non è in grado di farlo.
- Rijndael rientra nella categoria della "classe astratta pubblica" mentre Rijndaelmanaged rientra nella "classe pubblica sigillata".
- Il primo è ereditario, a differenza del secondo, che non può essere ereditario.
- La prima, essendo la madre della seconda, non ha bisogno di dipendere da essa, mentre il Rijndaelgestito potrebbe aver bisogno di contattare la classe base durante l'istanziazione.