[crypto] ASync Hash api

development 2011. 10. 12. 11:28
Linux Crypto 엔 hash 알고리즘 모듈이 들어가 있습니다.

1. HASH 란 무엇인가?
  HASH 란 결정형(Deterministic procedure) 단방향 알고리즘입니다. 
  풀어서 설명하면 어떤 데이터가 있는데 이 데이터의 결과값의 크기는 항상 지정된 크기로 나오게 되고 한번 Hash 과정을 거치면 원래 데이터가 무엇이었는지를 역으로 풀어 볼 수가 없다는 뜻입니다. 

 HASH 알고리즘 중에 MD5  를 예를 들면
   출력 크기 : 128bit(16Byte)
   원본 데이터 : "MKKIM_BABO"
   출력 데이터 : "\xd4\x1d\x8c\xd9\x8f\x00\xb2\x04\xe9\x80\x09\x98\xec\xf8\x42\x7e"(여기서 '\x' 는 구분자 이므로 실제 데이터는d41d8cd98f00b204e9800998ecf8427e" 입니다.) 

  로 나오다고 가정할 때, 입력 데이터의 크기에 상관 없이 출력 데이터의 길이는 무조건 128bit(16Byte) 이고 출력 데이터를 바탕으로 원본 데이터인 "MKKIM_BABO" 를 역추적할 수가 없습니다. 

  Hash 는 암호화가 아닙니다. 암호화는 암호/복호가 가능해야 하는데 hash 는 복호가 불가능합니다. 
  그러므로 보내진 데이터가 오염없이 정상적인 데이터인지를 확인하는 용도로 사용된다고 보면 됩니다. 


 
   



 
블로그 이미지

김유석0

,