암호화(Encryption)와 복호화(Decrytion)

휴먼시아·2024년 9월 7일

Infra

목록 보기
1/1
post-thumbnail

암호화(Encryption)복호화(Decrytion)는 데이터를 안전하게 보호하기 위해 사용되는 중요한 두 과정 입니다. 쉽게 말해 비밀 메시지를 안전하게 주고 받기 위한 방법이죠. 우리가 어린 시절 친구와 주고받던 암호 편지 처럼, 데이터를 보호하고 의미를 숨기는 과정이 바로 암호화입니다. 그리고 암호화된 데이터를 원래대로 되돌려 읽는 것이 복호화입니다.


🔒 암호화(Encryption)와 복호화(Decryption)

  • 암호화는 데이터를 안전하게 보호하기 위해 원래 내용을 알아볼 수 없는 형태로 변환하는 과정입니다. 암호화 알고리즘을 사용하여 데이터를 특정 방식으로 변환하며 이때 암호 키가 사용됩니다.

  • 복호화암호화된 데이터를 다시 원래의 형태로 되돌리는 과정입니다. 암호화에 사용된 알고리즘과 키를 사용하여 복호화가 이루어 집니다.


🔒 암호화의 종류

암호화는 크게 일방향 암호화와 양방향 암호화로 나뉩니다. 이 두 가지 방식은 데이터를 암호화하고 복호화하는 방식에서 중요한 차이점을 보입니다.

🔄 양방향 암호화

양방향 암호화는 데이터를 암호화한 후 다시 복호화할 수 있는 방식입니다. 주로 우리가 일상에서 사용하는 암호화와 복호화가 모두 포함된 방식입니다.

  • 암호화와 복호화: 데이터를 암호화하고, 필요한 경우 암호화된 데이터를 다시 복호화하여 원본으로 되돌릴 수 있습니다.
  • 암호화 키: 대칭 키 또는 비대칭 키를 사용하여 암호화 및 복호화 과정을 진행합니다.
  • 사용 사례: 금융 거래, 기밀 문서 전송, 이메일 암호화 등에서 사용됩니다. 데이터를 전송한 후 수신자가 원본 데이터를 다시 복호화하여 볼 수 있어야 하는 경우에 적합합니다.

🗝️ 대칭키 암호화

대칭키 암호화는 암호화와 복호화에 같은 열쇠를 사용하는 방식입니다. 즉 내가 데이터를 암호화할 때 사용한 키와 복호화 할 때 필요한 키가 동일합니다. 이 방식은 빠르고 효율적이지만, 열쇠를 안전하게 전달하는 것이 매우 중요합니다. 열쇠가 노출되면 보안이 위태로워 집니다.

🗝️ 비대칭키 암호화

비대칭키 암호화는 '공개키'와 '개인키' 두 개의 열쇠를 사용합니다. 공개키는 누구나 볼 수 있지만, 개인키는 오직 나만 가지고 있습니다. 공개키로 데이터를 암호화하면, 오직 개인키로만 복호화할 수 있습니다. 이 방식은 데이터 전송 시 보안이 강화되지만, 대칭키 암호화에 비해 느리다는 단점이 있습니다. 반대로 개인키로 서명한 데이터를 공개키로 검증할 수도 있습니다.

↪️ 일방향 암호화

일방향 암호화암호화된 데이터가 다시 원래 상태로 되돌아 갈 수 없는 방식입니다. 한번 암호화가 되는 복호화가 불가능한 이 방식은 해시(Hash) 알고리즘을 사용합니다. 비밀번호 저장이나 데이터 무결성을 검증할 때 주로 사용되며, 원래 데이터를 보호하는데 탁월합니다.

  • 복호화 불가: 암호화된 데이터(해시 값)는 복호화할 수 없으며, 평문으로 다시 변환할 수 없습니다.
  • 해시 함수(Hash Function): 일반적으로 해시 함수가 사용됩니다. 입력 데이터에 대해 고정된 길이의 해시 값을 생성합니다.
  • 사용 사례: 주로 비밀번호 저장, 데이터 무결성 확인, 디지털 서명 등에서 사용됩니다. 예를 들어 사용자의 비밀번호는 데이터베이스에 해시 형태로 저장되어 원본 비밀번호를 알아낼 수 없습니다.

📎 해시(Hash)

해시(Hash)는 정보를 고정된 크기의 짧은 문자열로 변환하는 기술입니다. 주로 무결성을 확인하는데 사용됩니다. 쉽게 말하자면, 메시지가 전송되는 동안 한 글자라도 바뀌지 않았는지를 확인하는 기술입니다. 해시값이 동일하다면 정보다 전송 중에 변조되지 않았다는 것을 보장해주죠. 하지만 해시를 되돌려 원본 데이트를 복호화 하는 건 불가능하기 때문에, 일방향 암호화라고 할 수 있습니다.


🔒 정리

암호화와 복호화는 우리가 디지털 세계에서 데이터를 안전하게 주고받을 수 있도록 우리의 데이터를 보호하는 방패의 역할을 합니다. 마치 중요한 물건을 금고에 넣고, 특별한 열쇠로만 열 수 있게 만드는 것 처럼 말이죠.

메세지를 주고 받는 일부터 금융 거래까지, 우리의 중요한 정보가 중간에서 도난당하지 않도록 보호해줍니다. 특히 양방향 암호화는 안전한 통신과 거래에 필수적이고, 일방향 암호화는 데이터의 무결성을 보장해 줍니다.

📌 일방향 암호화 vs 양방향 암호화


일방향 암호화는 주로 비밀번호와 같이 복호화가 필요 없는 경우에 사용되며, 양방향 암호화는 데이터 통신이나 금융 거래와 같이 복호화가 필요한 상황에서 사용됩니다.


📌 대칭키 암호화 vs 비대칭키 암호화


대칭키는 속도와 효율성 측면에서 유리하지만, 키 관리가 어렵고 보안성이 떨어질 수 있습니다. 반면 비대칭키는 보안성이 뛰어나며 키 관리가 용이하지만, 속도가 느리고 복잡도가 높은 편입니다. 두 방식은 종종 함께 사용되며, 예를 들어 하이브리드 암호화에서는 데이터를 대칭키로 암호화한 뒤, 대칭키 자체를 비대칭키로 암호화하여 안전하게 전달하는 방식이 사용됩니다.



글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.
#내맘대로TIL챌린지 #교보DTS #클라우드교육 #글로벌소프트웨어캠퍼스 #GSC신촌

profile
코(딩)찔찔이 성장기

0개의 댓글