인코딩과 암호화의 차이점


139

인코딩과 암호화의 차이점은 무엇입니까?


5
첫 번째 근사치로 암호화는 키를 사용하지만 인코딩은 사용하지 않습니다.
James K. Polk 대통령

인코딩 된 데이터 data 작업을 디코딩하지만 secet 키, Kudos를 모르고 암호화 된 데이터를 해독하면 해킹 한 것입니다.
Sujeet Agrahari 5

1
인코딩은 언어 B를 아는 사람들이 쉽게 얻을 수 있도록 언어 A를 언어 B로 변환하는 것과 같습니다. 언어 B를 아는 특정 사람들 만 언어 A를 언어 B로 번역하는 것과 같이 암호화하면 일반적으로 번역을 시작하기 전에 방법이나 열쇠를 말할 수 있습니다. 석류를 수류탄으로 취급합니다.
Sujeet Agrahari 5

답변:


177

인코딩 은 공개적으로 사용 가능한 체계를 사용하여 데이터를 다른 형식으로 변환하여 쉽게 되돌릴 수 있습니다.

암호화는 특정 개인 만 변환을 되돌릴 수있는 방식으로 데이터를 다른 형식으로 변환합니다.

요약을 위해-

인코딩 은 데이터 유용성을 유지하기위한 것이며 공개적으로 사용 가능한 체계를 사용합니다.

암호화 는 데이터 기밀성을 유지하기위한 것이므로 변환을 취소하는 기능 (키)은 특정 사람으로 제한됩니다.

소스에 대한 자세한 내용


3
"서명용 공개 키가있는 문서"를 인코딩 또는 암호화로 간주합니까? :)
Jarod42

@ Jarod42 디지털 서명은 원본 데이터를 복구 할 수 없으므로 문서의 암호화 또는 인코딩이 아닙니다.
Thilo

1
"공개적으로 사용 가능한 체계 사용"-암호화는 공개적으로 사용 가능한 체계를 사용합니다. 실제로 자체 가중치의 가치가있는 암호화 체계는 항상 공개적으로 사용할 수 있습니다 (즉, 공공의 눈과 같이 백도어 없음). 공개적으로 사용할 수없는 부분은 실제 체계 / 알고리즘 (예 : RSA, DH 등)이 아니라 데이터를 해독하는 데 필요한 비밀입니다.
PragmaticProgrammer

32

인코딩은 통신 채널을 통해 위험없이 전송되거나 저장 매체에 위험없이 저장 될 수 있도록 데이터를 변환하는 프로세스입니다. 예를 들어, 컴퓨터 하드웨어는 텍스트를 조작하지 않고 단순히 바이트 만 조작하므로 텍스트 인코딩은 텍스트를 바이트로 변환하는 방법에 대한 설명입니다. 마찬가지로 HTTP는 모든 문자를 안전하게 전송하는 것을 허용하지 않으므로 base64를 사용하여 데이터를 인코딩해야 할 수도 있습니다 (문자, 숫자 및 두 개의 안전한 문자 만 사용).

인코딩 또는 디코딩시 동일한 알고리즘을 사용하는 모든 사람에게 중점을 두며, 해당 알고리즘은 일반적으로 잘 문서화되고 널리 배포되며 상당히 쉽게 구현됩니다. 누구나 인코딩 된 데이터를 해독 할 수 있습니다 .

반면에 암호화는 데이터를 해독하는 방법에 대한 특정 (비밀) 지식으로 만 되돌릴 수있는 데이터 조각에 변환을 적용합니다. 의도 된 수신자 이외의 사람이 원본 데이터를 읽기가 어렵다는 점을 강조합니다. 비밀로 유지되는 인코딩 알고리즘은 암호화 형태이지만 매우 취약합니다 (모든 종류의 암호화를 고안하는 데 기술과 시간이 필요하며, 정의에 따라 다른 사람이 이러한 인코딩 알고리즘을 만들도록 할 수는 없습니다. 그들을 죽여야한다). 대신 가장 많이 사용되는 암호화 방법은 비밀 키를 사용합니다. 알고리즘은 잘 알려져 있지만 암호화 및 암호 해독 프로세스에는 두 작업 모두에 대해 동일한 키가 있어야하며 키는 비밀로 유지됩니다. 암호화 된 데이터의 해독은 해당 키를 통해서만 가능합니다 .


암호화 및 암호 해독을 수행하기 위해 항상 동일한 키를 가질 필요는 없습니다. diffe-hellman은 발신자의 개인 키를 사용하여 인코딩하고 수신자의 개인 키를 사용하여 디코딩하지 않습니까?
David Mann

"HTTP는 모든 문자를 안전하게 전송하는 것을 허용하지 않습니다 ...."이것이 잘못된 것이라고 생각합니다. HTTP는 8 비트로 깨끗합니다. HTTP 메시지 본문에서 원하는 바이트를 전송할 수 있습니다. 헤더는 ASCII로 지정되어 있지만 "안전한"전송과는 아무런 관련이 없습니다.
Hawkeye Parker

27

부호화:

  1. 목적 : 인코딩의 목적은 다른 유형의 시스템에서 데이터를 적절하고 안전하게 사용할 수 있도록 데이터를 변환하는 것입니다.

  2. 데이터 유용성 유지, 즉 데이터가 올바르게 소비 될 수 있도록하기 위해 사용됩니다.

  3. 데이터 검색 메커니즘 : 어떤 알고리즘이 인코딩에 사용되었는지 알고 있다면 키가없고 쉽게 되돌릴 수 있습니다.

  4. 사용 된 알고리즘 : ASCII, 유니 코드, URL 인코딩, Base64

  5. 예 : 이진 데이터가 전자 메일을 통해 전송되거나 웹 페이지에서 특수 문자를 볼 수 있습니다.

암호화 :

  1. 목적 : 암호화의 목적은 다른 사람으로부터 비밀을 유지하기 위해 데이터를 변환하는 것입니다.

  2. 사용 대상 : 데이터 기밀성을 유지합니다. 즉, 의도 한 수신자 이외의 사람이 데이터를 사용할 수 없도록합니다.

  3. 데이터 검색 메커니즘 : 사용 된 키 및 암호화 알고리즘을 알고 있으면 원본 데이터를 얻을 수 있습니다.

  4. 사용 된 알고리즘 : AES, Blowfish, RSA.

  5. 예 : 누군가 만 읽을 수 있어야하는 비밀 서신을 보내거나 인터넷을 통해 안전하게 암호를 보내십시오.

참조 URL : http://danielmiessler.com/study/encoding_vs_encryption/


9

인코딩 은 전송 또는 저장 목적으로 일련의 문자를 특수 형식으로 만드는 과정입니다.

암호화 는 데이터를 비밀 코드로 변환하는 프로세스입니다. 암호화는 데이터 보안을 달성하는 가장 효과적인 방법입니다. 암호화 된 파일을 읽으려면 암호를 해독 할 수있는 비밀 키 또는 비밀번호에 액세스 할 수 있어야합니다. 암호화되지 않은 데이터를 일반 텍스트라고합니다. 암호화 된 데이터를 암호문이라고합니다


3

다른 시스템간에 데이터를 저장하거나 통신하는 방법으로 인코딩을 참조하십시오. 예를 들어, 텍스트를 하드 드라이브에 저장하려면 문자를 비트로 변환하는 방법을 찾아야합니다. 또는 모든 것이 플래시 라이트 인 경우 Morse를 사용하여 텍스트를 인코딩 할 수 있습니다. 결과가 저장되는 방식을 알고 있으면 결과는 항상 "읽을 수 있습니다".

암호화는 알고리즘을 사용하여 데이터를 암호화하여 읽을 수없는 데이터를 만들고자 함을 의미합니다. 예를 들어, Caesar는 각 문자를 다른 문자로 대체하여이 작업을 수행했습니다. 암호화 된 비밀 "키"를 모르면 여기에서 결과를 읽을 수 없습니다.


3

두 작업 모두 정보를 한 형태에서 다른 형태로 변환한다고 말하고 싶습니다. 차이점은 다음과 같습니다.

  • 부호화 은 정보를 한 형태에서 다른 형태로 변환하는 것을 의미합니다. 대부분의 경우 쉽게 뒤집을 수 있습니다.
  • 암호화 는 원래 정보가 가려지고 변환을 수행하기 위해 암호화 / 암호 해독 프로세스에 제공되어야 하는 암호화 키 를 포함 함을 의미합니다 .

따라서 (대칭 또는 비대칭) 키 (일명 "비밀")와 관련된 경우 암호화이며 그렇지 않으면 인코딩입니다.


2

이들은 서로 조금 다릅니다. 특정 컴퓨터 코딩 기술에서 텍스트를 변환하고 암호화에서 특정 키 또는 텍스트 사이에 데이터를 숨길 때 사용되는 인코딩입니다.


1

인코딩-> 예제 데이터는 16입니다.
인코딩이 10000이면 이진 형식 또는 ASCII 또는 UNCODED 등을 의미합니다. 실제 시스템을 쉽게 이해하기 위해 모든 시스템에서 쉽게 읽을 수 있습니다.

암호화-> 예제 데이터는 16입니다. encryprion은 3t57이거나 암호화에 어떤 알고리즘이 사용되는지에 따라 달라질 수 있습니다. 어떤 시스템에서나 읽을 수 있습니다.


0

인코딩 은 데이터 사용성 을 유지하기위한 것으로, 컨텐츠를 인코딩하는 것과 동일한 알고리즘을 사용하여 키를 사용하지 않고 되돌릴 수 있습니다.

암호화 는 데이터 기밀성 을 유지하기위한 것입니다 하기위한 것이며 일반 텍스트로 돌아가려면 키 (기밀 된 비밀)를 사용해야합니다.

또한 보안 해싱과 난독 화 의 세계에서 혼란을 가져 오는 두 가지 주요 용어가 있습니다.

해싱 은 해시 출력에 대한 명백한 변경을 통해 컨텐트의 모든 수정을 감지하여 컨텐트의 무결성을 검증하기위한 것입니다.

난독 화 는 사람들이 무언가의 의미를 이해하지 못하도록하는 데 사용되며, 컴퓨터 기능과 함께 성공적인 리버스 엔지니어링 및 / 또는 도난을 방지하기 위해 종종 컴퓨터 코드와 함께 사용됩니다.

@ Danielmiessler 기사 더 읽기


1
인코딩은 문자셋을 이해하는 능력입니다. 파일에서 읽고 쓰는 내용을 기반으로합니다. 예 : UTF-8, UTF-16, UTF-32, ANSI. 암호화는 이미 인코딩 된 데이터를 변환하는 것입니다.
Arun

0

암호화 는 데이터를 읽을 수없는 형식으로 변환합니다 (읽을 수없는 특수 문자가 포함될 수 있음).

인코딩 은 해당 데이터를 읽을 수있는 형식 (문자)으로 변환하여 나중에 사용하기 위해 (예 : 해독하는 동안) 저장할 수 있도록합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.