CHANGEL
SOLID BASICS
CHANGEL

공지사항

  • DEV.CHANGEL PROFILE
  • SOLID BASIC (289)
    • 공부 STUDY (115)
      • JAVA (57)
      • C | C++ (34)
      • CS (11)
      • MySQL (2)
      • ALGORITHM (1)
      • HTML (2)
      • CSS (2)
      • JS (2)
      • CODING (0)
      • MINI PROJECT (3)
    • 스프링 SPRING (21)
      • [SPRING] 김영한 스프링 입문 (11)
      • [SPRING] 남궁성 스프링의 정석 (1)
      • [SPRING] 스프링 핵심원리 (9)
    • 전공 수업 CS (65)
      • Computer Network (13)
      • algorithms (21)
      • Computer Architecture (7)
      • Software Engineering (4)
      • Data Structure (2)
      • DataBase (1)
      • Digital Engineering (14)
      • Discrete Mathematics (3)
      • Introduction to programming (0)
      • Mobile Software (0)
      • Intelligence and Informatio.. (0)
    • 대외활동 (35)
      • 신한은행 대학생 홍보대사 34기 (8)
      • SKT T프렌즈 5기 (13)
      • SK DEVOTION YOUNG 1기 (9)
      • 성균관 대학교 공학교육혁신센터 수강 (3)
      • 수상 기록 (1)
    • 솝트 33기 안드로이드 (7)
      • [솝트 33기] 회고록 (0)
      • [솝트 33기] 안드로이드 왕초보 스터디 (2)
      • [솝트 33기] 코틀린 스터디 (0)
      • [솝트 33기] Git을 털어보자 깃털 스터디 (4)
    • 멋쟁이사자처럼 11기 (6)
      • 멋사 회고록 (4)
      • 백엔드 세션 (1)
      • 기획 세션 (1)
      • 연합해커톤 운영단 (기획팀) (0)
    • 백준 BAEKJOON (16)
    • 독서 BOOK (10)
    • 자격증 CERTIFICATE (1)
    • 준비 서류 및 회고록 MEMOIR (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

최근 댓글

인기 글

CHANGEL

SOLID BASICS

카테고리 없음

[알고리즘] 스트링 처리 알고리즘 | 암호화 알고리즘

2022. 11. 16. 22:31

텍스트를 관련 없는 사람들이 읽을 수 없도록 하는 것이 암호화이며, 컴퓨터를 사용하여 암호화를 수행할 때 사용되는 알고리즘이

암호화 알고리즘이다. 이 분야는 암호 작성과 암호 해독으로 나눌 수 있다.

 

암호화 시스템은 다음과 같은 구성요소로 이루어져 있다.

 

송신자: 메세지를 암호화 함

수신자: 메세지를 복호화 함

암호화 기법

복호화 기법

키 매개변수

 

암호화 시스템에서 암호화 및 복호화 기법은 알고 있으면서 키 매개변수를 모르는 상태에서

암호문으로부터 평문을 복원해내는 사람을 암호 해독자라고 한다.

 

1) 단순한 기법

 1. 카이사르 암호화: 평문에 있는 문자가 알파벳의 N번째 문자라면, 이것을 N+K번째 문자로 교체하는 것이다. 카이사르는 K 값으로 3을 사용했다.

 

2. 비즈네르 암호화: 평문의 각 문자에 대해 서로 다른 변환표를 사용하여 복잡도를 높인다.

 

3. 버넘 암호화: 비즈네르 암호화에서 키의 길이를 평문의 길이와 같게 한 것으로 일회용 패드라고도 불리는데, 현재까지 개발된 암호화 기법중에 안전성이 증명된 유일한 암호이다. 암호화할 메시지가 이진수이면  배타적 논리합 연산을 사용할 수 있다. 많은 데이터를 암호화해야할 경우 안전성이 뛰어난 베르남 암호화 기법을 사용하기 어렵기에 암호화/복호화 장치를 사용하게 된다. 이 장치는 의사키를 사용하게 되는데, 암호화/복호화 장치는 실제키인 몇 개의 암호화 변수를 사용하여 평문의 길이와 같은 길이를 갖는 키 스트림을 생성하게 된다. 이렇게 생성된 키 스트림을 가지고 평문에 대해 배타적 논리합 연산을 수행하면 암호문이 생성된다.

 

2) 공개 키 암호화 시스템

전통적인 암호화 시스템이 가지고 있던 키를 분배하는 문제를 해결하기 위해 개발되었다.

공개키 암호화 시스템에서는 메시지를 보낼 때 송신자는 공개키를 찾아서 공개키를 사용하여 암호화한 다음 전송하게 되고,

메시지를 읽을 때 수신자는 자신이 가지고 있는 비밀 키를 사용히여 복호화한 다음 메시지를 읽게 된다.

 

이 시스템에서 사용되는 대표적인 알고리즘은 RSA 알고리즘이다. 이 알고리즘을 사용하면 메시지를 선형시간에 암호화 할 수 있다.

메세지 M을 암호화 할 때는 C = P(M) = M^P mod N을 계산하게 되고,

메세지 C를 복호화 할 때는 P = S(C) = C^S mod N 을 계산하게 된다.

 

https://playground10.tistory.com/192

 

[암호화] RSA 알고리즘

안녕하세요. 오늘 포스팅할것은 RSA알고리즘인데요. 간만에 알고리즘인데 자세히 쉽게 써보려고합니다. RSA 암호화의 정의 RSA란 비대칭키 알고리즘의 대표적인 알고리즘으로 MIT의 로널드리베스

playground10.tistory.com

이 알고리즘에 대한 설명은 위 블로그에 자세히 나와있어 이해하기 좋다! 

    CHANGEL
    CHANGEL
    NOT GIVING UP | SOLID BASICS

    티스토리툴바