crypto

package
v0.0.0-...-6a7e83e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2022 License: LGPL-3.0 Imports: 3 Imported by: 1

Documentation

Index

Constants

View Source
const (
	AES = iota
	ThirdDES
	RSA
	Secp256k1
	ECDSA_P256
	ECDSA_P384
	ECDSA_P521
	SM2
	Ed25519
)

Variables

View Source
var CryptoNameType = map[string]KeyType{
	"AES":        AES,
	"ThirdDES":   ThirdDES,
	"RSA":        RSA,
	"Secp256k1":  Secp256k1,
	"ECDSA_P256": ECDSA_P256,
	"ECDSA_P384": ECDSA_P384,
	"ECDSA_P521": ECDSA_P521,
	"SM2":        SM2,
	"Ed25519":    Ed25519,
}

Functions

This section is empty.

Types

type CipherKey

type CipherKey struct {
	Data   string `json:"data"`
	Cipher string `json:"cipher"`
}

type Key

type Key interface {
	// Bytes returns a serialized, storable representation of this key
	Bytes() ([]byte, error)

	// Type represent the type of key
	Type() KeyType
}

type KeyStore

type KeyStore struct {
	Type   KeyType    `json:"type"`
	Cipher *CipherKey `json:"cipher"`
}

func (*KeyStore) Pretty

func (key *KeyStore) Pretty() (string, error)

type KeyType

type KeyType int

func CryptoNameToType

func CryptoNameToType(name string) (KeyType, error)

type PrivateKey

type PrivateKey interface {
	Key

	// Sign signs digest using key k.
	Sign(digest []byte) ([]byte, error)

	// Return a public key paired with this private key
	PublicKey() PublicKey
}

PrivateKey represents a private key that can be used to generate a public key and sign data

type PublicKey

type PublicKey interface {
	Key

	// Address gets address from public key
	Address() (*types.Address, error)

	// Verify that 'sig' is the signed hash of 'data'
	Verify(digest []byte, sig []byte) (bool, error)
}

PublicKey is a public key that can be used to verify data signed with the corresponding private key

type SymmetricKey

type SymmetricKey interface {
	Key

	// Encrypt encrypts plain text using symmetric key.
	Encrypt(plain []byte) (cipher []byte, err error)

	// Decrypt decrypts ciphertext using symmetric key.
	Decrypt(cipher []byte) (plain []byte, err error)
}

SymmetricKey is a interface that provides symmetric encrypt and decrypt.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL