CoderTools

GOST 加密套件

GOST 28147-89 / Magma 俄罗斯对称加密,支持多种模式和 S-Box 选项

⚠️ 仅供教育用途

GOST 28147-89 在密码学上已过时。新项目请使用 AES。此工具仅用于测试、学习和遗留系统维护。

GOST 28147-89 要求密钥长度为 32 字节(256 位)
格式选项

关于 GOST 28147-89 与 Magma

GOST 28147-89 是俄罗斯密码标准(GOST),由苏联在 1989 年开发,并在 1994 年公开发布。三十多年来,它一直是俄罗斯联邦政府、军队、银行和俄罗斯、白俄罗斯、哈萨克斯坦及其他独联体国家的政府组织使用的主要加密标准。

GOST 28147-89 是 64 位分组密码,密钥长度为 256 位(32 字节),使用 32 轮加密。该算法使用 8 个 4×8 位 S-Box。GOST 28147-89 在现代密码分析中被认为是减弱的,但由于遗留系统兼容性和独联体国家的特定监管要求,它仍在使用。

关于 Magma (GOST R 34.12-2015)

Magma 是 GOST R 34.12-2015 标准中定义的 64 位分组密码,是 GOST 28147-89 的现代化继承者。Magma 保留了 GOST 28147-89 的核心 Feistel 结构和 32 轮加密,但固定使用 TC26-Z S-Box,并采用大端序(Big-Endian)字节处理顺序。

RFC 8891 正式定义了 Magma 的技术规范。与 GOST 28147-89 的主要区别在于:字节序为大端序(GOST 28147-89 为小端序)、固定 S-Box(GOST 28147-89 支持多种 S-Box)、π[0]→π[7] 的 S-Box 应用顺序。Magma 是俄罗斯现行的轻量级加密标准之一。

GOST 28147-89 历史

GOST(俄罗斯国家标准)在苏联时期的 1989 年开发,成为官方的俄罗斯加密标准。苏联解体后,它继续被使用,并在 1994 年正式公开发布。该算法设计基于 Feistel 网络结构,类似于 DES,融入了俄罗斯密码学研究传统。

算法对比

算法 类型 密钥长度 分组大小 安全性 轮数
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

安全考虑

  • 分组大小限制 - 64 位分组对大文件可能泄露模式信息。使用较小消息或加入其他安全层。
  • 密码分析攻击 - GOST 受到学术密码分析,显示相比现代密码的安全裕度降低。
  • 建议 - 新项目请使用 AES。GOST 28147-89 仅用于遗留系统兼容性维护。

使用场景

  • 🇷🇺 遗留俄罗斯系统 - 维护与现有 GOST 基础设施的兼容性
  • 📚 教育目的 - 学习古典密码设计和俄罗斯密码学标准
  • 🔄 系统集成 - 与需要 GOST 合规的政府或银行系统对接
  • 📦 数据迁移 - 解密来自遗留 GOST 加密档案和系统的数据

参考资料与文档

相关工具