Twofish

In cryptography, Twofish is an encryption algorithm designed by Bruce Schneir. It is a symmetric key block cipher, meaning a single key is used for both encryption and decryption. Twofish has a block size of 128 bits and key sizes up to 256 bits.

Twofish is related to the earlier block cipher Blowfish, which is a 64-bit clock cipher that uses a key length varying between 32 and 448 bits also developed by Bruce Schneir. Twofish is also related to Advanced Encryption Standard (AES), a 128-bit block cipher that the United States government adopted as it’s specification for the encryption of electronic data by the U.S. National Institute of Standards and Technology In 2001. While Twofish was a finalist to become the industry standard for encryption, it was beaten out by AES because of Twofish’s slower speed.

Twofish features

Twofish has distinguishing features that set it apart from other cryptographic protocols including using a pre-computed, key-dependent S-box (substitution box), which is a basic component of any symmetric key algorithm that performs substitution. The S-box works to mask the relationship between the key and the ciphertext. Because of the precomputation, Twofish is vulnerable to side channel attacks.

The encryption algorithm employs a Maximum Distance Separable matrix, or a matrix that represents a function with certain diffusion properties that have useful applications in cryptography. Twofish has a Fiestel structure, which is a symmetric structure used in the construction of block ciphers. This same structure is also used in Data Encryption Standard (DES), an influential encryption standard that was popular in the 1970s.

Twofish has not been patented, and the reference implementation has been placed in the public domain, meaning that the algorithm is free for anyone to use without restrictions. Twofish has less widespread usage than Blowfish.






Abby Braden
Abby Braden
Abby Braden is an award-winning writer and editor for websites such as TechnologyAdvice.com, Webopedia.com, and Project-Management.com, where she covers technology trends and enterprise and SMB project management platforms. When she’s not writing about technology, she enjoys giving too many treats to her dog and coaching part-time at her local gym.

Related Articles

Software Environment

A software environment is a collection of programs, libraries, and utilities that allow users to perform specific tasks. Software environments are often used by...

ClickUp

ClickUp is a cloud-based work and project management platform that enables teams to manage tasks, collaborate in real-time, gain insights via reporting, and more....

Chunk (Data Chunk)

A chunk, also called a data chunk, by RFC2960 SCTP (Stream Control Transmission Protocol) standards, is the term used to describe a unit of...

Blog Search Engine

A blog search engine is specifically focused on finding content in the blogosphere. Blog search engines only index and provide search results from blogs...

Agile Project Management

Agile project management enables business teams to approach their projects and tasks with...

Private 5G Network

A private 5G network is a private local area network (LAN) that utilizes...

Rich Communication Services (RCS)

Rich communication services (RCS) is a mobile messaging approach in which session initiation...