B · o · B, a universal & secure file-transfer software in OCamlin-person
Bob is an OCaml software that allows you to transfer a file from one person to another in a secure way. This software is called polyglot, meaning that the resulting executable can run on most systems, as well as on x86_64
and arm64
architectures. Thanks to the Cosmopolitan/APE project (for generating polyglot executables from C code) and Esperanto (a special OCaml toolchain using Cosmopolitan), it is possible to produce such a polyglot binary from OCaml code.
Bob also uses a cryptographic technique for secure exchange called SPAKE2+EE. The latter is implemented in OCaml and the implementer has taken care to describe certain axioms during the exchange between the peers and the relay via the OCaml type system and GADTs.
Finally, the relay that enables peer discovery is a unikernel, i.e. a mini operating system as a service that can only handle requests from Bob, thus drastically reducing the attack surface.
Paper (ocaml2024-paper4.pdf) | 123KiB |
Sat 7 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:00 - 17:30 | OCaml ecosystem and applicationsOCaml at Orange 2 Chair(s): Pierre Chambart OCamlPRO Live stream: https://www.youtube.com/watch?v=OuQqblCxJ2Y | ||
16:00 22mTalk | Opam 2.2 and beyondin-person OCaml Raja Boujbel OCamlPro, Kate Deplaix Consultant for the OCaml Software Foundation and Ahrefs, David Allsopp Tarides File Attached | ||
16:22 22mTalk | Recursion schemes in OCaml: An experience reportin-person OCaml Tim Williams Bloomberg File Attached | ||
16:45 22mTalk | ChorCaml: Functional Choreographic Programming in OCamlremote OCaml Rokas Urbonas University of Cambridge File Attached | ||
17:07 22mTalk | B · o · B, a universal & secure file-transfer software in OCamlin-person OCaml Romain Calascibetta robur.coop File Attached |