menu

Technology Innovation Institute

 98,419

The TII McEliece Challenges

Contribute to data security in a post-quantum era by participating in the TII McEliece Challenge and win prizes worth $75,000

This challenge is closed

stage:
Won
prize:
$75,000

This challenge is closed

more
Summary
Leaderboard
Timeline
Updates23
Forum1
Community
Press
FAQ
Meet the Winners
Summary

Overview

The webpage is dedicated to decoding challenges inspired by the McEliece Cryptosystem. The purpose of the challenge is to understand the hardness of the problems that underlie the security of the modern versions of the McEliece Cryptosystems like Classic McEliece.

Note that you are able to sign up and submit to challenge from now until the submission deadline. To view the information for a specific instance, navigate to the Leaderboard Tab and click on the number of your chosen instance from the correct Track, then proceed to the submission form when you are ready to test your solution.

Track One: McEliece Key Recovery Challenge

Track one of the challenges focuses on McEliece key recovery attacks, i.e., recovering the secret key from a given public key. The McEliece public key is constructed as follows:

Set integer parameters \(n>1\)\(1 < t < n\)\(m>1\).

The parameter \(n\) defines the length of the Goppa code, \(m\) defines a finite field extension \(\mathbb{F}_{2^m} \cong \mathbb{F}_{2}[x]/(f)\) for some \(f\) irreducible over \(\mathbb{F}_{2}\).

Let \(V: \mathbb{F}_{2^m} \rightarrow \mathbb{F}_2^m\) be the bijection that represents \(\mathbb{F}_{2^m}\) as an \(m\)-dimensional vector space over \(\mathbb{F}_2\), i.e, \(\sum_{i=0}^{m-1} a_i \gamma^i \mapsto [a_0, \ldots, a_{m-1}]\), where \(\gamma\) is a primitive root of \(f\).

Choose at random a vector \(L = \{\alpha_1, \ldots, \alpha_n\} \subset \mathbb{F}_{2^m}\).

Choose an irreducible polynomial \(g \in \mathbb{F}_{2^m}[x]\) of degree \(t\).

Consider \(\overline{H}_{\mathsf{Goppa}}(L,g) \in \mathbb{F}_{2^m}^{t \times n}\) of the form 

 

\[\overline{H}_{\mathsf{Goppa}}(L,g) =      \begin{pmatrix}     1 & 1 & \ldots & 1 \\     \alpha_1 & \alpha_2 & \ldots & \alpha_{n} \\     \vdots & \vdots & \ddots & \vdots \\  \alpha_1^{t-1} & \alpha_2^{t-1} & \ldots & \alpha_{n}^{t-1}     \end{pmatrix}    \cdot      \begin{pmatrix}     g^{-1}(\alpha_1) & 0 & \ldots & 0 \\  0 & g^{-1}(\alpha_2) & \ldots & 0 \\     \vdots & \vdots & \ddots & \vdots \\     0 & 0 & \ldots & g^{-1}(\alpha_n)     \end{pmatrix}\]

From \(\overline{H}_{\mathsf{Goppa}}(L,g) \in \mathbb{F}_{2^m}^{t \times n}\), construct the matrix \(H_{\mathsf{Goppa}}(L,g) \in\mathbb{F}_{2}^{tm \times n}\) by applying the bijection \(V\) to each element of \(\overline{H}_{\mathsf{Goppa}}(L,g)\).

If \(H_{\mathsf{Goppa}}(L,g) \in\mathbb{F}_{2}^{tm \times n}\) is not full-rank, restart from choosing a new vector \(L\).

Apply row-echelon form to \(H_{\mathsf{Goppa}}(L,g) \in\mathbb{F}_{2}^{tm \times n}\) to obtain the public matrix \(H_\textrm{pub}\). It serves as McEliece's public key.

The corresponding key recovery problem is defined as follows.

Problem 1 (McEliece Key Recovery): Given a matrix \(H_\textrm{pub} \in \mathbb{F}_{2}^{tm \times n}\) constructed as above, recover \(g\) and \(L\).

Track 1A: Theoretical Key Recovery – 10.000$

We are welcoming new theoretical results in algorithms, both classical and quantum, for Track 1A. The submission should be typed in LaTeX and submitted in PDF format via the submission form button above. Please follow the Springer Lecture Notes in Computer Science (LNCS) style. There are no other restrictions on the format; however, the reviewers are not obliged to read all of your pdf, so brevity will be helpful in your submission. You may also submit your paper simultaneously to any other conference or venue.

Track 1B: Practical Key Recovery – 10.000$

We also provide practical key recovery challenges. Each challenge set contains the following data

  • public matrix \(H_\textrm{pub}\) in the systematic form (the identity matrix is also stored),
  • coefficients of unitary irreducible polynomial \(f\) s.t. \(\mathbb{F}_{2^m} \cong \mathbb{F}_{2}[x]/(f)\).

The task is to recover the secret polynomial \(g\) and the vector \(L\). The challenges are ordered by their hardness, ranging from 22 to 255 bits of complexity. Only one prize winner will be awarded in each track, and the prize amount will be determined by how high the winner scores on their track's leaderboard. See the Prize section below for more information.

Track Two: Message Recovery Challenge

In McEliece, cryptosystem messages (or keys in McEliece KEM) are binary vectors of size \(n\) and Hamming weight \(t\). For the public matrix \(H_ \textrm{pub} \in \mathbb{F}_{2}^{tm \times n}\), the ciphertext for the message \(\mathbf{m}\) is its syndrome, namely 

\[\mathbf{c} = H_ \textrm{pub}\mathbf{m}.\]

The message recovery problem relies on the hardness of syndrome decoding for binary Goppa codes. In particular,
 

Problem 2 (McEliece Message Recovery): Given a matrix \(H_ \textrm{pub} \in \mathbb{F}_{2}^{m \times n}\) and the syndrome \(\mathbf{c} = H_  \textrm{pub}\mathbf{m}\), find \(\mathbf{m}\).

Track two focuses on practical message recovery attacks. Each challenge set contains the following data:

  • public matrix \(H_  \textrm{pub}\) in the systematic form (the identity matrix is also stored),
  • syndrome vector \(\mathbf{c} \in \mathbb{F}_2^{mt}\),
  • coefficients of unitary irreducible polynomial \(f\) s.t. \(\mathbb{F}_{2^m} \cong \mathbb{F}_{2}[x]/(f)\).

The task is to recover the message \(\mathbf{m}\).

For testing purposes, we provide toy examples with bit securities in the range 20–32. There is no prize associated with those toy challenges. The actual challenges range in complexity from 34–74 and 75-90 bits of security.
 

Track 2A: Practical Message Recovery – 15.000$

This track consists of seven different prize levels that are correlated with bit complexity, ranging from 34 to 74. Only one prize winner will be awarded in each track, and the prize amount will be determined by how high the winner scores on their track's leaderboard. See the Prize section below for more information. The security levels are chosen so that the lower levels may be completed reasonably with existing techniques. But the highest levels are designed such that current state-of-the-art algorithms (with slight tweaks) are able to solve these instances, if enough computational resources are available. Improvements to your chosen algorithm will be essential for achieving the full prize in these challenges.

Track 2B: Practical Message Recovery – 40.000$

This track consists of sixteen different challenges with a bit complexity of 75–90. The security levels are chosen such that it is unlikely that current state-of-the-art algorithms without algorithmic improvements are able to solve these instances. See the Prize section below for more information.

 

Background

The McEliece cryptosystem remains, despite significant cryptanalytic efforts, a secure scheme since its invention in 1978. Further, it counts as post-quantum secure, i.e., there are no efficient quantum algorithms known that solve the underlying hard problems. These two facts led to the McEliece scheme being a fourth-round candidate of the current NIST PQC standardization effort for post-quantum secure schemes, in the form of the Classic McEliece submission.

In order to ensure a precise understanding of the security with respect to today's computational resources and algorithmic advancements, we launched the TII McEliece Challenges. This challenge aims at covering all aspects of McEliece security, especially also those, which have received less attention in the past years. Before detailing the precise challenges and choices, let us outline a simplified version of the McEliece scheme.

The McEliece Scheme

McEliece is a code-based scheme, that is based on the hardness of decoding specific linear codes. Therefore, the private key is a structured parity-check matrix \(H\) of a linear code, where McEliece relies on binary Goppa codes. The known structure of the matrix \(H\) allows to correct up to \(t\) errors efficiently. That means for a given syndrome \(\mathbf{c}\), it is possible to efficiently find a vector \(\mathbf{m}\) of Hamming-weight \(t\), satisfying \(H\mathbf{m} = \mathbf{c}\), if such a vector exists.

The public key of the scheme is a permuted and “scrambled” version of \(H_{\mathsf{Goppa}}\). Therefore one first applies a permutation \(P\) to the columns of \(H\) and then performs a basis change via multiplication with an invertible matrix \(S\) to obtain the public key \(H_\textrm{pub}=SH_{\mathsf{Goppa}}(L,g)P\). The matrices \(S\) and \(P\) are part of the secret key.

A message \(\mathbf{m}\), which is a vector with Hamming-weight \(t\), is then encrypted by calculating the syndrome \(\mathbf{c} = H_ \textrm{pub}\mathbf{m}\). Now \(\mathbf{c}\) is the corresponding ciphertext. For decryption, the receiver first calculates \(S^{-1} \mathbf{c} = HP\mathbf{m}\) and then recovers \(P\mathbf{m}\) via the efficient decoding algorithm. Eventually \(\mathbf{m}\) is recovered by applying the inverse permutation to \(P\mathbf{m}\).

The Security Foundation

The security of the McEliece scheme relies on two different problems. First, to ensure that only the holder of the secret key is able to efficiently correct \(t\) errors, i.e., is able to decrypt, it must be hard to recover the hidden structure of the matrix \(H\) from \(H_\textrm{pub}\). This problem is known as the key-recovery problem. On the hand, to ensure that a ciphertext hides the message, it must be hard to compute \(\mathbf{m}\) from \(\mathbf{c}\) without knowing the secret key, i.e., when only \(\mathbf{c}\) and \(H_\textrm{pub}\) are known. This problem is known as the message-recovery problem.

In contrast to many other schemes, for McEliece, the two problems of message- and key-recovery are fundamentally different. The problem that determines parameters of the scheme is the message recovery problem. That means algorithms to solve this problem are more efficient than those recovering the secret key. The best algorithms for message recovery in the case of McEliece are generic decoding algorithms, namely Information Set Decoding (ISD) algorithms. These algorithms are generic in the sense that they can be used to decode any random (appearing) code, and they do not exploit any specifics of the binary Goppa code used in McEliece.

For key-recovery the best-known attacks are rather simple, involving brute-force enumeration of parts of the secret key. Their complexity is far higher than those of message recovery attacks.

Challenges and Goals

We provide challenges for both fundamental problems on which the security of McEliece is based.

The far lower bit complexities of message recovery attacks have always set a higher incentive to study those than to study key recovery attacks. Our challenge aims at breaking this trend by providing its own track focusing on key-recovery attacks. This track subdivides into a theoretical (Track 1A) and a practical section (Track 1B). In the theoretical section, we are interested in classical or quantum algorithmic advancements on McEliece key recovery. These works should focus especially on the parameter regime found in secure McEliece instantiations.

Additionally, we provide a practical key recovery track (Track 1B). This track features various reduced-size instances, starting from 20-bit security up to 255-bit security. Algorithms found optimal for solving these reduced instances might differ from the most efficient for cryptographic-sized instances. However, considering the rather limited progress on key-recovery attacks, any advancement is welcome.

The TII McEliece Challenges also features message recovery attacks in its Track Two. This track aims at improving the accuracy of our today’s security understanding to especially support the parameter selection process. Again this track subdivides into a Track 2A and a Track 2B. Track 2A covers instances, which are both in range for standard techniques and for current state-of-the-art algorithms if either enough computational resources are available or smaller algorithmic improvements are leveraged. Our Track 2B then covers instances that are considered to be out of range of current algorithms. This track aims at setting an incentive for algorithmic advancements and their immediate translation to practice.


Note that we focus on the Niederreiter variant, which is also the one used in the Classic McEliece submission.

 

How do I Win?

For the Theoretical Key recovery Track, we are looking for innovative approaches that may move the McEliece system into a leading candidate for post-quantum encryption. 

For the other tracks, find yourself at the top of the leaderboard by solving the most complicated instance in your chosen track!

The submission deadline for Solutions in response to this Challenge can be viewed in the official Challenge Timeline.

 

Submission Requirements

Submissions should consist of the following:

For Theoretical Key Recovery algorithms (Track 1A):

  • Please follow the Springer Lecture Notes in Computer Science (LNCS) Template.
  • You will then submit your paper as a PDF.
    • We will also ask for an abstract of your paper and for some information about the authors/submitters of the paper.

For the Practical Approach and Message Recovery tracks (Tracks 1B, 2A, and 2B), please submit:

  • A submission title and a list of Challenge Team Members, their institutional/organizational affiliations, and their roles.
  • Your solution to the algorithm and recovered key or plaintext
  • Optionally, a write-up on Your Solution. The narrative You provide shall include the following:
    • Please include the algorithm used to generate your keys.
    • Please provide details on the hardware you used to obtain your solution.
    • Please include the runtime based on the hardware you used to obtain your solution.
    • Any other pertinent details, such as:
      • Any novel techniques that you would like to highlight.
      • Descriptions and sources of any open-source data used to aid in development/testing
      • Recommendations for further use of Your solution.

Challenge Timeline

Registration OpensMay 9, 2023
Submission Form OpensMay 23, 2023
Registration and Submission deadlineMay 8, 2024 @ 5:00pm ET
JudgingMay 8 - June 4, 2024
Winners AnnouncedJune 11, 2024

Prize

After the submission deadline, the following four prizes will be awarded to the best-judged submission in the theoretical track and to the competitor/team that has solved the most difficult instance in each of the other tracks. Note that each track will only award one winner, but that the prize level for each winner will be determined by their level on the challenge Leaderboard. In other words, if the highest solved instance belongs to a higher hardness level, the prize will also increase. This challenge was originally launched with only one prize level per track, but additional partial prize levels have now been added to provide the crowd with more opportunities to win!

  1. (1A) Best Theoretical Key Recovery Algorithms - $10,000
  2. (1B) Best Practical Key Recovery Approach - Full prize: $10,000. Partial prize will be awarded according to the graphic above, if the full prize instance levels are not met.
     
  3. (2A) Best Practical Message Recovery of 70-74-bit Encryption - Full prize: $15,000. Partial prize will be awarded according to the graphic above, if the full prize instance levels are not met.
  4. (2B) Best Practical Message Recovery of 80-94-bit Encryption - Full prize: $40,000. Partial prize will be awarded according to the graphic above, if the full prize instance levels are not met.

Judging Criteria for Theoretical Key Recovery Algorithms (Track 1A)

Section DescriptionOverall Weight
NoveltyDoes this approach represent a new method of key recovery?20%
AccuracyDoes this approach solve for S, G, and P?40%
Editorial QualityIs this paper of adequate editorial quality?10%
Scientific QualityDoes this paper contribute to the science of post-quantum cryptography?30%

 

 Please view the Official Rules below in the Challenge-Specific Agreement

Leaderboard
Timeline
Updates23

Challenge Updates

Announcing the Winners of the TII McEliece Challenges

July 19, 2024, 8:16 a.m. PDT by Jamie Elliott

We are excited to announce the winners of the TII McEliece Challenges.

Please visit the recently published Meet the Winners page to see the winners.

Thank you to all who participated and followed!


Thank You for your Submissions

May 8, 2024, 2:01 p.m. PDT by Lulu

And just like that, it’s over! Thank you to all of you who sent in submissions. We can’t wait to finally see what you’ve been working so hard on. The HeroX and TII teams will be taking some time to review the Track 1A submissions and to confirm the results on the challenge leaderboard. Keep up the good work and an eye out for the final results!

Crowdsourcing would be nothing without the crowd — that’s you! Thank you for being an indispensable part of this process, and using your brainpower for the greater good.

Congratulations on completing your submission. This is not an easy process, and you deserve a pat on the back for your hard work and dedication. Thank you!


Eight Hours Left

May 8, 2024, 6 a.m. PDT by Lulu

You now have less than a day left to submit to the TII McEliece Challenges. Now’s the time to make final changes and send it off!

Please remember that the deadline is May 8, 2024 at 5:00pm Eastern Time. We don’t accept any late submissions, so do your best to get it in ahead of time.

We can’t wait to see what you’ve come up with! Best of luck.


Two Day Warning

May 6, 2024, 9 a.m. PDT by Lulu

The time has almost come! You now have two days left to finish your TII McEliece Challenges submissions. Your submissions are due on May 8, 2024 at 5:00pm Eastern Time.

We don’t accept any late submissions, so now is the time to make sure that everything is good to go. Double check file formats and make sure that all of your project components are easily accessible.

We are more than happy to answer your last-minute questions about the submission process. Post a question in the forum or leave a comment on this post, and we will be in touch with you.

We can’t wait to see the final projects. Good luck!


One Week Warning

May 1, 2024, 9 a.m. PDT by Lulu

This is your one week warning! The final submission deadline is May 8, 2024 at 5:00pm Eastern Time (New York/USA). No late submissions will be accepted, so make sure to give yourself plenty of buffer time.

If there’s anything you’re unsure about, there is still time to ask for help. Post on the discussion forum or leave a comment on this post. We’ll keep an eye out for your questions.

We can’t wait to see what you’ve been working on. Best of luck finishing up your submissions!


Forum1
Community
winners
Track 1B - Practical Key Recovery
Track 2A - Message Recovery
Track 1A - Theoretical Key Recovery
Innova Logistique & Fourniture SARL's team Innova Logistique & Fourniture SARL's team
1 team member
Looking for members
以汉 张's team 以汉 张's team
1 team member
Looking for members
Dreamland Dreamland
1 team member
Looking for members
MMN MML's team MMN MML's team
1 team member
Looking for members
Adam karimi Adam karimi
1 team member
Looking for members
Koraichi khalid Koraichi khalid
1 team member
Looking for members
Moussbill89kara's team Moussbill89kara's team
1 team member
Looking for members
Wond Ping's team Wond Ping's team
1 team member
Looking for members
ACHRAF ALIDRISSI ACHRAF ALIDRISSI
1 team member
Looking for members
Chensheng Yu's team Chensheng Yu's team
1 team member
Looking for members
Jiaze Zhang's team Jiaze Zhang's team
1 team member
Looking for members
mossab benchikha111's team mossab benchikha111's team
1 team member
Looking for members
Uchegwuoagwu Omereji's team Uchegwuoagwu Omereji's team
1 team member
Looking for members
Jalil Jalil
1 team member
Looking for members
Mounir Hamdaoui Mounir Hamdaoui
1 team member
Looking for members
Ferkous Khadidja's team Ferkous Khadidja's team
1 team member
Looking for members
anand Jain's team anand Jain's team
1 team member
Looking for members
Kaan Zencirkeser's team Kaan Zencirkeser's team
2 team members
Looking for members
hello hello
1 team member
Looking for members
희목 하's team 희목 하's team
1 team member
Looking for members
Belkacemi Fatima zahra's team Belkacemi Fatima zahra's team
1 team member
Looking for members
Rocco Mora's team Rocco Mora's team
1 team member
Looking for members
Walking weapon Walking weapon
1 team member
Looking for members
Jean-Christophe DENEUVILLE's team Jean-Christophe DENEUVILLE's team
1 team member
Looking for members
TANMAY DHAVALE's team TANMAY DHAVALE's team
1 team member
Looking for members
WEBZ of ANGELZ WEBZ of ANGELZ
2 team members
Looking for members
Press
FAQ
Meet the Winners