mceliece(1)
π¦ mceliece(1) β the manual page, bestie edition β¨
okay so you opened man 1 mceliece and now you're here, and honestly? you're in the right place. this is the command-line side of libmceliece, from the General Commands Manual, section 1 (that's the "commands you actually type" section, not the library-nerd one π
).
π NAME
mceliece β command-line interface for the libmceliece implementation of the Classic McEliece cryptosystem
πΈ SYNOPSIS
Key generation (for, e.g., mceliece6960119):
mceliece6960119-keypair 5>publickey 9>secretkey
Encapsulation (for, e.g., mceliece6960119):
mceliece6960119-enc >ciphertext 7>sessionkey 4<publickey
Decapsulation (for, e.g., mceliece6960119):
mceliece6960119-dec 7>sessionkey <ciphertext 8<secretkey
β¨ DESCRIPTION β¨
libmceliece is an implementation of the Classic McEliece cryptosystem. literally iconic. and the command-line interface for libmceliece hands you these tools:
mceliece{6960119,6688128,8192128,460896,348864}-keypair
mceliece{6960119,6688128,8192128,460896,348864}f-keypair
mceliece{6960119,6688128,8192128,460896,348864}-enc
mceliece{6960119,6688128,8192128,460896,348864}-dec
yes bestie, that's sixty-one characters of brace expansion energy. every one of those tools exits 0 on success, nonzero on failure β that's the whole contract, no cap.
so why do these exist? because they let libmceliece be used super easily from shell scripts. π«Ά
and the tea on other languages: they can also use libmceliece through these tools, but ngl, most languages have really good FFI support and can just use the C interface directly. so like⦠do that instead if you're not in a shell. no shade, it's just facts.
the details below use mceliece6960119 as the example. keep that in mind, because every single time you see it, there are five other parameter sets doing the exact same dance.
π KEY GENERATION
Alice runs the mceliece6960119-keypair command. this command randomly generates Alice's secret key and Alice's corresponding public key. then it:
- writes the public key to file descriptor
5 - writes the secret key to file descriptor
9
that order, those numbers, periodt. β¨
now, the mceliece6960119f-keypair command is internally more complicated than the mceliece6960119-keypair command, but it provides faster key generation. and the plot twist? the commands are interoperable. so you can swap them and nothing breaks. π
π₯ ENCAPSULATION
Bob runs the mceliece6960119-enc command. here's the vibe:
- it reads Alice's public key from file descriptor
4 - it randomly generates a ciphertext and the corresponding session key
- it writes the ciphertext to stdout
- and then it writes the session key to file descriptor
7
that "and then" is doing real work, bestie β order matters, don't shuffle it. π
π DECAPSULATION
Alice runs the mceliece6960119-dec command. watch the moves:
- it reads Alice's secret key from file descriptor
8 - and then it reads a ciphertext from stdin
- it computes the corresponding session key
- which it writes to file descriptor
7
session key in, session key out. the circle of life. π
π SEE ALSO
π friendly reminder that every tool exits 0 on success and nonzero on failure β check that status, don't just assume it ate. your shell scripts will thank you.
that's the whole page, gorgeous. this was mceliece(1) from the General Commands Manual, part of libmceliece β go forth, encapsulate responsibly, and remember: file descriptors 4, 5, 7, 8, and 9 are your besties now. mwah. ππ¦β¨
π¦ where this page comes from
- ubuntu stonking: mceliece 0~20260622-1 Β· LicenseRef-PD-hp OR CC0-1.0 OR 0BSD OR MIT-0 OR MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms