applied cryptography - protocols, algorithms, and source code in c

Another algorithm relies on subsets of a particular

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: of the input have to be reversed and the bits of the output have to be reversed. Code to implement 3-Way can be found in the back of this book. So far, there has been no successful cryptanalysis of 3-Way. The algorithm is unpatented. 14.6 Crab This algorithm was developed by Burt Kaliski and Matt Robshaw of RSA Laboratories [810]. The idea behind Crab is to use techniques from one-way hash functions to make a fast encryption algorithm. Hence, Crab is very similar to MD5, and this section assumes you are familiar with Section 18.5. Crab has a very large block: 1024 bytes. Since Crab is presented more as a research contribution than a real algorithm, no definitive key-generation routines are presented. The authors suggest a method that could turn an 80-bit key into three requisite subkeys, although the algorithm could easily accept variable-length keys. Crab uses two sets of large subkeys: A permutation of the numbers 0 through 255: P0, P1, P2,..., P255. A 2048-entry array of 32-bit numbers: S0, S1, S2,..., S2047. Previous Table of Contents Next Products | Contact Us | About Us | Privacy | Ad Info | Home Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Read EarthWeb's privacy statement. To access the contents, click the chapter and section titles. Applied Cryptography, Second Edition: Protocols, Algorthms, and Source Code in C (cloth) Go! Keyword Brief Full Advanced Search Search Tips (Publisher: John Wiley & Sons, Inc.) Author(s): Bruce Schneier ISBN: 0471128457 Publication Date: 01/01/96 Search this book: Go! Previous Table of Contents Next ----------- These subkeys must all be calculated before encryption or decryption. To encrypt a 1024-byte block X: (1) Divide X into 256 32-bit sub-blocks: X0, X1, X2,..., X255. (2) Permute the sub-blocks of X according to P. (3) For r = 0 to 3...
View Full Document

Ask a homework question - tutors are online