암호: Difference between revisions

From IT Wiki
(새 문서: 분류:보안분류:암호학 ; Cryptography = 용어 정의 = * 암호 ** Cipher * 암호문 ** Ciphertext ** 평문을 암호학적 방법으로 변환한 것을 암호 *...)
 
 
(10 intermediate revisions by 4 users not shown)
Line 2: Line 2:
; Cryptography
; Cryptography


= 용어 정의 =
== 개요 ==
* 암호
=== 용어 정의 ===
** Cipher
* 암호(Cipher)
* 암호문
* 암호문(Ciphertext)
** Ciphertext
** 평문을 암호학적 방법으로 변환한
** 평문을 암호학적 방법으로 변환한 것을 암호
* 암호화(Encryption, Enciphering)
* 암호화
** Encryption, Enciphering
** 평문을 암호문으로 변화하는 과정
** 평문을 암호문으로 변화하는 과정
* 평문
* 평문(Plaintext)
** Plaintext
** 암호학을 이용하여 보호해야 할 메시지
** 암호학을 이용하여 보호해야 할 메시지
* 복호화
* 복호화(Decryption, Deciphering)
** Decryption, Deciphering
** 암호문을 다시 평문으로 변환하는 과정
** 암호문을 다시 평문으로 변환하는 과정


= 암호화와 부호화의 차이 =
=== 원리 ===
* 대치(Substitution): 평문의 글자를 다른 글자로 바꿈
* 전치(Transposition): 평문의 글자 순서를 바꿈
 
=== 암호화와 부호화의 차이 ===
;Encryption/Decryption vs Encode/Decode
;Encryption/Decryption vs Encode/Decode
* 암호화는 암호키가 사용되어 기밀성을 목적으로 한다.
* 암호화는 암호키가 사용되어 기밀성을 목적으로 한다.
Line 24: Line 24:
** 인코드된 결과는 마치 암호문 처럼 보이지만 기밀성보다는 데이터 전달에 목적을 두고 있다.
** 인코드된 결과는 마치 암호문 처럼 보이지만 기밀성보다는 데이터 전달에 목적을 두고 있다.


= 암호의 분류 =
=== 암호의 발전 ===
{| class="wikitable"
|-
! 세대 !! 설명 !! 예시
|-
| 1세대 암호 || 현대적 암호가 나오기 전 전통적 암호 || 에니그마
|-
| 2세대 암호 || 기초적인 형태의 실무적 블록 암호 || DES, SEED
|-
| 3세대 암호 || 공개키 암호 || RSA, ECC
|-
| 4세대 암호 || 개선된 암호 || 동형암호, 양자암호, 경량암호
|}
 
== [[암호 알고리즘]] ==
; 키 운용에 따라 대칭키(비밀키) 암호화와 비대칭키(공개키) 암호화로 구분할 수 있고, 키를 사용하지 않는 해시 암호도 있다.
; 키 운용에 따라 대칭키(비밀키) 암호화와 비대칭키(공개키) 암호화로 구분할 수 있고, 키를 사용하지 않는 해시 암호도 있다.
== 대칭키 암호화 ==
* 암호화 알고리즘은 공개될 수도 있다.
* 암호의 안정성은 비밀키의 기밀성에 기반하여야 한다.
=== [[대칭키 암호화]] ===
; 대칭 키 암호는 블록 암호와 스트림 암호로 나뉜다.
; 대칭 키 암호는 블록 암호와 스트림 암호로 나뉜다.
=== 블록 암호 ===
==== [[블록 암호]] ====
* [[DES]]
* [[DES]]: AES 이전 미국 표준 암호 알고리즘
* [[IDEA]]
* [[IDEA]]
* [[AES]]
* [[AES]]: 미국 표준 암호 알고리즘
* [[SEED]]
* [[SEED]]: ARIA 이전 국내 표준 암호 알고리즘
* [[ARIA]]
* [[ARIA]]: 국내 표준 암호 알고리즘
* [[RC5]]
* [[RC5]]
* [[HIGHT]]: 국내 개발 경량 암호 알고리즘
* [[LEA]]: 국내 개발 국제 표준 경량 암호 알고리즘
===== [[블록 암호 모드]] =====
* [[ECB|ECB(Electric CodeBook mode)]]
* [[CBC|CBC(Cipher Block Chaining mode)]]
* [[CFB|CFB(Cipher-FeedBack mode)]]
* [[OFB|OFB(Output-FeedBack mode)]]
* [[CTR|CTR(CounTeR mode)]]
===== [[블록 암호 구조]] =====
* [[페이스텔 구조]]
* [[SPN]]
* [[I-SPN]]
* [[GFN]]


=== 스트림 암호 ===
==== [[스트림 암호]] ====
* [[RC4]]
* [[RC4]]


== [[공개키 암호화]] ==
=== [[공개키 암호화]] ===
;비대칭키 암호화라고도 한다.
;비대칭키 암호화라고도 한다.
* 암호화와 복호화에 서로 다른 키를 이용한다.
* 암호화와 복호화에 서로 다른 키를 이용한다.
* 키 배송(분배)의 문제를 해결할 수 있다.
* 키 배송(분배)의 문제를 해결할 수 있다.
* 대칭키에 비해 속도가 느리다.
* 대칭키에 비해 속도가 느리다.
* [[종류]]
* '''종류'''
** [[RSA]]
** [[RSA]]
** [[ECC]]
** [[ECC]]


== 해시 암호화 ==
=== [[해시 암호]] ===
* [[MD]]
* [[MD]]
* [[SHA]]
* [[SHA]]


== [[암호 알고리즘 보안강도]] ==
* 대칭키 암호: 키 길이에 비례
* 공개키 암호: 키 길이에 비례
* 해시 암호: 별도의 키가 존재하지 않기 때문에 보안강도는 충돌회피성에 의해 결정


* 암호화 알고리즘은 공개될 수도 있다.
== [[암호 공격]] ==
* 암호의 안정성은 비밀키의 기밀성에 기반하여야 한다.
암호를 해독하거나 암호 알고리즘을 파악하여 암호를 무력화하기 위한 공격
* 암호문 단독 공격
* 기지 평문 공격
* 선택 평문 공격
* 선택 암호문 공격

Latest revision as of 16:17, 5 March 2023

Cryptography

개요[edit | edit source]

용어 정의[edit | edit source]

  • 암호(Cipher)
  • 암호문(Ciphertext)
    • 평문을 암호학적 방법으로 변환한 것
  • 암호화(Encryption, Enciphering)
    • 평문을 암호문으로 변화하는 과정
  • 평문(Plaintext)
    • 암호학을 이용하여 보호해야 할 메시지
  • 복호화(Decryption, Deciphering)
    • 암호문을 다시 평문으로 변환하는 과정

원리[edit | edit source]

  • 대치(Substitution): 평문의 글자를 다른 글자로 바꿈
  • 전치(Transposition): 평문의 글자 순서를 바꿈

암호화와 부호화의 차이[edit | edit source]

Encryption/Decryption vs Encode/Decode
  • 암호화는 암호키가 사용되어 기밀성을 목적으로 한다.
  • 부호화는 암호키가 없고 매커니즘이 공개되어 있어 누구나 인코드/디코드할 수 있다.
    • 인코드된 결과는 마치 암호문 처럼 보이지만 기밀성보다는 데이터 전달에 목적을 두고 있다.

암호의 발전[edit | edit source]

세대 설명 예시
1세대 암호 현대적 암호가 나오기 전 전통적 암호 에니그마
2세대 암호 기초적인 형태의 실무적 블록 암호 DES, SEED
3세대 암호 공개키 암호 RSA, ECC
4세대 암호 개선된 암호 동형암호, 양자암호, 경량암호

암호 알고리즘[edit | edit source]

키 운용에 따라 대칭키(비밀키) 암호화와 비대칭키(공개키) 암호화로 구분할 수 있고, 키를 사용하지 않는 해시 암호도 있다.
  • 암호화 알고리즘은 공개될 수도 있다.
  • 암호의 안정성은 비밀키의 기밀성에 기반하여야 한다.

대칭키 암호화[edit | edit source]

대칭 키 암호는 블록 암호와 스트림 암호로 나뉜다.

블록 암호[edit | edit source]

  • DES: AES 이전 미국 표준 암호 알고리즘
  • IDEA
  • AES: 미국 표준 암호 알고리즘
  • SEED: ARIA 이전 국내 표준 암호 알고리즘
  • ARIA: 국내 표준 암호 알고리즘
  • RC5
  • HIGHT: 국내 개발 경량 암호 알고리즘
  • LEA: 국내 개발 국제 표준 경량 암호 알고리즘
블록 암호 모드[edit | edit source]
블록 암호 구조[edit | edit source]

스트림 암호[edit | edit source]

공개키 암호화[edit | edit source]

비대칭키 암호화라고도 한다.
  • 암호화와 복호화에 서로 다른 키를 이용한다.
  • 키 배송(분배)의 문제를 해결할 수 있다.
  • 대칭키에 비해 속도가 느리다.
  • 종류

해시 암호[edit | edit source]

암호 알고리즘 보안강도[edit | edit source]

  • 대칭키 암호: 키 길이에 비례
  • 공개키 암호: 키 길이에 비례
  • 해시 암호: 별도의 키가 존재하지 않기 때문에 보안강도는 충돌회피성에 의해 결정

암호 공격[edit | edit source]

암호를 해독하거나 암호 알고리즘을 파악하여 암호를 무력화하기 위한 공격

  • 암호문 단독 공격
  • 기지 평문 공격
  • 선택 평문 공격
  • 선택 암호문 공격