code: func generateKey(length int) (key []byte, err error) {
  	defer func(start time.Time) {
  		value.RecordDataKeyGeneration(start, err)
  	}(time.Now())
  	key = make([]byte, length)
  	if _, err = rand.Read(key); err != nil {
  		return nil, err
  	}
  
  	return key, nil
  }
docs: // generateKey generates a random key using system randomness.