|
IT 전문 출판사에서 출간된 암호학 책이다. 이 책을 처음 읽겠다고 했을 때, 주변에서는 '이거 수학 잘해야 되지 않냐?' 여부를 많이들 물어보았다. 심지어 책 설명이 "암호화"가 아니고 "암호학"이라 더 무서워보인다더라. 아직 완독은 못했기에 결론을 말하기는 조금 섣부르지만, 확실히 이 책은 수학적 사고가 꽤 요구된다. 저자가 수학 기호나 공식의 사용은 많이 절제하였다. 그래도 컴퓨터 과학의 기초와 대학 수준의 수학 실력은 필요하다. 오히려 프로그래밍은 잘 못해도 큰 지장이 없다. 소스코드가 조금 나오기는 하지만 적당히 넘어가도 된다. 두 번째로 많은 질문을 받았던 부분은 번역의 퀄리티이다. IT분야에서 첫 손에 꼽히는 전문 번역가인 류광님의 번역은 이번에도 훌륭하다. 원문의 뜻과 뉘앙스에 충실하다. <옮긴이의 말>을 참고해보면, 이번에는 한국정보통신기술협회의 정보통신용어사전, 대한수학회의 수학용어집을 기반으로 위키백과를 일부 접목해서 번역하셨다고 한다. 그래서 한글 용어 선정이나 한글 문장의 기본 퀄리티는 매우 좋다. 서술이 좀 딱딱하게 느껴지는 부분이 간혹 있지만, 적어도 번역이 의심되어 원문을 대조하며 분노할 일은 거의 없을 것이다. 이 책을 미리 접한 어떤 분의 말처럼, <처음 배우는 암호화>는 그야말로 진지한 암호학 책이다. 이 책은 딱딱하게만 느껴지는 암호학의 근본 개념과 최신 논의를 체계적으로 알려준다. 블록 암호, 기본 알고리즘, 공개 키 암호화 방안, 해시 함수, 난수 발생기 등 다루는 주제는 다양하다. 책 후반부에서는 미래에 양자 컴퓨터가 상용화되면 암호학에 어떤 문제가 있으며 어떻게 극복할 지도 알려준다. 그만큼 내용 하나하나가 쉽지는 않다. 개인적으로는 수학/통계학적 배경이 약한 편이라 참고도서로 <스토리로 이해하는 암호화 알고리즘>을 같이 읽었다. 후자는 개발자가 저술한 책이라 암호화 알고리즘의 쉬운 풀이와 구현에 집중했기에, 꽤 괜찮은 상호 보완이 되었다. |
|
웹 개발자로서, 암호화에 대해 많은 생각을 할 시간은 없지만 최소한의 지식이 필요함은 항상 느끼고 있었다. 특히 TLS라는 녀석은 아는 거라곤 버전이 있다는 점. 개발을 할 때, TLS버전을 숙지하고 보내야 한다는 점 정도밖에 몰랐다. 이 책은 암호학 고수로 만들어 주진 못하지만 서냥개 3년이면 풍월읊는 정도는 되게 해준다. 완벽한 이해는 할 수 없어도 이게 뭔지 그게 뭔지 감을 느끼게 해준다. 웹 개발자로서 암호에 대해 깊게 생각할 일이 아마 남은 시간 동안 없을 지도 모른다. 아마 쓸모 없는 지식일지도 모른다. 하지만 책은 결과뿐만 아니라 과정 안에도 즐거움이 있으니, 이 책을 읽는 동안 꽤 즐거웠다. 가끔 이 책을 읽으면서 수학공식 같은 것들이 나온다. 무시해도 될 정도... 라고 생각한다. 모르면 그냥 넘어가도 된다고 생각한다. 얇고 간결한 책이며, 암호학에 대해 진지하게 공부하는 분들보단 처음 시작하는 분들 또는 암호학에 대해 어느정도 귀동냥을 하고 싶은 분들에게 추천한다. |
|
요즘은 정말 개인 정보 유출에 대한 사건, 사고들이 많이 발생한다. 하루가 멀다하고 어느 사이트에서 수십, 수백만 건의 사용자 정보가 유출 되었다는 기사를 자주 듣게 된다. 그만큼 개인 정보를 탈취해서 악용 하려는 사람들이 많아지고 있다. 그래서 요즘은 개인 정보를 DB에 저장할 때에는 무조건 암호화를 해야 한다. 권장이 아니라 필수이다. 이 책에서는 각종 암호화에 대한 이론들에 대해서 설명을 해준다. 어떻게 만들어 졌으며 어떻게 만들어야 하는지에 대해서 자세히 설명해주고 있다. 그리고 암호화 기법에 대한 장,단점과 사용 사례들도 말해준다. 암호화 기법을 설명하면서 암호화 기법이 갖고 있는 장점, 그리고 어떤 부분이 취약한지, 그 취약한 부분에 의해서 어떠한 일들이 발생할 수 있는지 자세히 설명해준다. 그리고 그 부분을 극복 하려면 어떻게 해야 하는지도 설명해준다. 내가 이렇게 RSA관련 부분을 일부 캡쳐를 한것은 업무 할 때에 가장 많이 사용하고 친숙해서 이부분을 먼저 읽었다. 그냥 툴에서 지원해주는 것만 쓸줄 알았지 이게 어떻게 구현되어있는지 생각해본적은 없었는데 이렇게 자세히 설명을 해준다. 그리고 구현 방법도 알려준다. 그런데 위에 저자도 말했듯이 그런 일은 없길 바래야 할것 같다. 구현을 해봐야겠다는 생각도 안해봤지만 일단 복잡하다. 저자가 충분히 알아듣게 설명을 해주고 있는데도 이해하는데 상당히 어렵다. 그래서 내가 읽으면서 생각해본 이책에 대한 장,단점은 이렇다. 장점 - 암호화에 대한 내용을 기초부터 심화까지 자세히 알수 있다. 대학교에서 전공 서적으로 사용해도 될것 같다. 단점 - 내용이 어렵다. 암호화라는 것 자체가 쉬운 내용이 아니기 때문에 당연한거다. 그래서 이 책을 읽기 위해서는 수학적 지식도 많이 필요하다. 그렇지 않으면 이해하기가 쉽지 않다. 그래서 결론적으로 어느정도 암호화에 대해서 알고 있는 사람이 심화로 공부하기에 좋은 책이라는 생각이 들었다. http://blusky10.tistory.com/357 |
|
08월 29일 리뷰 - 리뷰자 김종욱
장필리프 오마송 지음 / 류광 옮김
Game programming gems으로 유명하신 류광님께서 옮기신 처음배우는 암호화책. 저자분의 성함부터 특색이 있어 여훈이 오래갔던 책이 바로 이번에 리뷰하게된 처음 배우는 암호화 책이다. 책의 구성은 기본적인 암호화 방법부터 심화된 암호화 방법에 이르기까지 상당히 초보자? 분들이 한번쯤 읽어보면 좋을 내용들로 구성되어있다. 물론 수리적 기반이 잘 갖춰진 분이 읽는다면 훨씬 이해가 빠르겠지만 그렇다고 수리적 기반이 없는 분이 읽어서 전혀 모를 그럴 내용들이 아니다.(솔직히 암호화 책이라 공식으로 도배되어 있을 것 같았는데.. 전혀 그렇지 않다.)
책에 관한 본격적인 리뷰에 임하기에 앞서 어떤 사람들에게 본 서를 권하는지 적어보도록 하겠다. 【어떤 독자를 위한 책인가】 이 책은 정말 친절한 책이다. 각각의 단락의 주제에 알맞은 내용들이 매우 자세히 설명되어 있고, 필요 없는 그림들이 실려있지 않기 때문에 여느 다른 책들처럼 그림 공부만 하다 끝나는? 그런 구성이 아니다. (물론 글이 많은 책을 싫어하시는 분이라면 이 책을 읽는데 약간 고될 수 있다.) 따라서 암호와 관련된 이론적인/약간의 실무적인(이 부분은 지극히 블로거의 개인적 생각) 내용을 가벼우면서도 상세히, 무겁지 않으면서도 무게감이 있는 느낌으로 공부할 수 있을 것이라 기대한다. 【책의 구성】 '처음 배우는 암호화' 책의 구성은 어떠한가. 【처음 배우는 암호화를 읽으며…….】 블로거가 어렸을 적엔, 암호화한다고 대충 몇가지 키 값을 선정하여 xor 연산을 반복수행해서 값을 암호화하는 것이 유행이였다. 하지만 요즘 시대에 저런식으로 암호화 하는 사람이 몇명이 있을지 모르겠고 무엇보다 시대가 좋아져서 수많은 암호화 모듈들이 오픈 소스로 인터넷에 제공되고 있다. 하지만 여기서 명심할 점은 이미 있는 것을 이용하는 것도 좋지만, 한번쯤 해당 모듈들을 직접 만들어 보며 이론과 역사적 배경이 어떻게 되는지 반드시 공부해야된다는 점이다. 【점수…….】 구성 : ★★★★☆ 내용:★★★☆☆ 디자인: ★★★☆☆ 전문성 : ★★★☆☆ #본 리뷰는 리뷰자 김종욱의 저작권에 귀속되므로 참고시 참고 URL 명시 및 저작자에게 사용 통보를 해 주시기 바랍니다. #본 리뷰의 점수 및 평가 내용은 김종욱 리뷰자의 한정된 것이므로 지극히 주관된 평가 임을 명시합니다. #학습과 관련된 질문과 문제에 대한 질문은 일절 받지 않습니다. 스스로 찾아서 학습하는 것 그것이야 말로 진정한 학습자입니다.
|