CoderTools

Camellia 암호화 & 복호화

ISO/NESSIE/CRYPTREC 인증 암호 - AES와 동등한 보안

보안 공지

Camellia는 AES와 동등한 우수한 보안을 제공합니다. ISO/IEC 표준 준수 또는 일본/유럽 인증이 필요한 애플리케이션에 권장됩니다.

형식 옵션

Camellia 소개

Camellia 소개

Camellia는 미쓰비시전기와 NTT(일본전신전화)가 공동 개발하여 2000년 발표한 대칭키 블록 암호입니다. 128비트 블록에서 동작하며 128, 192, 256비트 키를 지원합니다. 알고리즘은 라운드를 6개씩 그룹화하고, 각 그룹 사이에 FL/FL⁻¹ 함수를 배치합니다. 이 함수는 키 의존 비트 연산으로 주요 Feistel 레이어 사이에 추가 비선형성을 주입하는 구조적 요소로, AES에는 없는 특징입니다.

주요 특징

  • 128비트 블록 크기와 128/192/256비트 키 지원 — AES와 동일한 블록 폭으로 TLS 및 IPsec에서 바이트 단위의 호환 교체 가능
  • 128비트 키: 18라운드, 192/256비트 키: 24라운드 — 6라운드 그룹으로 구성, 각 그룹 간 FL/FL⁻¹ 레이어 배치
  • Camellia 고유의 FL/FL⁻¹ 함수: 라운드 그룹 간 키 의존 AND/OR/회전 연산을 적용하여 키 재료 확산 크게 향상
  • 삼중 인증: ISO/IEC 18033-3 국제 표준 + NESSIE 유럽 프로젝트 + CRYPTREC 일본 정부 권고 — 세 가지 주요 인증을 동시에 보유한 유일한 비AES 암호
  • 2017년부터 특허 무료; OpenSSL·GnuTLS·NSS(Firefox)·LibreSSL·Bouncy Castle에 TLS 및 VPN 배포용으로 이미 통합
  • 2017년부터 특허 무료; OpenSSL·GnuTLS·NSS(Firefox)·LibreSSL·Bouncy Castle에 TLS 및 VPN 배포용으로 이미 통합

암호화 모드

암호화 모드

ECB: 전자 코드북 — 각 128비트 블록이 FL/FL⁻¹ 키 혼합 레이어를 포함한 전체 18(또는 24) Camellia 라운드를 독립적으로 거칩니다. 동일한 128비트 평문 블록은 항상 동일한 암호문을 생성하여 데이터 반복 패턴이 노출됩니다 — 진정으로 고유한 난스의 단일 블록 암호화에만 허용됩니다.
CBC: 암호 블록 체이닝 — 각 128비트 Camellia 블록은 18/24 Feistel 라운드와 FL/FL⁻¹ 변환 이전에 직전 암호문과 XOR됩니다. Camellia의 128비트 블록 폭은 AES-CBC와 정확히 일치하여 TLS 암호 스위트(RFC 5932)에서 직접 교체 가능 — 16바이트 정렬 데이터는 표준 PKCS#7 패딩만 필요합니다.
CFB: 암호 피드백 — Camellia의 완전한 18/24라운드 함수(FL 레이어 포함)가 이전 암호문 블록을 처리하고 출력을 다음 평문 세그먼트와 XOR합니다. 바이트 수준의 세분화가 필요한 스트리밍 프로토콜에 적합한 자기 동기화 스트림 암호를 생성합니다.
OFB: 출력 피드백 — Camellia 라운드 함수가 IV를 반복 재암호화하여 평문과 독립적인 키 의존 키스트림을 생성합니다. 오류는 해당 출력 바이트만 영향을 미치고 연쇄되지 않습니다 — Camellia의 하드웨어 효율적 구조가 처리량 이점을 제공하는 손실 많은 채널에 적합합니다.

알고리즘 비교

알고리즘 블록 크기 키 길이 보안 표준 표준
Camellia128 bit128/192/25618/24우수ISO/NESSIE/CRYPTREC
AES128 bit128/192/25610/12/14양호NIST
Twofish128 bit128/192/25616우수AES Finalist
DES64 bit5616우수취약

보안 고려사항

  • Camellia-128에 대한 최고의 발표된 공격은 18라운드 중 12라운드에 도달(관련 키 차분 암호 분석); 완전 라운드 버전에는 알려진 실용적인 공격이 없으며, 현재 암호 분석 경계 위에 6라운드 보안 여유를 남깁니다
  • 6라운드 그룹 간 FL/FL⁻¹ 함수는 라운드 경계를 넘는 차분 및 선형 경로를 방해하는 키 의존 비트 순열을 주입합니다 — AES 같은 순수 SPN 암호보다 관련 키 공격을 훨씬 어렵게 만드는 구조적 메커니즘
  • NESSIE(2003)와 CRYPTREC 독립 평가는 AES 검증에 사용된 동일한 기준으로 모든 알려진 공격 패밀리에 대한 Camellia의 저항력을 확인했습니다: 차분, 선형, 불가능 차분, 고차 차분, 잘린 차분
  • Camellia의 128비트 블록 폭은 64비트 암호(DES, 3DES, Blowfish)를 괴롭히는 생일 경계 문제를 제거합니다: 충돌 임계값은 키당 2⁶⁴ 블록(~147 페타바이트)에서 발생하여 Sweet32 스타일 공격을 실용적 범위 밖에 완전히 배치합니다
  • Camellia의 128비트 블록 폭은 64비트 암호(DES, 3DES, Blowfish)를 괴롭히는 생일 경계 문제를 제거합니다: 충돌 임계값은 키당 2⁶⁴ 블록(~147 페타바이트)에서 발생하여 Sweet32 스타일 공격을 실용적 범위 밖에 완전히 배치합니다

사용 사례

TLS/SSL 암호 스위트: TLS 1.2에서 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA(RFC 5932) 및 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384(RFC 6367)로 배포 — 일본 금융 시스템 및 정부 서비스에서 적극 사용
IPsec VPN: RFC 4312가 IKEv1/v2 및 ESP용 Camellia를 정의하여 CRYPTREC 준수 알고리즘이 필요한 일본 정부 네트워크 배포에 AES 대안 제공
OpenPGP 이메일 및 파일 암호화: RFC 5581이 Camellia-128/192/256을 OpenPGP 선택적 대칭 알고리즘으로 추가하여 NESSIE 인증 암호가 필요한 사용자에게 AES 대안 제공
일본 정부 및 금융 기관 시스템: CRYPTREC 지정으로 Camellia가 일본의 전자정부 시스템 및 은행 인프라에서 필수적이거나 강력히 권장되는 알고리즘
하드웨어 보안 모듈 및 임베디드 암호화: Camellia의 Feistel 구조는 FPGA 게이트 어레이 및 ASIC 구현에 효율적으로 매핑되어 암호화와 키 스케줄 계산을 동시에 수행 가능
하드웨어 보안 모듈 및 임베디드 암호화: Camellia의 Feistel 구조는 FPGA 게이트 어레이 및 ASIC 구현에 효율적으로 매핑되어 암호화와 키 스케줄 계산을 동시에 수행 가능

참고 자료

관련 도구

빠른 메뉴

최근 사용 도구 없음