<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Crypto_API_%28Linux%29</id>
	<title>Crypto API (Linux) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Crypto_API_%28Linux%29"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Crypto_API_(Linux)&amp;action=history"/>
	<updated>2026-10-26T18:04:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Crypto_API_(Linux)&amp;diff=1803522&amp;oldid=prev</id>
		<title>imported&gt;VulcanSphere: Adding local short description: &quot;Linux kernel interface for cryptography&quot;, overriding Wikidata description &quot;Linux kernel interface for cryptography&quot;</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Crypto_API_(Linux)&amp;diff=1803522&amp;oldid=prev"/>
		<updated>2024-12-24T03:34:47Z</updated>

		<summary type="html">&lt;p&gt;Adding local &lt;a href=&quot;https://en.wikipedia.org/wiki/Short_description&quot; class=&quot;extiw&quot; title=&quot;wikipedia:Short description&quot;&gt;short description&lt;/a&gt;: &amp;quot;Linux kernel interface for cryptography&amp;quot;, overriding Wikidata description &amp;quot;Linux kernel interface for cryptography&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Linux kernel interface for cryptography}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Crypto API&amp;#039;&amp;#039;&amp;#039; is a [[cryptography]] [[framework (software)|framework]] in the [[Linux kernel]], for various parts of the kernel that deal with cryptography, such as [[IPsec]] and [[dm-crypt]]. It was introduced in kernel version 2.5.45&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 | url = https://lwn.net/Articles/13587/&lt;br /&gt;
 | title = Kernel development&lt;br /&gt;
 | year = 2002 | access-date = 2013-09-29&lt;br /&gt;
 | publisher = [[LWN.net]]&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; and has since expanded to include essentially all popular [[block cipher]]s and [[hash function]]s.&lt;br /&gt;
&lt;br /&gt;
== Userspace interfaces ==&lt;br /&gt;
Many platforms that provide hardware acceleration of [[AES encryption]] expose this to programs through an extension of the [[instruction set architecture]] (ISA) of the various chipsets (e.g. [[AES instruction set]] for [[x86]]). With this sort of implementation, any program ([[kernel-mode]] or [[user-space]]) may utilize these features directly.&lt;br /&gt;
&lt;br /&gt;
Some platforms, such as the ARM Kirkwood [[SheevaPlug]] and [[AMD Geode]] processors, however, are not implemented as ISA extensions, and are only accessible through kernel-mode drivers. In order for user-mode applications that utilize encryption, such as [[wolfSSL]], [[OpenSSL]] or [[GnuTLS]], to take advantage of such acceleration, they must interface with the kernel.&amp;lt;ref&amp;gt;{{Cite book |last1=Xiao |first1=Yuan |last2=Li |first2=Mengyuan |last3=Chen |first3=Sanchuan |last4=Zhang |first4=Yinqian |chapter=STACCO: Differentially Analyzing Side-Channel Traces for Detecting SSL/TLS Vulnerabilities in Secure Enclaves |date=2017-10-30 |title=Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security |chapter-url=https://dl.acm.org/doi/10.1145/3133956.3134016 |series=CCS &amp;#039;17 |location=New York, NY, USA |publisher=Association for Computing Machinery |pages=859–874 |doi=10.1145/3133956.3134016 |isbn=978-1-4503-4946-8|arxiv=1707.03473 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; AF_ALG&lt;br /&gt;
: A [[netlink]]-based interface that adds an &amp;lt;code&amp;gt;AF_ALG&amp;lt;/code&amp;gt; address family;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |last=Edge&lt;br /&gt;
 |first=Jake&lt;br /&gt;
 |title=A netlink-based user-space crypto API&lt;br /&gt;
 |url=https://lwn.net/Articles/410763/&lt;br /&gt;
 |publisher=[[LWN.net]]&lt;br /&gt;
 |access-date=29 December 2011&lt;br /&gt;
 |date=October 20, 2010&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; it was merged into version 2.6.38 of the [[Linux kernel mainline]].&amp;lt;ref&amp;gt;[http://kernelnewbies.org/Linux_2_6_38#head-6bd372b9e646453417be976d4ff1f31086429b7a Linux_2_6_38 changes]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=03c8efc1ffeb6b82a22c1af8dd908af349563314 03c8efc] {{webarchive|url=https://archive.today/20130415101617/http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=03c8efc1ffeb6b82a22c1af8dd908af349563314 |date=2013-04-15 }}&lt;br /&gt;
[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fe869cdb89c95d060c77eea20204d6c91f233b53 fe869cd] {{webarchive|url=https://archive.today/20130415052116/http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fe869cdb89c95d060c77eea20204d6c91f233b53 |date=2013-04-15 }}&lt;br /&gt;
[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8ff590903d5fc7f5a0a988c38267a3d08e6393a2 8ff5909] {{webarchive|url=https://archive.today/20130415061420/http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8ff590903d5fc7f5a0a988c38267a3d08e6393a2 |date=2013-04-15 }}&amp;lt;/ref&amp;gt; There was once a plugin to [[OpenSSL]] to support AF_ALG,&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |author=Markus &lt;br /&gt;
 |title=OpenSSL - AF_ALG &lt;br /&gt;
 |url=http://carnivore.it/2011/04/23/openssl_-_af_alg &lt;br /&gt;
 |access-date=29 December 2011 &lt;br /&gt;
 |date=2011-10-22 &lt;br /&gt;
 |url-status=dead &lt;br /&gt;
 |archive-url=https://web.archive.org/web/20110928014250/http://carnivore.it/2011/04/23/openssl_-_af_alg &lt;br /&gt;
 |archive-date=28 September 2011 &lt;br /&gt;
}}&amp;lt;/ref&amp;gt; which has been submitted for merging.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |author=Markus nepenthesdev at gmail.com&lt;br /&gt;
 |title=#2554: Patch: AF_ALG dynamic engine for linux &amp;gt;= 2.6.38&lt;br /&gt;
 |url=http://rt.openssl.org/Ticket/Display.html?id=2554&amp;amp;user=guest&amp;amp;pass=guest&lt;br /&gt;
 |work=[[OpenSSL]]&lt;br /&gt;
 |access-date=29 December 2011&lt;br /&gt;
 |date=2011-07-03 &amp;lt;!-- at 21:24:59 --&amp;gt;&lt;br /&gt;
 |archive-date=2016-04-09&lt;br /&gt;
 |archive-url=https://web.archive.org/web/20160409124238/https://rt.openssl.org/Ticket/Display.html?id=2554&amp;amp;user=guest&amp;amp;pass=guest&lt;br /&gt;
 |url-status=dead&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt; In version 1.1.0, OpenSSL landed another patch for AF_ALG contributed by Intel.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |author=clucey&lt;br /&gt;
 |title= ALG: Add AFALG engine &lt;br /&gt;
 |url=https://github.com/openssl/openssl/commit/7f458a48ff3a231d5841466525d2aacbcd4f6b77#commitcomment-18836199&lt;br /&gt;
 |work=[[OpenSSL]]&lt;br /&gt;
 |access-date=31 August 2016&lt;br /&gt;
 |date=2016-02-17 &amp;lt;!-- 13:38 --&amp;gt;&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; [[wolfSSL]] can make use of AF_ALG and {{not a typo|cryptodev}}&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |author=Jacob &lt;br /&gt;
 |title=AF_ALG + Cryptodev-linux&lt;br /&gt;
 |date=19 December 2018&lt;br /&gt;
 |url=https://www.wolfssl.com/af_alg-cryptodev-linux/&lt;br /&gt;
 |access-date=10 March 2020&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
; cryptodev&lt;br /&gt;
: The [[OpenBSD Cryptographic Framework]] &amp;lt;code&amp;gt;/dev/crypto&amp;lt;/code&amp;gt; interface of OpenBSD was ported to Linux,&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |last=Ludvig&lt;br /&gt;
 |first=Michal&lt;br /&gt;
 |title=CryptoDev for Linux&lt;br /&gt;
 |url=http://www.logix.cz/michal/devel/cryptodev/&lt;br /&gt;
 |access-date=29 December 2011&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |last        = Mavrogiannopoulos&lt;br /&gt;
 |first       = Nikos&lt;br /&gt;
 |title       = cryptodev-linux&lt;br /&gt;
 |url         = http://home.gna.org/cryptodev-linux/&lt;br /&gt;
 |access-date  = 12 January 2012&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
 |archive-url  = https://web.archive.org/web/20120320070655/http://home.gna.org/cryptodev-linux/&lt;br /&gt;
 |archive-date = 20 March 2012&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |last=Edge&lt;br /&gt;
 |first=Jake&lt;br /&gt;
 |title=An API for user-space access to kernel cryptography&lt;br /&gt;
 |url=https://lwn.net/Articles/401548/&lt;br /&gt;
 |publisher=[[LWN.net]]&lt;br /&gt;
 |access-date=29 December 2011&lt;br /&gt;
 |date=August 25, 2010&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; but never merged.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Portal|Free and open-source software|Linux}}&lt;br /&gt;
&lt;br /&gt;
* [[Microsoft CryptoAPI]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
{{Linux kernel}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Crypto Api (Linux)}}&lt;br /&gt;
[[Category:Application programming interfaces]]&lt;br /&gt;
[[Category:Cryptographic software]]&lt;br /&gt;
[[Category:Linux security software]]&lt;br /&gt;
[[Category:Linux kernel features]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Crypto-stub}}&lt;br /&gt;
{{Linux-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;VulcanSphere</name></author>
	</entry>
</feed>