Combinatorics is the study of discrete structures and their properties. Many modern scientific advances have employed combinatorial structures to model the physical world, and recent advances in computational technology have made such investigations feasible. In particular, since computers process discrete data, combinatorics has become indispensable to computer science. Optimization, or mathematical programming, is the study of maximizing and minimizing functions subject to specified boundary conditions or constraints. With the emergence of computers, optimization experienced a dramatic growth as a mathematical theory, enhancing both combinatorics and classical analysis. The functions to be optimized arise in engineering, the physical and management sciences, and in various branches of mathematics. In the co-op option, students spend one or more terms working in industry, thus gaining valuable experience while earning their degree. Recently, the co-op option has been undertaken by students whose research focuses on financial applications of optimization. It is recommended that students interested in this option apply for the ordinary (non-co-op) MMath program and then contact the graduate officer about transferring to the co-op program subsequent to their admission.
In classical cryptography, some algorithm, depending on a secret piece of information called the key, which had to be exchanged in secret in advance of communication, was used to scramble and descramble messages. (Note that, in a properly designed system, the secrecy should rely only on the key. It should be assumed that the algorithm is known to the opponent.) In 1976, a new type of cryptosystem, called an asymmetric or public-key system was conceived. In these systems, the roles of encryption and decryption are sufficiently separated that the key for one of these functions can be publicly disclosed, while the other can be maintained in secret. This eliminates the need for the exchange of keys in secret prior to communication. These constructions are based on the computational infeasibility of solving certain hard mathematical problems such as integer factorization. The search for appropriate hard problems and the design and analysis of related public key systems has given rise to a very active and stimulating area of research. Research, both theoretical and practical, in various areas of cryptography, security and privacy is being undertaken at the Centre for Applied Cryptographic Research (CACR) at Waterloo. Some areas of focus for cryptographers in the C&O department include elliptic and hyperelliptic curve cryptography, pairing-based cryptography, quantum-safe cryptography, and the design and analysis of cryptographic protocols.