Edit: just found this question from 2014: Decryption of ciphertext. This is essentially an updated version of that question with more data and a request for clarification since there is nothing in the help center specifically about this.

Many of the unanswered questions here are about decoding checksums/CRCs, identifying compression/packing/obfuscation/encryption, decoding file formats etc but I wanted to focus specifically on encryption.

A noticeable proportion of these questions involve presenting either a sample of data or a file alleged to be encrypted in some way with a request for assistance in either identifying the encryption or decrypting it or both. In essence, they are requests for ciphertext analysis.

To be more clear, these questions typically do not include the following information:

  • identification of the routines or processes involved in generating / encrypting the ciphertext / file
  • what application receives the data as input / what processes access the encrypted file
  • multiple samples created with different keys
  • compression, encoding, encryption libraries present within the system

In other words, a hypothesis is presented in the hope that someone else tests it while at the same withholding information that would arguably be essential to such an endeavor.

Here are some examples:

Reversal of unknown obfuscation or encryption with known plaintext

Reverse Engineering Android binary file

Decrypting/Decoding encrypted/encoded data

How to decrypt this file?

encrypted awkward PNGs

File reverse engineering - .tbl format

There are plenty of questions like this involving compression and checksums as well but I wanted to focus on encryption specifically because a similar issue was addressed on crypto.SE:

Do we want “challenge”/analyse-this questions and if so what constraints, if any, should we put on them?

Excerpt from the accepted answer:

I think any question of the form “here's a bunch of bytes, how do I break them” should be summarily closed. This blanket ban could be mentioned in the FAQ.

From the crypto.SE Help Center: No

Edit: For comparison purposes, here are examples of questions involving problems with encryption in which enough information was provided to arrive at an answer (note: some did not initially provide enough information to be solvable and more information had to be requested):

Having keys and binary, how do I reverse/decrypt a stream encryption?

Help deciphering binary that creates 3 passwords

How can I determine if a piece of code is an encryption algorithm?

Identify a decryption scheme

Argument: RE != cryptanalysis

One does not need to be a pro to know that encryption of "malware" is a major issue in analysis. Additionally, vulnerability analysis of software (IoT device firmware, for example) can be complicated by encryption. Many more examples can be given. Clearly then dealing with encryption can be significant component in the process reverse engineering software/a system of interest. However, reverse engineering is not synonymous with cryptanalysis. "Reverse engineering" should not imply "reverse engineering how a supposedly encrypted binary blob is encrypted by looking at the ciphertext and nothing else". Currently some conflate the two.

Request: clarification

Should all manner of "reverse this encrypted data" / "analyze this ciphertext" questions be considered "on topic"? If not, what criteria should a question involving encrypted data meet in order for it to be considered "on topic" for this site?

This could be extended to include "reverse this checksum" / "how is this file compressed?" type questions as well.

  • IIRC there were some solved questions of such type where OP did provide enough info. Can you find them and add to the list too, so we can see the difference? – Igor Skochinsky Mar 14 '17 at 10:29
  • @IgorSkochinsky I have updated the question to provide some examples of the type of question you requested – SYS_V Mar 14 '17 at 15:32

I fear it is true that most of these questions remain unanswered, mostly due to tremendous analysis requirements without the sufficient data.

I would tend to allow questions about crypto when it is in the context of reverse engineering. i.e. when where is binary code involved. In any other case it boils down to sheer luck to guess or know the algorithm.

Maybe should point out that the data is just insufficient for any educated guess. The problem being the semantic gap. We can not close it for them.

  • I believe that they are asking the wrong question. Their questions amount to "perform ciphertext analysis for me" when what they should really be asking is "I am having a specific problem when attempting to RE one of the components in the system that is involved in encrypting / decrypting this data in order to decrypt it. Here is the problem" or something like that – SYS_V Mar 14 '17 at 15:42

I don't have a specific suggestion just yet, but I think that improving the first custom close reason or adding another, more specific one, could alleviate the issue of the questions lacking info (not just crypto ones). For the history of it see this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .