Crypto Wiki
(→‎Lisp: change description and links)
Tag: rte-wysiwyg
(Updated URL and license of Delphi Encryption Compendium)
Tag: Visual edit
Line 3: Line 3:
 
== Libraries ==
 
== Libraries ==
 
{{External links|date=March 2009}}
 
{{External links|date=March 2009}}
[[File:Cbc128192256.jpg|thumb|right|300px|AES speed at 128, 192 and 256-bit key sizes.]]
+
[[File:Cbc128192256.jpg|thumb|right|300px|AES speed at 128, 192 and 256-bit key sizes.|link=Special:FilePath/Cbc128192256.jpg]]
 
Rijndael is free for any use public or private, commercial or non-commercial. The authors of Rijndael used to provide a homepage<ref>[http://web.archive.org/web/20080608025456/http://www.esat.kuleuven.ac.be/~rijmen/rijndael Original homepage] and [http://web.archive.org/web/20070503005400rn_1/homes.esat.kuleuven.be/~rijmen/rijndael/ archived copy]</ref> for the algorithm. Care should be taken when implementing AES in software. Like most encryption algorithms, Rijndael was designed on [[Endianness#Big-endian|big-endian]] systems. For this reason, [[Endianness#Little-endian|little-endian]] systems return correct test vector results only through swapping bytes of the input and output words.
 
Rijndael is free for any use public or private, commercial or non-commercial. The authors of Rijndael used to provide a homepage<ref>[http://web.archive.org/web/20080608025456/http://www.esat.kuleuven.ac.be/~rijmen/rijndael Original homepage] and [http://web.archive.org/web/20070503005400rn_1/homes.esat.kuleuven.be/~rijmen/rijndael/ archived copy]</ref> for the algorithm. Care should be taken when implementing AES in software. Like most encryption algorithms, Rijndael was designed on [[Endianness#Big-endian|big-endian]] systems. For this reason, [[Endianness#Little-endian|little-endian]] systems return correct test vector results only through swapping bytes of the input and output words.
   
Line 45: Line 45:
 
* [http://bouchez.info/delphi-crypto.html Arnaud Bouchez's another AES source code written in Delphi and i386 assembler]
 
* [http://bouchez.info/delphi-crypto.html Arnaud Bouchez's another AES source code written in Delphi and i386 assembler]
 
* David Barton's implementation in Delphi, as part of a suite of hashes and ciphers called [http://www.cityinthesky.co.uk/cryptography.html DCPcrypt]: OIS-Certified open source
 
* David Barton's implementation in Delphi, as part of a suite of hashes and ciphers called [http://www.cityinthesky.co.uk/cryptography.html DCPcrypt]: OIS-Certified open source
* [http://code.google.com/p/delphidec/ Delphi Encryption Compendium] in an open source cryptographic library, Freeware/MIT-licensed
+
*[https://github.com/MHumm/DelphiEncryptionCompendium Delphi Encryption Compendium] in an open source cryptographic library, Apache 2.0 licensed
 
* [http://sourceforge.net/projects/tplockbox/ TurboPower Lockbox] in an open source AES implementation available on SourceForge. A Delphi 2010 compatible version is available on [http://www.songbeamer.com/delphi/ SongBeamer].
 
* [http://sourceforge.net/projects/tplockbox/ TurboPower Lockbox] in an open source AES implementation available on SourceForge. A Delphi 2010 compatible version is available on [http://www.songbeamer.com/delphi/ SongBeamer].
   

Revision as of 17:13, 23 February 2021

There are various implementations of the Advanced Encryption Standard, also known as Rijndael.

Libraries

Template:External links

File:Cbc128192256.jpg

AES speed at 128, 192 and 256-bit key sizes.

Rijndael is free for any use public or private, commercial or non-commercial. The authors of Rijndael used to provide a homepage[1] for the algorithm. Care should be taken when implementing AES in software. Like most encryption algorithms, Rijndael was designed on big-endian systems. For this reason, little-endian systems return correct test vector results only through swapping bytes of the input and output words.

The algorithm operates on plaintext blocks of 16 bytes. Encryption of shorter blocks is possible only by padding the source bytes, usually with null bytes. This can be accomplished via several methods, the simplest of which assumes that the final byte of the cipher identifies the number of Null bytes of padding added.

Careful choice must be made in selecting the mode of operation of the cipher. The simplest mode encrypts and decrypts each 128-bit block separately. In this mode, called "electronic code book (ECB)", blocks that are identical will be encrypted identically. This will make some of the plaintext structure visible in the ciphertext. Selecting other modes, such as empressing a sequential counter over the block prior to encryption (CTR mode) and removing it after decryption avoids this problem.

Actionscript 3

C/ASM library

C++ library

C# /.NET

Delphi

Java

  • Java Cryptography Extension, integrated in the Java Runtime Environment since version 1.4.2 (see example code)
  • IAIK JCE, (see features)
  • Bouncy Castle Crypto Library

JavaScript

Lisp

Other languages

Python

Ruby

Applications

Archive and compression tools

  • 7z
  • PKZIP
  • RAR
  • WinZip
  • Amanda Backup

Disk encryption

  • DiskCryptor
  • BitLocker (part of "Enterprise" and "Ultimate" editions of Windows Vista and Windows 7 operating systems)
  • FileVault (part of the Mac OS X operating system, and also the included Disk Utility makes AES-encrypted drive images)
  • FreeOTFE
  • GBDE
  • Geli (software)
  • LUKS
  • TrueCrypt

Security for communications in Local Area Networks

  • IEEE 802.11i, an amendment to the original IEEE 802.11 standard specifying security mechanisms for wireless networks, uses AES-128 in CCM mode.
  • The ITU-T G.hn standard, which provides a way to create a high-speed (up to 1 Gigabit/s) Local area network using existing home wiring (power lines, phone lines and coaxial cables), uses AES-128 for encryption.

Miscellaneous

  • GPG, GPL-licensed, includes AES, AES-192, and AES-256 as options.
  • IPsec
  • IronKey Uses AES 128-bit and 256-bit CBC-mode hardware encryption
  • OpenSSL includes AES cipher support as of version 0.9.7 (released in 2002) and is dual-licensed under the terms of the OpenSSL License and the original SSLeay license. FIPS validated via IBM
  • Pidgin (software), has a plugin that allows for AES Encryption
  • XFire uses AES-128, AES-192 and AES 256 to encrypt usernames and passwords
  • CyaSSL includes AES cipher support YaSSL HomePage

Hardware

Future Intel and AMD processors will include AES instruction set - hardware version of AES.

References