GOST 암호화 제품군
여러 모드와 S-Box 옵션이 있는 GOST 28147-89 / Magma 러시아 대칭 암호화
⚠️ 교육 목적만
GOST 28147-89는 암호학적으로 구식입니다. 새 프로젝트는 AES를 사용하십시오. 이 도구는 테스트, 학습 및 레거시 시스템 유지 보수만을 위한 것입니다.
GOST 28147-89 및 Magma 정보
GOST 28147-89는 1989년 발표된 소련 대칭 암호화 표준입니다. 32라운드 수정 Feistel 네트워크가 256비트 키로 64비트 블록을 처리합니다. 각 라운드에서 모듈러 덧셈(mod 2³², XOR 아님)으로 키 주입, 8개의 4비트 S-box 대체, 11비트 좌 회전을 수행합니다.
원래 S-box는 국가 기밀로 발표되지 않았으며 다른 소련 부처들이 다른 S-box 매개변수를 사용했습니다. CryptoPro가 RFC 4357(2006)에서 4개의 상호 운용 S-box 세트(A-D)를 표준화했습니다. 2011년 Courtois가 반사 공격(~2²²⁵ 복잡도)을 발표했으나 실용성은 논쟁 중입니다. Sweet32(64비트 블록)도 적용됩니다.
Magma (GOST R 34.12-2015) 정보
Magma는 GOST R 34.12-2015(RFC 8891, 2020)로 표준화된 GOST 28147-89 변체의 비공식 명칭입니다. 동일한 64비트 블록/32라운드 Feistel 구조이지만 공개된 고정 S-box 매개변수(“id-tc26-gost-28147-param-Z”)를 사용합니다.
Magma는 S-box 기밀 문제를 제거하면서 GOST 28147-89 시스템과의 역호환성을 보장합니다. 새로운 러시아 정보 보안 응용에는 Grasshopper(128비트)도 권장됩니다. Magma의 Sweet32 위험은 동일하게 적용됩니다.
GOST 28147-89 역사
KGB 제8호 총국이 1970-80년대에 개발, 1989년 공식 발표, 1994년 기밀 해제. 기밀 해제 버전에서도 S-box 매개변수는 비공개로 다른 비밀유지 계약 하에 배포됨. RFC 4357(2006)의 CryptoPro S-box와 RFC 8891(2020)의 Magma 채택이 공개 매개변수로의 단계적 전환을 나타냅니다.
알고리즘 비교
| 알고리즘 | 유형 | 키 길이 | 블록 크기 | 보안 | 라운드 |
|---|---|---|---|---|---|
| GOST 28147-89 | 블록 암호 | 256비트 (32바이트) | 64비트 (8바이트) | 보통 | 32 |
| Magma (GOST R 34.12-2015) | 블록 암호 | 256비트 (32바이트) | 64비트 (8바이트) | 보통 | 32 |
| AES | 블록 암호 | 128, 192, 256비트 | 128비트 (16바이트) | 우수 | 10-14 |
주요 기능
- 64비트 블록 크기 - 작은 데이터 블록에 적합
- 256비트 키 길이 - DES보다 큰 키 공간
- 32 라운드 - 강한 확산 및 혼동 특성
- 다중 모드 - ECB, CBC, CFB, OFB, CTR 지원
보안 고려 사항
- Courtois 반사 공격(2011): 2³² 선택 평문으로 ~2²²⁵까지 감소. 실용성 논쟁 중. GOST 28147-89는 새 러시아 연방 앱에서 Grasshopper로 대체 권고.
- Sweet32(CVE-2016-2183): Triple-DES와 동일한 64비트 블록 생일 경계 문제. CBC 같은 키 ~32GB.
- 새 앱: Grasshopper(128비트). GOST/Magma는 레거시 데이터 및 호환성용.
사용 사례
- 러시아 정부 및 은행 레거시 데이터: RF 연방 감사·마이그레이션에 GOST 호환 도구 필수
- GOST TLS 호환성: GOST TLS 세션 복호화 및 프로토콜 분석
- 우크라이나 DSTU 응용: DSTU 4145-2002 S-box로 정부 문서 복호화
- GOST 암호학 연구: 기밀 S-box 역사 및 Courtois 공격 분석