Skip to content

Commit

Permalink
sm3: add copyResultsBy4 test case
Browse files Browse the repository at this point in the history
  • Loading branch information
emmansun authored Sep 6, 2024
1 parent 664f5dc commit 7a84c6f
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions sm3/sm3blocks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
package sm3

import (
"encoding/binary"
"fmt"
"testing"
)
Expand Down Expand Up @@ -57,7 +58,7 @@ func TestBlockMultBy4(t *testing.T) {
buffer := make([]byte, preallocSizeBy4)
blockMultBy4(&digs[0], &p[0], &buffer[0], 1)
expected := "[66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b 8f4ba8e0]"
for i:=0; i<4; i++ {
for i := 0; i < 4; i++ {
s := fmt.Sprintf("%x", digs[i][:])
if s != expected {
t.Errorf("digs[%d] got %s", i, s)
Expand All @@ -68,14 +69,36 @@ func TestBlockMultBy4(t *testing.T) {
p = createTwoBlocksBy4()
blockMultBy4(&digs[0], &p[0], &buffer[0], 2)
expected = "[debe9ff9 2275b8a1 38604889 c18e5a4d 6fdb70e5 387e5765 293dcba3 9c0c5732]"
for i:=0; i<4; i++ {
for i := 0; i < 4; i++ {
s := fmt.Sprintf("%x", digs[i][:])
if s != expected {
t.Errorf("digs[%d] got %s", i, s)
}
}
}

func TestCopyResultsBy4(t *testing.T) {
var m [4][8]uint32
var ret, expected [128]byte
var k uint32 = 0
for i := 0; i < 4; i++ {
for j := 0; j < 8; j++ {
m[i][j] = k
k++
fmt.Printf("%08x ", m[i][j])
}
fmt.Println()
}
copyResultsBy4(&m[0][0], &ret[0])

for i := 0; i < 4; i++ {
for j := 0; j < 8; j++ {
binary.BigEndian.PutUint32(expected[i*32+j*4:], m[i][j])
}
}
t.Errorf("got %x, expected %x\n", ret[:], expected[:])
}

func BenchmarkOneBlockBy4(b *testing.B) {
digs := initState4()
p := createOneBlockBy4()
Expand Down

0 comments on commit 7a84c6f

Please sign in to comment.