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 protocols
  • Cryptanalysis techniques
  • Cryptographic hash functions, cryptographically secure hashing
  • Cryptography- and/or cryptanalysis-related Entropy and information theory
  • Cryptographically Secure (Pseudo-)Random Number Generation

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.

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 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; don't worry too much about getting it wrong, because it can always be migrated to the right place. That said, it is useful to provide a general guide here:

  • If your question is about a cryptographic library (e.g. Crypto++, OpenSSL etc) and using it in your application, you probably need Stack Overflow. The same applies when you are working with non-library code and want to debug / write it, with the sole exception of side-channels and their counter-measures which are on-topic here. Using 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 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 organisation, implementation and practical usage considerations, you probably are looking for Security.
  • 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 your question is looking for software and/or programming library recommendations, you should post it at Software Recommendations.
  • If your question is asking specifically about a specific cryptocurrency with its own site like Ethereum, Monero, Iota, Stellar or Augur, you should post it at Ethereum, Monero, Iota, Stellar or Augur.
  • If your question is asking specifically about Bitcoin you should post it at Bitcoin.

I'm still stuck between 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?"