elgamal

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 8, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// 获取 Cipher 类型
	GetCipherFromName = pkcs8.GetCipherFromName
	// 获取 hash 类型
	GetHashFromName = pkcs8.GetHashFromName
)
View Source
var (
	ErrKeyMustBePEMEncoded  = errors.New("go-cryptobin/elgamal: invalid key: Key must be a PEM encoded PKCS1 or PKCS8 key")
	ErrNotElGamalPrivateKey = errors.New("go-cryptobin/elgamal: key is not a valid ElGamal private key")
	ErrNotElGamalPublicKey  = errors.New("go-cryptobin/elgamal: key is not a valid ElGamal public key")
)

Functions

This section is empty.

Types

type ElGamal

type ElGamal struct {

	// 错误
	Errors []error
	// contains filtered or unexported fields
}

*

  • ElGamal *
  • @create 2023-6-22
  • @author deatil

func FromBase64String

func FromBase64String(data string) ElGamal

Base64

func FromBytes

func FromBytes(data []byte) ElGamal

字节

func FromHexString

func FromHexString(data string) ElGamal

Hex

func FromPKCS1PrivateKey

func FromPKCS1PrivateKey(key []byte) ElGamal

PKCS1 私钥

func FromPKCS1PrivateKeyWithPassword

func FromPKCS1PrivateKeyWithPassword(key []byte, password string) ElGamal

PKCS1 私钥带密码

func FromPKCS1PublicKey

func FromPKCS1PublicKey(key []byte) ElGamal

PKCS1 公钥

func FromPKCS8PrivateKey

func FromPKCS8PrivateKey(key []byte) ElGamal

PKCS8 私钥

func FromPKCS8PrivateKeyWithPassword

func FromPKCS8PrivateKeyWithPassword(key []byte, password string) ElGamal

PKCS8 私钥带密码

func FromPKCS8PublicKey

func FromPKCS8PublicKey(key []byte) ElGamal

PKCS8 公钥

func FromPrivateKey

func FromPrivateKey(key []byte) ElGamal

私钥

func FromPrivateKeyWithPassword

func FromPrivateKeyWithPassword(key []byte, password string) ElGamal

私钥带密码

func FromPublicKey

func FromPublicKey(key []byte) ElGamal

公钥

func FromString

func FromString(data string) ElGamal

字符

func FromXMLPrivateKey

func FromXMLPrivateKey(key []byte) ElGamal

XML 私钥

func FromXMLPublicKey

func FromXMLPublicKey(key []byte) ElGamal

XML 公钥

func GenerateKey

func GenerateKey(bitsize, probability int) ElGamal

生成密钥

func GenerateKeyWithSeed

func GenerateKeyWithSeed(reader io.Reader, bitsize, probability int) ElGamal

使用数据生成密钥对

func New

func New() ElGamal

构造函数

func NewElGamal

func NewElGamal() ElGamal

构造函数

func (ElGamal) AppendError

func (this ElGamal) AppendError(err ...error) ElGamal

添加错误

func (ElGamal) CheckKeyPair

func (this ElGamal) CheckKeyPair() bool

检测公钥私钥是否匹配

func (ElGamal) CreatePKCS1PrivateKey

func (this ElGamal) CreatePKCS1PrivateKey() ElGamal

生成 pkcs1 私钥 pem 数据

func (ElGamal) CreatePKCS1PrivateKeyWithPassword

func (this ElGamal) CreatePKCS1PrivateKeyWithPassword(password string, opts ...string) ElGamal

生成 pkcs1 私钥带密码 pem 数据 CreatePKCS1PrivateKeyWithPassword("123", "AES256CBC") PEMCipher: DESCBC | DESEDE3CBC | AES128CBC | AES192CBC | AES256CBC

func (ElGamal) CreatePKCS1PublicKey

func (this ElGamal) CreatePKCS1PublicKey() ElGamal

生成 pkcs1 公钥 pem 数据

func (ElGamal) CreatePKCS8PrivateKey

func (this ElGamal) CreatePKCS8PrivateKey() ElGamal

生成 pkcs8 私钥 pem 数据

func (ElGamal) CreatePKCS8PrivateKeyWithPassword

func (this ElGamal) CreatePKCS8PrivateKeyWithPassword(password string, opts ...any) ElGamal

生成 PKCS8 私钥带密码 pem 数据 CreatePKCS8PrivateKeyWithPassword("123", "AES256CBC", "SHA256")

func (ElGamal) CreatePKCS8PublicKey

func (this ElGamal) CreatePKCS8PublicKey() ElGamal

生成公钥 pem 数据

func (ElGamal) CreatePrivateKey

func (this ElGamal) CreatePrivateKey() ElGamal

生成私钥 pem 数据 elgamal := New().GenerateKey("L2048N256") priKey := elgamal.CreatePrivateKey().ToKeyString()

func (ElGamal) CreatePrivateKeyWithPassword

func (this ElGamal) CreatePrivateKeyWithPassword(password string, opts ...string) ElGamal

生成私钥带密码 pem 数据

func (ElGamal) CreatePublicKey

func (this ElGamal) CreatePublicKey() ElGamal

生成公钥 pem 数据

func (ElGamal) CreateXMLPrivateKey

func (this ElGamal) CreateXMLPrivateKey() ElGamal

生成私钥 xml 数据

func (ElGamal) CreateXMLPublicKey

func (this ElGamal) CreateXMLPublicKey() ElGamal

生成公钥 xml 数据

func (ElGamal) Decrypt

func (this ElGamal) Decrypt() ElGamal

私钥解密

func (ElGamal) DecryptASN1

func (this ElGamal) DecryptASN1() ElGamal

私钥解密

func (ElGamal) DecryptBytes

func (this ElGamal) DecryptBytes() ElGamal

私钥解密

func (ElGamal) Encrypt

func (this ElGamal) Encrypt() ElGamal

公钥加密

func (ElGamal) EncryptASN1

func (this ElGamal) EncryptASN1() ElGamal

公钥加密

func (ElGamal) EncryptBytes

func (this ElGamal) EncryptBytes() ElGamal

公钥加密

func (ElGamal) Error

func (this ElGamal) Error() error

获取错误

func (ElGamal) FromBase64String

func (this ElGamal) FromBase64String(data string) ElGamal

Base64

func (ElGamal) FromBytes

func (this ElGamal) FromBytes(data []byte) ElGamal

字节

func (ElGamal) FromHexString

func (this ElGamal) FromHexString(data string) ElGamal

Hex

func (ElGamal) FromPKCS1PrivateKey

func (this ElGamal) FromPKCS1PrivateKey(key []byte) ElGamal

PKCS1 私钥

func (ElGamal) FromPKCS1PrivateKeyDer

func (this ElGamal) FromPKCS1PrivateKeyDer(der []byte) ElGamal

Pkcs1 DER 私钥

func (ElGamal) FromPKCS1PrivateKeyWithPassword

func (this ElGamal) FromPKCS1PrivateKeyWithPassword(key []byte, password string) ElGamal

PKCS1 私钥带密码

func (ElGamal) FromPKCS1PublicKey

func (this ElGamal) FromPKCS1PublicKey(key []byte) ElGamal

PKCS1 公钥

func (ElGamal) FromPKCS1PublicKeyDer

func (this ElGamal) FromPKCS1PublicKeyDer(der []byte) ElGamal

PKCS1 DER 公钥

func (ElGamal) FromPKCS8PrivateKey

func (this ElGamal) FromPKCS8PrivateKey(key []byte) ElGamal

PKCS8 私钥

func (ElGamal) FromPKCS8PrivateKeyDer

func (this ElGamal) FromPKCS8PrivateKeyDer(der []byte) ElGamal

Pkcs8 DER 私钥

func (ElGamal) FromPKCS8PrivateKeyWithPassword

func (this ElGamal) FromPKCS8PrivateKeyWithPassword(key []byte, password string) ElGamal

PKCS8 私钥带密码

func (ElGamal) FromPKCS8PublicKey

func (this ElGamal) FromPKCS8PublicKey(key []byte) ElGamal

PKCS8 公钥

func (ElGamal) FromPKCS8PublicKeyDer

func (this ElGamal) FromPKCS8PublicKeyDer(der []byte) ElGamal

PKCS8 DER 公钥

func (ElGamal) FromPrivateKey

func (this ElGamal) FromPrivateKey(key []byte) ElGamal

私钥

func (ElGamal) FromPrivateKeyWithPassword

func (this ElGamal) FromPrivateKeyWithPassword(key []byte, password string) ElGamal

私钥带密码

func (ElGamal) FromPublicKey

func (this ElGamal) FromPublicKey(key []byte) ElGamal

公钥

func (ElGamal) FromString

func (this ElGamal) FromString(data string) ElGamal

字符

func (ElGamal) FromXMLPrivateKey

func (this ElGamal) FromXMLPrivateKey(key []byte) ElGamal

XML 私钥

func (ElGamal) FromXMLPublicKey

func (this ElGamal) FromXMLPublicKey(key []byte) ElGamal

XML 公钥

func (ElGamal) GenerateKey

func (this ElGamal) GenerateKey(bitsize, probability int) ElGamal

生成密钥

func (ElGamal) GenerateKeyWithSeed

func (this ElGamal) GenerateKeyWithSeed(reader io.Reader, bitsize, probability int) ElGamal

使用数据生成密钥对

func (ElGamal) GetData

func (this ElGamal) GetData() []byte

获取 data

func (ElGamal) GetEncoding

func (this ElGamal) GetEncoding() EncodingType

get Encoding type

func (ElGamal) GetErrors

func (this ElGamal) GetErrors() []error

获取错误

func (ElGamal) GetKeyData

func (this ElGamal) GetKeyData() []byte

获取 keyData

func (ElGamal) GetParsedData

func (this ElGamal) GetParsedData() []byte

获取 parsedData

func (ElGamal) GetPrivateKey

func (this ElGamal) GetPrivateKey() *elgamal.PrivateKey

获取 PrivateKey

func (ElGamal) GetPublicKey

func (this ElGamal) GetPublicKey() *elgamal.PublicKey

获取 PublicKey

func (ElGamal) GetSignHash

func (this ElGamal) GetSignHash() HashFunc

获取 hash 类型

func (ElGamal) GetVerify

func (this ElGamal) GetVerify() bool

获取验证后情况

func (ElGamal) MakeKeyDer

func (this ElGamal) MakeKeyDer() ElGamal

生成密钥 der 数据

func (ElGamal) MakePublicKey

func (this ElGamal) MakePublicKey() ElGamal

生成公钥

func (ElGamal) OnError

func (this ElGamal) OnError(fn func([]error)) ElGamal

引出错误信息

func (ElGamal) ParsePKCS1PrivateKeyFromPEM

func (this ElGamal) ParsePKCS1PrivateKeyFromPEM(key []byte) (*elgamal.PrivateKey, error)

解析私钥

func (ElGamal) ParsePKCS1PrivateKeyFromPEMWithPassword

func (this ElGamal) ParsePKCS1PrivateKeyFromPEMWithPassword(key []byte, password string) (*elgamal.PrivateKey, error)

解析私钥带密码

func (ElGamal) ParsePKCS1PublicKeyFromPEM

func (this ElGamal) ParsePKCS1PublicKeyFromPEM(key []byte) (*elgamal.PublicKey, error)

解析公钥

func (ElGamal) ParsePKCS8PrivateKeyFromPEM

func (this ElGamal) ParsePKCS8PrivateKeyFromPEM(key []byte) (*elgamal.PrivateKey, error)

解析私钥 PKCS8

func (ElGamal) ParsePKCS8PrivateKeyFromPEMWithPassword

func (this ElGamal) ParsePKCS8PrivateKeyFromPEMWithPassword(key []byte, password string) (*elgamal.PrivateKey, error)

解析 PKCS8 带密码的私钥

func (ElGamal) ParsePKCS8PublicKeyFromPEM

func (this ElGamal) ParsePKCS8PublicKeyFromPEM(key []byte) (*elgamal.PublicKey, error)

解析公钥 PKCS8

func (ElGamal) ParsePrivateKeyFromXML

func (this ElGamal) ParsePrivateKeyFromXML(key []byte) (*elgamal.PrivateKey, error)

解析 xml 私钥

func (ElGamal) ParsePublicKeyFromXML

func (this ElGamal) ParsePublicKeyFromXML(key []byte) (*elgamal.PublicKey, error)

解析 xml 公钥

func (ElGamal) SetSignHash

func (this ElGamal) SetSignHash(data string) ElGamal

设置 hash 类型 可用参数可查看 Hash 结构体数据

func (ElGamal) Sign

func (this ElGamal) Sign() ElGamal

私钥签名

func (ElGamal) SignASN1

func (this ElGamal) SignASN1() ElGamal

私钥签名

func (ElGamal) SignBytes

func (this ElGamal) SignBytes() ElGamal

私钥签名明文

func (ElGamal) ToBase64String

func (this ElGamal) ToBase64String() string

输出Base64

func (ElGamal) ToBytes

func (this ElGamal) ToBytes() []byte

输出字节

func (ElGamal) ToHexString

func (this ElGamal) ToHexString() string

输出Hex

func (ElGamal) ToKeyBytes

func (this ElGamal) ToKeyBytes() []byte

私钥/公钥

func (ElGamal) ToKeyString

func (this ElGamal) ToKeyString() string

私钥/公钥

func (ElGamal) ToString

func (this ElGamal) ToString() string

输出字符

func (ElGamal) ToVerify

func (this ElGamal) ToVerify() bool

验证结果

func (ElGamal) ToVerifyInt

func (this ElGamal) ToVerifyInt() int

验证结果,返回 int 类型

func (ElGamal) Verify

func (this ElGamal) Verify(data []byte) ElGamal

公钥验证 使用原始数据[data]对比签名后数据

func (ElGamal) VerifyASN1

func (this ElGamal) VerifyASN1(data []byte) ElGamal

公钥验证 使用原始数据[data]对比签名后数据

func (ElGamal) VerifyBytes

func (this ElGamal) VerifyBytes(data []byte) ElGamal

公钥验证明文 使用原始数据[data]对比签名后数据

func (ElGamal) WithData

func (this ElGamal) WithData(data []byte) ElGamal

设置 data

func (ElGamal) WithEncoding

func (this ElGamal) WithEncoding(encoding EncodingType) ElGamal

设置编码方式

func (ElGamal) WithEncodingASN1

func (this ElGamal) WithEncodingASN1() ElGamal

设置 ASN1 编码方式

func (ElGamal) WithEncodingBytes

func (this ElGamal) WithEncodingBytes() ElGamal

设置明文编码方式

func (ElGamal) WithErrors

func (this ElGamal) WithErrors(errs []error) ElGamal

设置错误

func (ElGamal) WithParsedData

func (this ElGamal) WithParsedData(data []byte) ElGamal

设置 parsedData

func (ElGamal) WithPrivateKey

func (this ElGamal) WithPrivateKey(data *elgamal.PrivateKey) ElGamal

设置 PrivateKey

func (ElGamal) WithPublicKey

func (this ElGamal) WithPublicKey(data *elgamal.PublicKey) ElGamal

设置 PublicKey

func (ElGamal) WithSignHash

func (this ElGamal) WithSignHash(data HashFunc) ElGamal

设置 hash 类型

func (ElGamal) WithVerify

func (this ElGamal) WithVerify(data bool) ElGamal

设置 verify

type EncodingType

type EncodingType uint

数据编码方式 marshal data type

const (
	EncodingASN1 EncodingType = 1 + iota
	EncodingBytes
)

type HashFunc

type HashFunc = func() hash.Hash

HashFunc

type Opts

type Opts = pkcs8.Opts

配置

type PBKDF2Opts

type PBKDF2Opts = pkcs8.PBKDF2Opts

PBKDF2 配置

type ScryptOpts

type ScryptOpts = pkcs8.ScryptOpts

Scrypt 配置

Jump to

Keyboard shortcuts

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