Thales Paiva, Developer in São Paulo - State of São Paulo, Brazil
Thales is available for hire
Hire Thales

Thales Paiva

Verified Expert  in Engineering

Software Developer

Location
São Paulo - State of São Paulo, Brazil
Toptal Member Since
June 17, 2022

Thales is a PhD student at the University of Sao Paulo studying post-quantum cryptography. He loves working on cryptography because it requires a broad interest in computer science, from complexity theory and mathematics to computer security. Thales is interested in working with cryptography implementation, systems programming, DevOps engineering, and web application development. He has the most experience working with Python, C, Java, and TypeScript.

Portfolio

University of Sao Paulo
C, Python 3, SageMath, Cryptography, LaTeX, Linux, Optimization, Data Analysis...
BrainTools
Django, Python 3, Amazon S3 (AWS S3), Angular, Ionic, Bootstrap, Heroku...

Experience

Availability

Part-time

Preferred Environment

Linux, MacOS, Git, Python 3, Cryptography, C, Django, Angular

The most amazing...

...contribution I've made is a new decryption algorithm for a BIKE, a candidate in the NIST's post-quantum cryptography standardization process.

Work Experience

PhD Student

2018 - PRESENT
University of Sao Paulo
  • Wrote, as the main author, a paper describing a new decryption algorithm for BIKE, a NIST candidate for post-quantum cryptography. Implemented the algorithm in constant time using AVX-512 instructions.
  • Wrote, as the main author, a paper that introduces a new type of attack against signature schemes based on the permuted kernel problem (PKP).
  • Wrote, as the main author, a paper describing the first timing attack on HQC, a NIST candidate for post-quantum cryptography.
  • Collaborated, as one of the main authors, on a study about new features for BGP anomaly classification using long short-term memory (LSTM) networks.
  • Wrote, as the main author, a study on the usage of RAPL registers to build covert channels using DRAM power consumption estimates.
Technologies: C, Python 3, SageMath, Cryptography, LaTeX, Linux, Optimization, Data Analysis, Coding Theory, NumPy, Pandas, GitHub

Full-stack Developer

2019 - 2021
BrainTools
  • Worked as the only developer of the company's main product – an Android and iOS mobile app that enables students to quickly adopt spaced learning methodologies when studying content for ENEM, the main entrance exam for Brazilian universities.
  • Developed a Python and Django web application with exercises and tutorials for school students as the only developer on the team. Designed all of the solutions.
  • Wrote scripts to help my partners transform content into flashcards and perform continuous delivery of new material to students, enabling a very small crucial content managing team to work efficiently.
Technologies: Django, Python 3, Amazon S3 (AWS S3), Angular, Ionic, Bootstrap, Heroku, Scripting, Python, Back-end, APIs, Amazon Web Services (AWS), Back-end Development, Web Scraping, Data Analytics, GitHub, Django ORM, Django REST Framework

Faster Constant-time Decoder for MDPC Codes and Applications to BIKE KEM

We introduce a new decryption algorithm for BIKE, a code-based key encapsulation mechanism selected by the NIST as an alternate candidate for post-quantum cryptography. Furthermore, we showed a fundamental problem with BIKE's current decryption algorithm BGF that may affect its security. Our constant-time implementation outperforms BGF, providing speedups of 1.26, 1.36, and 1.51 for security levels 128, 192, and 256, respectively. As the main author, I designed and implemented the decoder, ran the experiments, and wrote the paper with input from my advisor.

Cryptanalysis of the Binary Permuted Kernel Problem

https://www.ime.usp.br/~tpaiva/papers/PaivaTerada_ACNS2021_cryptanalysis_of_binary_pkp.pdf
We investigated a vulnerability in the binary setting of the permuted kernel problem (PKP). PKP is a hard combinatorial problem, conjectured to be hard even for quantum computers, and is used by PKP-DSS, a post-quantum signature algorithm. As the main author, I conceived and implemented the idea of the attack and wrote the paper with input from my advisor.

A Timing Attack on the HQC Encryption Scheme

https://www.ime.usp.br/~tpaiva/papers/PaivaTerada_ACNS2021_cryptanalysis_of_binary_pkp.pdf
HQC is a code-based encryption scheme selected by the NIST as an alternate candidate for post-quantum cryptography. We showed that when a non-constant-time algorithm is used for decoding a BCH codeword, it is possible to mount a key-recovery attack assisted by timing the decryption of ciphertexts. As the main author, I noticed the information leakage from timing, exploited it, and wrote the paper with input from my advisor.

GEDAE-LaB

http://www.gedaelab.org/
GEDAE-LaB is an open source software to help sports physiologists estimate the energy expenditure and energy system contributions during exercise. My contribution to the project was mainly in the Java back end, where I implemented the mathematical modeling and optimization algorithms.

BGP Anomalies Classification Using Features based on AS Relationship Graphs

https://github.com/thalespaiva/bgp-anomaly-classification
In this paper, we explored new features to classify BGP anomalies. As one of the main authors, I was responsible for the feature selection, building the extractors for these features in Python, and implementing the LSTM-based classifier in Python with Keras and TensorFlow with my colleagues.

Languages

Python 3, Python, C, Java, HTML, JavaScript

Frameworks

Django, Angular, Django REST Framework, Ionic, Bootstrap, VRaptor

Platforms

Linux, Firebase, MacOS, Heroku, Amazon Web Services (AWS)

Other

SageMath, Cryptography, Back-end, Back-end Development, Shell Scripting, APIs, Web Scraping, Data Analytics, Machine Learning, Artificial Intelligence (AI), Concurrent Computing, Algorithms, Number Theory, Game Theory, Complexity Theory, Quantum Computing, Scripting, Optimization, Data Analysis, Coding Theory, Public-key Cryptography, M4RI, Linear Algebra, Graph Theory, Applied Cryptography, Vectorization

Libraries/APIs

NumPy, Pandas, Django ORM, TensorFlow, Keras, Matplotlib

Tools

GitHub, Mathematica, Git, LaTeX, Jenkins

Paradigms

Data Science

Storage

Amazon S3 (AWS S3)

2018 - 2022

PhD in Computer Science

University of Sao Paulo - Sao Paulo, Brazil

2015 - 2017

Master's Degree in Computer Science

University of Sao Paulo - Sao Paulo, Brazil

2011 - 2015

Bachelor's Degree in Computer Science

University of Sao Paulo - São Paulo, Brazil

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring