符合 GB/T 32907-2016,满足等保2.0、密评合规要求。
预计算 T0~T3 和 TPrime0~TPrime3,加密/密钥扩展均达理论最快速度。
内置 CBC 链式加解密,支持任意长度数据流。
对称密码在量子计算机下仅需加倍密钥长度,SM4 仍安全可靠。
static SM4CoreFast()
{
for (int i = 0; i < 256; i++)
{
uint s = Sbox[i];
T0[i] = LTrans(s << 24);
T1[i] = LTrans(s << 16);
T2[i] = LTrans(s << 8);
T3[i] = LTrans(s);
TPr0[i] = LPrimeTrans(s << 24);
TPr1[i] = LPrimeTrans(s << 16);
TPr2[i] = LPrimeTrans(s << 8);
TPr3[i] = LPrimeTrans(s);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static uint T(uint x) =>
T0[(x >> 24) & 0xFF] ^ T1[(x >> 16) & 0xFF] ^
T2[(x >> 8) & 0xFF] ^ T3[x & 0xFF];
// 加密轮函数
uint tmp = X[i+1] ^ X[i+2] ^ X[i+3] ^ rk[i];
uint res = T(tmp);
X[i+4] = X[i] ^ res;
public static void Test32907()
{
// 国标 GB/T 32907-2016 附录A 测试向量
byte[] key = new byte[]
{
0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10
};
byte[] plain = new byte[]
{
0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10
};
byte[] expected = new byte[]
{
0x68, 0x1E, 0xDF, 0x34, 0xD2, 0x06, 0x96, 0x5E,
0x86, 0xB3, 0xE9, 0x4F, 0x53, 0x6E, 0x42, 0x46
};
SM4CoreFast sm4 = new SM4CoreFast();
uint[] rk = sm4.KeyExpand(key);
byte[] actual = sm4.EncryptBlock(plain, rk);
Console.WriteLine("========== GB/T 32907-2016 附录A 测试 ==========");
Console.WriteLine($"密钥: {BitConverter.ToString(key).Replace("-", " ")}");
Console.WriteLine($"明文: {BitConverter.ToString(plain).Replace("-", " ")}");
Console.WriteLine($"期望: {BitConverter.ToString(expected).Replace("-", " ")}");
Console.WriteLine($"实际: {BitConverter.ToString(actual).Replace("-", " ")}");
bool passed = true;
for (int i = 0; i < 16; i++)
{
if (actual[i] != expected[i])
{
passed = false;
break;
}
}
Console.WriteLine(passed ? "✓ 测试向量通过 (符合 GB/T 32907-2016)" : "✗ 测试向量失败");
Console.WriteLine("==============================================");
}
测试结论:SM4CoreFast 实际输出与国标附录A完全一致,算法实现正确合规。
查表总大小 ≈ 8KB,完整驻留 L1/L2 缓存。
轮函数无 if/switch,消除分支预测失败。
ECB/CTR 模式支持并行处理,8核环境下,较单线程提升 7x。
严翼共享采用 后量子密钥交换 Kyber-768 + SM4-CBC/CTR 混合架构。SM4CoreFast 作为对称加密引擎,已稳定运行于信创环境(麒麟、UOS)及 Windows/Linux,满足等保及密评合规。