반응형
해쉬(HASH)
암호학의 HASH란?
하나의 문자열을 원래의 것을 상징하는 고정된 길이의 값이나 키로 변환하는 방식
Hash 함수 구성 원칙
압축성 (Compression)
-
다양한 가변 길이의 입력에 고정된 크기의 결과값을 출력해야함
효율성 (Efficiency)
-
어떤 입력 값에 대해서도 해쉬 값을 구하는데
-
많은 자원과 노력이 소요되지 않고 계산 속도가 빨라야함
단방향성 (one-wayness)
-
해쉬 결과 값으로부터 입력 값을 계산하는 것은 불가능 해야함
충돌 회피성 (Colliosion resistance)
- 약한 충돌 회피성
- 입력 값과 해쉬 값을 알고 있을 때
- 동일한 해쉬 값을 가지는 다른 입력 값을 찾는것이 불가능해야함
- 강한 충돌 회피성
- 동일한 해쉬 값을 가지는 서로 다른 메시지 쌍을
- 찾는 것이 불가능해야함
무결성 검증
데이터를 보호하여 해당 데이터를 항상 정상 상태로 유지하는 성질
위, 변조를 방지하면서 신뢰성을 지켜야함
두개의 정보가 있을 때 두 정보의 Hash 값이 동일하면
그 정보는 동일하다고 판한 할 수 있음
메시지 인증(HMAC)
Keyed-hash Message Authentication Code
인증된 메세지코드 라는 뜻
해쉬 함수에 Key를 사용하는 방식으로 메세지를 인증함
HMAC의 암호 강도는 어떤 크기의 해쉬 알고리즘을 사용하는지에 따라서 달라짐
[HMAC 동작 원리]
송신자와 수신자만이 공유하고 있는 Key 와 Message 를 혼합하여 Hash 값을 만듬
서로에서 보낸 메시지가 훼손되었는지 여부를 확인할 수 있음
반응형
'보안' 카테고리의 다른 글
DEP(Data Execution Prevention) 이란? (0) | 2021.08.27 |
---|---|
ASLR 이란? (0) | 2021.08.27 |
OpenSSL를 이용한 암/복호화, 해쉬 (0) | 2021.02.23 |
보안 (0) | 2021.02.23 |
대칭키와 비대칭키란? (0) | 2021.02.19 |