inblog logo
|
vosw1
    컴퓨터 공학기초

    컴퓨터 공학 기초)Hash

    Dec 12, 2023
    컴퓨터 공학 기초)Hash
    Contents
    1. Hash란?2. Hash 특징3. Hash의 장단점4. 단방향 통신5. 전자서명에 많이 사용 됨

    1. Hash란?

    • 어떤 데이터를 고정된 크기의 문자열로 변환하는 함수 또는 알고리즘
    • 단방향 암호화 기법 : 한번 암호화 하면 복구화가 안됨
    • 해싱(Hashing) : 특정한 규칙에 따라 변환하여 고정된 크기의 해시 값을 생성하는 과정
    • 임의의 난수, 16 진수 : 0~f까지 표기
    💡
    컴퓨터가 8bit 체제라 16진수를 이해하기 더 편해서 사용
     
    예시) 3을 16진수로 표현할 때 0x03
    key : 안녕 → hash : AB3F7D8

    2. Hash 특징

    • 같은 입력에 대해서는 항상 동일한 해시값이 생성
    • 해시 값은 주어진 입력 데이터에 대해 유일하게 대응
    작은 변화라도 입력 데이터의 해시 값이 크게 변하도록 설계됨
    길이는 hash 알고리즘에 따라 다 다름
    • 이미 해봐서 사람이 기억하고 있으면 찾을 수 있음
    💡
    Why? 무엇을 hash하던지 항상 동일한 길이가 나옴
     
    예시) 엄청 두꺼운 책에 엄청 많은 글이 적혀있는 책 한 권을 hash했을 때 : A3F6D08
    그 저자의 이름이 홍길동인데 이름을 홍길도로 바꾸면 위조된 것
    동일한 책이지만 조금이라도 변경이 되면 hash가 변경됨 : 3F607D4
    이 책에 대한 hash를 국가에 등록한 경우 이 책을 위조하면
    그 파일 내용을 hash하면 다르게 나옴 어떤 책이 진본인지 알 수 있음
    그래서 전자 서명, 위조 확인에 사용됨
     

    3. Hash의 장단점

    장점) 변경의 유무를 알 수 있음
    단점) 복구화가 안됨
    hash 알고리즘을 통해서 암호화하면 hash를 원복시킬 순 없음
    어떤 부분이 변경됐는지는 알 수 없음
    예시) 세상의 모든 것에 대한 hash 값이 나오고
    세상이 계속 바뀌기 때문에 그 순간마다 hash 값이 달라짐

    권장 Hash


    MD5, SHA-1 → 크랙 당함
    크랙을 당하는 이유? 레인보우 테이블을 가지고 있음
    레인보우 테이블 : hash 함수에 따른 hash 값들이 다 저장되어 있음
     
    SHA-256, SHA-512에 salt 추가하기

    예시) SHA-256 : 256 bit
    notion image
    notion image
    notion image
     

    4. 단방향 통신

    notion image
    ID = user name
    통신할 때 연결되는 물리적인 선 : Byte Stream
    PW를 그대로 저장하면 보안법에 걸리니까 hash해서 저장함
    직원도 몰라야하니까 단방향 hash를 사용
     
    hash값을 비교해서 값이 같으면 승인
    hash니까 해킹을 당해도 단방향이라 원복이 안되니 PW가 노출되지 않음
     

    5. 전자서명에 많이 사용 됨

    블록체인


    블록을 hash → 이전hash와 블록을 hash : 블록끼리 hash로 연결되어 있음
     
    블록의 내용을 변경하면 hash값이 변경되고 다음 블록들도 다 바뀌게 됨
    블록이 10분마다 생성되어 모든 블록을 해킹해야하기에 해킹이 불가능

     
    Share article
    Contents
    1. Hash란?2. Hash 특징3. Hash의 장단점4. 단방향 통신5. 전자서명에 많이 사용 됨

    vosw1

    RSS·Powered by Inblog