CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/npm-crypto-browserify

tessl install tessl/npm-crypto-browserify@3.12.0

Browser-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%

rubric.jsonevals/scenario-6/

{
  "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
    }
  ]
}

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/crypto-browserify@3.12.x
tile.json