{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-09T16:03:21.718Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC4086",
  "document": {
    "abstract": "Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space. Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "authors": [
      {
        "name": "Donald E. Eastlake 3rd"
      },
      {
        "name": "Jeffrey I. Schiller"
      },
      {
        "name": "Steve Crocker"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "docId": "RFC4086",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "docLabel": "IETF RFC 4086",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "docNumber": "4086",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "docTitle": "Randomness Requirements for Security",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "docType": "Best Practice",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "doi": "10.17487/RFC4086",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "href": "https://doi.org/10.17487/RFC4086",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "keywords": [
      "Cryptographic Algorithms",
      "Passwords",
      "Cryptographic Keys",
      "Pseudo-random",
      "Random Numbers",
      "SEED"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Cryptographic Algorithms",
        "Passwords",
        "Cryptographic Keys",
        "Pseudo-random",
        "Random",
        "Numbers",
        "SEED"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T16:03:21.718Z",
      "version": "extractDocs.js@commit:8432189beb5c"
    },
    "pages": "48",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "publicationDate": "2005-06-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "references": {
      "bibliographic": [
        "NIST.FIPS.197",
        "ISBN.0865313385",
        "NIST.FIPS.46-3",
        "RFC2631",
        "RFC4033",
        "RFC4034",
        "RFC4035",
        "NIST.FIPS.186-2",
        "ISBN.047122894X",
        "RFC2401",
        "ISBN.0130460192",
        "ISBN.0691025460",
        "RFC1421",
        "RFC1422",
        "RFC1423",
        "RFC1424",
        "RFC2440",
        "RFC3156",
        "RFC1320",
        "RFC1321",
        "NIST.FIPS.81",
        "ISBN.0262181789",
        "RFC3766",
        "RFC1750",
        "RFC1948",
        "RFC2104",
        "ISBN.9780471117094",
        "NIST.FIPS.180-2",
        "RFC3174",
        "RFC2246",
        "RFC977",
        "RFC2980",
        "ISBN.0735617228",
        "RFC2632",
        "NIST.FIPS.112",
        "RFC2633",
        "RFC2634",
        "orphan/RFC4086/h:84f6ec48",
        "orphan/RFC4086/h:676e86ab",
        "orphan/RFC4086/h:77c34b3b",
        "orphan/RFC4086/h:8bd24013",
        "orphan/RFC4086/h:829ac686",
        "orphan/RFC4086/h:45202413",
        "orphan/RFC4086/h:647a0147",
        "orphan/RFC4086/h:f0d33e6c",
        "orphan/RFC4086/h:642be283",
        "orphan/RFC4086/h:d9a3dbdf",
        "orphan/RFC4086/h:57683c8d",
        "orphan/RFC4086/h:edec24e4",
        "orphan/RFC4086/h:721cfac5",
        "orphan/RFC4086/h:4d17d623",
        "orphan/RFC4086/h:ac469845",
        "orphan/RFC4086/h:e237b381",
        "orphan/RFC4086/h:2f083982",
        "orphan/RFC4086/h:59ceab63",
        "orphan/RFC4086/h:e1092a72",
        "orphan/RFC4086/h:06b61249",
        "orphan/RFC4086/h:fb96f1f4",
        "orphan/RFC4086/h:daca1a72",
        "orphan/RFC4086/h:4bdc974c",
        "orphan/RFC4086/h:7da8defa",
        "orphan/RFC4086/h:6e4ca706"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=61 proseBlocks=89 skippedAnchorBlocks=67",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [
          "NIST.FIPS.197",
          "ISBN.0865313385",
          "NIST.FIPS.46-3",
          "RFC2631",
          "RFC4033",
          "RFC4034",
          "RFC4035",
          "NIST.FIPS.186-2",
          "ISBN.047122894X",
          "RFC2401",
          "ISBN.0130460192",
          "ISBN.0691025460",
          "RFC1421",
          "RFC1422",
          "RFC1423",
          "RFC1424",
          "RFC2440",
          "RFC3156",
          "RFC1320",
          "RFC1321",
          "NIST.FIPS.81",
          "ISBN.0262181789",
          "RFC3766",
          "RFC1750",
          "RFC1948",
          "RFC2104",
          "ISBN.9780471117094",
          "NIST.FIPS.180-2",
          "RFC3174",
          "RFC2246",
          "RFC977",
          "RFC2980",
          "ISBN.0735617228",
          "RFC2632",
          "NIST.FIPS.112",
          "RFC2633",
          "RFC2634",
          "orphan/RFC4086/h:84f6ec48",
          "orphan/RFC4086/h:676e86ab",
          "orphan/RFC4086/h:77c34b3b",
          "orphan/RFC4086/h:8bd24013",
          "orphan/RFC4086/h:829ac686",
          "orphan/RFC4086/h:45202413",
          "orphan/RFC4086/h:647a0147",
          "orphan/RFC4086/h:f0d33e6c",
          "orphan/RFC4086/h:642be283",
          "orphan/RFC4086/h:d9a3dbdf",
          "orphan/RFC4086/h:57683c8d",
          "orphan/RFC4086/h:edec24e4",
          "orphan/RFC4086/h:721cfac5",
          "orphan/RFC4086/h:4d17d623",
          "orphan/RFC4086/h:ac469845",
          "orphan/RFC4086/h:e237b381",
          "orphan/RFC4086/h:2f083982",
          "orphan/RFC4086/h:59ceab63",
          "orphan/RFC4086/h:e1092a72",
          "orphan/RFC4086/h:06b61249",
          "orphan/RFC4086/h:fb96f1f4",
          "orphan/RFC4086/h:daca1a72",
          "orphan/RFC4086/h:4bdc974c",
          "orphan/RFC4086/h:7da8defa",
          "orphan/RFC4086/h:6e4ca706",
          "orphan/RFC4086/h:a94626e4"
        ],
        "overridden": true,
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T16:03:21.718Z",
        "version": "extractDocs.js@commit:8432189beb5c"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc4086/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
      "updated": "2026-10-09T15:38:44.276Z",
      "version": "extractDocs.js@commit:12c59e0e1847"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T15:38:44.276Z",
        "version": "extractDocs.js@commit:12c59e0e1847"
      },
      "errataExist": true,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T15:38:44.276Z",
        "version": "extractDocs.js@commit:12c59e0e1847"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc4086",
        "https://www.rfc-editor.org/errata_search.php?rfc=4086",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc4086.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T15:38:44.277Z",
        "version": "extractDocs.js@commit:12c59e0e1847"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T15:38:44.276Z",
        "version": "extractDocs.js@commit:12c59e0e1847"
      },
      "statusNote": "Best Current Practice",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T15:38:44.276Z",
        "version": "extractDocs.js@commit:12c59e0e1847"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T15:38:44.276Z",
        "version": "extractDocs.js@commit:12c59e0e1847"
      },
      "supersedes": [
        "RFC1750"
      ],
      "supersedes$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4086/",
        "updated": "2026-10-09T15:38:44.276Z",
        "version": "extractDocs.js@commit:12c59e0e1847"
      }
    }
  }
}