암호화 해싱 : 초보자 가이드

암호화 해싱은 사이버 보안 스펙트럼의 필수적인 부분이었습니다. 실제로 비트 코인 및 기타 암호 화폐 프로토콜을 포함한 다양한 기술에서 널리 사용됩니다..

이 기사에서는 암호화 해시, 예제, 역사 등에 대해 배우는 암호 화폐의 해싱을 살펴 보겠습니다..

이 기사는 주제에 대한보다 기술적 관점을 배우고 자하는 사람들을 대상으로합니다. 그러나 기술적 인 사람이 아니더라도 걱정하지 마십시오. 가능한 최선의 방법으로 개념을 단순화하려고 노력할 것입니다..

암호화는 항상 컴퓨터 과학의 핵심이었습니다. 그것 없이는 우리는 안전한 통신이나 정보 공유를 할 수 없습니다. 정보를 보호하는 방법으로 가장 잘 정의됩니다..

 

암호화 해싱이란??

암호화에서 해싱은 데이터를 고유 한 텍스트 문자열로 변환하는 데 사용되는 방법입니다. 데이터는 몇 초 만에 데이터가 해시되는 매우 효율적인 방법으로 변환됩니다. 또한 데이터 유형이나 크기에 제한이 없습니다. 모든 데이터에 대해 해싱이 작동합니다..

그렇다면 해싱이 그렇게 인기 있고 독특한 이유는 무엇입니까? 되돌릴 수 없기 때문입니다!

네, 단방향 함수 (암호 해시 함수)로만 작동하도록 설계되었습니다..

단방향 함수에서 데이터는 해싱 알고리즘에 입력되면 고유 한 문자열을 출력합니다. 그러나 고유 문자열을 사용하여 원래 데이터를 해싱 함수에 다시 넣어 해독 할 수는 없습니다. 이러한 종류의 유용성과 기능은 정보 및 데이터 보호에있어 암호화 해싱을 매우 유용하게 만듭니다..

또한 확인하십시오

  • Python에서 블록 체인을 구축하는 방법
  • 초보자 가이드 : 암호 화폐에서 암호화 사용

해시 방법에 적용되는 기능이 하나 더 있습니다. 주어진 데이터는 동일한 해시 출력을 제공합니다..

이러한 기능은 비트 코인과 같은 암호 화폐에서 매우 유용합니다.. 

 

해싱 작동 원리?

해싱을 더 잘 이해하려면 어떻게 작동하는지 배워야합니다. 해싱은 수행하는 데 계산 능력이 덜 필요한 수학적 연산입니다. 그러나 반전에 필요한 계산 능력은 비용이 많이 들고 현재 세대의 컴퓨터로는 수행 할 수 없습니다..

그러나 양자 컴퓨터는 컴퓨터 해싱을 반대로 할 수 있습니다. 그러나 이미 양자 내성을 가진 해싱 방법이 있습니다..

해싱 목적으로 사용되는 알고리즘이 많이 있습니다. 여기에는 다음이 포함됩니다..

  • 메시지 다이렉트 (MD5)
  • 보안 해시 기능 (SHA1)
  • 보안 해시 기능 (SHA-256)

모든 해싱 함수가 100 % 안전한 것은 아닙니다. 예를 들어, SHA1은 크래킹하기 쉽기 때문에 실용적인 용도로는 권장되지 않습니다. 사용되는 가장 일반적인 해싱 함수 중 하나는 MD5 및 SHA-256입니다..

MD5는 주로 다운로드 된 파일을 확인하는 데 사용됩니다. 따라서 파일을 다운로드하면 체크섬 계산기를 사용하여 체크섬을 계산할 수 있습니다. 해시 문자열이 다운로더가 제공 한 문자열과 일치하면 다운로드가 파일 손상없이 올바르게 수행되었음을 의미합니다. 즉, 파일의 무결성을 확인합니다..

 

해싱이 가장 많이 사용되는 곳?

해싱은 주로 암호에 사용됩니다. 그것을 이해하기 위해 예를 들어 봅시다.

이메일 계정을 만들 때 이메일 제공 업체에서 이메일 주소와 비밀번호를 묻습니다. 분명히 그들은 이메일과 암호를 단순한 일반 텍스트로 저장하지 않습니다. 만약 그렇다면 그들은 귀하의 정보의 프라이버시와 보안을 침해하는 것입니다. 해당 정보를 해독하기 어렵게하기 위해 이메일 제공 업체에서 내부적으로 일하는 사람조차도 암호를 해독 할 수 없도록 암호에 해시 기능을 사용합니다.. 

따라서 다음에 로그인을 시도하면 해시 기능이이를 해독하여 저장된 것과 일치하므로 이메일에 대한 액세스 권한을 부여합니다..

다른 용도로는 서명 생성 및 확인 및 파일 무결성 검사가 있습니다..

물론 다른 해싱 응용 프로그램도 있습니다. 해싱의 또 다른 가장 인기있는 사용법은 아래에서 논의하는 암호 화폐입니다..

 

암호 화폐에서 해싱을 활용하는 방법

해싱은 주로 채굴 목적으로 암호 화폐에 사용됩니다. 따라서 Bitcoin에서 채굴은 SHA-256 해싱 기능을 확인하는 프로세스입니다. 즉, 해싱을 사용하여 새 트랜잭션을 작성하고 이전 블록으로 다시 참조하고 타임 스탬프를 찍을 수 있습니다.

네트워크는 새로운 블록이 블록 체인에 추가 될 때 합의에 도달한다고합니다. 이를 통해 블록에 포함 된 트랜잭션의 유효성을 검사합니다. 또한 추가로 인해 누구도 되돌릴 수 없습니다. 이 모든 것은 해싱 때문에 가능하며 블록 체인 무결성을 유지하는 데 사용됩니다..

Bitcoin은 SHA-256 단방향 해시 함수를 사용하는 작업 증명 합의 방법을 사용합니다..

 

해싱 함수 예

이제 암호화 해시 함수의 예를 살펴 보겠습니다..

우리와 귀하가 더 쉽게 사용할 수 있도록 온라인에서 사용 가능한 SHA-256 도구를 사용할 것입니다..

여기에 대한 링크가 있습니다. SHA256 온라인

이제 101Blockchains를 입력으로 입력하면 다음과 같은 출력이 제공됩니다..

입력: 101Blockchains.com

산출: fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9

SHA256 해시 기능 사용

이제 간단한“Hello World”를 입력으로 입력하면 다음과 같은 출력이 제공됩니다..

입력: Hello World

산출: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

두 출력 중 두 출력 값이 동일한 길이 (예 : 256 비트, 즉 64 자 길이)임을 알 수 있습니다..

이제 입력에 101 블록 체인을 입력 해 보겠습니다. 첫 번째 해시를 생성하는 데 사용 된 101Blockchains에서 “s”를 제거했습니다..

입력: 101 블록 체인

산출: c4d67db72f3d18eaca2e8e8498271de353d25874e4448be4887f2563576c6fe8

첫 번째 해시 출력과 비교하면 입력에서 문자 하나만 제거해도 큰 차이를 볼 수 있습니다..

그래서, 우리는 예에서 무엇을 배웠습니까? 아래에 요약하자.

  • 모든 출력의 길이가 동일합니다.
  • 입력의 작은 변화로 인해 완전히 다른 출력이 생성됩니다.
  • 출력을 입력으로 반전시킬 수 없습니다..

암호화 해시 함수의 속성

일반적인 암호화 해싱 또는 해싱을 더 잘 이해하기 위해 암호화 해시 함수의 속성을 살펴 보겠습니다..

결정 론적

암호화 해시 함수는 결정적인 것으로 알려져 있습니다. 이것은 주어진 입력에 대해 출력이 동일하다는 것을 의미합니다. 간단히 말해서 해시 함수를 통해 동일한 입력을 100 번 입력하면 출력은 모든 경우에 동일합니다.. 

결정적 속성은 단방향 함수의 개념을 가능하게하므로 중요합니다. 그렇게되지 않으면 정보를 해싱하는 데 사용할 수 없습니다. 또한 동일한 입력에 대한 임의 출력은 전체 프로세스를 쓸모 없게 만들 수 있습니다..

 

사전 이미지 방지

암호화 해시 함수는 사전 이미지에 대한 내성이있어 일단 생성 된 해시 값이 입력에 대해 아무것도 드러내지 않음을 의미합니다..

이것은 매우 중요한 기능을 제공하므로.

 

계산 효율성

해시 함수는 계산적으로 효율적입니다. 이는 입력이 얼마나 길고 복잡한 지에 관계없이 해시 출력을 빠르게 생성한다는 것을 의미합니다. 해시 함수를 사용하여 민감한 정보를 저장하려는 서비스의 효율성은 환영합니다. 그러나 이는 입력에서 출력으로의 계산적으로 효율적입니다. 되돌릴 수 없기 때문에 어떤 컴퓨터에서도 역 엔지니어링 할 수 없습니다..

그러나 숫자에 대해 이야기하고 싶다면 주어진 해시 값에서 입력을 추측하는 데 현대 컴퓨터 년이 걸릴 수 있습니다. 또한 최신 컴퓨터가 날이 갈수록 강력 해짐에 따라 해시 함수는 그 어느 때보 다 효율적으로 변하고 있습니다..

 

리버스 엔지니어링 불가

해시 함수는 되돌릴 수 없습니다. 이것은 안전하다는 것을 의미합니다. 암호화 해시 함수는 비가역 함수를 전제로 생성된다는 것을 알고 있어야합니다. 출력을 생성하는 데 사용되는 수학적 방정식 및 프로세스는 단순화되어 되돌릴 수 없습니다. 기술적 인 측면에서 해시 함수는 역 연산을 지원하지 않습니다..

 

충돌 방지

충돌 저항은 우리가 논의 할 마지막 속성입니다. 이 속성은 두 개의 다른 입력이 동일한 출력을 생성하지 않도록합니다..

지금까지 알고 있듯이 입력 길이는 얼마든지 가능합니다. 이 정의에 따라 입력은 무한한 숫자가 될 수 있습니다. 이제 고정 길이 인 출력은 매번 달라야합니다. 고정 길이의 제한은 또한 출력이 유한 한 숫자라는 것을 의미합니다. 비록 유한 한 숫자가 엄청난 가치를 가지고 있더라도 말입니다. 이것은 모든 입력에 대한 출력을 분리하는 수학적 도전을 제기합니다.. 

좋은 소식은 대부분의 인기있는 해시 함수가 충돌에 강하다는 것입니다..

 

인기있는 해시 클래스 – 해싱 알고리즘 목록

이것은 인기있는 해시 클래스에 대해 논의하는 다음 섹션으로 이어집니다. 암호화 영역에서 매우 인기있는 세 가지 해시 클래스를 나열합니다..

  • MD (Message Digest)
  • 보안 해시 기능 (SHF)
  • RIPEMD (RIPE Message Direct)

하나씩 살펴 보자.

메시지 다이제스트 (MD)

Message Digest는 인터넷 역사 전반에 걸쳐 사용되는 해시 함수 제품군입니다..

이 제품군은 MD2, MD4, MD6 및 가장 많이 사용되는 MD5와 같은 해시 함수로 구성됩니다. 모든 MD 해시 함수는 128 비트 해시 함수이며 이는 다이제스트 크기가 128 비트임을 의미합니다..

앞서 논의했듯이 MD5 다이제스트 해시 함수는 소프트웨어 공급자가 파일 서버를 통해 사용자가 다운로드 한 파일의 무결성을 확인하는 데 사용됩니다. 작동을 위해 공급자는 다운로더에게 파일의 MD5 체크섬에 대한 액세스 권한을 부여합니다. 파일의 무결성을 확인하기 위해 체크섬을 계산 한 다음 제공된 해시 값과 교차 검사하는 MD5 체크섬이 사용됩니다. 값이 해당 파일의 무결성 검사와 다르고 사용자가 파일의 전체 또는 일부를 다운로드해야하는 경우.

MD5는 다른 해싱 함수만큼 안전하지 않습니다. 2004 년에는 단 1 시간 만에 수행 된 해시 함수에 대한 분석 공격이 이루어졌습니다. 컴퓨터 클러스터를 사용하여 수행되었습니다. 이로 인해 MD는 정보 보안에 그다지 유용하지 않았으므로 파일 무결성 확인과 같은 작업에 사용됩니다..

MD5에 대해 더 알고 싶다면 MD5에 대한 Wiki 페이지를 확인하십시오 — MD5.

 

보안 해시 기능 (SHA)

보안 해시 함수는 매우 인기있는 또 다른 해시 함수 제품군입니다. NIST (National Institute of Standards and Technology)에서 개발 및 출판했습니다. SHA-0, SHA-1, SHA-2 및 SHA-3을 포함한 4 가지 버전의 SHA를 출시했습니다..

짐작 했겠지만 이후 버전은 이전 버전의 SHA에서 발생하는 몇 가지 문제 또는 약점을 수정합니다. 예를 들어, SHA-1은 SHA-0 취약점이 발견 된 후 출시되었습니다. SHA-1은 1995 년에 출시되었습니다..

SHA-1은 출시 된 후 자체 이름을 만들었습니다. 당시 SSL (Secure Socket Layer)을 비롯한 다양한 애플리케이션에서 사용되었습니다..

그러나 시간이 지남에 따라 악용 자들은 SHA-1 충돌을 발견하여 쓸모 없게 만들었습니다. NIST는 SHA-256, SHA-224, SHA-512 및 SHA-384를 포함한 4 개의 SHA 변형을 사용하는 보안 해시 기능의 SHA-2 제품군을 고안했습니다. 이 4 가지 변종에서 2 개는 SHA-256 및 SHA-512를 포함한 핵심이었습니다. 차이점은 SHA-512는 64 바이트 단어를 사용하는 반면 SHA-256은 32 바이트 단어 만 사용했다는 것입니다.. 

SHA-2 해시 함수 제품군은 여전히 ​​널리 사용됩니다. 그러나 2012 년 공개 대회에서 NSA가 아닌 디자이너가 고안하고 출시 한 SHA-3도있었습니다. 이전에는 Keccak으로 알려졌습니다. Keccak의 이점에는 더 나은 공격 저항과 효율적인 성능이 포함되었습니다..

 

RIPE 메시지 다이렉트 (RIPEMD)

RIPE Message Direct (RIPEMD)는 1992 년에 출시 된 해시 함수 제품군입니다. 또한 RIPE는 RACE Integrity Primitives Evaluations의 약자입니다..

개방형 연구 커뮤니티에서 설계하고 관리합니다. 제품군 중 RIPEMD, RIPEMD-160, RIPEMD-128, RIPEMD-320, RIPEMD-256 등 5 가지 기능이 있습니다. 그러나 가장 일반적으로 사용되는 기능은 RIPEMD-160입니다..

RIPEMD의 디자인은 Message Direct를 기반으로합니다..

 

해싱, 암호화 및 솔팅의 차이점

이 섹션에서는 해싱, 암호화 및 솔팅의 차이점에 대해 간략하게 설명합니다..

암호화를 시작하겠습니다..

암호화는 공개 키를 사용하여 원본 정보를 스크램블 한 다음 개인 키를 사용하여 잠금을 해제하는 프로세스입니다. 양방향 기능입니다..

반면 해싱은 확인 목적으로 정보를 스크램블하는 데 사용되는 단방향 기능입니다..

마지막 용어는 “Salting”.

솔팅은 해싱과 유사하지만 여기에서는 다른 해시 값을 만들기 위해 고유 한 값이 암호에 추가됩니다. 여기서 소금 값은 고유하고 숨겨져 있어야합니다.. 

 

결론

이것은 우리를 암호화 해싱의 끝으로 이끈다. 우리는 먼저 그것이 무엇을 제공해야하는지 배운 다음 그것이 어떻게 작동하는지, 그 유형 등을 빠르게 배우면서 해싱 in-and-out을 이해하려고 노력했습니다.!

보시다시피 암호 화폐, 암호 보호, 서명 확인 등 해싱에 대한 많은 사용 사례가 있습니다. 해싱은 고유 한 방식이지만 전 세계의 강력한 컴퓨터 덕분에 정보 보호 효과는 날이 갈수록 줄어들고 있습니다..

연구원들은 또한 양자에 저항력이 있고 전 세계의 계산 능력의 발전을 견딜 수있는보다 강력한 해싱 함수를 출시하여 현상 유지를 위해 노력하고 있습니다..

그래서, 해싱에 대해 어떻게 생각하십니까? 아래에 댓글을 달고 알려주세요..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map