From 99bfac3a2b1b9cd6b2bb9371f96300f060796a1c Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Thu, 14 Jul 2022 15:31:49 +0800 Subject: [PATCH] upgrade dependencies and add unit test cases --- go.mod | 4 ++-- go.sum | 8 ++++---- zuc/eia256_test.go | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index df10900..f238355 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,6 @@ module github.com/emmansun/gmsm go 1.15 require ( - golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e - golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d + golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d + golang.org/x/sys v0.0.0-20220712014510-0a85c31ab51e ) diff --git a/go.sum b/go.sum index e20357a..f1d7e2f 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,11 @@ -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d h1:Zu/JngovGLVi6t2J3nmAf3AoTDwuzw85YZ3b9o4yU7s= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220712014510-0a85c31ab51e h1:NHvCuwuS43lGnYhten69ZWqi2QOj/CiDNcKbVqwVoew= +golang.org/x/sys v0.0.0-20220712014510-0a85c31ab51e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/zuc/eia256_test.go b/zuc/eia256_test.go index 76ef678..555ae50 100644 --- a/zuc/eia256_test.go +++ b/zuc/eia256_test.go @@ -202,6 +202,46 @@ func TestEIA_Finish256_128(t *testing.T) { } } +func TestEIA256_Sum32(t *testing.T) { + expected := "f4f20d7c" + h, err := NewHash256(zucEIA256Tests[2].key, zucEIA256Tests[2].iv, 4) + if err != nil { + t.Fatal(err) + } + _, err = h.Write([]byte("emmansun")) + if err != nil { + t.Fatal(err) + } + _, err = h.Write([]byte("shangmi1")) + if err != nil { + t.Fatal(err) + } + _, err = h.Write([]byte("emmansun shangmi")) + if err != nil { + t.Fatal(err) + } + _, err = h.Write([]byte("emmansun shangmi 1234")) + if err != nil { + t.Fatal(err) + } + mac := h.Sum(nil) + if hex.EncodeToString(mac) != expected { + t.Errorf("expected=%s, result=%s\n", expected, hex.EncodeToString(mac)) + } +} + +func TestEIA256_Finish32(t *testing.T) { + expected := "f4f20d7c" + h, err := NewHash256(zucEIA256Tests[2].key, zucEIA256Tests[2].iv, 4) + if err != nil { + t.Fatal(err) + } + mac := h.Finish([]byte("emmansunshangmi1emmansun shangmiemmansun shangmi 1234"), 8*53) + if hex.EncodeToString(mac) != expected { + t.Errorf("expected=%s, result=%s\n", expected, hex.EncodeToString(mac)) + } +} + func benchmark256Size(b *testing.B, size, tagSize int) { var key [32]byte var iv [23]byte