diff --git a/drbg/common.go b/drbg/common.go index 91d3279..715ebf6 100644 --- a/drbg/common.go +++ b/drbg/common.go @@ -263,8 +263,8 @@ func (hd *BaseDrbg) setSecurityLevel(securityLevel SecurityLevel) { } // Destroy 对 GM/T 0105-2021 B.2、E.2 对内部状态进行清零处理 -// 内部状态组成为 {V,C, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} -// 内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} +// HASH RNG 内部状态组成为 {V,C, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} +// HMAC/对称加密 RNG 内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} func (hd *BaseDrbg) Destroy() { setZero(hd.v) hd.seedLength = 0 diff --git a/drbg/ctr_drbg.go b/drbg/ctr_drbg.go index 98b03f7..701e131 100644 --- a/drbg/ctr_drbg.go +++ b/drbg/ctr_drbg.go @@ -223,6 +223,8 @@ func (cd *CtrDrbg) bcc(block cipher.Block, data []byte) []byte { return chainingValue } +// Destroy destroys the internal state of HMAC DRBG instance +// 对称加密的RNG内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} func (cd *CtrDrbg) Destroy() { cd.BaseDrbg.Destroy() setZero(cd.key) diff --git a/drbg/hash_drbg.go b/drbg/hash_drbg.go index c69f233..40e346e 100644 --- a/drbg/hash_drbg.go +++ b/drbg/hash_drbg.go @@ -224,7 +224,7 @@ func (hd *HashDrbg) derive(seedMaterial []byte, len int) []byte { } // Destroy 根据 GM/T 0105-2021 B.2 对内部状态进行清零处理 -// 内部状态组成为 {V,C, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} +// SM3_RNG 内部状态组成为 {V,C, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} func (hd *HashDrbg) Destroy() { hd.BaseDrbg.Destroy() setZero(hd.c) diff --git a/drbg/hmac_drbg.go b/drbg/hmac_drbg.go index 6866b14..a8515a1 100644 --- a/drbg/hmac_drbg.go +++ b/drbg/hmac_drbg.go @@ -154,8 +154,8 @@ func (hd *HmacDrbg) update(byteSlices ...[]byte) error { return nil } -// Destroy 根据 GM/T 0105-2021 E.2 对内部状态进行清零处理 -// 内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} +// Destroy destroys the internal state of HMAC DRBG instance +// HMAC的RNG内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time} func (hd *HmacDrbg) Destroy() { hd.BaseDrbg.Destroy() setZero(hd.key) diff --git a/drbg/hmac_drbg_test.go b/drbg/hmac_drbg_test.go index bd6613b..477709f 100644 --- a/drbg/hmac_drbg_test.go +++ b/drbg/hmac_drbg_test.go @@ -7,9 +7,10 @@ import ( "crypto/sha256" "crypto/sha512" "encoding/hex" - "github.com/emmansun/gmsm/sm3" "hash" "testing" + + "github.com/emmansun/gmsm/sm3" ) var hmactests = []struct {