Zcash is the third iteration of an extension to the Bitcoin protocol that provides true untraceability, i.e. fully anonymous transactions. It is arguably the first serious attempt to establish this extension, in the form of its own blockchain, beyond the form of an academic proposal. The talk provides an introduction to the magic that makes it work.
AnIterateeis a data structure that represents a stream processor. It consumes a stream of input elements and at some point produces a result or fails with an error. Streams may consist of elements of any type. Processing proceeds one chunk of input at a time.
Development of a C library that realizes the concept of
which originated in the context of functional programming.
Contains a fast garbage collector of own design, the properties of which are tailored to the case at hand.
Implementation of a simple example (word count) that reaches the run-time performance of its classic equivalent, even slightly surpassing it.
The project is to build a compiler for a modern functional programming language and to get it self-hosting as quickly as possible, bootstrapping from minimal dependencies.
Building a minimalistic functional programming language in the form of a translator to standard C. The initial version was written in around 500 lines of C and then reimplemented in about 300 lines of the language itself (self-hosting).
Contains a garbage collector of own design, the properties of which are tailored to the case at hand, as well as a flexible test system to check the function of the compiler.
The specific realization of functions and subroutines as provided by six popular programming languages are surveyed from the standpoint of language design. The languages discussed are C, Scheme, (Common) Lisp, Smalltalk, Python, and Scala. Questions of interest include the sharing of namespaces between functions and other objects, closures and scoping rules, support for higher-order functions, lambda expressions, etc. An additional section notes interesting points about some languages that are not included in the main presentation.
Essay about the different representations of the mathematical concept of functions in several programming languages.
Prepared as classwork for a seminar in computer science.
The XC9572XL is programmed via a standard JTAG interface. I did not have anything that speaks JTAG so went looking if my Arduino can be turned into an appropriate programmer. The solution that I found, however, did not work; so I built my own.
Development of an Arduino program for the direct interation with micro chips via the JTAG interface.
And so my first real Arduino project is an AVR programmer. [translated]
Development of an Arduino program for the loading of other ATmega micro controllers via the proprietary programming interface.
This talk aims to give a generally understandable introduction to the mathematical basics of asymmetric cryptographic algorithms that form the backbone of modern cryptographic infrastructure. Participants should be enabled to judge more than superficially the cryptographic systems which build upon these primitives. [translated]
Talk held at the CCC conference
SIGINT 2009. (German)
The Siemens & Halske T52 (in its several variants) [...] was a teleprinter with integrated encryption/decryption facility. It was cryptographically superior to the Enigma and, by its nature, much more sophisticated in terms of its electro-mechanical engineering.
Essay about the successful decryption of Nazi-German teleprinter traffic by Swedish mathematicians during the World War II.
Originally prepared as classwork for a seminar in mathematics.
A zero-knowledge protocol developed by Boudot et al. enables the secret and secure comparison of two fingerprints over an insecure channel. The communicating peers require only once a comparatively weak shared secret. [translated]
Presentation about the mathematical background behind a cryptographic system that is used in practice but not wide-known. (German)
Prepared as classwork for a seminar in mathematics.
Skein 512in 256 lines
Skein is a new family of cryptographic hash functions. Its design combines speed, security, simplicity, and a great deal of flexibility in a modular package that is easy to analyze.
Development of as short and readable a C implementation as possible
Skein Hashfunktion by Schneier et al., one of the final
candidates in the competition for the standardization of SHA-3.
Diffie-Hellmanin 200 lines
Of course Diffie-Hellman really is pretty simple. Five lines. All you need is exponentiation. No problem. There is square-and-multiply for that. Easy peasy, as long as you can multiply ... modulo large primes. [translated]
Development of as short and readable a C implementation as possible of the Diffie-Hellman protocol, using the Montgomery method for multiplication in large residue class rings.