SHA256

ou·2024년 1월 26일
0

basic

목록 보기
22/24

SHA = Secure Hash Algorithm
해시란 임의 값을 넣어도 고정된 길이의 값으로 매핑하는 알고리즘이다.

SHA 256이란?

특징

  1. 고정된 출력 크기 : 예를 들면, 2자리를 입력하든 1억자리 암호를 입력하든 256 비트 크기의 고정된 길이의 해시 값으로 변환된다.
    입력 데이터가 조금만 바뀌어도 해키 값은 크게 바뀐다.
  2. 고유한 출력 : 서로 다른 입력은 다른 해시 값을 가져야함.
  3. 저항성 및 안전성 : 역으로 원본 데이터를 찾는 것이 불가능, 충돌이 일어나기 어려움

MD5, SHA-1 도 있지만 보안 취약점이 발견돼 현재 해시 함수로 간주되지 않음.

문제점

'레인보우 테이블' 존재
레인보우 테이블이란 해시 함수에 대한 미리 계산된 해시 값을 담고 있는 테이블로 해시 값으로부터 원본 값을 유추할 수 있는 것이다. 그래서 추가된게 salt라는 개념.

원본 값에 salt라는 secret key를 추가해서 암호화한다.

마무리하며

SHA 256은 얼마나 큰 숫자일까?
2의 256승이다.
그럼에도 같은 경우가 존재할 수 있는데 이를 해시 충돌이라 한다.

다른 입력 값인데 같은 해시 값으로 출력되는 경우가 있다. 그래서 위에 특징 3번에서도 불가능이 아니고 어려움으로 표기한 것이다.

거의 마주할 일 없으니 확률적으로 그럴 수 있다는 것만 알고 넘어가면 된다.

profile
경험을 현명하게 사용한다면, 어떤 일도 시간 낭비는 아니다.

0개의 댓글

관련 채용 정보