Anna Stefano Narivelomanana

My profil
fond

Welcome to my home page

  • After one year internship implementing the multivariate-based post-quantum signature scheme MAYO under the supervision of Peter Schwabe at Max Planck Institute for Security and Privacy in Bochum, Germany; I currently have a discovery on the scheme itself.
  • My discovery is just wonderful. It's mainly algebra, but I would like to lead it to a more applied aspect. My Master's thesis is also based on algebra.

  • I have an experience on cryptanalysis. Under the supervision of Giulio Codogni, I wrote my Master's thesis about building a stream cipher using LFSR and then break it with the Berlekamp-Massey Algorithm.
  • I can code, especially with Python.

My academic adventure

I got my Master's degree from the African Institute for Mathematical Sciences in Limbe, Cameroon after completing four years in the field of Mathematical Education at Ecole Normale Superieur in Antananarivo, Madagascar.

Education

2022 – 2023

Structured Master, Fundamental Science Stream

African Institute of Mathematical Science, Cameroon.

2019 – 2020

Bachelor and Master 1, in Mathematical Education

Ecole Normale Supérieure, University of Antananarivo, Madagascar.

Experience

Jan. – Feb. 2020

Research Internship

Max Planck Institute for Security and Privacy.

Conference Attendance

19 Feb. 2025

1st Microarchitecture Security Conference

Ruhr University, Bochum, Germany

Download my CV

    My pre-print paper

    I am certain that there is a mistake on MAYO that I wrote a proof down.

    Abstract

    In this work, we analyze the mathematical aspect of the MAYO signature scheme. Following the specification of MAYO, we generate the keys where the secret key is a matrix and the public key is a system of quadratic polynomial of multiple variables; then use them to sign. During the signing procedure, we disprove the claim that the polynomial only has a constant part and a linear part after sampling values for the vinegar variables. Technically, we provide the mathematical expression of an arbitrarily polynomial of the system after substitution and discover that in addition of having a constant part and a linear part, the polynomial also has a quadratic part. The quadratic state of the polynomials after substitution allows us to conclude that signing fails with the third attempt of MAYO.

    My Master's thesis

    Field: Stream cipher cryptography

    Title: Stream Ciphers and the Berlekamp-Massey Algorithm

    Supervisor: Prof. Giulio Codogni

    Abstract

    In this essay, we explore the use of algebraic techniques to construct and to break stream cipher cryptosystems. Specifically, we focus on the construction of linear feedback shift registers (LFSRs) with maximal period and we present two criteria for achieving this. The first criterion is based on the shift-and-add property of LFSRs, while the second is based on the primitive polynomial. After building that maximal sequence, in turn, LFSR can be used to construct stream cipher. We also examine the Berlekamp-Massey Algorithm, which can determine the feedback polynomial and linear complexity of a binary sequence. The linear complexity denotes the shortest sequence required to generate a given LFSR. We are going to talk about how having a fragment of plaintext with its corresponding ciphertext, one can compute the feedback polynomial and the linear complexity of a key sequence. We demonstrate the significance of possessing this information in the cryptanalysis of stream ciphers based on LFSRs.

IT project

2023

My personnal website

This personnal website is hosted by github and contains my portfolio

2023

RSA cryptosystem design with tkinter Python

The RSA window project is a window in which we can encrypt a message using the RSA cryptosystem. The steps are, first, enter two prime number. Then, enter another number which is prime to the Euler's totient function to those two numbers. Those three numbers will give the secret key. And finally, enter the message and get as output the encrypted message.

RSA
2023

Drawing of the Olympic flag

The drawing of the Olympic flag is an exercise from the book by Gérard Swinnen. Through this exercise, I am learning how to manipulate the system of references in a GUI Python program.

Olympic

When I was at the last year of my Bachelor, I decided to learn Python with the book of Gérard Swinnen. I had the feeling I am a magician because I can communicate with the computer.

That wasn't the case when I started with Jasmin during my intership.

I don't agree with "Once you know one programming language, then the others will be easy for you". It took me about half a year to convert about ten functions written in C in Jasmin, and it was a lot of effort. I am particularly proud of three important functions I implemented in Jasmin: multiplication of two elements of the finite field F_16, the encode and decode functions.

Interest
  • Cryptography
  • Algebra
  • Number Theory
  • ITsecurity
  • Artificial Intelligence
  • Computer Science
Hobbies
  • Reading
  • Making personal project
  • Gardening
  • Visiting new places
  • Swimming
  • Cooking
Skills and expertise
Programming

Python, Sagemath, R, Latex, html, CSS, matlab

Library

Sympy, Scipy, Numpy, Pandas, Matplolib

Languages

Malagasy, English, French, German(low intermediate)


Madagascar
Address:
Logt 146 cité Akany Firaisana, Antananarivo, Madagascar