암호화 알고리즘: Difference between revisions

From IT Wiki
No edit summary
No edit summary
Tags: Manual revert Visual edit
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[분류:보안]][[분류:암호학]][[분류:정보보안기사]]
[[분류:보안]][[분류:암호학]][[분류:정보보안기사]]
==대칭키==
= 분류 =
===블록암호===
;크게 대칭키 알고리즘과 공개키 알고리즘으로 분류할 수 있다.
{| class="wikitable"
!
! 비밀키(대칭키) 암호
! 공개키(비대칭키) 암호
|-
| 암호화 방법
| 암호화와 복호화에 같은 키를 사용
| 암호화와 복호화에 다른 키를 사용
키 쌍 K1, K2에 대해
* K1으로 암호화한 것은 K2로 복호화
* K2로 암호화한 것은 K1으로 복호화
|-
| 키의 개수
| 암호를 공유하는 사용자의 순서쌍 개수
n(n-1)/2
| 사람당 2개씩(공개키, 비밀키)
2n
|-
| 장점
| 상대적으로 빠름
| 키 분배 문제 해소
전자서명 가능
|-
| 단점
| 안전한 키 분배가 문제
참여자 증가에 따라 키 개수 기하급수적 증가
| 키 발급자에 대한 보증 어려움
상대적으로 느림
|}
==대칭키(비밀키) 방식==
; 블록 암호화 스트림 암호로 나눌 수 있다.
===블록 암호===
{| class="wikitable"
{| class="wikitable"
! 구분
! 구분
Line 41: Line 73:
| SPN
| SPN
| SPN
| SPN
| SPN
| Lai-Massey schema
|-
|-
| 비고
| 비고
Line 54: Line 86:
|}
|}
* 그 외
* 그 외
* [[CRYPTON]]
** [[CRYPTON]]
* [[RC5]]
** [[RC5]]
* [[REAL]]
** [[REAL]]
* [[MISTY]]
** [[MISTY]]
* [[SKIPJACK]]
** [[SKIPJACK]]


* '''Feistel과 SPN'''
* '''Feistel과 SPN'''
Line 67: Line 99:
* [[RC4|RC4(취약)]]
* [[RC4|RC4(취약)]]


==공개키(비대칭키)==
==비대칭키(공개키) 방식==
* [[RSA]]
; 대표적으로 인수분해 기반 방식(대표적으로 [[RSA]]), 이산대수 기반 방식, [[타원 곡선 암호|타원곡선 방식]]으로 나뉜다.
* [[ElGamal]]
* 인수분해 : RSA, Rabin
* [[ECC]]
* 이산대수 : Diffie-Hellman, Elgamal, DSA, Schnorr
* [[Knapsack]]
* 타원곡선 : ECC
* [[DSA]]
* [[RSA]]와 [[ECC]]의 비교
** Digital Signature Algorithm
{| class="wikitable"
** 1991년 미국국립표준·기술연구소(NIST)에서 표준안으로 개발한 공개 키 기반의 알고리즘
! 구분
 
! [[ECC]]
! [[RSA]]
|-
| 속도
| 빠름
| 느림
|-
| 키 길이
| 짧음
| 김
|-
| 시장점유율
| 낮음
| 높음
|-
| 주요 사용처
| 모바일 환경
(그 외 환경으로 확대 중)
| 유선 환경
|-
| 장점
| 효율성
| 오랜 기간 입증된 안전성
|}
* 그 외
** [[ElGamal]]
** [[Knapsack]]
** [[DSA]]
*** Digital Signature Algorithm
*** 1991년 미국국립표준·기술연구소(NIST)에서 표준안으로 개발한 공개 키 기반의 알고리즘


== 해시 알고리즘 ==
* SHA
* MD


==국내 개발 암호화 알고리즘==
=국내 개발 암호화 알고리즘=
ARIA, HIGHT, LEA, SEED
[[ARIA]], [[HIGHT]], [[LEA]], [[SEED]]

Latest revision as of 17:28, 6 October 2023

분류[edit | edit source]

크게 대칭키 알고리즘과 공개키 알고리즘으로 분류할 수 있다.
비밀키(대칭키) 암호 공개키(비대칭키) 암호
암호화 방법 암호화와 복호화에 같은 키를 사용 암호화와 복호화에 다른 키를 사용

키 쌍 K1, K2에 대해

  • K1으로 암호화한 것은 K2로 복호화
  • K2로 암호화한 것은 K1으로 복호화
키의 개수 암호를 공유하는 사용자의 순서쌍 개수

n(n-1)/2

사람당 2개씩(공개키, 비밀키)

2n

장점 상대적으로 빠름 키 분배 문제 해소

전자서명 가능

단점 안전한 키 분배가 문제

참여자 증가에 따라 키 개수 기하급수적 증가

키 발급자에 대한 보증 어려움

상대적으로 느림

대칭키(비밀키) 방식[edit | edit source]

블록 암호화 스트림 암호로 나눌 수 있다.

블록 암호[edit | edit source]

구분 DES 3DES SEED AES ARIA IDEA
키 길이 56bit 56*3bit 128bit 128/192/256bit 128/192/256bit 128bit
블록 크기 64bit 64bit 128bit 128bit 128bit 64bit
라운드 16번 16*3번 16번 10/12/14번 12/14/16번 8번
구조 Feistel Network Feistel Network Feistel Network SPN SPN Lai-Massey schema
비고 AES 이전 미국 표준 DES의 취약점 보완 및

호환성 유지용 임시방편

ARIA 이전 국내 표준 현 미국 표준 현 국내 표준 국제 표준

(PGP에서 사용)

스트림 암호[edit | edit source]

비대칭키(공개키) 방식[edit | edit source]

대표적으로 인수분해 기반 방식(대표적으로 RSA), 이산대수 기반 방식, 타원곡선 방식으로 나뉜다.
  • 인수분해 : RSA, Rabin
  • 이산대수 : Diffie-Hellman, Elgamal, DSA, Schnorr
  • 타원곡선 : ECC
  • RSAECC의 비교
구분 ECC RSA
속도 빠름 느림
키 길이 짧음
시장점유율 낮음 높음
주요 사용처 모바일 환경

(그 외 환경으로 확대 중)

유선 환경
장점 효율성 오랜 기간 입증된 안전성
  • 그 외
    • ElGamal
    • Knapsack
    • DSA
      • Digital Signature Algorithm
      • 1991년 미국국립표준·기술연구소(NIST)에서 표준안으로 개발한 공개 키 기반의 알고리즘

해시 알고리즘[edit | edit source]

  • SHA
  • MD

국내 개발 암호화 알고리즘[edit | edit source]

ARIA, HIGHT, LEA, SEED