The @sparksignals/keyper-core
package provides common internal functions for the Keyper credential vault service. This package includes a set of cryptographic utilities, hashing functions, and RID (Resource Identifier) generators essential for secure operations within the Keyper system.
To install the package, use npm:
npm install @sparksignals/keyper-core
The KeyperCore
object exposes various cryptographic, hashing, and RID generation functions organized into three categories: crypto
, hash
, and rid
.
The crypto
namespace provides functions for generating key pairs and performing encryption and decryption operations.
-
buildSessionElipticKeys
- Description: Generates session Elliptic Curve Diffie-Hellman (ECDH) key pairs.
- Usage:
const { buildSessionElipticKeys } = KeyperCore.crypto; const { publicKey, privateKey } = buildSessionElipticKeys();
-
buildElipticKeys
- Description: Generates general Elliptic Curve Diffie-Hellman (ECDH) key pairs.
- Usage:
const { buildElipticKeys } = KeyperCore.crypto; const { publicKey, privateKey } = buildElipticKeys();
-
buildRSAKeys
- Description: Generates RSA key pairs.
- Usage:
const { buildRSAKeys } = KeyperCore.crypto; const { publicKey, privateKey } = buildRSAKeys();
-
computeECDHSharedKey
- Description: Computes a symmetric key using Elliptic Curve Diffie-Hellman (ECDH) key pairs.
- Usage:
const { computeECDHSharedKey } = KeyperCore.crypto; const sharedKey = computeECDHSharedKey(privateKey, publicKey);
-
encryptSymmetric
- Description: Encrypts data using a computed symmetric key.
- Usage:
const { encryptSymmetric } = KeyperCore.crypto; const encryptedData = encryptSymmetric(sharedKey, data);
-
decryptSymmetric
- Description: Decrypts data using a computed symmetric key.
- Usage:
const { decryptSymmetric } = KeyperCore.crypto; const decryptedData = decryptSymmetric(sharedKey, encryptedData);
The hash
namespace provides functions for hashing data using different algorithms.
-
sha3Hash
- Description: Hashes data using the SHA-3 algorithm.
- Usage:
const { sha3Hash } = KeyperCore.hash; const hash = sha3Hash(data);
-
argon2Hash
- Description: Hashes data using the Argon2 algorithm.
- Usage:
const { argon2Hash } = KeyperCore.hash; const hash = await argon2Hash(data);
-
argon2Verify
- Description: Verifies if hashed data matches an input using Argon2.
- Usage:
const { argon2Verify } = KeyperCore.hash; const isValid = await argon2Verify(hash, data);
The rid
namespace provides functions for generating Resource Identifiers (RIDs) for systems, agents, and credentials.
-
buildSystemRID
- Description: Generates a system Resource Identifier (RID).
- Usage:
const { buildSystemRID } = KeyperCore.rid; const systemRID = buildSystemRID();
-
buildAgentRID
- Description: Generates an agent Resource Identifier (RID).
- Usage:
const { buildAgentRID } = KeyperCore.rid; const agentRID = buildAgentRID();
-
buildCredentialRID
- Description: Generates a credential Resource Identifier (RID).
- Usage:
const { buildCredentialRID } = KeyperCore.rid; const credentialRID = buildCredentialRID();
This package is proprietary software. For restrictive private use of SparkSignals LLC and its systems and services, forbidding any disclosure or publication of any excerpts of its source code, any unauthorized external use of it, and other suitable restrictions of use other than by the company and its systems and services and authorized partners.
For more information or support, please contact SparkSignals LLC.