해싱
해싱은 여러 유형의 입력에 대한 신뢰성과 무결성을 확인하는 데 사용할 수 있는 암호화 절차입니다. 데이터베이스에 일반 텍스트 암호를 저장하는 것을 방지하기 위해 인증 시스템에서 널리 사용되지만 파일, 문서 및 다양한 유형의 데이터를 확인하는 데에도 사용할 수 있습니다. 해싱 기능을 부적절하게 사용하면 심각한 데이터 유출이 발생할 수 있지만 애초에 민감한 정보를 보호하기 위해 해싱을 사용하지 않는 것은 좋지 않습니다.
해싱 함수는 되돌릴 수 없습니다. 해싱 함수의 출력은 해시 값, 다이제스트 또는 직접 해시로 알려진 고정 길이 문자열입니다. 이들은 원래 값으로 다시 변환될 수 없기 때문에 본질적으로 비밀 유지로 미리 결정되지 않습니다.
해싱 함수의 특징은 해싱될 때 고유한 입력이 항상 유사한 해시 값을 초래해야 한다는 것입니다. 두 개의 다른 입력이 유사한 해시 값을 가질 수 있는 경우 충돌이라고 하며 이러한 충돌을 계산적으로 얼마나 쉽게 발견하는지에 따라 해시 함수는 보안 관점에서 깨진 처리될 수 있습니다.
암호화
암호화는 암호 해독 키가 있는 경우 권한이 부여된 유일한 엔터티가 액세스할 수 있는 간단한 텍스트 및 기타 데이터를 인코딩하는 절차입니다. 사이버 범죄자가 민감한 정보에 액세스하지 못하도록 보호합니다.
현대 통신 시스템에서 정보 보안을 달성하는 가장 효과적인 방법입니다. 수신자가 암호화된 메시지를 읽기 위해서는 복호화에 사용되는 암호 또는 보안 키가 있어야 합니다. 암호화되지 않은 데이터를 평문, 암호화된 데이터를 암호문이라고 합니다.
암호화의 주요 개념은 대상이 아닌 메시지에서 데이터를 읽거나 가져와야 하는 권한 없는 사람의 정보를 보호하는 것입니다. 암호화는 웹이나 주어진 네트워크를 통해 메시지를 보낼 때 보안을 향상시킵니다.
해싱과 암호화의 비교를 살펴보겠습니다.
해싱 | 암호화 |
---|---|
해싱은 입력 파일 또는 텍스트 문자열에서 고유한 메시지 다이제스트가 생성되는 단방향 기능입니다. 사용된 키가 없습니다. | 암호화는 데이터가 암호화 키를 사용하여 스크램블되고 나중에 복호화 키를 사용하여 스크램블 해제되는 양방향 기능입니다. |
해싱은 모든 수정 사항과 해시 출력에 대한 변경 사항을 식별하여 콘텐츠의 무결성을 확인하는 데 사용됩니다. | 암호화는 정보 기밀성 및 보안 유지의 기본 목표를 위해 데이터를 인코딩합니다. 암호화된 텍스트를 일반 텍스트로 되돌릴 수 있는 개인 키가 필요했습니다. |
해싱에는 키가 필요하지 않습니다. | 암호화는 키 지원으로 수행됩니다. 대칭 암호화의 경우 공개 키만 사용됩니다. 비대칭 암호화에서는 공개 키와 개인 키가 모두 사용됩니다. |
해싱을 사용하는 목적은 데이터를 확인하는 것입니다(즉, 정보 무결성 보호) | 암호화의 목적은 데이터를 안전하게 전송하는 것입니다(즉, 정보 기밀성 보호) |