암호화 알고리즘: Difference between revisions

From IT Wiki
No edit summary
No edit summary
Tags: Manual revert Visual edit
 
(11 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 68: Line 100:


==비대칭키(공개키) 방식==
==비대칭키(공개키) 방식==
; 대표적으로 소인수분해 기반 방식(대표적으로 [[RSA]]), 이산대수 기반 방식([[ECC]])으로 나뉜다.
; 대표적으로 인수분해 기반 방식(대표적으로 [[RSA]]), 이산대수 기반 방식, [[타원 곡선 암호|타원곡선 방식]]으로 나뉜다.
== [[RSA]]와 [[ECC]]의 비교 ==
* 인수분해 : RSA, Rabin
* 이산대수 : Diffie-Hellman, Elgamal, DSA, Schnorr
* 타원곡선 : ECC
* [[RSA]]와 [[ECC]]의 비교  
{| class="wikitable"
{| class="wikitable"
! 구분
! 구분
Line 97: Line 132:
|}
|}
* 그 외
* 그 외
* [[ElGamal]]
** [[ElGamal]]
* [[Knapsack]]
** [[Knapsack]]
* [[DSA]]
** [[DSA]]
** Digital Signature Algorithm
*** Digital Signature Algorithm
** 1991년 미국국립표준·기술연구소(NIST)에서 표준안으로 개발한 공개 키 기반의 알고리즘
*** 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