본문 바로가기
임베디드 용어 정리

AES에서 GCM과 CCM

by minhyeok.lee 2024. 8. 20.
반응형

GCM과 CCM이란?


1. AES 코어 유형 중 GCM과 CCM은 AES(Advanced Encryption Standard) 알고리즘의 모드를 의미한다.

2. 이 모드는 암호화뿐만 아니라 데이터의 무결성과 인증을 제공하기 위해 사용된다.

3. 이 두 가지 모드는 각각 고유한 방식으로 암호화와 인증을 결합하여 보안을 강화한다.

 

AES란?

2024.08.18 - [임베디드 용어 정리] - AES-DMA 엔진

 

AES-DMA 엔진

AES-DMA 엔진이란? 1. AES-DMA 엔진은 AES(Advanced Encryption Standard) 암호화와 DMA(Direct Memory Access) 기능을 결합한 하드웨어 모듈 또는 엔진을 의미한다.2. 이 두 가지 기술의 조합은 데이터를 효율적으로

kfdd6630.tistory.com


 

1. AES-GCM (Galois/Counter Mode), GCM (Galois/Counter Mode)

AES 암호화 알고리즘의 블록 암호화 모드 중 하나로 다음과 같은 특징을 가지고 있다.

1. 병렬 처리 가능

GCM은 카운터 모드(CTR, Counter Mode)를 기반으로 하여, 데이터를 병렬로 처리할 수 있어 매우 빠른 성능을 제공한다.

 

2. 인증 기능

GCM은 Galois Message Authentication Code (GMAC)를 사용하여 데이터 무결성과 인증을 제공한다.

이는 메시지의 무결성을 검증하고, 송신자와 수신자가 메시지가 위변조되지 않았음을 확인할 수 있게 한다.

 

3. 사용 예시

GCM은 고속 통신이 필요한 네트워크 환경에서 많이 사용된다.

예를 들어, TLS(Transport Layer Security) 프로토콜에서 데이터를 암호화하고 인증하는 데 사용된다.


2. AES-CCM (Counter with CBC-MAC), CCM (Counter with CBC-MAC)

AES의 다른 블록 암호화 모드로 CTR(Counter Mode), CBC-MAC(Cipher Block Chaining Message Authentication Code)를 결합하여 암호화와 인증을 동시에 제공한다.

 

1. 단계적 처리

CCM은 CTR 모드를 사용하여 데이터를 암호화하고, 그 후 CBC-MAC을 사용하여 인증 태그를 생성한다.

이 과정은 순차적으로 처리되기 때문에 GCM에 비해 병렬 처리에서의 성능은 다소 떨어질 수 있다.

 

2. 유연한 사용

CCM은 가변 길이의 추가 인증 데이터(AAD)를 지원하므로, 메시지의 일부는 암호화하지 않고 인증만 할 수 있다.

 

3. 사용 예시

CCM은 제한된 자원(예: 배터리나 처리 능력이 제한된 장치)을 사용하는 임베디드 시스템이나 무선 네트워크(예: Zigbee, 802.15.4)에 적합하다.


GCM과 CCM의 차이점 요약

1. 성능

GCM은 병렬 처리가 가능하여 고속 성능을 제공하는 반면, CCM은 순차 처리 방식을 사용하여 상대적으로 느릴 수 있다.

 

2. 복잡성

GCM은 고도의 병렬 처리가 가능한 환경에 적합하며, CCM은 자원이 제한된 환경에 적합하다.

 

3. 보안 및 인증

둘 다 암호화와 함께 데이터 인증을 제공하지만, 구현 방식이 다르기 때문에 사용 환경에 따라 선택된다.

이 두 모드는 모두 암호화와 인증을 동시에 처리할 수 있어, 데이터의 기밀성과 무결성을 보호하는 데 매우 효과적이다.

 



반응형

'임베디드 용어 정리' 카테고리의 다른 글

논스(Nonce)  (0) 2024.08.22
카운터 모드(CTR Mode)  (0) 2024.08.21
AES-DMA 엔진  (0) 2024.08.19
패킷 PHR  (0) 2024.08.18
ACK 전송에서 n심볼 +/- 0.m심볼 턴어라운드 시간이란?  (0) 2024.08.17

댓글