저번 포스트에서 암호화에 대해서 알아봤으니 이번엔 조금 더 자세히 살펴보자.
먼저 양방향 알고리즘에 대해서 살펴보려고 해.
[대칭키 암호 알고리즘]
대칭키 암호 알고리즘은 송신자와 수신자가 같은 키를 보유하고 그 키를 통해 송신자가 평문을 암호화해서 전송하면
수신자가 같은 키로 복호화하는 방법을 이야기해. 다음 그림을 보면 이해가 더 쉬울거야!
대칭키 작동순서
1. 송신자는 수신자와 같은 비밀키로 평문을 암호화 한다.
2. 송신자는 암호화된 메시지를 상대방에게 전달한다.
3. 수신자는 송신자와 같은 비밀키로 암호화된 메시지를 해독해서 평문을 얻는다.
특징으로는,
- 암호화키와 복호화키가 같다.
- 속도가 빠르다.
정도가 있지.
그러나 키를 교환해야한다는게 문제인 것 같아.
키를 교환하는 중 키가 탈취될 수 있는 문제도 있어.
게다가 사람이 증가할수록 전부 따로따로 키교환을 해야하기 때문에 관리해야 할 키가 방대하게 많아진다는 점도 문제점이라고 생각해.
[비대칭키 암호 알고리즘]
공개키 암호 알고리즘이라고도 불리우는 방법이야.
이것도 우선 그림을 먼저 보고 이야기해보자.
비대칭키 작동순서
1. 송신자는 수신자의 공개키를 구한다.
2. 송신자는 수신자의 공개키로 평문을 암호화한다.
3. 송신자는 암호화된 메시지를 상대방에게 전달한다.
4. 수신자는 자신의 비밀키로 암호화된 메시지를 해독해서 평문을 얻는다.
특징으로는,
암호화와 복호화에 사용하는 키가 서로 다르다.
키를 교환할 필요가 없다.
비대칭키 형식은 암호화 할 때 수신자의 공개키를 가져다 사용하므로 각각 비밀키를 다 갖고 있지 않아도 된다는 장점이 있는 것 같아!
다만 단점으로는 대칭키 암호화에 비해서 속도가 굉장히 느리다는 점이 있어!
참고
'DATABASE' 카테고리의 다른 글
[DATABASE] SHA 해시 함수(단방향 알고리즘) (1) | 2021.01.23 |
---|---|
[DATABASE] 데이터베이스 암호화 (0) | 2021.01.22 |
[DATABASE]JDBC와 DBCP (0) | 2021.01.22 |
트랜잭션에 대한 MyISAM과 InnoDB의 차이 (0) | 2021.01.21 |
[DATABASE] 트랜잭션이란? (0) | 2021.01.21 |