2010-05-24 4 views
5

this 위키 페이지의 암호화 된 그림을 보는 방법은 무엇입니까? 그것을 할 수있는 특별한 프로그램이 있습니까, 아니면 누군가가 어리석은 xor를하기로 결정했을 때 ECB에 관해 요점을 밝히지 않았습니까? 그래픽 사용자가 아니므로 암호화 된 사진을 볼 수있는 프로그램이 있다면 무엇입니까?암호화 된 그림보기 방법

답변

3

암호화는 바이트 스트림에서 작동합니다. 즉, 바이트 배열을 취하고 다른 바이트 배열을 출력합니다. 이미지는 이고 바이트 배열입니다. 상단 왼쪽 픽셀의 "r"구성 요소를 첫 번째 바이트에 할당하고 "g"구성 요소를 두 번째 바이트에 할당하고 "b"구성 요소를 세 번째 바이트에 할당합니다. 그 옆에있는 픽셀의 "r"구성 요소는 네 번째 바이트입니다.

이미지를 "암호화"하려면 첫 번째 이미지에서 픽셀의 바이트 배열을 가져 와서 암호화 (암호화는 일반적으로 패딩과 다른 바이트 수를 변경하지 않습니다) 한 다음 암호화 된 바이트를 제 2 이미지에 대한 픽셀 데이터.

이것은 전체 이미지 을 암호화하는 것과 다릅니다. 일반적으로 이미지 파일에는 특정 헤더 (예 : JPEG 헤더 등)가 있습니다. 전체 파일을 암호화 한 경우 헤더가 포함되어 전체 내용을 해독하지 않고 이미지를 "표시"할 수 없습니다.

+1

마지막 부분은 사실이 아닙니다. 대부분의 헤더 내용은 잘 알려져 있거나 추측하기 쉽기 때문에 처음부터 헤더를 만들고 나머지 이미지와 결합 할 수 있습니다. – caf

+0

글쎄, 헤더의 일부 *를 재구성 할 수는 있지만 암호화 된 이미지가 위키 페이지에 "표시"되는 것과 같은 방식으로 암호화 된 이미지를 "표시"할 수 있다고는 생각하지 않습니다. –

2

그것은 바보 XOR (모두 XOR을 사용할 수 있음)이지만 예, 똑같은 입력을 동일한 출력으로 변환 할 때마다 매번 동일한 패턴을 쉽게 찾을 수 있다는 것을 강조합니다. 입력. 이미지는 "암호화 된"출력에서 Tux를 얼마나 쉽게 발견 할 수 있는지 보여주는 것입니다. 작가는 모든 종류의 데이터를 사용할 수 있었지만 사람의 눈이 패턴을 알아내는 데 매우 뛰어 났기 때문에 이미지를 사용 했으므로 좋은 예가됩니다.

기사에서 말한 것처럼 더 나은 스키마는 이전 블록의 출력을 사용하여 다음 블록을 "임의 화"하므로 출력에서 ​​패턴을 볼 수 없습니다 (오른쪽 이미지).

1

암호화 된 이미지를 보려면 이미지가 비 압축 이미지 형식 (예 : bmp)이어야합니다. PNG, JPEG 등은 압축 된 이미지이므로 표시 할 수 없습니다. 또한 imgae 헤더를 압축 해제해야합니다. 이와 같은 그림을 암호화하려면 압축되지 않은 형식으로 변환하고 16 진수 편집기로 열고 이미지 헤더를 저장하십시오. 그 후에는 AES/ECB로 이미지를 암호화 할 수 있습니다. 마침내 원본 이미지 헤더를 삽입해야합니다. 이제 암호화 된 이미지를 볼 수 있어야합니다.