[Network] 암호화에 관하여....

Nanotube·2023년 2월 24일
0

Network

목록 보기
2/3
post-thumbnail

자주 사용되는 암호화 표현

  • 평문(Plain Text): 암호화 전 메세지
  • 암호문(Cipher Text): 암호화 된 메세지
  • 암호화/복호화 (Encryption / Decryption): 평문/암호문을 암호문/평문으로 변환
  • 양방향
  • 단방향
  • 전자서명

양방향

  • 기밀성
  • 두 가지 알고리즘으로 분류(대칭형, 비대칭형)
  • 평문에서 암호문, 암호문에서 평문으로 암/복호화가 이루어지는 알고리즘.

대칭키 알고리즘

  • 암/복호화시 동일한 비밀키를 사용.
  • Symmetric,Secret,Shared,Session + key.
  • 기밀성 제공, 무결성/인증/부인방지 보장X.
  • 평문보다 작은 크기의 키를 가짐.
  • 암호화 방식에 빠른 속도.
  • 대용량 데이터(data)암호화에 적합.
# 대칭키 알고리즘 Workflow
Plain Text # abcedfg   

Encryption <= Block: 40~256 bit Key, Stream: bit Xor bit

Cipher Text # ASH@#*&$(@&HX(F&*(ASD&F

Decryption <= Block: 40~256 bit Key, Stream: bit XOR bit

Plain Text # abcedfg

Block 암호화

Stream 암호화

  • 비트 단위로 암호화
  • 무선 환경, 스트리밍 서비스등에 사용.
  • 평문, 키 스트림을 XOR연산으로 생성된 암호문으로 암/복호화
# 간단한 예시
# S: Key Stream 
# P: Plain Text
# C: 암호문
# ⊕: XOR 연산

P0 = C0 ⊕ S0, P1 = C1 ⊕ S1, P2 = C2 ⊕ S2  ...

P: 100110 ⊕ S: 111001
C = 011111
C ⊕ S
P: 100110

대칭키의 문제점

  • 송/수신자가 동일한 키를 가지고 있어 탈취에 취약함.
  • 송/수신자의 키가 서로 다를 경우 개수가 늘어나 관리상 어려움.

비대칭키 알고리즘

  • 암/복호화는 공개키/개인키를 각 암/복호화에 적용.
  • 대칭형 키교환 문제를 해결하기 위한 알고리즘.
  • 두개의 키로 암/복호화에 사용하기에 대칭키보다 느림.
  • Public Key / 공개키
    • 모든 사람이 접근 가능한 키
  • Private Key / 비밀(개인)키
    • 각 사용자만 가지고 있는 키
    • 512, 1024, 2048bit의 큰 길이 사용.

소인수분해

이산대수

타원곡선방정식

해쉬(Hash) 알고리즘

단반향 알고리즘을 이해하기 위해선 그 기초가 되는 해쉬 알고리즘을 이해할 필요가 있습니다.

단반향

  • Hashing을 이용한 암호화 방식
  • 암호화는 가능하지만 복호화는 불가능함.
  • 데이터가 변조되지 않았음을 나타낼 때 사용.

MDC

  • 대칭키 미사용

MAC

  • 대칭키 사용
  • HMAC
  • NMAC
  • CBC-MAC

ref: ktword,위키/대칭.uname.in,블록암호,스트림암호,veneas

profile
나노튜브

0개의 댓글