블록 암호 : 정보 보안 - 암호학

2024. 9. 26. 11:35 · 암호학
목차
  1. 스트림 암호 vs 블록 암호
  2. block cipher 의 특징
  3. Feistel Cipher
  4. 블록 암호의 안전성
  5. 대칭키 블록 암호
  6. 우리나라에서 사용하는 암호

https://www.youtube.com/watch?v=I7TLqQ3RrrI

 

 

스트림 암호 vs 블록 암호

https://www.youtube.com/watch?v=I7TLqQ3RrrI

 

 

스트림 암호는 메세지 내용 정보를 bit 단위로 암호화

 

블록 암호는 일전 길이의 bit (block) 단위로 암호화

 

결국 암호는 confusion (혼란) 과 diffusion(발산) 이라는 특징을 기초로 만들어진다.

→ 그래서 평문의 bit 를 혼합하는(섞는) 함수를 반복해서 수행한다.

 

block cipher 의 특징

  • 평문과 암호문은 고정된 길이의 블록으로 구성된다.
  • 암호문은 평문의 블록에 bit 를 혼합하는 함수를 반복하여 (round function) 구한다.
  • 반복해서 수행하는 round 함수의 입력값은 키 와 이전 함수의 출력값으로 구성된다.
  • 이런 혼합과 반복의 절차를 잘 보여주는 블록암호의 틀(framework) 가 페이스텔(feistel cipher) 암호가 있다.

 

Feistel Cipher

  • feistel 암호는 블록 암호를 설계하는 틀(구조)이지, 암호 방식 자체는 아니다.
  • 많은 블록암호가 페이스텔 암호 구조를 가지고 있다.
  • 방법
    • 평문의 블록을 반으로 나눈다(= 좌우 양분한다) → 입력 평문 블록 = (L_0, R_0)
    • 각 단계에서 (i=1,2,…,n) 다음과 같이 계산한다.
      • Li=Ri−1L_i = R_{i-1}Li​=Ri−1​
      • Ri=Li−1⊕F(Ri−1,Ki)R_i = L_{i-1} \oplus F(R_{i-1}, K_i)Ri​=Li−1​⊕F(Ri−1​,Ki​)
        • 이 때, F : round function, K=subkey
      • 최종 암호문 블록 = (L_n, R_n)​
      • https://www.youtube.com/watch?v=I7TLqQ3RrrI
      • key 는 각 단계마다 값을 바꿔서 사용할 수 있다. 이를 subkey 라고 한다.

 

블록 암호의 안전성

  • 알고리즘이 충분한 confusion 과 diffusion 을 가지고 있을 때,
  • 수학적으로 brute force 공격 이외에는 암호문을 해독할 수 없다.
  • 블록 암호의 안전성은 키의 길이에 달려 있다.
    • 키의 길이가 브루트 포스 공격을 할 경우의 수를 결정한다.

https://www.youtube.com/watch?v=I7TLqQ3RrrI

 

** 2진수를 10진수로 대충 쉽게 바꿀 수 있는 방법

2n=10m2^n = 10^m2n=10m

n:=(n/10)∗3n := (n/10)*3n:=(n/10)∗3 , n:=(m/3)∗10n := (m/3)*10n:=(m/3)∗10

 

대칭키 블록 암호

  • Data Encryption.Standard (DES)
  • Triple DES
  • Advanced Encryption Standard (AES) ← 현재 (미국정부표준) 사용하고 있는, 128bits block length, key length.

 

우리나라에서 사용하는 암호

  • SEED : 128bit 길이
  • ARIA : 블록 크기 128bits, 키 길이 128, 192, 156, 라운드 수 12,14,16(키 길이에 따라 다름)

'암호학' 카테고리의 다른 글

전자 서명 : 정보 보안 - 암호학  (0) 2024.09.30
메시지 인증 코드 (MAC); 키 해시 (HMAC) : 정보 보안 - 암호학  (0) 2024.09.29
암호 해시 함수 : 정보 보안 - 암호학  (0) 2024.09.29
AES ; 블록 암호 : 정보 보안 - 암호학  (0) 2024.09.27
암호 기초 : 정보 보안 - 암호학  (0) 2023.09.11
  1. 스트림 암호 vs 블록 암호
  2. block cipher 의 특징
  3. Feistel Cipher
  4. 블록 암호의 안전성
  5. 대칭키 블록 암호
  6. 우리나라에서 사용하는 암호
'암호학' 카테고리의 다른 글
  • 메시지 인증 코드 (MAC); 키 해시 (HMAC) : 정보 보안 - 암호학
  • 암호 해시 함수 : 정보 보안 - 암호학
  • AES ; 블록 암호 : 정보 보안 - 암호학
  • 암호 기초 : 정보 보안 - 암호학
섬섬옥수수
섬섬옥수수
컴공 AI 개발자가 되기 위한 노역입니다
아날로그 인간의 컴공 되기컴공 AI 개발자가 되기 위한 노역입니다
섬섬옥수수
아날로그 인간의 컴공 되기
섬섬옥수수
전체
오늘
어제
  • 분류 전체보기
    • 백준 단계별 코딩 테스트
    • KB 논문 정리
    • Memory network 논문 정리
    • LLM 관련 논문 정리
    • Python 및 Torch 코딩 이모저모
    • Clustering 관련 논문 정리
    • 머신러닝 이모저모
    • 암호학

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • dependency tree
  • 백준
  • efficient and effective vocabulary expansion towards multilingual large language models
  • 이화여대
  • 하드웨어
  • 문제풀이
  • constituency tree
  • PEFT
  • 심재형
  • e5-v
  • eeve
  • GIT
  • 소프트웨어
  • CUDA
  • ragas
  • 오블완
  • 티스토리챌린지
  • 코딩테스트
  • vocabulary expansion
  • 인공지능융합기반시스템개론

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
섬섬옥수수
블록 암호 : 정보 보안 - 암호학
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.