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 pour accélérer la commutation dans les circuits à transistor à effet de champ
H03K 19/14 - Circuits logiques, c.-à-d. ayant au moins deux entrées agissant sur une sortieCircuits d'inversion utilisant des éléments spécifiés utilisant des dispositifs opto-électroniques, c.-à-d. des dispositifs émetteurs de lumière et des dispositifs photo-électriques couplés électriquement ou optiquement
H03K 19/17736 - Détails structurels des ressources de routage
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 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité
G06F 21/72 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du calcul ou du traitement de l’information dans les circuits de cryptographie
G06F 21/76 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du calcul ou du traitement de l’information dans les circuits intégrés à application spécifique [ASIC] ou les dispositifs programmables, p. ex. les réseaux de portes programmables [FPGA] ou les circuits logiques programmables [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 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 21/56 - Détection ou gestion de programmes malveillants, p. ex. dispositions anti-virus
G06F 21/75 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du calcul ou du traitement de l’information par inhibition de l’analyse de circuit ou du fonctionnement, p. ex. pour empêcher l'ingénierie inverse
G06N 10/00 - Informatique quantique, c.-à-d. traitement de l’information fondé sur des phénomènes de mécanique quantique
G06F 21/72 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du calcul ou du traitement de l’information dans les circuits de cryptographie
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 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité
H04L 9/06 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p. ex. système DES
G06F 1/06 - Générateurs d'horloge produisant plusieurs signaux d'horloge
G06F 21/72 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du calcul ou du traitement de l’information dans les circuits de cryptographie
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 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 21/75 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du calcul ou du traitement de l’information par inhibition de l’analyse de circuit ou du fonctionnement, p. ex. pour empêcher l'ingénierie inverse
G06F 9/448 - Paradigmes d’exécution, p. ex. implémentation de paradigmes de programmation
G06F 9/44 - Dispositions pour exécuter des programmes spécifiques
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 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 21/75 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du calcul ou du traitement de l’information par inhibition de l’analyse de circuit ou du fonctionnement, p. ex. pour empêcher l'ingénierie inverse
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 - Dispositions pour traiter exclusivement des données numériques
G06E 3/00 - Dispositifs non prévus dans le groupe , p. ex. pour traiter des données analogiques hybrides
G06F 15/18 - dans lesquels un programme est modifié en fonction de l'expérience acquise par le calculateur lui-même au cours d'un cycle complet; Machines capables de s'instruire (systèmes de commande adaptatifs G05B 13/00;intelligence artificielle G06N)
G06G 7/00 - Dispositifs dans lesquels l'opération de calcul est effectuée en faisant varier des grandeurs électriques ou magnétiques
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
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 - Dispositions pour traiter exclusivement des données numériques
G06E 3/00 - Dispositifs non prévus dans le groupe , p. ex. pour traiter des données analogiques hybrides
G06F 15/00 - Calculateurs numériques en généralÉquipement de traitement de données en général
G06F 15/18 - dans lesquels un programme est modifié en fonction de l'expérience acquise par le calculateur lui-même au cours d'un cycle complet; Machines capables de s'instruire (systèmes de commande adaptatifs G05B 13/00;intelligence artificielle G06N)
G06F 9/45 - Compilation ou interprétation de langages de programmation évolués
G06G 7/00 - Dispositifs dans lesquels l'opération de calcul est effectuée en faisant varier des grandeurs électriques ou magnétiques