abstract class libsodium (View source)

libsodium Key Handler

Traits

Generic EC Key Parsing Helper functions

Constants

IS_INVISIBLE

Is invisible flag

Properties

static protected bool $childOIDsLoaded Child OIDs loaded from  Common

Methods

static 
setImplicitCurve(Base $curve)

Explicitly set the curve

from  Common
static Base|false
loadCurveByParam(array $params)

Returns an instance of \phpseclib3\Crypt\EC\BaseCurves\Base based on the curve parameters

from  Common
static object[]
extractPoint(string $str, Base $curve)

Extract points from a string

from  Common
static 
useSpecifiedCurve()

Use Specified Curve

from  Common
static 
useNamedCurve()

Use Named Curve

from  Common
static array
load(string $key, string $password = '')

Break a public or private key down into its constituent components

static string
savePublicKey(Ed25519 $curve, array $publicKey)

Convert an EC public key to the appropriate format

static string
savePrivateKey(Integer $privateKey, Ed25519 $curve, array $publicKey, string $password = '')

Convert a private key to the appropriate format.

Details

static setImplicitCurve(Base $curve)

Explicitly set the curve

If the key contains an implicit curve phpseclib needs the curve to be explicitly provided

Parameters

Base $curve

static protected Base|false loadCurveByParam(array $params)

Returns an instance of \phpseclib3\Crypt\EC\BaseCurves\Base based on the curve parameters

Parameters

array $params

Return Value

Base|false

static object[] extractPoint(string $str, Base $curve)

Extract points from a string

Supports both compressed and uncompressed points

Parameters

string $str
Base $curve

Return Value

object[]

static useSpecifiedCurve()

Use Specified Curve

A specified curve has all the coefficients, the base points, etc, explicitely included. A specified curve is a more verbose way of representing a curve

static useNamedCurve()

Use Named Curve

A named curve does not include any parameters. It is up to the EC parameters to know what the coefficients, the base points, etc, are from the name of the curve. A named curve is a more concise way of representing a curve

static array load(string $key, string $password = '')

Break a public or private key down into its constituent components

Parameters

string $key
string $password optional

Return Value

array

static string savePublicKey(Ed25519 $curve, array $publicKey)

Convert an EC public key to the appropriate format

Parameters

Ed25519 $curve
array $publicKey

Return Value

string

static string savePrivateKey(Integer $privateKey, Ed25519 $curve, array $publicKey, string $password = '')

Convert a private key to the appropriate format.

Parameters

Integer $privateKey
Ed25519 $curve
array $publicKey
string $password optional

Return Value

string