군붕이들이 잘 알다시피 군대에게 정보보안은 목숨과 같음. 대규모공세/상륙작전의 경우 보안을 지키느냐 못 지키느냐가 전쟁의 승패를 넘어서 국가의 흥망까지 결정하지. 그래서 어느나라 어느군대든 자국의 암호를 발전시키는 한편 적국의 암호를 파훼하기 위해 심혈을 기울여왔음
역사상 가장 오래된 암호는 스파르타에서 쓰였던 스키테일임. 그게 뭐냐면
이런 식으로 양피지를 둘둘 말아서 메세지를 읽고 쓰는거. 전장 지휘관이랑 후방 총괄자(보통은 왕이겠지?)가 같은 원통을 갖고 저걸 둘둘 감는거지. 물론 원통같은거 없어도 윽엑 윽엑 하면서 맞춰보면 알아서 풀리는 암호였고 지금 보면 허술하기 짝이 없지
저딴 미개한거 말고 암호같은 암호가 튀어나오는건 조금 뒤의 일인데
시작은 카이사르 암호였음. 위의 율리우스 카이사르 맞음. 이 양반이 만든건 아니고 사용해서 카이사르 암호라고 함. 별건 아니고, 알파벳을 abc순서대로 몇칸씩 앞으로 당기거나 뒤로 미는거. 스페이스 오디세이에 나오는 HAL → IBM 생각해면 됨
이걸 발전시킨게 단일 알파벳 대체 사이퍼(Simple Monoalphabetic Subsitution Cipher)이고, 순서대로 옮기는게 아니라 걍 딴걸로 바꾸는거. 이를테면 A는 F / B는 Z / C는 Y..... 식이지. 그래서 멀쩡한 글을 암호화하면 zixfgoizsdft같이 알아먹을 수 없는 게 튀어나옴
노가다로 하나씩 맞춰보면 되지 않냐고? 가능한 경우의 수가 미친듯이 많아서(26!) 될 턱이 없고, 설령 어찌저찌 했다 치더라도 이미 한세월 지나있어서 의미가 없어짐. 잘 알다시피 정보의 핵심은 시간이고 유효한 시간 내에 못풀면 아무 쓰잘데기없음. 당연히 그때쯤이면 상대는 방식을 바꿀거고.
이 개사기 암호를 다들 절찬리에 쓰기 시작했고 동시에 어떻게든 뚫겠다고 온갖 개지랄을 했지만 실패했지. 그런와중에 등장한게
이슬람 제국임. 광대한 영토를 장악하면서 이것저것 흡수한덕에 당대 최고수준의 문명을 보유했고 온갖 학문들이 미친듯이 떡상했음. 그걸 바탕으로 저 암호를 뚫는데 성공함
알-킨디의 저술에서 소개된게 가장 오래됐고 빈도분석법이라고 불러. 이름만 봐도 감이 오지? 알파벳마다 쓰이는 빈도가 다 다른데, 알파벳들을 다른 알파벳으로 바꿔도 빈도는 유지된다 이거야. 영어로 예를 들면 e가 제일 많이 쓰이고 그다음 t, a 순서임. 이유는 당연히 부정관사 a랑 정관사 the. 그러니까 암호문에 나오는 글자들이 각각 몇개씩인지 센다음 빈도대로 치환하면 평문이 나오겠지? 이걸로 단일알파벳 대체사이퍼는 더 이상 무적이 아니게 됨. 실제로 저걸로 쓰인 암호문을 한글켜놓고 Ctrl F로 글자수 세보면 푸는데 1~2시간 남짓 걸림
물론 암호화하는쪽도 바보가 아니라서 저걸로 안뚫리려고 온갖 방법을 동원함. 띄어쓰기 안하는건 기본이고, 의미없는 가짜기호를 집어넣고 특정 단어나 전치사같은걸 기호로 치환하는 식으로. 예를 들면 @는 의미없는 가짜기호고 #은 the이고 다른 알파벳들은 적당한 기호로 바꾸는거지. 문제는 시간을 들여 가짜기호를 하나하나 지우다 보면 결국 뚫리게 돼 있었고, 스코틀랜드의 메리 스튜어트가 편지를 암호화해서 외부세력이랑 반역을 모의했다가 처형당한게 이거때문임
갖은 꼼수를 써도 상기의 방법으로는 한계가 명확했고 자연스럽게 빈도분석법이 안 통하는 암호를 개발해내려는 노력으로 이어짐. 해서 위의 비즈네르라는 프랑스 외교관이 비즈네르 사이퍼를 개발하는데, 쉽게 말하면 카이사르 암호 여러가지를 돌려쓰는거임
예를 들어 암호키가 HIMARS라고 하자. 그러면 H는 8번째 알파벳, I는 9번째 알파벳이잖아? HIMARS = 8 9 13 1 18 19가 되는거고, 평문의 첫번째 글짜는 8칸 두번째 글자는 9칸.... 여섯번째 글자는 19칸 뒤로 밀고 일곱번째는 다시 8칸 여덟번째는 9칸.... 반복하는거임. 딱 봐도 좆같음이 느껴지지? 원리상 빈도분석법으로는 파훼가 불가능했고 무적의 암호라고 불리게 됨. 그래서 안뚫렸냐고?
찰스 배비지라는 인간이 저걸 뚫어냄. 본업은 수학자였고 해석기관으로 유명한 사람인데 어쩌다 키배가 붙어서 '흠 한번 뚫어볼까?' 했다가 ㄹㅇ로 뚫어버림ㅋㅋ
원리는 간단한데, 암호문에서 같은 문자배열을 찾아내는거임. 예를 들어 zfw라는 문자열이 반복됐다고 하자. 가능성은 우연의 일치로 같은 부분이 나왔다 or 똑같은 부분이 똑같이 암호화돼서 같은 부분이 나왔다인데, 반복되는 문자열이 길수록 우연일 가능성이 낮겠지? 이런걸 다 찾으면 암호키가 몇 글자인지 알 수 있고 주기마다 빈도분석법 갈기면 끝
당시 배비지의 업적은 알려지지 않았는데, 본인이 재미삼아 해본것도 있지만 시기상의 문제라는게 정설임. 배비지가 저걸 뚫은게 1854년이었는데 당시는 크림전쟁이 한창이었거든. 그리고 이 덕분에 남북전쟁당시 영국은 북부와 남부의 전황을 실시간으로 감상할 수 있게 됨
비즈네르 사이퍼가 뚫리고 이렇다 할 최강의 암호가 없어서 한동안 각국이 독자적인 암호를 개발해서 썼는데, 마르코니의 무선통신이 등장하면서 암호의 중요성이 미친듯이 떡상하게 돼. 유선통신을 도청하려면 케이블을 건드려야 했지만 무선은 도청이 너무나 쉬웠으니까. 특히 독일이 이를 갈면서 암호개발에 몰두했는데
바로 이 치머만 전보가 뚫린탓에 ww1에서 미국이 참전했기 때문이야. 1머전당시 독일제국은 빌재앙 아니랄까봐 멕시코에 미국 통수를 사주했고, 그 대가로 미국 땅을 떼주겠다고 제안했어. 멕시코에서는 뭔 미친소리인가 싶어서 거절했는데 이게 해독돼서 미국에 알려진탓에 빡돌아서 참전했고 결과는......
여튼 암호가 뚫려서 개쳐발린 물건이 이악물고 만든 물건이 그 유명한 에니그마야. 재래식암호의 끝판왕쯤 되는 물건인데, 원리를 간?단히 설명하자면
위에 홈 세개 보이지? 저게 회전판이야. 단일알파벳 대체사이퍼를 원판으로 만들었다고 보면 돼. 키보드 밑에 삐죽삐죽 튀어나와있는 쇠막대기들은 배전반인데, 막대기 하나가 알파벳 하나에 대응해. 배전반 두개를 전선으로 연결하면 해당 알파벳끼리 바뀌는 식이고.
키보드 자판을 하나 누르면 첫번째 회전판이 한칸 돌아가. 26글자를 눌러서 한바퀴 돌았으면 두번째 회전판이 한칸 돌아가고, 두번째도 한바퀴 돌았으면 세번째가 한칸 돌아가고. 그러니까 단일알파벳 대체사이퍼 3가지를 겹쳐씀 & 한글자 한글자마다 방식이 바뀜 & 배전반으로 경우의수 떡상이라는 정신나간 괴물을 만들어낸거지. 다들 이걸 뚫으려고 별짓을 다 해봤지만 결국 두손두발 다 들고 gg를 치게돼. 이 글을 읽는 군붕이가 저딴걸 직접 뚫는다고 생각해보면 벌써 정신이 아득해질거야.
전장에서 전황을 직접 확인하며 부대를 지휘하는 구데리안. 군붕이라면 모를 수가 없는 짤이지. 통신병이 에니그마 쓰는거 보이지?
이후 에니그마를 파훼하는 장면은 https://gall.dcinside.com/mgallery/board/view/?id=war&no=2730881
(역스퍼거)2머전당시 암호에 대해 알아보자 **** - 군사 마이너 갤러리
오래전에 읽은 책 베이스로 쓰는거라 레퍼도 없고 자세하지도 않은거 양해좀1. 히틀러가 오스트리아 먹고 체코슬로바키아 먹으면서 가장 크게 위협을 느낀 나라는 폴란드였음. 누가봐도 다음은 뻔하니까2. 수학자 마리안 레예프
gall.dcinside.com
여기를 참고. 간단히 설명하자면, 군 통신 특성상 격식이 있기에 특정 부분에 특정 단어가 올 수밖에 없는걸 활용한거야. 가령 오전 6시쯤에 발송되는 전보는 일기예보고 반드시 "날씨" 라는 단어가 들어있다든지. 사실 에니그마 해독에만 쓰였던 방법은 아니고 이런저런 암호에 모두 쓰였던 방법이지만(이거때매 이중송신 - 같은 텍스트를 평문과 암호문으로 같이 보내는짓 - 을 하면안됨) 당연히 쉽게 뚫리지 않았기에 수학자들이 말 그대로 '국운을 건' 노력을 기울여서 뚫어냈고 연합국의 승리에 상당한 기여를 하게돼. 미드웨이 해전이라든지 노르망디 상륙작전이라든지......
영원히 안 뚫릴 거 같았던 에니그마까지 뚫린 이후 암호에 대격변이 찾아오는데, 바로 컴퓨터의 보급이야. 이전까지는 문자를 뭘로 바꾸는게 암호였는데 컴퓨터는 문자를 숫자로 저장하잖아? 자연스레 암호는 숫자를 변환하는 문제가 되고 수학의 영역으로 완전히 넘어가. 여기서 혁신적인 아이디어가 등장하는데
비대칭 암호야. 무슨 말이냐면, 위에서 말한 암호들은 모두 공통된 약점이 있어. 평문을 암호로 변환하는 암호 키(ex: 스키테일의 원통)를 아군에게 전달해야 한다는 거고, 이 과정에서 암호키가 탈취당하면 암호가 자동으로 뚫린다는 거지. 통신병 해봤던 게이들은 COD 분실하는게 얼마나 잦같은지 알거야. 그런데 암호 키를 전달할 필요가 없다면 어떨까? 만일 999K의 코드값 시간값을 군단장만 알아도 된다면 COD 나부랭이가 아예 필요없지 않을까?
말하자면 이런거야. 29 * 37을 계산기 두드려보면 1073이 나오고 이건 쉽잖아? 근데 그 반대는 좀 귀찮단 말이지. 평문을 암호문으로 바꾸려면 1073만 알면 되는데, 암호문을 평문으로 돌리려면 29랑 37을 알아야 하는 암호를 만든거야. 그럼 "다들 나한테 메세지 1073으로 암호화해서 보내세요" 라고 하고 29랑 37만 안 새어나가게 하면 통신보안이 확보되겠지? 다들 한번쯤 들어봤을 RSA암호가 이 원리고, 실제로는 노가다 따위로는 손도 못 댈 만큼 어마어마하게 큰 숫자를 써. 소인수분해를 쉽게 할 수 있는 방법이 나오지 않는 이상 이 암호는 절대로 뚫리지 않는거지.
하지만 절대로 안 뚫릴 거 같았던 RSA 역시 양자컴퓨터가 나오면 뚫리게 돼. 양자컴퓨터가 실제로 출시됐다는 기사 본 사람 있지? RSA도 이미 무적의 암호가 아니고 뚫는 데 드는 시간과 비용이 문제될 뿐이야. 이미 세계 각국의 주요기관은 독자적인 암호를 개발해서 쓰고 있고, 펜타곤의 경우 대놓고 암호방식을 공모받기도 해. 그래도 되는 거냐고? 글을 주의깊게 읽었으면 알겠지만, 암호해독의 핵심은 원리를 아는게 아니라 약점을 찾는거야. 대놓고 공개된 방법이어도 약점이 없으면 안전한 거고.
현재 이론상 최강의 암호는
양자 암호야. 불확정성의 원리를 이용한건데, 원자단위의 쪼끄만 세계에서는 외부의 관측이 입자에 영향을 준다는거야. 무슨 소리냐면, 엄청 쪼끄만 입자에 정보를 실어보낸다고 해보자. 그 입자를 누군가 도청해서 정보를 뽑아내려고 시도하면, 저놈의 불확정성 원리때문에 건드리는 순간 입자의 상태가 랜덤하게 바뀌고 정보를 알아볼 수 없게 돼. 당사자가 도청시도를 즉시 알아챌 수 있는 건 덤이고. 아예 ^과학법칙^ 이 보안을 담보하는 말 그대로 무적의 암호고 이걸 뚫는건 1+1=3이 될 수 있는거랑 같은거야. 근데 이게 정말 무적일까? 여태껏 무적이라고 생각했던 암호들이 죄다 뚫렸는데 이건 절대 안 뚫릴까? 창과 방패의 대결은 방패의 영원한 승리로 끝날까, 아니면 방패를 뚫을 창이 나올까?
번외 : 신문지 암호라는 것도 있는데, 신문의 글자 위에 펜같은걸로 구멍을 뚫는거야. 구멍뚫린 글자들을 순서대로 읽는거지. 보안때문에 나온 암호는 아니고, 19세기 영국에서는 신문을 무료로 보낼 수 있어서 편지값 아끼려고 나온 암호임ㅋㅋ
번외2 : 북 사이퍼라는 것도 있는데 군사랑 상관없는 보물찾기 이야기라 관심있음 따로 찾아보셈. 빌 사이퍼 내지는 빌의 보물지도로 찾으면 나옴