
Frank Ocean의 명반 BLONDE LP가 재발매 했어요!
꼭 들을 필요도 없지만... 한번 들어보셔요 참 노래 좋아요
예전에 유튜브에서 에스파 멤버들한테 무슨 노래 좋아하냐고 물었을 때, 네명 중 두 명은 이 앨범 노래를 말했다구요
뭐 암튼 저는 한솔로 사운드 트랙 안사고 이걸 사버려서 자랑을 해버렸습니다.
문제를 보면, 두 개의 멋진 이미지를 동일한 비밀키로 숨겨버렸다고 한다.
주어진 이미지 lemur, flag가 아래와 같이 암호화 된 상태라고 판단할 수 있다.
근데, 우리가 key 자체를 알지를 못하니 우리가 할 수 있는 최선은 양쪽에 비밀키를 없애는 과정에서 두 이미지를 병합해버리는 것 뿐이다.
이정도로 문제가 풀리려나 했으나, 문제에서 tip으로 그냥 RGB에 대한 xor 연산하면 된다고 해서 마음을 놓고 풀었다.
import cv2
flag = cv2.imread('Lemur_XOR/flag.png', cv2.IMREAD_COLOR)
lemur = cv2.imread('Lemur_XOR/lemur.png', cv2.IMREAD_COLOR)
print(flag.shape)
print(lemur.shape)
# 두 이미지의 차원 확인
for i in range(327):
for j in range(582):
for k in range(3):
flag[i][j][k] ^= lemur[i][j][k]
cv2.imwrite('Lemur_XOR/xor.png', flag)