ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1팀_남채림 Write_Ups(Suninatas_15,Suninatas_19)
    2021/Write-Ups 2021. 11. 16. 22:53

     

    문제(suninatas_15)

    문제: Do you like music? Hint is in this file. "음악을 좋아하시나요? 힌트는 이 파일 안에 있습니다. 라는 문구와 함께 음악을 다운로드 받을 수 있는 하이퍼링크가 있다. 

    하이퍼링크를 클릭하면 재생바가 나타나고 음악이 재생된다. 음악에는 아무런 메세지가 없는 것 같다. 파일 안에 힌트가 있다고 했으니 우측 아이콘을 클릭해 음악 파일을 다운로드 해준다. 

    내PC/다운로드 폴더에 저장된다.

    파일명은 diary이다. 정답란에 diary와 diary.mp3 모두 입력해 보았으나 오답이다.

    파일의 더 많은 정보를 보기 위해 속성창에 들어간다.

    일반 항목에서는 딱히 인증키라고 생각 될만한  것은 없다. 

     

    다른 항목들을 살펴보던 중 자세히 항목에서  콘텐츠 항목의 지휘자 정보에 "지휘자:GoodJobMetaTagSearch; "라는 다소 문맥상 매치되지 않는 정보가 있다.

    정답창에 GoodJobMetaTagSearch; 를 입력해보았지만 오답이라는 창이 떴다.

    세미콜론을 제외하고 GoodJobMetaTagSearch를 입력하자 정답이라는 창이 뜨는 것을 확인할 수 있었다.

    (글이 삭제되어 다시 썼기 때문에 이미 풀었다는 문구가 뜬다)



    문제(suninatas_19)

    문제: Cipher II : What is it? "암호 2 : 이것은 무엇일까요?"라는 문구와 그 아래에는 0과 1들이 나열되어있다. 0과 1만이 쓰인 걸 보니 이진수임을 예측할 수 있다.

     

     먼저 이 이진수들을 여러개의 문자로 변환해야하는데, 몇개씩 나누어 변환할 지가 관건이다. 서니나타스 문제들의 정답은 항상 영문장이였으니 이번에도 영어 단어들로 이루어졌을 확률이 높다. 영문자로 변환하는 가장 일반적인 방법, 아스키 코드이다. 아스키코드로 변환하려면 아스키 코드는 127(2의 7승)까지의 범위를 가지므로 7개씩 끊어 변환해야 한다. 그러나 7개씩 나누어본 결과 나머지가 생긴다. 따라서 7 이상의 수 중 최소이면서 딱 나누어 떨어지는 수인 8로 나누어 10진수로 변환해보았다.

    정확히 아스키 코드의 범위로 나오는 것을 보니 8개씩 끊어 변환하는 것도, 아스키코드로 변환되는 것도 맞는 것 같다. 

    위의 10진수를 아스키코드로 변환한다. 

    그러나 아스키코드로 변환해보아도 의미있는 문장은 나오지 않는다.  서니나타스 18번에서 사용했던 Base64디코딩도 해보고 URL디코딩, HEX디코딩도 해보았지만 의미있는 결과값은 없었다.

    이 후 시도해본 모든 방법이 실패해서 2일동안 해결하지 못했는데, 곰곰히 보니 아스키 코드로 변환한 단계에서 전의 단계들과 비교해보니 띄어쓰기로 유추되는 공백이 생겼다는 것을 알았다. 이 공백을 기준으로 각각이 독립된 단어라고 생각됐다. 각 단어들을 보니 REU, ZJ와 같이 반복되는 단어가 있었다. 이를 보니 이미테이션 게임에서 보았던 암호 해독 방법 중 하나가 떠올랐다. 반복되는 단어를 많이 쓰이는 단어와 비교해보는 것이였다. 단어의 길이를 보고 바로 생각나는 단어가 있다. 영문장에서 가장 많이 보이는 단어 the와 is 이다.

    REU가 the라고 생각해보자. R=t, E=h, U=e이다. R이 t라면 두번째 뒤의 알파벳으로 변한 것이다. 그러나 E가 h가 된 것은 세번째 뒤의 알파벳으로 변한 것으로 전자의 경우와 연관성을 찾아 볼 수 없다. 

     ZJ의 경우를 살펴보았다.  ZJ를 is로 생각했을 때 Z=i, J=s 모두 9번째 뒤의 알파벳으로 변환된 것을 알 수 있다. 그렇다면 전체 문장을 9번째 앞의 알파벳으로 변환해서 의미 있는 값이 나오는지 확인해보자. 

     

    WELCOME TO SUNINATAS AND TODAY IS A GOOD DAY AND AUTHKEY IS PLAIDCTFISVERYHARD

     

    위와 같이 의미있는 해석이 있는 문장이 나오게 된다. (the라고 예측했던 아스키코드"REU"는 and였다.)

    "AUTHKEY IS PLAIDCTFISVERYHARD" 인증키는 PLAIDCTFISVERYHARD이다. 

    (글이 삭제되어 다시 썼기 때문에 이미 풀었다는 문구가 뜬다)

    찾아보니 이와 같이 알파벳을 일정한 간격을 정해 다른 알파벳으로 치환하는 암호를 "카이사르 암호"라고 부른다고 한다. 로마의 황제 카이사르가 사용한 치환암호의 한 종류라고 한다.