Hash

Hash

  • 단방향성

  • 입력값의 크기와 상관 없이, 결과 값의 길이(혹은 크기) 가 항상 일정

    • 기본적인 Hash 의 방식이 나머지(나누는 값 미만으로 값을 한정)를 구하는 방식과 비슷하다.

  • 데이터 무결성(데이터가 변조되었는가?) 확보와 관련해 IT 전반에서 사용된다.

대표적인 Hash 알고리즘

  • MD 계열

    • 경우의 수가 너무 적기 때문에, 패스워스 단방향 암호화에 사용금지!

      • 패스워드는 평문이 아닌, 해시값을 넣는 것이 일반적이다.(단방향)

      • 노가다 해킹의 경우, 경우의 수가 너무 적은 해시함수는 너무 취약하다..

    • 보안을 더욱 높이는 방법으로는 SATL 값을 사용하는 것이다.

      • 암호화를 하기 전, 값에 SALT 값을 추가하여 암호화한다면 노가다 해킹에 대한 위험도를 낮출 수 있다. (불가능하다 보아야 한다)

  • SHA 계열

    • 숫자의 크기가 클수록 좋다! (SAH-256 이 일반적으로 많이 사용된다)

    • 숫자의 크기가 크다는 것은 경우의 수가 많다는 것을 의미하기 때문에, 좋은 암호화 방식이다.

블록체인

  • 블록체인이 이루어지는 방식은 다음과 같다.

    • 데이터의 단위를 블록이라고 부른다.

    • 블록을 Hash 암호화 하고 다음 블록 암호화 시 이전 블록의 해시값을 포함해 Hash 암호화 한다.

    • 이런 블록들이 10000개가 이어진다고 하면, 약 9000번째 블록을 복호화 하기 위해서는 이전에 8999개의 블록을 확인해 해시값을 알아내야 한다.

Last updated