I have read papers [1], [2] that have presented techniques on extracting symmetric encryption keys from memory during the process of encryption. There are tools [3] that can extract AES keys from memory.

These techniques look for round keys in the memory using a sliding window approach. However, I have only seen them implemented for AES keys. Does that mean that for other symmetric ciphers, such as 3DES or RC4, we cannot feasibly locate the encryption keys in memory during encryption using similar techniques? Do other symmetric encryption algorithms have such patterns that can help locate keys in memory?

[1] Halderman, J. A., Schoen, S. D., Heninger, N., Clarkson, W., Paul, W., Calandrino, J. A., ... & Felten, E. W. (2009). Lest we remember: cold-boot attacks on encryption keys. Communications of the ACM, 52(5), 91-98.

[2] Kaplan, B. (2007). RAM is Key Extracting Disk Encryption Keys From Volatile Memory.

[3] https://github.com/makomk/aeskeyfind

  • 1
    $\begingroup$ More like nobody serious uses 3DES and RC4 any more so nobody bothers to publish a paper on how to attack them. $\endgroup$ Sep 25, 2019 at 4:14
  • 1
    $\begingroup$ Finding the RC4 state shouldn't be too hard - that (not counting the I, J values) is a permutation of 256 byte values - random sections of memory of length 256 bytes have a very low probability of not having a repeat in there somewhere... $\endgroup$
    – poncho
    Sep 25, 2019 at 10:58
  • $\begingroup$ @poncho if we were able to locate a 256 byte array of unique bytes, would deriving the corresponding RC4 key be straight forward from there? $\endgroup$
    – learnerX
    Sep 26, 2019 at 19:38
  • 2
    $\begingroup$ @learnerX: if the original key was a 16 or 32 byte key (say), then it should be feasible (and being able to recognize the correct previous keystream would help); you'd guess the current I, J variables, and then step the RC4 state backwards (generating previous keystream; being able to eliminate incorrect guesses would help) until you get to the initial (immediately after KSA) state (and knowing how much keystream was generated would help). Once there, being able to recover the short RC4 key would be doable. $\endgroup$
    – poncho
    Sep 26, 2019 at 19:50


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.