Site icon 지피디아

암호화 알고리즘 쉽게 암기하기

암호화 알고리즘에 대해 자세한 내용을 알고 싶으신가요? 암호화 알고리즘은 정보처리기사에서 자주 나오는 문제입니다. 보다 상세한 암기를 해야 시험에서 활용할 수 있습니다. 대칭키가 무엇인지 부터 세부 알고리즘들의 특징을 보고 정답을 맞추는 방식입니다.

64비트 블록 크기와 56비트 키 길이를 가지는 개인키 암호화 알고리즘은 ?과 같이 문제가 나올 가능성이 높습니다.

현실적으로 웹 개발에서는 알고리즘을 자주 마주하게 되는데, 어떤 알고리즘인지 이름 정도와 요약된 정보를 알고 있으면 됩니다. 언제 만들어졌고 누가 만들었는지까지는 중요하지 않죠.

하지만, 시험을 본다면 상세내용을 아는 것이 좋습니다. 아래 bold체를 중심으로 반복하여 보실 것을 권유드립니다.

대칭 알고리즘 : 스트림, 블록

대칭 알고리즘은 암호화와 복호화에 동일한 키를 사용하는 알고리즘입니다. 이 알고리즘은 데이터를 블록 단위로 처리하거나 스트림 형태로 처리할 수 있습니다. 블록 암호화는 입력 데이터를 고정된 크기의 블록으로 나누어 처리하고, 스트림 암호화는 연속적인 데이터 스트림을 처리합니다. 대표적인 대칭 알고리즘으로는 DES (Data Encryption Standard), AES (Advanced Encryption Standard), Blowfish 등이 있습니다. 대칭 알고리즘은 암호화와 복호화 과정이 빠르지만, 키 분배 문제와 키 관리의 어려움이 있을 수 있습니다.

[Block 암호화 알고리즘]

블록 암호화는 고정된 크기의 블록으로 데이터를 처리하는 암호화 알고리즘입니다. 블록 암호화에서는 입력 데이터가 블록 단위로 나누어지고, 각 블록은 키와 함께 암호화되거나 복호화됩니다. 블록 암호화 알고리즘은 대칭 암호화와 관련이 있으며, 블록 크기, 키 크기, 라운드 수 등의 매개 변수에 따라 다양한 알고리즘이 있습니다. 대표적인 블록 암호화 알고리즘으로는 DES, AES, Triple DES 등이 있습니다. 블록 암호화는 안전한 데이터 처리와 암호화 품질을 보장하기 위해 다양한 보안 기법과 모드가 사용됩니다.

  1. DES (Data Encryption Standard)
  1. 3DES (Triple Data Encryption Standard)
  1. SEED
  1. AES (Advanced Encryption Standard)
  1. ARIA
  1. IDEA (International Data Encryption Algorithm)

[Stream 암호화 알고리즘]

스트림 암호화는 연속적인 데이터 스트림을 처리하는 암호화 알고리즘입니다. 데이터를 작은 단위로 나누어 순차적으로 암호화하거나 복호화합니다. 스트림 암호화는 비트 또는 바이트 수준에서 작동하며, 데이터가 도착하는 대로 실시간으로 처리할 수 있습니다.

  1. LFSR (Linear Feedback Shift Register)
    • 현재 상태의 선형 연산을 통해 다음 상태를 생성하는 레지스터
    • XOR 함수를 사용하여 연산을 수행
    • 주로 의사난수 생성기나 시퀀스 암호화에 사용됨
  2. RC4 (Rivest Cipher 4)
    • 평문 1바이트와 암호키 1바이트를 XOR 처리하여 암호문 1바이트를 생성
    • 옥텟 단위로 처리되며, 로널드 라이베스트가 개발
    • 전송보안계층(TLS/SSL)이나 웹 등 다양한 프로토콜에서 사용됨

비대칭 알고리즘

비대칭 알고리즘은 암호화와 복호화에 서로 다른 키를 사용하는 알고리즘입니다. 이 알고리즘은 공개키와 개인키를 사용하여 데이터를 암호화하고 복호화합니다. 공개키는 누구나 알 수 있고, 개인키는 비밀로 유지됩니다. 공개키로 암호화된 데이터는 개인키로만 복호화할 수 있습니다. 대표적인 비대칭 알고리즘으로는 RSA, DSA, ECC 등이 있습니다. 비대칭 알고리즘은 안전한 키 교환과 디지털 서명 등의 보안 기능을 제공하지만, 대칭 알고리즘에 비해 계산 비용이 높을 수 있습니다.

  1. Diffie-Hellman
  1. RSA
  1. ECC (Elliptic Curve Cryptography)
  1. ElGamal

일방향 알고리즘

[Hash]

해시 알고리즘은 임의의 크기를 가진 데이터를 고정된 크기의 해시 값으로 변환하는 알고리즘입니다. 해시 함수는 입력 데이터에 대해 고유한 해시 값을 생성하며, 동일한 입력에 대해서는 항상 동일한 해시 값을 반환합니다. 해시 함수는 일방향 함수로, 해시 값을 통해 원래 데이터를 복원할 수 없습니다. 대표적인 해시 알고리즘으로는 MD5, SHA-1, SHA-256 등이 있습니다. 해시 알고리즘은 암호화보다는 데이터 무결성 검사, 패스워드 저장, 디지털 지문 등에 주로 사용됩니다. 안전한 해시 알고리즘은 충돌 방지와 반복 알고리즘을 통해 보안성을 강화합니다.

  1. SHA (Secure Hash Algorithm)
    • 미국 국가 안보국(NSA)이 1993년에 설계한 해시 암호화 알고리즘
    • 미국 국가 표준으로 지정되어 있음
    • 주로 무결성 검사, 메시지 인증 등 다양한 보안 목적으로 사용됨
  2. MD5 (Message-Digest Algorithm 5)
    • 128비트 암호화 해시 함수로, RFC 1321로 지정되어 있음
    • 주로 프로그램이나 파일의 무결성 검사 등에 사용됨
    • 보안적인 취약점이 발견되어 현재는 안전한 애플리케이션에는 권장되지 않음
  3. HAS-160
    • 국내 표준 전자서명 알고리즘인 KCDSA에 사용되는 160비트 암호학적 해시 함수
    • SHA-1과 유사한 구조를 가지고 있음
    • 주로 한국에서 전자서명 및 인증 관련 용도로 사용됨

이렇게 구체적으로 암호화 알고리즘들을 설명해드렸습니다. 각 알고리즘은 특정한 용도와 보안 요구사항에 맞게 선택되고 사용됩니다.

암호화 알고리즘 표

방식방식알고리즘명년도개발 기관크기(단위)길이(키)라운드방식
양방향대칭키DES(Data Encryption Standard)1975IBM645616블록
3DES (DES 3번 암,복호화)1998IBM6456  
SEED(SEcure Encryption Algorithm)1999한국전자통신연구원(KETI)128
(256)
6416블록
AES
3D성능개선
2001미국 표준 기술 연구소
(NIST)
128128
192,256
10,12,14
4가지 계층
 블록
ARIA (Advanced Encryption Standard Robust Innovation Algorithm)

AES를 대체하기 위해 나옴.
XOR
2004한국전자통신연구원(KETI)
128
128,192,256.블록
IDEA(International Data Encryption Algorithm)

DES 대체
1991스위스연방기술기관641288블록
LFRS(Linear Feedback Shift Register)
초기 비트값 SEED
1949Claude Shannon (MIT)난수, XOR  스트림
대칭 : 암호화 복호화 키가 두개
비대칭키알고리즘명  특징
Diffie-Hellman
최초 공개키 /2사용자 공개
1976Whitfield Diffie, Martin Hellman대칭키 분배를 위한 키 교환 프로토콜, 공개키 암호화 방식을 기반으로 함
RSA1977MIT
Ron Rivest, Adi Shamir, Leonard Adleman
공개키 암호화 및 디지털 서명 알고리즘, 대칭키보다 안전한 암호화 방식
ECC1985Neal Koblitz, Victor Miller타원 곡선 암호화 알고리즘, 작은 키 크기로 높은 수준의 보안성을 제공함
ElGmal1984Taher Elgamal공개키 암호화 알고리즘, 대칭키를 교환하기 위해 사용됨
Exit mobile version