Corso di codifica e crittografia delle informazioni. Codifica e crittografia delle informazioni Codifica e crittografia delle informazioni sui dati


Alla domanda su quale sia la differenza tra codifica e crittografia posta dall'autore Eurovisione la risposta migliore è che la crittografia è un modo per modificare un messaggio o un altro documento in modo che il suo contenuto venga distorto (nascosto). (La codifica è la trasformazione di un testo ordinario e comprensibile in codice. Si presuppone che esista una corrispondenza uno a uno tra i simboli del testo (dati, numeri, parole) e il codice simbolico: questa è la differenza fondamentale tra codifica e crittografia.

Risposta da Scivolare[novizio]
La crittografia è un modo per modificare un messaggio o un altro documento.
La codifica è la trasformazione di testo ordinario e comprensibile in codice.


Risposta da Aleksej Glazov[guru]
La codifica è la trasformazione delle informazioni al fine di garantire la comodità della loro archiviazione o trasmissione. NON c'è segretezza. Questa è semplicemente una traduzione in un altro formato, che per qualche motivo è più conveniente
La crittografia è la trasformazione delle informazioni in modo da rendere difficile o impossibile per persone non autorizzate COMPRENDERE o modificare tali informazioni in caso di intercettazione. C'è segretezza qui.


Risposta da Sergej Andrianov[guru]
Entrambi i termini sono polisemantici; mi concentrerò su un significato per ciascun termine, dove si può tracciare un'analogia.
La codifica è la trasformazione della RAPPRESENTAZIONE di una stessa informazione in una forma diversa. Ad esempio, un segnale digitale (discreto) attraverso una tensione, una corrente o un'intensità del campo EM che cambiano continuamente. Rappresentazione del testo come sequenza di bit, ecc.
La crittografia è la trasformazione delle informazioni al fine di proteggerle da accessi non autorizzati, solitamente senza modificare il metodo di presentazione. Cioè, da un file sul disco si ottiene un altro file.


Risposta da asciugarsi[guru]
La crittografia è più difficile


Risposta da Alexey Baraev[guru]
Codificare è un termine ambiguo. Molto spesso la "codificazione" è chiamata scrittura codice del programma, rimarrò in silenzio sulla codifica psicoterapeutica :))
Quindi codifica vs crittografia.
Durante la codifica, un certo alfabeto A viene messo in corrispondenza DIRETTA con un certo alfabeto B.
Le parole formate dall'alfabeto A possono essere tradotte in modo inequivocabile in parole scritte nell'alfabeto B utilizzando una tabella di conversione.
Ad esempio la codifica ASCII, ancora oggi ampiamente utilizzata.
Il simbolo A corrisponde al numero 65, il simbolo B corrisponde al numero 66, ecc.
Il “codice” descritto da Edgar Poe nel racconto “Lo scarabeo d’oro” non è in realtà un codice. Questo è un esempio di codifica.
La crittografia è il processo di applicazione di una trasformazione crittografica del testo in chiaro basata su un algoritmo e una chiave, che risulta in un testo cifrato.
Parlando a un livello molto primitivo, la codifica non richiede una chiave e l'algoritmo è solitamente semplice: sostituzione inequivocabile di un elemento dell'alfabeto A con l'alfabeto B. E viceversa. La codifica è solo simmetrica. A seconda dell'algoritmo, la crittografia può essere simmetrica o asimmetrica.

Lezione n. 4

Codificazione e crittografia delle informazioni

Introduzione

IN società moderna il successo di qualsiasi tipo di attività dipende fortemente dal possesso di determinate informazioni (information) e dalla mancanza di esse (it) tra i concorrenti. Quanto più forte è questo effetto, tanto maggiori sono le potenziali perdite derivanti dall’abuso sfera informativa e maggiore è la necessità di protezione delle informazioni. In una parola, l'emergere dell'industria dell'elaborazione delle informazioni ha portato all'emergere di un'industria dei mezzi per proteggerla e all'attualizzazione del problema stesso della protezione delle informazioni, il problema della sicurezza delle informazioni.

Uno dei compiti più importanti (dell'intera società) è il compito di codificare i messaggi e crittografare le informazioni.

La scienza si occupa di questioni relative alla protezione e all’occultamento delle informazioni crittologia(cripto - segreto, loghi - scienza). La crittologia ha due aree principali: crittografia e crittoanalisi. Gli obiettivi di queste direzioni sono opposti. La crittografia si occupa della costruzione e dello studio di metodi matematici per la trasformazione delle informazioni, mentre la crittoanalisi si occupa dello studio della possibilità di decrittografare le informazioni senza chiave. Il termine "crittografia" deriva da due parole greche: criptoc E grofein- scrivere. Si tratta quindi di scrittura segreta, un sistema di transcodificazione di un messaggio per renderlo incomprensibile ai non iniziati, e una disciplina che studia le proprietà generali e i principi dei sistemi di scrittura segreta.

Concetti di base di codifica e crittografia

Codice– una regola per far corrispondere un insieme di caratteri di un insieme X con i caratteri di un altro insieme Y. Se ciascun carattere X durante la codifica corrisponde a un carattere Y separato, allora questa è codifica. Se per ogni simbolo di Y la sua immagine inversa in X si trova in modo univoco secondo qualche regola, allora questa regola è chiamata decodificazione.

Codifica– il processo di conversione delle lettere (parole) dell’alfabeto X in lettere (parole) dell’alfabeto Y.

Quando si rappresentano i messaggi in un computer, tutti i caratteri sono codificati da byte.

12 risposte

Codifica converte i dati in un altro formato utilizzando uno schema disponibile pubblicamente in modo che possa essere facilmente invertito.

Crittografia converte i dati in un altro formato in modo tale che solo gli individui possano modificare la conversione.

Codificaè progettato per rendere i dati utilizzabili e utilizza schemi disponibili pubblicamente.

Crittografiaè progettato per garantire la riservatezza dei dati e quindi la possibilità di modificare la trasformazione (chiavi) è limitata a determinate persone.

La codifica è il processo di trasformazione dei dati in modo che possano essere trasmessi in modo sicuro su un canale di comunicazione o archiviati in modo sicuro su un supporto di memorizzazione. Ad esempio, l'hardware del computer non manipola il testo, ma solo i byte, quindi una codifica del testo è una descrizione di come il testo dovrebbe essere convertito in byte. Allo stesso modo, HTTP non consente la trasmissione sicura di tutti i caratteri, quindi potrebbe essere necessario codificare i dati utilizzando base64 (utilizza solo lettere, numeri e due caratteri sicuri).

Durante la codifica o la decodifica, l'enfasi è posta sul fatto che tutti abbiano lo stesso algoritmo e tale algoritmo è solitamente ben documentato, diffuso e abbastanza facile da implementare. Qualsiasi utente può eventualmente decodificare i dati codificati.

La crittografia, d'altro canto, applica una trasformazione a un dato che può essere annullata solo mediante una conoscenza specifica (e segreta) di come decrittografarlo. L'obiettivo è assicurarsi che qualcuno diverso dal destinatario previsto stia tentando di leggere i dati originali. Un algoritmo di codifica tenuto segreto è una forma di crittografia, ma è piuttosto vulnerabile (ci vuole abilità e tempo per sviluppare qualsiasi tipo di crittografia e per definizione non puoi chiedere a qualcun altro di creare un simile algoritmo di codifica per te - altrimenti dovresti uccidere loro). Il metodo di crittografia più utilizzato, invece, utilizza chiavi segrete: l'algoritmo è ben noto, ma il processo di crittografia e decrittografia richiede che per entrambe le operazioni sia disponibile la stessa chiave, che viene poi mantenuta segreta. La decrittografia dei dati crittografati è possibile solo utilizzando la chiave appropriata.

Codifica:

    Scopo: lo scopo della codifica è trasformare i dati in modo che possano essere (ed essere utilizzati in modo sicuro) da un altro tipo di sistema.

    Utilizzato per: garantire la facilità d'uso dei dati, ad es. Per garantirne il corretto utilizzo.

    Meccanismo di recupero dei dati: nessuna chiave e può essere facilmente modificato se sappiamo quale algoritmo è stato utilizzato nella codifica.

    Algoritmi utilizzati: ASCII, Unicode, codifica URL, Base64.

    Esempio: i dati binari vengono inviati tramite e-mail o visualizzare caratteri speciali su una pagina web.

Crittografia:

    Scopo: lo scopo della crittografia è trasformare i dati per mantenerli segreti agli altri.

    Utilizzato per: mantenere la riservatezza dei dati, ad es. Per garantire che i dati non possano essere utilizzati da nessuno diverso dai destinatari previsti.

    Meccanismo di recupero dei dati. I dati originali possono essere ottenuti se conosciamo la chiave e l'algoritmo di crittografia utilizzati.

    Algoritmi utilizzati: AES, Blowfish, RSA.

    Esempio. Inviare a qualcuno un'e-mail segreta che deve solo leggere o inviare una password in modo sicuro su Internet.

Codificaè il processo di immissione di una sequenza di caratteri in un formato speciale per scopi di trasmissione o archiviazione

Crittografiaè il processo di conversione dei dati in un codice segreto. La crittografia è la cosa migliore modo efficace garantendo la sicurezza dei dati. Per leggere un file crittografato, è necessario avere accesso alla chiave segreta o alla password che consente di decrittografarlo. I dati non crittografati sono chiamati testo in chiaro; i dati crittografati sono chiamati testo cifrato

Vedi la codifica come un modo per archiviare o trasmettere dati tra vari sistemi. Ad esempio, se desideri memorizzare del testo sul tuo disco rigido, dovrai trovare un modo per convertire i tuoi caratteri in bit. In alternativa, se hai solo flash, puoi codificare il testo usando Morse. Il risultato è sempre "leggibile" se si sa come viene archiviato.

La crittografia significa che vuoi rendere illeggibili i tuoi dati crittografandoli con un algoritmo. Ad esempio, Cesare lo fece sostituendo ogni lettera con un'altra. Il risultato qui è illeggibile a meno che non si conosca la "chiave" segreta con cui è stato crittografato.

Direi che entrambe le operazioni convertono le informazioni da un modulo all'altro, con la differenza che:

  • Codifica significa la trasformazione delle informazioni da una forma all'altra, nella maggior parte dei casi è facilmente reversibile.
  • Crittografia significa che le informazioni originali sono nascoste e includono chiavi di crittografia che devono essere passate al processo di crittografia/decrittografia per eseguire la trasformazione.

Quindi, se include chiavi (simmetriche o asimmetriche) (dette anche "segrete"), si tratta di crittografia, in Altrimenti questa è la codifica.

Codifica progettato per supportare facilità d'uso e può essere invertito utilizzando lo stesso algoritmo che ha codificato il contenuto, ad es. la chiave non viene utilizzata.

Crittografia ha lo scopo di mantenere la riservatezza e richiede l'uso di una chiave (mantenuta segreta) per tornare al testo in chiaro.

Ci sono anche due termini principali che creano confusione nel mondo della sicurezza Hashing e offuscamento

Hashingè progettato per verificare l'integrità del contenuto rilevando tutte le modifiche attraverso modifiche esplicite all'output dell'hash.

Offuscamento utilizzato per impedire alle persone di comprendere il significato di qualcosa e viene spesso utilizzato con il codice del computer per impedire il successo del reverse engineering e/o il furto della funzionalità del prodotto.

Codifica - dati di esempio 16
Quindi la codifica 10000 significa che è in formato binario o ASCII o UNCODED ecc. che può essere facilmente letto da qualsiasi sistema per comprenderne il vero significato

Crittografia: i dati di esempio sono 16, quindi il valore di encryprion è 3t57 o potrebbe essere qualsiasi cosa a seconda dell'algoritmo utilizzato per la crittografia, che può essere facilmente letto da qualsiasi sistema MA solo quello che lo capisce effettivamente e possiede la chiave di decrittografia.

Codifica:

Lo scopo della codifica è trasformare i dati in modo che possano essere (ed essere utilizzati in modo sicuro) da un altro tipo di sistema, ad es. dati binari inviati via e-mail o visualizzazione di caratteri speciali su una pagina Web. L’obiettivo non è mantenere segrete le informazioni, ma garantire che vengano utilizzate in modo appropriato. La codifica converte i dati in un altro formato utilizzando uno schema disponibile pubblicamente in modo che possa essere facilmente invertito. Non richiede una chiave, poiché l'unica cosa necessaria per la decodifica è l'algoritmo utilizzato per codificarlo.

Esempi: ASCII, Unicode, codifica URL, Base64

Crittografia:

Lo scopo della crittografia è trasformare i dati per mantenerli segreti ad altri, ad es. inviando a qualcuno un'e-mail segreta che solo lui dovrebbe essere in grado di leggere o inviando in modo sicuro una password su Internet. Piuttosto che concentrarsi sull’usabilità, l’obiettivo è garantire che i dati non possano essere utilizzati da nessun altro oltre al destinatario previsto.

La crittografia converte i dati in un altro formato in modo tale che solo gli individui possano modificare la conversione. Utilizza una chiave mantenuta segreta in combinazione con testo in chiaro e un algoritmo per eseguire l'operazione di crittografia. Quindi il testo cifrato, l’algoritmo e la chiave sono necessari per tornare al testo in chiaro.

Esempi: AES, Blowfish, RSA

Esempio: ASCII, BASE64, UNICODE

IL VALORE ASCII "A" È: 65

Crittografia:

La crittografia è una tecnica di codifica in cui un messaggio viene codificato utilizzando un algoritmo di crittografia in modo che solo il personale autorizzato possa accedere al messaggio o alle informazioni.

Si tratta di un tipo speciale di codifica utilizzato per trasmettere dati personali, ad esempio inviando una combinazione di nome utente e password su Internet per accedere tramite e-mail.

Nella crittografia, i dati da crittografare (chiamati testo in chiaro) vengono trasformati utilizzando un algoritmo di crittografia come la crittografia AES o la crittografia RSA utilizzando una chiave segreta denominata cifratura. I dati crittografati sono chiamati testo cifrato e infine la chiave segreta può essere utilizzata dal destinatario previsto per riconvertirli in testo normale.

L'emergere dell'industria dell'elaborazione delle informazioni ha portato all'emergere di un'industria dei mezzi per proteggerla e all'attualizzazione del problema stesso della protezione delle informazioni, il problema della sicurezza delle informazioni.

Uno dei compiti più importanti dell'informatizzazione dei processi è la codifica dei messaggi e la crittografia delle informazioni.

La scienza si occupa di questioni relative alla protezione e all’occultamento delle informazioni crittologia. La crittologia ha due direzioni principali: crittografia E crittoanalisi.

Gli obiettivi di queste direzioni sono opposti. La crittografia si occupa della costruzione e dello studio di metodi matematici per la trasformazione delle informazioni, mentre la crittoanalisi si occupa dello studio della possibilità di decrittografare le informazioni senza chiave.

Il termine "crittografia" è un sistema di ricodificazione di un messaggio in modo da renderlo incomprensibile ai non addetti ai lavori.

Introduciamo alcuni concetti di base di codifica e crittografia.

Un codice è una regola per far corrispondere un insieme di caratteri di un insieme X ai caratteri di un altro insieme Y. Se ciascun carattere X durante la codifica corrisponde a un carattere Y separato, allora questa è codifica. Se per ogni simbolo di Y la sua immagine inversa in X si trova in modo univoco secondo qualche regola, allora questa regola è chiamata decodificazione.

Esempio. Se ogni colore è codificato con due bit, non possono essere codificati più di 2 2 = 4 colori, con tre - 2 3 = 8 colori, con otto bit (byte) - 256 colori.

Il messaggio che vogliamo inviare al destinatario verrà chiamato messaggio aperto. È definito su un alfabeto.

Il messaggio crittografato può essere costruito su un altro alfabeto. Chiamiamolo messaggio chiuso. Il processo di conversione di un messaggio in chiaro in un messaggio privato è la crittografia.

Se A è un messaggio aperto, B è un messaggio chiuso (cifratura), f è una regola di crittografia, quindi f(A) = B.

Regole di crittografia deve essere scelto in modo che il messaggio crittografato possa essere decrittografato. Regole dello stesso tipo (ad esempio, tutti i cifrari del tipo cifrario di Cesare, secondo il quale ogni carattere dell'alfabeto è codificato da un simbolo distanziato di k posizioni da esso) vengono combinate in classi e all'interno della classe viene definito un certo parametro (tabella numerica, simbolica, ecc.) che consente di iterare (variare) tutte le regole. Questo parametro viene chiamato chiave di crittografia. Solitamente è segreto e viene comunicato solo alla persona che deve leggere il messaggio crittografato (il proprietario della chiave).

Con la codifica non esiste una chiave segreta di questo tipo, poiché la codifica mira solo a una rappresentazione più condensata e compatta del messaggio.

Se k è una chiave, allora possiamo scrivere f(k(A)) = B. Per ogni chiave k, la trasformazione f(k) deve essere invertibile, cioè f(k(B)) = A. L'insieme della trasformazione f(k) e la corrispondenza dell'insieme k è chiamata cifra.


Nei crittosistemi simmetrici (crittosistemi con chiave segreta), la crittografia e la decrittografia delle informazioni vengono eseguite utilizzando una chiave K, che è segreta. La declassificazione della chiave di crittografia comporta la declassificazione dell'intero scambio protetto. Prima dell'invenzione dello schema di crittografia asimmetrica, l'unico metodo esistente era la crittografia simmetrica. La chiave dell'algoritmo deve essere mantenuta segreta da entrambe le parti. La chiave dell'algoritmo viene scelta dalle parti prima che abbia inizio lo scambio di messaggi.

Schema funzionale L'interazione tra i partecipanti ad uno scambio crittografico simmetrico è mostrata in Fig. 4.1.

Riso. 2.1. Schema funzionale di un crittosistema simmetrico

In un sistema crittografico simmetrico, la chiave segreta deve essere trasmessa a tutti i partecipanti alla rete crittografica su un canale sicuro.

Attualmente, i codici simmetrici sono:

· cifrari a blocchi. Elaborare le informazioni in blocchi di una certa lunghezza (solitamente 64, 128 bit), applicando una chiave al blocco in nel modo prescritto, solitamente attraverso diversi cicli di mescolamento e sostituzione, chiamati round. Il risultato della ripetizione dei cicli è un effetto valanga: una crescente perdita di corrispondenza dei bit tra blocchi di dati aperti e crittografati.

· cifrari a flusso, in cui la crittografia viene eseguita su ogni bit o byte del testo originale (semplice) utilizzando la gamma.

Esistono molti (almeno due dozzine) algoritmi di cifratura simmetrica, i cui parametri essenziali sono:

· durabilità;

· lunghezza della chiave;

· numero di giri;

lunghezza del blocco elaborato;

· complessità dell'implementazione hardware/software.

Algoritmi comuni di crittografia simmetrica:

In particolare, AES è un algoritmo di cifratura a blocchi simmetrico adottato come standard di crittografia americano dal governo statunitense nel 2002; prima di esso, l'algoritmo DES era lo standard ufficiale statunitense dal 1977; Dal 2006, AES è uno degli algoritmi di crittografia simmetrica più utilizzati.

Le cifre dei crittosistemi simmetrici tradizionali possono essere suddivise nei seguenti tipi principali:

1. Cifrature sostitutive.

2. Cifrari di permutazione.

3. Cifrari gamma.

Crittografia sostitutiva

La crittografia sostitutiva (sostituzione) comporta la sostituzione dei caratteri del testo crittografato con caratteri dello stesso o di un altro alfabeto secondo uno schema di sostituzione predeterminato. Queste cifre sono le più antiche. È consuetudine dividere i cifrari a sostituzione in monoalfabetici e multialfabetici. Nella sostituzione monoalfabetica, ciascuna lettera dell'alfabeto del testo in chiaro è associata alla stessa lettera del testo cifrato dello stesso alfabeto nello stesso modo in tutto il testo.

Diamo un'occhiata ai più famosi cifrari a sostituzione monoalfabetica.

Il tuo nome questa cifra ricevuto dal nome dell'imperatore romano Gaio Giulio Cesare, che usò questa cifra nella corrispondenza con Cicerone (circa 50 a.C.).

Quando si crittografa il testo di origine utilizzando questo metodo, ogni lettera viene sostituita da un'altra lettera dello stesso alfabeto spostandola nell'alfabeto utilizzato di un numero di posizioni pari a K. Quando viene raggiunta la fine dell'alfabeto, viene eseguita una transizione ciclica al suo inizio.

La formula generale del cifrario di Cesare è la seguente:

Tavolo 2.1. Tavolo Sostituzioni del codice di Cesare per la chiave K=3

UN ® G R ® U
B ® D CON ® F
IN ® E T ® X
G ® E U ® C
D ® Z F ® H
E ® E X ® Sh
E ® Y C ® SCH
Z ® A H ® B
E ® l Sh ® Y
Y ® M SCH ® Kommersant
A ® N B ® E
l ® DI Y ® Yu
M ® P Kommersant ® IO
N ® R E ® UN
DI ® CON Yu ® B
P ® T IO ® IN

Secondo la formula (4.2), il testo in chiaro “BAGGAGE” verrà convertito nel testo cifrato “DGZHGY”.

La decrittazione del testo privato crittografato con il metodo Caesar secondo (4.1) viene eseguita secondo la formula

P=C-K (mod M) (2.3)

Crittografia utilizzando metodi di permutazione

La crittografia di trasposizione avviene quando i caratteri del testo in chiaro vengono riorganizzati secondo una determinata regola all'interno di un determinato blocco di questo testo. Queste trasformazioni portano ad un cambiamento solo nell'ordine dei caratteri nel messaggio originale.

Con una lunghezza sufficiente del blocco all'interno del quale viene eseguita la permutazione e un ordine di permutazione complesso e non ripetitivo, è possibile ottenere una forza di cifratura accettabile per semplici applicazioni pratiche.

Quando si crittografa utilizzando il metodo di permutazione semplice, il testo in chiaro viene diviso in blocchi di uguale lunghezza pari alla lunghezza della chiave. Chiave di lunghezza Nè una sequenza di numeri non ripetitivi da 1 a N. I caratteri di testo in chiaro all'interno di ciascun blocco vengono riorganizzati per corrispondere ai caratteri chiave. L'elemento chiave Ki in una determinata posizione del blocco indica che in questa posizione verrà posizionato un carattere di testo in chiaro con il numero Ki del blocco corrispondente.

Esempio. Crittifichiamo il testo in chiaro “WE ARRIVING” utilizzando il metodo di permutazione con la chiave K=3142.

P R E E Z E UN Yu D N E M
E P E R UN Z Yu E E D M N

Per decrittografare il testo cifrato, i simboli del testo cifrato devono essere spostati nella posizione indicata dal simbolo della chiave corrispondente Ki.

Per gamma si intende l'imposizione di una cifratura sui dati aperti secondo una determinata legge gamma.

La gamma di crittografia è una sequenza pseudo-casuale generata secondo un algoritmo specifico, utilizzata per crittografare i dati aperti e decrittografare il testo cifrato.

Lo schema generale di crittografia che utilizza il metodo gamma è mostrato in Fig. 2.3.

Riso. 2.3. Schema di crittografia utilizzando il metodo gamma

Il principio della crittografia consiste nel generare una gamma di cifratura mediante un generatore di numeri pseudo-casuali (PRNG) e applicare questa gamma ai dati aperti in modo reversibile, ad esempio aggiungendo il modulo due. Il processo di decrittografia dei dati si riduce alla rigenerazione della gamma di cifratura e all'applicazione della gamma ai dati crittografati. Chiave di crittografia inserita in questo casoè lo stato iniziale del generatore di numeri pseudocasuali. Dato lo stesso stato iniziale, il PRNG genererà le stesse sequenze pseudo-casuali.

Prima della crittografia, i dati in chiaro vengono solitamente suddivisi in blocchi di uguale lunghezza, ad esempio 64 bit. Anche il cifrario gamma viene prodotto come sequenza di blocchi della stessa lunghezza.

La forza della crittografia gamma è determinata principalmente dalle proprietà della gamma: la lunghezza del periodo e l'uniformità delle caratteristiche statistiche. Quest'ultima proprietà garantisce che non vi siano schemi nella comparsa dei vari simboli all'interno di un periodo. Il testo cifrato risultante è piuttosto difficile da decifrare. In sostanza, la gamma della cifratura deve cambiare in modo casuale per ciascun blocco crittografato.

Di solito esistono due tipi di gamut: con gamut finito e infinito. Con buone proprietà statistiche della gamma, la forza della crittografia è determinata solo dalla lunghezza del periodo gamma. Inoltre, se la lunghezza del periodo gamma supera la lunghezza del testo crittografato, teoricamente tale cifratura è assolutamente sicura, cioè non può essere aperto utilizzando l'elaborazione statistica del testo cifrato, ma può essere aperto solo tramite ricerca diretta. La forza crittografica in questo caso è determinata dalla dimensione della chiave.