CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-scrypt-js

The scrypt password-based key derivation function with sync and cancellable async.

Overall
score

98%

Overview
Eval results
Files

rubric.jsonevals/scenario-7/

{
  "context": "This criteria evaluates how well the engineer uses the scrypt-js package to implement password key derivation with proper parameter configuration. The focus is on correctly setting the N, r, p, and dkLen parameters for different security levels.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Package Import",
      "description": "Correctly imports scrypt-js package using the appropriate method (scrypt or syncScrypt) from the package",
      "max_score": 10
    },
    {
      "name": "N Parameter Configuration",
      "description": "Correctly configures the N (CPU/memory cost) parameter for all three security levels: 1024 for low, 16384 for medium, and 32768 for high",
      "max_score": 25
    },
    {
      "name": "r Parameter Configuration",
      "description": "Correctly sets the r (block size) parameter to 8 for all security levels",
      "max_score": 15
    },
    {
      "name": "p Parameter Configuration",
      "description": "Correctly sets the p (parallelization) parameter: 1 for low and medium security levels, 2 for high security level",
      "max_score": 20
    },
    {
      "name": "dkLen Parameter",
      "description": "Correctly passes the desired key length (dkLen) parameter to the scrypt function based on the requested output size",
      "max_score": 15
    },
    {
      "name": "Password Input Format",
      "description": "Correctly handles password input as array-like structure of integers (0-255) or compatible format when calling scrypt/syncScrypt",
      "max_score": 5
    },
    {
      "name": "Salt Input Format",
      "description": "Correctly handles salt input as array-like structure of integers (0-255) or compatible format when calling scrypt/syncScrypt",
      "max_score": 5
    },
    {
      "name": "Security Level Mapping",
      "description": "Correctly maps the security level string (low, medium, high) to the appropriate parameter combinations",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-scrypt-js

tile.json