원본 SHA-1 해시를 유지하는 방식으로 파일을 악의적으로 변경할 수 있습니까?


33

기사와 다른 많은 기사 에 따르면 SHA-1은 안전하지 않습니다.

필자의 경우 암호 또는 디지털 인증서에 대해 걱정하지 않습니다. 파일 무결성이 걱정됩니다.

파일 (예 : ISO 이미지 또는 실행 파일)이 다음과 같은 방식으로 악의적으로 변경 될 수 있습니까?

  • 원본 파일의 SHA-1 해시를 유지하고
  • 파일의 전체 내용과 작업을 유지합니다 (물론 원래 원래 없었던 악성 내용이 포함됨)

내가 본 방식으로 SHA-1 충돌을 일으키는 방식으로 파일을 변경하면 파일이 완전히 쓸모 없게됩니다. ISO가 완전히 손상되었거나 실행 파일이 완전히 뒤섞여 더 이상 실행 파일이 아닐 수도 있습니다.

그러나 내가 보는 방식은 잘못되었을 수 있습니다. 지금까지 SHA-1의 파일 확인에 대한 지속적인 적합성과 관련하여 Google 검색에서 아무것도 발견하지 못했습니다. 통찰력이 있습니까?


7
대답은 "그것은 달려있다"입니다. ISO에 대상 실행 파일과 함께 많은 jpeg 또는 동영상 파일이 포함 된 경우 가능합니다. jpeg 파일의 크기 나 모양을 변경하지 않고도 파일을 상당히 극적으로 수정할 수 있습니다. 궁극적으로 파일이 클수록 게임을 더 많이해야하며 비파괴적인 충돌 가능성이 높아집니다.
Paul

7
@cpast 정확하게, 많은 웹 사이트에서 SHA-1 해시를 나열하여 다운로드를 확인할 수 있습니다. 해커가 내용 게시 된 해시를 변경하여 웹 사이트를 손상시킬 가능성이 훨씬 높습니다 . 그럼 당신은 정말 망했어.
misha256

1
참고로, 제 질문은 특히 Microsoft / MSDN에서 다운로드 할 때 특히 흔하기 때문에 SHA-1에 대해 묻습니다. 물론 일부 웹 사이트는 MD5 해시를 게시하고 다른 웹 사이트는 SHA256 등을 게시합니다.
misha256

2
문제는 왜 것입니다 원하는 이 해시 사용할 수 있는 사용하기 쉬운 빨리 불과하다 대안이있을 때, 알려진 취약점을하고, 그렇지 않은 널리 사용 (예. SHA-256) ? 또한, 암호화 전문가가 하나의 취약점 만 발견 한 후 해시를 안전하지 않은 것으로 선언하는 이유가 있습니다. 유명한 브루스 슈나이어의 인용문은 "공격은 항상 좋아지고, 더 나빠지지는 않는다"
BlueRaja-Danny Pflughoeft

3
@ misha256이 sha1 해시는 보안이 아닌 다운로드 손상을 확인하기위한 것입니다. 보안을 원한다면 gpg 서명 파일을 사용하십시오
Daenyth

답변:


41

아직 아무도 SHA-1을 위해 이것을 달성하지 못했습니다. 이론적으로는 가능하지만 여전히 실용적이지는 않습니다. SHA-1의 불안정성에 대한 보고서는 보안 수준이 원하는만큼 높지 않다는 것을 의미하며, 생각했던 것만 큼 걱정할 필요가 없습니다.

동일한 SHA-1 해시로 두 파일을 직접 만드는 것보다 주어진 파일과 동일한 SHA-1 해시로 파일을 생성하는 것이 더 어렵습니다. 그리고 우리가 아는 한, 세계 어느 곳에서도이 쉬운 일을 수행 한 사람은 없습니다. 그렇다고 내일 일어날 수는 없습니다.


주어진 파일과의 충돌에 대해 SHA-1에 대한 알려진 공격이 있습니까? MD5 나 SHA-1에 대한 공격이 발견되지 않았다는 인상을 받았습니다 (2 차 사전 공격이 아닌 충돌 공격 만 있음)
cpast

@cpast the Flame 악성 코드는 MD5 충돌을 사용하여 Microsoft의 것으로 보이며 Windows Update를 가로 채었습니다. 그들은 선택할 수있는 많은 Microsoft 인증서를 가지고 있었을 지 모르지만 동일한 MD5로 2 개의 파일을 찾으려고하지는 않았습니다.
Aron Foster

2
@Aron 아니오, 이것은 주어진 파일과의 충돌의 예가 아닙니다. Flame을 사용하면 Microsoft는 인증서 서명 요청에 따라 X.509 인증서에 서명하는 라이센스 서버를 보유하게되었으며, 이는 공격자가 일부 제한 내에서 서명 할 대상을 제어 함을 의미합니다. 충돌을 발견 한 기존 인증서가 없습니다. Microsoft는 정품 인증의 일부로 고객의 CSR에 서명했으며 충돌 공격 (두 번째 이미지 공격이 아님)을 사용할 수 있습니다.
cpast

2
@OlivierDulac 아니오, 실제로는 결코 이루어지지 않았습니다. 알려진 SHA-1 충돌은 없습니다. 예상 비용은 단지 추정 - 그것은 누군가가 그것을했다이지 않는다 이것은 우리가 아무도 그것을 해본 것을, 그것은 비용의 생각을 많이하지만, 우리는 그것이 얼마나 생각하는 것입니다 비용.
cpast

4
@cpast 우리는 완료되었는지 아닌지는 확실하지 않지만 3 백만 달러의 공격은 NSA의 연간 예산의 0.03 % 미만입니다 (사실, 하드웨어를 소유하고 있지 않은 경우 공격은 더 저렴해야합니다) 임대해야합니다). 그들이 그것을 할 수있는 수단과 동기가 있기 때문에 아마도 이미했을 것이라고 결론을 내리는 것이 합리적입니다. 불꽃을 기억하십시오 .
bain

26

이론적으로는 가능하지만 아직 완료되지 않았습니다.

찾고있는 것을 "해시 충돌 :"이라고 해시가 같은 두 개의 파일입니다. SHA-1과 같은 암호화 해시 코드는 일반적으로이를 어렵게 만듭니다. SHA-1은 160 비트 코드이므로 중복을 찾으려면 평균 2 ^ 159 개의 무차별 대입 시도가 필요합니다. 암호화 해시보다 알고리즘이 더 나은 알고리즘이 발견되면 해시는 "깨진"것으로 간주됩니다.

MD-5는 매우 손상된 해시의 예입니다. 128 비트의 강도를 가져야하며 평균 2 ^ 127 회 시도해야합니다. 알려진 취약점을 남용하는 데 필요한 실제 시도 횟수는 2 ^ 47 정도로 낮을 수 있습니다. 2 ^ 127보다 작은 LOT입니다. 실제로 최신 컴퓨팅 클러스터에서 하루 만에 완료되었습니다.

SHA-1을 사용하는 방법에 가장 가깝기 때문에 그 예를 들었습니다. 그러나 이것은 해시가 손상되지 않도록하는 가장 일반적인 암호 분석 분석 방법이 아닙니다. 일반적으로 파일을 하나 선택하고 공격자가 파일을 찾으려고하는 대신 공격자가 선택한대로 두 파일간에 충돌이 발생합니다. 이러한 종류의 공격은 벤치마킹이 더 쉽다는 장점이 있습니다. 파일을 크래킹하는 것이 "단단"하다고 생각되면 다른 파일도 비슷하게 강력합니까? 공격자가 두 파일을 모두 선택하는 공격은 최악의 상황을 포착 할 수있게합니다.

이런 종류의 공격은 " 생일 공격 "이라는 흥미로운 속임수를 허용합니다 . 간단히 말해서 생일 공격을 사용하면 알고리즘의 강도가 절반으로 줄어들 기 때문에 SHA-1은 평균 2 ^ 80 회, MD5는 평균 2 ^ 64 회를 요구합니다. 이들은 각각 160과 128의 절반입니다.

SHA-1은 공격력이 2 ^ 80에서 2 ^ 69로 감소하는 것으로 알려져 있습니다. 이것은 당신에게별로 중요하지 않을 것입니다. 2 ^ 69 회 시도는 오랜 시간입니다.

그러나 역사에서 우리는 해시 알고리즘이 자발적으로 깨지는 것이 아니라 시간이 지남에 따라 깨지는 것을 발견했습니다. 아무도 MD-5와 같은 알고리즘을 밤새 2 ^ 64에서 2 ^ 47로 가져 가지 않습니다. 많은 사람들이 자신이 사용하는 수학에 대한 논문을 출판함에 따라 시간이 지남에 따라 발생합니다. 일반적으로 알고리즘의 시작부터 공격의 복잡성이 느리게 진행되는 것을 볼 수 있습니다 (가장 좋은 공격은 일반적으로 생일 공격입니다).

우리가 충돌에서 약간의 변화를보고 있다는 사실은 SHA-1이 터널 끝에서 빛을보고 있음을 시사합니다. 여전히 강력하지만 현재 훨씬 더 안전한 최신 SHA-3으로 올라가고 자 할 수도 있습니다.

실제로 위협 모델 관점에서 그러한 결정을 내려야합니다. 공격자가 이러한 충돌 중 하나에 도달하면 얼마나 많은 피해를 입힐 수 있습니까? 공격자는 몇 대의 랩톱이나 전체 슈퍼 컴퓨팅 클러스터가있는 정부 기관에 액세스 할 수있는 키즈 스크립트를 작성하고 있습니까? 공격자가 사용하지 않기 전에 해시를 해제해야하는 시간은 얼마나됩니까 (암호화의 많은 사용에는 암호 변경과 같은 "가드 변경"이 포함됩니다). 이 모든 것이 충돌을 얼마나 심각하게 고려해야하는지에 영향을줍니다.


8
생일 공격 단락과 관련하여 2 ^ 80은 절반이 아닌 2 ^ 160의 제곱근 입니다 (2 ^ 159 임).
앤드류 모튼

문제는 2 차 이미지 공격에 관한 것이지만 충돌에 대한 대답입니다. SHA-1에 대한 사전 이미지 공격 & mdash; 심지어 MD5 & mdash; 터무니없이 비현실적입니다. (MD5에 대한 2 ^ 123 사전 이미지 공격이 있지만 SHA-1에서는 2 ^ 160 무차별 대입 상황에
처하게

"SHA-1은 160 비트 코드이기 때문에 중복을 찾으려면 평균 2 ^ 159 개의 무차별 대입 시도가 필요합니다." 그러나 2 ^ 2 코드에는 2 ^ 2 추측이 필요합니다. 왜 -1인지 모르겠습니다. "긴 이야기는 짧습니다."... "알고리즘의 강도를 절반으로 줄이므로 SHA-1에는 2 ^ 80이 필요합니다"... "MD5에는 2 ^ 64가 필요합니다"... "각각 160과 128의 절반입니다." 여기에 -1이 있어야합니다. 비트는 기하 급수적으로 증가하므로 160 비트 해시의 강도를 절반으로 줄이면 80 비트 해시가 아닌 159 비트 해시로 처리됩니다. 각 비트는 무차별 대입 공격의 두 배에 해당합니다.
TOOGAM

@TOOGAM : 그는 평균적으로 말했다. 여러 번의 시도 를 통해 무차별 대입 공격에 성공하려면 평균 키 공간의 50 % 만 검색해야합니다 . 절반의 의견에 대해서는 Andrew Morton의 의견이이를 설명합니다. 복잡성의 절반이 아닌 제곱근이어야합니다.
Reid

@AndrewMorton 좋은 지적, 나는 내 말로 명확하지 않았다. 나는 문헌 수가 상태 수와 상태 수의 밑이 2 인 로그 사이에서 매우 자주 바뀌는 것을 발견했다. 사람들이 비트 수에서 "강도"에 대해 이야기하는 경향이 있기 때문에 제 말은 비트 수를 반으로 줄였습니다. 나는 무의식적으로 그렇게하기 위해 앞뒤로 전환하는 데 익숙했습니다. 혼란을 제거하기 위해 편집하겠습니다.
Cort Ammon

8

이 기사에서 논의한 SHA-1의 결함은 매우 구체적입니다. 공격자는 동일한 값으로 해시하는 두 가지 항목 ( "충돌 공격"이라고 함)을 만들 수 있습니다. 그러나 충돌 공격을하려면 공격자가 관련된 파일을 모두 제어해야합니다 . 공격자가 원본 파일을 제어하지 않으면 충돌 공격으로 인해 동일한 해시 값을 가진 다른 파일을 찾을 수 없습니다.

이것이 TLS / SSL (및 일반적으로 서명)에 중요한 이유는 침입자가 종종 두 파일을 모두 제어 할 수 있기 때문 입니다. TLS 인증서는 주로 인증서를 요청하는 사람이 생성하므로 (제어하지 않는 비트는 종종 예측 가능) 충돌로 인해 합법적 인 인증서와 불법적 인 인증서를 만들고 합법적 인 인증서를 서명하고 서명을 전달할 수 있습니다.

파일의 경우 동일한 상황이 항상 적용되는 것은 아닙니다. 파일을 만드는 사람이 공격 자라는 우려가있는 경우 (예 : 독립적으로 좋은 것으로 확인 된 다음 동일한 해시로 악의적 인 페이로드를 보내 게 됨) SHA-1 공격이 적용됩니다. David Schwartz가 언급했듯이 아직 중요하지는 않지만) 원본 파일을 신뢰할 수있는 경우 공격자는 현재 알려진 SHA-1 공격을 적용 할 수 없지만, 가능한 경우 단계적으로 제거 할 것을 고려해야합니다 (선택 사항이있는 경우 SHA- 2).


"충돌은 유용하지 않습니다"에 대한 응답-공격자가 공격자가 유용한 충돌 을 얻을 수 있어야하는 것은 아니지만 일반적으로 "충돌"을 "유용한 충돌"로 바꾸는 것이 전부는 아닙니다. 많은 파일 형식에는 파일의 기능에 영향을주지 않으면 서 원하는대로 저장할 수있는 충분한 공간이 있습니다. 공격자는 일반적으로 기능 부분을 원하는대로 유지하면서 충돌 (실제로 충돌을 찾을 수있는 경우)을 얻기 위해이를 수정할 수 있습니다. "학술적 공격"과 "실습 적 공격"사이의 격차는 클 수 있습니다. "모든 충돌"과 "유용한 충돌"사이의 간격은 일반적으로 훨씬 작습니다.


알고리즘 선택과 관련이없는보다 심각한 문제는 해시를 얻는 방법입니다. 해시가하는 일은 문제를 "실제 파일 얻기"에서 "실제 해시 값 얻기"로 바꾸는 것입니다. 파일과 동일한 서버 및 동일한 연결 유형을 통해 전송 된 해시 값은 악의적 인 수정에 대해 전혀 가치가 없습니다 (파일을 조작 할 수있는 공격자는 해시를 조작 할 수 있음). 해시는 파일을 신뢰할 수있는 것보다 해시를 더 신뢰할 수있는 경우에만 유용합니다. 경우에 따라 (토렌트, 거울), 그렇지 않은 경우에 종종 사용됩니다. 따라서 무결성 검증을 위해 해시를 사용할 때마다 매우주의해야합니다.


5

당신은 구별 할 필요가 충돌 공격프리 이미지 공격 . 동일한 값으로 해시되는 메시지를 찾는 것은 충돌 공격입니다.
특정 메시지 (여기서는 실행 파일)를 동일한 해시가있는 다른 메시지로 바꾸는 것은 (두 번째) 사전 이미지 공격입니다.

그 숫자에 대한 인용을 제공하지 않는 Wikipedia 기사에 따르면 2 52 작업 에서 충돌 공격을 수행 할 수있는 한 SHA-1이 손상됩니다 (실제로 신뢰할만한 공격은 Marc Stevens의 공격입니다) (2 60 작업이 필요함). 그러나 2 52 의 비관적 사례를 가정 해 봅시다 .

이는 그 규모의 공격이 이론 상으로는 가능할뿐만 아니라 멀티 GPU 리그 에서 하루 만 에 완벽하게 수행 할 수 있기 때문 입니다. 물론 "두 가지"메시지가있는 응용 프로그램에서는 문제가됩니다. 공격자가 문제에 대해 여분의 돈을 버리거나 1 년을 기꺼이 보내려는 경우 Stevens가 제공 한 2 60의 수치 (256 배 더 많은 작업)도 완벽하게 실현 가능합니다. 스파이 또는 사이버 범죄와 관련된 사람이 인증서를 위조하는 것을 막지 않는
종류의 것입니다 .

이제, 프리 이미지 공격 정도로 가정하면 2 배 큰 그대로 지수 갖는다 52 이 될 것이다 충돌 공격, 104 완전히 다른 야구장 작업.

이것은 비현실적 일뿐만 아니라 (이전 단락에서 언급 한 것보다 10 억 배 빠른 기계는 여전히 약 6 백만 년이 걸릴 것입니다), 에너지를 생산하는 우리의 우스운 수단을 고려할 때 이것은 완전히 불가능합니다.

이러한 대규모 계산을 수행하려면 단일 작업에 전념 할 수있는 것보다 훨씬 큰 에너지 원이 필요합니다. 아니요, 태양의 크기에 맞는 에너지 원은 아니지만 여전히 에너지 원 입니다.

실제로 1 와트에서 10 ~ 50 GFLOPS를 얻을 수 있습니다. 어떤 기적이 발생하고 프로세서가 밤새 약 수천 배 더 에너지 효율을 얻는다고 가정하면, 1 SHA ≈ 1 FLOP (quite optimistic!)라고 가정 할 수 있습니다. 이것은이 수행하기 위해 것을 의미 104 10 년 내에 해시 계산을, 당신이 10 필요 12 W 발전소. 일년 내 공격을 실행하려면, 당신은 10해야 할 13 W 발전소. 이는 미국, 프랑스 및 일본의 전체 원자력 발전소가 함께 생산할 수있는 것의 약 50 배이며 단일 해시를 위조하기위한 것입니다.

이것은 일어나지 않을 것 입니다. 같은 목표를 달성하는 훨씬 쉬운 방법이 있습니다 (원래 해시를 저장하는 서버를 탐색하고 해당 서버를 교체하고 누군가를 협박하는 등).


"... 같은 일을 달성하는 훨씬 쉬운 방법 ..." xkcd.com/538에
Ralph J

2

이 질문에서 언급 된 기사 의 일반적인 요점은 다음과 같습니다. SHA1은 더 이상 사용되지 않으며 매끄럽게 수행 할 시간이있는 동안 단계적으로 제거해야합니다. 일부 지역에서는 Google과 Microsoft가 마감일을 시행 한 이후 시간이 얼마 남지 않았습니다.

더 이상 사용되지 않는 기술 의 경험 법칙 :

  • 새로운 디자인을하거나 기능을 추가하는 경우 사용하지 마십시오 (SHA1).
  • 오래된 것을 유지 관리하는 경우 교체시기를 계획하십시오 (SHA1).

Bruce Schneier가 작성한 2012 년 블로그 게시물의 요약 인용 : "현재 지역 사회에서 SHA-1에서 SHA-2 / SHA-3으로 마이그레이션을 시작해야합니다."


2

귀하의 질문에 SHA-1 해시 충돌 부분의 경우, 몇 가지 답변으로 해결되었습니다.

그러나 이것의 대부분은 우리가 작업하는 파일 형식에 달려 있습니다.

파일의 전체 내용과 작업을 유지합니다 (물론 원래 내용 변경 되지 않은 악성 내용이 포함됨 )

이것이 의미하는 것은 변경 사항을 감지하는 내용에 따라 크게 다릅니다.

  • 그것이 (합리적) 가능성이 아닌 서명 된 실행 파일 인 경우 어떻게 든 파일의 SHA-1과 내부 .exe 서명이라는 두 가지 해시 충돌이 발생해야합니다.
  • 서명되지 않은 실행 파일, .com, 서명되지 않은 .dll 또는 이와 유사한 경우 리소스 포크는 작업을 변경하지 않는 방식으로 추가 될 수 있으므로 '정상'으로 감지 할 수없는 해시 충돌을 얻을 수 있습니다 조작.
  • 소스 코드 파일 또는 유사한 구조 (.cs, .c, .h, .cpp, .rb, .yml, .config, .xml, .pl, .bat, .ini) 인 경우 추가, 수정 또는 제거 유효한 주석 구문으로 제한하여 대부분의 용도 (변경 또는 텍스트 편집기로 열지 않고 컴파일 또는 실행)에서 변경 사항을 식별 할 수 없도록 할 수 있습니다.
  • .iso 또는 .zip 또는 다른 컨테이너 형식 인 경우 대부분의 임의 변경으로 인해 컨테이너가 손상 될 가능성이 높습니다. 가짜 파일 항목을 추가하거나 컨테이너 내에서 내용을 변경하고 다시 확인하는 것이 가능하지만 복잡성 계층을 추가하고 결과를 확인하기 위해 시간을 추가하는 것은 물론 자유도에 제한이 있습니다. 어떻게 그리고 어떤 내용이 변경 될 수 있는지.
  • 텍스트 또는 텍스트와 같은 형식 인 경우 여전히 '유효한'파일 인 동안 원하는 방식으로 거의 변경할 수 있지만 내용은 눈에 잘 띄게됩니다.
  • .rtf, .doc, .html, .xslx 및 기타 마크 업 형식과 같은 많은 형식을 사용하면 파서가 감지 할 수없는 방식으로 길이 (또는 제한된 길이)를 추가하거나 수정할 수 있습니다. , 자유도가 떨어짐) 파일은 유효한 파일 일뿐 아니라 일반적인 응용 프로그램에서 볼 수있는 방식으로 눈에 띄게 변경되지는 않지만 해시 충돌을 일으키도록 변경 될 수 있습니다.

따라서 남은 것은 손상되지 않고 어느 정도 감지 할 수없는 구조에서 충돌을 얻는 방법입니다.

  1. 원하는 기능 변경 (아마도 악성 콘텐츠 삽입)을 만들고 파일 형식 별 유효성을 유지하기 위해 추가 변경을 수행하십시오.
  2. 작동하지 않는 섹션을 추가합니다 (주석 블록 사이에 3k 캐리지 리턴이있는 텍스트 파일의 맨 끝에있는 주석 블록 사이에 현재 주석 블록을 분리)
  3. 수정을 위해 문자 / 코드 포인트 / 바이트를 추가하거나 선택하고 가능한 모든 유효한 조합을 시도하십시오 (예를 들어, 모든 바이트 조합이 다른 인코딩에 유효한 것은 아닙니다).
  4. 해시를 다시 계산하고 충돌이 일치하는지 확인하십시오.
  5. 그렇지 않은 경우 3으로 이동하십시오.

유효한 바이트 시퀀스로 수정하고 해시를 다시 계산하는 데 초고속 컴퓨터와 작은 파일이 있다고 가정 해 봅시다 (일부 전용 하드웨어가 필요할 수 있음). 해시 분포가 완벽하게 임의적이고 범위에 걸쳐 분포 된 경우2^160 시도 할 때마다 SHA-1과 충돌이 발생 합니다 (강제 강제).

2^160/1000/60/60/24/365.24 
= 4.63x10^37 years 
= 46,300,000,000,000,000,000,000,000,000,000,000,000 years 
= 46 undecillion years.

그러나이 버전 2^602^52버전을 사용해 보아 우리가 원하는 방식으로 파일을 수정할 수 있다고 가정 해 보자. 그렇지 않은 경우에도 1ms마다 시도 할 수있다.

2^52 yields 142,714 years 
/*humans might still be around to care, but not about these antiquated formats*/
2^60 yields 3.65x10^7 years = 36,500,000 years 
/*machines will probably have taken over anyway*/

그러나 당신은 운이 좋을 수도 있습니다. 정말, 정말, 무엇보다 기적보다 더 많은 사람들이 부르는 기적입니다.


0

실제로, 당신은 한 번에 그 조건 중 하나를 만족시킬 수 있지만 둘다는 아닙니다. 두 개의 서로 다른 파일에 대해 동일한 해시를 얻을 수 있지만 누군가 파일을 변경하고 같은 해시를 얻는 것은 거의 불가능합니다. 내가 아는 한


1
아직 거의 불가능 합니다. 충분한 컴퓨팅 성능으로 모든 것이 가능합니다.

-6

네 가능합니다. EXE에서 바이러스가 어떻게 작동하는지 생각해보십시오. 맬웨어 페이로드는 원래 EXE에 추가되므로 프로그램은 여전히 ​​원래 작업을 수행하지만 바이러스로 확산됩니다. 이제 동일한 해시를 유지하려면 특별히 제작 된 추가 패딩 이 필요합니다 .

즉, 파일이 더 커집니다. 그러나 EXE의 경우 사용하지 않는 코드를 일부 제거하여 프로그램이 처음에는 작동하는 것처럼 보일 수 있습니다. JPEG의 경우 이미지를 더 압축하거나 다른 이미지를 완전히 사용할 수 있습니다. ISO의 경우 파일 세트를 제거 할 수 있습니다. 해시를 복제하는 데 필요한 계산은 더 어려울 수 있으며 특정 경우에는 수학적으로 불가능하지만 일반적으로 여전히 가능합니다.


7
-1이 게시물의 모든 것이 완전히 구성되었습니다. 길이 확장 공격은 "같은 해시를 유지" 하지 않습니다 (해시는 알려진 방식으로 변경됨) . 또한 바이러스가 "덜 사용 된 코드"를 제거해야 할 이유가 없습니다 (어떻게 코드를 결정합니까?) . 그리고 jpeg는 무엇과 관련이 있습니까?!
BlueRaja-대니 Pflughoeft

2
이것은 완전히 잘못되었습니다. 전체 답변을 다시 쓰지 않고는 정정을 제안 할 수조차 없습니다
Mark K Cowan

2
-1 전혀 아닙니다. 일명 "잘못된 것"(울프 강 파울리)
Olivier Dulac

1
글쎄, 우리는 일반적으로 무언가가 가능하다면 특정 경우 에 분명히 가능 하다는 사실로 시작할 수있다 . 그러나 그 반대는 항상 사실이 아닙니다. 특정 사례에서 해결할 수 있지만 일반적으로 해결할 수없는 문제를 상상하기는 쉽습니다.
CVn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.