func (s *Coffer) Initialise() error {
	if s.Destroyed() {
		return ErrCofferExpired
	}
	if err := s.initialise(); err != nil {
		Panic(err)
	}
	return nil
}
/*
Initialise is used to reset the value stored inside a Coffer to a new random 32 byte value, overwriting the old.
package core
import (
	"errors"
	"sync"
	"time"
)
const interval = 500 * time.Millisecond
var ErrCofferExpired = errors.New("<memguard::core::ErrCofferExpired> attempted usage of destroyed key object")
type Coffer struct {
	sync.RWMutex
	left  *Buffer  
	right *Buffer  
	rand *Buffer  
}
func NewCoffer() *Coffer {
	s := new(Coffer)
	s.left, _ = NewBuffer(32)
	s.right, _ = NewBuffer(32)
	s.rand, _ = NewBuffer(32)
	s.Initialise()
	go func(s *Coffer) {
		for {
			time.Sleep(interval)
			if err := s.Rekey(); err != nil {
				break
			}
		}
	}(s)
	return s
}