암호화 알고리즘: 두 판 사이의 차이

IT위키
편집 요약 없음
(사용자 2명의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류:보안]][[분류:암호학]][[분류:정보보안기사]]
[[분류:보안]][[분류:암호학]][[분류:정보보안기사]]
==대칭키 알고리즘과 공개키 알고리즘==
= 분류 =
===대칭키===
;크게 대칭키 알고리즘과 공개키 알고리즘으로 분류할 수 있다.
* DES : 8개의 S-박스로 구성. S-BOX의 비선형 구조가 안전성과 연관됨. P-BOX는 안전성과 직접적인 연관이 없음
{| class="wikitable"
* 3-DES : 2~3개의 다른 키를 이용하여 DES를 반복적용
!
* AES : DES를 이은 미국 표준
! 비밀키(대칭키) 암호
* IDEA :
! 공개키(비대칭키) 암호
===공개키(비대칭키)===
|-
* [[RSA]]
| 암호화 방법
* [[ElGamal]]
| 암호화와 복호화에 같은 키를 사용
* [[ECC]]
| 암호화와 복호화에 다른 키를 사용
* [[Knapsack]]
키 쌍 K1, K2에 대해
* [[DSA]]
* K1으로 암호화한 것은 K2로 복호화
** Digital Signature Algorithm
* K2로 암호화한 것은 K1으로 복호화
** 1991년 미국국립표준·기술연구소(NIST)에서 표준안으로 개발한 공개 기반의 알고리즘
|-
 
| 키의 개수
==블록 암호와 스트림 암호==
| 암호를 공유하는 사용자의 순서쌍 개수
===블록암호===
n(n-1)/2
* [[DES]] : [[NIST]] 이전 표준(취약)
| 사람당 2개씩(공개키, 비밀키)
* [[IDEA]] : [[PGP]] 채택
2n
* [[AES|AES(Rijndael)]] : NIST 새로운 표준
|-
* [[SEED]] : 국내 표준
| 장점
* [[CRYPTON]]
| 상대적으로 빠름
* [[RC5]]
| 키 분배 문제 해소
* [[REAL]]
전자서명 가능
* [[MISTY]]
|-
* [[SKIPJACK]]
| 단점
* [[ARIA]]
| 안전한 키 분배가 문제
** 블록크기 : 128비트
참여자 증가에 따라 키 개수 기하급수적 증가
** 키 크기 : 128/192/256
| 발급자에 대한 보증 어려움
** 라운드수 : 12/14/16
상대적으로 느림
|}
==대칭키(비밀키) 방식==
; 블록 암호화 스트림 암호로 나눌 수 있다.
===블록 암호===
{| class="wikitable"
! 구분
! 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에서 사용)
|}
* 그 외
** [[CRYPTON]]
** [[RC5]]
** [[REAL]]
** [[MISTY]]
** [[SKIPJACK]]


* '''Feistel과 SPN'''
* '''Feistel과 SPN'''
38번째 줄: 99번째 줄:
* [[RC4|RC4(취약)]]
* [[RC4|RC4(취약)]]


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


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

2021년 6월 20일 (일) 15:36 판

분류

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

키 쌍 K1, K2에 대해

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

n(n-1)/2

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

2n

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

전자서명 가능

단점 안전한 키 분배가 문제

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

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

상대적으로 느림

대칭키(비밀키) 방식

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

블록 암호

구분 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에서 사용)

스트림 암호

비대칭키(공개키) 방식

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

(그 외 환경으로 확대 중)

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

해시 알고리즘

  • SHA
  • MD

국내 개발 암호화 알고리즘

ARIA, HIGHT, LEA, SEED