menu

Technology Innovation Institute

 93,886

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:
Judging
prize:
$75,000

This challenge is closed

more
Summary
Leaderboard
Timeline
Updates22
Forum1
Community
Press
FAQ
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
Updates22

Challenge Updates

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!


Two Week Warning

April 24, 2024, 9 a.m. PDT by Lulu

This is your official reminder that you have two weeks left to submit your TII McEliece Challenges solution!

Please remember that we don’t accept any late submissions. It’s a good idea to get 75% of your project done a full week before it’s due to allow time for troubleshooting.

Now is also the time to ask questions and seek help. To ask a question, post on the discussion forum or comment directly on this post. We’re looking forward to hearing from you!

Best of luck in the final stages of your project.


Forum1
Community
Press
FAQ

Frequently Asked Questions

Yes, but it’s quick and easy. Just click the “Solve this Challenge” button on this page and follow the instructions to complete your registration. All you need to provide is your name and email address.

If you have a question not answered in the FAQ, we recommend that you post it in the Forum where someone will respond to you. This way, others who may have the same question will be able to see it.

  • The purpose of the TII McEliece Challenges is to enhance our understanding of the hardness of the problems that underpin the security of modern versions of the McEliece Cryptosystems, such as Classic McEliece.
  • The challenge is divided into two main tracks:
    • Track One focuses on McEliece key recovery attacks, i.e., recovering the secret key from a given public key. This track is further divided into two sections: Track 1A (Theoretical Key Recovery) and Track 1B (Practical Key Recovery).
    • Track Two is the Message Recovery Challenge. It is also divided into two sections: Track 2A (Practical Message Recovery with bit-complexity 70-74) and Track 2B (Practical Message Recovery with bit-complexity 80-90).
  • Track 1A (Theoretical Key Recovery): $10,000
  • Track 1B (Practical Key Recovery): $10,000
  • Track 2A (Practical Message Recovery - 70-74 bits): $15,000
  • Track 2B (Practical Message Recovery - 80-90 bits): $40,000
  • To view a particular instance of this challenge, visit the Hall of Fame / Leaderboard tab. Here you can view the leaderboards for tracks 1B, 2A, and 2B. By clicking on the numbers in the Instance column, you can view the cryptographic information you need to submit.
  • Yes, you may submit your track 1A paper simultaneously to any other conference or venue.
  • Once you submit your solution to your chosen track and instance level, it should be automatically checked for accuracy and then the result will be sent to your notifications dropdown in the top right corner of the webpage. 
  • If your submission is the first correct submission to that instance level, your profile’s name will be added to the leaderboard at that level. Note that the additional information section in your correct submission will also be visible to the public from the leaderboard page.
  • You may submit to the challenge as many times as you like, and if your submission is reviewed as incorrect you may submit again by either starting an entire new submission or by re-editing a prior submission and then submitting it again. We recommend that you use the later strategy as it will help you to keep your submissions organized. You can view and re-edit any of your submissions before the submission deadline by clicking the blue “My Entries” button.
  • Yes, you may delete your submission by viewing your current submissions, re-editing the submission in question, and then once in the editor you can scroll to the bottom where a red button will appear to delete your submission. If you have any issues with this, you may contact gethelp@herox.com or privately message one of the HeroX moderators.
  • Yes you may win a prize from more than one track if your submissions are deemed correct and eligible.
  • For full information on challenge eligibility and rules, please read the Challenge-Specific Agreement which is linked at the bottom of the Overview tab on the HeroX challenge page. This agreement will also pop up when you sign up for the challenge.
  • The leaderboard will be automatically populated with the information of the first user/team to correctly solve a particular instance. Other users and team may continue to submit to instances that have already been solved, in order to test  your solutions, but the leaderboard will not be updated with your information unless you are the first user/team to solve it correctly.
  • The McEliece scheme is a code-based scheme that is based on the hardness of decoding specific linear codes. The private key is a structured parity-check matrix of a linear code, while the public key is a permuted and scrambled version of this matrix.
  • Despite significant cryptanalytic efforts, the McEliece cryptosystem remains a secure scheme since its invention in 1978. Furthermore, it is considered post-quantum secure, i.e., there are no known efficient quantum algorithms that solve the underlying hard problems. This 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.
  • The McEliece cryptosystem is a public-key cryptosystem that is based on the theory of error-correcting codes, particularly, Goppa codes. Here's a basic explanation of how it works:

1. *Key Generation*: The private key is an error-correcting code (specifically a Goppa code), which can correct errors up to a certain limit. A Goppa code is defined by a generating matrix G, which is kept as a private key. The corresponding public key is a scrambled version of G, let's call it G’. The scrambling involves random invertible matrices S and P, such that the public key G’ is obtained as G’ = SGP.

2. *Encryption*: To encrypt a message m, the sender first encodes it as a codeword c using the public key G’, by the multiplication c = mG’. Then, the sender intentionally introduces errors into this codeword (not exceeding the error correction capability of the code). The resulting vector e is the ciphertext.

3. *Decryption*: The receiver gets the ciphertext e and unscrambles it using the private key G. Then, the receiver applies the error-correction capability of the Goppa code to correct the intentional errors and retrieve the original message m.

The beauty of the McEliece system lies in its asymmetry - scrambling a code (and introducing errors) is computationally easy, but unscrambling it (and correcting the errors) is computationally hard, unless you know the secret Goppa code. It's also worth noting that as of my knowledge cutoff in September 2021, the McEliece cryptosystem is one of the candidates for post-quantum cryptography, because no efficient quantum algorithm is known for breaking it.

Not necessarily. The reduced-sized instances do not follow the same parameter selection criteria that secure McEliece instantiations use. This is a result of the down-scaling of the parameters to obtain instances, which based on our current security understanding, are approachable in practice. The different parameters might allow for efficient approaches that are not applicable to cryptographic-sized McEliece parameters. Therefore, the impact on secure McEliece instantiations stemming from attack improvements on reduced-size instances has to be evaluated on a case-by-case basis.