1. 전치와 대치(치환)
가. 개요
전치와 대치는 같은 말임. 그냥 그런가보다 하고 넘어가슈
전치: 자리 바꿈 ROT13이라는게 있음. -> 13칸을 뒤로 가란 말임. a -> n : 근데 보통 ROT5, ROT3 정도 나옴
치환: 비선형임(1:1 대응이 아님) XOR연산(같으면 0 다르면 1)

-> 평문이 010110임 이걸 키(111000)을 만듦 이걸 XOR베타적 논리합을 하면 101110임. 이게 일종의 암호화가 된 암호문임. 그럼 이 암호문을 복호화 함. 수신자도 같은 키값을 가지고 베타적 논리합을 하면 암호문(101110)이 키값을 더하면 (010110)이 됨.

암호기법의 종류
스트림암호 : 흘러가는 것 오디오나 비디오, 그런걸 처리하는게 스트림 암호
블록암호: 하나의 데이터를 블록으로 쪼갬, 데이터 전송이나 스토리지 전송에서 그리 함.
대칭키 방식: 비밀키를 씀. 비밀키 방식이라고도 부름. 쓰는 사람 마음임. fm은 대칭키 암호화 방식임.
비대칭키 방식: 키를 두개를 씀. 공개키와 개인키. 공개키 암호화 방식이라는 말도 씀(이게 더 직관적이라서;)
시험에서 공통적으로 나오는 말이 대칭키 암호화 방식과 공개키 암호화 방식이라는 말을 많이 씀.
대칭키 = 비밀키 = 관용키 = 세션키 = 비공개키
비대칭키 = 공개키 = 사설키
암호화 시스템은 양방향과 단방향이 있음. 우리가 쓰는건 다 양방향임. 보내거나 받아야하고 말하거나 들어야함.
양방향은 평문을 암호문으로 암호문을 평문으로 크게 방식에는 대칭키 암호화 방식과 공개키 암호화방식(비대칭키 암호화)가 있음.
대칭키가 먼저 나오고 공개키가 나옴.
대칭키는 스트림 암호화 블록 암호로 나뉨. : XOR 연산으로 처리함(동기식: 송신과 수신측의 시간(클록)이 맞아야함. -> 송신체계에 로터리 스위치, 수신체곙에도 로터리 스위치가 있음. A시간일 땐 송수신이 A시간이어야 하고, B시간 일땐 서로 B시간일 때 송수신 가능)
블록은 텍스트, 여러개의 블록으로 나누는 것:
-> 페이스틀 방식(하나의 방식으로 암호화도 하고 복호화도 함, 하나의 알고리즘으로 암호화도 하고 복호화도 함, 하나의 평문을 여러개의 블록으로 쪼갠 다음 선형(+n) /비선형(XOR)을 이용함. 암호화 과정과 복호화 과정이 같다.
SPN 방식: 암호화 방법 따로, 복호화 과정을 따로 쓰는 거임.
--> 대칭키 암호화 방식은 키 관리가 어려워서 공개키를 통해 키 배송 문제를 해결함.
일방향(해시함수)라고 일단 기억하셈. -> 나중에 배움
나. 전치암호(Transposition Cipher) ROT n
다. 대치 암호(치환 암호)
-> 평문과 키를 베타적 논리화 함.

라. 전치와 대치 비교
-> 그냥 그런게 있다.. 하고 넘어가자. 나중에 시험 붙으면 공부하셈!
2. 스트림 암호와 블록암호
가. 스트림 암호(Stream Cipher)
스트림 암호는 데이터를 한 번에 한 비트 또는 바이트 단위로 암호화 하는거, 영상, 오디오 등의 스트림을 그냥 받고 나가는거 IV
스트림암호 평문 키를 암호문이 만들어 지고 이걸 인터넷을 통해 보내고 수신자가 이걸 복호화해서 평문으로 만드는데 이 때 키가 필요하지. 이때 내가 키를 받았다고 치고 베타적 논리합(XOR)을 함.
나. 블록암호(Block Cipher)
1) 개념
하나의 평문을 여러개의 블록으로 쪼개는 것, 스테이크 먹을 때 먹기 좋게 쪼개는 것.
(1)
(2)
(3) 라운드 = 화투 섞는거.. 랜덤하게 나오도록 카드를 섞는 행위
(4)
(5) DES, AES, SEED... 외우셈
(6) 위에서 배움.
2) Feistel 방식
암호화 과정과 복호화 과정이 같음
라운드의 수 = 몇번 카드를 섞냐
3) SFN 방식
암호화 알고리즘과 복호화 알고리즘이 따로 있는 것
P-box, S-box 나중에 공부해.
단순박스, 1:1 대응
축소 5:3, 확장 3:5
4) Feistel 방식과 SFN 방식 비교
참고 자료임 -> 나중에 공부
Feistel은 하나의 알고리즘으로 암호화와 복호화를 하므로 역함수가 필요 없음.
Feistel 알고리즘 1개
SPN 알고리즘 2
5) 블록암호 알고리즘 운영모드
가) ECB(Electic Codebook mode, 전자 부호표 모드) SPN
-> 코드북
나) CBC(Cipher Block Chaining mode, 암호 블록 연쇄 모드) SPN
->체인, 오류 전이
다) CFB(Cipher Feedback mode, 암호 피드백 모드) Feistel
-> 피드백, 오류 전이
라) OFB(Output Feedback Mode, 출력 피드백 모드) Feistel
-> 피드백
마) CTR(counter Mode, 카운터 모드) Feistel
-> 카운터
CBC, CFB는 오류 전파가 발생함. 한 블럭의 오류가 전체 블럭으로 퍼지는 오류전파가 발생함.
다. 블록암호 알고리즘 운영모드
1) ECB모드에서 암호화와 복호화
가) 개념
평문을 일정한 블록 단위로 쪼갠다. -> 다소 그리는 사람 마음임.
평문 블록을 여러 일정한 크기의 블록으로 쪼갠다음 그 각각의 평문 블록을 암호화하면 암호화 블럭이 생기겠지.
그러면 이 모드는 오류전이(오류전파)가 발생하지 않음. 오류가 발생하면 오류가 다른 블록에 전파 되지 않는다는 의미임..
내가 지금 받은 암호문을 여러개의 암호문 블록으로 쪼갠다면 각각의 암호문을 복호화하면 평문 블록이 나올거임.
-> 암호화 알고리즘과 복호화 알고리즘이 따로 필요함.
나) ECB모드에서의 암호화
다) ECB모드에서의 복호화
2) CBC모드에서의 암호화와 복호화
가) 개념
CBC모드는 하나의 평문을 마찬가지로 여러개의 평문 블록으로 쪼갬. 맨 처음에는 입력값이 없어서 초기화 백터(임의의 입력값)를 입력해서 암호화 함. 그럼 암호화된 블럭이 나오겠지 여기서 나온 암호화를 다음 블럭의 출력값(초기화 백터)으로 씀.
-> 그러다보니 중간에 오류가 생기면 뒤에 한 칸에 영향을 줌 ㅎ = 오류전이(오류전파)

암호문 Ci 는 평문Pi와 앞단의 출력값(Ci-1)을 베타적 논리합한 걸 인크립션한다.
-> 개념을 이해하지 말고, 그림을 이해하면 됨.
나) CBC모드에서의 암호화
다) CBC모드에서의 복호화
얘도 베타적 논리합을 해야함. 그걸 합쳐서 평문으로 만들어야 함. 그리는 사람 마음이라, 복호화에서 연결해서 암호화로 내려와도 괜찮음.
라) ECB모드와 CBC모드의 비교
3) CFB모드에서의 암호화, 복호화
가) 개념
암호화할때는 오류전이가 발생하는데 복호화 할 때는 발생하지 않더라.

나) CFB모드에서의 암호화
하나의 평문을 여러개의 평문 블럭으로 쪼개고 그걸 각각 암호화함. 그럼 평문 블록이 암호화블럭이 되겠지. 그걸합쳐서 암호문 블럭을 만듦. 다같이 오류가 된다.
다) CFB모드에서의 복호화
암호문 블록을 여러개로 쪼갠 다음에 하나의 알고리즘으로 암호화 복호화를 함. 초기백터를 복호화하는 것이 아니라 암호화 한다는 점이다. * 복호화 할 때 복호화 함수가 아닌 암호화 함수를 사용한다.
오류가 퍼지지 않음. 암호문 블럭 1에서 문제가 발생하면 평문 블록 2에서만 영향을 줌.
-> 한단계 앞의 암호문 블록을 암호 알고리즘으로
라) CBC모드와 CFB모드의 비교
CBC모드는 XOR연산 후 암호화하고, CFB모드는 암호화 후 XOR연산한다.
4) OFB모드에서의 암호화와 복호화
가) 개념
하나의 알고리즘으로 암호화도 하고 복호화도 함.
오류 전이가 발생하지 않음.

나) OFB모드에서의 암호화
하나의 평문 블록을 여러개 평문 블록으로 쪼갬.
암호화 할 때는 마치 스트림 암호처럼 고속 연산 수행해 오류가 발생하지 않는다.(경험임. 왜는 없음. 그냥 해보니까 그랬음)
다) OFB모드에서의 복호화
암호화와 복호화가 같은 구조를 가지고 있음. 오류전이(오류전파)가 발생하지 않음.
5) CTR모드에서의 암호화와 복호화
가) 개념
하나의 블록을 여러개의 평문 블록으로 쪼갠 후 각각의 평문 블록을 암호화 하는 거임.
카운터(CTR): 버스 차장이 사람 탈 때 마다 하나씩 세던 그거.

나) CTR모드에서의 암호화
다) CTR모드에서의 복호화
암호화 알고리즘으로 복호화 하는거임. 서로 오류 전파가 발생할 거리가 없음.
라. 블록암호 공격
1) 차분공격: 선택적 평문 공격, 비트차이
2) 선형공격: 선형화
3) 전수공격법(무차별 공격): 모든 가능한 경우의 수
4) 통계적 분석: 통계적 자료
5) 수학적 분석: 수학적 이론
1) 차분공격: 선택적 평문 공격, 비트 차이
-> 선택된 평문공격법은 나중에 배울 것임. 평문에 해당하는 암호문과 공개키를 알 때 하는 거임. (나중에 배움), 중요한 건 비트의 차이
2) 선형공격: 선형화
곡선은 어려우니까, 선형으로 바꿔서 분석
3) 전수공격법(무차별 공격): 모든 가능한 경우의 수
4) 통계적 분석: 통계적 자료
전수 공격이 너무 무식해서 각 단어의 빈도를 찾아 통계적으로 접근
5) 수학적 분석: 수학적 이론
'정보보안기사 > 2024 최적합 정보보호론' 카테고리의 다른 글
| PART2. 보안과 암호 - SECTION 4. 대칭키, 공개키(비대칭키) 암호화 + 문제풀이 1(27~50) (1) | 2026.02.03 |
|---|---|
| PART2. 보안과 암호 - SECTION 3. 해커의 암호 공격 방법 + 문제풀이 (0) | 2026.02.02 |
| PART2. 보안과 암호 - SECTION 1. 암호학의 이해 (0) | 2026.02.01 |
| PART1. 정보보안 - SECTION2. 정보보호 대책 + 문제 풀이 (0) | 2026.02.01 |
| PART1. 정보보안 - SECTION1. 정보보호관리 (0) | 2026.02.01 |