[-edit SideBar-]


Information about cryptography in computer science, programming and military use.

Block Ciphers (alphabetically)
DES* (obsoleted by Triple/3-DES)

Bitstream Ciphers (alphabetically)

Cipher Structures
Feistel* - simple, widely-used round iteration method
ZPC - zero-preserving cipher mode

Chaining Methods / Modes of Operation (mostly alphabetical)
ECB* - electronic code book (blockwise independent processing, no chaining at all thus cryptographically weak) – BRandomSeekable
CBC* - cipher block chaining mode – BRandomSeekableOnDecrypt

 PCBC* - propagating cipher block chaining mode

CFB* - cipher feedback mode – BOneWayBaseFunc, BRandomSeekableOnDecrypt
CMC* - wide-block encryption
CTR* - counter mode (also: ICM integer counter mode, or SIC segmented integer counter - only the encryption function is needed) – BRandomSeekable
CCM* - counter with CBC-MAC (also providing authentication)
EAX* - (somewhat complex, also providing authentication, might replace CCM)
EAX2* - (somewhat complex, also providing authentication)
EME* - wide-block encryption
ESSIV* - encrypted salt-sector initialization vector
GCM* - galois counter mode (also providing authentication)
HMAC - used to turn a block cipher into a keyed-hash message authentification function
LRW* - tweakable narrow-block encryption
OCB* - offset cookbook mode (might be covered by patents)
OFB* - output feedback mode (only the encryption function is needed)
TCB* - tweaked codebook mode
UBI* - unique block interation (proposed 2008 by Bruce Schneier)
XEX* - tweakable narrow-block encryption
XTS* - XEX with CTS (based on XEX and using ciphertext stealing)

Padding and Termination Methods (mostly alphabetical)
Block ciphers will need some padding method to grow to a whole multiple of the block size or some termination method to deal with partial blocks of data while retaining the original size.
zero padding - bits of value 0 are appended, as needed, to complete the last block. – BBitwise
bit padding - to the plain-text message, a single 1 bit followed by as much 0 bits as needed to form a full block, is appended. In a byte-oriented device, this means appending one byte of 0x80 (MSB-first) and then bytes of 0x00 as needed. – BBitwise, BReversible
ANSI X.923 padding - fills the last, incomplete, block with bytes of 0x00 and sets the very last byte to the count of bytes of the padding, including the counting byte. – BReversible
PKCS7 padding - pads the message with bytes all set to the value of the padding´s length. – BReversible
CTS* - cipher text stealing (borrows bits from the second-last encrypted block to form a whole last block to encrypt) – BLengthPreserving, BReversible
RBT - residual block termination – BLengthPreserving, BReversible

 IRBT - inverse residual block termination (proposed 2008 by Erik Holzer) – BLengthPreserving, BReversible
 MIRBT - minimal inverse residual block termination (proposed 2008 by Erik Holzer) – BLengthPreserving, BOneWayBaseFunc, BReversible

Hash Functions (alphabetically)
RIPEMD* (a modified MD5 that was broken soon)
RIPEMD-160* (an improved RIPEMD that is considered secure)
SHA* (also: SHA-0, deprecated)
Skein* (proposed 2008 as SHA3-draft by Bruce Schneier* and seven others)

Compression Modes
Article on Compression Functions on Wikipedia

Pseudo-random Number Generators (PRNG)

Other Cryptographic Algorithms and Protocols

Quantum Cryptography
Ein Loch in der Zeit bei Wissenschaft aktuell

Thoughts about Cryptography

cryptography is not the solution [to security], Cryptography is very difficult, [but still] cryptography is the easy part
(Bruce Schneier)


Categories: Cryptography

Recent Changes (All) | Edit SideBar Page last modified on June 08, 2012, at 01:16 AM Edit Page | Page History
Powered by TechnoloWiki