2011-02-12 4 views
0

키가 있는데 비밀로 간주됩니다. 나는 문자열 주위를 지나가고 있는데, 사용자가 그것을 조작 할 수 있다고 가정해야하고, 그것이 변조되지 않았 음을 확인하고 싶다.비밀 키와 문자열이 주어지면 문자열이 변조되지 않도록 어떻게 빨리 확인할 수 있습니까?

읽을 때 나는 mcrypt_encrypt 저장 결과, mcrypt_decrypt 같은 것을 사용할 수 있습니다 또는 나는 $hash = hash('sha256', $key . $string);를 사용하고 $hash . $string를 저장 한 다음 해시를 확인할 수 있습니다. 문제는 a) 속도 - 다양한 암호화 알고리즘 속도와 해시의 해독 속도를 비교하는 벤치 마크가 있습니까? b) 동일한 접두사를 가진 여러 문자열을 해시하면 해시가 약화됩니까?

+1

당신은 이것을 읽을 수 있습니다 : http://www.eecs.umich.edu/~aprakash/eecs588/handouts/05-digitalsignatures.txt –

+0

답변을 추가 하시겠습니까? – chx

답변

2

바보 같은 날, 열쇠로 해싱하기 위해 hash_hmac은 내가 사용해야하는 기능입니다.

0

질문의 두 번째 부분 : 아니요 해시를 약화 시켜서는 안됩니다. 사용자가 문자열을 변경하려는 경우 동일한 값으로 해시 된 다른 문자열을 찾아야합니다. 해시는 매우 유사한 문자열조차도 다른 값으로 해시되도록 설계되었습니다.

첫 번째 질문은 컴퓨터와 다른 여러 가지 사항에 따라 다릅니다. 몇 가지 해시 알고리즘을 사용하고 특정 컴퓨터에 대한 벤치 마크를 실행하는 것이 매우 쉽습니다.

+0

예, 이론적으로 해시가 어떻게 설계되었지만 동일한 접두사가 해시를 약화시키지 않는다는 것을 보여주는 연구가 있습니까? 나는 단지 대부분 거기에서 흥미 롭다. – chx

관련 문제