func (e *Engine) Unseal(ctx context.Context, ct, nonce []byte) ([]byte, error) {
	mk, err := e.unsealMasterKey(ctx)
	if err != nil {
		return nil, err
	}

	dk, err := deriveKey(ctx, mk, nonce, blakeSize)
	if err != nil {
		return nil, err
	}

	ts, err := newTriplesec(ctx, dk)
	if err != nil {
		return nil, err
	}

	err = ctxutil.ErrIfDone(ctx)
	if err != nil {
		return nil, err
	}

	return ts.Decrypt(ct)
}
// Unseal decrypts the ciphertext ct, encrypted with triplesec-v3, using the
// a key derived via blake2b from the user's master key and the provided nonce.
Unseal decrypts the ciphertext ct, encrypted with triplesec-v3, using the
a key derived via blake2b from the user's master key and the provided nonce.
// Unseal decrypts the ciphertext ct encrypted with triplesec - v3 using the // a key derived via blake2b from the user ' s master key and the provided nonce .
func (e *Engine) Unseal(ctx context.Context, ct, nonce []byte) ([]byte, error) {
	mk, err := e.unsealMasterKey(ctx)
	if err != nil {
		return nil, err
	}
	dk, err := deriveKey(ctx, mk, nonce, blakeSize)
	if err != nil {
		return nil, err
	}
	ts, err := newTriplesec(ctx, dk)
	if err != nil {
		return nil, err
	}
	err = ctxutil.ErrIfDone(ctx)
	if err != nil {
		return nil, err
	}
	return ts.Decrypt(ct)
}
func ( e * Engine ) Unseal ( ctx context . Context , ct , nonce [ ] byte ) ( [ ] byte , error ) { mk , err := e . unsealMasterKey ( ctx ) if err != nil { return nil , err } dk , err := deriveKey ( ctx , mk , nonce , blakeSize ) if err != nil { return nil , err } ts , err := newTriplesec ( ctx , dk ) if err != nil { return nil , err } err = ctxutil . ErrIfDone ( ctx ) if err != nil { return nil , err } return ts . Decrypt ( ct ) }
Unseal decrypts the ciphertext ct, encrypted with triplesec-v3, using the
a key derived via blake2b from the user's master key and the provided nonce.
Unseal decrypts the ciphertext ct encrypted with triplesec - v3 using the a key derived via blake2b from the user ' s master key and the provided nonce .