Reputation: 31060
What are the key schemes, sizes, and encodings used in GUN db?
I didn't find a quick answer on searching so am adding the question here.
The keys look like:
let lee = await SEA.pair()
>lee.pub
"wfcQUDB44NhKFikH4NhWKVZfhQY-xGRpwnZIHjgmwRI.xLxhMgWvgvYHCc95L6Ni2RLmjJCMowWNbR3eQ1r4MOU"
Upvotes: 1
Views: 90
Reputation: 31060
For Signing/Verifying:
Gun uses ECDSA with the P-256 curve.
The keys are encoded in base64.
More specifically, the public key is a .
delineated concatenation of the x
and y
output parameters from running exportKey
on a JSON web key (JWK) CryptoKeyPair
object obtained from the subtleCrypto.exportKey
function (following key generation using subtleCrypto.generateKey
with ECDSA P256 curve).
This has an overview of the x
and y
params.
For Encryption/Decryption:
Gun uses ECDH P-256 cruve with same process as above (public keys stored as lee.epub
for OP example)
Upvotes: 2