본문 바로가기

리디북스 접속이 원활하지 않습니다. 새로 고침(F5)해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

RIDIBOOKS

리디북스 검색

최근 검색어

'검색어 저장 끄기'로 설정되어 있습니다.


리디북스 카테고리



처음 배우는 암호화 상세페이지

컴퓨터/IT 개발/프로그래밍

처음 배우는 암호화

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

구매종이책 정가29,000
전자책 정가23,200(20%)
판매가23,200
처음 배우는 암호화

책 소개

<처음 배우는 암호화> 흥미진진한 모던 암호학 실용 가이드

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


출판사 서평

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

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


그 밖의 주제들

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


추천사

암복호화 라이브러리들은 대체로 사용하기 어렵고, 문서화가 부족하고, 주로 다른 전문가들을 위해 설계된다. 예나 지금이나, 암복호화 알고리즘을 알고 이해하는 사람들과 그저 사용하기만 하는(또는 보안상의 위험을 무릅쓰고 암복호화를 무시하는) 사람들 사이에는 커다란 틈이 존재한다. 보안에 관한 책 중 그런 틈을 메울 만한 책은 많지 않으며, 실무자에게 유용한 도구를 제공하는 책은 더욱 적다.
그 결과는 그리 아름답지 않다. “CVE”와 “Severity: High”(심각도 높음) 같은 이름표가 달린 침해 사례들을 들어 보았을 것이고, 기업의 “일급비밀”로 분류되는 정보를 탈취한 해커들의 이야기도 들어 보았을 것이다. 보안 문제에 별 관심이 없던 독자라도 자신이 사용하는 시스템에 영향을 미친 몇몇 유명한 사례는 들어보았을 것이다. 이런 문제 중에는 암호학이 정교하고 수학적으로 우아하기 때문에 그리고 암호학 전문가들이 자신의 지식을 실제로 소프트웨어를 개발하는 기술자들과 제대로 공유하지 못했기 때문에 생긴 것들이 많다.
다행히도 얼마 전부터 상황이 개선되기 시작했으며 이 책은 그러한 변화의 한 산물이라 할 수 있다.
이 책 『처음 배우는 암호화 』의 저자는 응용 암호학의 일류 전문가이지만, 이 책을 다른 암호학 전문가들을 대상으로 쓰지는 않았다. 그렇다고 이 분야를 그냥 수박 겉핥기식으로 개괄하기만 하는 것도 아니다. 오히려 이 책은 암호학의 기초와 최신 내용을 상세히 논의하며, 이 분야에서 일하려는 실무자들의 실력 향상을 돕도록 기획되었다. 이 책을 통해 여러분은 암복호화 알고리즘의 작동 방식은 물론이고 그것들을 실제 시스템에서 사용하는 방법도 배우게 될 것이다.
이 책은 암호학의 여러 핵심 요소를 소개하는 것으로 시작한다. 이를테면 블록 암호를 비롯한 기본 알고리즘들과 공개 키 암호화 방안, 해시 함수, 난수 발생기를 설명한다. 각 장은 알고리즘의 작동 방식을 보여주는 실제 예제를 제공하며, 해야 할 일과 하지 말아야 할 일도 알려준다. 책의 후반부에서는 TLS 같은 고급 주제를 설명하고, 마지막 장에서는 미래에 양자 컴퓨터가 상용화되면 암호학에 어떤 문제가 생기고 그것을 어떻게 극복할 수 있을지 논의한다.
한 권의 책으로 암호학의 모든 문제를 해결할 수는 없겠지만, 약간의 지식이라도 훗날 큰 도움이 될 수 있다. 그런데 이 책에는 많은 지식이 담겨 있다. 어쩌면 많은 사람의 높은 기대를 충족할 정도의 암호체계를 실제로 만들고 운영하는 데 충분할 정도의 지식일 수도 있겠다.
즐겁게 읽으시길!

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



저자 소개

저자_ 장필리프 오마송

스위스 기반 다국적 컴퓨터 보안 회사인 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 더 읽을거리


리뷰

구매자 별점

0.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

‘구매자’ 표시는 유료 도서를 결제하고 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기


spinner
모바일 버전