February 02, 2020
암호화에 있어서 가장 먼저 분류되는 방식은 양방향,단방향 알고리즘이다. 양방향 알고리즘은 암호화된 암호문을 복호화 할 수 있는 알고리즘을 의미하며 단방향 알고리즘은 복호화가 불가능한 알고리즘이다. 양방향 알고리즘은 대표적으로 대칭키(비공개키)와 비대칭키(공개키) 방식으로 나누어지며, 단방향은 Hash방식이 대표적이다
대칭키 방식은 암호화,복호화시 모두 동일한 키를 사용하고, 비대칭키 방식은 암호화 복호화에 서로 다른 키를 사용한다.
대칭키 방식 _ 특징: 암복호화에 서로 동일한 키가 사용되며 그래서 키를 비공개한다. _ 장점: 속도가 빠르다
비대칭키 방식 * 특징 : 암복호하에 서로 다른 키가 사용되는 암호화 방식이며, 하나의 키는 공개키로 사용
대칭키는 사용하는 키와 복호화 할때 사용하는 키가 동일한 기법으로 대개 암호화 알고리즘이라고 하면 대칭키를 가리킨다. 현재 보편적으로 쓰이는 암호화 방식은 미국 표준 방식인 AES이다. 대칭형 암호의 결정적인 문제는 키 배송에 관한 문제로 키가 배송과정에서 노출될 위험이 있다.
암호화를 하면 하나의 키 쌍이 생기고 이 두개의 키는 수학적으로 밀접한 관계를 가지고있다. 두 개의 키를 A,B라고 한다면 A키로 암호화한 암호문은 B키로만 복호화 할 수 있다 따라서 이 중 하나의 키만 비밀로 보호하고 이를 비밀키 라고 부른다. 공개키로 암호화한 암호문은 개인키를 가진 사람만이 풀어볼 수 있으므로 상호간에 공개키만 교환하고 상대의 공개키로 암호화를 해서 데이터를 교환하면 상대는 자신의 개인키로 복호화를 한다. 키 배송 문제는 근본적으로 발생하지 않는다.
평문을 암호문으로 암호화하는 것은 가능하나 암호문을 평문으로 복호화하는 것은 불가능한 기법이다. 예를 들면 패스워드는 양방향 암호로 저장하는 것 보다 단방향 암호로 저장하는 것이 안전하다. 주로 Hash기법을 사용하며 SHA-256, SHA-3를 쓰는 것이 좋다.