1. A method for dynamic key cryptography, the method comprising: selecting a combination of minutia from a plurality of dynamically changing minutia comprising hardware minutia, firmware minutia, software minutia, geo-location data, calling app data, user secrets, or biometric information; for a particular device, sending a challenge to the device, wherein: the challenge includes information from which the device can collect actual values of minutia corresponding to the selected combination of minutia chosen from the plurality of dynamically changing minutia and, based on the challenge and the collected actual values, compute an actual response to the challenge; pre-processing a set of responses to the challenge based on anticipating changes to the plurality of dynamically changing minutia from which the selected combination of minutia is chosen, wherein: the set of pre-processed responses covers a range of all actual responses possible to be received from the particular device, whether or not an anticipated change has occurred to one or more of the collected actual values, if the combination of the particular device with collected actual values of minutia is valid; comparing the actual response from the particular device to the set of pre-processed responses; and validating the combination of the particular device with the collected actual values if the actual response is included in the set of pre-processed responses for the particular device.