Security/보안

[보안 2] 암호화(Encryption)

snowkit 2024. 12. 1. 08:32

설명

데이터를 암호화하지 않고 전달하면 공격자가 훔쳐볼 가능성이 있습니다.
안전하게 데이터를 주고 받으려면 암호화를 할 필요가 있습니다.

용어

  • 평문(Plain text)
    • 암호화 되지 않은 데이터
  • 암호문(Encrypted text)
    • 암호화 한 데이터
  • 암호화(Encryption)
    • 평문을 암호문으로 변경하는 것
  • 복호화(Decryption)
    • 암호문을 평문으로 변경하는 것
    • 양방향 암호화인 경우만 복호화 가능
    • 단방향 암호화인 경우는 복호화 불가능

암호화

  • 암호화 방법
    • 컴퓨터에서 텍스트, 사진, 음악 등 모든 데이터는 0과 1로 관리됨
    • 암호화란 데이터에 어떤 연산을 적용해서 0과 1로 이루어진 숫자를 변경하는 것
  • 양방향 암호화
    • key 필수
    • 복호화 가능한 암호화
    • 암호화 예시
      • 원본 데이터: 1101 (2진수)
      • key: 1100 (2진수)
      • 암호화 방식: XOR 연산
        • 같으면 0, 다르면 1
        • A XOR B = C라면 B XOR C = A
        • 즉 A(평문)와 B(key)를 알고 있으면 C(암호문)를 구할 수 있고, B(key)와 C(암호문)를 알고 있으면 A(평문)을 구할 수 있음
      • 암호화 결과: 0001 (2진수)
    • 복호화 예시
      • 암호문: 0001 (2진수)
      • key: 1100 (2진수)
      • 암호화 방식: XOR 연산
      • 복호화 결과: 1101 (2진수)
  • 단방향 암호화
    • key 필요 없음
    • 복호화 불가능
    • 주로 hash 기법 사용

'Security > 보안' 카테고리의 다른 글

[보안 6] 하이브리드(Hybrid) 암호  (2) 2024.12.01
[보안 5] 비대칭키(Asymmetric key) 암호  (0) 2024.12.01
[보안 4] 대칭키(Symmetric key) 암호  (0) 2024.12.01
[보안 3] 해시(Hash)  (0) 2024.12.01
[보안 1] 보안  (0) 2024.12.01