Notice
Recent Posts
관리 메뉴

Hacking Arts

해쉬와 암호화 본문

Computer & ETC/ETC

해쉬와 암호화

Rakehell 2014. 8. 23. 03:04

<암호화>

1)hello의 문자에서 ㅗ디ㅣㅐ 이런식으로 암호화 할 수 있음.

2)키보드를 다시 한글을 영어 자판대로 쓰면 hello가 됨(복원은 복호화)


-특징 : key에 따라 결과값(암호문)이 다름

          정상적인 사용자는 키를 이용하여 복호화가 가능

          알고리즘(공개), 키(비공개)

          키를 모를 경우 암호문을 유추하기가 매우 힘듬



<해쉬>

1)123456789같은 특정 숫자가 해쉬 알고리즘을 이용하면 11111 이런식으로 변함

2)해쉬의 경우는 앞의 5자리를 뒤의 5자리 이런식으로 나누고 소수에서 몇부분만 특별히 뽑아낸다.


-특징 : 단방향(One-Way) -> 예로는 믹서기가 있다. 갈아버린 후 되돌리지 못한다.

          손실 압축 -> 결과 값을 통해 원문을 유추하기 어려움

          Input Size에 상관없이 고정된 Output Size를 가짐

          Collistion-Free (1:1관계) -> 원문==원문 : 해쉬==해쉬 / 원문 != 원문 : 해쉬!=해쉬 (즉 input:output은 1:1 관계이다.)


해쉬의 종류:



<해쉬 크래킹 방법>

1)사전 대입 공격(Dictionary Attack) - 사전 대입 공격은 미리 들어갈 만한 것들은 목록화해서 목록에서 먼저 찾아보는 기법

2)무작위 대입 공격(Brute Force Attack) - 사전 대입에서 실패한 후 범위내에서 일일이 하나씩 만들어서 비교해서 찾아보는 기법

3)레인보우 테이블을 이용한 공격(Rainvow Attack) - 이전 공격은 만들어서 비교하는 것에 비해 이건 미리 만들어놓고 비교만

4)사회 공학적 기법을 이용한 공격(Guessing Attack) - 사람들이 자주 사용하는 것 위주로 검색


※대게 크래커들은 크래킹을 하더라도 보통 몇 일 간은 안전한 이유는 암호화를 하고 뚫는데 오래 걸리기 때문이다.

해킹 보도를 듣는 즉시 암호를 바꾸는 것이 좋다.


<SALT>

해쉬 값은 1:1대응 된다고 했다. 즉 이말은 만약 어떠한 사람과 암호가 같다면 해쉬값도 같을 수 있다는 것이다.

이렇게 되면 암호화에 굉장히 취약해진다. 그래서 SALT라는 것을 사용한다.


SALT란? 위에 말했듯이 저 문제점을 보강하기 위해 나온 방법으로 특별한 문자를 생성 그다음 앞이나 뒤에 붙이고 다시 해쉬값을 돌린다.

이때 특별한 문자는 계정마다 틀리게 가져가며, SALT의 특별한 문자는 암호를 저장할 때 특별히 표시 해놓는다.

ex)/etc/shadow가 될 수 있다.

 

 

 

대게 해쉬는 데이터의 무결성 체크,사용자 인증에 이용이 되고 암호 알고리즘은 데이터를 암호화 하는데 이용된다.

'Computer & ETC > ETC' 카테고리의 다른 글

Payload  (0) 2014.08.23
DMA(Direct Memory Access)  (0) 2014.08.23
Hot Swap  (0) 2014.08.23
ACPI(Advanced Configuration and Power Interface) and BIOS(Basic Input Output System)  (0) 2014.08.23
Pharming(파밍)  (0) 2014.08.23