From Google Summer of Code coordination Wiki
- Mentor: Anil Madhavapeddy
- Student: write your name here
Mirage is an OCaml programming framework that can compile code directly into Xen microkernels, or normal UNIX binaries. It is event driven and heavily relies on the Lwt threading library.
This project will have you implement a clean-slate implementation of the SSL protocol in OCaml (no use of OpenSSL). Ideally, you will break down the protocol into clean components, and provide a layered Lwt-compliant implementation of SSL that handles negotiating a connection and maintaining it (rekeying, etc).
Emphasis on functionality and minimising data copying, and benchmarking it versus OpenSSL to characterise the performance difference.
If the library is pure-OCaml, you will not need to have a Xen installation, as Mirage will compile to UNIX also. But kernel programmers have more fun :)
- Required skills:
- OCaml programming
- Functional programming
- Familiarity with cryptography