{
  "feed_url": "https://kyberlib.com/feed.json",
  "home_page_url": "https://kyberlib.com/",
  "items": [
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "The page you asked for is not on kyberlib.com.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/404/",
      "language": "en-GB",
      "tags": [],
      "title": "Page not found | kyberlib",
      "url": "https://kyberlib.com/404/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Who builds kyberlib, and the facts about the project: its crates, licence, minimum Rust version, latest release, versioning policy and where its source and security policy live.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/about/",
      "language": "en-GB",
      "tags": [],
      "title": "About kyberlib and its author, Sebastien Rousseau | kyberlib",
      "url": "https://kyberlib.com/about/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "How kyberlib.com is built to be accessible, how it is checked on every build, and how to report a barrier.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/accessibility/",
      "language": "en-GB",
      "tags": [],
      "title": "Accessibility statement | kyberlib",
      "url": "https://kyberlib.com/accessibility/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Measured kyberlib timings for ML-KEM-768 key generation, encapsulation and decapsulation, the machine they were measured on, the dudect constant-time results, and how to reproduce them.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/benchmarks/",
      "language": "en-GB",
      "tags": [],
      "title": "Performance: ML-KEM-768 timings and the constant-time check | kyberlib",
      "url": "https://kyberlib.com/benchmarks/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "What changed in kyberlib's recent releases, from the move to FIPS 203 ML-KEM in 0.0.7 to 0.0.10, with links to the full changelog.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/changelog/",
      "language": "en-GB",
      "tags": [],
      "title": "Changelog: kyberlib releases up to 0.0.10 | kyberlib",
      "url": "https://kyberlib.com/changelog/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Send a question or feedback about kyberlib or kyberlib.com. Bugs and feature requests are best filed as GitHub issues, and security reports go by email.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/contact/",
      "language": "en-GB",
      "tags": [],
      "title": "Contact the kyberlib project | kyberlib",
      "url": "https://kyberlib.com/contact/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "How to contribute to kyberlib: open an issue first, what a pull request needs, the rules for cryptographic code, and how contributions are licensed.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/contribute/",
      "language": "en-GB",
      "tags": [],
      "title": "Contributing to kyberlib | kyberlib",
      "url": "https://kyberlib.com/contribute/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "A guide to kyberlib's API: the ML-KEM-512, 768 and 1024 types and their sizes, the typed KemCore API and the legacy functions, every Cargo feature, and the crates in the workspace.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/documentation/",
      "language": "en-GB",
      "tags": [],
      "title": "API guide: parameter sets, types and Cargo features | kyberlib",
      "url": "https://kyberlib.com/documentation/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Answers about kyberlib: what it is, ML-KEM against CRYSTALS-Kyber, choosing a parameter set, FIPS 140-3, the audit, no_std, JavaScript, hybrid TLS and the licence.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/faqs/",
      "language": "en-GB",
      "tags": [],
      "title": "Frequently asked questions about kyberlib | kyberlib",
      "url": "https://kyberlib.com/faqs/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "What kyberlib does: the three FIPS 203 ML-KEM parameter sets behind one trait, 180/180 NIST ACVP vectors, no unsafe code by default, KyberSlash-clean arithmetic, self-erasing secret keys, no_std and WebAssembly.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/features/",
      "language": "en-GB",
      "tags": [],
      "title": "Features: FIPS 203 ML-KEM, ACVP conformance and side-channel defences | kyberlib",
      "url": "https://kyberlib.com/features/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Add kyberlib to a Rust project, generate an ML-KEM-768 key pair, encapsulate and decapsulate a shared secret, serialise keys, and build for no_std targets.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/getting-started/",
      "language": "en-GB",
      "tags": [],
      "title": "Getting started with kyberlib: add the crate and agree a shared secret | kyberlib",
      "url": "https://kyberlib.com/getting-started/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "kyberlib.com is built with Static Site Generator (SSG) and the Prism theme, and deployed to GitHub Pages by GitHub Actions.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/made-with-ssg/",
      "language": "en-GB",
      "tags": [],
      "title": "Made with Static Site Generator | kyberlib",
      "url": "https://kyberlib.com/made-with-ssg/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "How to move from kyberlib 0.0.6 (CRYSTALS-Kyber Round 3) to FIPS 203 ML-KEM, and what changes when you switch to kyberlib from another Rust ML-KEM crate.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/migration/",
      "language": "en-GB",
      "tags": [],
      "title": "Migrate to kyberlib from 0.0.6 or another ML-KEM crate | kyberlib",
      "url": "https://kyberlib.com/migration/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "What happens to your data on kyberlib.com: hosting on GitHub Pages, the contact form, and the theme preference stored in your browser.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/privacy/",
      "language": "en-GB",
      "tags": [],
      "title": "Privacy: what kyberlib.com collects | kyberlib",
      "url": "https://kyberlib.com/privacy/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "How to report a vulnerability in kyberlib, what it defends against, which functions are constant time, its audit status, its supply-chain controls, and how to verify a release.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/security/",
      "language": "en-GB",
      "tags": [],
      "title": "Security: threat model, constant-time claims and audit status | kyberlib",
      "url": "https://kyberlib.com/security/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "The terms for using kyberlib.com and the licences that apply to kyberlib and to this website's source.",
      "date_modified": "",
      "date_published": "",
      "id": "https://kyberlib.com/terms/",
      "language": "en-GB",
      "tags": [],
      "title": "Terms of use | kyberlib",
      "url": "https://kyberlib.com/terms/"
    }
  ],
  "language": "en-GB",
  "title": "kyberlib",
  "version": "https://jsonfeed.org/version/1.1"
}