From 2015 to 2019, I was a PhD candidate at Radboud University in Nijmegen, The Netherlands. Under the supervision of Peter Schwabe, I worked on (software implementations of) post-quantum cryptography.
Since 2020, I've shifted focus towards technical threat intelligence, digital forensics and reverse engineering. This web page mainly serves as a collection of my academic work, as well as a place to post some blog posts and CTF write-ups.
Daniel J. Bernstein, Andreas Hülsing, Stefan Kölbl, Ruben Niederhagen, Joost
Rijneveld, and Peter Schwabe. The SPHINCS+
signature framework. ACM SIGSAC Conference on
Computer and Communications Security – CCS '19, pp. 2129-2146, ACM,
2019.
Pol Van Aubel, Erik Poll, and Joost Rijneveld. Non-Repudiation and End-to-End Security for EV-charging. Innovative Smart Grid Technologies Europe – ISGT Europe
2019, IEEE, 2019.
Matthias J. Kannwischer, Joost Rijneveld, and Peter Schwabe. Faster multiplication in
ℤ2m[x] on Cortex-M4 to speed up NIST PQC candidates. Applied Cryptography and Network Security – ACNS
2019, LNCS 11464, pp. 281-301, Springer, 2019.
Ebo van der Laan, Erik Poll, Joost Rijneveld, Joeri de Ruiter, Peter Schwabe, and Jan
Verschuren. Is Java Card
ready for hash-based signatures? Advances in Information
and Computer Security – IWSEC 2018, LNCS 11049, pp. 127-142, Springer, 2018.
Ming-Shing Chen, Andreas Hülsing, Joost Rijneveld, Simona Samardjiska, and Peter Schwabe. SOFIA: MQ-based signatures in the
QROM. Public-Key Cryptography – PKC
2018, LNCS 10770, pp. 3-33, Springer, 2018.
Andreas Hülsing, Joost Rijneveld, John Schanck, and Peter Schwabe. High-speed key encapsulation from NTRU. Cryptographic Hardware and Embedded Systems – CHES
2017, LNCS 10529, pp. 232-252, Springer, 2017.
Ming-Shing Chen, Andreas Hülsing, Joost Rijneveld, Simona Samardjiska, and Peter Schwabe. From 5-pass MQ-based
identification to MQ-based signatures.
Advances in Cryptology – ASIACRYPT 2016, LNCS 10032, pp. 135-165, Springer, 2016.
Andreas Hülsing, Joost Rijneveld, and Peter Schwabe. ARMed SPHINCS – Computing a 41 KB signature
in 16 KB of RAM. Public-Key Cryptography –
PKC 2016, LNCS 9614, pp. 446-470, Springer, 2016.
Andreas Hülsing, Joost Rijneveld, and Fang Song. Mitigating Multi-Target Attacks in
Hash-based Signatures. Public-Key
Cryptography – PKC 2016, LNCS 9614, pp. 387-416, Springer, 2016.
Faster polynomial multiplication on Cortex-M4 to speed up NIST candidates
2019-02-08 – DS Lunch colloquium
–
PQM4: Implementing Post-Quantum Crypto on the Cortex M4
2018-09-13 – RIOT Summit 2018
–
Is Java Card ready for hash-based signatures?
2018-09-04 – IWSEC 2018
–
Hash-based signatures (poster)
2018-06-26 – Google Web Security Summit 2018
–
Post-quantum cryptography
2018-05-14 – Colloquium of study association Thalia
–
MQDSS
2018-04-12 – NIST's First PQC Standardization Conference
–
SOFIA: MQ-based signatures in the QROM
2018-03-28 – PKC 2018
–
2018-02-01 – PQCRYPTO research retreat
–
High-speed key encapsulation from NTRU
2017-09-26 – CHES 2017
–
From 5-pass MQ-based identification to MQ-based signatures
2017-03-24 – Crypto Working Group
–
2016-12-05 – ASIACRYPT 2016
–
2016-11-18 – DS Lunch colloquium
–
ARMed SPHINCS: Computing a 41 KB signature in 16 KB of RAM
2016-03-18 – PQCRYPTO pre-review
–
2016-03-07 – PKC 2016
–
2016-02-05 – DS Lunch colloquium
–
Implementing SPHINCS with restricted memory
2015-05-28 – Master thesis presentation, Radboud University
–
How the Dutch broke the Japanese Blue Code in the late 1930s
2013-07-01 – Bachelor thesis presentation, Radboud University
–
Matthias J. Kannwischer, Joost Rijneveld, Peter Schwabe, and Ko Stoffelen. pqm4: Testing and Benchmarking NIST PQC on ARM
Cortex-M4. Second NIST PQC Standardization
Conference. 2019.
NTRU-HRSS-KEM. Submission to NIST's post-quantum cryptography standardization project, by Andreas Hülsing, Joost Rijneveld, John M. Schanck, and Peter Schwabe.
MQDSS. Submission to NIST's post-quantum cryptography standardization project, by Ming-Shing Chen, Andreas Hülsing, Joost Rijneveld, Simona Samardjiska, and Peter Schwabe.
SPHINCS+. Submission to NIST's post-quantum cryptography standardization project, by Daniel J. Bernstein, Christoph Dobraunig, Maria Eichlseder, Scott Fluhrer, Stefan-Lukas Gazdag, Andreas Hülsing, Panos Kampanakis, Stefan Kölbl, Tanja Lange, Martin M. Lauridsen, Florian Mendel, Ruben Niederhagen, Christian Rechberger, Joost Rijneveld, and Peter Schwabe. To be standardized in FIPS 205 SLH-DSA.
XMSS: eXtended Merkle Signature Scheme. RFC 8391, by Andreas Hülsing, Denis Butin, Stefan-Lukas Gazdag, Joost Rijneveld, and Aziz Mohaisen.
PhD thesis: Practical Post-Quantum Cryptography. Radboud University, November 2019.
Master thesis: Implementing SPHINCS with restricted memory. Radboud University, May 2015.
Bachelor thesis: How
the Dutch broke the Japanese Blue Code in the late 1930s.
Radboud University, July 2013.
Summary paper, November 2014:
All listed software is dedicated to the public domain through the CC0 1.0 Universal Public Domain Dedication waiver.
PySPX. Python bindings for SPHINCS+.
pqm4. Post-quantum cryptography library and benchmarking framework for the ARM Cortex-M4.
Java Card XMSS. Implementation of XMSSMT for the Java Card platform.
MQDSS reference code. Reference implementation of the MQDSS submission to NIST.
NTRU-HRSS-KEM reference code. Reference implementation of the NTRU-HRSS-KEM submission to NIST.
SPHINCS+ reference code. Reference implementation of the SPHINCS+ submission to NIST.
XMSS reference code. Reference implementation accompanying RFC 8391, which specifies XMSS and XMSSMT.
Bit permutations on x86 with AVX2. Simulator for a subset of x86 with AVX2 to construct efficient permutations on bit sequences.
Getting started with STM32. Wrapper around libopencm3 and various code examples that demonstrate the basics of programming for STMicroelectronics' discovery boards.
ChaCha permutation for Cortex M. High-speed implementation of ChaCha for ARM Cortex-M3 and Cortex-M4.
SPHINCS-256 in Python. Implementation of SPHINCS-256 in Python, optimized for flexibility (not speed).
All links to Radboud University's internal pages were removed.
TA for
Cryptographic Engineering
[NWI-IMC039]
Spring 2016,
Spring 2017,
Spring 2018
TA for
Security, seminars
[NWI-IPC021]
Fall 2015,
Fall 2016,
Fall 2017
Python course for highschool students
Fall 2014,
Fall 2015
TA for
Security, grading
[NWI-IPC021]
Fall 2013,
Fall 2014
TA for
Programming for Science students
[NWI-MOL088 / -MOL098]
Fall 2012,
Fall 2013
TA for
Object oriented programming
[NWI-IPI005]
Spring 2012,
Spring 2013,
Spring 2014