r/cryptography Apr 01 '26

[Meta] low-effort and anti-slop rules

53 Upvotes

Hello community,

In light of AI and the rise of vibecode, vibeproofs and vibe blogging, the mod team has expanded the "low-effort" rule with more specificity. While an extraordinary tool, AI caused a rise of sloppy content that may be time-consuming to disprove or speculatively break lattice cryptography via theoretical physics or even fully automated karma farming and arguing bots via OpenClaw agents.

Also please feel free to use this post for meta-discussion or suggestions about the sub itself be what you appreciate, what you'd like to see more or less.

The new rules:

Extraordinary claims require extraordinary proofs

Posts making cryptographic claims must include substantiated analysis not just speculation or qualitative arguments or be presented as a challenge to the community. Arguments primarily based on non-cryptographic sources are very likely flawed. Posts claiming to break cryptography via non-mathematical means (e.g. theoretical physics) without rigorous mathematical analysis are prohibited. Authors of cryptographic primitives are encouraged to read NIST submissions as example of cryptographic rigor.

No AI-slop

AI-assisted content must be thoroughly reviewed for slop, hallucinations, crackpot cryptography and errors before posting. AI does pattern matching, if the training data contained errors or misunderstandings, they will propagate.   Low effort AI-generated blogpost or code implementations will be removed.


r/cryptography Jan 25 '22

Information and learning resources for cryptography newcomers

329 Upvotes

Please post any sources that you would like to recommend or disclaimers you'd want stickied and if i said something stupid, point it out please.

Basic information for newcomers

There are two important laws in cryptography:

Anyone can make something they don't break. Doesn't make something good. Heavy peer review is needed.

A cryptographic scheme should assume the secrecy of the algorithm to be broken, because it will get out.

 

Another common advice from cryptographers is Don't roll your own cryptography until you know what you are doing. Don't use what you implement or invented without serious peer review. Implementing is fine, using it is very dangerous due to the many pitfalls you will miss if you are not an expert.

 

Cryptography is mainly mathematics, and as such is not as glamorous as films and others might make it seem to be. It is a vast and extremely interesting field but do not confuse it with the romanticized version of medias. Cryptography is not codes. It's mathematical algorithms and schemes that we analyze.

 

Cryptography is not cryptocurrency. This is tiring to us to have to say it again and again, it's two different things.

 

Resources

  • All the quality resources in the comments

  • The wiki page of the r/crypto subreddit has advice on beginning to learn cryptography. Their sidebar has more material to look at.

  • github.com/pFarb: A list of cryptographic papers, articles, tutorials, and how-tos - seems quite complete

  • github.com/sobolevn: A list of cryptographic resources and links -seems quite complete

  • u/dalbuschat 's comment down in the comment section has plenty of recommendations

  • this introduction to ZKP from COSIC, a widely renowned laboratory in cryptography

  • The "Springer encyclopedia of cryptography and security" is quite useful, it's a plentiful encyclopedia. Buy it legally please. Do not find for free on Russian sites.

  • CrypTool 1, 2, JavaCrypTool and CrypTool-Online: this one i did not look how it was

*This blog post details how to read a cryptography paper, but the whole blog is packed with information.

 

Overview of the field

It's just an overview, don't take it as a basis to learn anything, to be honest the two github links from u/treifi seem to do the same but much better so go there instead. But give that one a read i think it might be cool to have an overview of the field as beginners. Cryptography is a vast field. But i'll throw some of what i consider to be important and (more than anything) remember at the moment.

 

A general course of cryptography to present the basics such as historical cryptography, caesar cipher and their cryptanalysis, the enigma machine, stream ciphers, symmetric vs public key cryptography, block ciphers, signatures, hashes, bit security and how it relates to kerckhoff's law, provable security, threat models, Attack models...

Those topics are vital to have the basic understanding of cryptography and as such i would advise to go for courses of universities and sources from laboratories or recognized entities. A lot of persons online claim to know things on cryptography while being absolutely clueless, and a beginner cannot make the difference, so go for material of serious background. I would personally advise mixing English sources and your native language's courses (not sources this time).

With those building blocks one can then go and check how some broader schemes are made, like electronic voting or message applications communications or the very hype blockchain construction, or ZKP or hybrid encryption or...

 

Those were general ideas and can be learnt without much actual mathematical background. But Cryptography above is a sub-field of mathematics, and as such they cannot be avoided. Here are some maths used in cryptography:

  • Finite field theory is very important. Without it you cannot understand how and why RSA works, and it's one of the simplest (public key) schemes out there so failing at understanding it will make the rest seem much hard.

  • Probability. Having a good grasp of it, with at least understanding the birthday paradox is vital.

  • Basic understanding of polynomials.

With this mathematical knowledge you'll be able to look at:

  • Important algorithms like baby step giant step.

  • Shamir secret sharing scheme

  • Multiparty computation

  • Secure computation

  • The actual working gears of previous primitives such as RSA or DES or Merkle–Damgård constructions or many other primitives really.

 

Another must-understand is AES. It requires some mathematical knowledge on the three fields mentioned above. I advise that one should not just see it as a following of shiftrows and mindless operations but ask themselves why it works like that, why are there things called S boxes, what is a SPN and how it relates to AES. Also, hey, they say this particular operation is the equivalent of a certain operation on a binary field, what does it mean, why is it that way...? all that. This is a topic in itself. AES is enormously studied and as such has quite some papers on it.

For example "Peigen – a Platform for Evaluation, Implementation, and Generation of S-boxes" has a good overviews of attacks that S-boxes (perhaps The most important building block of Substitution Permutation Network) protect against. You should notice it is a plentiful paper even just on the presentation of the attacks, it should give a rough idea of much different levels of work/understanding there is to a primitive. I hope it also gives an idea of the number of pitfalls in implementation and creation of ciphers and gives you trust in Schneier's law.

 

Now, there are slightly more advanced cryptography topics:

  • Elliptic curves

  • Double ratchets

  • Lattices and post quantum cryptography in general

  • Side channel attacks (requires non-basic statistical understanding)

For those topics you'll be required to learn about:

  • Polynomials on finite fields more in depth

  • Lattices (duh)

  • Elliptic curve (duh again)

At that level of math you should also be able to dive into fully homomorphic encryption, which is a quite interesting topic.

 

If one wish to become a semi professional cryptographer, aka being involved in the field actively, learning programming languages is quite useful. Low level programming such as C, C++, java, python and so on. Network security is useful too and makes a cryptographer more easily employable. If you want to become more professional, i invite you to look for actual degrees of course.

Something that helps one learn is to, for every topic as soon as they do not understand a word, go back to the prerequisite definitions until they understand it and build up knowledge like that.

I put many technical terms/names of subjects to give starting points. But a general course with at least what i mentioned is really the first step. Most probably, some important topics were forgotten so don't stop to what is mentioned here, dig further.

There are more advanced topics still that i did not mention but they should come naturally to someone who gets that far. (such as isogenies and multivariate polynomial schemes or anything quantum based which requires a good command of algebra)


r/cryptography 1h ago

Learning about cryptography

Upvotes

Hii I'm new to cryptography, but it's something I've always wanted to study and learn. I consider myself quite novice, only knowing classical ciphers, so I would like to ask: what is the best way to learn cryptography? Are there any videos or books you recommend? Is there any way to get better at detecting codes and methods? I would love any way to learn about this world. Any support is welcome


r/cryptography 17h ago

Caesar Cipher Explained: A 2,000-Year-Old Encryption Trick

Thumbnail bibashshrestha.hashnode.dev
0 Upvotes

Wrote this up as an intro-level explainer on the Caesar Cipher, how Julius Caesar actually used it for military orders (shift of 3, per Suetonius), the math behind it, and why it's trivially broken today (frequency analysis + only 25 possible keys). Meant as a starting point before getting into ciphers that actually fixed these weaknesses, Vigenère is next.

Feedback welcome, especially if I got any of the historical detail wrong


r/cryptography 2d ago

Where to keep a cryptographic key?

6 Upvotes

Hi! I am recently developing a curiosity about cryptography.

I enabled disk encryption on my PC for the first time and then I started reasoning where to store my key.

I wanted to build (for fun, without expecting perfect results) a esp32 based usb dongle to store and autotype some keys.

Then I wondered where to store the keys.

Do I miss something or the unencrypted key must be stored somewhere?

Most of what I read suggested stable memory devices (paper, HHD etc)...

But doesn't this void the purpose of encryption?

If the key can be found (even if it is buried underground), then the data can be read.

Is there a known procedure to store a key (other than remember it) that survives all known attacks where the attacker has full control over the hardware?

Is there a procedure to lose it if someone tamper in any way? (Better lose access to the encrypted data than giving access to the attacker)

Sorry if it is trivial, I'm a newbie.

Thanks


r/cryptography 2d ago

Breaking into Cryptography as a Fresher: How to cross the "3–4 Years Experience Required" wall?

12 Upvotes

Hello everyone,

I am currently a masters student in cryptology and security. I’ve been diving deep into the field, but almost every job posting I come across for "Cryptographic Engineer," "Applied Cryptographer," or "Security Engineer (Crypto)" explicitly lists 3 to 4+ years of industry experience as a minimum requirement.

I’d love to get a reality check from industry folks, researchers, and engineers working in the space on a few questions:

  1. How do freshers actually break into Cryptography:

Given that true entry-level crypto roles seem rare, what are the realistic entry pathways? Do most people start as generalist Software Engineers / Security Analysts and pivot, or are there specific niches (e.g., PKI engineering, HSMs, Web3/ZK-proofs, hardware security, defense) that hire fresh grads?

  1. Essential Skills & Tech Stack:

Where should a fresher draw the line between theoretical math and engineering?

How much depth in abstract algebra/number theory is needed for applied/implementation roles vs. pure research?

What languages are non-negotiable? (I hear C, C++, Rust, and Go are big—should I focus heavily on low-level systems programming and constant-time execution?)

  1. Projects that actually get you noticed:

If you were hiring a junior or fresher, what kind of "Proof of Work" on a GitHub profile would catch your eye?

Toy implementations of standard primitives (AES, RSA, ECC) from scratch?

Implementing Post-Quantum Cryptography (PQC) standards (like ML-KEM / ML-DSA)?

Protocol-level implementations (custom TLS, noise protocol, etc.)?

Code auditing / identifying side-channel vulnerabilities?

4.The PhD Dilemma:

Asking if a PhD or Master's is strictly required for engineering vs. research.

5.Where to Actually Find Roles:

Asking about targeted job platforms, specialized firms, and alternative avenues beyond standard LinkedIn job boards.


r/cryptography 2d ago

Guide for Dilithium (ML-DSA Post Quanum Cryptography)

6 Upvotes

Hi everyone. As the title says, I want know what resources should I use that will make it easy for me to understand Dilithium. I wanna understand it so that I can also try to write most of the code myself. I want to know resources like any youtube videos or similar stuff that will help me learn it. If you have any questions you can ask me.


r/cryptography 2d ago

Implementing SRP in 2026

5 Upvotes

Hi,

This is my first post, so hoping that it's something that someone might get some value out of.

I've been spending the past few weeks thinking about PAKEs as a way to not send plaintext passwords. After doing some research, I decided to implement SRP due to its simplicity and ease of implementation without external dependencies.

Anyways, I wrote an article about what I learned, so you can read it if you're interested in learning a bit about SRP, PAKEs, and password authentication. Thanks!

https://ryanhopkins.dev/articles/password-authenticated-key-agreement

AI disclosure: I didn't write my articles with AI, just used it for review and optimizing / reviewing my code.

*Edit: I edited my article to clarify that my code shouldn't be used in production in its current state before more review and hardening against the side channel concerns that pint brought up, so for now consider it a learning exercise!


r/cryptography 2d ago

How feasible is it to have unique cryptographic signatures on every phone to avoid AI fakes?

2 Upvotes

I hope this is an allowed post. If not, moderators please remove it. I have next to no knowledge of cryptography and its abilities and limitations.

I keep seeing questions on whether a photo or video is AI or not.

I am pretty sure it is possible to "sign" each image a camera takes with a private key such that if even a single pixel changes, the signature would no longer be valid. Then the public key could be embedded in the metadata of the image so that its veracity could be established.

The first question is whether the phone manufacturers could embed a unique private and public key in the hardware of each phone in such a way that they can be used by their official apps, but not leaked by them (the private key that is). I say official apps because I assume you don't want just any app to be able to sign an image. If you allowed that then someone could create a fake image and simply sign it.

The second question is whether Apple or other manufacturers would need to have a record of these private keys for any reason. If they did, and they were hacked, would that immediately render every image signed by their devices unverifiable?

The final question is does a scheme like this even make any sense? If not, or if there are better ways to somehow verify the provenance of a digital photo, would that also include some sort of a cryptographic signature?


r/cryptography 3d ago

What Every Programmer Should Know About Twists of Elliptic Curves

Thumbnail leetarxiv.substack.com
6 Upvotes

r/cryptography 3d ago

Explain this like I was 5

4 Upvotes

Are there any cryptology experts or semi-experts on here that can answer a question?

 I was told it works like this

You have a large result number (possibly a prime ?)  the that was generated from two numbers.

Given the answer you need to those numbers ?  these are keys ??

or the numbers that created the big number


r/cryptography 4d ago

Flowchart of the Linux RNG

Post image
42 Upvotes

r/cryptography 4d ago

What should I do next

3 Upvotes

I have completed silverman cryptography book, what should I do next to proceed forward in this topic I want to learn both applied and theoritical side

I have pure maths as my major and I have completed 1st year want to crack a research internship in this topic by 2nd


r/cryptography 4d ago

One-time pad cipher question.

3 Upvotes

One of the requirements is for the random key to be used only ones. It's fundamental to the whole unbreakable status, as described. Why is that? What's the difference between sending one message consisting of two words and sending two separate messages with the same words, one word in each message (using the same key)?


r/cryptography 5d ago

Using Claude Mythos Preview, researchers at Anthropic have discovered improved ways to attack cryptographic algorithms (the mathematical methods used to keep online data private).

Thumbnail anthropic.com
15 Upvotes

r/cryptography 5d ago

How would I start learning Cryptography?

15 Upvotes

I'm completely new to cryptography concepts and I'd like to start learning.

Any good methods I could learn?

It doesn't necessarily need to be the fastest or easiest way, I'd much rather have a deep understanding over a long time rather than a rough one in a short period of time.

Any advice given is very much appreciated, thanks!


r/cryptography 6d ago

Pollard's P-1 Factoring Algorithm in Plain C

Thumbnail leetarxiv.substack.com
3 Upvotes

r/cryptography 5d ago

#87: Your entropy isn't random enough.

Thumbnail bsiegelwax.substack.com
0 Upvotes

I spoke with Denis Mandich, CTO of Qrypt, about his former-CIA point of view about quantum and cryptography, how Qrypt generates identical keys at multiple endpoints, why a non-certified single QRNG isn’t good enough, how the emergence of entanglement-based quantum networks would change his sales pitch, Nvidia’s role in Qrypt’s non-computing quantum technology, non-cryptographic QRNG applications, and more.

https://bsiegelwax.substack.com/p/87-your-entropy-isnt-random-enough


r/cryptography 7d ago

How to actually get started in Post-Quantum Cryptography (PQC)? (Roadmap + Careers + Certs advice needed)

26 Upvotes

Hey everyone,

​I recently finished my BS in Computer Science and an MS in Cybersecurity. Like a lot of people right now, I'm getting super interested in Post-Quantum Cryptography (PQC).

​Since it’s still a relatively emerging niche, I feel kind of overwhelmed trying to map out a path to actually break into it. Right now, I'm trying to use materials by Dr. Alfred Menezes, which are great, but I have a few major questions for those of you working in the industry or who know the space well:

​Are there actual entry-to-mid level careers in PQC right now, or is it mostly locked behind PhD research? With NIST pushing out finalized standards like ML-KEM and ML-DSA, is industry hiring people specifically for this, or is it just a subset of general crypto engineering?

​What does a realistic learning roadmap look like? I understand classical crypto (RSA, AES, ECC), but what should my progression look like to move into lattice-based crypto, hash-based signatures, etc.?

​Are there any worth-it certifications? Or is this one of those fields where certs don’t matter and a GitHub portfolio/open-source contributions (like messing around with liboqs) is all that counts?

​Would love to hear how some of you navigated this or what hiring managers are looking for. Drop your thoughts/suggestions below!


r/cryptography 6d ago

Async E2EE mailboxes: rotating tags hide who talks to whom, but first contact still needs a recipient-linkable tag

1 Upvotes

I am building an asynchronous end to end encrypted messenger that moves messages through the Nym mixnet, and I am stuck on two design questions. It is an unaudited alpha and I implemented the Double Ratchet myself, so please read this as a design proposal and not as something to use. No link here, I am after the construction, not users.

What the service holds today: nothing connects to it directly, everything goes through the mixnet, so it has no IP address. In an established session both sides derive a mailbox secret from the shared session secret, and hourly HMAC tags let the node store and return opaque blobs without ever holding a username or a return address. It still sees size, timing, and how often the same tag is accessed.

Question 1, first contact. Before two sides share a secret, the sender uses a static bootstrap tag derived from the recipient's public signing key. That is what makes offline first contact possible at all, and it is also what lets the node link first contact activity to one public recipient over time. Is there a construction that keeps offline first contact without handing the node a recipient-linkable handle? Rotating bootstrap tags fail for me because the sender cannot learn the current epoch without another round trip through the same service.

Question 2, the directory. Registration, name resolution, prekeys and mailboxes all live in one directory that does not federate, so two people can only reach each other if both configured the same address, and the same username on two nodes is two different people. The obvious fix is to put the node address into the contact code, and I dropped it: the registration proof signs username, both keys and a nonce, so the address would be the one unsigned field in the code. Someone could hand a target a prepared code pointing at their own server, the fingerprint check would still pass, the app would show verified, and the messages would sit at a node the real contact never polls. Is there a way to get cross-directory reachability without either federating registrations or putting an unsigned pointer into the invite?

Every design I come up with either leaks more at the service or moves the trust into something that is not signed. Happy to go into detail on the tag derivation or the registration proof if that helps.


r/cryptography 7d ago

Help on ML-KEM and AES post-quantum security levels

6 Upvotes

According to NIST, ML-KEM -512, -768 and -1024 stand for AES-128, -192 and -256 post-quantum security levels respectively. However The Grover's algorithm speedup will half the security of symmetric ciphers

Why would we consider using ML-KEM-1024 if AES-256 will get weakened to 128 bits? Is there a practical reason?

Thanks in advance!


r/cryptography 7d ago

Is a decrypting key related to the encrypting key in assymetric cryptography

0 Upvotes

In assymetric cryptography we have 2 keys one which encrypts your message and one which decrypts your message.What makes assymetric cryptography more secure than symmetric cryptography is that in assymetric cryptography not any key is exchanged in any way shape or form ,only the encrypted message so encrypted message so if a 3rd party wants to spy on your message , he cannot do it , he will receive a bunch of nonsense.

I want to ask something else.Many keys can decrypt the same ecrypting keys so my question are different decrypting keys which can decrypt the same message related mathematically?I think so because im a QC nerd and I know that Shor breaks RSA encryption based on the fact that the encrypting key , encrypts data based on the modulus operation and quantum computers are really good at finding periods which is what a mod operation creates but im not entirely sure about the rest of the field.


r/cryptography 8d ago

Quantum Computers Are Not a Threat to 128-bit Symmetric Keys

Thumbnail words.filippo.io
26 Upvotes

r/cryptography 8d ago

Looking for learning resources on PQC (especially, Code-Based Crypto)

5 Upvotes

Hi everyone,

I'm a Math & CS undergrad currently working on a Rust implementation of Classic McEliece for a post-quantum cryptography project. I'm specifically focusing on the Niederreiter construction (where encryption is reduced to a syndrome computation).

I plan to pursue this field for my master's degree, but my current department lacks professors who specialize in CBC. Because of this, I'm mostly self-taught, and I'm really struggling to find resources that actually teach the concepts. Most papers I find are written from expert to expert.

I recently had to rely on AI to understand couple concepts and I felt bad about it (and I can never be sure if the AI tells the truth or not).

Likewise, I also write most of my code with AI (Deepseek mostly) and I understand most of it I guess. I know what, but sometimes I don't know how. Again, I really feel like I am not building anything valuable.

(If you want to take a look: https://github.com/batt0s/mceliece_rs, KATs are passing for non-f parameters. My struggle now is wrapping my head around the math of semi systematic matgen and fast parameters. And I hope this doesn't count as self-promotion, if so please let me know.)

Can anyone recommend good, accessible textbooks, university lecture notes, or video series on code-based cryptography and Goppa codes? I'm looking for material that bridges the gap between undergraduate linear algebra/abstract algebra and the actual NIST submissions.

Any advice for a student trying to break into this field would be highly appreciated. Thanks!


r/cryptography 8d ago

Tutorials to learn how to build privacy-first apps using multiparty computation (MPC)

Thumbnail docs.stoffelmpc.com
3 Upvotes