1) BIT, BYTES와 파일 그리고 Hash
Last updated
Last updated
0 과 1 을 표현하는 단위
4비트로 표현 할 수 있는 범위(0~9,A~F) 하단의 Binary 의 경우 1자리에 0 또는 1만 표시할 수 있을 경우 4비트를 하나의 문자로 표현이 가능합니다.
또한 1바이트로 표현하는 것이 16진수를 활용하여 표기에도 용이하여 활용
8bit = 1byte 왜 하필 8 비트인가? 0000 0000 ~ 1111 1111 ( 256 가지 표현 가능)
숫자 10개(0~10), 영어 대문자 26개, 영어 소문자 26개 = 62개 글자표현을 위해선 최소 64개를 표현할 수 있는 6비트 이상이 필요
그렇다면 6비트만 써도 되겠지만.. 특수기호(!, “, ‘, @, #, $) 를 포함하려면 더 필요 -> 7비트를 사용한다면 총 128개 표현 가능.
그리고 오류검출용 코드를 1비트를 포함하여 총 8비트를 사용 ⇒ 아스키 코드
글자의 표현 실습
실습
파일의 개념은 다양하게 해석할 수 있지만 디지털포렌식과 친해지기에서는 간단히 저장공간에 bit가 모여있는 것을 하나의 파일로 생각하고 활용하도록 하십니다.
밑에서 실습해 보겠지만, 단순히 아무 것도 없이 "00" 이라는 1바이트를 저장한 것도 하나의 파일이고, 엄청난 용량의 동영상도 하나의 파일입니다.
문서파일, 그림파일 등등등 다양하게 있지만, bit가 모여 있는 것을 어떻게 보여주냐에 따라서 문서파일이 될 수 있고, 그림파일이 될 수 있습니다. 이 부분은 추후에 다른 실습을 하면서 보다 이해하면서 친해져봅시다!
입력 데이터(bit)가 어떤 값이든 간에 출력 결과는 고정된 길이의 bit를 출력하는 값 다만, 입력 데이터의 1bit 만 달라져도 출력 데이터는 완전 다른 값이 출력됩니다. (해시, 해시값, 체크썸 등등.. 으로도 불린다.)
알고리즘 종류 : md5, sha, sha-256, sha-512 등등.. md5(128 bit의 출력) → 128bit → 16진수로 32자리 128 / 4 = 32자리
Windows Power Shell get-filehash 로 실습해보기
HxD를 이용하여 파일을 생성하여 봅시다. HxD에서 파일 - 새로 만들기 또는 새로 만들기 아이콘 선택 후 "00 00" 값을 넣고 저장하여 봅시다. (파일명은 아무거나 상관없습니다.)
MD5로 “00 00”의 데이터를 가진 파일을 MD5 알고리즘으로 계산하였을때 나오는 결과값을 알아봅시다. 테스트할 파일이 있는 폴더에서 shift 누른 상태에서 우클릭 - [여기에 PowerShell 창 열기] 선택합니다.
아래 명령어를 입력하여 봅시다. get-filehash “파일명” -algorithm md5 해시값이 아래와 같은 값을 확인할 수 있을 것입니다. C4103F122D27677C9DB144CAE1394A66 (128비트 = 4비트 32자리) 값을 확인할 수 있습니다.
만약 1이라도 바뀐다면 어떻게 되는지 살펴봅시다. 마지막 비트를 1로변경하여 봅시다. 00 00 (16진수 Hex) => 0000 0000 0000 0000 (bit) 00 01 (16진수 Hex) => 0000 0000 0000 0001 (bit) 이후 다시 같은 명령어를 입력하여 Hash 값을 비교하여 봅시다. > 441077CC9E57554DD476BDFB8B8B8102 (128비트 = 4비트 32자리)
다시 원래대로 수정하여 해시값을 비교하여 봅시다. > C4103F122D27677C9DB144CAE1394A66 다시 처음과 같은 값
다만 해시값만 가지고는 원본이 무엇인지 정확히 알 방법이 없습니다. 이러한 특성을 이용하여 bit의 묶음(파일 등등..)이 변경되지 않았음 입증하는데 활용하고 있습니다.
한글의 표현 - 1bytes 만으로는 한글의 모든 글자를 표현하기 어렵기 때문에 최소 2 bytes 이상으로 만듬 2bytes = 16 bit = 2의 16승 (65,566 가지 표현 가능 0000 0000 0000 0000 ~ 1111 1111 1111 1111) CP949 한국어판 윈도우 기본 코드 페이지. - 문자집합 위키 cp949 엑셀표 - 출처()
실습도구(HxD)
인터넷에서 다운받은 MD5를 계산하는 어떠한 md5 hash를 계산하는 프로그램을 이용하여도 동일한 결과를 갖습니다. - 해시계산 프로그램 사이트 : (니르소프트는 앞으로 자주 사용할 사이트!) - 해시계산 프로그램 다운로드 :