백엔드 도전기 18일차

홍성준·2022년 11월 25일
0

오늘 배운 내용
오전엔 모의고사 문제를 풀었다. 수포자 3명이 수학문제를 각자 자신의 방법으로 찍었을 때 누가 제일 많이 맞췄나를 출력으로 나오게 해야되는 문제였는데, 이런 패턴이 있는 문제는 배열을 만들어서 각자의 찍는 패턴을 넣고 반복문을 돌리면 쉽게 풀 수 있을 거 같아 해보니 다행히도 정답이었다.

오후에는 전에 만들었던 테이블에 CRUD를 적용해 보는 실습을 진행하였다. 나는 한 파일에서 전부 다 해줄줄 알았는데, 각자의 테이블 파일안에서 모듈, 리졸버, 서비스 파일을 만들어서 각자 적용을 해주는게 여간 번거로운 것이 아니었다. 생각해보면 각자의 API의 역할이 다르기 때문에 이렇게 하는 것이 맞는데, 그래도 역시 복잡하고 똑같은 걸 계속 하다보니 머리가 이상해졌다.

암호화(단방향, 양방향)

이 내용은 전에 학교에서 배운 적이 있는데, 전공학점을 채우기 위해 아무생각없이 신청을 했다가, 배울 내용이 너무 많아 힘들었던 기억이 있다.

먼저 단방향 암호화의 경우, 복호화가 불가능한 일방향성 암호화이다. 즉 암호화된 데이터를 다시 되돌리지 못한다. 종류로는 해시와 MAC가 있다. 해시는 메시지의 길이로부터 고정된 길이의 해시 값을 계산한다. 이 해시 값은 복호화가 불가능하다. 메세지마다 이 해시값은 달라지고, 혹시라도 해시값이 같다면 충돌오류가 발생한다.
그 다음 MAC은 서로가 공유하는 키와 메세지를 기반으로 만들어진 값이 MAC이다. 그래서 이 MAC을 메세지에 붙여 전송하고 수신자는 자신의 키로 값을 구하고 송신자가 보낸 것과 동일한지 확인하는 방법으로 인증과 무결성을 진행한다.

양방향의 경우는 대칭키와 공개키 암호화 방식이 있다. 대칭키는 암복호화 키가 동일하며 해당 키를 가지고 있는 사람만이 암복호화를 진행할 수 있다. 장점으로는 공개키보다 빠르다. 단점은 키를 교환하는 과정에서 문제가 발생하거나, 공격자가 침입해 탈취해가는 경우도 있다. 그리고 사람이 증가할수록 가지고 있어야할 키도 많아져 관리하기가 힘들다.
공개키는 키가 공개되어있는 공개키가 있고, 개인이 가지고 있는 개인키가 있다. 공개키의 장점은 공개키는 공개가 되어있고, 개인키는 각자 자신이 1개씩 가지고 있으므로 키를 교환하는 과정이 필요가 없다. 단점은 속도가 느리다.

profile
안녕하세요

0개의 댓글