Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Using exeinfo, I have identified a function of crypt called ICE.

What is it? How can I find out the workings of the function?

Some idea's I had for doing this were:

  • Perhaps there is a reference
  • Could one reverse engineer it?
  • If I have examples of (plaintext-ciphertext) pairs, could I construct an equivalent function without knowing the key?
share|improve this question

closed as unclear what you're asking by Gilles, DrLecter, e-sushi, AFS, archie Jan 6 '14 at 3:23

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question.If this question can be reworded to fit the rules in the help center, please edit the question.

Have you, eehm, tried to google for ICE? – orlp Jan 3 '14 at 9:27
Yes. I have a look and says that is equal to DES, in is structure. – user36384 Jan 3 '14 at 9:30
Then what is your question? The source code is freely available. – orlp Jan 3 '14 at 9:36
@user36384: I have edited the question to reflect what I think you're asking. If not, please could you edit it further to reflect what you're asking. – figlesquidge Jan 3 '14 at 12:49

ICE is a block cipher operating on 64-bit data blocks (which is a bit dated, and less than perfectly safe in some usage scenario involving a huge amount of data). Depending on implementations, the key can be 64-bit (which is quite dated, and unsafe against a potent attacker), or some higher multiple (128-bit is fine for longer than I dare try making predictions).

The ICE home page is here. There is source, so no need for reverse-engineering.

I am not aware of any near-practical attack on the full cipher, or of any devastating attack even on the reduced version Thin-ICE (which uses 8 rounds instead of 16). And (as a consequence) I know no efficient method to recover the key or otherwise build an equivalent function from plaintext-ciphertext pairs alone, without any form of access to the key.

Best technique I know to recover the keys from plaintext-ciphertext pairs alone is brute force (trying all keys until finding one that fits 2 example pairs), which is conceivable for the 64-bit key version (only). But we are talking of thousands of CPU.years, or massive investment in ASICs or FPGAs.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.