Projects
Rules:
You are asked to develop either software, hardware or analytical
project.
Software projects typically involve writing a program in a high-level
language
(C, C++, Java, etc) or assembler.
Hardware projects involve the design of a digital circuit (down
to the timing simulation
at the gate level) using available CAD tools for design of FPGAs
or ASICs.
Analytical projects involve comparative analysis of competing algorithms,
protocols, or implementations. They also may involve solving problems related
to cryptology and some other field such as number theory, physics, law,
etc.
All projects can be done individually or in a group of two or three
students. You are welcome to propose the project topic by yourself.
List of topics proposed by the instructor (to be extended):
Cryptanalysis
Implementation of cryptoalgorithms
Generation and management of cryptographic keys
E-mail & WWW security
Authentication & access control
Physics & cryptology
Law & cryptology
Number theory & cryptology
Cryptanalysis
Software/analytical:
-
Cryptanalysis
of "proprietary" ciphers included in WordPerfect, Lotus1-2-3, etc., based
on Vigenere cipher
-
Timing
cryptanalysis of RSA and other public key cryptosystems
-
Factoring
large integers using Quadratic Field Sieve or Number Field Sieve and comparison
with Lenstra's implementation of factoring over the Internet
Hardware:
-
RC-5
breaking machine
Implementation
Software/analytical:
-
Multiplication
of large integers using Karatsuba and classical method
-
Multiplication
of large integers using Fast Fourier Transform and classical method
-
Modulo
reduction of large integers using classical and Barett algorithms
-
Modular
multiplication using Montgomery method
-
Implementation
of a chosen elliptic curve cryptosystem according to the IEEE 1363 standard
Hardware:
-
Modular
multiplication of large integers using Montgomery algorithm
-
Modular
exponentiation with systolic array.
-
Elliptic
curve cryptosystem
-
IDEA.
Generation and management of cryptographic keys
Software/analytical:
-
Evaluating
random number generators
-
Generating
strong prime numbers for RSA using probabilistic Rabin-Miller algorithm
-
Deterministic
method of prime number generation for RSA using Maurer method.
Analytical:
-
Organization
of Certification Authority for the University or large company
E-mail & WWW security
Software:
-
On-line
time-stamping
-
Simple
payment protocol for a cybermall under WWW
Analytical:
-
Comparison
of security standards for multimedia mail S/MIME & MOSS, analysis of
appearing implementations
Authentication and access control
Software:
-
Building
a simple firewall using a public domain software toolkit provided by Trusted
Information Systems
Physics & cryptology
Analytical:
-
Factoring
large numbers using a quantum computer according to the Shor's algorithm
-
Solving
a discrete logarithm problem using a quantum computer
-
Quantum
cryptography: implementation and security of various schemes for a quantum
key exchange
Law & cryptology
Analytical:
-
Export
control of strong cryptography and key escrow mechanisms
-
Legal
and liability issues related to acceptance of digital signatures and operation
of Certification Authorities
Number theory & cryptology
Analytical:
-
Choosing
an elliptic curve for cryptographic applications
-
Efficient
operations on points of an elliptic curve over the Galois field GF(2^n)