Research

CACR offers an active research environment with faculty conducting research in many areas of cryptography and information security, both theoretical and applied. There are several ongoing multi-disciplinary projects with participation from faculty and students in the departments of Combinatorics and Optimization (C&O), Computer Science (CS), Electrical and Computer Engineering (E&CE), Physics (PHY), and Pure Mathematics (PMath). There are also a number of collaborative projects sponsored by industry.

The following are some research groups and labs at the University of Waterloo that are led by CACR faculty members:
The following is a sampling of the research areas that are represented at CACR. Further information can be obtained from the personal web sites of faculty members, and by browsing through our technical reports.

Security for Pervasive Computing Environments

Pervasive computing environments allow users to seamlessly interact with embedded computers, depending on the users' current context. These new environments raise a variety of privacy and security challenges. For example, context-sensitive services can easily leak information about a user's context or uncertainty about a user's context might lead to wrongfully disclosed information.

In our research, we examine pervasive computing environments for security and privacy challenges. We address these challenges by applying cryptographic algorithms in new ways and by implementing and evaluating these algorithms in prototype applications.

Hash Functions

The recent discovery of collision-finding algorithms for many popular hash functions has led to an increased interest in the development and analysis of hash functions. Recent work includes analysis of multicollision attacks on hash functions and analysis of reductions among fundamental computational problems involving hash functions.

Pseudorandom Sequences

Pseudorandom sequences have many important applications in communications and cryptography. Randomness of a sequence refers to the unpredictability of the sequence. Any deterministically generated sequence used in practical applications is not truly random. The course of this research has two directions.

Sequence design for wireless code division multiplexing (CDMA) communication systems. In wireless CDMA systems, multiple users share a common channel. The problem is to find good signal sets having low correlation (decreasing interferences among users in the detection process), large linear span (for providing certain security features for the users who are assigned those sequences, e.g. preventing cloning of cell phones), and a large number of sequences (so that more users can be supported). These problems have many connections with combinatorics and Boolean functions. For example, sequences having 2-level autocorrelation corresponds to cyclic Hadamard difference sets, and the polynomial functions used to generate binary sequences correspond to Boolean functions. Constructions of Boolean functions with high nonlinearity (against linear cryptanalysis), high order correlation immunity or resilience (against various correlation attacks and differential cryptanalysis), and high algebraic immunity (against algebraic attacks) for both stream cipher and block ciphers are also being pursued.

Sequence design for applications in stream ciphers and pseudorandom number generators. Since tranmission errors are more likely in wireless communications than in wireline communications, stream ciphers are preferred over block ciphers. CACR researchers are designing pseudorandom sequence generators with good randomness properties which can be efficiently and securely implemented in hardware. Also being studied are the pseudorandom number generators that arise from the sequence generators.

Computational Number Theory

In the last twenty-five years, computational number theory and cryptology have become closely intertwined. Number theory provides most of the hard computational problems that can be used to guarantee the security of public-key cryptographic schemes. The main aim of computational number theory is the design, implementation, and analysis of algorithms for solving problems in number theory. Apart from algorithms for problems arising in cryptography such as the integer factorization problem or the discrete logarithm problem in various structures, this includes algorithms for computing fundamental invariants in algebraic number fields and algebraic function fields.

CACR researchers have made many contributions to the discrete logarithm problem in finite fields, elliptic curves and hyperelliptic curves. We have also studied combinatorial approaches to generic algorithms for the discrete logarithm problem, and considered "low hamming weight" variants of the problem.

Distributed Cryptographic Protocols

Many cryptographic tools can be adapted to a distributed setting where the authority to perform a certain cryptographic computation is shared among various entities in a network. For example, we might desire a certain threshold of entities in order to compute a signature, decrypt a ciphertext, etc. The simplest example of this type of scheme is a "secret sharing scheme", in which an authorized subset of entities (say at least t out of n) is required in order to reconstruct a certain secret, where each entity holds a "piece" of the secret called a share.

The advantage of a distributed protocol (as compared to a one-to-one protocol) is increased security against attacks (since there is no longer a single point of failure) and fault-tolerance (the desired action can be completed even if some of the entities are not functioning correctly). Many types of cryptographic protocols have been investigated in a distributed setting, including oblivious transfer and broadcast encryption.

Key Distribution

Distribution of keys by a trusted authority to users in a network is a fundamental tool in enabling secure communication. Security of key distribution schemes can be based on computational assumptions; however, it is also possible to design schemes that are "unconditionally secure". Schemes of this type are proven secure using combinatorial or information-theoretic techniques, independent of the computing power of an adversary.

Of particular interest are key distribution schemes for sensor networks, where it is imperative to minimize storage requirements and computational costs. In this setting, it may not be appropriate to ensure that every pair of nodes shares a common key, so efficient methods for establishing secure multi-hop communication paths are necessary.

Cryptographic Computations - Algorithms, Architectures and Fault Tolerance

Many cryptosystems are based on computations in very large finite fields. Dedicated hardware realization of processors or accelerators for such computations requires a large number of logic gates. A number of CACR researchers are working towards development of efficient algorithms for cryptographic computations. These algorithms are in turn mapped onto high performance and/or resource constrained architectures to meet requirements of various applications - from web servers to smart-cards. Research is also being carried out to devise efficient schemes for performing correct cryptographic computations in presence of hardware faults caused by defects of silicon devices or malicious acts of attackers.

Side-Channel Attacks and Countermeasures

Side-channel attacks reveal information about cryptographic keys by capture and analysis of electromagnetic emission or power dissipation from embedded systems. A side-channel analysis laboratory has been established which supports the verification of countermeasures and attacks through real measurement of electromagnetic emissions and power. Software-based and VLSI countermeasures to thwart side-channel attacks in wireless embedded systems are being investigated.

Copyright Protection

Copyright protection is a fundamental goal of digital rights management. Two methods of copyright protection are broadcast encryption and tracing. Broadcast encryption ensures that an encrypted broadcast can be decrypted only by designated authorized receivers. Tracing schemes use certain codes to allow pirated data or decoders to be traced back to their rightful owners.

Security in Ad Hoc Networks

Internet, wireless networks, and ad hoc networks have vastly differing characteristics such as the availability of a fixed infrastructure, the network topology, the capabilities of network nodes, and the availability of a centralized authority. These variations result in different requirements and constraints for implementing security features such as key distribution, authentication, encryption, and integrity checking.

In general, an ad hoc network does not have a fixed infrastructure, the network topology changes frequently, and the nodes have limited computational, bandwidth, and power resources. In practice, ad hoc networks may be associated with Personal Area Networks (PANs), as for instance wireless communications among PDAs, cellular phones, and laptops using the Bluetooth protocol, or sensor networks.

CACR researchers are developing applications-based security protocols for authentication among nodes in an ad hoc network and for authenticated key distributions or session key establishment. Symmetric, hybrid (for example, public-key cryptography with passwords), and asymmetric (i.e., public-key approach using threshold cryptography and identity-based schemes) solutions are being sought. Both single-hop and multi-hop scenarios are being considered. The performance of our proposed solutions will be evaluated through simulations.

Cryptography in a Quantum World

The true limitations and capabilities of an information processing device are determined by the laws of physics, and therefore we must ask how quantum technologies affect the theory and practice of providing information security objectives.

In some cases quantum theory allows us to perform tasks previously believed to be infeasible, such as finding discrete logarithms in general groups or factoring large numbers. If large-scale quantum computers will be built (and fault-tolerant quantum error correction suggests that there is no fundamental obstacle) computationally secure cryptography will require an understanding of which problems are tractable and which are intractable on a quantum computer.

Quantum information also has special properties which allow tasks previously believed to be impossible. Quantum mechanics implies an intrinsic, quantifiable, trade-off between the amount of information an eavesdropper extracts from a physical system and the amount of disturbance caused to the system. Thus, eavesdropping can be detected with high probability, and this opens the door for a wide range of new cryptographic tasks whose security is guaranteed by quantum mechanics.