Twofish ist eines von mehreren vom Advanced Encryption Standard (AES) vorgeschlagenen Verschlüsselungsverfahren.
Bei Twofish handelt es sich um einen symmetrischen Blockchiffre mit einer Blocklänge von 128 Bits und Schlüssellängen von 128, 192 oder 256 Bits. Twofish wird in einigen Verschlüsselungsprogrammen und auf Smartcards eingesetzt und gilt als äußerst sicheres Verfahren bei dem die Informationen sechzehn Mal in Verschlüsselungsrunden verschlüsselt werden. Es wurde wie das Vorgängerprogramm Blowfish von Bruce Schneier im Jahr 1998 entwickelt.