kcdsa

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package kcdsa implements the KCDSA(Korean Certificate-based Digital Signature Algorithm) as defined in TTAK.KO-12.0001/R4

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidPublicKey      = errors.New("krypto/kcdsa: invalid public key")
	ErrInvalidParameterSizes = errors.New("krypto/kcdsa: invalid ParameterSizes")
	ErrParametersNotSetUp    = errors.New("krypto/kcdsa: parameters not set up before generating key")
)

Functions

func GenerateKey

func GenerateKey(priv *PrivateKey, rand io.Reader) error

func GenerateKeyTTAK

func GenerateKeyTTAK(priv *PrivateKey, rand io.Reader, userProvidedRandomInput []byte) error

Generate PublicKey and PrivateKey using krypto/kcdsa/kcdsattak package.

func GenerateParameters

func GenerateParameters(params *Parameters, rand io.Reader, sizes ParameterSizes) (err error)

Generate the paramters using the prime number generator used in crypto/dsa package.

func GenerateParametersTTAK

func GenerateParametersTTAK(params *Parameters, rand io.Reader, sizes ParameterSizes) (seed []byte, count int, err error)

Generate the paramters using the prime number generator used in krypto/kcdsa/kcdsattak package.

func Sign

func Sign(randReader io.Reader, priv *PrivateKey, data []byte) (r, s *big.Int, err error)

Sign data using K generated randomly like in crypto/dsa packages.

func SignUsingK

func SignUsingK(K *big.Int, priv *PrivateKey, data []byte) (r, s *big.Int, err error)

Sign data using K Specified

func Verify

func Verify(pub *PublicKey, data []byte, R, S *big.Int) bool

Types

type ParameterSizes

type ParameterSizes int
const (
	L2048N224SHA224 ParameterSizes = iota
	L2048N224SHA256
	L2048N256SHA256
	L3072N256SHA256
)

type Parameters

type Parameters struct {
	P, Q, G *big.Int
	Sizes   ParameterSizes
}

type PrivateKey

type PrivateKey struct {
	PublicKey
	X *big.Int
}

PrivateKey represents a KCDSA private key.

type PublicKey

type PublicKey struct {
	Parameters
	Y *big.Int
}

PublicKey represents a KCDSA public key.

Directories

Path Synopsis
Package kcdsattak implements functions what generate the KCDSA parameters as defined in TTAK.KO-12.0001/R4
Package kcdsattak implements functions what generate the KCDSA parameters as defined in TTAK.KO-12.0001/R4

Jump to

Keyboard shortcuts

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