[Cryptanalysis] Known plaintext - XOR


XOR로 암호화한 것이라고 알려주네요. 그림을 확인해봅시다.


굉장히 난잡하지만 헤더를 가지고 잘 끼워맞추면 됩니다. 예를 들어 첫 두 글자는 0x42(B), 0x4D(M)이고 그 뒤에는 파일의 크기가 나오고 뭐 그런 점들을 이용하면 됩니다.



r = open('ch3.bmp','rb')
w = open('result.bmp','wb')
fc = r.read()
key = [*****************]
for i in range(len(fc)):
  t = fc[i]^key[i%len(key)]
  w.write(bytes([t])) 


  Comments