Identifying symmetric key

When investigating an application I found a cryptographic key. Based on the documentation related to how the key is used I know it's some form of symmetric key. However I don't know what cipher it is used in and I can't find out from the application as that would require reverse engineering compiled c++, A skill I don't possess. The key does not appear to be user chosen and is represented as 64 hexadecimal characters (256 bits). My question is, is there any program or test that could be easily preformed on the key to determine if it is valid for common ciphers? Such as a check to see if it's a valid aes-256 key or similar. Thanks

• You mean, given a key, determine what cypher was used? To determine if it is valid, you would need to decrypt something ... Nov 9, 2016 at 20:02
• I think you're going to need to do some debugging - if you can make the app use it, you can see the context it does that in. There's a BruCon presentation from some KPN folks that gives an example of this and the tools they use - youtube.com/watch?v=iTGvbi_wLE0 - the binary analysis starts at 32 minutes in. They work through identifying the key and the cipher - not quite a tutorial, but pretty close. Nov 9, 2016 at 20:04
• Schroeder, you are correct, I am trying to determine the cipher, by valid I mean could the key be hypothetically used with the cipher, does it meet the ciphers constraints on acceptable keys Nov 9, 2016 at 20:21
• I don't think there is anything like "constraints on acceptable keys". A key for a computer encryption/decryption algorithm is simply a sequence of bits. Most ciphers require the key to be of a certain length, but apart from that, as @schroeder already pointed out, you need to use the key on a ciphertext to find out if it decrypts. Nov 9, 2016 at 20:30