code: func (s *storage) decryptBlob(plaintext, ciphertext []byte) ([]byte, error) {
  	if len(ciphertext) < overhead {
  		return nil, errors.New("blob too short to be encrypted")
  	}
  	if ciphertext[0] != version {
  		return nil, errors.New("unknown encrypted blob version")
  	}
  	var nonce [24]byte
  	copy(nonce[:], ciphertext[1:])
  	plaintext, success := secretbox.Open(plaintext, ciphertext[25:], &nonce, &s.key)
  	if !success {
  		return nil, errors.New("encrypted blob failed authentication")
  	}
  	return plaintext, nil
  }
docs: // decryptBlob decrypts ciphertext and appends the result to plaintext,
  // which must not overlap ciphertext.