정보보안공부

웹보안_12. 해시와 암호화의 차이 본문

정보보안/웹보안

웹보안_12. 해시와 암호화의 차이

Steady_sp 2018. 2. 26. 22:32

Hash(해시)

- 암호화는 아니다.

- 평문(plain text) -> hash value

- 단방향 함수( 복호화가 존재하지 않는다. )

- 평문의 길이와 상관없이 hash value의 길이는 고정 길이를 갖는다.

- 평문이 같으면 해시된 값도 같다.

- 평문이 다르면 해시값도 다르다.

- 평문이 다를때 해시 값을 같게 의도적으로 한다. 이때 해시가 안전하지 않다고 한다.

- md4, md5, sha1, sha2, sha256, sha512, ... 대표적인 해시함수는 sha512

- 기존의 파일을 해시한것과 복사한 파일을 해시한것을 비교해서 복사가 잘됬는지 여부를 확인한다.

- 검색에 사용하기도 한다.

- 공격으로는 : bruth force( 무차별 공격 ), dictionary attack( 사용자들이 많이 쓰는 패스워드를 db로 만든다. )

 

Encryption(암호화)

- 평문(plain text) -> 암호문(cipher text)

- 키를 필요로 한다.

- 암/복호화 가능하다.

- 평문의 길이에 따라 암호문의 길이도 달라진다.

- 평문이 같아도 키가 다르면 암호문도 달라진다.

- RSA(공개키), DES(비밀키), 시저 암호, enigma, ...

- 키를 모르면 복호화 할 수 없다.

 

md5는 32글자    (128bit)


sha0, sha1는 40글자    (160bit)


sha224는 56글자    (224bit)


sha256는 64글자    (256bit)


sha384는 96글자    (284bit)


sha512는 128글자    (512bit)



문자인코딩 : base 64기법

- 웹에서 사용하는 encoding기법이다.

- 64진법 : 모든 문자를 64개의 문자로 표현하는 기법

- 4바이트 단위로 인코딩이 된다. 부족한 글자는 =로 채운다.

- 암호화의 개념은 아니다.

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'정보보안 > 웹보안' 카테고리의 다른 글

웹보안_17. CSRF 공격 기법  (0) 2018.03.15
웹보안_16. XSS 공격 기법  (0) 2018.03.14
웹보안_11. MYSQL과 PHP연동하기  (0) 2018.02.24
웹보안_10. MYSQL/쿼리  (0) 2018.02.24
웹보안_9. 웹페이지 인증  (0) 2018.02.22
Comments