Introduzione agli algoritmi simmetrici

Gli algoritmi simmetrici noti anche come algoritmi a chiave segreta sono ampiamente utilizzati nella crittografia di dati in blocco o nel flusso di dati. Questo è un tipo di algoritmo crittografico che crittografa e decodifica i dati utilizzando la stessa chiave (che rende simmetrico questo algoritmo). Si chiama chiave segreta perché la chiave utilizzata viene mantenuta segreta dai sistemi coinvolti nel processo di crittografia e decrittografia. La crittografia eseguita da questo algoritmo non è facile da interrompere se la persona che tenta di decrittografare non ha la chiave segreta, dovrebbe utilizzare tecniche avanzate per romperla. Questi algoritmi sono generalmente di natura molto veloce, motivo per cui vengono utilizzati in caso di necessità di crittografia in grandi quantità di dati. Fig1.a raffigura la crittografia di base della chiave simmetrica:

Figure1.a Crittografia a chiave simmetrica

Tipi di algoritmi simmetrici

Gli algoritmi ampiamente simmetrici sono classificati in due

  • Bloccare
  • ruscello

Algoritmi a blocchi

Gli algoritmi a blocchi crittografano il blocco dati per blocco (molti byte). Il blocco si riferisce all'insieme di bit specificato e questi bit vengono modificati / crittografati utilizzando una chiave segreta. C'è un inconveniente con gli algoritmi a blocchi che è, supponiamo che stiamo per crittografare i dati del flusso di rete, questi dati vengono conservati dal sistema di crittografia nei suoi componenti di memoria. Questa conservazione dei dati viene eseguita quando il sistema attende effettivamente blocchi completi di dati. Questo tempo di attesa può comportare un divario di sicurezza che può compromettere la sicurezza e l'integrità dei dati. Per evitare questa minaccia, possiamo ridurre il blocco e unire i dati con blocchi di dati precedentemente crittografati fino a quando non vengono ricevuti ulteriori blocchi, in termini semplici questa tecnica è chiamata feedback. Questo algoritmo crittograferà solo se viene ricevuto il blocco completo.

Stream Algorithms

Algoritmi In-Stream, i dati vengono crittografati byte per byte e talvolta anche bit per bit. Nel caso dell'algoritmo di flusso, i dati non vengono conservati nella memoria dal sistema, quindi si può dire che questo è molto più sicuro rispetto all'algoritmo di blocco poiché i dati non vengono conservati nel sistema senza crittografia.

Inoltre, sono diversi tipi di algoritmi di crittografia tra i pochi elencati di seguito

  • DES e Triple DES
  • RC2
  • Blowfish

DES e Triple DES

DES è l'acronimo di uno standard di crittografia dei dati che accetta un testo semplice a 64 bit e crittografa in un testo cifrato a 64 bit e lo decodifica con l'aiuto di una chiave a 56 bit. In DES il processo di crittografia inizia con una fase iniziale di permutazione in cui prenderà l'input come dati a 64 bit e li consentirà in modo predefinito. Seguita dalla permutazione iniziale è che 16 round di cifratura Feistel (un cifrario Feistel prende l'input e lo divide in due parti e fa la crittografia su una sola parte) in cui ogni round utilizzerà una chiave di crittografia a 48 bit diversa. Ai fini della crittografia e della decrittografia utilizza un codice e inverte l'algoritmo di crittografia. Infine, i dati passano attraverso la fase finale di permutazione per recuperare il testo cifrato. Simile a DES Triple DES non è altro che la cifra DES ripetuta 3 volte. Fig2.a mostra l'architettura generica dell'algoritmo DES.

Algoritmo generico di architettura DES

RC2

Questo è un algoritmo di cifratura a blocchi in cui inizialmente i dati sono divisi in una dimensione di blocco di 8 byte e questi blocchi vengono elaborati separatamente. Questo algoritmo è stato ampiamente utilizzato negli anni '90. La crittografia Rc2 utilizza una chiave utente segreta la cui dimensione può variare da un byte a 128 byte. Prende questa chiave utente segreta e utilizza un algoritmo di espansione della chiave e crittografa i dati. Questo algoritmo è progettato in modo tale da poter essere facilmente implementato nei microprocessori a 16 bit. Qui non ci sono round di Feistel invece i dati subiscono 18 round di mixaggio e mashing. Fig2.b mostra l'architettura generica dell'algoritmo RC2.

Architettura generica dell'algoritmo RC2

Blowfish

Questo è un algoritmo asimmetrico che sostituisce DES. Qui la dimensione del blocco utilizzata è di 64 bit e le dimensioni della chiave vanno da 32 a 448 bit. La crittografia mediante blowfish consiste principalmente di due fasi

  • Funzione rotonda
  • Operazione di uscita

La funzione rotonda esegue i seguenti passaggi

  1. Sbiancamento dei tasti, in cui viene acquisita la parte sinistra dei dati di input e viene eseguita un'operazione OR esclusiva.
  2. Nel secondo passaggio utilizza S-box, questi S-box mappano i dati da 8 bit a 32 bit e l'output viene preso per combinarsi con una combinazione di addizione e operazioni XOR
  3. I due passaggi precedenti combinati insieme indicati come funzione F. Con l'output della funzione F e il lato destro dei dati di input, viene eseguita l'operazione XOR.
  4. Il passaggio finale prevede lo scambio dell'output.

La funzione di output riverisce lo swap finale ed esegue lo sbiancamento dell'output. L'output di questa funzione è un testo cifrato blowfish. La decrittografia con blowfish comporta l'utilizzo della stessa struttura della crittografia in quanto utilizza un codice Feistel ma le chiavi rotonde devono essere utilizzate in ordine inverso. Il principale vantaggio di questo algoritmo è che è disponibile nel pubblico dominio in modo che sia facilmente accessibile. Gli svantaggi sono fondamentalmente un po 'dispendiosi in termini di tempo nella generazione delle chiavi e se la dimensione del blocco è piccola è vulnerabile agli attacchi.

Applicazioni di algoritmi simmetrici

Alcuni dei luoghi in cui viene utilizzato l'algoritmo di crittografia simmetrica

  • Le transazioni con carta vengono utilizzate per prevenire furti di identità e transazioni fraudolente.
  • Per confermare l'identità del messaggero.
  • Hashing e generazione di numeri casuali
  • Crittografia del database

Conclusione - Algoritmi simmetrici

Gli algoritmi simmetrici sono molto più veloci ed efficienti rispetto agli algoritmi asimmetrici. Questo è il motivo in più per cui vengono utilizzati nella crittografia di massa. Ma il suo svantaggio è che la gestione delle chiavi è molto esaustiva, quindi la manutenzione su larga scala è un compito noioso, dove dobbiamo avere una sicurezza di alto livello, per raggiungere questo obiettivo dobbiamo aver mantenuto il ciclo di vita della chiave generata utilizzando il sistema separato . Pertanto, dobbiamo sempre utilizzare la crittografia corretta per evitare qualsiasi attacco ai nostri dati.

Articoli consigliati

Questa è una guida agli algoritmi simmetrici. Qui discutiamo l'introduzione e i tipi di algoritmi simmetrici insieme a DES e Triple DES. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Che cos'è WebSocket?
  2. Sicurezza delle applicazioni Web
  3. Carriera nello sviluppo Web
  4. Carriere nel Web Design
  5. Modalità operative di Block Cipher
  6. Esempi di algoritmo C ++

Categoria: