Notice
Recent Posts
Recent Comments
Link
05-02 00:03
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

<<개발일지>>

대칭키(비밀키) 비대칭키(공개키) -작성중- 본문

카테고리 없음

대칭키(비밀키) 비대칭키(공개키) -작성중-

개발하는지호 2024. 7. 24. 14:50

대칭키(비밀키) 암호화

대칭키 암호화에서는 데이터를 암호화하고 복호화하는 데 동일한 키를 사용합니다. 이 키는 '비밀키'라고도 불립니다. 대칭키 암호화는 다음과 같은 방식으로 작동합니다:

  1. 키 공유: 송신자와 수신자가 같은 비밀키를 공유합니다. 이 키는 반드시 비밀로 유지되어야 합니다.
  2. 데이터 암호화: 송신자는 데이터를 암호화하기 위해 비밀키를 사용합니다.
  3. 데이터 전송: 암호화된 데이터를 수신자에게 전송합니다.
  4. 데이터 복호화: 수신자는 동일한 비밀키를 사용하여 암호화된 데이터를 복호화합니다.

예시: 두 사람, Alice와 Bob이 있다고 가정해보겠습니다.

  1. Alice와 Bob은 서로 동일한 비밀키를 미리 공유합니다.
  2. Alice는 메시지 "Hello, Bob!"을 비밀키로 암호화하여 암호문을 만듭니다.
  3. 암호문을 Bob에게 전송합니다.
  4. Bob은 받은 암호문을 동일한 비밀키로 복호화하여 원래의 메시지 "Hello, Bob!"을 얻습니다.

장점: 대칭키 암호화는 계산이 비교적 빠르며, 대량의 데이터를 효율적으로 암호화할 수 있습니다.

단점: 키를 안전하게 공유하고 관리하는 것이 어려울 수 있습니다. 키가 노출되면 보안이 손상됩니다.

공개키(비대칭키) 암호화

공개키 암호화에서는 두 개의 키를 사용합니다: 공개키와 개인키. 공개키는 누구나 알 수 있는 키이며, 개인키는 비밀로 유지되어야 하는 키입니다. 공개키 암호화는 다음과 같은 방식으로 작동합니다:

  1. 키 쌍 생성: 각 사용자(예: Alice)는 공개키와 개인키 쌍을 생성합니다.
  2. 공개키 배포: Alice는 자신의 공개키를 공개적으로 배포합니다.
  3. 데이터 암호화: 다른 사용자(Bob)는 Alice의 공개키를 사용하여 데이터를 암호화합니다.
  4. 데이터 전송: Bob은 암호화된 데이터를 Alice에게 전송합니다.
  5. 데이터 복호화: Alice는 자신의 개인키를 사용하여 암호화된 데이터를 복호화합니다.

예시: Alice와 Bob의 예를 계속해 보겠습니다.

  1. Alice는 공개키와 개인키 쌍을 생성합니다. 공개키는 공개적으로 배포하고, 개인키는 비밀로 유지합니다.
  2. Bob은 Alice의 공개키를 사용하여 메시지 "Hello, Alice!"를 암호화합니다.
  3. 암호화된 메시지를 Alice에게 전송합니다.
  4. Alice는 자신의 개인키를 사용하여 받은 암호문을 복호화하여 원래의 메시지 "Hello, Alice!"를 얻습니다.

장점: 키 관리가 용이합니다. 공개키는 자유롭게 배포할 수 있고, 개인키만 비밀로 유지하면 됩니다. 키 교환 과정에서 키가 노출될 위험이 없습니다.

단점: 대칭키 암호화에 비해 계산이 복잡하고 느립니다. 따라서 대량의 데이터를 암호화하는 데는 효율적이지 않습니다.

요약

  • 대칭키(비밀키) 암호화:
    • 동일한 키로 암호화 및 복호화.
    • 빠르고 효율적이지만, 키 관리가 어려움.
  • 공개키(비대칭키) 암호화:
    • 공개키로 암호화하고 개인키로 복호화.
    • 키 관리가 용이하지만, 계산이 복잡하고 느림.

대칭키와 공개키 암호화는 종종 함께 사용되어 각 방식의 장점을 결합합니다. 예를 들어, 공개키 암호화를 사용하여 대칭키를 안전하게 교환한 후, 대칭키를 사용하여 데이터를 암호화하는 방식입니다.