mirror of
https://github.com/emmansun/gmsm.git
synced 2025-10-14 07:10:45 +08:00
统一前缀
This commit is contained in:
parent
a83ad6b5ae
commit
5c7f06b218
@ -265,20 +265,20 @@ func (hd *BaseDrbg) setSecurityLevel(securityLevel SecurityLevel) {
|
|||||||
// Destroy 对 GM/T 0105-2021 B.2、E.2 对内部状态进行清零处理
|
// 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,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}
|
// 内部状态组成为 {V,Key, reseed_counter, last_reseed_time,reseed_interval_in_counter, reseed_interval_in_time}
|
||||||
func (cd *BaseDrbg) Destroy() {
|
func (hd *BaseDrbg) Destroy() {
|
||||||
setZero(cd.v)
|
setZero(hd.v)
|
||||||
cd.seedLength = 0
|
hd.seedLength = 0
|
||||||
for i := 0; i < 3; i++ {
|
for i := 0; i < 3; i++ {
|
||||||
// 使用原子操作防止编译器优化
|
// 使用原子操作防止编译器优化
|
||||||
atomic.StoreUint64(&cd.reseedCounter, 0xFFFFFFFFFFFFFFFF)
|
atomic.StoreUint64(&hd.reseedCounter, 0xFFFFFFFFFFFFFFFF)
|
||||||
atomic.StoreUint64(&cd.reseedCounter, 0x00)
|
atomic.StoreUint64(&hd.reseedCounter, 0x00)
|
||||||
atomic.StoreUint64(&cd.reseedIntervalInCounter, 0xFFFFFFFFFFFFFFFF)
|
atomic.StoreUint64(&hd.reseedIntervalInCounter, 0xFFFFFFFFFFFFFFFF)
|
||||||
atomic.StoreUint64(&cd.reseedIntervalInCounter, 0x00)
|
atomic.StoreUint64(&hd.reseedIntervalInCounter, 0x00)
|
||||||
// 将 reseedIntervalInTime 设置内存屏障,防止编译器优化
|
// 将 reseedIntervalInTime 设置内存屏障,防止编译器优化
|
||||||
cd.reseedIntervalInTime = time.Duration(1<<63 - 1)
|
hd.reseedIntervalInTime = time.Duration(1<<63 - 1)
|
||||||
runtime.KeepAlive(&cd.reseedIntervalInTime)
|
runtime.KeepAlive(&hd.reseedIntervalInTime)
|
||||||
cd.reseedIntervalInTime = time.Duration(0)
|
hd.reseedIntervalInTime = time.Duration(0)
|
||||||
cd.reseedTime = time.Now()
|
hd.reseedTime = time.Now()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user