April 1994 - ALGORITHMS


FEATURES

THE CAMBRIDGE ALGORITHMS WORKSHOP

by Bruce Schneier

Some of the best and the brightest in the world of cryptography gathered at Cambridge University to challenge each other with new algorithms designed to run quickly in software. Bruce, who presented a paper at the workshop, reports on the conference, as well as on the current state of encryption technology in general.

CRYPTOGRAPHY WITHOUT EXPONENTIATION

by Peter Smith

Peter, who presented LUC public-key encryption in DDJ over a year ago, extends the algorithm by adding three new cryptosystems: a Lucas-function El Gamal public-key encryption, a Lucas-function El Gamal digital signature, and a Lucas-function-based key-negotiation method called LUCDIF.

SHA: THE SECURE HASH ALGORITHM

by William Stallings

The Secure Hash Algorithm (SHA), based on Ron Rivest's MD4 algorithm and developed by the National Institute of Standards and Technology, can be used in any security application that requires a hash code.

THE BLOWFISH ENCRYPTION ALGORITHM

by Bruce Schneier

Blowfish, a new block-encryption algorithm for 32-bit microprocessors, is designed to be fast, compact, simple, secure, and robust. Break it, and you can be the winner of our cryptography contest!

THE WAVELET PACKET TRANSFORM

by Mac A. Cody

The discrete wavelet transform is a subset of the far more versatile wavelet packet transform, which generalizes the time-frequency analysis of the wavelet transform. Mac presents a C implementation of the discrete wavelet transform algorithm.

FUZZY LOGIC IN C: AN UPDATE

by John A.R. Tucker, Phillip E. Fraley, Lawrence P. Swanson

In this article, our authors build upon Greg Viot's "Fuzzy Logic in C" by adding initialization, parsing, and output functions to provide a complete C implementation of fuzzy logic.

EMBEDDED SYSTEMS

DIGITAL I/O WITH THE PC

by Brian Hook and Dennis Shuman

You don't always have to resort to dedicated or expensive instruments for digital data acquisition. Brian and Dennis describe an integrated hardware/software system that enables digital I/O using a PC's parallel port.

NETWORKED SYSTEMS

ECHONETS, E-MEMES, AND EXTENDED REALITIES

by Scott B. Guthery

Mobile computing requires a new way of thinking about networks. Scott discusses the concept of switchless networks, called "echonets," and presents algorithms that make them possible.

EXAMINING ROOM

HELP FOR WINDOWS HELP AUTHORS

by Al Stevens

Eventually, every Windows developer has to build a help database. Al discusses what makes a good Windows help system and examines approaches and tools for creating them.

PROGRAMMER'S WORKBENCH

ALGORITHMS FOR DIRECTED GRAPHS

by Salvatore R. Mangano

Directed graphs underlie any tool that displays tree, class-relationship, or entity-relationship diagrams. Sal uses EOS, his C++ genetic-algorithm toolkit, and Visual C++ to create a Windows-hosted system for laying out directed graphs.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Michael examines how the British microcomputer revolution in the early 1980s led to the object-oriented model Apple's Newton uses today.

C PROGRAMMING

by Al Stevens

Borland's recent attempt to rewrite its software-license agreements didn't make anyone happy, especially programmers who use Borland tools.

ALGORITHM ALLEY

by Tom Swan

Tom presents an information-retrieval system based on the trie-search algorithm.

UNDOCUMENTED CORNER

edited by Andrew Schulman

In this month's "Undocumented Corner," Klaus Müller shows how to access the Windows internal instance-data structures, using a virtual device driver (VxD) loaded early in the Windows boot process, right after VMM.

PROGRAMMER'S BOOKSHELF

by Tom Ochs

Tom looks at two books on algorithm design and implementation--Programming Classics: Implementing the World's Best Algorithms and Algorithms from P to NP.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

SWAINE'S FLAMES

by Michael Swaine

PROGRAMMER'S SERVICES

OF INTEREST

by Monica E. Berg


Copyright © 1994, Dr. Dobb's Journal