__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Crypto API — The Linux Kernel documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=3918102e" />
<script src="../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Kernel Crypto API Interface Specification" href="intro.html" />
<link rel="prev" title="Integrity Policy Enforcement (IPE) - Kernel Documentation" href="../security/ipe.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/logo.svg" alt="Logo of The Linux Kernel"/>
</a></p>
<h1 class="logo"><a href="../index.html">The Linux Kernel</a></h1>
<p class="blurb">6.18.50</p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<p>
<h3 class="kernel-toc-contents">Contents</h3>
<input type="checkbox" class="kernel-toc-toggle" id = "kernel-toc-toggle" checked>
<label class="kernel-toc-title" for="kernel-toc-toggle"></label>
<div class="kerneltoc" id="kerneltoc">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/development-process.html">Development process</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/submitting-patches.html">Submitting patches</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/code-of-conduct.html">Code of conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="../maintainer/index.html">Maintainer handbook</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/index.html">All development-process docs</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../core-api/index.html">Core API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver-api/index.html">Driver APIs</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../subsystem-apis.html">Subsystems</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#core-subsystems">Core subsystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#human-interfaces">Human interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#networking-interfaces">Networking interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#storage-interfaces">Storage interfaces</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../subsystem-apis.html#other-subsystems">Other subsystems</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../accounting/index.html">Accounting</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpu-freq/index.html">CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel</a></li>
<li class="toctree-l3"><a class="reference internal" href="../edac/index.html">EDAC Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../fpga/index.html">FPGA</a></li>
<li class="toctree-l3"><a class="reference internal" href="../i2c/index.html">I2C/SMBus Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../iio/index.html">Industrial I/O</a></li>
<li class="toctree-l3"><a class="reference internal" href="../pcmcia/index.html">PCMCIA</a></li>
<li class="toctree-l3"><a class="reference internal" href="../spi/index.html">Serial Peripheral Interface (SPI)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../w1/index.html">1-Wire Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../watchdog/index.html">Watchdog Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../virt/index.html">Virtualization Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hwmon/index.html">Hardware Monitoring</a></li>
<li class="toctree-l3"><a class="reference internal" href="../accel/index.html">Compute Accelerators</a></li>
<li class="toctree-l3"><a class="reference internal" href="../security/index.html">Security Documentation</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Crypto API</a></li>
<li class="toctree-l3"><a class="reference internal" href="../bpf/index.html">BPF Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../usb/index.html">USB support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../PCI/index.html">PCI Bus Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../misc-devices/index.html">Assorted Miscellaneous Devices Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../peci/index.html">PECI Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../wmi/index.html">WMI Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tee/index.html">TEE Subsystem</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../locking/index.html">Locking</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/license-rules.html">Licensing rules</a></li>
<li class="toctree-l1"><a class="reference internal" href="../doc-guide/index.html">Writing documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/index.html">Development tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/testing-overview.html">Testing guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kernel-hacking/index.html">Hacking guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../trace/index.html">Tracing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../fault-injection/index.html">Fault injection</a></li>
<li class="toctree-l1"><a class="reference internal" href="../livepatch/index.html">Livepatching</a></li>
<li class="toctree-l1"><a class="reference internal" href="../rust/index.html">Rust</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/index.html">Administration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kbuild/index.html">Build system</a></li>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/reporting-issues.html">Reporting issues</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Userspace tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../userspace-api/index.html">Userspace API</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../firmware-guide/index.html">Firmware</a></li>
<li class="toctree-l1"><a class="reference internal" href="../devicetree/index.html">Firmware and Devicetree</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../arch/index.html">CPU architectures</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../staging/index.html">Unsorted documentation</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../translations/index.html">Translations</a></li>
</ul>
</div>
<script type="text/javascript"> <!--
var sbar = document.getElementsByClassName("sphinxsidebar")[0];
let currents = document.getElementsByClassName("current")
if (currents.length) {
sbar.scrollTop = currents[currents.length - 1].offsetTop;
}
--> </script>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/crypto/index.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="crypto-api">
<h1>Crypto API<a class="headerlink" href="#crypto-api" title="Link to this heading">ΒΆ</a></h1>
<dl class="field-list simple">
<dt class="field-odd">Author<span class="colon">:</span></dt>
<dd class="field-odd"><p>Stephan Mueller</p>
</dd>
<dt class="field-even">Author<span class="colon">:</span></dt>
<dd class="field-even"><p>Marek Vasut</p>
</dd>
</dl>
<p>This documentation outlines the Linux kernel crypto API with its
concepts, details about developing cipher implementations, employment of the API
for cryptographic use cases, as well as programming examples.</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="intro.html">Kernel Crypto API Interface Specification</a><ul>
<li class="toctree-l2"><a class="reference internal" href="intro.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="intro.html#terminology">Terminology</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="api-intro.html">Scatterlist Cryptographic API</a><ul>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#details">Details</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#developer-notes">Developer Notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#adding-new-algorithms">Adding New Algorithms</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#bugs">Bugs</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#further-information">Further Information</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#authors">Authors</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-intro.html#credits">Credits</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="architecture.html">Kernel Crypto API Architecture</a><ul>
<li class="toctree-l2"><a class="reference internal" href="architecture.html#cipher-algorithm-types">Cipher algorithm types</a></li>
<li class="toctree-l2"><a class="reference internal" href="architecture.html#ciphers-and-templates">Ciphers And Templates</a></li>
<li class="toctree-l2"><a class="reference internal" href="architecture.html#synchronous-and-asynchronous-operation">Synchronous And Asynchronous Operation</a></li>
<li class="toctree-l2"><a class="reference internal" href="architecture.html#crypto-api-cipher-references-and-priority">Crypto API Cipher References And Priority</a></li>
<li class="toctree-l2"><a class="reference internal" href="architecture.html#key-sizes">Key Sizes</a></li>
<li class="toctree-l2"><a class="reference internal" href="architecture.html#cipher-allocation-type-and-masks">Cipher Allocation Type And Masks</a></li>
<li class="toctree-l2"><a class="reference internal" href="architecture.html#internal-structure-of-kernel-crypto-api">Internal Structure of Kernel Crypto API</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="async-tx-api.html">Asynchronous Transfers/Transforms API</a><ul>
<li class="toctree-l2"><a class="reference internal" href="async-tx-api.html#introduction">1. Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="async-tx-api.html#genealogy">2.Genealogy</a></li>
<li class="toctree-l2"><a class="reference internal" href="async-tx-api.html#usage">3. Usage</a></li>
<li class="toctree-l2"><a class="reference internal" href="async-tx-api.html#driver-development-notes">4. Driver Development Notes</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="asymmetric-keys.html">Asymmetric / Public-key Cryptography Key Type</a><ul>
<li class="toctree-l2"><a class="reference internal" href="asymmetric-keys.html#overview">Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="asymmetric-keys.html#key-identification">Key Identification</a></li>
<li class="toctree-l2"><a class="reference internal" href="asymmetric-keys.html#accessing-asymmetric-keys">Accessing Asymmetric Keys</a></li>
<li class="toctree-l2"><a class="reference internal" href="asymmetric-keys.html#asymmetric-key-subtypes">Asymmetric Key Subtypes</a></li>
<li class="toctree-l2"><a class="reference internal" href="asymmetric-keys.html#instantiation-data-parsers">Instantiation Data Parsers</a></li>
<li class="toctree-l2"><a class="reference internal" href="asymmetric-keys.html#keyring-link-restrictions">Keyring Link Restrictions</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="devel-algos.html">Developing Cipher Algorithms</a><ul>
<li class="toctree-l2"><a class="reference internal" href="devel-algos.html#registering-and-unregistering-transformation">Registering And Unregistering Transformation</a></li>
<li class="toctree-l2"><a class="reference internal" href="devel-algos.html#single-block-symmetric-ciphers-cipher">Single-Block Symmetric Ciphers [CIPHER]</a></li>
<li class="toctree-l2"><a class="reference internal" href="devel-algos.html#multi-block-ciphers">Multi-Block Ciphers</a></li>
<li class="toctree-l2"><a class="reference internal" href="devel-algos.html#hashing-hash">Hashing [HASH]</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="userspace-if.html">User Space Interface</a><ul>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#user-space-api-general-remarks">User Space API General Remarks</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#in-place-cipher-operation">In-place Cipher operation</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#message-digest-api">Message Digest API</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#symmetric-cipher-api">Symmetric Cipher API</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#aead-cipher-api">AEAD Cipher API</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#random-number-generator-api">Random Number Generator API</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#zero-copy-interface">Zero-Copy Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#setsockopt-interface">Setsockopt Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="userspace-if.html#user-space-api-example">User space API example</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="crypto_engine.html">Crypto Engine</a><ul>
<li class="toctree-l2"><a class="reference internal" href="crypto_engine.html#overview">Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="crypto_engine.html#requirement">Requirement</a></li>
<li class="toctree-l2"><a class="reference internal" href="crypto_engine.html#order-of-operations">Order of operations</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="api.html">Programming Interface</a><ul>
<li class="toctree-l2"><a class="reference internal" href="api-skcipher.html">Symmetric Key Cipher</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-aead.html">Authenticated Encryption With Associated Data (AEAD)</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-digest.html">Message Digest</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-rng.html">Random Number Generator (RNG)</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-akcipher.html">Asymmetric Cipher</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-sig.html">Asymmetric Signature</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-kpp.html">Key-agreement Protocol Primitives (KPP)</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="api-samples.html">Code Examples</a><ul>
<li class="toctree-l2"><a class="reference internal" href="api-samples.html#code-example-for-symmetric-key-cipher-operation">Code Example For Symmetric Key Cipher Operation</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-samples.html#code-example-for-use-of-operational-state-memory-with-shash">Code Example For Use of Operational State Memory With SHASH</a></li>
<li class="toctree-l2"><a class="reference internal" href="api-samples.html#code-example-for-random-number-generator-usage">Code Example For Random Number Generator Usage</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="descore-readme.html">Fast & Portable DES encryption & decryption</a><ul>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#motivation-and-history">motivation and history</a></li>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#porting-notes">porting notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#optional-performance-optimizations">OPTIONAL performance optimizations</a></li>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#coding-notes">coding notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#special-efficient-data-format">special efficient data format</a></li>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#getting-it-to-compile-on-your-machine">Getting it to compile on your machine</a></li>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#speeding-up-kerberos-and-or-its-des-library">Speeding up kerberos (and/or its des library)</a></li>
<li class="toctree-l2"><a class="reference internal" href="descore-readme.html#other-uses">Other uses</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="device_drivers/index.html">Hardware Device Driver Specific Documentation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="device_drivers/octeontx2.html">octeontx2 devlink support</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="krb5.html">Kerberos V Cryptography API</a><ul>
<li class="toctree-l2"><a class="reference internal" href="krb5.html#overview">Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="krb5.html#encoding-type">Encoding Type</a></li>
<li class="toctree-l2"><a class="reference internal" href="krb5.html#key-derivation">Key Derivation</a></li>
<li class="toctree-l2"><a class="reference internal" href="krb5.html#crypto-functions">Crypto Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="krb5.html#the-krb5enc-aead-algorithm">The krb5enc AEAD algorithm</a></li>
</ul>
</li>
</ul>
</div>
</section>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
©The kernel development community.
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.1.3</a>
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
<a href="../_sources/crypto/index.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| device_drivers | Folder | 0755 |
|
|
| api-aead.html | File | 51.14 KB | 0644 |
|
| api-akcipher.html | File | 36.54 KB | 0644 |
|
| api-digest.html | File | 85.17 KB | 0644 |
|
| api-intro.html | File | 20.23 KB | 0644 |
|
| api-kpp.html | File | 52.81 KB | 0644 |
|
| api-rng.html | File | 27.38 KB | 0644 |
|
| api-samples.html | File | 15.68 KB | 0644 |
|
| api-sig.html | File | 32.88 KB | 0644 |
|
| api-skcipher.html | File | 65.33 KB | 0644 |
|
| api.html | File | 14.21 KB | 0644 |
|
| architecture.html | File | 26.88 KB | 0644 |
|
| asymmetric-keys.html | File | 30.23 KB | 0644 |
|
| async-tx-api.html | File | 23.13 KB | 0644 |
|
| crypto_engine.html | File | 14.76 KB | 0644 |
|
| descore-readme.html | File | 33.42 KB | 0644 |
|
| devel-algos.html | File | 22.68 KB | 0644 |
|
| index.html | File | 20.46 KB | 0644 |
|
| intro.html | File | 13.12 KB | 0644 |
|
| krb5.html | File | 23 KB | 0644 |
|
| userspace-if.html | File | 29.7 KB | 0644 |
|