1. 암호의 의의
2. 대칭키 암호
가. 개요
나. 대칭키를 이용한 암호화 복호화 방법
다. 대칭키 암호 시스템의 특징
라. 대칭키 암호 시스템의 장점
마. 대칭키 암호 시스템의 단점
바. 키 분배센터
대칭키 암호화 방식을 좀 더 편리하게 쓰자 키 분배 센터를 두고
A가 비랑 대칭키 통신하고 싶어.
내가 지금 대칭키 암호화 방식으로 통신할래
그러면 키 분배센터가 비밀키를 뮤 동시에 준
그걸 ㅁ가 받아서 비밀키를 받아다가 암호화 하고 B를 줌 그럼 B는 가진 세션키로 B 암호해석ㅇ함.
물론 얘도 키관리는 어려움. 그래서 안씀 ㅎㅎ;;
사. 대칭키 암호 종류
대칭키 암호 종류는 외우셈.(50p 표 있음.)
ARIA, SEED, HIGHT로 주로 나옴.
아래 순서는 개발 순서임.
이중 이데아는 유럽 나머지는 미국과 한국.
1) DES
가장 먼저 나왔음. 미국꺼. 라운드= 평탄화 하는거 16회
전치 = 위치 바뀜, 대치(치환) = XOR
3DES가 있음. feistel 방식이라 하나의 키로 암호화 복호화함.
2) AES
SPN 방식임. 블록 길이가 커짐에 따라 키의 길이도 가변임
P-box는 사다리타기 -> 표 보셈
--서브바이트: 혼돈화 카드 섞기, 평탄화 시킴.
-> 다른 문장으로 치환한 거임. 그래서 엔트로피(혼돈화)를 높임
-- 쉬프트로우: 행의 위치를 바꿔주는 것
-- 믹스컬럼: 혼합 -> 곱해서 새로운게 나오게 함.
-- 애드로우키: 기본 문장에서 새로운 키 워드를 베타적 논리합해서 다른 문장으로 만드는 것
https://youtu.be/1X-R1var9-k?si=UH9REPEixy5LlLlg
-> 시험에 나오지 않기 때문에 참고 유투브 자료를 첨부함.
마지막 라운드에서는 믹스컬럼 연산을 수행하지 않음.
복호화와 대칭성을 맞추기 위해서 마지막 라운드에서는 MixColumns가 생략
마지막 라운드: SubBytes -> ShiftRows -> AddRoundKey
이유는 복호화 과정에서 정확한 역연산(Inverse) 구조를 만들기 위함
복호화 첫 라운드만 다른 구조가 되어서 구현이 복잡해지고 비대칭 발생
이를 피하고 전체 구조를 간단하게 하기 위해 MixColumns를 마지막 라운드에서 생략
3) SEED
국산임. Feistel 구조임. 하나의 알고리즘으로 암호화도 복호화도 함.
4) HIGHT
국산임. 하이트가 만들어진 이유는 휴대폰에서 전자상거래 하는데 베터리를 많이 먹으면 안되겠지; 그래서 저전력용임.
Feistel 구조임.
5) IDEA
한국화 미국이 암호화 모듈을 만드니까 유럽에서도 만듦
영국 프랑스 스위스 독일... 유럽산임
6) RC4
7) RC5
RC4 업데이트 버젼임
8) ARIA
국산, 국정원에서 만듦.
하드웨어적으로 구현됨 -> 속도 빠름 -> 국내 기관
SPN 구조임
AES랑 유사함.
9) LEA
국산임
----
암호화 모듈 강국임 ㅎ. 북한 때문에 ㅎ... 약한 부분만 때리는 스파링 파트너가 있으면 강해짐 ㅎ;
아. 대칭키 암호 종류 비교
LEA는 패스
SEED는 DES에서 영향을 받음. 그래서 둘다 Feistel구조임.
ARIA는 AES의 영향을 받아서 SPN구조임(non Feistel)
왜인지 DES의 16라운드가 문제로 자주 출제됨...
3. 공개키(비대칭키) 암호시스템
가. 개요
디프헬만, RSA, DSA, ECC, 라빈, 엘가말
-> R로 시작하는 애들은 소인수 분해를 이용한다.
1) 비대칭구조임.
2) 복호화키(개인키)만 비밀로 간직
3) 키 관리를 쉽게 하고자 사용함
나. 공개키(비대칭키)를 이용한 암호화 복호화 방법
A는 A가 사용할 공개키와 개인키를 만듦,
B도 B가 사용할 공개키와 개인키를 만들고
공개키 레파지토리에 각자의 공개키를 보여줌. A는 이 공개키를 가져다가 A의 평문을 암호화시켜서 암호문을 만들고 이걸 인터넷을 통해서 B에게 줌. B는 자신이 가진 개인키로 복호화함.
그럼 평문이 나옴
-> 이게 공개키 암호화 방식
2) 송신자가 수신자의 공개키로 암호화를 하면 수신자는 자신의 개인키로 복호화함.
-> 키 관리가 용이함.
A는 로직을 돌려 A가 쓸 A의 공개키와 개인키를 만들고, B도 만들고, 각각의 공개키를 서버에 올림. 그리고 A는 자신의 평문을 B의 공개키를 가져다가 암호문으로 만들고 B에게 인터넷을 통해 보내고 B는 A가 준 암호문을 자신의 개인키로 복호화함.
반대도 그렇게 적용됨.
A의 개인키로 암호화 하면 A의 공키로 복호화가 됨 -> 이건 부인방지 할 때 씀. 이렇게 왔다 갔다 함.
--> 대한 숫자의 곱셈과 소인수분해라서 암호문과 공개키를 손에 넣었다고 해서 역산으로 개인키를 뽑아낼 수는 없음.
다. 공개키 암호시스템의 장점
1) 키관리 용이
2) 확장성(부인방지), SET(비자카드), 전자서명
3) 인증과 부인방지(오리발 놉)
- 송신자의 개인키(인감도장)로 암호화 후 송신자의 공개키로 복호화
4) 범용적 사용 가능
라. 공개키 암호 시스템의 단점
1) 대용량 파일 암호화 하는데 오래 걸림.
2) PKI: 공인인증서
마. 기반 알고리즘
가) 소인수분해(인수분해) 기법
EX) 130 자리의 숫자를 소인수분해하슈......... 이걸 1600대의 컴퓨터를 활용해서 풀면 1개월 걸림 희희
이걸 일방향 함수라고 함.
나) 이산대수 기반
-> 웅.. 취업하고 공부하자...^^............

18 <- 5^12 mod 23
5의 12제곱을 23으로 나누면 나머지가 18임. -> 모듈러 연
여기서 12를 찾는게 이산대수 기반 알고리즘임.
디프헬만: 원시근의 개념을 씀
17의 원시근에는 3이 있다. 1부터 16까지 하나씩 얘를 모듈러 연산을 해봄.
-> 값이 1부터 16까지 다 나오는 것 = 원시근

디프헬만이 원시근을 씀.
(2) DSA, KCDSA. ECC, ElGamal
R로 시작하는게 소인수분해(RSA, Rabin)
ECC는 이산 대수에서 타원 곡선을 이용함 -> 베터리 아낌.
-> 빠른 속도와 제한된 대억폭을 이용하기 위함임.
바. 공개키(비대키칭키) 암호 종류
소인수분해를 쓰는건 R로 시작하는 애들,
ECC는 타원 곡선을 씀
1) 디프헬만
최초의 공개 키 암호 알고리즘으로 디피랑 헬만이 만듦...ㅎ...
지금은 쓰면 안됨. 중간자 공격(MITM)에 취약함
공통의 비밀키 = 개인키
엘리스와 밥이 있음. 둘이 디프헬만 방식을 쓴다고 가정하자.
소수(P)와 원시근(G) 생성. 그리고 본인이 선택한 숫자를 밥에게 알려줌. A는 로직을 돌려서 A가 사용할 개인키를 선택함.
그런 다음 원시근 G^A mod P을 해서 A의 공개키를 만들어 B에게 보냄. B도 같은 방식으로 해서 A에게 보냄.
그리고 각자의 공개키를 다시 P로 모듈러 연산G^AB mod P를 하면 개인키가 됨.
근데 공개키랑 비밀키랑 섞여있음.
디프헬만 안쓰는 세상이라 문제를 안내는게 보통이긴 함...ㅎ...
그러니까 공식만 좀 외우렴~
2) RSA
공개키의 표준임 (디프헬만 못쓰니까 ㅎㅎ;;)
RSA는 소인수분해임. 소수가 나올 때까지 인수분해하는 것
걍 있구나 하고 잊어도 됨.
-> 나중에 관심 있으면 배우렴~
3) DSA
가) 개념
세 개의 숫자가 주어진 후 우수(^n 부분)을 구하는 것
나) DSA 공개키 방식을 응용한 알고리즘
(1) KCDSA (Korean ~)
(2) ECDSA (
(3) ECC
타원곡선 상, RSA보다 전자서명 생성 속도가 빠름. 핸드폰처럼 처리 능력이 제한된 임베디드 플랫폼(밥솥 전용 컴퓨터, 선풍기 전용 컴퓨터 등... 초 저성능 컴터..)에서 쓰기 위함.
(4) ElGamal
이산대수
4) Rabim
소인수 분해
성능이 낮은 플랫폼에서도 쓸 수 있음 Ex) 스마트카드(마그네틱이 달린거)
버스카드는 베터리가 없음. 카드 테두리에 안테나가 있음. 정류 안테나인데, 리더기가 쏜 전파를 받아다가 전파를 전기로 바꿔서 연산 한 다음 전기로 쏴주는거임. -> 이게 RFID 기능.
소련이 개발함. 개발해서 미국한테 장식품을 우정을 선물로 줌(근데, 그 선물이 RFID 기술을 씀;) 나중에 영국이 소련의 무선 도청 감청하니까 미국 이야기임; 그래서 미국에 알려주고 들키게 됨. 이게 되네!
https://www.donga.com/news/Opinion/article/all/20250512/131589899/2

사. 기타
-> 생략~
아. 공개키(비대칭키) 종류
디프헬만(MITM에 취약), RSA, DSA, ECC, Robin, Elgamal
R로 시작하는 건 소인수 분해
우리가 할 일은 CCTV, 통합관제센터에 둘 업체 선정하는 게 우리 일임. 그를 위한 회의를 할 때 무슨 말을 하는지 알아들어야 해서, 방화벽 같은거 운용할 때 사람이 만든 프로그램이라 오류가 있을 수 밖에 없지? 니가 쓰는 방화벽 버튼 이거 누르니까 여기서 오류가 생기더라~
우리가 미국으로 AS보내면 그걸 인도로 보냄. 그럼 인도사람이 AS하다가 문의를 우리나라로 함;; 그걸 다 고치면 미국에 보내고, 미국에서 한국으로 보냄. 실제로 관리하는 사람은 미국인임... ㅎ..;;
종종 이상한 사람들이 문제로 냄... 디프헬만 문제...
중간자 공격(MITM)이란,
공개키 암호화 방식을 써서 가능한거임. 공개키 암호화 방법에서 본인이 각가 ㄱ자신이 쓸 공개키와 개인키를 만듦 그거 ㄹ 인터넷에 올림. 근데 인터넷에도 해커가 있음. 래커도 공개키 암호키가 있음. A는 B에게 뭘 주려면 B의 공개키를 가져다가 암호화함. 근데 그 해커가 B의 공개키가 아니라 해커의 공개키를 넘겨버림. 그럼 해커의 개인키로 복호화가 되겠지. 내용보니 얘네 10억에 입찰하네 난 11억에 입찰해야지. 그리고 B의 공개키로 해커가 암호화 해서 넘김. 그걸 B가 개인키로 열음 -> 으잉 100억? 넘 비싸넹. 이런게 중간자 공격임.
4. 대칭키와 공개키 비교
그냥 표를 보셈 ㅎ;
대칭키는 비밀키를 만들어서 그걸로 암호화하는거고
공개키는 키를 두갤 만들어서 수신자의 공개키로 암호화하고 복호화는 개인껄로 함.
대칭키는 대용량 데이터 암호화에 쉬움.
ㄱ공개키는 키관리가 용이해서 전자상거래에 씀.
단순하면 빠르고 구현이 용이함(대칭키)
공개키: 키관리 용이, 부인방지(송신자의 공개키로 암호화+송신자의 개인키로 복호화: 인감도장 같은 느낌인거임.)
대칭키: 키관리 어려움 키 수는 n(n-1)/2
공개키: 연산속도가 느림(근데 요즘 하드웨어 빨라서 걍 씀 ㅎ) 2n
5. 대칭키와 공개키(비대칭키) 방식 비교
가. 공개키(비대칭키) 방식이 대칭키 방식보다 키 관리가 쉬운 이유
1) 대칭키 방식의 키 관리(KDC 이용: 키 분배 센터)
사용자가 많으면 키 분배센터에 말함. 나 B랑 통신할건데, 키좀 조. 그럼 A와 B에게 비밀키를 줌.
근데 손님이 1만명씩되면 쓸 수 없음. 수가 너무 많아짐. 근데 이거 군대에선 씀 ㅎ;
2) 공개키(비대칭키) 방식의 키 관리
각각의 개인키과 공개키를 만들어서 레파지터리에 올림. A가 10만원 결제하면 B의 공개키로 암호화해서 B에게 넘김. 복호화는 B의 개인키로 복호화함. 그래서 공개키 암호화 방식이 키 관리가 용이함. 개인키 잃어버리면 난리남~
개인키 잃어버린 암호화폐 거래소... 근데 이게 개인키를 잃어버린거겠니, 돈 주기 싫어서 그런거겠니~ ㅎㅎㅎ
https://zdnet.co.kr/view/?no=20191112104046
[단독]비트코인 개인키 잃어버린 암호화폐 거래소, 결국 파산 선고
암호화폐 거래소 코인빈이 파산 선고를 받았다. 올해초 내부 직원이 암호화폐 보관 계정에 접근할 수 있는 개인키(프라이빗키)를 분실하면서, 현재 시세로 60억원 규모 암호화폐가 묶이는 사고
zdnet.co.kr
해시함수를 테스트 할 수 있는 사이트, 뭔가 바뀌었는지 아닌지만 확인하는게 해시함수임. 스페이스바 하나 점 하나 바뀌면 해시값이 달라짐. 그거 알기 위해 쓰는거임. -> 무결성을 체크하는데 씀
나. 공개키(비대칭키) 암호화 방식에서 부인방지 기능 제공 방법
1) 부인방지 서비스 제공 방법
공개키니까 공개키와 개인키 에이의 공개키와 개인키 비의 공개키와 개인키를 만듦 그리고 레파지터리에 공개함.
A의 평문을 B에게 줘야하니까 암호화함. -> 전자서명 생성정보
그리고 A의 평문을 해시함수로 돌리면 해시값이 만들어짐. -> 짧은 메세지 다이제스트
이제 부인방지를 해야함. A가 인감도장을 찍는건 A의 개인키로 해시값을 암호화함. -> 해시 후 암호
그리고 두갤 묶음. -> 전자서명 검증정보
이걸 B에게 보냄, 암호문은 B의 개인키로 복호화함. 해시값은 A의 공개키로 복호화-> 부인방지(A의 공개키로 복호화가 됐다는 말은 A만이 가지고 있는 A의 개인키로 암호화 했다는 말임.)
전자상거래는 무결성이 중요함. 10만원결제했는데 중간에 100만원이 되면 안되잖아.
무결성 체크는 평문을 가지고 해시값을 만들어봄. 내가 만든 해시값과 내가 받은 해시값이 같으면 무결성 보장
송신자의 개인키로 암호화 = 서명
송신자의 공개키로 복호화 = 부인방지
2) 송신자 인증 및 부인방지
이게 학문이 아니라 엔지니어링이라 종류가 많음.
송신자 인증 부인방지, 공개키 암호화 방식에서 해시값을 송신자의 개인키로 암호화하고 송신자의 공개키로 복호화.
여러사람이 있어도 각각의 공개키로 복호화가 되면 부인방지가 됨.
6. 하이브리드 방식(대칭키, 공개키(비대칭키) 혼합)
가. 개요
내가 보내야하는게 다량의 문서야.
다량의 데이터는 공개키 방식으로 하면 효율이 안좋음.
대칭키와 공개키를 짜ㅁ뽕한거 대용량의 파일을 보낼땐 대칭키 방식, 키 관리는 공개키 방식으로 함.
나. 하이브리드 방식
엘리스와 밥이 있고, 엘리스에게 대량의 문서가 있음 이걸 앟호화해서 B에게 줘야함.
A의 공개키와 개인키를 만들고 B도 B가 사용할 공개키와 개인키도 만듦. 근데 A는 비밀키도 하나 더 만듬
공개키는 서로 공개, 그리고 A의 비밀키로 다량의 문서를 암호화함. -> 이게 더 유리함. 다량일 땐
그리고 비밀키를 암호문에 붙임. 그리고 b에게 보내기 전 A의 비밀키를 B의 공개키로 암호화함.
그 다음에 암호문과 비밀키를 묶고 B에게 보냄. B가 받아서 개인키로 A의 비밀키를 복호화해서 문서의 암호문을 풂.
송신자 A가 A의 공개키, 개인키, 비밀키(대칭키)를 만듦.
7. 해시함수
가. 개요
5를 4로 나누면 나머지가 1 -> 모듈러 연산 13도 21도 33도 나머지가 1임.
나머지 1 만드는 건 쉬움. 나머지 1에서 f = {x/4의 나머지} f의 값을 구하는 것은 어려움.
해시함수라고 하는 건 , 입력값을 고정길이의 해시함수 값으로 바꾸는 일을 할 수 있음.
점이나 스페이스바 한 번 누르면 해시값 바뀜. 이게 해시함수: 일방향성임(한쪽만 풀이 쉬움)
출력값의 크기가 고정되어 있음. 입력값이 짧던 길던, 사용자가 원하는 길이의 출력값이 나옴.
비트코인을 이 방식을 쓰는데,
임의의 값을 해시값으로 고치면 dffhjgkdhfghdfkghkfjd이런식으로 뜨겠지.
경우의 수가 나오면 채굴 된거임. 초창기에는 0000이 연속으로 나오면 비트코인이었음.
오늘날엔 0000000000000000이 해시값으로 나와야 비트코인임. -> 000000000000000을 뽑는게 더 비쌈 ㅎ;
고정길이 값을 메시지 다이제스트라고 부름.
평문을 해시함수를 돌려서 고정길이 해시함수가 나옴. 이렇게 나온 암호문을 받은 사람이 똑같은 해시함수로 돌렸을 때, 내가 받은거랑 내가 돌린거랑 같으면 무결성 체크함
나. 해시함수의 대표적 특징
1) 압축 및 고정길이
2) 계산용이성 및 확장성
일방향성임.
3) 일방향성
문제는 쉽지만 역풀이는 어려움
스페이스바 한 두개 차이로도 달라짐.
4) 메시지가 다르면 해시값도 다르다 (충돌저항성)
메시지 1과 2를 해쉬함수로 만들었는데, 만든 해시값이 똑같으면 충돌났다고 함.
해쉬함수에 문제가 있거나 해쉬함수의 길이를 짧게 하면 충돌할 수 있음.(경우의 수가 몇 개 안되니까)
그래서 메시지의 크기가 어느정도 있어야 함.
h(m')=H, h(m) = H
메시지 m'을 해시함수h로 돌려서 나온 값 H
메시지 m을 해시함수h로 돌려서 나온 값 H
이면 충돌
다. 해시함수의 보안 요구사항: 해시함수가 가져야 하는 성
1) 역상 저항성(프리 이미지 저항성, 약 일방향성) -> 용어 통일이 안되었음
연어가 강물을 거꾸로 올라가는 것. 고정길이의 해시값을 가지고 메세지를 만드는 것
이 행위는 불가능 함.
2) 제2 역상 저항성(제2 프리 이미지 저항성,약한 충돌내성, 강 일방향성)
h(m) =H, h(m) =Ha인 상황 -> 해시값 오류: 해시함수 고장임;
h(m')=H, h(m) = H인 상황도 포함 됨.
-> 해시 함수를 너무 짧게 셋팅하면 그게 나올 수 있는 경우의 수가 몇 없음.
쉽게 말해서 5로 나누어 나오는 나머지의 겹침이 28732895725729347823957923로 나누어 나오는 나머지 겹침보다 많지.
3) 충돌 저항성(강한 충돌내성, 충돌 회피성)
제2는 하나의 값을 주고 같은 값을 찾는거고
충돌 저항성은 임의의 값을 두개를 놓고 같은 해시값을 찾는 것임.
뒷장 tip은 읽어보셈.
라. 해시함수의 종류
SHA -512, HAVAL정도 씀.
1) 기타 해시함수
가) HAS-160
국산
마. 해시함수 특징
1) 입력값의 길이는 다양
2) 입력값이 가변이더라도 출력값은 고정되어야 함.
3) 해시값의 결과로 메시지를 찾는 건 어렵다 = 역상저항성
4) 동일한 해시값.. = 충돌저항성
5) 주어진 해시값.. = 제2역상저항성
6) 메시지가 서로 다른걸 찾음.
7) 해시값의 값이 너무 작으면 충돌 발생
바. 해시함수를 공격하는 방법
1) 생일공격
가) 생일 역설
한 반에 60명 65명이었는데, 잘 보면 생일이 같은 학생이 나올 확률은 적은데, 의외로 있더라. 이게 생일 역설임.
생일 공격 네개 중 하나를 찍으면 25%인데,
나) 생일 공격
일방향 해시함수에 강한 충돌 내성을 깨고자 하는 공격
2) 재전송 공격 = 재연공격
가) 개념
인터넷이 있고 송신자-인터넷-웹서버가 있음 인터넷에는 해커가 있음.
a가 서버에 로그인하려고 패스워드를 암호화함. 이걸 보내서 로그인함. 해커는 암호문을 낚아 채서, 암호문 째 서버에 넣어서 로그인함.
그래서 순서번호나, 타임스템프 등을 ㅇ;용함.
나) 재전송 공격 방지 방법
1. 순서번호: 시퀀스 번호
2. 타임스템프: 시간 보냄
3. 비표
4. 시도응답
사. 해시함수의 응용
공개키 방식이 중간자 공격에 취약해서 나온게 PKI임.
공개키를 공인인증서로 보호하자.
이 PKI를 활용한게 전자서명과 셋임(나중에 뱅움)
전자서명의 핵심은 무결성+부인방지
특징이 기밀성, 암호화를 안 시킴. 속도 때문에
공개키에서 암호화하려면 수신자의 공개키를 가져다가 암호화해야함.
전자서명은 암호화 안함. 마트에서 빵사고 우유사는거 보호해서 뭐할거임. 10만원만 지키면 되지;
SET은 마스터카드 비자카드 국제 카드사가 만든 기술인데 좋으니까 국제 표준으로 함.
인증에서 A-인터넷-B인데,
B가 A가 진짜인지 모름; 그걸 해소하는게 인증임. 보통 ID와 패스워드로 인증함.
1) 개요
2) MDC
가) 개념
부인방지 기능 제공 안함 그래서 사람들이 잘 안씀
해시함수만 이용하니까 무결성임 -> 안씀;
참고만 하셈
나) MDC 과정
데이터가 바뀌었는지 아닌지만 봄
내가 받은 해시값과 내가 만든 해시값이 같은지 보는거임
3) MAC
가) 개념
해시와 비밀키를 이용함.
대칭키 방식임
메시지가 있음. 비밀키를 만듦 그런 담에 비밀키 방식을 서로 키를 교환해야함 VPN이나 SSL솔루션으로 신뢰성 있는 채널로 키값을 서로 공유함.
그러고 평문을 해시함수를 만드는데 키값도 같이 넣어서 MAC값을 만듦(Tag) 그걸 인터넷으로 보내고 B가 키값으로 평문을 해시값을 (MAC)값을 만듦. 이렇게 나온 맥값이 같은지를 체크해서 무결성 체크함.
나) MAC 특징
다) MAC을 이용한 무결성 확인 과정
암호문을 해시값으로 하는 방법도 있음.
라) 메시지의 무결성 확인
마) MAC을 이용한 무결성 확인 과정의 다른 방법
바) 제공 서비스
사) 해시함수와 비교
아) 문제점
비밀키라 키 공유해야하는데 불편해서 잘 안씀.
공개킬를 써야 ㅂ부인방지를 하는데, ㄷ대칭키가 부인방지가 안됨.
4) 전자서명
가) 개념
디지털 서명도 같은 말임.
PKI를 이용했음. 이걸 쓴 이유가 공개키 방식임.
전자상거래는 공개키 방식을 사용함.
문제풀이(강의에만 있음)
문3)
ECC 타원곡선암호 = 휴대폰에서 쓰려면 베터리아껴야함.
RSA 소인수분해
문4)
암호문 단독 공격
기지평문 공격: 평문 일부 앎
선택 평문 공격: 암호기에 접근 가능, 평문에 대한 암호문과 공개키 알 때
선택 암호문 공격: 암호문에 해당하는 평문을 알 때
암호알고리즘은 다 앎.
문제풀이
27. 공개키 암호화 방식 묻는거임.
마. SEED 대칭키 암호화방식 -> 키관리랑 관계 없음
28. ★
29.
30. ★
31.
DES 대칭키 암호화 방식
DES 는 16번 섞는거임. 16라운드임.
32.
AES는 SPN 구조임.
페이스텔 : 암호화 알고리즘과 복호화 알고리즘이 하나인 것
SPN: 암호화 알고리즘과 복호화 알고리즘이 따로 있음.
33.
34. 걍 쿨하게 틀리셈 ㅎ;
AES는 SPN 구조임.
35.
AES는 맨 마지막 라운드에서 믹스컬럼연산 수행 안함.
대칭성을 맞추기 위해서 장점이 전체 구조가 간단해 짐.
36.
A로 시작하면 SPN임
A/S
37. ★
열단위 행렬 곱셈 = 믹스컬럼
38.
맨 마지막 라운드는 믹스컬럼 수행 안함. 대칭성 맞춰야 하거든.
39. ★
40.
페이스틀 = 대칭키
공개키 = RSA, 디프헬만
A/S = AES 뺌.
DES는 페이스틀 구조
41.
AES는 SPN구조임.
42.
국산 씨드 하이트 (페이스틀)
아리아(SPN구조)
43..
대칭키는 다 블록방식임.
이데아는 유럽거임.
44.
국내는 시드 하이트 아리아
45. 틀리셈 걍 ㅎ
46. 소인수분해 = 공개키 = R로 시작하면 인수분해
RSA, Rabin
47.
DES 대칭키
라빈, 디프헬만, ECC = 공개키
48.
스마트폰 = AES
AES 베터리 덜 먹음 희희
49.
가. 공개키가 대칭키 보다 긺.
나.
다. 암호화 키만 공개고, 복호화키는 비공개(개인키)
라.
마. ECC는 타원곡선 = 공개키
50. ★
아리아는 블록 크기가 128/192/256임.
51.
이데아 = 키의 길이 128비트, 대칭키 암호화 방식
52.
AES = 블록의 크키 128, 키길이 128/192/256비트
53.
국산 경량 = 아리아
54.
AES = 블록의 크기 128, 키길이 128/192/256비트
55.
56.
57. 비대칭키 = 공개키
58.
59.
공개키 디프헬만, RSA, DSA, ECC,라빈, 엘가말
60.
디프헬만은 공개키가 아니냐 논란이 조금 있음. -> 키 교환을 해서 메시지를 구하는 방식이고 나중에 함.
상호 인증은 아님.
디프헬만은 이산대수임.
61.
공개키 디프헬만, RSA, DSA, ECC,라빈, 엘가말
62.
디프헬만은 엘리스와 밥이 있을 때 엘리스가 소수P와 원시근G을 선택함.
그리고 A가 난수를 생성함 1<내가 선택한 소수보단 작음. -> 개인키 역할을 함.
밥도 임의의 숫자를 정함.
G^A mod P = A의 공개키 -> A의 공개키를 B에 전달
G^B mod P = B의 공개키 -> B의 공개키를 A에 전달
각각 G^AB mod P = G^BA mod P 하여 공통의 비밀키를 생성함
소인수분해는 A/S
중간자 공격에 취약함.
난수 노출되면 해커가 옴뇸념함.
63.
ECC 베터리 절약
패스워드 무작위하는거보다 패스워드를 중근을 잡는게 연산 수를 줄임
이산대수, 짧은키를 이용한 보안, 임베디드와 같은 경량 플랫폼용
64.
RSA보다 짧음 = ECC
65.
66.
소인수분해 = RSA
67.
디프헬만 = 중간자 개입 공격(MITM: 맨 인 더 미들 어택)에 약함.
A가 B의 공개키를 가져갈 때 B의 공개키 인 척 해커가 본인의 공개키를 보내고,
A가 그걸로 암호화하면 해커가 줏어서 지가 복호화하고
복호화한걸 다시 B의 공개키로 암호화해서 B에게 보냄~
68.
RSA 소인수분해, 비대칭키, 부인방지, 키 분배, 전자서명(부인방지)
AES = 대칭키
69.
RSA
소인수분해 = 매우 큰 소수 사용
공개키 특: 암복호 과정 계산량 많음.
공개키 = 개인 인증서 사용 ㅇㅋ
디지털 서명에 사용 ㅇ
키 교환해야하는 불편함은 ㄴ대칭키
70.
속도: RSA(비대칭키) < 대칭키
71.
다.
라는 배낭문제인데... 모르겠넹~
72.
RSA = 소인수분해
73.
74.
75. 디프헬만-> 엘가마
76.
77.
이산대수 디프헬만, 엘가말
타원곡선 ECC
소인수분해 RSA,Rabin
78.
79.
80.
81.
대칭키 키 갯수 n(n-1)/2, 공개키 키 갯수 2n
82.
대칭키 키 갯수 n(n-1)/2, 공개키 키 갯수 2n
83.
84.
서명 = 나의 인감도장 = 개인키
암호화는 수신자의 공개키
나의 개인키로 암호화 한걸, 남의 공개키로 암호화하고 이걸 보내면 남이 자기 개인키로 복호화하고, 내 공개키로 복호화함.
A, B의 공개키 개인키
평문에 해시값 넣음 -> 전자서명 생성 정보 : 짧은 메시지 다이제스트
평문을 암호화(B의 공개키) -> 암호문
A의 개인키로 암호화한 햇값 -> 해시후 서명 방식
암호문+해시후 서명 방식 = 전자서명 검증정보
전자서명 검증정보를 B에게 보냄,
B는 암호문을 자신의 개인키로 복호화하고, 해시 후 서명된 것을 A의 공개키로 복호화함. 그렇게 나온 짧은 메시지 다이제스트(해시값)가 같으면 부인방지가 된거임. 복호화한 평문의 해시값과 짧은 메시지 다이제스트이 해시값이 같으면 무결성 보
85.
대칭키는 오직 암호화만 임.
86.
87.
해시함수 = 무결성
88.
메세지를 AB간의 공유 비밀키로 암호화하고, B의 공개키로 AB의 공유 비밀키를 암호화하고 이 두개를 하나로 묶음.
89. 또 안나올겨 ㅎ
90. 출력 고정해시값은 하나 셋팅되면 해시값의 길이는 일정해야함.
91.
해시함수 보안 요구사항
역상 저항성: 해시값을 가지고 원본을 볼 수 없음.
제2 역상 저항성: 입력값 같은데 출력값이 다르면 안됨, 임의의 m1과 해시함수가 같은 m2를 찾는 건 불가능
충돌저항성 오류: 둘 다 모르는데 입력값이 둘이 다른데 결과 값이 같음.
92.
데이터의 암호화를 사용하는건 대칭키 암호화 방식이나 공개키 암호화 방식임.
해시는 오로지 무결성체크임. 복호화 안됨.
해시함수는 일방향임.
93.
94.
95.
해시함수는 MD5,SHA-1, RIPEMD-160, SHA-2, HAVAL
대칭키 DES,AES, SEED, HIGHT, IDEA, RC5, ARIA
공개키 디프헬만,RSA,DSA,ECC,Rabin,ElGamal
96.
기본적으로 해시 길이는 고정길이임.
라. 고속이 필요하면 하드웨어, 고정이 필요하면 소프트웨어
97.
해시함수 빨라야함.
98.
다. 입력값은 무한대임.
라. 출력길이가 256비트라 SHA-256임.
99.
100.
제 2 역상 저항성 : 주어진 메시지 ㅇ
충돌 저항성: 주어진 메시지 ㄴ
101.
102.
103.
104. 해시 값에 대한 해시 함수의 입력 메시지를 찾는 것이 불가능한건 역상저항성임.
105. 사전 공격: 사람들이 쓰고 있는 비밀번호를 모음. 그걸로 넣어봄.
107.
108.
109.
110.
MD-5,SHA-1은 쓰지 마슈...
111.
SHA-1은 160비트
112.
복호화 안됨.
113.
재연: 중간에 낚아채서 암호화를 서버에 넣음 -> 막으려고 넘버링 하거나 타임스탬프 넣음.
변조는 능동적 공격인 스푸핑임.
114.
전자서명은 무결성과 부인방지가 핵심기능임.
115.
메시지 인증 코드는 해시함수에 MAC가 메시지 인증 코드임. 무결성+ 발신자 인증 ㅇ, 부인방지 x
나. 대칭키 씀,
다. 고정크기임.
116.
117. 무시
118.
MAC = 대칭키 암호화 방식임.
119.
의사난수 생성기는 무결성이랑 상관
120.
121.
맥은 해시값을 만들 때 해시함수와 비밀키를 이용함.
122.
해시값은 그냥 글 쪼가리임. 그래서 nones나 타임스탬프 등을 넣음
'정보보안기사 > 2024 최적합 정보보호론' 카테고리의 다른 글
| PART2. 보안과 암호 - SECTION 6. 전자상거래 보안 (0) | 2026.02.04 |
|---|---|
| PART2. 보안과 암호 - SECTION 5. 전자서명과 공개키 기반 구조 (PKI) (1) | 2026.02.04 |
| PART2. 보안과 암호 - SECTION 3. 해커의 암호 공격 방법 + 문제풀이 (0) | 2026.02.02 |
| PART2. 보안과 암호 - SECTION 2. 암호 기법의 분류 (0) | 2026.02.02 |
| PART2. 보안과 암호 - SECTION 1. 암호학의 이해 (0) | 2026.02.01 |