tessl install tessl/npm-crypto-browserify@3.12.0Browser-compatible implementation of Node.js crypto module providing cryptographic operations in web environments.
Agent Success
Agent success rate when using this tile
100%
Improvement
Agent success rate improvement when using this tile compared to baseline
1x
Baseline
Agent success rate without this tile
100%
{
"context": "This criteria evaluates the engineer's proficiency in using crypto-browserify's ECDH (Elliptic Curve Diffie-Hellman) functionality for secure key exchange. The focus is on correct usage of createECDH, key generation, public key format handling, shared secret computation, and key import/export capabilities.",
"type": "weighted_checklist",
"checklist": [
{
"name": "ECDH Instance Creation",
"description": "Uses createECDH('secp256k1') to create ECDH instances for elliptic curve key exchange operations.",
"max_score": 15
},
{
"name": "Key Pair Generation",
"description": "Calls generateKeys() method on ECDH instances to generate public-private key pairs.",
"max_score": 15
},
{
"name": "Public Key Export",
"description": "Uses getPublicKey() method with format parameter to retrieve public keys. Correctly handles both 'compressed' and 'uncompressed' formats, specifically using getPublicKey(null, 'compressed') or getPublicKey('hex', 'compressed') for compressed keys.",
"max_score": 20
},
{
"name": "Shared Secret Computation",
"description": "Uses computeSecret() method correctly to compute shared secrets from other party's public key. Properly passes the other party's public key as the first argument and uses appropriate encoding parameters (e.g., computeSecret(otherPublicKey, null, 'hex') or computeSecret(otherPublicKey).toString('hex')).",
"max_score": 25
},
{
"name": "Private Key Export",
"description": "Uses getPrivateKey() method with hex encoding to export private keys for persistence (e.g., getPrivateKey('hex')).",
"max_score": 10
},
{
"name": "Private Key Import",
"description": "Uses setPrivateKey() method with appropriate encoding parameter to import previously exported private keys (e.g., setPrivateKey(privateKeyHex, 'hex')).",
"max_score": 15
}
]
}