이 영역을 누르면 첫 페이지로 이동
caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

페이지 맨 위로 올라가기

caputdraconis

네트워크 관점에서의 클라우드 컴퓨팅을 공부하는 중입니다 :)

[컴퓨터보안] Stream Ciphers | Block Ciphers

  • 2023.04.24 19:00
  • Security
글 작성자: caputdraconis
반응형

Stream Ciphers

Stream Cipher


 One-Time Pad 는 아주 안전하지만, 실용적이지는 않은 방법이였습니다. One-Time Pad의 강점인 Plain Text와 같은 길이의 아주 긴 랜덤 키를 사용하는 Stream Cipher 가 One-Time Pad의 대안책으로 많이 사용됩니다. Stream Cipher는 짧은 길이의 키만 공유하고, 이를 Bit-Stream Generator 라는 알고리즘을 사용해 bit-stream을 생성합니다. 이 방식을 통해, One-Time Pad의 단점 중 하나였던 아주 긴 랜덤 키를 어떻게 공유할까 에 대해서 고민하지 않아도 됩니다. 암호화/복호화를 하는 사용자는 같은 짧은 Key를 Bit-Stream Generation Algorithm 에 넣으면 같은 bit-stream을 얻을 수 있습니다. Bit-stream generation algorithm은 공격자도 알고 있기 때문에, 이 generating key를 잘 보관하는게 중요합니다. 

Encryption
1. K(Key, 여기서는 Seed 역할)를 Bit-stream generation algorithm에 돌린다 => Plain Text와 길이가 같은 key stream이 생성된다.
2. Plain Text와 Key Stream을 XOR 연산한다 => Cipher Text 가 완성된다.

Decryption
1. K(Key, 여기서는 Seed 역할)를 Bit-stream generation algorithm에 돌린다 => Cipher Text와 길이가 같은 key stream이 생성된다.
2. Cipher Text와 Key Stream을 XOR 연산한다 => Plain Text 가 완성된다.

 

만약 Plain Text와 Cipher Text가 1,000,000 Bit 라면, 이를 조합으로 맞추려면 (1/2) ^ 1,000,000 입니다.
하지만, Key(128 Bit) 값을 유추하는건 비교적 쉽습니다. => (1/2) ^ 128

 

Block Ciphers

Block Cipher

Block Cipher는 Plain Text를 여러 개의 Block으로 나누어 (Key + 1 Block) 을 Encryption Algorithm에 넣어 나온 결과물을 합치는 방식으로 암호화 합니다. 1개의 Plain Text Block을 넣으면, 같은 길이의 Cipher Text Block 이 나옵니다. 이렇게 나온 여러 블럭의 Cipher Text 를 모두 이어서, Plain Text 와 같은 길이의 Cipher Text를 완성할 수 있습니다.

Block Cipher도 Stream Cipher와 같이 Encryption/Decryption Algorithm 을 공격자도 알고 있기 때문에, Key를 잘 보존하는게 중요합니다.

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [컴퓨터보안] Web Security

    [컴퓨터보안] Web Security

    2023.04.26
  • [컴퓨터보안] Feistel Cipher(파이스텔 암호) 동작 방식

    [컴퓨터보안] Feistel Cipher(파이스텔 암호) 동작 방식

    2023.04.25
  • [컴퓨터보안] Transposition Techniques(전치 기술)

    [컴퓨터보안] Transposition Techniques(전치 기술)

    2023.04.24
  • [컴퓨터보안] Substitution Technique(치환 기술)

    [컴퓨터보안] Substitution Technique(치환 기술)

    2023.04.24
다른 글 더 둘러보기

정보

caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

  • caputdraconis의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (168)
      • Cloud (3)
      • Computer Network (12)
      • Database (2)
      • Terraform (2)
      • 🥚고리즘 (13)
      • 겅부겅부🙃 (10)
        • Naver CS50 코칭스터디 (2)
        • Machine Learning (1)
        • Computing System (6)
      • 언어&프레임워크 (20)
        • Python (4)
        • Django (10)
        • Node JS (1)
        • C++ (2)
        • Java (1)
        • Flutter (2)
      • Security (76)
        • WebHacking Study (11)
        • 지옥방 스터디 (22)
        • 여름방학 스터디 (2)
        • PWN Study (6)
        • SUA Reversing Study (3)
        • PWN (3)
        • WebHacking (20)
        • Reversing (4)
      • 알고 있으면 도움되지 않을까,,? (23)
      • 일상다반사 (1)
      • 근황 정리 (1)
      • 42 Seoul (1)
        • Setting (1)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 웹해킹.kr
    • 드림핵
    • 파이썬
    • 리스트함수
    • old-16
    • 파이썬기초
    • Python
    • 파이썬함수

    나의 외부 링크

    • Github
    • solved.ac
    • caputdraconis@kakao.com

    정보

    caputdraconis의 caputdraconis

    caputdraconis

    caputdraconis

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © caputdraconis.

    티스토리툴바