soosue
끄적끄적
soosue
전체 방문자
오늘
어제
  • 분류 전체보기 (31)
    • TIL (6)
    • 살짝 정리 (10)
    • note (1)
    • 내가필요해서만든 (1)
    • 막쓰기 (3)
    • spring (4)
    • java (2)
    • git (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 로거 작성
  • git alias 설정
  • git config파일
  • git alias 하는법
  • git 명령어 alias
  • logger template
  • Rebase
  • live templates
  • remote
  • git config alias
  • slf4j Logger
  • Logger 구현체
  • git
  • 로거 템플릿
  • Logger만들기
  • branch
  • .gitconfig 파일
  • intellij logger template
  • Logger 구현체 선택
  • switch -t

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
soosue
살짝 정리

대칭키, 비대칭키

살짝 정리

대칭키, 비대칭키

2021. 6. 10. 00:15

어떤 문자 apple을 암호화하고 복호화를 하는 방식에 대해 알아보자. (대칭키와 비대칭키에 대해서만 알아볼거다)

 

요즘은 암호화 알고리즘이 있을 때 키(key)를 이용해서

암호화를 하고 복호화를 한다.

 

        암호화                                 복호화

apple    ->      @#TXV          @#TXV    ->      apple

        키 사용                                키 사용

 

A라는 키를 이용하여 암호화 했다면,

A라는 키를 이용하여 복호화 한다는 것은 전혀 이상할 것 없는 말이다.

 

실제로도 그렇게 사용이 된다. 이를 대칭키 방식이라고 한다.

 

다만 문제가 하나 있다면, 복호화를 하기 위해서 암호화 할 때 사용했던 키를 알아야한다는 것이다.

 

보통 암호화를 하면, 암호화 된 정보를 상대방에게 전해주고, 상대방은 암호화 된 정보를 해독해서 원래 정보를 읽을 것이다.

문제는 웹(HTTP)의 세계에서는 내가 원하는 상대방에게 키를 알려주기가 쉽지 않다는 점이다.

만약 내가 원하는 상대방에게 키를 알려주는 과정에 다른 누군가가 키정보를 훔쳐본다던가의 행위를 하면 내 암호화 한 정보는 내가 원하지 않는 사람도 해독하여 볼 수 있게 된다.

 

이를 해결하기 위해 나온 방식이 바로 비대칭키 방식이고, 이는 공개키 방식이라고도 불린다.

비대칭키 방식은 공개키, 비밀키 총 2개의 키가 존재하는데

비대칭키 방식을 사용하는 암호화 알고리즘은

공개키를 이용하여 암호화를 하면, 비밀키를 이용해서만 복호화를 할 수 있고

비밀키를 이용하여 암호화를 하면, 공개키를 이용해서만 복호화를 할 수 있다는 특이한 점이 있다.

(비밀키를 이용하여 공개키를 만든다.)

 

        암호화                                 복호화

apple    ->      @#TXV          @#TXV    ->      apple

     공개키 사용                           비밀키 사용

 

        암호화                                 복호화

apple    ->      @#TXV          @#TXV    ->      apple

     비밀키 사용                           공개키 사용

 

더 나아가 공개키를 상대방에게 공개를 하고 그 상대방이 해당 공개키를 이용하여 암호화를 하게 만든다.

그리고 본인은 암호화 된 정보를 받은 후, 본인만 알고 있는 비밀키를 이용하여 암호화 된 정보를 해독하여 원래 정보를 읽는다.

이렇게 되면 본인은 비밀키를 다른 누군가에게 알려야한다는 걱정없이 암호화 된 정보를 받아서 읽을 수 있게 되는 것이다.

'살짝 정리' 카테고리의 다른 글

AWS Cloud Practitioner Essentials 모듈1  (0) 2021.06.29
컴포넌트의 내부 구현을 숨기자  (0) 2021.06.26
이진탐색  (0) 2021.06.24
producer-consumer 패턴  (0) 2021.06.16
JPA 관계 생각해보기  (0) 2021.06.08
    '살짝 정리' 카테고리의 다른 글
    • 컴포넌트의 내부 구현을 숨기자
    • 이진탐색
    • producer-consumer 패턴
    • JPA 관계 생각해보기
    soosue
    soosue

    티스토리툴바

    단축키

    내 블로그

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

    블로그 게시글

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

    모든 영역

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

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