Skip to main content
Stack Overflow Jobs powered by Indeed: A job site that puts thousands of tech jobs at your fingertips (U.S. only). Search jobs

What topics can I ask about here?

Crypto Stack Exchange is for software developers, mathematicians and others interested in cryptography.

Cryptography Stack Exchange is for asking questions about the mathematics and properties of cryptographic systems, their analysis ("cryptanalysis") and subsidiary topics that generally make up cryptology, such as random number generation. As such, we welcome questions on topics such as:

  • Asymmetric and symmetric cryptographic algorithms;
  • Cryptographic modes of operation and padding techniques;
  • Cryptographic hash functions and secure hashing;
  • Cryptographic protocols and their message formats;
  • Cryptographic techniques in transport security (such as TLS);
  • Key establishment and key derivation;
  • Cryptanalysis, including quantum-cryptanalysis;
  • Cryptographic proofs;
  • Cryptographically secure (pseudo-)random number generation and entropy;
  • Post-quantum cryptography;
  • Cryptographic terms and definitions.

Do we accept basic level/homework questions?

Yes, we do. However, please provide an indication of what you are not understanding / need clarification on and your attempts at solving it, so we have a clear indication of where you are stuck. This goes for all questions, not just homework. If you have just written out your assignment, your question will be closed. You might want to read this article and this article on writing the perfect question. Also be warned that you are most likely to only receive hints and not straight full answers.

Do we accept questions asking for reading / study material suggestions?

Not really. See this discussion for how to handle such a request.

Do we accept questions asking for cryptanalysis of your cipher (hash function, ...) design?

No, we do not. If you want peer review of your full cryptographic scheme, here is not the place to acquire it. However, you might like to break your problem down into specifics, such as "under these conditions, does structure X have desired security property Y?" which would be a perfect fit for us.

Can I get data analysed here? Can I challenge people to decode something?

No. Such questions are not considered helpful.

I'm confused as to where my question belongs; there are so many sites!

There are lots of places in the Stack Exchange network to ask your question. We can provide you with the following recommendations. If you're still unsure if you should ask on Cryptography, then feel welcome to ask in our chat or on our meta site.

  • If your question is about using a cryptographic library or programming interface then you should ask it on Stack Overflow. You should also use StackOverflow if you are stuck implementing or testing a cryptographic algorithm or protocol. By exception, it is allowed to ask questions on this site about side channels and their countermeasures. Using a minimal amount of code to illustrate an algorithm you have a theoretical question about is fine, a good indicator for that case being that you could have written that code in any language to bring the point across. Further discussion about code in questions can be found on our Meta Site.
  • If you are looking for a review of your code and not of your abstract algorithm, then Code Review is the site to go for, though the side-channel exception still applies. Note that Code Review requires working code and doesn't allow questions about the intended operation.
  • If your question is about mathematics generally, without any cryptographic element, you'll get an excellent answer on Mathematics.
  • If your question is about cryptographic policy within your organization, implementation and practical usage considerations (such as practical key management), you probably are looking for Information Security or Software Recommendations.
  • If your question is about usage of a specific cryptographic software (not its cryptographic internals), Super User is the right site.
  • If your question involves large amounts of research and a lot of computer science, you might find CS Theory an appropriate place to ask. Please bear in mind their FAQ and policy on non-research level questions.
  • If it is too basic for CS Theory and about non-cryptographic constructions similar to those used in cryptographic, e.g. a non-cryptographic hash function, then Computer Science or Mathematics might be the right places.
  • If your question is looking for software and/or programming library recommendations, you should post it at Software Recommendations.
  • Questions about cryptographic mechanisms of blockchain-related technologies are on topic on this site. However, if your question is about a specific cryptocurrency or blockchain then please prefer sites such as Bitcoin, Ethereum, or other more specialized resources. Specialized sites will generally offer better answers than the Cryptography site. Questions about the use of cryptocurrency, economic aspects of cryptocurrency or lost wallets are off topic on Cryptography.

In all cases please make sure to browse the other sites' previously asked questions and their tags to get a good indicator that your question is on-topic there.

I'm still stuck between Information Security.SE and Crypto.SE.

There are some questions which apply to both security.SE and crypto.SE, but will (should) receive different answers. For instance, if you ask about whether SHA-1 is appropriate for hashing passwords, the crypto.SE response will detail things about relevance of collisions and differentials and the Merkle-Damgard construction to the problem of hashing passwords; while the security.SE response will rather courteously but firmly insist on using bcrypt or PBKDF2.

The rule of thumb, here, being that you should post to crypto.SE if you want to understand the internals, and to security.SE if you want to know what you should do now.

Please look around to see if your question has been asked before. It’s also OK to ask and answer your own question.

If no site currently exists that will accept your question, you may commit to or propose a new site at Area 51, the place where new Stack Exchange communities are democratically created.

For more help, see "What types of questions should I avoid asking?"