Hash
Last updated
Last updated
단방향성
입력값의 크기와 상관 없이, 결과 값의 길이(혹은 크기) 가 항상 일정 -> 기본적인 Hash 의 방식이 나머지(나누는 값 미만으로 값을 한정)를 구하는 방식과 비슷하다.
데이터 무결성(데이터가 변조되었는가?) 확보와 관련해 IT 전반에서 사용된다.
MD 계열
경우의 수가 너무 적기 때문에, 패스워스 단방향 암호화에 사용금지! -> 패스워드는 평문이 아닌, 해시값을 넣는 것이 일반적이다.(단방향) -> 노가다 해킹의 경우, 경우의 수가 너무 적은 해시함수는 너무 취약하다..
보안을 더욱 높이는 방법으로는 SATL 값을 사용하는 것이다. -> 암호화를 하기 전, 값에 SALT 값을 추가하여 암호화한다면 노가다 해킹에 대한 위험도를 낮출 수 있다. (불가능하다 보아야 한다)
SHA 계열
숫자의 크기가 클수록 좋다! (SAH-256 이 일반적으로 많이 사용된다) -> 경우의 수가 많다는 것을 의미하기 때문에, 좋은 암호화 방식이다.
블록체인이 이루어지는 방식은 다음과 같다.
데이터의 단위를 블록이라고 부른다.
블록을 Hash 암호화 하고 다음 블록 암호화 시 이전 블록의 해시값을 포함해 Hash 암호화 한다.
이런 블록들이 10000개가 이어진다고 하면, 약 9000번째 블록을 복호화 하기 위해서는 이전에 8999개의 블록을 확인해 해시값을 알아내야 한다.