| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- gameplay tag
- os
- UI
- rpc
- linear regression
- Multiplay
- gas
- CTF
- attribute
- listen server
- local prediction
- 언리얼 엔진
- stride
- gameplay ability system
- photon fusion2
- 게임 개발
- 게임개발
- Unreal Engine
- unity
- ability task
- 언리얼엔진
- Replication
- 유니티
- 보안
- MAC
- widget
- animation
- gameplay effect
- Aegis
- C++
- Today
- Total
Replicated
AE, AEAD / (Authenticated Encryption, Authenticated Encryption with Associated Data) 본문
AE, AEAD / (Authenticated Encryption, Authenticated Encryption with Associated Data)
라구넹 2025. 4. 19. 21:01AE (Authenticated Encryption)
| Encryption Data | MAC |
기밀성과 무결성 제공
비밀키(대칭키) 암호화와 MAC을 이용
- Encryption then MAC
- Encryption and MAC
- MAC then Encryption

- IPSEC, TLS, SSHv2

- SSH

SSL/TLS 1.2 이하
AEAD (Authenticated Encryption with Associated Data)
- 기밀성 / 무결성 / 인증 보장 * AE도 인증 됨. 그냥 성능이 좋음
- Associated Data (추가 데이터)
- 암호화되지 않고 인증만 됨
- 네트워크 헤더 정보, 시퀀스 넘버, 프로토콜 버전 등
- tag
- 암호화된 데이터(Cipher Text)와 추가 데이터(Associated Data)를 기반으로 계산된 MAC
- error
- 복호화 및 무결성 검증 결과

AEAD 알고리즘 내에서 tag 해시 계산까지 다 돌아감
저기에 보통 Nonce까지 같이 포함됨, Associated Data는 암호문 외부에 별도로 붙여서 보냄
대표적인 AEAD 알고리즘
GCM(Galois/Counter Mode)
- GHASH 함수 사용
- 병렬 처리 가능
CCM(Counter with CBC-MAC)
- CBC-MAC과 CTR 모드 결합
- 2번 암호화, 병렬 처리에 제한적
ChaCha20-Poly1305
- ChaCha20 스트림 암호 + Poly1305
- 소프트웨어 구현에 최적화
- 구글이 TLS spec에 도입
GCM(Galois/Counter Mode)
- CTR 모드를 사용해서 데이터 암호화.. 오히려 CBC보다 많이 씀
- GHASH를 사용하여 연관 데이터와 암호문의 무결성 및 인증
- 0번째 키 스트림은 보관해뒀다 마지막에 사용(초기 카운터 블록, J0), 1번째 키 스트림부터 평문 암호화에 적용
- additional data에 GHASH
- 1번째 인크립션의 결과, 즉 첫번째 암호문과 이전 GHASH 결과를 XOR 후 GHASH, 반복
- 마지막 암호문까지 XOR후 GHASH, additional data, ciphertext 길이를 붙이고 최종 블록과 XOR, GHASH
- 초기 카운터 블록과 XOR 후 다시 GHASH
=> Authentication Tag
ChaCha20-Poly1305
ChaCha20 스트림 암호
- 키와 난수를 이용하여 암호화 키 생성
- 암호화 키와 평문 XOR 연산 -> 암호문 생성
- 복호화 동일
ChaCha20-Poly1305
- ChaCha20을 이용하여 암호문 생성
- ChaCha20을 이용하여 Poly1305 키 값 생성
- 생성된 키와 암호문을 입력값으로 Poly1305 수행
- Poly1305 출력 값을 인증 tag로 사용
'학부 > 소프트웨어 보안개발방법론' 카테고리의 다른 글
| IPsec VPN 보안 통신, TLS, PQC (0) | 2025.04.19 |
|---|---|
| 안전한 데이터 전송 (0) | 2025.04.19 |
| 암호학적 해시 함수(Cryptographic Hash Function), MAC(Message Authentication Code) - HMAC, CMAC (0) | 2025.04.19 |
| Hybrid Cryptography (0) | 2025.04.19 |
| 공개키(비대칭키) 암호 - Public Key Cryptography (0) | 2025.04.19 |