Contents

About encryption

   Apr 9, 2024     1 min read

μ•”ν˜Έν™”μ— λŒ€ν•˜μ—¬ μ•Œμ•„λ³Έ κΈ€μž…λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”!

μ˜€λŠ˜μ€ μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜κ³Ό μ•”ν˜Έν™” 기법에 λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€.

글을 본격적으둜 μ‹œμž‘ν•˜κΈ°μ— μ•žμ„œ,

β€”μ˜€λŠ˜μ˜ TMIβ€”

μ–Όλ§ˆμ „μ— 생일이라고 μ‹€λ‚΄ μ•„μ΄μŠ€ μŠ€μΌ€μ΄νŠΈλ₯Ό νƒ€λŸ¬ μž μ‹€μ— κ°”λŠ”λ° λͺΈμ‚΄ 걸릴 λ»” ν–ˆμŠ΅λ‹ˆλ‹€. μ•„μ΄μŠ€λ§ν¬μž₯에 κ°„λ‹€κ³  μ˜·μ„ λ‘κ»κ²Œ μž…μ—ˆλŠ”λ° νƒ€λ‹€λ³΄λ‹ˆ 땀이 λ‚˜μ„œ μ—„μ²­ λ₯λ”λΌκ³ μš”. 벗기도 νž˜λ“  옷이라 μž…κ³  μžˆμ—ˆλ”λ‹ˆ ν•˜ν•˜.. κ³ μˆ˜λ“€μ€ λ°˜νŒ”μ΄λ‚˜ 얇은 κΈ΄νŒ”μ„ μž…κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 제 생각에 κ°€μž₯ 이상적인 볡μž₯은 λ°˜νŒ”μ— κΈ΄νŒ” κ²‰μ˜·μ„ 걸치면 μ‘°μ ˆν•˜κΈ° 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€! γ…Žγ…Ž

β€”TMI 끝—

κΈ€λ‘œ λŒμ•„κ°€κ² μŠ΅λ‹ˆλ‹€!

μ•”ν˜Έν™”λŠ” 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ λ³΄ν˜Έν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 기술둜, κ°œμΈν‚€μ™€ κ³΅κ°œν‚€ μ•”ν˜Έν™” 기법, 그리고 ν•΄μ‹œμ™€ μ†”νŠΈμ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

κ°œμΈν‚€μ™€ κ³΅κ°œν‚€ μ•”ν˜Έν™” 기법

κ°œμΈν‚€μ™€ κ³΅κ°œν‚€ μ•”ν˜Έν™” 기법은 λŒ€μΉ­ν‚€ μ•”ν˜Έν™” λ°©μ‹μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ 개발된 μ•”ν˜Έν™” λ°©μ‹μž…λ‹ˆλ‹€.

κ°œμΈν‚€ μ•”ν˜Έν™” 기법은 ν•˜λ‚˜μ˜ ν‚€λ‘œ μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”λ₯Ό λͺ¨λ‘ μ²˜λ¦¬ν•˜λŠ” 방식이며, κ³΅κ°œν‚€ μ•”ν˜Έν™” 기법은 μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”λ₯Ό μœ„ν•œ μ„œλ‘œ λ‹€λ₯Έ 두 개의 ν‚€λ₯Ό μ‚¬μš©ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

κ°œμΈν‚€ μ•”ν˜Έν™” 기법은 μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”μ— λ™μΌν•œ ν‚€λ₯Ό μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— λΉ λ₯΄μ§€λ§Œ, ν‚€λ₯Ό μ•ˆμ „ν•˜κ²Œ 관리해야 ν•˜λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€.

κ³΅κ°œν‚€ μ•”ν˜Έν™” 기법은 κ³΅κ°œν‚€λ‘œ μ•”ν˜Έν™”ν•˜κ³  κ°œμΈν‚€λ‘œ λ³΅ν˜Έν™”ν•˜κΈ° λ•Œλ¬Έμ— ν‚€λ₯Ό μ•ˆμ „ν•˜κ²Œ 관리할 ν•„μš”κ°€ μ—†μ§€λ§Œ, κ°œμΈν‚€λ₯Ό μ΄μš©ν•œ μ•”ν˜Έν™”λŠ” κ°œμΈν‚€ μ•”ν˜Έν™” 기법보닀 느릴 수 μžˆμŠ΅λ‹ˆλ‹€.

λŒ€ν‘œμ μΈ κ³΅κ°œν‚€ μ•”ν˜Έν™” 기법

RSA, DSA, ECC 등이 있으며, μ΄λŸ¬ν•œ μ•”ν˜Έν™” 기법은 μ•ˆμ „ν•œ 톡신과 데이터 λ³΄ν˜Έμ— 널리 μ‚¬μš©λ©λ‹ˆλ‹€.

ν•΄μ‹œμ™€ μ†”νŠΈ ν•΄μ‹œ

ν•΄μ‹œμ™€ μ†”νŠΈ ν•΄μ‹œλŠ” μž„μ˜μ˜ 길이의 데이터λ₯Ό κ³ μ •λœ 길이의 λ°μ΄ν„°λ‘œ λ³€ν™˜ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€.

ν•΄μ‹œ ν•¨μˆ˜λŠ” λ™μΌν•œ μž…λ ₯에 λŒ€ν•΄μ„œλŠ” 항상 λ™μΌν•œ ν•΄μ‹œ 값을 좜λ ₯ν•˜λ©°, ν•œ 번 ν•΄μ‹œλœ λ°μ΄ν„°λŠ” μ›λž˜μ˜ λ°μ΄ν„°λ‘œ 볡원할 수 μ—†μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ νŠΉμ„±μ„ μ΄μš©ν•˜μ—¬ μ•”ν˜Έν™”λ³΄λ‹€λŠ” 데이터 무결성 κ²€μ¦μ΄λ‚˜ λΉ„λ°€λ²ˆν˜Έ μ €μž₯ 등에 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ ν•΄μ‹œ ν•¨μˆ˜λ§ŒμœΌλ‘œλŠ” λ³΄μ•ˆμ— μ·¨μ•½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ μ†”νŠΈ(Salt)λΌλŠ” κ°œλ…μ΄ λ„μž…λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ†”νŠΈλŠ” ν•΄μ‹œ ν•¨μˆ˜μ— μΆ”κ°€λ˜λŠ” μž„μ˜μ˜ κ°’μœΌλ‘œ, 각각의 데이터에 κ³ μœ ν•œ ν•΄μ‹œ 값을 μƒμ„±ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€.

μ†”νŠΈλ₯Ό μ‚¬μš©ν•˜λ©΄ λ™μΌν•œ 데이터에 λŒ€ν•΄μ„œλ„ λ‹€λ₯Έ ν•΄μ‹œ 값을 μƒμ„±ν•˜μ—¬ λ³΄μ•ˆμ„ κ°•ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ’…λ₯˜μ™€ κ°„λ‹¨ν•œ μ†Œκ°œ μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜κ³Ό μ•”ν˜Έν™” 기법은 λ‹€μ–‘ν•œ μ’…λ₯˜κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€.

λͺ‡ 가지 λŒ€ν‘œμ μΈ μ’…λ₯˜λ₯Ό κ°„λ‹¨ν•˜κ²Œ μ†Œκ°œν•˜κ² μŠ΅λ‹ˆλ‹€.

  • λŒ€μΉ­ν‚€ μ•”ν˜Έν™”: μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”μ— λ™μΌν•œ ν‚€λ₯Ό μ‚¬μš©ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ, DES, AES 등이 μžˆμŠ΅λ‹ˆλ‹€.
  • κ³΅κ°œν‚€ μ•”ν˜Έν™”: μ•”ν˜Έν™”μ™€ λ³΅ν˜Έν™”μ— μ„œλ‘œ λ‹€λ₯Έ ν‚€λ₯Ό μ‚¬μš©ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ, RSA, DSA, ECC 등이 μžˆμŠ΅λ‹ˆλ‹€.
  • ν•΄μ‹œ ν•¨μˆ˜: μž„μ˜μ˜ 길이의 데이터λ₯Ό κ³ μ •λœ 길이의 λ°μ΄ν„°λ‘œ λ³€ν™˜ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ, MD5, SHA-1, SHA-256 등이 μžˆμŠ΅λ‹ˆλ‹€.

마치며

μ΄μƒμœΌλ‘œ μ˜€λŠ˜μ€ μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜κ³Ό μ•”ν˜Έν™” 기법, 그리고 ν•΄μ‹œμ™€ μ†”νŠΈμ— λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ μ•”ν˜Έν™” κΈ°μˆ μ€ κ°œμΈμ •λ³΄ λ³΄ν˜Έμ™€ 데이터 λ³΄μ•ˆμ— μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€.