2012-06-20 5 views
2

나는 최근에 password hashing에 관한 기사를 읽었습니다.왜 MD5/SHA1 암호 해시를 암호 해독 할 수 없습니까?

MD5 또는 SHA1 해시가 어떻게 해독되지 않도록 만들어 졌습니까 ?? 내가 생각하는 것은 특정 형식 (항상 동일한 문자열에 대해 동일한 해시를 제공하므로 무작위 화가 발생하지 않아야 함)에 따라 문자열을 암호화해야한다는 것이고 동일한 FORMULA로 해독 할 수 있어야하는 이유는 무엇입니까 ?? 아니면 사람들은 forumla을 몰라?

+0

역 공식으로. 필자는 암호화 기술 전문가는 아니지만, 합리적인 시간에 계산할 수있는 암호화 (평문)와 적어도 키가없는 경우에는 해독 할 수없는 암호문 (암호문)의 두 가지 기능이 있다는 아이디어가 있습니다. 보통 당신이 할 수있는 최선의 방법은 당신이 올바른 것을 얻을 때까지 암호화 기능을 통해 모든 평문을 실행하는 것입니다. 이것은 기하 급수적 인 시간이 걸리고, 이로부터 메소드의 보안이 손상됩니다. –

+3

@PanayiotisKarabassis MD5 및 SHA1은 암호화 알고리즘이 아니며 암호를 해독 할 수 없습니다. 그들은 해싱 함수입니다. 귀하의 의견은 약간 오해의 소지가 있습니다. – psych

+0

사실. 죄송합니다 ... –

답변

27

MD5 및 SHA1은 암호화 알고리즘이 아닙니다. 그들은 해싱 알고리즘입니다.

일방 수식입니다. 특정 문자열에서 MD5 또는 SHA1을 실행하면 항상 동일한 해시가 제공됩니다. 원래 문자열로 돌아가려면 함수를 되돌릴 수 없습니다. 예를 들어

:

15 모 수식이

모 4

x는 알고있다하더라도 4 = 3

당신은 할 수 없습니다 x가 3, 7, 11, 15 등일 수 있음을 추론합니다.

분명히 MD5와 SHA1은 훨씬 더 복잡합니다!

위의 예에서 15를 입력하면 항상 3의 답을 줄 수 있지만 아무도 원래 숫자를 추론 할 수 없습니다.

http://en.wikipedia.org/wiki/MD5#Algorithm

+0

음, 그 말이 맞는 ... –

+0

감사합니다! 이것은 제가 찾고 있었던 일종의 예입니다! – Gabo

4

모두가 제대로 정신에 의해 설명 :

http://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities

위키 백과 사용되는 특정 알고리즘에 대한 정보를 가지고 : 이것은 여러 입력 문자열이 동일한 해시를 줄 수있는 경우 충돌로 친절에 이어질 않습니다 , 이것에 또 하나의 포인트를 더하고 싶습니다 :

15 Mod 4 = 3,210

당신은 공식

X 모 4 알더라도

우리는 심지어 갈 수 등이 3, 7, 11, 15이 될 수 있기 때문에 당신은 X를 추론 할 수 없습니다 우리의 상황에 가까이 (당신은 행동과 행동의 설명의 결과로 해시를 가지고 같은) 행동의 결과가

X 모드 4 = 3

x는 12,13,14 또는 15 일 수 있습니다. 이는 우리가 들어오는 정수를 알려주지 않습니다.

+0

하지만이 수식을 사용하면 출력과 일치하는 입력을 찾는 것이 쉽습니다. 따라서 첫 번째 이미지를 찾는 것이 쉽습니다. 암호화 해시의 필수 속성은 주어진 출력과 일치하는 입력을 찾을 수 없다는 것입니다. – CodesInChaos

0

저는 항상 md5와 sha1을 해독 할 수없고 내 응용 프로그램에서 사용했다고 믿었습니다.그러나 놀랍게도이 절차를 수행하는 일부 사이트를 발견했습니다. 참조 http://www.crypt-security.com/ 따라서이 절차는 충분히 안전하지 않습니다.

+0

이것은 꽤 오래된 질문이며 정말 질문에 대답하지 않습니다 ... stackoverflow에 가입 주셔서 감사합니다, 나는 당신이 주위에 고집하고 유용한 사이트를 찾으십시오. – jeremy

+1

MD5 및 SHA1은 암호화 알고리즘이 아니므로 해독 할 수 없습니다. 그들은 해싱 함수입니다. 리버스 엔지니어가 쉽지는 않지만 MD5 ('password)'= 5f4dcc3b5aa765d61d8327deb882cf99를 찾고 사전에 해시 값을 저장하는 것을 막을 수는 없으므로 입력 문자열을 식별하기 위해 조회를 수행 할 수 있습니다. 'password' . – psych

+1

일반적인 해싱 기능과 일치하는 항목을 식별하는 데는 여러 가지 방법이 있지만 '암호 해독'이라는 단어를 잘못 사용하면 오해의 소지가 있습니다. – psych