sha384-test.c sha512-test.c sha512-224-test.c sha512-256-test.c \
sha3-permute-test.c sha3-224-test.c sha3-256-test.c \
sha3-384-test.c sha3-512-test.c \
- shake256-test.c streebog-test.c sm3-test.c \
+ shake256-test.c streebog-test.c sm3-test.c sm4-test.c \
serpent-test.c twofish-test.c version-test.c \
knuth-lfib-test.c \
cbc-test.c cfb-test.c ctr-test.c gcm-test.c eax-test.c ccm-test.c \
--- /dev/null
+#include "testutils.h"
+#include "sm4.h"
+
+void
+test_main(void)
+{
+ /* test vectors from:
+ * https://tools.ietf.org/id/draft-ribose-cfrg-sm4-10.html
+ */
+ test_cipher(&nettle_sm4,
+ SHEX("0123456789ABCDEF FEDCBA9876543210"),
+ SHEX("0123456789ABCDEF FEDCBA9876543210"),
+ SHEX("681EDF34D206965E 86B3E94F536E4246"));
+
+ test_cipher(&nettle_sm4,
+ SHEX("FEDCBA9876543210 0123456789ABCDEF"),
+ SHEX("0001020304050607 08090A0B0C0D0E0F"),
+ SHEX("F766678F13F01ADE AC1B3EA955ADB594"));
+}