Cryptographic Algorithms, Cryptographic Protocols, and other Security-Related Projects


CAST-128  (C. Adams, S. Tavares:  1997)

A symmetric cipher employing a 64-bit block size and a variable key size of   40-128 bits that has received extensive review and analysis worldwide.  This algorithm has been adopted as a national standard by the Canadian government.  It has been used in products, applications, and cryptographic toolkits around the world, including the following:

-       the Entrust family of products

-       PGP 5.0+, PGPdisk, PGPfone

-       PGP Desktop, PGP VPN Client

-       SSLeay toolkit

-       Microsoft Exchange Server 4.0

-       Network Associates Gauntlet VPN Server

-       mcrypt command on Linux

-       CheckPoint VPN-1 Gateway

-       Nokia CryptoCluster VPN Gateway

-       Appleshare Client 3.8.1+ (DHX UAM 1.0)

It is also included in many international standard specifications, including S/MIME (Secure Multipurpose Internet Mail Extensions), IPsec (IP Security protocol), and ISO/IEC 18033-3 (Encryption algorithms – Block ciphers).  The algorithm is described in RFC 2144.




CAST-256  (C. Adams, H. Heys, S. Tavares, M. Wiener:  1999)

A symmetric cipher employing a 128-bit block size and a variable key size of 128, 192, or 256 bits that was accepted as a candidate algorithm for the National Institute of Standards and Technology (NIST) Advanced Encryption Standard (AES) process.  The algorithm is described in RFC 2612.  The NIST report issued at the end of Round 1 analysis included the following summary of CAST-256:

“Major security gaps:  none known.  Minor security gaps:  none known. High security margin. … This candidate belongs to a class of candidates with the speed/security ratio tilted strongly in favor of security.”




      DES-80  (C. Adams:  1997) 

An enhancement to the Data Encryption Standard algorithm in which the 56-bit key size and corresponding key schedule are replaced with an 80-bit key size and corresponding key schedule.  This modified cipher appears to have security equivalent to its new key size (no more efficient attack than exhaustive search over the 80-bit key space is known).  This work was the focus of a four-month research contract awarded to Entrust, with C. Adams as Principal Investigator, by the Communications Security Establishment (CSE).  The results were described in a 64-page technical report delivered to CSE, a paper presented at SAC ’97, and an invited talk at Carleton University.




SHADE  (C. Adams, M. Wiener:  1997)

A symmetric cipher built using a cryptographically-secure hash algorithm (such as SHA-1) as the round function in a Feistel network.  This cipher is intended to be a practical instantiation of the Luby-Rackoff work on symmetric cipher design.




SPKM  (C. Adams:  1996)

The Simple Public Key GSS-API Mechanism is a protocol that authenticates one or both parties in an online communications session using public-key cryptographic techniques, establishes session keys for confidentiality and integrity of subsequent messages, and guarantees freshness of all communications using either nonces or time stamps.  This protocol is an IETF Proposed Standard (RFC 2025) and is used in the Entrust family of products, as well as in other products and toolkits around the world.




CMP/CRMF  (C. Adams, S. Farrell, M. Myers, D. Solo, D. Kemp:  1999) 

The Certificate Management Protocol and Certificate Request Message Format define a set of protocol messages for the management of keys and certificates in a Public Key Infrastructure.  Included are functions for requesting certificates, updating certificates, recovering key histories, revoking certificates, and establishing cross-certificates between Certification Authorities.  This comprehensive suite of management protocols is a pair of  IETF Proposed Standards (RFC 2510, RFC 2511) and is used in the products of selected PKI companies all over the world.




SAML (OASIS Security Services Technical Committee, 2002)

An XML-based suite of protocols and data formats for holding and transporting assertions about an entity.  These assertions may pertain to authentication events, attribute information, or authorization information.  The specification and related documents can be found at the SS-TC Web site.




XACML (OASIS XACML Technical Committee, 2003)

An XML-based language for writing access control policies against objects that can be identified using XML.  This language is general, flexible, and quite comprehensive.  The specification and related documents can be found at the XACML Web site.




Cybersecurity Education in Canada:  A Review of Supply and Demand Issues (H. MacDonald, R. Malatest, J. Bennett, C. Adams, 2004)

The objective of the Cybersecurity Education in Canada research project was to conduct a thorough investigation of Canada's capacity to educate cybersecurity specialists.  The final report was prepared for the Department of Public Safety and Emergency Preparedness (PSEP), a component of the Office of Critical Infrastructure Protection and Emergency Preparedness (OCIPEP) within the Government of Canada, and was delivered to PSEP on March 22, 2004.




PKI Textbook (C. Adams, S. Lloyd, 2003)

An introductory textbook describing the concepts, standards, and deployment considerations surrounding Public Key Infrastructure (PKI) technology.  The first edition (published by New Riders in 1999) was one of the first books (perhaps the first book) devoted to this topic.  The second edition was published by Addison-Wesley in 2003.  This book has been widely referenced, including in Chapter 5, "Information technology and security:  Risk management and policy implications", of the United Nations Conference on Trade and Development (UNCTAD) Information Economy Report 2005.