M. A. Hasan
Security is a crucial issue in many of today's
communication and computer applications that are often used over open networks
and among a wide spectrum of users including banks, businesses and individuals.
The use of open networks, however, poses a variety of security threats for
authentication, data integrity, confidentiality, etc. Security breeches can
cause both short- and long-term damages to the users' confidence in the
underlying infrastructure and it is quite important to ensure an adequate
level of security in many communication and computer applications.
In order to provide security for communications and computers, various
cryptographic schemes can be used. Many of these schemes are computationally
intense and require abstract type of computations, e.g., point addition on
elliptic curves, and deal with very large operands. Such computations are not
well supported by most main stream processors, and require special
representations, algorithms and hardware architectures. For practical
applications, these algorithms and architectures are to meet performance
requirements under various constraints, such as limited area, narrow bandwidth,
and low power. More importantly, they need to operate in a way so that they do
not leak information related to the secret key of the cryptosystem through
various side channels, such as power consumption signals, electromagnetic
emanations, and erroneous outputs caused by faults induced deliberately by a
malicious attacker.
An important goal of our research is to investigate various aspects of
cryptographic computations that extent from digital signature generation by
modular exponentiation or elliptic curve scalar multiplication to basic field
arithmetic, and are at the heart of many security schemes used in communications
and computers. To this end, we have been working to develop high performance
cryptosystems using novel computing algorithms and architectures that are not
only efficient but also fault-tolerant and secure against side channel attacks.
Our work also includes investigation of new algorithms and hardware
architectures that can meet various constraints, such as space--memory and/or
silicon, time, reliability, etc.