package features import ( "fmt" "kvs/utils" ) // GetTamperLogKey generates the storage key for a tamper log entry func GetTamperLogKey(timestamp string, entryUUID string) string { return fmt.Sprintf("log:%s:%s", timestamp, entryUUID) } // GetMerkleLogKey generates the storage key for hourly Merkle tree roots func GetMerkleLogKey(timestamp string) string { return fmt.Sprintf("log:merkle:%s", timestamp) } // GenerateLogSignature creates a SHA3-512 signature for a log entry func GenerateLogSignature(timestamp, action, userUUID, resource string) string { // Concatenate all fields in a deterministic order data := fmt.Sprintf("%s|%s|%s|%s", timestamp, action, userUUID, resource) return utils.HashSHA3512(data) }