메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

처음 배우는 암호화

기초 수학부터 양자 컴퓨터 이후까지, 암호학의 현재와 미래

한빛미디어

번역서

판매중

  • 저자 : 장필리프 오마송
  • 번역 : 류광
  • 출간 : 2018-07-20
  • 페이지 : 404 쪽
  • ISBN : 9791162240977
  • 물류코드 :10097
초급 초중급 중급 중고급 고급
0점 (0명)
좋아요 : 3

흥미진진한 모던 암호학 실용 가이드 

 

이 책은 딱딱하게만 느껴지는 암호학의 근본 개념과 최신 논의를 흥미롭고 체계적으로 알려준다. 크게는 기초 수학부터 양자 컴퓨팅 이후의 암호학까지 폭넓은 주제를 다루며, 각 장은 실제 사례를 기초로 한 일반적인 구현 실수와 이러한 함정을 피하는 방법까지 자세히 설명한다. 이제 막 현장에 뛰어든 초심자에게는 친절한 가이드가, 숙련된 종사자에게는 최신 암호화와 그 응용에 대한 풍부한 정보를 제공하는 필독서가 되어줄 것이다.

저자

장필리프 오마송

스위스 기반 다국적 컴퓨터 보안 회사인 Kudelski Security의 수석연구원이다. 암호학과 암호해독 분야에서 40편 이상의 연구 논문을 저술했으며, 널리 쓰이는 해시 함수 BLAKE2와 SipHash를 설계했다. 정보 보안 콘퍼런스들에서 정기적으로 강연하며, Black Hat과 DEF CON, Troopers, Infiltrate에도 참여했다.

역자

류광

30년 이상의 번역 경력을 가진 전문 번역가로, 커누스 교수의 『컴퓨터 프로그래밍의 예술』(The Art of Computer Programming) 시리즈와 『구체 수학 제2판』(Concrete Mathematics 2nd), 스티븐스의 『UNIX 고급 프로그래밍』(Advanced Programming in UNIX Environment) 제2판과 제3판, 『Game Programming Gems』 시리즈 등을 포함하여 60여 권의 다양한 IT 전문서를 번역했다.

번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심이 있으며, 수많은 오픈소스 프로젝트의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr)의 일원이다. 현재 번역서 정보 사이트 occam’s Razor(http://occamsrazr.net)와 게임 개발 및 개발서 관련 사이트 GpgStudy(http://www.gpgstudy.com)를 운영하고 있다.

1장. 암호화

1.1 기초 

1.2 고전암호 

__1.2.1 시저 암호 

__1.2.2 비즈네르 암호 

1.3 암호의 작동 방식 

__1.3.1 치환 

__1.3.2 운영 모드 

__1.3.3 고전암호가 안전하지 않은 이유 

1.4 완벽한 암호화: 일회용 패드(OTP) 

__1.4.1 일회용 패드를 이용한 암호화 

__1.4.2 일회용 패드가 안전한 이유 

1.5 암호의 보안성 

__1.5.1 공격 모형 

__1.5.2 보안 목표 

__1.5.3 보안 개념들 

1.6 비대칭 암호화 

1.7 암·복호화 이외의 암호의 용도 

__1.7.1 인증 암호화 

__1.7.2 형태 보존 암호화 

__1.7.3 완전 준동형 암호화 

__1.7.4 검색 가능 암호화 

__1.7.5 조율 가능 암호화 

1.8 문제 발생 요인들 

__1.8.1 약한 암호 

__1.8.2 잘못된 모형 

1.9 더 읽을거리 

 

2장. 무작위성

2.1 무작위 대 비무작위 

2.2 확률분포로서의 무작위성 

2.3 엔트로피: 불확실성의 측도 

2.4 난수 발생기(RNG)와 의사난수 발생기(PRNG) 

__2.4.1 PRNG의 작동 방식 

__2.4.2 보안 관련 문제 

__2.4.3 포르투나: Microsoft의 PRNG 

__2.4.4 암호학적 PRNG와 비암호학적 PRNG 

__2.4.5 통계적 검정의 쓸모 없음 

2.5 실제로 쓰이는 PRNG들 

__2.5.1 Unix 기반 시스템에서 무작위 비트 생성 

__2.5.2 Windows의 CryptGenRandom() 함수 

__2.5.3 하드웨어 기반 PRNG: 인텔 마이크로프로세서의 RDRAND 명령 

2.6 문제 발생 요인들 

__2.6.1 불충분한 엔트로피원 

__2.6.2 시동 시점의 엔트로피 부족 

__2.6.3 비암호 PRNG 

__2.6.4 무작위성은 강하지만 표본 추출에 문제가 있는 사례 

2.7 더 읽을거리 

 

3장. 암호학적 보안

3.1 불가능의 정의 

__3.1.1 이론적인 보안성: 정보 보안성 

__3.1.2 실용적인 보안성: 계산 보안성 

3.2 보안성의 정량화 

__3.2.1 비트수를 척도로 한 보안성의 측정 

__3.2.2 전방위 공격 비용 

__3.2.3 보안 수준의 선택과 평가 

3.3 보안의 달성 

__3.3.1 증명 가능 보안성 

__3.3.2 발견법적 보안성 

3.4 키 생성 

__3.4.1 대칭 키 생성 

__3.4.2 비대칭 키 생성 

__3.4.3 키의 보호 

3.5 문제 발생 요인들 

__3.5.1 부정확한 보안성 증명 

__3.5.2 하위 호환성을 위한 짧은 키 

3.6 더 읽을거리 

 

4장. 블록 암호

4.1 블록 암호란 무엇인가? 

__4.1.1 보안 목표 

__4.1.2 블록 크기 

__4.1.3 코드북 공격 

4.2 블록 암호 구성 

__4.2.1 블록 암호의 라운드 

__4.2.2 슬라이드 공격과 라운드 키 

__4.2.3 대입-치환 네트워크 

__4.2.4 파이스텔 방안 

4.3 AES(고급 암호화 표준) 

__4.3.1 AES의 내부 

__4.3.2 AES의 사용 예 

4.4 AES의 구현 

__4.4.1 테이블 기반 구현 

__4.4.2 전용 기계어 명령 

__4.4.3 AES는 안전한가? 

4.5 운영 모드 

__4.5.1 전자 코드북(ECB) 모드 

__4.5.2 암호 블록 연쇄(CBC) 모드 

__4.5.3 CBC 모드에서 임의의 길이의 메시지를 암호화하는 방법 

__4.5.4 카운터(CTR) 모드 

4.6 문제 발생 요인들 

__4.6.1 중간값 일치 공격 

__4.6.2 채움 오라클 공격 

4.7 더 읽을거리 

 

5장. 스트림 암호

5.1 스트림 암호의 작동 방식 

__5.1.1 상태 있는 스트림 암호와 카운터 기반 스트림 암호 

5.2 하드웨어 지향적 스트림 암호 

__5.2.1 FSR(되먹임 자리이동 레지스터) 

__5.2.2 Grain-128a 

__5.2.3 A5/1 

5.3 소프트웨어 지향적 스트림 암호 

__5.3.1 RC4 

__5.3.2 Salsa20 

5.4 문제 발생 요인들 

__5.4.1 논스 재사용 

__5.4.2 잘못된 RC4 구현 

__5.4.3 하드웨어로 구현된 약한 암호 

5.5 더 읽을거리 

 

6장. 해시 함수

6.1 보안 해시 함수 

__6.1.1 다시 등장한 비예측성 

__6.1.2 역상 저항성 

__6.1.3 충돌 저항성 

__6.1.4 충돌 찾기 

6.2 해시 함수의 구축 

__6.2.1 압축 기반 해시 함수: 머클-담고르 구성 

__6.2.2 치환 기반 해시 함수: 스펀지 함수 

6.3 SHA족 해시 함수 

__6.3.1 SHA-1 

__6.3.2 SHA-2 

__6.3.3 SHA-3 공모전 

__6.3.4 Keccak (SHA-3) 

6.4 BLAKE2 해시 함수 

6.5 문제 발생 요인들 

__6.5.1 길이 연장 공격 

__6.5.2 저장증명 프로토콜 속이기 

6.6 더 읽을거리 

 

7장. 키 있는 해싱

7.1 메시지 인증 코드(MAC) 

__7.1.1 보안 통신에 쓰이는 MAC 

__7.1.2 위조 공격과 선택된 메시지 공격 

__7.1.3 재전송 공격 

7.2 의사난수 함수(PRF) 

__7.2.1 PRF의 보안성 

__7.2.2 PRF가 MAC보다 강한 이유 

7.3 키 없는 해시로 키 있는 해시 구축 

__7.3.1 비밀 값 전위 구성 

__7.3.2 비밀 값 후위 구성 

__7.3.3 HMAC 구성 

__7.3.4 해시 기반 MAC에 대한 일반적 공격 방법 하나 

7.4 블록 암호로 키 있는 해시 구축: CMAC 

__7.4.1 CBC-MAC에 대한 공격 

__7.4.2 CBC-MAC 고치기 

7.5 전용 MAC 설계 

__7.5.1 Poly1305 

__7.5.2 SipHash 

7.6 문제 발생 요인들 

__7.6.1 MAC 검증에 대한 타이밍 공격 

__7.6.2 물 새는 스펀지 

7.7 더 읽을거리 

 

8장. 인증 암호화

8.1 MAC을 이용한 인증 암호화 

__8.1.1 암호화 및 MAC 

__8.1.2 MAC 후 암호화 

__8.1.3 암호화 후 MAC 

8.2 인증 암호 

__8.2.1 AEAD(연관 자료가 있는 인증 암호화) 

__8.2.2 논스 관련 예측 가능성 방지 

__8.2.3 좋은 인증 암호의 요건 

8.3 AES-GCM: 인증 암호의 표준 

__8.3.1 GCM의 내부: CTR과 GHASH 

__8.3.2 GCM의 보안성 

__8.3.3 GCM의 효율성 

8.4 OCB: GCM보다 빠른 인증 암호 

__8.4.1 OCB의 내부 

__8.4.2 OCB의 보안성 

__8.4.3 OCB의 효율성 

8.5 SIV: 가장 안전한 인증 암호? 

8.6 치환 기반 AEAD 

8.7 문제 발생 요인들 

__8.7.1 AES-GCM과 약한 해시 키 

__8.7.2 AES-GCM과 짧은 인증값 

8.8 더 읽을거리 

 

9장. 난해한 문제들

9.1 계산 난해성 

__9.1.1 실행 시간 측정 

__9.1.2 다항 시간 대 초다항 시간 

9.2 복잡도 부류 

__9.2.1 비결정론적 다항 시간 

__9.2.2 NP-완전 문제 

__9.2.3 P 대 NP 문제 

9.3 인수분해 문제 

__9.3.1 큰 수의 인수분해의 실제 

__9.3.2 인수분해는 NP-완전 문제인가? 

9.4 이산 로그 문제 

__9.4.1 군이란 무엇인가 

__9.4.2 난해성의 근원 

9.5 문제 발생 요인들 

__9.5.1 인수분해가 생각보다 쉬운 경우 

__9.5.2 난해한 문제라도 규모가 작으면 풀기 어렵지 않다 

9.6 더 읽을거리 

 

10장. RSA

10.1 RSA에 깔린 수학 

10.2 RSA 트랩도어 치환 

10.3 RSA 키 생성과 보안성 

10.4 RSA를 이용한 암호화 

__10.4.1 교과서 RSA 암호화의 가소성 악용 

__10.4.2 강한 RSA 암호화: OAEP 

10.5 RSA를 이용한 서명 

__10.5.1 교과서 RSA 서명의 취약점 

__10.5.2 PSS 서명 표준 

__10.5.3 FDH 서명 

10.6 RSA 구현 

__10.6.1 빠른 거듭제곱 알고리즘: 제곱 후 곱하기 

__10.6.2 작은 지수를 이용한 공개 키 연산 속도 높이기 

__10.6.3 중국인의 나머지 정리 

10.7 문제 발생 요인들 

__10.7.1 RSA-CRT에 대한 벨코어 공격 

__10.7.2 개인 지수나 법의 공유 

10.8 더 읽을거리 

 

11장. 디피-헬먼

11.1 디피-헬먼 함수 

11.2 디피-헬먼 문제 

__11.2.1 디피-헬먼 계산 문제 

__11.2.2 디피-헬먼 결정 문제 

__11.2.3 그 밖의 디피-헬먼 문제들 

11.3 키 합의 프로토콜 

__11.3.1 비 DH 키 합의 프로토콜의 예 

__11.3.2 키 합의 프로토콜에 대한 공격 모형들 

__11.3.3 성능 

11.4 디피-헬먼 프로토콜 

__11.4.1 익명 디피-헬먼 

__11.4.2 인증 디피-헬먼 

__11.4.3 메네즈스-취-밴스톤(MQV) 

11.5 문제 발생 요인들 

__11.5.1 공유 비밀에 해싱을 적용하지 않는 경우 

__11.5.2 TLS의 구식 디피-헬먼 

__11.5.3 안전하지 않은 군 매개변수 

11.6 더 읽을거리 

 

12장. 타원곡선

12.1 타원곡선이란? 

__12.1.1 정수에 관한 타원곡선 

__12.1.2 점의 덧셈과 곱셈 

__12.1.3 타원곡선 군 

12.2 ECDLP 문제 

12.3 타원곡선에 관한 디피-헬먼 키 합의 

__12.3.1 타원곡선을 이용한 디지털 서명 

__12.3.2 타원곡선을 이용한 암호화 

12.4 곡선의 선택 

__12.4.1 NIST 곡선 

__12.4.2 Curve25519 

__12.4.3 그 밖의 곡선들 

12.5 문제 발생 요인들 

__12.5.1 ECDSA와 무작위성의 결여 

__12.5.2 다른 곡선으로 ECDH 깨기 

12.6 더 읽을거리 

 

13장. TLS

13.1 응용 대상과 요구조건 

13.2 TLS 프로토콜 모음 

__13.2.1 TLS와 SSL 프로토콜들의 간략한 역사 

__13.2.2 TLS의 개요 

__13.2.3 인증서와 인증기관 

__13.2.4 레코드 프로토콜 

__13.2.5 TLS 핸드셰이크 프로토콜 

__13.2.6 TLS 1.3의 암복호화 알고리즘들 

13.3 TLS 1.2에 비한 TLS 1.3의 개선점 

__13.3.1 다운그레이드 보호 

__13.3.2 단일 왕복 악수 과정 

__13.3.3 세션 재개 

13.4 TLS 보안의 강도 

__13.4.1 인증 

__13.4.2 순방향 비밀성 

13.5 문제 발생 요인들 

__13.5.1 침해된 인증기관 

__13.5.2 침해된 서버 

__13.5.3 침해된 클라이언트 

__13.5.4 구현의 버그 

13.6 더 읽을거리 

 

14장. 양자 컴퓨터와 양자 후 암호

14.1 양자 컴퓨터의 작동 방식 

__14.1.1 양자 비트 

__14.1.2 양자 게이트 

14.2 양자 속도 향상 

__14.2.1 지수 속도 향상과 사이먼의 문제 

__14.2.2 쇼어 알고리즘의 위협 

__14.2.3 쇼어 알고리즘으로 인수분해 문제 풀기 

__14.2.4 쇼어 알고리즘으로 이산 로그 문제 풀기 

__14.2.5 그로버 알고리즘 

14.3 양자 컴퓨터를 만드는 것이 어려운 이유 

14.4 양자 후 암복호화 알고리즘 

__14.4.1 부호 기반 암호학 

__14.4.2 격자 기반 암호학 

__14.4.3 다변량 암호학 

__14.4.4 해시 기반 암호학 

14.5 문제 발생 요인들 

__14.5.1 불확실한 보안 수준 

__14.5.2 미래 상상: 만일 우리의 대응이 너무 늦다면? 

__14.5.3 구현 문제 

14.6 더 읽을거리 

제대로 시작하는 현대 암호학 

 

이 책은 현대적인 암호학에 관한 실용적인 입문서다. 암호학의 핵심을 이루는 수학 개념들을 너무 단순화하지 않고 적절한 수준에서 풀어서 설명하고, 그에 기초해서 인증 암호, 안전한 무작위성, 해시 함수, 블록 암호, 공개 키 암호(RSA와 타원곡선 암호 등)의 작동 방식을 설명한다. 각 장 끝에는 실제 응용 사례들에서 발견된 흔한 구현 실수들과 그런 결함이 미치는 영향 및 해결책에 관한 논의도 곁들였다.

 

이 책은 경험 있는 실무자와 이 분야에 진입하길 꿈꾸는 초보자 모두에게 현대 암호학과 그 응용에 관한 완벽한 개괄서가 될 것이다.

 

그 밖의 주제들

  • 보안의 수량화, 공격 모형, 순방향 비밀성 같은 암호학의 핵심 개념
  • HTTPS 보안 웹사이트의 바탕인 TLS 프로토콜의 강점과 한계
  • 양자 컴퓨터와 양자 후 암호학
  • 실제 응용 프로그램에서 발견된 다양한 보안 취약점과 활용 사례
  • 최고의 알고리즘이나 프로토콜을 선택하는 방법
  • 보안 제품/서비스 공급업체에 제대로 질문하는 방법

추천사

암복호화 라이브러리들은 대체로 사용하기 어렵고, 문서화가 부족하고, 주로 다른 전문가들을 위해 설계된다. 예나 지금이나, 암복호화 알고리즘을 알고 이해하는 사람들과 그저 사용하기만 하는(또는 보안상의 위험을 무릅쓰고 암복호화를 무시하는) 사람들 사이에는 커다란 틈이 존재한다. 보안에 관한 책 중 그런 틈을 메울 만한 책은 많지 않으며, 실무자에게 유용한 도구를 제공하는 책은 더욱 적다.

 

그 결과는 그리 아름답지 않다. “CVE”와 “Severity: High”(심각도 높음) 같은 이름표가 달린 침해 사례들을 들어 보았을 것이고, 기업의 “일급비밀”로 분류되는 정보를 탈취한 해커들의 이야기도 들어 보았을 것이다. 보안 문제에 별 관심이 없던 독자라도 자신이 사용하는 시스템에 영향을 미친 몇몇 유명한 사례는 들어보았을 것이다. 이런 문제 중에는 암호학이 정교하고 수학적으로 우아하기 때문에 그리고 암호학 전문가들이 자신의 지식을 실제로 소프트웨어를 개발하는 기술자들과 제대로 공유하지 못했기 때문에 생긴 것들이 많다.

 

다행히도 얼마 전부터 상황이 개선되기 시작했으며 이 책은 그러한 변화의 한 산물이라 할 수 있다.

이 책 『처음 배우는 암호화 』의 저자는 응용 암호학의 일류 전문가이지만, 이 책을 다른 암호학 전문가들을 대상으로 쓰지는 않았다. 그렇다고 이 분야를 그냥 수박 겉핥기식으로 개괄하기만 하는 것도 아니다. 오히려 이 책은 암호학의 기초와 최신 내용을 상세히 논의하며, 이 분야에서 일하려는 실무자들의 실력 향상을 돕도록 기획되었다. 이 책을 통해 여러분은 암복호화 알고리즘의 작동 방식은 물론이고 그것들을 실제 시스템에서 사용하는 방법도 배우게 될 것이다.

 

이 책은 암호학의 여러 핵심 요소를 소개하는 것으로 시작한다. 이를테면 블록 암호를 비롯한 기본 알고리즘들과 공개 키 암호화 방안, 해시 함수, 난수 발생기를 설명한다. 각 장은 알고리즘의 작동 방식을 보여주는 실제 예제를 제공하며, 해야 할 일과 하지 말아야 할 일도 알려준다. 책의 후반부에서는 TLS 같은 고급 주제를 설명하고, 마지막 장에서는 미래에 양자 컴퓨터가 상용화되면 암호학에 어떤 문제가 생기고 그것을 어떻게 극복할 수 있을지 논의한다.

 

한 권의 책으로 암호학의 모든 문제를 해결할 수는 없겠지만, 약간의 지식이라도 훗날 큰 도움이 될 수 있다. 그런데 이 책에는 많은 지식이 담겨 있다. 어쩌면 많은 사람의 높은 기대를 충족할 정도의 암호체계를 실제로 만들고 운영하는 데 충분할 정도의 지식일 수도 있겠다.

 

즐겁게 읽으시길!

 

_메슈 D. 그린, 존스 홉킨스 대학교 정보보안연구소 교수

  • 첫번째 리뷰어가 되어주세요.
결재하기
배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
처음 배우는 암호화
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
처음 배우는 암호화
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
처음 배우는 암호화
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실