In computing, a cryptographic accelerator is a
co-processor designed specifically to perform computationally intensive cryptographic operations, doing so far more efficiently than the general-purpose
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
. Because many servers' system load consists mostly of cryptographic operations, this can greatly increase performance.
Intel's
AES-NI is by far the most common cryptographic accelerator in commodity hardware.
VIA PadLock is another recent example.
Operating system support
Several operating systems provide some support for cryptographic hardware. The
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
family of systems has the
OpenBSD Cryptographic Framework (OCF),
Linux systems have the
Crypto API,
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
OS has the Solaris Cryptographic Framework (SCF) and
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
has the
Microsoft CryptoAPI.
Some cryptographic accelerators offer new
machine instructions
In computer programming, machine code is any low-level programming language, consisting of machine language instruction set architecture, instructions, which are used to control a computer's central processing unit (CPU). Each instruction cau ...
and can therefore be used directly by programs. Libraries such as
OpenSSL
OpenSSL is a software library for applications that provide secure communications over computer networks against eavesdropping or need to identify the party at the other end. It is widely used by Internet servers, including the majority of HTT ...
and
LibreSSL support some such cryptographic accelerators.
Almost all
Unix-like operating systems use
OpenSSL
OpenSSL is a software library for applications that provide secure communications over computer networks against eavesdropping or need to identify the party at the other end. It is widely used by Internet servers, including the majority of HTT ...
or the fork
LibreSSL as their cryptography library. These libraries use cryptographic accelerators such as
AES-NI if available.
See also
*
SSL acceleration
*
Hardware-based Encryption
{{Hardware acceleration
Hardware acceleration
Computer optimization
Coprocessors
Cryptographic hardware