공개키 암호화 종류

구분 특징 수학적배경 장점 단점
디피
헬만
- 최초의 알고리즘
- 키 분배전용
(사실 키 분배가 아니라 각자 계산하여 같은 값을 사용하는 것)

- 공개키와 개인키로 대칭키를 만듦
이산대수
문제
- 키분배에 최적화
- 키는 필요시에만 생성
(키 저장 불필요)

- 비밀키가 노출되더라도 세션키의 안전성에는 영향을 미치면안됌.
- 암호모드 불가(인증불가)

- 위조에 취약 (신분위장)
RSA - 대표적인 공개키 알고리즘 소인수분해
문제
- 여러 Library 존재
-신분 위장공격방어
컴퓨터 속도의 발전으로
키 길이 증가
DSA - 전자서명 알고리즘 표준 이산대수
문제
- 간단한 구조
yes, no
의 결과만 가짐)
- 전자서명에 사용

- 암호화, 키교환 불가
ECC - 짧은 키로 높은 암호 강도
- PDA, 스마트폰, 핸드폰
-
무선에서 많이 사용
타원 곡선 - 오버헤드 적음
- 160= RSA 1024
- 키 테이블(20 Kbyte)필요

알고 가야 할 개념

유한체(Finite Field)? 집합에 속해 있는 원소의 수가 한정되어 있으며, 덧셈, 곱셈 연산에 대하여 닫혀 있는 집합. 닫혀있다 라는 의미는 '덧셈, 곱셈의 연산 결과 또한 집합에 속해있다' 라는 의미
**
이산대수의 난해함 : Y=ax mod b에서 Y,a,b를 알지만 x를 구하는건 어렵다.

 

수학적 방법에 따른 공개키 암호화 알고리즘

1. 소인수분해(큰수의 소인수분해는 어렵다) : RSA (공개키), Rabin Encryption

 

2. 유한체의 이산대수 : Diffie – Hellman, Elgamal (공개키), XTR

디피 헬만(대칭키) --> Elgamal(공개키, 전자서명, 느리고, 키도 길고 별로임) --> DSS (=DSA, 전자서명)

 

3. 타원곡선의 이산대수 : ECC ( Elliptic Curve Cryptosystem ) ( 공개키 )

  • RSA의 대체, 공개키 암호화 방식
  • 짧은 암호키이지만 동일한 성능을 갖는다 ( 사양이 낮아도 성능 유지 가능 )
  • 3072bit RSA == 256bit ECC 성능 동일
  • 키 길이가 짧다 = 열악한 환경에서도 사용 가능 = 무선 환경과 같은 환경에서 쓰기 좋다
    1) 디지털 서명 용도 : ECDSA  
    2) 키교환 용도 : ECDH
    3) 난수 생성 용도 : Dual-EC_DRBG
    4) 암호화 / 복호화 용도 : EC-KEM, EC ELGamal, Massey-Omura, Menezes Vanstone


4.
부호 이론(Coding Theory) : McEliece


5.
배낭문제 : Knapsack 암호

 

6. NTRU (격자이론) : braid-group, Cryptosystem (매듭이론)

키 분배 방식 해결

사전에 키 분배 키 공유 키 분배
Bloom 방식 중앙집중식
공개키 분배방식 == KDC
디피 헬만, Matsumoto-Takashima-Imai, Okamoto-Nakamura Needham-Schroeder,
Diffie-Hellman, RSA

 

RSA, DSA의 차이

- RSA 검증이 더 빠름

- DSA 키 생성이 더 빠름

- RSA는 전자 서명시 원문 메시지가 필요

- RSA는 원문을 개인키로 암호화해야 서명이 가능하다..

반응형

'보안&네트워크 > 보안' 카테고리의 다른 글

무선랜 보안 프로토콜  (0) 2026.03.04
블록암호화 공격 기법  (0) 2026.02.24
Meltdown & Spectre  (0) 2026.02.23
블록암호화  (0) 2026.02.22
FTP Bounce Attack  (0) 2026.02.21

무선랜 보안 프로토콜

0. WAP ( Wireless Application Protocol )
(응용 세션 거래 보안 전송)

: 무선환경 프로토콜, 주 언어는 WML ( Wireless Markup Language )
:
제한된 능력을 갖는 이동 단말기에 적합
: CDMA
초창기에 PDA 등에서 사용한 것으로 BREW, J2ME, WIPI에서 사용한 것

WAP 동작원리

1. 클라이언트는 WML로 할당된 무선장비를 이용

2 . WAP 프로토콜을 이용해 WML 요청을 WAP게이트웨이로 보냄

3. WAP게이트웨이는 WML요청을 HTTP로 변환하여 서버로 전송

4. 서버는 HTTP요청에 대한 응답을 WAP게이트웨이로 보냄

5. WAP게이트웨이는 클라이언트로 전송
 
: *** WAP2 --> WML 대신 XML을 사용

1. WAE ( Wireless Application Environment ) - 응용

: 응용 프로그램 별 마크업 언어를 정의, 마이크로 브라우저가 있는 계층
: WML ( Wireless Markup Language )
WML Script가 있다.

2. WSP ( Wireless Session Procotol ) - 세션

: HTTP 1.1에 상응하는 기능을 가짐.
: HTTP
를 가진 요청을 전송 가능(게이트웨이가 WMLHTTP로 변환하여 서버로 전송)
:
장시간 활용하는 세션을 정리, 세션 관리를 위해 Suspend/Resume 기능 & 프로토콜 협상
:
좁은 대역 폭과 대기시간을 최적화하기 위한 프로토콜

3. WTP ( Wireless Transaction Protocol ) - 거래

: 비동기 트랜잭션을 지원한다. (신뢰할 수 있는 요청 및 응답을 제공)

4. WTLS ( Wireless Transport Layer Security, 무선용 TLS ) – 보안

: 데이터 무결성, 암호화, 인증 역할 담당(공개키 암호화 기반 보안 매커니즘 제공.)
:
데이터그램 서비스 상위에서 동작

5. WDP ( Wireless Datagram Protocol ) - 전송

: 포트번호를 기준으로 데이터를 전송할 수 있게 함.

 

https://itsaessak.tistory.com/148#recentComments

반응형

'보안&네트워크 > 보안' 카테고리의 다른 글

공개키 암호화  (0) 2026.03.05
블록암호화 공격 기법  (0) 2026.02.24
Meltdown & Spectre  (0) 2026.02.23
블록암호화  (0) 2026.02.22
FTP Bounce Attack  (0) 2026.02.21

Single User Mode로 들어가야함

(init 1이랑 같은데 비번 까먹어서 못들어가니까 바이오스로 가는거임)

  • 부팅 시 3, 2, 1 초 가기 전에 아무거나 누르면 바이오스로 들어가짐 
  • e(에딧) 누르기 (kernel 문자 붙은 녀석 선택)
  • 문자 맨 뒤에 quiet뒤에 single 붙히고 엔터누르고 나가서 b(부팅) 누르기
  • 그럼, 관리자로 들어감(#이 붙음->로그인안해도 관리자로 들어가짐 , $= 일반사용자)
  • 이제 비밀번호 파일 접근 하기(vi /etc/shadow)
  • shadow 접근하면 맨위에 root라고 나옴. 그게 사용자 아이디와 암호화된 비밀번호임
    ex ) $6$wfhwiofhiowefheiho 이런식으로 나옴
  • 6이 아이디이고 다음 콜론까지 모든 글자가 비번임 -> 비밀번호 지울수있음
  • 비밀번호 지운 후 wq! (느낌표 필수) 저장

비밀번호 변경하고 싶으면

  • passwd 
  • 엔터
  • 비밀번호 입력
반응형

'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글

레지스트리 루트키 설명  (0) 2026.03.02
Sha 해시 함수  (0) 2026.03.01
RSA (공개키 암호 알고리즘)  (0) 2026.02.28
리눅스 로그(log)  (0) 2026.02.27
Diffie-Hellman (디피헬만)  (0) 2026.02.27

HKEY_CLASSES_ROOT

- 파일의 확장자 연결 정보, OLE 데이터 정보, 파일과 프로그램 간의 연결 정보

HKEY_CURRENT_USER

- 현재 로그인 된 사용자에 대한 설정 정보

HKEY_LOCAL_MACHINE

- 사용 중인 드라이버 정보, 프린터, USB 등과 같은 하드웨어 정보

HKEY_CURRNET_CONFIG

- 현재 사용 중인 윈도우 디스플레이 정보, 폰트정보, 프린터 정보 등의 설정 정보

반응형

Sha 해시 함수

반응형

RSA

소인수 분해의 어려움을 이용

무슨 말이냐면 소수 11 과 13이 있을 때 n=pq --> 143=11*13 라고 하면
p
q를 이용하여 n을 구하는 것은 쉽지만, n의 값만 보고
p, q를 유추하기 어려움(소인수 분해의 어려움)을 이용.


-> 공식 암호화 : c = me mod n  공개키로 암호화
(m=평문, e=공개키, n=pq(공개키), c= 암호문)


-> 공식 복호화 : m = cd mod n  개인키로 복호화
(m=평문, e=공개키, n=pq(공개키), c= 암호문)

키 생성 과정

ex) p=5, q=7로 선택
*** n,e=
공개키
*** n,d=
개인키
***
참고로 p, q도 비밀로 해야함

*** 서로소란 두 수의 최대 공약수가 1인 두 자연수


1.
임의의 소수 p,q 를 생성


2. p
q를 곱하여 n을 구한다( n= 35 = 공개키)


3. (P-1)(q-1)
을 계산한다. (5-1)(7-1)=24


4. 3
번에서 구한 24와 서로소인 임의의 자연수 e를 구한다
--> e=7로 선택하였음 (e= 공개키)


4.1 e
의 값은 1 < e < n 중에서 24와 서로소인 값을 구하는 것.


5. e*d mod [(p-1)(q-1)] = 1
d를 구한다.
-->
, 7*d mod 24 = 1 인 값을 구하는 것

https://m.blog.naver.com/nttkak/20130239694
https://blogger.pe.kr/583

반응형

'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글

레지스트리 루트키 설명  (0) 2026.03.02
Sha 해시 함수  (0) 2026.03.01
리눅스 로그(log)  (0) 2026.02.27
Diffie-Hellman (디피헬만)  (0) 2026.02.27
심볼릭링크 vs 하드링크  (0) 2026.02.26
  • /var/log/lastlog [각 계정들의 최근 로그인 로그]
  • /var/log/maillog [sendmail,pop등의 메일 관련 데몬의 로그]
  • /var/log/maillog.log [sendmail, pop등의 메일관련 데몬의 로그]
  • /var/log/messages [모든 데몬의 시스템 로그]
  • /var/log/secure [보안 인증 관련 메시지]
  • /var/log/wtmp [시스템 전체 로그인 기록을 저장]
  • /var/run/utmp [현재 로그인 사용자에 대한 기록] -> 사용자 IP저장
  • /var/log/xferlog [ftp(proftpd, vsftpd) 로그]
  • /var/log/httpd/access_log
  • /var/log/httpd/error_log
반응형

'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글

Sha 해시 함수  (0) 2026.03.01
RSA (공개키 암호 알고리즘)  (0) 2026.02.28
Diffie-Hellman (디피헬만)  (0) 2026.02.27
심볼릭링크 vs 하드링크  (0) 2026.02.26
리눅스 쓸만한 명령어  (0) 2026.02.26

Diffie-Hellman (디피헬만) 키 공유 절차

- 이산 대수의 어려움 이용(y=gx mod p라고 한다면 g,y,p를 알땐 x를 구하기 어렵다는 점 이용)


- a,b,p
는 충분히 커야함. 그래야 안전. 중간자 공격에 취약.


- 
대칭키를 교환. (사실 교환이라기 보다는 각자 계산하여 같은 값을 사용하는 것)


- 
공개키의 개념을 사용함.


- 
비밀키(개인키)가 노출되더라도 그 후의 키 분배 과정에서 얻는 세션키(대칭키)의 안전성에는 영향을 미치면 안된다.

0. p = 
소수, q= p-1까지의 정수 중 하나, a, b = 난수(제곱근으로 이용, 개인키의 개념)

0-1. 공유키 계산식은 qab mod p (난수 a,b를 모두 알고 있을 때 사용 가능.)

0-2. 만약 모를 때는 [상대의공개키나의개인키 mod p]


1. 
송신자는 소수 p, 정수 q 사전에 공유한다.


2. 
송신자는 난수 a를 생성한다.(송신자만 알 수 있음)

2-1. 수신자는 난수 b를 생성.


3. 
공식을 이용하여 계산한다.


4. 
수신자도 난수 b를 선택하여 공식에 a승을 b승으로 치환하여 계산한다. (qb mod p)==공개키


5. 
서로에게 결과 값을 전송한다. (이게 공개키를 전달하는 개념)


6. 
송신자는 = 결과값a mod p, 수신자 = 결과값b mod p를 계산

 

 

https://ko.wikipedia.org/wiki/%EB%94%94%ED%94%BC-%ED%97%AC%EB%A8%BC_%ED%82%A4_%EA%B5%90%ED%99%98

반응형

심볼릭링크

  • ln -s [대상원본파일] [새로만들파일] 
  • 경로만 적혀있는 파일이 새로만들어짐
  • ls -al 입력 했을 때 해당 폴더의 맨 앞이 'l' 로 시작되는 파일은 심볼릭 링크
  • 파일내용에 있는 원본 파일의 이름에 해당하는 링크를 찾아줌
  • *원본을 지우면 링크는 살아는 있지만 접근이안됨

하드링크

  • ln [대상원본파일] [새로만들파일] 
  • ls 경로에 있는 파일명 하드링크파일(경로에있는 파일를 해당 이름으로 링크를 생성)
  • ex) ls -l 쳤을때 -rwrwrwrw- 이거 다음에 바로 나오는 숫자가 하드링크의 숫자임
  • 하드링크가 2면 한 파일에 2개의 다른 링크가 걸려잇는거임. (기본이 1개)
  • 원본을 알 수 없음.

 

-> 하드 링크는 원본 파일을 삭제 되어도 링크된 파일은 여전히 존재함

-> 심볼링 링크는 원본 파일 삭제 시 링크된 파일 접근 불가

반응형

'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글

리눅스 로그(log)  (0) 2026.02.27
Diffie-Hellman (디피헬만)  (0) 2026.02.27
리눅스 쓸만한 명령어  (0) 2026.02.26
MBR(Master Boot Record) 과 부팅  (1) 2026.02.25
리눅스 부팅 순서  (0) 2023.03.19
  • head -n 5 vi /var/log/messages
    ex ) messages 로그 파일에서 처음 5줄만 보여달라
  • tail -n 5 - 마지막 5줄만 보여달라
  • ps -ef : 리눅스에서 돌고있는 프로세스목록
    용도 ) ps -ef | grep kill -> 해당 파일에서 kill이란 단어가 있는걸 찾아줘라.
  • find = 디렉토리검색
    용도 : find / -name backup -> 루트에서부터 backup 이름을 찾아라
  • wc -l = 몇 줄인지 세줌
  • wc -c = 글자수 세주는거
반응형
  • MBR(Master Boot Record)는 운영체제가 부팅 할 때 POST(Power on Self-Test)과정을 마친후
  • 저장매체의 첫 번째 섹터를 호출을 시도하는데, 이 때 MBR이 존재한다면, MBR의 부트 코드가 수행되게 된다.
  • 부트 코드의 역할은 파티션 테이블에서 부팅 가능한 파티션을 찾아, 해당 파티션의 부트 섹터를 호출해 주는 역할.
  • 부팅 가능한 파티션이 없을 경우 미리 정의된 메시지를 호출하게 되는데,
  • 윈도우 구조 이해에 MBR이 필요한 이유는 이 영역을 조작하는 실제 악성코드가 존재 가능성과, 해당 영역의 문제로 부팅이 되지 않는 경우가 발생할 수 있어, 이는 복구하기 위해 실무에서도 확인이 필요한 영역이다

- 즉 MBR의 부트 코드가 부트 파티션을 찾고 그 안에 있는 부트섹터를 찾음.


- MBR(부트코드) --> 부팅 파티션(Boot Sector) --> Ntldr --> 운영체제 --> 프로그램

 

MBR 그림

 

반응형

'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글

심볼릭링크 vs 하드링크  (0) 2026.02.26
리눅스 쓸만한 명령어  (0) 2026.02.26
리눅스 부팅 순서  (0) 2023.03.19
리틀엔디언 vs 빅엔디언  (0) 2022.02.11
RunLevel  (0) 2022.01.17

1. 선형공격 (Linear Cryptanalysis)
: 평문 공격 기법으로, 알고리즘 내부의 비선형 구조를 적당히 선형화 시켜서 키를 찾음


2. 차분공격 (Differential Cryptanalysis)
 : 선택 평문 공격 기법으로,두 평문 블록의 비트 차이에 대응되는 암호문 블록들의 비트 차이를 이용하여 암호키를 찾아내는 방법


3. 통계적 분석 (Statistical Analysis)
: 암호문에 대한 평문의 각 단어 빈도수에 관한 자료를 포함하여 모든 통계 자료를 이용하여 해독


4. 수학적 분석 ( Mathematical Analysis )
: 통계적인 방법을 포함하며 수학적 이론을 이용하여 해독


5. 전수키 조사법 (Exhaustive Key Search ) 
 : 디피 헬만이 제안한 방법으로, 암호화할 때 일어나는 모든 경우의수를 조사. 

반응형

'보안&네트워크 > 보안' 카테고리의 다른 글

공개키 암호화  (0) 2026.03.05
무선랜 보안 프로토콜  (0) 2026.03.04
Meltdown & Spectre  (0) 2026.02.23
블록암호화  (0) 2026.02.22
FTP Bounce Attack  (0) 2026.02.21

읽을 수 없는 커널영역 메모리 or 다른 프로세스의 메모리 영역을 읽을 수 있다.
CPU의 최적화 기법에는 비순차실행, 예측실행을 함
(== 결국 대기시간을 줄이기 위함) 이것들의 취약점이다.


(MeltDown) Rogue Data Cache Load

  • 비순차 취약점을 이용, 읽을 권한이 없는 메모리를 읽은 것
  • 부채널 공격 ( 암호화 시 소요되는 시간, 소비되는 전력, 방출되는 전자기파, 소리 등을 분석하여 추가적인 정보를 획득하는 것)
  • Spectre와 달리 Root 권한이 없어도! 커널 메모리 영역까지 읽을 수 있기에 더 치명적
  • 만약 해커가 커널영역의 메모리에 접근하면 Exception이 발생한다
  • 하지만 사실 비순차 실행에 의해서 커널 메모리 읽기는 이미 시작 되었다.
  • 이제 변경된 캐시 상태(Cache Side Channel)에 의해 해커는 원하는 정보를 읽기 가능
  • * 비순차실행 *
    : 원래 명령어를 '앞 -> 뒤' 순서로 실행하는데, 성능 상 '뒤 -> 앞 -> 뒤' 이런식으로 실행할 경우도 있음.

 

(Spectre #1) Bound Check Bypass (예측실행 취약점)

예 시

  • 원래는 예측 판단이 틀리게 되면 미리 실행한 명령어를 폐기 후 다시 실행함 --> 오류가능성 없음.

예측실행 취약점

  • if x==10 then y=5; 라는 명령어를 실행할 때 if까지만 실행하고 어떤 이유에서든지 x==10이라는 명령어가 실행이 안되는중, 그럼 일단 y=5부터 실행해 놓고 x==10을 판단함.
  • CPU는 #2번 실행 후 #1번을 실행할 수 있다. 근데 array같은 경우 범위값이 초과해도 읽어내는 경우가 있다.
    (array1의 Bound Check Bypass가 발생) 즉, 1번이 유효하지 않은데 2번으로 넘어간 예측값이 유효하게 된 경우.
    물론 이런 경우는 원래 폐기 후 다시 계산을 해야하지만!!!!!!!
    Cache Side Channel 기법으로 Cache에 저장되어 있는 예측 실행 과정에서 Cache의 변화 여부를 파악할 수 있기 때문에 값을 미리 읽어낼 수 있어 취약점 발생

(Spectre #2) Branch Target Injection (분기 예측 취약점)

분기 위치 예측

  • 말 그대로 분기 될 위치를 예측하는 것. (점프를 말하는 듯)
  • 분기를 미리 다 계산 해 놓고 Branch Target Buffer 이라는 곳에 저장을 해둠.
  • 그리고 해당 분기로 점프하게 되고 이 과정이 몇번 반복이 된다고하면, CPU는 이전 값을 참고해서
  • “이번에도 여기로 분기가 되겠지?”라고 분기를 해버린다.
  • 만약 프로세스의 공격코드가 있는 위치를 반복해서 Branch Target Buffer에 저장 시켜 놓으면
    분기예측버퍼(Branch Target Buffer)에 악성코드가 들어가고, 이 BTB는 프로세스간 공유가 가능하기 때문에
    여러 프로세스에서 BTB로 분기가 가능하다.

참고

https://medium.com/@kjhcloud/%EC%9D%B8%ED%85%94-cpu-%EC%B7%A8%EC%95%BD%EC%A0%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-9ddab8d502b7

반응형

'보안&네트워크 > 보안' 카테고리의 다른 글

무선랜 보안 프로토콜  (0) 2026.03.04
블록암호화 공격 기법  (0) 2026.02.24
블록암호화  (0) 2026.02.22
FTP Bounce Attack  (0) 2026.02.21
FTP Passive 모드를 사용하는 이유  (0) 2026.02.20

블록암호화 운용방식

: 운용방식이란 하나의 키 아래에서 블록암호를 반복적으로 안전하게 하는 절차

 

ECB 모드 : Electric CodeBook mode

- 암호화 키를 사용하기에 보안에 취약
-
동일한 내용을 갖는 평문블록은 암호문도 동일함.(패턴이 존재함)

 

CBC 모드 :  Cipher Block Chaining mode

오라클 패딩 공격 ( CBC 취약점 ) – 패딩 여부에 따라 서버의 응답이 다름.
https://bperhaps.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4-%ED%8C%A8%EB%94%A9-%EA%B3%B5%EA%B2%A9-%EA%B8%B0%EC%B4%88-%EC%84%A4%EB%AA%85-Oracle-Padding-Attack
- 1
단계 앞에 수행된 암호문 블록을 XOR 평문블록 후 암호화 실행
-
초기화 벡터
  :
최초 1단계 암호문 시에는 바로 전 단계가 존재하지 않으므로 대신할 비트열 블록 준비(초기화 벡터 IV)
-
송수신자간에 미리 약속이 되어있는 값을 이용(공개된 값을 사용해도 됌.)
-
패딩
  :
실제 CBC 모드를 적용할 경우에 암호화 될 평문의 길이는 가변적이라서 패딩 해야함.
  :
마지막 블록이 블록의 길이와 항상 딱 맞아 떨어지지 않음.(부족한 만큼 0 or 임의의 비트로 채움) --> 패딩
-->
만약 평문1과 평문2가 같아도 초기화 벡터값이 다르기 때문에 같은 값이 안나옴(ECB의 단점 해결)
 - IPsec
에서 CBC모드로 사용.(통신의 기밀성)
-
복호화
  :
이전 암호문블록1 XOR 현재 암호문블록2(복호화)

 

CFB 모드 - Cipher-FeedBack mode

- 패딩이 필요없음.(스트링 암호처럼 구성하여 평문과 암호문의 길이가 같다)
 - 1
단계 앞의 암호문 블록을 암호 알고리즘의 입력으로 사용
- CBC
랑 차이점은 CBC는 초기화 벡터계산 시 차이가 난다.
- CBC
같은 경우 초기화 벡터 xor 평문블록 -> 암호화 -> 암호문 블록
- CFB
같은 경우 초기화벡터를 암호알고리즘(암호화) xor 평문블록 -> 암호문 블록
-
복호화시 특이점은  초기화벡터를 암호알고리즘(암호화) xor 암호문 블록 -> 평문블록
****
암호 알고리즘이 생성하는 비트열을 키 스트림(Key stream)이라 부른다.
->
펑문의 데이터를 1비트씩 암호화 하기 때문에 스트림 암호 이기도 하다.  
->
즉 블록 암호화를 사용하여 생성한 키를 이용하는 스트림 암호
-->
재전송 공격(replay attack)가능
-
복호화
:
이전 암호문블록1 암호화 XOR 현재 암호문블록2

 

OFB 모드 - Output-FeedBack mode

- 스트림 암호화의 일종
1
단계 앞의 초기화벡터(암호화됐음)를 암호 알고리즘의 입력으로 사용
- 1
단계 앞의 초기화 벡터를 암호화하여 평문 블록과 XOR
-
최초단계에는 초기화 벡터를 암호화 XOR 평문블록

 

CTR 모드 - CounTeR mode

- 1씩 증가해 가는 카운터를 암호화해서 키 스트림으로 만들어 내는 스트림 암호
-
카운터(암호화) xor 평문블록 -> 암호화블록
-->
현재는 CBC혹은 CTR만 사용함.

 

CBC

- 암호문블록을 평문과 xor 후 암호화

 

CFB

- 암호문블록을 암호화 후 또 암호화해서 평문과 XOR

 

OFB

- 초기화 벡터를 암호화 후 암호화 후 암호화 후 암호화

 

 

특징 설명

: 블록 모드 : ECB, CBC
:
스트림 & 블록모드 : CFB,OFB,CTR
:
/복호화 병렬가능 블록 암호화 : ECB, CTR
:
복호화 시 병렬처리 가능 암호화 : CBC, CFB

모드 장점 단점
ECB
( Electric
CodeBook )
- 간단
- 고속
- 병렬 처리 가능(/복호화)
- 평문 속의 반복이 암호문에 반영
-
암호문 블록의 삭제나 교체 평문 조작 가능

- 비트단위의 에러가 있는 암호문을 복호화 하면 대응하는 블록이 에러
CBC
( Cipher Block Chaining )
- 복호화 병렬
- 임의의 암호문 블록을 복호화 할 수 있음.
(
바로 전의 암호문 블록을 이용한다는 뜻)

- 매우 상식적인 암/복호화 과정임
- 비트 단위의 에러가 있는 암호문을 복호화하면 1블록 전체와 다음 블록의 대응하는 비트가 에러
CFB
( Cipher 
 FeedBack)
- 복호화 병렬
- 패딩 X
- 임의의 암호문 블록을 복호화 할 수 있음.
(
바로 전의 암호문 블록을 이용한다는 뜻)

- 이전의 암호문 블록을 암호화하여 암/복호화에 사용
- 재생공격
- 비트 단위의 에러가 있는 암호문을 복호화 하면 1블록 전체와 다음 블록의 대응하는 비트 에러
OFB
( Output
 Feedback )
- 패딩 X
- /복호화 같은 구조
- 비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러
- 이전 값의 초기화 벡터만 암호화하여 암/복호화에 사용
- 병렬 X
- 능동적 공격자가 암호문 블록을 비트 반전 시키면 대응하는 평문 블록이 비트 반전
CTR
( CounTeR )
- 패딩 X
- /복호화 같은 구조
- 비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러
- 블록을 암호화 할 때마다 1씩 카운터를 1씩 늘려 초기화 벡터로 사용
- 능동적 공격자가 암호문 블록을 비트 반전 시키면 대응하는 평문 블록이 비트 반적

 

반응형

'보안&네트워크 > 보안' 카테고리의 다른 글

블록암호화 공격 기법  (0) 2026.02.24
Meltdown & Spectre  (0) 2026.02.23
FTP Bounce Attack  (0) 2026.02.21
FTP Passive 모드를 사용하는 이유  (0) 2026.02.20
SSL 구성요소  (0) 2026.02.19

- Active 모드에서 파일을 요청하면 클라이언트에서는 파일을 받을 아이피를 설정할 수 있다
  (보통본인의 IP, PORT를 설정하겠지?) 근데 이것을 해커의 IP, PORT로 설정하면 해커쪽으로 데이터를 빼돌리는 것.

반응형

'보안&네트워크 > 보안' 카테고리의 다른 글

Meltdown & Spectre  (0) 2026.02.23
블록암호화  (0) 2026.02.22
FTP Passive 모드를 사용하는 이유  (0) 2026.02.20
SSL 구성요소  (0) 2026.02.19
SET (Secure Electronic Transaction)  (0) 2026.02.18

+ Recent posts