func cmpParams(p1, p2 *ECIESParams) bool {
	return p1.hashAlgo == p2.hashAlgo &&
		p1.KeyLen == p2.KeyLen &&
		p1.BlockSize == p2.BlockSize
}
cmpParams compares a set of ECIES parameters. We assume, as per the
docs, that AES is the only supported symmetric encryption algorithm.
package ecies
import (
	"bytes"
	"crypto/elliptic"
	"crypto/rand"
	"crypto/sha256"
	"encoding/hex"
	"flag"
	"fmt"
	"math/big"
	"testing"
	"github.com/dappledger/AnnChain/eth/crypto"
)
var dumpEnc bool
func init() {
	flDump := flag.Bool("dump", false, "write encrypted test message to file")
	flag.Parse()
	dumpEnc = *flDump
}
func TestKDF(t *testing.T) {
	msg := []byte("Hello, world")
	h := sha256.New()
	k, err := concatKDF(h, msg, nil, 64)
	if err != nil {
		fmt.Println(err.Error())
		t.FailNow()
	}
	if len(k) != 64 {
		fmt.Printf("KDF: generated key is the wrong size (%d instead of 64\n", len(k))
		t.FailNow()
	}
}
var ErrBadSharedKeys = fmt.Errorf("ecies: shared keys don't match")