From 3475d28c0b87cc48faad2ab4948a4507daaa0fef Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Fri, 22 Oct 2021 10:50:36 +0800 Subject: [PATCH] Updated SM4 with AESENCLAST (markdown) --- SM4-with-AESENCLAST.md | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/SM4-with-AESENCLAST.md b/SM4-with-AESENCLAST.md index 50d7b62..a627210 100644 --- a/SM4-with-AESENCLAST.md +++ b/SM4-with-AESENCLAST.md @@ -18,3 +18,55 @@ Two known (M1, C1, M2, C2), please reference [sm4 with AESENCLAST](https://gist. {(M1, C1, M2, C2) | SM4-S(x) = A2(AES-S(A1(x)), A1(x) = M1*x + C1, A2(x) = M2*x + C2} ``` +**How to calculate M, C from lookup table?** + +1.The first element of the table, T[0] should be the C. +2.Use T[1] XOR T[0], T[2] XOR T[0], T[4] XOR T[0], T[8] XOR T[0], T[16] XOR T[0], T[32] XOR T[0], T[64] XOR T[0], T[128] XOR T[0] to calculate matrix M. + +Below is sample +``` + 1 2 3 4 5 6 7 8 + + 00000110 01110011 01110101 11100101 11100011 10010110 10010000 01010110 +0x00, 0x06, 0x73 0x75 0xE5 0xE3 0x96 0x90 0x56 +1 10100010 +2 01001001 +3 11111011 +4 00001001 +5 10101011 +6 01000000 +7 11100010 +8 00010010 +9 + +00010010 +00001001 +01001001 +10100010 +01010110 +11100101 +01110011 +00000110 + + 1 2 3 4 5 6 7 8 + + 00111100 10101001 11111010 10110110 +0x00 0x3c 0xa9 0xfa 0xb6 +1 11011100 +2 10101111 +3 +4 11011101 +5 +6 +7 +8 10111111 + +10111111 +11011101 +10101111 +11011100 +10110110 +11111010 +10101001 +00111100 +``` \ No newline at end of file