Differenza tra codifica e crittografia


139

Qual è la differenza tra codifica e crittografia?


5
Come prima approssimazione, la crittografia utilizza una chiave, la codifica no.
Presidente James K. Polk,

Se decodifichi un processo goot di dati codificati, ma se decifri un dato crittografato senza conoscere la chiave secet, Kudos per te, l'hai hackerato.
Sujeet Agrahari,

1
La codifica è come tradurre la lingua A nella lingua B in modo che le persone che conoscono la lingua B possano ottenerla facilmente. Crittografarlo come tradurre la lingua A nella lingua B in un modo in modo che solo persone specifiche che conoscono la lingua B lo ottengano, di solito dici loro il modo prima di iniziare la traduzione, forse un metodo o una chiave ... come trattare il melograno come una granata.
Sujeet Agrahari,

Risposte:


177

La codifica trasforma i dati in un altro formato utilizzando uno schema pubblicamente disponibile in modo che possano essere facilmente invertiti.

La crittografia trasforma i dati in un altro formato in modo tale che solo gli individui specifici possano invertire la trasformazione.

Per riepilogo -

La codifica serve a mantenere l'usabilità dei dati e utilizza schemi disponibili pubblicamente.

crittografia serve a mantenere la riservatezza dei dati e quindi la possibilità di invertire la trasformazione (chiavi) è limitata a determinate persone.

Maggiori dettagli in SOURCE


3
Consideri "documento con chiave pubblica per la firma" come codifica o crittografia? :)
Jarod42,

@ Jarod42 Una firma digitale non è né una crittografia né una codifica del documento, poiché i dati originali non possono essere recuperati da esso.
Thilo,

1
"usando uno schema che è pubblicamente disponibile" - la crittografia usa sicuramente schemi che sono anche pubblicamente disponibili, in realtà qualsiasi schema crittografico che valga il suo peso è sempre pubblicamente disponibile (cioè senza backdoor come in pubblico). La parte che non è pubblicamente disponibile sono i segreti necessari per decifrare i dati, non gli schemi / algoritmi effettivi (ad esempio RSA, DH ecc.).
PragmaticProgrammer

32

La codifica è il processo di trasformazione dei dati in modo che possano essere trasmessi senza pericolo su un canale di comunicazione o memorizzati senza pericolo su un supporto di memorizzazione. Ad esempio, l'hardware del computer non manipola il testo, ma semplicemente manipola i byte, quindi una codifica del testo è una descrizione di come il testo dovrebbe essere trasformato in byte. Allo stesso modo, HTTP non consente a tutti i caratteri di essere trasmessi in modo sicuro, 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 su chiunque abbia lo stesso algoritmo e tale algoritmo è generalmente ben documentato, ampiamente distribuito e implementato abbastanza facilmente. Chiunque è finalmente in grado di decodificare i dati codificati .

La crittografia, d'altra parte, applica una trasformazione a un dato che può essere invertito solo con conoscenze specifiche (e segrete) su come decrittografarlo. L'enfasi è sul rendere difficile per chiunque, tranne il destinatario previsto, leggere i dati originali. Un algoritmo di codifica tenuto segreto è una forma di crittografia, ma piuttosto vulnerabile (ci vogliono abilità e tempo per escogitare qualsiasi tipo di crittografia, e per definizione non si può avere qualcun altro creare un algoritmo di codifica per te - o lo faresti ucciderli). Al contrario, il metodo di crittografia più utilizzato utilizza chiavi segrete: l'algoritmo è noto, ma il processo di crittografia e decrittografia richiede di avere la stessa chiave per entrambe le operazioni e la chiave viene quindi mantenuta segreta. La decrittografia dei dati crittografati è possibile solo con la chiave corrispondente .


Non richiede sempre di avere le stesse chiavi per eseguire la crittografia e la decrittografia. Diffe-hellman non usa la chiave privata del mittente per codificare e la chiave privata del destinatario per decodificare?
David Mann,

"HTTP non consente a tutti i caratteri di essere trasmessi in modo sicuro ...." Penso che questo sia fuorviante. HTTP è pulito a 8 bit. È possibile trasmettere qualsiasi byte desiderato in un corpo di messaggio HTTP. Le intestazioni sono specifiche ASCII, ma questo non ha nulla a che fare con la trasmissione "sicura".
Hawkeye Parker,

27

Codifica:

  1. Scopo: lo scopo della codifica è trasformare i dati in modo che possano essere correttamente (e in modo sicuro) consumati da un diverso tipo di sistema.

  2. Utilizzato per: mantenere l'usabilità dei dati, ad esempio, per garantire che possa essere consumato correttamente.

  3. Meccanismo di recupero dei dati: nessuna chiave e può essere facilmente invertito purché sappiamo quale algoritmo è stato usato nella codifica.

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

  5. Esempio: dati binari inviati tramite e-mail o visualizzazione di caratteri speciali su una pagina Web.

crittografia:

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

  2. Utilizzato per: mantenere la riservatezza dei dati, ad esempio, per garantire che i dati non possano essere consumati da soggetti diversi dal destinatario o dai destinatari previsti.

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

  4. Algoritmi utilizzati: AES, Blowfish, RSA.

  5. Esempio: invio a qualcuno di una lettera segreta che solo loro dovrebbero essere in grado di leggere o invio sicuro di una password su Internet.

URL di riferimento: http://danielmiessler.com/study/encoding_vs_encryption/


9

La codifica è il processo di mettere una sequenza di caratteri in un formato speciale per scopi di trasmissione o archiviazione

La crittografia è il processo di traduzione dei dati in un codice segreto. La crittografia è il modo più efficace per ottenere la sicurezza dei dati. Per leggere un file crittografato, è necessario avere accesso a una chiave o password segreta che consente di decrittografarlo. I dati non crittografati sono chiamati testo normale; i dati crittografati sono indicati come testo cifrato


3

Vedi la codifica come un modo per archiviare o comunicare dati tra sistemi diversi. Ad esempio, se si desidera memorizzare il testo su un disco rigido, è necessario trovare un modo per convertire i caratteri in bit. In alternativa, se tutto ciò che hai è una luce flash, potresti voler codificare il tuo testo usando Morse. Il risultato è sempre "leggibile", purché tu sappia come viene memorizzato.

Crittografia significa che vuoi rendere i tuoi dati illeggibili, crittografandoli utilizzando un algoritmo. Ad esempio, Cesare fece questo sostituendo ogni lettera con un'altra. Il risultato qui è illeggibile, a meno che non si conosca la "chiave" segreta con la quale è stata crittografata.


3

Direi che entrambe le operazioni trasformano le informazioni da una forma all'altra, la differenza è:

  • Codificare significa trasformare le informazioni da una forma all'altra, nella maggior parte dei casi è facilmente reversibile
  • Crittografia significa che le informazioni originali sono oscurate e coinvolgono le chiavi di crittografia che devono essere fornite al processo di crittografia / decrittografia per eseguire la trasformazione.

Quindi, se coinvolge chiavi (simmetriche o asimmetriche) (aka un "segreto"), è la crittografia, altrimenti è la codifica.


2

Questi sono un po 'diversi l'uno dall'altro. La codifica utilizzata quando vogliamo convertire il testo in una specifica tecnica di codifica del computer e nella crittografia nascondiamo i dati tra una chiave o un testo specifici.


1

Codifica -》 i dati di esempio sono 16
Quindi la codifica è 10000 significa che è un formato binario o ASCII o UNCODED ecc. Che può essere letto facilmente e facilmente da qualsiasi sistema per comprenderne il significato reale

Crittografia -》 i dati di esempio sono 16 Quindi encryprion è 3t57 o può dipendere da quale algo viene utilizzato per la crittografia Che può essere letto facilmente da qualsiasi sistema MA solo chi è in grado di capire il suo vero significato chi ha la sua chiave di decrittazione


0

La codifica serve a mantenere l' usabilità dei dati e può essere invertita impiegando lo stesso algoritmo che ha codificato il contenuto, ovvero non viene utilizzata alcuna chiave.

La crittografia serve a mantenere la riservatezza dei dati e richiede l'uso di una chiave (tenuta segreta) per tornare al testo normale.

Inoltre ci sono due termini principali che creano confusione nel mondo della sicurezza Hashing e Obfuscation

L'hashing serve a convalidare l'integrità dei contenuti rilevando tutte le loro modifiche tramite ovvie modifiche all'output di hash.

L'offuscamento viene utilizzato per impedire alle persone di comprendere il significato di qualcosa e viene spesso utilizzato con il codice del computer per aiutare a prevenire il reverse engineering e / o il furto della funzionalità di un prodotto.

Leggi di più @ Articolo Danielmiessler


1
La codifica è la capacità di comprendere il set di caratteri. In base al contenuto letto e scritto nei file. Per esempio. UTF-8, UTF-16, UTF-32, ANSI. La crittografia è quella che trasforma i dati che sono già codificati.
Arun,

0

La crittografia converte i dati in formato non leggibile (eventualmente contenente caratteri speciali non leggibili).

La codifica aiuta a convertire quei dati in un formato leggibile (caratteri) in modo che possano essere archiviati per un uso futuro, ad esempio durante la decodifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.