
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Private Key, Public Key, Signature, AES, Encryption / Decryption
import ecc from 'ala-ecc4'
// or
const ecc = require('ala-ecc4')
npm install ala-ecc4<html>
<head>
<meta charset="utf-8">
<!--
sha512-cL+IQQaQ586s9DrXfGtDheRpj5iDKh2M+xlpfwbhNjRIp4BGQ1fkM/vB4Ta8mc+f51YBW9sJiPcyMDIreJe6gQ== lib/ala-ecc4.js
sha512-dYFDmK/d9r3/NCp6toLtfkwOjSMRBaEzaGAx1tfRItC0nsI0hVLERk05iNBQR7uDNI7ludYhcBI4vUiFHdjsTQ== lib/ala-ecc4.min.js
sha512-eq1SCoSe38uR1UVuQMwR73VgY8qKTBDc87n2nIiC5WLhn1o2y1U6c5wY8lrigVX7INM8fM0PxDlMX5WvpghKig== lib/ala-ecc4.min.js.map
-->
<script src="https://cdn.jsdelivr.net/npm/ala-ecc4@4.0.4/lib/ala-ecc4.min.js"
integrity="sha512-dYFDmK/d9r3/NCp6toLtfkwOjSMRBaEzaGAx1tfRItC0nsI0hVLERk05iNBQR7uDNI7ludYhcBI4vUiFHdjsTQ=="
crossorigin="anonymous"></script>
</head>
<body>
See console object: alaexplorerjs_ecc
</body>
</html>
Type: string
Initialize by running some self-checking code. This should take a second to gather additional CPU entropy used during private key generation.
Initialization happens once even if called multiple times.
Returns Promise
Does not pause to gather CPU entropy.
Returns Promise<PrivateKey> test key
cpuEntropyBits number gather additional entropy
from a CPU mining algorithm. This will already happen once by
default. (optional, default 0)ecc.randomKey().then(privateKey => {
console.log('Private Key:\t', privateKey) // wif
console.log('Public Key:\t', ecc.privateToPublic(privateKey)) // ALAkey...
})
seed string any length string. This is private. The same
seed produces the same private key every time. At least 128 random
bits should be used to produce a good private key.ecc.seedPrivate('secret') === wif
Returns wif
ecc.privateToPublic(wif) === pubkey
Returns pubkey
ecc.isValidPublic(pubkey) === true
Returns boolean valid
wif wifecc.isValidPrivate(wif) === true
Returns boolean valid
Create a signature using data or a hash.
data (string | Buffer)privateKey (wif | PrivateKey)encoding String data encoding (if string) (optional, default 'utf8')ecc.sign('I am alive', wif)
Returns string string signature
dataSha256 (String | Buffer) sha256 hash 32 byte buffer or stringprivateKey (wif | PrivateKey)encoding String dataSha256 encoding (if string) (optional, default 'hex')Returns string string signature
Verify signed data.
signature (string | Buffer) buffer or hex stringdata (string | Buffer)pubkey (pubkey | PublicKey)encoding (optional, default 'utf8')hashData boolean sha256 hash data before verify (optional, default true)ecc.verify(signature, 'I am alive', pubkey) === true
Returns boolean
Recover the public key used to create the signature.
signature (String | Buffer) (ALAbase58sig.., Hex, Buffer)data (String | Buffer) full dataencoding String data encoding (if data is a string) (optional, default 'utf8')ecc.recover(signature, 'I am alive') === pubkey
Returns pubkey
signature (String | Buffer) (ALAbase58sig.., Hex, Buffer)dataSha256 (String | Buffer) sha256 hash 32 byte buffer or hex stringencoding String dataSha256 encoding (if dataSha256 is a string) (optional, default 'hex')Returns PublicKey
data (string | Buffer) always binary, you may need Buffer.from(data, 'hex')resultEncoding (optional, default 'hex')encoding string result encoding 'hex', 'binary' or 'base64' (optional, default 'hex')ecc.sha256('hashme') === '02208b..'
ecc.sha256(Buffer.from('02208b', 'hex')) === '29a23..'
Returns (string | Buffer) Buffer when encoding is null, or string
ALAKey..
Type: string
let {PrivateKey, PublicKey, Signature, Aes, key_utils, config} = require('ala-ecc4')
// Create a new random private key
let privateWif
PrivateKey.randomKey().then(privateKey => privateWif = privateKey.toWif())
// Convert to a public key
pubkey = PrivateKey.fromString(privateWif).toPublic().toString()
git clone https://github.com/ALADIN-Network/ala-ecc4.git
cd ala-ecc4
npm install
npm run build_browser
# builds: ./dist/ala-ecc4.js
# Verify release hash
<script src=ala-ecc4.js></script>
var ecc = alaexplorerjs_ecc
ecc.randomKey().then(privateWif => {
var pubkey = ecc.privateToPublic(privateWif)
console.log(pubkey)
})
FAQs
Elliptic curve cryptography functions
We found that ala-ecc4 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.