단방향 암호화 / 양방향 암호화

오홍석·2022년 12월 16일
0

단방향 암호화

암호화된 데이터에 대한 복호화가 불가능한 암호화 방식을 이야기한다. 대표적인 방식으로는 Hash가 있다.

Hash

임의의 길이 메시지로부터 고정길이의 해시값을 계산한다.
단방향 암호화이기 때문에 해시값으로부터 메시지를 역산할 수는 없으며 이것을 일방향성을 갖는다라고 말한다.
메시지가 1bit라도 달라지면 해시값은 높은 확률로 다른 값을 가지게 되지만, 만약 서로 다른 메시지가 같은 해시값을 가지게 된다면 이것을 충돌(Collision)이라고 한다. 대표적인 알고리즘에는 SHA-256/512 등이 있다.

단점

처리속도를 빠르게 만든 해시함수의 특성으로 인해 해커 또한 매우 빠른 속도로 해쉬값을 비교할 수 있다. 즉, 비밀번호를 알아내는데 큰 시간이 걸리지 않는다.

보완

Salting이라는 것은 실제 비밀번호 이외에 임의의 문자열을 더해 해시값을 계산하는 방법이다. 그렇지만 이것 또한 시간을 늘리는 것이기에 완벽할 해결법은 아니고 보완할 수 있는 방법이다.

양방향 암호화

암호화된 데이터에 대한 복호화가 가능한 암호화 방식을 이야기한다.
대표적으로 대칭키, 공개키 암호화 방식이 있다.

대칭키

대칭키는 암복호화키가 동일하며 해당 키를 아는 사람만이 문서를 복호화해 볼 수 있게 한다.
대표적인 알고리즘으로 DES, 3DES, AES, SEED, ARIA 등이 있다.

장점

공개키 암호화 방식에 비해서 빠른 속도를 가지고 있다.

단점

키를 교환하는 과정에서 키를 빼앗길 가능성이 있다.
사용자가 증가할 수록 모든 사람이 키를 따로 따로 교환해야 하므로 관리해야 할 키가 엄청나게 늘어난다.

profile
기동코딩

0개의 댓글