2024. 6. 27. 22:25ㆍLinux*security/Network
해시는 임의의 데이터로부터 짧은 전자 지문을 만들어 내는 방법이며 단방향 함수로 치환된 해시 값에서 원래의 데이터를 구하는 것이 불가능해야한다.
해시 암호화의 특징과 원리
1. 단방향성:
- 해시 함수는 단방향 함수이며 입력 데이터를 해시 값으로 변환하는 것은 쉽지만, 해시 값으로부터 원래 입력 데이터를 추출하는 것은 사실상 불가능하다.
2. 고정된 크기:
- 해시 함수는 입력 데이터의 크기와 상관없이 항상 고정된 크기의 해시 값을 출력한다. 예를 들어, SHA-256은 항상 256비트(32바이트) 해시 값을 생성한다.
3. 충돌 저항성:
- 서로 다른 두 개의 입력 데이터가 같은 해시 값을 갖는 상황을 충돌이라고 한다. 좋은 해시 함수는 이러한 충돌이 발생할 확률을 매우 낮게 만든다.
4. 효율성:
- 해시 함수는 입력 데이터를 빠르게 해시 값으로 변환할 수 있다.
5. 균등 분포:
- 해시 값은 입력 데이터에 대해 균등하게 분포된다. 작은 입력 데이터의 변화라도 해시 값에 큰 변화를 일으킨다.
해시 암호화 알고리즘의 종류
1. MD5 (Message Digest Algorithm 5):
- 128비트 해시 값을 생성한다.
- 빠르지만, 충돌 취약점으로 인해 보안이 중요한 용도에는 권장되지 않는다.
2. SHA-1 (Secure Hash Algorithm 1):
- 160비트 해시 값을 생성한다.
- 충돌 취약점으로 인해 보안이 중요한 용도에는 더 이상 권장되지 않는다.
3. SHA-2:
- SHA-224, SHA-256, SHA-384, SHA-512 등 여러 변형이 있다.
- SHA-256은 256비트 해시 값을 생성하며, 현재 많이 사용된다.
4. SHA-3:
- SHA-2 이후의 표준 해시 함수로, 다양한 해시 길이를 지원한다.
해시값 출력 과정
'Linux*security > Network' 카테고리의 다른 글
Networking protocols (0) | 2024.07.03 |
---|---|
소켓 프로그래밍 (0) | 2024.07.02 |
Triple DES, AES, SEED, ARIA, IDEA (0) | 2024.06.27 |
보안의 3대 요소 (0) | 2024.06.27 |
비밀키(대칭키), 공유키(비대칭, 공개키) (0) | 2024.06.26 |