We describe a computing machine (ex-machine) that uses self-modification and randomness to enhance computation. An ex-machine program can compute languages that a standard machine cannot compute. An ex-machine has three types of instructions: standard, meta and random. One or more meta instructions self-modify the machine as it executes. Sometimes standard instructions are expressed in the C programming language or a hardware description language (VHDL). In an embodiment, random instructions take measurements from a random source that measures quantum events. In an embodiment, an ex-machine receives a computer program as input, containing only standard instructions. An ex-machine can combines random instructions and meta instructions to self-modify its instructions, so that it can evolve to compute (verify) the correctness of the computer program that it received as input. In an embodiment, an ex-machine uses its meta and random instructions to improve its machine learning procedures as the ex-machine is computing.
We describe a computing machine, called a quantum random, self-modifiable computer, that uses self-modification and randomness to enhance the computating power. Sometimes it is called an ex-machine, derived from the latin extra machinam because its can evolve as it computes so that its complexity increases without an upper bound. In an embodiment, an ex-machine program can compute languages that a Turing or standard machine cannot compute. In an embodiment, the ex-machine has three types of instructions: standard instructions, meta instructions and random instructions. In an embodiment, the meta instruction self-modify the machine as it is executing so that new instructions are added. In an embodiment, the standard instructions are expressed in the C programming language or a hardware description language such as VHDL. Random instructions take random measurements from a random source. In an embodiment, the random source produces quantum events which are measured during the machine's execution.
In an embodiment, an ex-machine receives a computer program as input, containing only standard instructions. In an embodiment, the ex-machine combines its random instructions and its meta instructions to self-modify the ex-machine instructions, so that it can evolve to compute (i.e., verify) the correctness of the computer program that it received as input. In an embodiment, an ex-machine uses its meta instructions and random instructions to improve its machine learning procedures as the ex-machine is computing.
In an embodiment, machine computation that adds randomness and self-modification to the standard digital computer instructions has more computing capability than a standard digital computer. This capability enables more advanced machine learning procedures where in some embodiments meta instructions and random instructions improve the machine learning procedure, as it is executing. In an embodiment, differential forms, the curvature tensor, and curvature of saddle points are used to help self-modify and improve an initial, standard gradient descent method.
A new computational machine is invented, called a clock machine, that is a novel alternative to computing machines (digital computers) based on logic gates. In an embodiment, computation is performed with one or more clock machines that use time, and can perform any Boolean function. In an embodiment, a cryptographic cipher is implemented with random clock machines, constructed from a non-deterministic process, wherein the compiled set of instructions (i.e., the implementation of the cryptographic procedure) is distinct on each device or chip that executes the cryptographic cipher. In an embodiment, by using a different set of clock machines to execute two different instances of the same cryptographic procedure, each execution of a procedure looks different to malware that may try to infect and subvert the cryptographic procedure. This cryptographic process helps hinder timing attacks. In an embodiment, a detailed implementation of the Midori cipher with random clock machines is described.
H03K 19/017 - Modifications for accelerating switching in field-effect transistor circuits
H03K 19/14 - Logic circuits, i.e. having at least two inputs acting on one outputInverting circuits using specified components using opto-electronic devices, i.e. light-emitting and photoelectric devices electrically- or optically-coupled
H03K 19/17736 - Structural details of routing resources
Based upon the principles of randomness and self-modification a novel computing machine is constructed. This computing machine executes computations, so that it is difficult to apprehend by an adversary and hijack with malware. These methods can also be used to help thwart reverse engineering of proprietary algorithms, hardware design and other areas of intellectual property.
Using quantum randomness in the random instructions and self-modification in the meta instructions, creates computations that are incomputable by a digital computer. In an embodiment, a more powerful computational procedure is created than a computational procedure equivalent to a digital computer procedure. Current digital computer algorithms and procedures can be constructed or designed with ex-machine programs, that are specified by standard instructions, random instructions and meta instructions. A novel computer is invented so that a program's execution is difficult to apprehend.
Methods and systems described herein authenticate a user and help secure transaction. A display screen presents images that are difficult for malware to recognize but a person can recognize. In at least one embodiment, a person communicates transaction information using visual images received from the service provider system. In at least one embodiment, a user selects a sequence of visual images as a means of authenticating the user and logging into a financial account or other corporate account.
In some embodiments, methods and systems are provided for determining whether to grant access, by generating and displaying visual images on a screen that the user can recognize, and select. In an embodiment, a user presses his or her finger or fingers on a display screen to select images as a method for authenticating and protecting communication from malware.
In an embodiment, non-determinism in hardware helps unpredictably vary the image selected, the image location, generate noise in the image, or change the shape or texture of the image. In some embodiments, visual image authentication helps Alice and Bob detect if Eve has launched a man-in-the-middle attack on their key exchange.
A new computational machine is invented, called a clock machine, that is a novel alternative to computing machines (digital computers) based on logic gates. In an embodiment, computation is performed with one or more clock machines that use time. In an embodiment, a cryptographic cipher is implemented with random clock machines, constructed from a non-deterministic process, wherein the compiled set of instructions (i.e., the implementation of the cryptographic procedure) is distinct on each device or chip that executes the cryptographic cipher. In an embodiment, by using a different set of clock machines to execute two different instances of the same cryptographic procedure, each execution of a procedure looks different to malware that may try to infect and subvert the cryptographic procedure. This cryptographic process also makes timing attacks more challenging. In an embodiment, a detailed implementation of the Midori cipher with random clock machines is described.
H04L 9/00 - Arrangements for secret or secure communicationsNetwork security protocols
G06F 21/72 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
G06F 21/76 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
We describe a computing machine, called an ex-machine, that uses self-modification and randomness to enhance the computation. The name ex-machine is derived from the latin extra machinam because its can evolve as it computes so that its complexity increases without an upper bound. In an embodiment, an ex-machine program can compute languages that a Turing or standard machine cannot compute. In an embodiment, the ex-machine has three types of instructions: standard instructions, meta instructions and random instructions. In an embodiment, the meta instruction self-modify the machine as it is executing so that new instructions are added. In an embodiment, the standard instructions are expressed in the C programming language or VHDL dataflow language. Random instructions take random measurements from a random source. In an embodiment, the random source produces quantum events which are measured.
In an embodiment, an ex-machine receives a computer program as input, containing only standard instructions. In an embodiment, the ex-machine combines its random instructions and its meta instructions to self-modify the ex-machine instructions, so that it can evolve to compute (i.e., verify) the correctness of the computer program that it received as input. In an embodiment, an ex-machine uses its meta instructions and random instructions to improve its machine learning procedures as the ex-machine is computing.
In an embodiment, machine computation that adds randomness and self-modification to the standard digital computer instructions has more computing capability than a standard digital computer. This capability enables more advanced machine learning procedures where in some embodiments meta instructions 1 and random instructions improve the machine learning procedure, as it is executing. In an embodiment, differential forms, the curvature tensor, and curvature of saddle points are used to help self-modify and improve an initial, standard gradient descent method.
Based upon the principles of randomness and self-modification a novel computing machine is constructed. This computing machine executes computations, so that it is difficult to apprehend by an adversary and hijack with malware. These methods can also be used to help thwart reverse engineering of proprietary algorithms, hardware design and other areas of intellectual property.
Using quantum randomness in the random instructions and self-modification in the meta instructions, creates computations that are incomputable by a digital computer. In an embodiment, a more powerful computational procedure is created than a computational procedure equivalent to a digital computer procedure. Current digital computer algorithms and procedures can be constructed or designed with ex-machine programs, that are specified by standard instructions, random instructions and meta instructions. A novel computer is invented so that a program's execution is difficult to apprehend.
G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
G06F 21/75 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation, e.g. to counteract reverse engineering
G06N 10/00 - Quantum computing, i.e. information processing based on quantum-mechanical phenomena
G06F 21/72 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
A new computational machine is invented, called a clock machine, that is a novel alternative to computing machines (digital computers) based on logic gates. In an embodiment, computation is performed with one or more clock machines that use time. In an embodiment, a cryptographic cipher is implemented with random clock machines, constructed from a non-deterministic process, wherein the compiled set of instructions (i.e., the implementation of the cryptographic procedure) is distinct on each device or chip that executes the cryptographic cipher. In an embodiment, by using a different set of clock machines to execute two different instances of the same cryptographic procedure, each execution of a procedure looks different to malware that may try to infect and subvert the cryptographic procedure. This cryptographic process also makes timing attacks more challenging. In an embodiment, a detailed implementation of the Midori cipher with random clock machines is described.
H04L 9/00 - Arrangements for secret or secure communicationsNetwork security protocols
H04L 9/06 - Arrangements for secret or secure communicationsNetwork security protocols the encryption apparatus using shift registers or memories for blockwise coding, e.g. D.E.S. systems
G06F 1/06 - Clock generators producing several clock signals
G06F 21/72 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Based upon Turing incomputability, connectedness and properties of the active element machine (AEM), a malware-resistant computing machine is constructed. The active element computing machine is a non-Turing, non-register machine. AEM programs are designed so that the purpose of the AEM computations are difficult to apprehend by an adversary and hijack with malware. These methods can also be used to help thwart reverse engineering of proprietary algorithms, hardware design and other areas of intellectual property. Using quantum randomness, the AEM can deterministically execute a universal Turing machine (universal digital computer program) with active element firing patterns that are Turing incomputable. In an embodiment, a more powerful computational procedure is created than Turing's computational procedure (equivalent to a digital computer procedure). Current digital computer algorithms and procedures can be derived or designed with a Turing machine computational procedure. A novel computer is invented so that a program's execution is difficult to apprehend.
G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
G06F 21/75 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation, e.g. to counteract reverse engineering
G06F 9/448 - Execution paradigms, e.g. implementations of programming paradigms
G06F 9/44 - Arrangements for executing specific programs
Based upon the principle of Turing incomputability, and novel properties of the Active Element Machine, a malware-resistant computing machine is constructed. This new computing machine is a non-Turing, non-register machine (non von-Neumann), called an Active Element Machine (AEM). AEM programs are designed so that the purpose of the computation is difficult to apprehend by an adversary and hijack with malware. These methods can help hinder reverse engineering of proprietary algorithms and hardware design.
Using quantum randomness, the AEM can deterministically execute a universal digital computer program with active element firing patterns that are Turing incomputable. In some embodiments, a more powerful computational procedure is demonstrated than Turing's computational procedure (digital computer procedure). Current digital computer algorithms can be derived or designed with a Turing machine computational procedure. A novel class of computing machines is built where the purpose of the program's execution is difficult to apprehend (Turing incomputable).
G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
G06F 21/75 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation, e.g. to counteract reverse engineering
12.
Executing machine instructions comprising input/output pairs of execution nodes
A computing machine is disclosed having a memory system for storing a collection of execution nodes, a head for reading a sequence of symbols in the execution nodes in the memory system, and writing a sequence of symbols in the memory system. The machine is configured to execute a computation with a collection of pairs of execution nodes. Each pair of execution nodes represents a machine instruction. One execution node in the pair represents input of the machine instruction represented by the execution nodes. Another execution node in the pair represents output of the machine instruction represented by the execution nodes. Each execution node has a state of the machine, a sequence of symbols and a number.
An active element machine is a new kind of computing machine. When implemented in hardware, the Active element machine can execute multiple instructions simultaneously, because every one of its computing elements is active. This greatly enhances the computing speed. By executing a meta program whose instructions change the connections in a dynamic Active element machine, the Active element machine can perform tasks that digital computers are unable to compute.
G06E 1/00 - Devices for processing exclusively digital data
G06E 3/00 - Devices not provided for in group , e.g. for processing analogue or hybrid data
G06F 15/18 - in which a program is changed according to experience gained by the computer itself during a complete run; Learning machines (adaptive control systems G05B 13/00;artificial intelligence G06N)
G06G 7/00 - Devices in which the computing operation is performed by varying electric or magnetic quantities
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
14.
Register and active element machines: commands, programs, simulators and translators
In an embodiment, instructions in a computer language are translated into instructions in a register machine language. The instructions in the register machine language are translated into active element machine instructions. The use of the register machine language is optional. In an embodiment, the first translator may translate the instructions into another machine language. In an embodiment, an active element machine may be programmed using instructions for a register machine with elemental register machine instructions, such as push, pop, copy, and jump, and/or using a higher language, such as C, may be emulated with active element instructions executing on an active element machine.
G06E 1/00 - Devices for processing exclusively digital data
G06E 3/00 - Devices not provided for in group , e.g. for processing analogue or hybrid data
G06F 15/00 - Digital computers in generalData processing equipment in general
G06F 15/18 - in which a program is changed according to experience gained by the computer itself during a complete run; Learning machines (adaptive control systems G05B 13/00;artificial intelligence G06N)
G06F 9/45 - Compilation or interpretation of high level programme languages
G06G 7/00 - Devices in which the computing operation is performed by varying electric or magnetic quantities