서브메뉴

본문

처음 배우는 암호화 (기초 수학부터 양자 컴퓨터 이후까지, 암호학의 현재와 미래)
처음 배우는 암호화 (기초 수학부터 양자 컴퓨터 이후까지, 암호학의 현재와 미래)
저자 : 장필리프 오마송
출판사 : 한빛미디어
출판년 : 2018
ISBN : 9791162240977

책소개

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

출판사 서평

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



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



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



그 밖의 주제들

- 보안의 수량화, 공격 모형, 순방향 비밀성 같은 암호학의 핵심 개념

- HTTPS 보안 웹사이트의 바탕인 TLS 프로토콜의 강점과 한계

- 양자 컴퓨터와 양자 후 암호학

- 실제 응용 프로그램에서 발견된 다양한 보안 취약점과 활용 사례

- 최고의 알고리즘이나 프로토콜을 선택하는 방법

- 보안 제품/서비스 공급업체에 제대로 질문하는 방법
[알라딘에서 제공한 정보입니다.]

목차정보

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 더 읽을거리
[알라딘에서 제공한 정보입니다.]

QuickMenu

  • TOP