package subtle
import "crypto/internal/fips140/subtle"
Index ¶
- func ConstantTimeCompare(x, y []byte) int
- func ConstantTimeCopy(v int, x, y []byte)
- func ConstantTimeLessOrEqBytes(x, y []byte) int
- func XORBytes(dst, x, y []byte) int
Functions ¶
func ConstantTimeCompare ¶
ConstantTimeCompare returns 1 if the two slices, x and y, have equal contents and 0 otherwise. The time taken is a function of the length of the slices and is independent of the contents. If the lengths of x and y do not match it returns 0 immediately.
func ConstantTimeCopy ¶
ConstantTimeCopy copies the contents of y into x (a slice of equal length) if v == 1. If v == 0, x is left unchanged. Its behavior is undefined if v takes any other value.
func ConstantTimeLessOrEqBytes ¶
ConstantTimeLessOrEqBytes returns 1 if x <= y and 0 otherwise. The comparison is lexigraphical, or big-endian. The time taken is a function of the length of the slices and is independent of the contents. If the lengths of x and y do not match it returns 0 immediately.
func XORBytes ¶
XORBytes sets dst[i] = x[i] ^ y[i] for all i < n = min(len(x), len(y)), returning n, the number of bytes written to dst.
If dst does not have length at least n, XORBytes panics without writing anything to dst.
dst and x or y may overlap exactly or not at all, otherwise XORBytes may panic.
Source Files ¶
constant_time.go xor.go xor_asm.go
- Version
- v1.26.0-rc.3
- Published
- Feb 3, 2026
- Platform
- windows/amd64
- Imports
- 4 packages
- Last checked
- 2 minutes ago –
Tools for package owners.