Determining resistance of a classical algorithm to a quantum breach attempt
A computing system obtains a set of instructions configured to execute on a classical computing system. The set of instructions are evaluated to identify a cryptographic algorithm having a cryptographic algorithm type implemented by the set of instructions. Based on the cryptographic algorithm type, a candidate quantum algorithm comprising quantum instructions operable to attempt to breach the cryptographic algorithm is selected from a plurality of quantum algorithms. The set of instructions are translated into cryptographic quantum instructions that implement the cryptographic algorithm. Based on the cryptographic quantum instructions and the quantum instructions, a quantum instruction file is generated that, when executed, attempts to breach the cryptographic algorithm.
1 . A method, comprising:
obtaining, by a computing system comprising one or more processor devices, a set of instructions configured to execute on a classical computing system;
evaluating, by the computing system, the set of instructions to identify a cryptographic algorithm having a cryptographic algorithm type implemented by the set of instructions, wherein evaluating the set of instructions comprises identifying a pattern associated with the set of instructions, wherein the pattern is indicative of the cryptographic algorithm type;
based on the cryptographic algorithm type, selecting, by the computing system, a candidate quantum algorithm from a plurality of quantum algorithms, the candidate quantum algorithm comprising quantum instructions operable to attempt to breach the cryptographic algorithm;
translating, by the computing system, the set of instructions into cryptographic quantum instructions that implement the cryptographic algorithm; and
generating, by the computing system, based on the cryptographic quantum instructions and the quantum instructions, a quantum instruction file that, when executed, attempts to breach the cryptographic algorithm.
2 . The method of claim 1 , further comprising causing, by the computing system, a quantum computing system to execute the quantum instruction file.
3 . The method of claim 2 , further comprising:
generating, by the quantum computing system, information that is indicative of whether the cryptographic algorithm was breached.
4 . The method of claim 3 , wherein the information indicates that the cryptographic algorithm was breached.
5 . The method of claim 4 , wherein the information identifies an amount of time required to breach the cryptographic algorithm.
6 . The method of claim 3 , further comprising sending, by the quantum computing system, the information to a destination.
7 . The method of claim 1 , wherein evaluating the set of instructions further comprises:
accessing, by the computing system, a plurality of known patterns, each known pattern of the plurality of known patterns corresponding to a different cryptographic algorithm type; and
comparing, by the computing system, the pattern associated with the set of instructions to known patterns of the plurality of known patterns.
8 . The method of claim 1 , wherein translating the set of instructions into the cryptographic quantum instructions comprises:
identifying one or more variables utilized by the set of instructions; and
generating, by the computing system, the cryptographic quantum instructions to utilize the one or more variables.
9 . The method of claim 1 , wherein the computing system is a classical computing system, and further comprising:
sending, by the computing system, the quantum instruction file to a quantum computing system.
10 . The method of claim 1 , wherein the cryptographic algorithm type comprises:
a Rivest-Shamir-Adleman (RSA) algorithm type;
a Secure Hash Algorithm 256-bit (SHA-256) algorithm type; or
an Advanced Encryption Standard (AES) algorithm type.
11 . The method of claim 1 , wherein the candidate quantum algorithm comprises:
a Shor's algorithm; or
a Grover's algorithm.
12 . A computing device, comprising:
a memory; and
a processor device coupled to the memory to:
obtain a set of instructions configured to execute on a classical computing system;
evaluate the set of instructions to identify a cryptographic algorithm having a cryptographic algorithm type implemented by the set of instructions, wherein, to evaluate the set of instructions, the processor device is further to identify a pattern associated with the set of instructions, wherein the pattern is indicative of the cryptographic algorithm type;
based on the cryptographic algorithm type, select a candidate quantum algorithm from a plurality of quantum algorithms, the candidate quantum algorithm comprising quantum instructions operable to attempt to breach the cryptographic algorithm;
translate the set of instructions into cryptographic quantum instructions that implement the cryptographic algorithm; and
generate, based on the cryptographic quantum instructions and the quantum instructions, a quantum instruction file that, when executed, attempts to breach the cryptographic algorithm.
13 . The computing device of claim 12 , wherein the processor device is further to:
cause a quantum computing system to execute the quantum instruction file; and
generate information that indicates that the cryptographic algorithm was breached and identifies an amount of time required to breach the cryptographic algorithm.
14 . The computing device of claim 12 , wherein to evaluate the set of instructions the processor device is further to:
access a plurality of known patterns, each known pattern of the plurality of known patterns corresponding to a different cryptographic algorithm type; and
compare the pattern associated with the set of instructions to known patterns of the plurality of known patterns.
15 . The computing device of claim 12 , wherein to translate the set of instructions into the cryptographic quantum instructions, the processor device is further to:
identify one or more variables utilized by the set of instructions; and
generate the cryptographic quantum instructions to utilize the one or more variables.
16 . The computing device of claim 12 , wherein to translate the set of instructions into the cryptographic quantum instructions, the processor device is further to:
identify one or more variables utilized by the set of instructions; and
generate, by the computing system, the cryptographic quantum instructions to utilize the one or more variables.
17 . A non-transitory computer-readable storage medium that includes executable instructions to cause a processor device to:
obtain a set of instructions configured to execute on a classical computing system;
evaluate the set of instructions to identify a cryptographic algorithm having a cryptographic algorithm type implemented by the set of instructions, wherein, to evaluate the set of instructions, the instructions further cause the processor device to identify a pattern associated with the set of instructions, wherein the pattern is indicative of the cryptographic algorithm type;
based on the cryptographic algorithm type, select a candidate quantum algorithm from a plurality of quantum algorithms, the candidate quantum algorithm comprising quantum instructions operable to attempt to breach the cryptographic algorithm;
translate the set of instructions into cryptographic quantum instructions that implement the cryptographic algorithm; and
generate, based on the cryptographic quantum instructions and the quantum instructions, a quantum instruction file that, when executed, attempts to breach the cryptographic algorithm.