CH634161A5 - APPARATUS FOR DECIPHERING A NUMBERED MESSAGE AND ITS USE IN A TRANSMISSION INSTALLATION. - Google Patents

APPARATUS FOR DECIPHERING A NUMBERED MESSAGE AND ITS USE IN A TRANSMISSION INSTALLATION. Download PDF

Info

Publication number
CH634161A5
CH634161A5 CH1036378A CH1036378A CH634161A5 CH 634161 A5 CH634161 A5 CH 634161A5 CH 1036378 A CH1036378 A CH 1036378A CH 1036378 A CH1036378 A CH 1036378A CH 634161 A5 CH634161 A5 CH 634161A5
Authority
CH
Switzerland
Prior art keywords
message
mod
vector
encryption
key
Prior art date
Application number
CH1036378A
Other languages
French (fr)
Inventor
Martin E Hellman
Ralph C Merkle
Original Assignee
Univ Leland Stanford Junior
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Leland Stanford Junior filed Critical Univ Leland Stanford Junior
Publication of CH634161A5 publication Critical patent/CH634161A5/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Credit Cards Or The Like (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

La présente invention a pour objet un appareil de déchif-25 frage d'un message chiffré reçu par un canal de communication non sûr selon le préambule de la revendication 1. The present invention relates to an apparatus for deciphering and frying an encrypted message received by an insecure communication channel according to the preamble of claim 1.

L'invention a également pour objet une utilisation de cet appareil dans une installation de transmission de messages chiffrés d'un expéditeur à un réceptionnaire selon la revendi-30 cation 3. On utilise beaucoup les systèmes cryptographiques qui doivent assurer le caractère privé et l'authenticité des messages transmis par des canaux non sûrs. Un système assurant le caractère privé des messages empêche l'extraction de l'information par des personnes ou organisations non autori-35 sées, dans les messages transmis par un canal non sûr, si bien que l'expéditeur d'un message est sûr que celui-ci n'est lu que par le réceptionnaire prévu. Un système d'authentification empêche l'injection sans autorisation de messages dans un canal non sûr afin que le réceptionnaire du message soit cer-40 tain de la qualité de l'expéditeur. The invention also relates to a use of this device in an installation for transmitting encrypted messages from a sender to a receiver as claimed in claim 3. There are many uses of cryptographic systems which must ensure privacy and authenticity of messages transmitted through unsafe channels. A system ensuring the private nature of messages prevents the extraction of information by unauthorized persons or organizations, in messages transmitted via an insecure channel, so that the sender of a message is sure that it is only read by the intended recipient. An authentication system prevents unauthorized injection of messages into an insecure channel so that the recipient of the message is certain of the quality of the sender.

Actuellement, l'essentiel de l'authentification des messages consiste en l'addition d'un dessin d'authentification, connu uniquement de l'expéditeur et du réceptionnaire prévus, à chaque message, et le chiffrage de la combinaison. Cette 45 mesure assure la protection contre la falsification par transmission de nouveaux messages convenablement authentifiés à la suite d'une écoute non autorisée, à moins que la clé du chiffre utilisé n'ait aussi été volée. Cependant, la protection en cas de désaccord est faible, le désaccord se présentant so lorsque l'expéditeur transmet un message convenablement authentifié puis dénie cette transmission et blâme faussement le réceptionnaire pour avoir pris des mesures non autorisées. Inversement, le réceptionnaire peut prendre une mesure non autorisée et falsifier un message transmis à lui-même et 55 blâmer ensuite faussement l'expéditeur pour ces actions. La crainte d'un différend provient de l'absence d'un mécanisme récepteur convenable pouvant prouver qu'un message particulier a été transmis à un réceptionnaire par un expéditeur particulier. Currently, the essence of message authentication consists of adding an authentication drawing, known only to the intended sender and receiver, to each message, and encrypting the combination. This 45 measure provides protection against forgery by transmitting new, properly authenticated messages following unauthorized listening, unless the key to the cipher used has also been stolen. However, the protection in the event of disagreement is weak, the disagreement arising so when the sender transmits a suitably authenticated message then denies this transmission and falsely blames the receiver for having taken unauthorized measures. Conversely, the receiver can take an unauthorized action and falsify a message sent to himself and 55 then falsely blame the sender for these actions. The fear of a dispute stems from the absence of a suitable receiving mechanism capable of proving that a particular message has been transmitted to a recipient by a particular sender.

60 L'une des difficultés principales présentées par les systèmes cryptographiques existants est que l'expéditeur et le réceptionnaire doivent échanger une clé de chiffrage par un canal sûr auquel une personne ou une organisation non autorisée n'a pas accès. L'échange d'une clé de chiffrage est réalisé 65 souvent par expédition antérieure de la clé par un canal sûr par exemple un courrier privé ou une expédition recommandée; de tels canaux sûrs sont habituellement lents et coûteux. One of the main difficulties presented by existing cryptographic systems is that the sender and the receiver must exchange an encryption key through a secure channel to which an unauthorized person or organization does not have access. The exchange of an encryption key is often carried out 65 by previous shipment of the key via a secure channel, for example private mail or registered shipping; such secure channels are usually slow and expensive.

3 3

634 161 634,161

Un article de Diffieetal. «MULTIUSER CRYPTOGRA-PHIC TECHNIQUES», AFIPS - Conference Proceedings, vol. 45, p. 109-112, 8 juin 1976 décrit le principe d'un système cryptographique à clé publique éliminant la nécessité de l'utilisation d'un canal sûr par mise à la connaissance du public du chiffrage de l'expéditeur. Cet article décrit aussi comment un tel système cryptographique à clé publique pourrait permettre une authentification permettant la formation de messages infalsifiables, d'après une signature numérique. Cet article décrit aussi l'idée de l'utilisation de deux clés E et D pour le chiffrage et le déchiffrage d'un message, E étant une information publique et D étant maintenue secrète par le réceptionnaire prévu. En outre, bien que D soit déterminée par E, le calcul de D à partir de E est impossible. Cet article suggère les possibilités de réalisation d'un tel système cryptographique à clé publique permettant à un utilisateur de chiffrer un message et de l'expédier à un réceptionnaire prévu mais seul le réceptionnaire prévu pouvant le déchiffrer. Bien que cet article suggère la possiblité de la réalisation de tels systèmes, il n'indique pas ni ne prouve que de tels systèmes cryptographiques à clé publique existent et ne démontre nullement la possibilité de la réalisation d'un tel système. An article from Diffieetal. "MULTIUSER CRYPTOGRA-PHIC TECHNIQUES", AFIPS - Conference Proceedings, vol. 45, p. 109-112, June 8, 1976 describes the principle of a public key cryptographic system eliminating the need to use a secure channel by making the sender's encryption known to the public. This article also describes how such a public key cryptographic system could allow an authentication allowing the formation of falsifiable messages, according to a digital signature. This article also describes the idea of using two keys E and D for encryption and decryption of a message, E being public information and D being kept secret by the intended recipient. Furthermore, although D is determined by E, the calculation of D from E is impossible. This article suggests the possibilities of implementing such a public key cryptographic system allowing a user to encrypt a message and send it to a intended recipient, but only the intended recipient can decrypt it. Although this article suggests the possibility of the realization of such systems, it does not indicate or prove that such cryptographic systems with public key exist and does not demonstrate the possibility of the realization of such a system.

L'article précité suggère trois arguments pour la plausibi-lité de l'existence de système cryptographiques à clé publique: une approche matricielle, une approche en langage machine et une approche par relevé logique. Bien que l'approche matricielle puisse être mise en œuvre avec des matrices qui nécessitent un temps d'analyse cryptographique qu'on peut démontrer comme impraticable (c'est-à-dire que le calcul de D à partir de E est impossible) par utilisation des méthodes connues, cette approche ne présente pas d'utilité pratique étant donné les dimensions énormes des matrices nécessaires. L'approche en langage machine et l'approche par relevé logique sont aussi suggérées mais rien n'indique comment les mettre en œuvre afin qu'elles nécessitent une analyse cryptographique qu'on puisse démontrer comme étant impraticable. The aforementioned article suggests three arguments for the plausibility of the existence of public key cryptographic systems: a matrix approach, a machine language approach and a logical statement approach. Although the matrix approach can be implemented with matrices that require a time of cryptographic analysis that can be demonstrated as impractical (that is, the calculation of D from E is impossible) by using known methods, this approach is of no practical use given the enormous dimensions of the matrices required. The machine language approach and the logical survey approach are also suggested, but there is no indication of how to implement them so that they require a cryptographic analysis that can be shown to be impractical.

L'article introduit aussi une procédure utilisant les systèmes cryptographique à clé publique proposés, permettant au réceptionnaire de vérifier facilement l'authenticité d'un message, mais l'empêchant de former des messages apparemment authentifiés. L'article décrit un protocole qui doit être suivi pour l'obtention de l'authentification dans un système cryptographique proposé à clé publique. Cependant, le procédure d'authentification repose sur l'existence d'un système cryptographique à clé publique qui n'est nullement décrit dans l'article précité. The article also introduces a procedure using the proposed public key cryptographic systems, allowing the receiver to easily verify the authenticity of a message, but preventing it from forming apparently authenticated messages. The article describes a protocol that must be followed to obtain authentication in a proposed public key cryptographic system. However, the authentication procedure is based on the existence of a public key cryptographic system which is in no way described in the aforementioned article.

L'invention a comme but de rendre possible à des parties autorisées (interlocuteurs) de participer à une conversation afin qu'elles conversent de façon privée, même lorsqu'une partie non autorisée (espion) intercepte la totalité des communications. The invention aims to make it possible for authorized parties (interlocutors) to participate in a conversation so that they converse privately, even when an unauthorized party (spy) intercepts all communications.

L'appareil selon l'invention présente les caractéristiques mentionnées dans la revendication 1. The apparatus according to the invention has the characteristics mentioned in claim 1.

D'autres avantages de l'invention ressortiront mieux de la description qui va suivre, faite en référence aux dessins annexés sur lesquels: Other advantages of the invention will emerge more clearly from the description which follows, given with reference to the appended drawings in which:

La figure 1 est un diagramme synoptique d'un système cryptographique à clé publique, transmettant un cryptogramme rendu sûr par des opérations de calcul, par un canal non sûr de communication. FIG. 1 is a block diagram of a public key cryptographic system, transmitting a cryptogram made secure by calculation operations, by an insecure communication channel.

La figure 2 est un diagramme synoptique du dispositif de chiffrage d'un message sous forme d'un texte chiffré, à l'aide du système cryptographique à clé publique de la figure 1. FIG. 2 is a block diagram of the device for encrypting a message in the form of an encrypted text, using the public key cryptographic system of FIG. 1.

La figure 3 est un diagramme synoptique d'un circuit multiplicateur destiné à réaliser des multiplications modulaires dans le dispositif de déchiffrage de la figure 7, le circuit de traitement exponentiel de la figure 10 et le générateur de clé publique de la figure 11. FIG. 3 is a block diagram of a multiplier circuit intended to perform modular multiplications in the decryption device of FIG. 7, the exponential processing circuit of FIG. 10 and the public key generator of FIG. 11.

La figure 4 est un diagramme synoptique détaillé d'un additionneur destiné à réaliser des additions dans le dispositif de chiffrage de la figure 2, le circuii multiplicateur de la figure 3 et le générateur de clé publique de la figure 11. FIG. 4 is a detailed block diagram of an adder intended to make additions in the encryption device of FIG. 2, the multiplier circuit of FIG. 3 and the public key generator of FIG. 11.

La figure 5 est un diagramme détaillé d'un comparateur destiné à comparer des amplitudes dans le dispositif de chiffrage de la figure 2, le circuit multiplicateur de la figure 3, le dispositif de déchiffrage de la figure 7, le circuit diviseur de la figure 8 et la variante de dispositif de déchiffrage de la figure 9. Figure 5 is a detailed diagram of a comparator for comparing amplitudes in the encryption device of Figure 2, the multiplier circuit of Figure 3, the decryption device of Figure 7, the divider circuit of Figure 8 and the variant of the deciphering device of FIG. 9.

La figure 6 est un diagramme synoptique détaillé d'un circuit de soustraction, utilisé dans le circuit multiplicateur de la figure 3, le dispositif de déchiffrage de la figure 7 et le circuit de division de la figure 8. FIG. 6 is a detailed block diagram of a subtraction circuit, used in the multiplier circuit of FIG. 3, the deciphering device of FIG. 7 and the division circuit of FIG. 8.

La figure 7 est un diagramme synoptique d'un dispositif de déchiffrage d'un texte chiffré en un message, faisant partie du système cryptographique de la figure 1. FIG. 7 is a block diagram of a device for deciphering a text encrypted in a message, forming part of the cryptographic system of FIG. 1.

La figure 8 est un diagramme synoptique d'un circuit de division incorporé au circuit d'invension de la figure 7 et au dispositif de déchiffrage de la variante de la figure 9. FIG. 8 is a block diagram of a dividing circuit incorporated in the invension circuit of FIG. 7 and in the decryption device of the variant of FIG. 9.

La figure 9 est un diagramme synoptique d'une variante de dispositif de déchiffrage d'un texte chiffré en un message, dans le système cryptographique de la figure 1. FIG. 9 is a block diagram of an alternative device for deciphering a text encrypted in a message, in the cryptographic system of FIG. 1.

La figure 10 est un circuit de traitement exponentiel, destiné à porter divers nombres à diverses puissances, suivant des opérations arithmétiques modulo dans la variante de dispositif de déchiffrage de la figure 9 et le générateur de clé publique de la figure 11. FIG. 10 is an exponential processing circuit, intended to carry various numbers to various powers, according to modulo arithmetic operations in the variant of decryption device of FIG. 9 and the public key generator of FIG. 11.

La figure 11 est un diagramme synoptique d'un générateur de clé publique de chiffrage du système de la figure 1. FIG. 11 is a block diagram of a public encryption key generator of the system of FIG. 1.

Les figures 12 et 13 représentent respectivement l'algorithme du convertisseur logarithmique représenté sur la figure 11, dans le cas où p — 1 est une puissance de 2, et l'algorithme de calcul de coefficients (bi)- de l'expression: FIGS. 12 and 13 respectively represent the algorithm of the logarithmic converter represented in FIG. 11, in the case where p - 1 is a power of 2, and the algorithm for calculating coefficients (bi) - of the expression:

n,— 1 n, - 1

x (mod pn ') = Y. bjpl j = ° x (mod pn ') = Y. bjpl j = °

avec 0 fi bj ^ pi— 1, dans le convertisseur logarithmique de la figure 11, lorsque p-1 n'est pas une puissance de 2. with 0 fi bj ^ pi— 1, in the logarithmic converter of figure 11, when p-1 is not a power of 2.

On se réfère à la figure 1 qui représente un système ou ensemble cryptographique à clé publique dans lequel toutes les transmissions sont réalisées par un canal 19 de communication qui n'est pas sûr, par exemple une ligne téléphonique. Une communication est réalisée par le canal 19 qui n'est pas sûr entre en expéditeur 11 et un réceptionnaire 12, à l'aide d'émetteurs-récepteurs 31 et 32 qui peuvent être des modulateurs-démodulateurs modem 201 «Bell». L'expéditeur 11 possède un message X non chiffré ou en clair à communiquer au réceptionnaire 12. L'expéditeur 11 et le réceptionnaire 12 disposent respectivement d'un dispositif 15 de chiffrage et d'un dispositif 16 de déchiffrage d'informations, par mise en œuvre d'une clé E publique de chiffrage, transmise par la ligne E et d'une clé D secrète de déchiffrage transmise par la ligne D. Les dispositifs 15 et 16 assurent des transformations inverses lorsqu'ils reçoivent les clés correspondantes E et D. Par exemple, les clés peuvent être formées d'une séquence de chiffres ou de lettres disposée au hasard. Le dispositif 15 chiffre le message X en clair en un message chiffré ou texte chiffré S transmis par l'expéditeur 11 par l'intermédiaire du canal 19; le texte chiffré S est reçu par le réceptionnaire 12 et il est déchiffré dans le dispositif 16 sous forme d'un message X en clair. Une partie non autorisée ou un espion 13 est supposé avoir à sa disposition un générateur 23 de clé et un dispositif 18 de déchiffrage, et avoir accès au canal 19 si bien Reference is made to FIG. 1 which represents a public key cryptographic system or assembly in which all the transmissions are carried out by a communication channel 19 which is not secure, for example a telephone line. A communication is carried out by channel 19 which is not secure between sender 11 and a receiver 12, using transceivers 31 and 32 which may be modulator-demodulator modulators 201 "Bell". The sender 11 has an unencrypted or unencrypted message X to communicate to the receiver 12. The sender 11 and the receiver 12 respectively have an encryption device 15 and an information decryption device 16, by setting using a public encryption key E transmitted by line E and a secret decryption key D transmitted by line D. The devices 15 and 16 provide reverse transformations when they receive the corresponding keys E and D For example, keys can be made up of a sequence of numbers or letters arranged randomly. The device 15 encrypts the clear message X in an encrypted message or encrypted text S transmitted by the sender 11 via the channel 19; the encrypted text S is received by the receiver 12 and it is decrypted in the device 16 in the form of a clear message X. An unauthorized party or a spy 13 is supposed to have at his disposal a key generator 23 and a device 18 for decryption, and to have access to channel 19 so

5 5

10 10

15 15

20 20

25 25

30 30

35 35

40 40

45 45

50 50

55 55

60 60

65 65

634 161 634,161

4 4

que, s'il connaissait la clé D, il pourrait déchiffrer le texte S et obtenir le message X en clair. that, if he knew the key D, he could decipher the text S and get the message X in clear.

Le système décrit à titre d'exemple présente la difficulté du «problème du sac». Plus simplement, étant donné un «sac» unidimensionnel de longueur S et un vecteur a composé de n bâtonnets de longueur ai, ai,... a i, le problème du sac est celui de la détermination d'un sous-jeu de bâtonnets remplissant exactement le sac, si un tel sous-jeu existe. Sous une forme équivalente, on peut considérer qu'il faut déterminer un n-vecteur binaire x formé de 0 et de 1 et tel que S = a * x, si un tel x existe ( *, rapporté à des vecteurs, désigne le produit scalaire, et, appliqué à des scalaires, désigne la multiplication normale). The system described by way of example presents the difficulty of the "bag problem". More simply, given a one-dimensional "bag" of length S and a vector composed of n rods of length ai, ai, ... ai, the problem of the bag is that of determining a subset of sticks filling exactly the bag, if such a subset exists. In an equivalent form, we can consider that we must determine a binary n-vector x formed of 0 and 1 and such that S = a * x, if such x exists (*, referred to vectors, denotes the product scalar, and, applied to scalars, denotes normal multiplication).

Une solution x suposée est faci lement vérifiée en n additions au plus; cependant, dans l'état des connaissances actuelles, la détermination d'une solution nécessite un nombre d'opérations qui croît exponentionnellement avec n. Une recherche empirique exhaustive des 2" valeurs possibles de x est infaisable par le calcul lorsque n dépasse 100 ou 200. Une tâche est considérée comme impossible par le calcul si son coût, mesuré soit par l'importance des mémoires nécessaires, soit par le temps de calcul, est fini mais a une valeur si grande qu'il est considéré comme impossible, par exemple de l'ordre de 105" opérations avec les procédés et appareils actuels de calcul. A suposed solution x is easily verified in n additions at most; however, in the current state of knowledge, the determination of a solution requires a number of operations which increases exponentially with n. An exhaustive empirical research of the 2 possible values of x is impossible by calculation when n exceeds 100 or 200. A task is considered impossible by calculation if its cost, measured either by the importance of the memories required, or by time of calculation, is finished but has a value so large that it is considered impossible, for example of the order of 105 "operations with the current methods and apparatuses of calculation.

La théorie sugère la difficulté du problème du sac étant donné qu'il s'agit d'un problème complet à N corps, et il s'agit donc d'un des problèmes de calcul les plus difficiles de nature cryptographique (comme décrit par exemple dans l'ouvrage de A.V. Aho, J. E. Hopcraft et J. D. Ullman, THE DESIGN AND ANALYSIS OF COMPUTER ALGO-RITHMS, Reading, Ma.; Addison-Wesley, 1974, p. The theory suggests the difficulty of the bag problem since it is a complete problem with N bodies, and it is therefore one of the most difficult calculation problems of a cryptographic nature (as described for example in AV Aho, JE Hopcraft and JD Ullman, THE DESIGN AND ANALYSIS OF COMPUTER ALGO-RITHMS, Reading, Ma .; Addison-Wesley, 1974, p.

363-404). Cependant, son degré de difficulté dépend de la sélection du paramètre a. Lorsque a = ( 1,2,4,... 2 '"-"), la résolution en x équivaut à la détermination de la représentation binaire de S. En d'autres termes, d'une façon moins triviale, si pour toutes les valeurs de i, on a : 363-404). However, its degree of difficulty depends on the selection of parameter a. When a = (1,2,4, ... 2 '"-"), the resolution in x is equivalent to the determination of the binary representation of S. In other words, in a less trivial way, if for all the values of i, we have:

i— 1 i— 1

a.> £ aj (0 a.> £ aj (0

j=l on détermine aussi facilemt x : xn = 1 si et seulement si S ^an et pour i = n-1, n-2,... 1, Xi = 1 si et seulement si n j = l we also easily determine x: xn = 1 if and only if S ^ an and for i = n-1, n-2, ... 1, Xi = 1 if and only if n

S - l_ Xj * aj > ai (2) S - l_ Xj * aj> ai (2)

j = i + 1 j = i + 1

Si les composantes de x peuvent prendre des valeurs entières comprises entre 0 et /, la condition (1) peut être remplacée par i-1 If the components of x can take integer values between 0 and /, condition (1) can be replaced by i-1

ai > / Y ajetxi j= 1 ai> / Y ajetxi j = 1

peut être déterminé sous forme de la partie entière de can be determined as the whole part of

^ Y xj * a, aj)/ai. ^ Y xj * a, aj) / ai.

j = i + 1 j = i + 1

L'équation (2) d'évaluation de 5 x, lorsque Xi a des valeurs binaires, équivaut à cette règle pour 1=1. The evaluation equation (2) of 5 x, when Xi has binary values, is equivalent to this rule for 1 = 1.

Un sac à trappe est tel qu'une sélection précise de a permet au calculateur d'obtenir facilement une solution pour toute valeur de x, mais empêche tout autre de déterminer la solution. On décrit deux procédés de construction d'un tel sac à trappe, mais on considère d'abord en référence à la figure 1 une description de l'utilisation dans un système cryptographique à clé publique. Le réceptionnaire 12 crée un vecteur a de sac à trappe et soit le place dans un fichier public soit le transmet à l'expéditeur 11 par le canal 19. L'expéditeur 11 représente le message X en clair sous forme d'un vecteur x à n 0 et 1, et calcule S = a * x puis transmet S au réceptionnaire 12 par le canal 19. Le réceptionnaire 12 peut résoudre S en x mais ceci n'est pas possible pour l'espion 13. A hatch bag is such that a precise selection of a allows the calculator to easily obtain a solution for any value of x, but prevents any other from determining the solution. Two methods of constructing such a hatch are described, but we first consider with reference to FIG. 1 a description of the use in a public key cryptographic system. The receiver 12 creates a hatch vector a and either places it in a public file or transmits it to the sender 11 via channel 19. The sender 11 represents the message X in plain text in the form of a vector x to n 0 and 1, and calculates S = a * x then transmits S to the receiver 12 through channel 19. The receiver 12 can resolve S to x but this is not possible for the spy 13.

Selon un procédé de formation d'un sac à trappe, le générateur 22 de clé met en œuvre des nombres aléatoires crés par une source 26 de clé qui sélectionne deux nombres entiers importants m et w tels que w est inversible modulo m (c'est-à-dire que m et w n'ont aucun facteur commun mis à part 1). Par exemple, la source 26 peut contenir un générateur de nombres aléatoires qui est formé à partir d'amplificateurs bruyants (par exemple des amplificateurs opérationnels u709 de «Fairchild») avec un détecteur de polarité. Le générateur 22 a un vecteur de sac a' qui satisfait à l'équation ( 1 ) et permet ainsi la résolution de: According to a method of forming a hatch bag, the key generator 22 implements random numbers created by a source of key 26 which selects two large integers m and w such that w is invertible modulo m (it is that is, m and w have no common factor apart from 1). For example, source 26 may contain a random number generator which is formed from noisy amplifiers (eg u709 operational amplifiers from "Fairchild") with a polarity detector. The generator 22 has a bag vector a 'which satisfies equation (1) and thus allows the resolution of:

S' = a' * x et transforme le vecteur a' qui peut être facilement résolu en un vecteur de sac à trappe a par la relation ai = w* a'i mod m S '= a' * x and transforms the vector a 'which can be easily solved into a hatch vector a by the relation ai = w * a'i mod m

Le vecteur a constitue la clé publique E de chiffrage, indiqué par la ligne E et il est placé dans un fichier public ou transmis par le canal 19 à l'expéditeur 11. La clé E de chiffrage est ainsi disponible à la fois pour l'expéditeur 11 et l'espion 13. L'expéditeur 11 utilise la clé E égale à a pour la création du texte chiffré S à partir du message X en clair, représenté par le vecteur x, par utilisation de la relation S = a * x. Cependant, comme les valeurs a, peuvent être réparties de façon pseudoaléatoire, l'espion 13 qui connaît a mais non w ou m, ne peut pas résoudre de façon envisageable un problème du sac mettant en œuvre a pour l'obtention du message voulu x. The vector a constitutes the public encryption key E, indicated by the line E and it is placed in a public file or transmitted by channel 19 to the sender 11. The encryption key E is thus available both for the sender 11 and the spy 13. The sender 11 uses the key E equal to a for the creation of the encrypted text S from the clear message X, represented by the vector x, by using the relation S = a * x . However, as the values a, can be distributed in a pseudo-random manner, the spy 13 who knows a but does not have w or m, cannot conceivably solve a problem of the bag implementing a for obtaining the desired message x .

Le dispositif 16 de déchiffrage du réceptionnaire 12 connaît w, m et a' sous forme de la clé secrète D de déchiffrage et il peut facilement calculer les valeurs: The receiver decryption device 16 knows w, m and a 'in the form of the secret decryption key D and can easily calculate the values:

S' = 1/w* S mod m (4) S '= 1 / w * S mod m (4)

= l/w*Lxi* a. mod m (5) = l / w * Lxi * a. mod m (5)

= l/w*Ex>* w* a'i mod m (6) = l / w * Ex> * w * a'i mod m (6)

=Ixi*a'imodm (7) = Ixi * a'imodm (7)

Si m est choisi de manière que m >Ia'i (8) If m is chosen so that m> Ia'i (8)

l'équation (7) implique que S' est égal à Ix,* a', en arithmétique entière et modulo m. Ce sac peut être facilement résolu en x qui est aussi la solution du problème plus difficile du sac à trappe S —a * x. Le réceptionnaire 12 peut donc obtenir le message X en clair représenté par le vecteur binaire x. Cependant, le problème de sac à trappe de l'espion 13 peut être rendu de résolution impossible par le calcul, si bien que l'espion 13 ne peut pas disposer du message X en clair. equation (7) implies that S 'is equal to Ix, * a', in integer arithmetic and modulo m. This bag can be easily solved in x which is also the solution of the more difficult problem of the hatch bag S - a * x. The receiver 12 can therefore obtain the clear message X represented by the binary vector x. However, the hatch problem of spy 13 can be made impossible to solve by calculation, so that spy 13 cannot have the message X in plain text.

On considère maintenant un exemple dans lequel n = 5 pour clarifier un peu les idées. Si m = 8443, a' =(171, 196, 457 1191, 2410) et w = 2550, on a a = (5457, 1663, 216, 6013, 7439). Si x = (0,1, 0,1, 1 ) le dispositif 15 de chiffrage calcule S = 1663 + 6013+7439 = 15115. Le dispositif 16 de déchiffrage met en œuvre l'algorithme d'Euclide (voir par exemple ouvrage de D. Knuth, THE ART OF COMPUTER PROGRAMMING, vol II, Addison-Wesley, 1969, Reading, Ma) pour le calcul de 1/w = 3950, et il calcule alors: We now consider an example in which n = 5 to clarify the ideas a little. If m = 8443, a '= (171, 196, 457 1191, 2410) and w = 2550, we have a = (5457, 1663, 216, 6013, 7439). If x = (0.1, 0.1, 1) the encryption device 15 calculates S = 1663 + 6013 + 7439 = 15115. The decryption device 16 implements Euclid's algorithm (see for example the work of D. Knuth, THE ART OF COMPUTER PROGRAMMING, vol II, Addison-Wesley, 1969, Reading, Ma) for the calculation of 1 / w = 3950, and he then calculates:

S' =l/w* S mod m (9) S '= l / w * S mod m (9)

5 5

10 10

15 15

20 20

25 25

30 30

35 35

40 40

45 45

50 50

55 55

60 60

65 65

5 5

634 161 634,161

= 3950* 15115 mod 8443 = 3950 * 15115 mod 8443

= 3797 = 3797

Comme S' > a'5, le dispositif 16 de déchiffrage détermine que X5 = 1. Ensuite, à l'aide de l'équation (2) correspondant au vecteur a', il détermine que X4 = 1, xj = 0, x? = 1, xi = 0 ou x = (0, 1,0, 1,1) qui est aussi la solution convenable de S = As S '> a'5, the deciphering device 16 determines that X5 = 1. Then, using equation (2) corresponding to the vector a', it determines that X4 = 1, xj = 0, x ? = 1, xi = 0 or x = (0, 1.0, 1.1) which is also the suitable solution of S =

a* x. a * x.

L'espion 13 qui ne connaît ni m ni w ni a' a beaucoup de difficultés à résoudre en x l'équation S = a* x bien qu'il connaisse la méthode utilisée pour la création du vecteur a de sac à trappe. Sa tâche peut être rendue impossible lorsque n, m, vv et a' ont des valeurs importantes. La tâche est encore compliquée par brouillage de l'ordre des composantes a: et par addition de différents multiples aléatoires de m à chaque valeur de a,. Spy 13 who knows neither m nor w nor a 'has many difficulties in solving the equation S = a * x in x although he knows the method used for the creation of the hatch vector a. Its task can be made impossible when n, m, vv and a 'have important values. The task is further complicated by scrambling the order of the components a: and by adding different random multiples of m to each value of a ,.

L'exemple donné est de dimension très faible et il n'est destiné qu'à illustrer la mise en œuvre de cette technique. Si n = 100 (qui correspond à l'extrémité inférieure de la plage utile dans les systèmes présentant une sécurité élevée actuellement), sous forme d'une valeur plus raisonnable, on peut considérer que m est choisi de façon à peu près uniforme parmi les nombres compris entre 2201 + 1 et 2202 - 1, a' 1 étant choisi uniformément dans la plage (1,2100) a'2 étant choisi uniformément dans la plage (2100 + 1, 2 * 2100), a'3 étant choisi uniformément dans la plage (3 x 2'00 +1,4* 2'00, ... et a'i étant choisi uniformément dans la plage ((2-M — 1 ) * 2I00+1, 21-1 *210) alors que w' est choi si uniformément dans la plage (2, m—2) et est divisé par le plus grand commun diviseur de (vv', m) afin qu'il forme w. The example given is of very small dimension and it is only intended to illustrate the implementation of this technique. If n = 100 (which corresponds to the lower end of the useful range in currently high-security systems), in the form of a more reasonable value, we can consider that m is chosen almost uniformly among the numbers between 2201 + 1 and 2202 - 1, a '1 being chosen uniformly in the range (1.2100) a'2 being chosen uniformly in the range (2100 + 1, 2 * 2100), a'3 being chosen uniformly in the range (3 x 2'00 + 1.4 * 2'00, ... and a'i being chosen uniformly in the range ((2-M - 1) * 2I00 + 1, 21-1 * 210) while w 'is chosen so uniformly in the range (2, m — 2) and is divided by the greatest common divisor of (vv', m) so that it forms w.

Ces sélections sont telles que l'équation (8) est satisfaite et qu'un espion 13 a au moins 2100 possibilités pour chaque paramètre et ne peut donc pas toutes les étudier. These selections are such that equation (8) is satisfied and that a spy 13 has at least 2100 possibilities for each parameter and therefore cannot study them all.

Le dispositif 15 de chiffrage est représenté sur la figure 2. La séquence de nombres entiers ai, a2, .. an est présentée séquentiellement en synchronisme avec la présentation séquentielle des 0 et des 1 de xi, X2, .. .Xn. Le registre S 41 est initialement mis à 0. Si x. = 1, le contenu du registre 41 et ai sont ajoutés par l'additionneur 42 et le résultat est placé dans le registre 41. Si x, = 0, le contenu du registre 41 reste inchangé. Dans tous les cas, i est remplacé par i+1 jusqu'à i = n, et dans ce cas l'opération de chiffrage est terminée. Le registre i 43 est mis initialement à 0 et progresse d'une unité après chaque cycle du dispositif de chiffrage. L'additionneur 42 ou un compteur spécial peut être utilisé pour l'accroissement du contenu du registre 43. Dans la plage de valeurs suggérée précédemment, les registres 41 et 43 peuvent être chacun sous forme d'une mémoire à accès direct unique à 1024 bits, par exemple du type «Intel» 2102. L'additionneur 42 est décrit plus en détail dans la suite, de même que le comparateur 44 nécessaire à la comparaison de i et n lors de la détermination de la fin de l'opération de chiffrage. The encryption device 15 is shown in FIG. 2. The sequence of integers ai, a2, .. an is presented sequentially in synchronism with the sequential presentation of the 0s and 1s of xi, X2, ... .Xn. The register S 41 is initially set to 0. If x. = 1, the content of register 41 and ai are added by the adder 42 and the result is placed in register 41. If x, = 0, the content of register 41 remains unchanged. In all cases, i is replaced by i + 1 up to i = n, and in this case the encryption operation is completed. The register i 43 is initially set to 0 and progresses by one unit after each cycle of the encryption device. The adder 42 or a special counter can be used to increase the content of the register 43. Within the range of values suggested above, the registers 41 and 43 can each be in the form of a single direct access memory at 1024 bits , for example of the "Intel" type 2102. The adder 42 is described in more detail below, as is the comparator 44 necessary for the comparison of i and n when determining the end of the encryption operation .

Le générateur 22 de clé comprend un circuit multiplicateur modulo m, tel que représenté sur la figure 3, destiné à former l'expression a. = w* a' i mod m. Les deux nombres vv et a' i à multiplier sont chargées dans les registres W et A' 51 et 52 et m est chargé dans le registre M 53. Le produit w* a' i modulo m est formé dans le registre P 54 qui est mis initialement à 0. Lorsque k, le nombre de bits de la représentation binaire de m, est égal à 200, les quatre registres peuvent être formés par une seule mémoire à accès direct de 1024 bits, par exemple du type «Intel» 2102. Le circuit de la figure 3 met en œuvre l'expression wa'i mod m = w0a'i mod m + 2 wia'i mod m + 4 w;a',modm+ ...+ 2k-'wk-!a'i mod m. The key generator 22 comprises a modulo m multiplier circuit, as shown in FIG. 3, intended to form the expression a. = w * a 'i mod m. The two numbers vv and a 'i to be multiplied are loaded in the registers W and A' 51 and 52 and m is loaded in the register M 53. The product w * a 'i modulo m is formed in the register P 54 which is initially set to 0. When k, the number of bits of the binary representation of m, is equal to 200, the four registers can be formed by a single direct access memory of 1024 bits, for example of the “Intel” type 2102. The circuit of figure 3 implements the expression wa'i mod m = w0a'i mod m + 2 wia'i mod m + 4 w; a ', modm + ... + 2k-'wk-! A' i mod m.

Lors de la multiplicaton de w par a'i, lorsque le bit placé le plus à droite, contenant w» du registre 51, est un I, le contenu du registre 53 est ajouté au registre 54 par l'additionneur 55. Si w.. = 0, le registre P 54 est inchangé. Les contenus des registres M et P sont alors comparés par le comparateur 56 qui détermine le fait que le contenu du registre 54 est supérieur ou égal à m, contenu du registre 53. Si le contenu du registre 54 est supérieur ou égal à m, le circuit 55 de soustration retire m s du contenu du registre 54 et place la différence dans ce dernier, alors que, lorsque le contenu est inférieur à m, le registre 54 reste inchangé. During the multiplication of w by a'i, when the rightmost bit, containing w "of register 51, is an I, the content of register 53 is added to register 54 by the adder 55. If w. . = 0, register P 54 is unchanged. The contents of registers M and P are then compared by the comparator 56 which determines the fact that the content of register 54 is greater than or equal to m, content of register 53. If the content of register 54 is greater than or equal to m, the subtraction circuit 55 removes ms from the content of register 54 and places the difference in the latter, whereas, when the content is less than m, register 54 remains unchanged.

Ensuite, le contenu du registre W 51 est décalé d'un bit vers la droite et un 0 est introduit à gauche si bien que le contenu 10 devient 0wk-i Wk-:.. .wawi, et w est prêt pour le calcul de 2wia' mod m. La quantité 2a' mod m est calculée à cet effet à l'aide de l'additionneur 55 qui ajoute a' à son contenu, du comparateur 56 qui détermine si le résultat 2a' est inférieur à m, et du circuit 57 de soustraction qui retire m de 2a' si le résultat 15 n'est pas inférieur à m. Le résultat 2a' mod m est alors conservé dans le registre A' 52. Le bit placé le plus à droite, contenant wi, dans le registre 51 est alors examiné comme décrit précédemment et l'opération se répète. Then, the content of the register W 51 is shifted by one bit to the right and a 0 is entered on the left so that the content 10 becomes 0wk-i Wk -: ... ... wawi, and w is ready for the calculation of 2wia 'mod m. The quantity 2a 'mod m is calculated for this purpose using the adder 55 which adds a' to its content, comparator 56 which determines whether the result 2a 'is less than m, and the subtraction circuit 57 which remove m from 2a 'if the result 15 is not less than m. The result 2a 'mod m is then stored in the register A' 52. The bit placed on the right, containing wi, in the register 51 is then examined as described above and the operation is repeated.

L'opération est répétée au maximum k fois ou jusqu'à ce 20 que le registre 51 ne contienne que des zéros, et à ce moment, wa' mod m est conservé dans le registre 54. The operation is repeated a maximum of k times or until the register 51 contains only zeros, and at this time wa 'mod m is kept in the register 54.

On considère le problème du calcul de 7 x 7 modulo 23, à titre d'exemple. Les étapes suivantes représentent le contenu successif des registres W, A' et P qui donne la réponse 7x7 25 = 3 modulo 23. We consider the problem of calculating 7 x 7 modulo 23, as an example. The following steps represent the successive content of the registers W, A 'and P which gives the response 7x7 25 = 3 modulo 23.

i W (binaire) i W (binary)

0 00111 0 00111

1 00011 30 2 00001 100011 30 2 00001

3 00000 3 00000

A' P A 'P

7 0 7 0

14 0 + 7 = 7 14 0 + 7 = 7

5 7+14 = 21 5 7 + 14 = 21

10 21+ 5 = 3 mod 23 10 21+ 5 = 3 mod 23

La figure 4 représente un circuit d'additionneur 42 ou 55 destiné à ajouter deux nombres p et z à kbits. Les nombres 35 sont présentés bit par bit au dispositif, avec en premier les bits d'ordre inférieur, et l'élément à retard est initialement mis à 0 (le retard représente la retenue binaire). La porte ET 61 détermine le fait que le bit de retenue est un 1, lorsque pi et zi sont tous deux des 1, et la porte ET 62 détermine le fait que 40 la retenue doit être un 1 parce que la retenue précédente était un 1 et l'un des paramètres pi et zi est un 1. Si l'une de ces deux conditions est satisfaite, la porte OU 63 transmet un 1 indiquant une retenue à l'étage suivant. Les deux portes dilemnes 64 et 65 déterminent le iilime bit de la somme, Si, comme étant la 45 somme modulo 2 de pi, z\ et le bit de retenue de l'étage précédent. Le circuit 66 de retard conserve le bit précédent de retenue. Des exemples de composants convenant pour les portes ET et le circuit à retard portent les références SN7400, SN7404 et SN7474. FIG. 4 represents an adder circuit 42 or 55 intended to add two numbers p and z to kbits. The numbers 35 are presented bit by bit to the device, with the lower order bits first, and the delay element is initially set to 0 (the delay represents the binary carry). AND gate 61 determines that the carry bit is 1, when pi and zi are both 1, and AND gate 62 determines that 40 carry must be 1 because the previous carry was 1 and one of the parameters pi and zi is a 1. If one of these two conditions is satisfied, the OR gate 63 transmits a 1 indicating a carry-over to the next stage. The two dilemma gates 64 and 65 determine the iilime bit of the sum, Si, as being the 45 sum modulo 2 of pi, z \ and the carry bit of the preceding stage. The delay circuit 66 retains the previous carry bit. Examples of components suitable for AND gates and the delay circuit are given the references SN7400, SN7404 and SN7474.

50 La figure 5 représente un exemple de comparateur 44 ou 56 de deux nombres p et m. Ces deux nombres sont présentés bit par bit, à partir des bits d'ordre élevé. Si aucune des sorties p<m et p>m n'a été déclenchée après les derniers bits po et mo, on a alors p = m. Le premier déclenchement de l'une des 55 sorties p<m ou p>m provoque l'arrêt de la comparaison. Les deux portes ET 71 et 72 ont chacune une entrée d'inversion (représentée par un petit cercle). Les circuits SN7400 et SN7404 constituent la totalité des circuits logiques nécessaires. 50 FIG. 5 represents an example of comparator 44 or 56 of two numbers p and m. These two numbers are presented bit by bit, starting from the high order bits. If none of the outputs p <m and p> m were triggered after the last bits po and mo, then we have p = m. The first triggering of one of the 55 outputs p <m or p> m stops the comparison. The two AND gates 71 and 72 each have an inversion input (represented by a small circle). The SN7400 and SN7404 circuits constitute the totality of the necessary logic circuits.

60 La figure 6 représente un exemple de circuit 57 de soustraction de demande. Comme les nombres soustraits dans le circuit de la figure 3 donnent toujours une différence qui n'est pas négative, le traitement des différences négatives n'a pas à être considéré. Le nombre le plus grand, qui est le nombre à 65 soustraire, est appelé p et le plus petit qui est le nombre soustrait, est appelé m. p et m sont présentés en série au circuit 57, à partir des bits d'ordre faible. Les portes ET 81 et 83, une porte OU 84 et un circuit dilemne 82 déterminent si une FIG. 6 shows an example of a circuit 57 for request subtraction. As the numbers subtracted in the circuit of Figure 3 always give a difference which is not negative, the treatment of negative differences need not be considered. The largest number, which is the number to be subtracted from 65, is called p and the smallest number, which is the subtracted number, is called m. p and m are presented in series to circuit 57, from the low order bits. The AND gates 81 and 83, an OR gate 84 and a dilemma circuit 82 determine whether a

634 161 634,161

6 6

retenue négative est à prendre en considération. Une telle retenue négative se présente lorsque p. = 0 et mi = 1 ou lorsque p. = mi, la retenue négative provenant de l'étage précédent. Le circuit 85 à retard conserve la retenue négative antérieure. Le ii,;mc bit de la différence pi est calculé sous forme de la différence modulo 2 ou de l'opération dilemne de pi, mi et du bit de retenue négative. Le signal de la porte 82 donne la différence modulo 2 entre pi et mi, et la porte dilemne 86 forme la différence modulo 2 entre p. et mi, et la porte dilemne 86 forme la différence modulo 2 de la valeur obtenue avec le bit précédent de retenue négative. Les composants convenant pour ces portes et le circuit à retard sont les composants SN7400, SN7404 et SN7474. negative deduction is to be taken into account. Such negative withholding arises when p. = 0 and mi = 1 or when p. = mi, the negative reservoir from the previous floor. The delay circuit 85 retains the previous negative hold. The ii,; mc bit of the pi difference is calculated as the modulo 2 difference or the dilemma operation of pi, mi and the negative carry bit. The signal from gate 82 gives the modulo 2 difference between pi and mi, and dilemma gate 86 forms the modulo 2 difference between p. and mi, and the dilemma gate 86 forms the difference modulo 2 of the value obtained with the preceding negative carry bit. The components suitable for these doors and the delay circuit are components SN7400, SN7404 and SN7474.

La figure 7 représente le dispositif 16 de déchifrage. Il reçoit le texte chiffré S et la clé de déchiffrage comprenant w, m et a', et il doit calculer x. FIG. 7 represents the device 16 for deciphering. It receives the encrypted text S and the decryption key comprising w, m and a ', and it must calculate x.

Lors du calcul de x, w et m sont d'abord introduits dans un circuit d'inversion modulo m 91 qui calcule w1 mod m. Il utilise alors le circuit multiplicateur modulo m 92 pour le calcul de S' = w-' S mod. m. Comme indiqué dans les équations (7) et (8), S' = a'* x dont la résolution en x est facile. Le comparateur 93 compare alors S' avec a' n et décide que Xn = 1 si S' ääa'n et quexn = Osi S'< a'n. Si xn = 1, S' est remplacé par S'-a'n calculé par le circuit 94 de soustraction. Si xn = 0, S' est inchangé. L'opération se répète pour a' n-i et Xn-i et se poursuit jusqu'à la fin du calcul de x. Le registre j 95 est mis initialement à n et diminue d'une unité après chaque étage du processus de déchiffrage jusqu'à j = 0 qui provoque l'arrêt des opérations et la signification du calcul de x. Le circuit 94 de soustraction ou un décompteur peut être utilisé pour la régression du contenu du registre 95. Le comparateur 96 peut comparer le contenu du registre 95 à 0 et peut déterminer le moment de l'arrêt des opérations. Le circuit multiplicateur modulo m 92 est représenté plus en détail sur la figure 3; le comparateur 93 est représenté plus en détail sur la figure 5 et le circuit 94 de soustraction est représenté plus en détail sur la figure 6. Le circuit 91 d'inversion modulo m peut être réalisé d'après une version développée bien connue de l'algorithme d'Euclide (comme décrit par exemple dans l'ouvrage de D. Knuth, THE ART OF COMPUTER PROGRAMMING, vol. II, Addison-Wesley, 1969, Reading Ma., p. 302 et p. 315, problème 15). Cet ouvrage indique qu'un tel circuit nécessite 6 registres, un comparateur, un circuit diviseur et un circuit de soustraction. Tous ces dispositifs ont déjà été décrits en détail, à l'exception du circuit diviseur. When calculating x, w and m are first introduced into a modulo m 91 inversion circuit which calculates w1 mod m. It then uses the multiplying circuit modulo m 92 for the calculation of S '= w-' S mod. m. As indicated in equations (7) and (8), S '= a' * x whose resolution in x is easy. The comparator 93 then compares S 'with a' n and decides that Xn = 1 if S 'ääa'n and quexn = Osi S' <a'n. If xn = 1, S 'is replaced by S'-a'n calculated by the circuit 94 of subtraction. If xn = 0, S 'is unchanged. The operation is repeated for a 'n-i and Xn-i and continues until the end of the calculation of x. The register j 95 is initially set to n and decreases by one unit after each stage of the deciphering process until j = 0 which causes the stopping of the operations and the meaning of the calculation of x. The subtraction circuit 94 or a down counter can be used for the regression of the content of the register 95. The comparator 96 can compare the content of the register 95 to 0 and can determine the moment of stopping operations. The modulo m 92 multiplier circuit is shown in more detail in Figure 3; the comparator 93 is shown in more detail in Figure 5 and the subtraction circuit 94 is shown in more detail in Figure 6. The modulo m inversion circuit 91 can be made from a well-known developed version of the Euclid's algorithm (as described for example in the work of D. Knuth, THE ART OF COMPUTER PROGRAMMING, vol. II, Addison-Wesley, 1969, Reading Ma., p. 302 and p. 315, problem 15). This book indicates that such a circuit requires 6 registers, a comparator, a divider circuit and a subtraction circuit. All these devices have already been described in detail, with the exception of the divider circuit.

La figure 8 représente un appareil destiné à diviser un nombre entier u par un autre nombre entier v et à calculer un quotient q et un reste r tel que 0 ^ r^ v-1. D'abord, u et v représentés par des nombres binaires sont chargés dans les registres U et V 101 et 102. Ensuite, v, le contenu du registre 102, est décalé vers la gauche jusqu'à ce qu'il apparaisse un 1 à vk-i, le bit le plus à gauche du registre 102. L'opération peut être réalisée par utilisation du complément de Vk-i pour le pilotage de la commande de décalage d'un registre à décalage tel que «Signetics» 2533, mis initialement à 0. Le contenu du compteur-décompteur 103 est égal au nombre de bits du quotient, moins 1. FIG. 8 represents an apparatus intended to divide an integer u by another integer v and to calculate a quotient q and a remainder r such that 0 ^ r ^ v-1. First, u and v represented by binary numbers are loaded into registers U and V 101 and 102. Then, v, the contents of register 102, are shifted to the left until a 1 appears vk-i, the leftmost bit of register 102. The operation can be performed by using the complement of Vk-i for controlling the shift command of a shift register such as "Signetics" 2533, set initially at 0. The content of the up-down counter 103 is equal to the number of bits of the quotient, minus 1.

Après la mise en route, v, c'est-à-dire le contenu du registre 102, est comparé au contenu du registre U 101 par un comparateur 104. Si v>u, qn, le bit le plus significatif du quotient, est égal à 0 et u est laissé inchangé. Si v^u, qn = 1 et u est remplacé par u-v calculé par le circuit 105 de soustraction. Dans tous les cas, v est décalé d'un bit vers la droite et la comparaison v>u est répétée pour le calcul de qn-i, le bit suivant du quotient. After startup, v, that is to say the content of register 102, is compared with the content of register U 101 by a comparator 104. If v> u, qn, the most significant bit of the quotient, is equal to 0 and u is left unchanged. If v ^ u, qn = 1 and u is replaced by u-v calculated by the circuit 105 of subtraction. In all cases, v is shifted by one bit to the right and the comparison v> u is repeated for the calculation of qn-i, the next bit of the quotient.

L'opération se répète, le compteur 103 régressant d'une unité après chaque répétition jusqu'à ce qu'il contienne 0. A ce moment, le quotient est complet et le reste r est présent dans le registre U 101. The operation is repeated, the counter 103 regressing by one unit after each repetition until it contains 0. At this time, the quotient is complete and the rest r is present in the register U 101.

Par exemple, on considère la division de 14 par 4 qui donne q=3 et r=2 avec k=4 correspondant à la dimension du registre. Comme u=14= 1110 et v=4=0100 sous forme binaire, le registre 101 est décalé vers la gauche une fois seulement avec formation de v= 1000. Après cette opération, on constate que v^u si bien que le premier bit du quotient qi = 1 et u est remplacé par u-v ; v est remplacé par lui-même décalé vers la droite d'un bit, et le compteur 103 revient à 0. Ce fait indique que le dernier bit du qotient qo est en cours de calcul et, après la répétition en cours, le reste r se trouve dans le registre U. La séquence suivante du contenu du registre facilite la compréhension de ces opérations. For example, consider the division of 14 by 4 which gives q = 3 and r = 2 with k = 4 corresponding to the dimension of the register. As u = 14 = 1110 and v = 4 = 0100 in binary form, the register 101 is shifted to the left only once with the formation of v = 1000. After this operation, we see that v ^ u so that the first bit of the quotient qi = 1 and u is replaced by uv; v is replaced by itself shifted to the right by one bit, and the counter 103 returns to 0. This fact indicates that the last bit of the qotient qo is being calculated and, after the repetition in progress, the rest r is found in the U register. The following sequence of the contents of the register facilitates the understanding of these operations.

U V compteur qi U V counter qi

1110 1000 1 1 1110 1000 1 1

0110 0100 0 1 0110 0100 0 1

0010 - arrêt 0010 - stop

On note que q= 11 sous forme binaire, équivalant à q=3, et que r=0010 sous forme binaire, équivalant à r=2. We note that q = 11 in binary form, equivalent to q = 3, and that r = 0010 in binary form, equivalent to r = 2.

Un autre procédé de formation d'un vecteur a de sac à trappe met en œuvre le fait qu'un tel problème multiplicatif posé par un tel sac peut être facilement résolu lorsque les composantes vectorielles sont des nombres premiers entre eux. Si a' = (6, 11,35,43, 169), et qu'un produit partiel est P=2838, on détermine facilement que P=6* 11* 43 car 6,11 et 43 sont des diviseurs de P mais non 35 et 169. Un problème de sac de type multiplicatif est transformé en un problème de type additif par utilisation des logarithmes. Les logarithmes sont calculés dans le domaine (fini) de Galois GF (m) à m éléments, m étant un nombre premier. On peut aussi utiliser des valeurs non premières pour m, mais les opérations sont quelque peu plus compliquées. Another method for forming a hatch bag vector a implements the fact that such a multiplicative problem posed by such a bag can be easily solved when the vector components are prime numbers between them. If a '= (6, 11,35,43, 169), and that a partial product is P = 2838, one easily determines that P = 6 * 11 * 43 because 6,11 and 43 are divisors of P but no 35 and 169. A multiplicative type bag problem is transformed into an additive type problem by using logarithms. Logarithms are calculated in the (finite) Galois domain GF (m) with m elements, m being a prime number. We can also use non-prime values for m, but the operations are somewhat more complicated.

Un exemple simple facilite la compréhension. Si n=4, m=257, a'= (2,3,5,7) et la base des logarithmes est b= 131, on obtient a= (80,183,81, 195). Ainsi, 13180=2 mod 257; J31 '83=3 m0(j 2571 etc. La détermination des logarithmes dans le domaine GF (m) est relativement commode lorsque m-1 n'a que des facteurs premiers petits. A simple example makes it easier to understand. If n = 4, m = 257, a '= (2,3,5,7) and the base of the logarithms is b = 131, we obtain a = (80,183.81, 195). Thus, 13180 = 2 mod 257; J31 '83 = 3 m0 (j 2571 etc. The determination of logarithms in the domain GF (m) is relatively convenient when m-1 has only small prime factors.

Lorsque le dispositif 16 de déchiffrage reçoit S= 183+81=264, il utilise la clé D de déchiffrage comprenant m, a' et b et il calcule: When the deciphering device 16 receives S = 183 + 81 = 264, it uses the deciphering key D comprising m, a 'and b and it calculates:

S' = bsmodm = 13 1 264 mod 257 = 15 = 3*5 S '= bsmodm = 13 1 264 mod 257 = 15 = 3 * 5

= a'^'a^'aVa'*0 qui implique que x = (0,1, 1,0). En effet, = a '^' a ^ 'aVa' * 0 which implies that x = (0,1, 1,0). Indeed,

t>S = *Xj) t> S = * Xj)

= nb(a'*x,i = nb (a '* x, i

= ria'ixi mod m = ria'ixi mod m

Cependant, il faut que: However, it is necessary that:

n not

ïla'iCm i — xj afin que Fia7 i mod m soit égal à fia' >Xi, en arithmétique des nombres entiers. ïla'iCm i - xj so that Fia7 i mod m is equal to fia '> Xi, in whole number arithmetic.

L'espion 13 connaît la clé E de chiffrage qui comporte le vecteur a mais ne connaît pas la clé D de déchiffrage et se trouve confronté à un problème insoluble par le calcul. L'exemple donné est encore simple et illustre simplement Spy 13 knows the encryption key E which includes the vector a but does not know the decryption key D and is faced with a problem that cannot be solved by calculation. The example given is still simple and simply illustrates

5 5

10 10

15 15

20 20

25 25

30 30

35 35

40 40

45 45

50 50

55 55

60 60

65 65

7 7

634 161 634,161

la technique mise en œuvre. Lorsque n = 100, si chaque a'. est un nombre premier aléatoire à 100 bits, m a une longueur d'environ 10 000 bits, afin que l'éguation (14) soit satisfaite. Bien qu'une expansion de données de 100/1 soit acceptable dans certaines applications (par exemple la transmission sûre d'une clé dans un canal non sûr), il n'est pas nécessaire probablement qu'un adversaire soit aussi peu incertain des valeurs a'.. On peut aussi utiliser les n premiers nombres premiers pour les a', et dans ce cas n peut avoir une longueur aussi faible que 730 bits lorsque n = 100, la condition (14) étant toujours satisfaite. En conséquence, il existe un compromis possible entre la sécurité et l'expansion des données. the technique used. When n = 100, if each a '. is a 100-bit random prime number, m has a length of about 10,000 bits, so that the equation (14) is satisfied. Although a data expansion of 100/1 is acceptable in some applications (for example the secure transmission of a key in an insecure channel), it is probably not necessary for an adversary to be as uncertain of the values a '.. We can also use the first n prime numbers for the a', and in this case n can be as short as 730 bits when n = 100, condition (14) being always satisfied. As a result, there is a possible trade-off between security and data expansion.

Dans ce mode de réalisation, le dispositif 15 de chiffrage a la configuration représentée en détail sur la figure 2 et décrite précédemment. Le dispositif 16 de déchiffrage du second mode de réalisation est représenté en détail sur la figure 9. Le texte chifré S et une partie de la clé D de déchiffrage, à savoir b et n, sont utilisés par le circuit 111 de traitement exponentiel pour le calcul de P = bs mod m. Comme indiqué par les équations (12) à (14) et dans l'exemple, Pest un produit partiel de {a,}, qui est aussi une partie de la clé D de déchiffrage. Le circuit diviseur 112 divise P para'i pour i = 1,2,3,... n et il transmet uniquement le reste ri au comparateur 113. Lorsque ri = 0, a' i est un diviseur entier de P et x. = 1. Si n ^ 0, Xi = 0. Le circuit diviseur 112 peut être réalisé comme représenté en détail sur la figure 8 et décrit précédemment. Le comparateur 113 peut être du type représenté sur la figure 5 et décrit en détail; cependant, des dispositifs plus efficaces existent pour la comparaison à 0. In this embodiment, the encryption device 15 has the configuration shown in detail in FIG. 2 and described above. The deciphering device 16 of the second embodiment is shown in detail in FIG. 9. The encrypted text S and part of the deciphering key D, namely b and n, are used by the exponential processing circuit 111 for the calculation of P = bs mod m. As indicated by equations (12) to (14) and in the example, P is a partial product of {a,}, which is also part of the decryption key D. The divider circuit 112 divides P para'i for i = 1,2,3, ... n and it transmits only the remainder ri to the comparator 113. When ri = 0, a 'i is an integer divider of P and x. = 1. If n ^ 0, Xi = 0. The divider circuit 112 can be produced as shown in detail in FIG. 8 and described previously. The comparator 113 can be of the type shown in FIG. 5 and described in detail; however, more efficient devices exist for comparing to 0.

Le circuit 111 de traitement exponentiel, destiné à porter b à la puissance S modulo m, peut être sous forme du circuit électronique de la figure 10. Cette dernière représente le contenu initial de trois registres 121, 122 et 123. La représentation binaire de S (Sk-i st-:... sis») est chargée dans le registre S 121,1 est chargé dans le registre R 122, et la représentation binaire de b est chargée dans le registre B 123 correspondant à i = 0. Le nombre de bits k dans chaque registre est l'entier le plus petit tel que 2k>m. Lorsque k = 200, les trois registres peuvent être formés par une seule mémoire à accès direct à 1024 bits du type «Intel» 2102. Le circuit 124 de multiplication de deux nombres modulo m a été décrit en référence à la figure 3. The exponential processing circuit 111, intended to bring b to the power S modulo m, can be in the form of the electronic circuit of FIG. 10. The latter represents the initial content of three registers 121, 122 and 123. The binary representation of S (Sk-i st -: ... sis ") is loaded in the register S 121,1 is loaded in the register R 122, and the binary representation of b is loaded in the register B 123 corresponding to i = 0. The number of bits k in each register is the smallest integer such as 2k> m. When k = 200, the three registers can be formed by a single 1024-bit direct access memory of the “Intel” type 2102. The circuit 124 for multiplying two modulo numbers m has been described with reference to FIG. 3.

On se réfère maintenant à la figure 10 et on note que, lorsque le bit d'ordre inférieur contenant s», dans le registre 121, est égal à 1, les contenus des registres Ret B 122 et 123 sont multipliés modulo m et le produit, qui est aussi une quantité à k bits, remplacent le contenu du registre 122. Lorsque Su = 0, le contenu du registre 122 reste inchangé. We now refer to FIG. 10 and note that, when the lower order bit containing s ", in the register 121, is equal to 1, the contents of the registers Ret B 122 and 123 are multiplied modulo m and the product , which is also a k-bit quantity, replace the content of register 122. When Su = 0, the content of register 122 remains unchanged.

Dans tous les cas, le registre 123 est alors chargé deux fois dans le circuit multiplicateur 124 si bien que le carré modulo m du contenu du registre 123 est calculé. Cette valeur b':'+i) remplace le contenu du registre 123. Le contenu du registre 121 est décalé d'un bit vers la droite et un 0 est décalé à gauche si bien que le contenu est alors osk-isk-:... s2si. In all cases, the register 123 is then loaded twice into the multiplier circuit 124 so that the square modulo m of the content of the register 123 is calculated. This value b ':' + i) replaces the content of register 123. The content of register 121 is shifted one bit to the right and a 0 is shifted to the left so that the content is then osk-isk- :. .. s2si.

Le bit d'ordre inférieur, contenant si, dans le registre 121 est examiné. II est égal à 1, comme précédemment, les contenus des registres 122 et 123 sont multipliés modulo m et le produit remplace le contenu du registre 122. Lorsque le bit d'ordre inférieur est égal à 0, le contenu du registre 122 reste inchangé. Dans tous les cas, le contenu du registre B 123 est remplacé par le carré modulo m du contenu précédent. Le contenu du registre S 121 est décalé d'un bit vers la droite et un 0 est placé à gauche si bien que le contenu est alors 00sk-i Sk-2 . . . S3S2. The lower order bit, containing if, in register 121 is examined. It is equal to 1, as previously, the contents of the registers 122 and 123 are multiplied modulo m and the product replaces the content of the register 122. When the lower order bit is equal to 0, the content of the register 122 remains unchanged. In all cases, the content of register B 123 is replaced by the square modulo m of the preceding content. The content of register S 121 is shifted by one bit to the right and a 0 is placed on the left so that the content is then 00sk-i Sk-2. . . S3S2.

L'opération se poursuit jusqu'à ce que le registre 121 ne contienne que des zéros et la valeur de bs modulo m est alors conservée dans le registre 122. The operation continues until register 121 contains only zeros and the value of bs modulo m is then kept in register 122.

Un exemple est utile pour la compréhension de l'opération. Si m = 23, on détermine k = 5 à partir de 2k^ m. Si b = 7 et S = 18, on abs = 718 = 1628413597910449 = 23 (70800591213497)4-18 si bien quebs nodulo m est égal à 18. Cette méthode directe mais laborieuse de calcul de b* modulo m est utilisée pour la vérification montrant que le procédé mis en œuvre dans le circuit de la figure 10, décrit dans la suite, donne le résultat convenable. L es contenus des registres 122 et 123 sont représentés sous forme décimale facilitant la compréhension. An example is useful for understanding the operation. If m = 23, we determine k = 5 from 2k ^ m. If b = 7 and S = 18, we abs = 718 = 1628413597910449 = 23 (70800591213497) 4-18 so that nbsulo m is equal to 18. This direct but laborious method of calculating b * modulo m is used for verification showing that the method implemented in the circuit of FIG. 10, described below, gives the suitable result. The contents of registers 122 and 123 are represented in decimal form to facilitate understanding.

i i

S (binaire) S (binary)

R R

B B

0 0

10010 10010

1 1

7 7

1 1

01001 01001

1 1

3 3

2 2

00100 00100

3 3

9 9

3 3

00010 00010

3 3

12 12

4 4

00001 00001

""

6 6

5 5

00000 00000

18 18

13 13

La ligne marquée i = 0 corrspond au contenu initial des registres S = 18, R = 1 et B = b = 7. Alors, comme décrit précédemment, comme le bit de droite du registre 121 est un 0, le contenu du registre 122 reste inchangé, celui du registre 123 est remplacé par le carré modulo 23 du contenu précédent (72 = 49 = 2 x 23+3 = 3 modulo 23), le contenu du registre 121 est décalé d'un bit vers la droite et l'opération se poursuit. Ce n'est que lorsque i = 1 et 4 que le bit de droite du contenu du registre 121 est égal à 1 si bien que ce n'est que lors du passage dei = Ià2eti = 4à5 que le contenu du registre 122 est remplacé par RB modulo n. Lorsque i = 5 = S = 0 si bien que l'opération est terminée et le résultat 18 se trouve dans le registre 122. The line marked i = 0 corresponds to the initial content of registers S = 18, R = 1 and B = b = 7. Then, as described above, since the right bit of register 121 is a 0, the content of register 122 remains unchanged, that of register 123 is replaced by the modulo square 23 of the previous content (72 = 49 = 2 x 23 + 3 = 3 modulo 23), the content of register 121 is shifted one bit to the right and the operation continues. It is only when i = 1 and 4 that the right bit of the content of register 121 is equal to 1 so that it is only when passing dei = Ià2eti = 4à5 that the content of register 122 is replaced by RB modulo n. When i = 5 = S = 0 so that the operation is finished and the result 18 is in the register 122.

Il faut noter qu'un obtient le même résultat 18 que dans le calcul direct de 718 modulo 23, mais dans ce dernier cas, on ne traite jamais des grands nombres. It should be noted that one obtains the same result 18 as in the direct calculation of 718 modulo 23, but in the latter case, one never deals with large numbers.

On eut comprendre le processus d'une autre manière: on note que le registre B 123 contient b, b2, b4, b8 et b16 lorsque i = 0,1,2,3 et 4 respectivement, et que b'8 = b16b2, si bien que seules ces deux valeurs doivent être multipliées. We could understand the process in another way: we note that the register B 123 contains b, b2, b4, b8 and b16 when i = 0,1,2,3 and 4 respectively, and that b'8 = b16b2, so that only these two values need to be multiplied.

Le générateur 22 de clé utilisé dans le second mode de réalisation est représenté en détail sur la figure 11. Une table de n petits nombres entiers pi est formée et conservée dans la source 131 qui peut être une mémoire passive, par exemple «Intel» 2316 E. La source 26 de clé, comme décrit précédemment, crée des nombres aléatoires ei. Les petits nombres premiers de la source 131 sont portés chacun à une puissance différente, représentée par un nombre aléatoire ei provenant de la source 26 de clé, par le circuit 132 de traitement exponentiel qui forme piei pour i compris entre 1 et n. Le circuit multiplicateur 133 calcule alors le produit de toutes les valeurs pie' qui peut être représenté par flpi«. Le produit de tous les pic'i, A piei est alors augmenté d'une unité dans l'additionneur The key generator 22 used in the second embodiment is shown in detail in FIG. 11. A table of n small integers pi is formed and stored in the source 131 which can be a passive memory, for example “Intel” 2316 E. The key source 26, as previously described, creates random numbers ei. The small prime numbers of the source 131 are each brought to a different power, represented by a random number ei coming from the key source 26, by the exponential processing circuit 132 which forms piei for i between 1 and n. The multiplier circuit 133 then calculates the product of all the values pie 'which can be represented by flpi'. The product of all pic'i, A piei is then increased by one unit in the adder

134 qui crée la valeur potentielle de m. Si m doit être premier, la valeur potentielle de m peut être vérifiée par le dispositif 134 which creates the potential value of m. If m must be prime, the potential value of m can be checked by the device

135 de vérification de nombres premiers. 135 for checking prime numbers.

Les dispositifs destinés à vérifier qu'un nombre m est premier, lorsque la factorisation de m-1 est connue (car dans ce cas m-1 = lì piei), sont bien connus dans la technique, ■comme décrit par exemple dans l'ouvrage de D. Knuth, THE ART OF COMPUTER PROGRAMMING (vol. II, Seminumerical Algorithms, p. 347-48). Comme décrit dans cet ouvrage, le dispositif 135 de vérification de nombres premiers doit simplement comprendre un dispositif destiné à la mise de divers nombres à diverses puissances modulo m, The devices intended to verify that a number m is prime, when the factorization of m-1 is known (because in this case m-1 = lì piei), are well known in the art, ■ as described for example in work by D. Knuth, THE ART OF COMPUTER PROGRAMMING (vol. II, Seminumerical Algorithms, p. 347-48). As described in this work, the device 135 for verifying prime numbers must simply comprise a device intended for putting various numbers at various powers modulo m,

s s

10 10

15 15

20 20

25 25

30 30

35 35

40 40

45 45

50 50

55 55

60 60

65 65

634 161 634,161

8 8

n— 1 (25) n— 1 (25)

xi = Y. bj2J xi = Y. bj2J

j = i comme décrit en référence à la figure 10. Lorsqu'une valeur plus facile lorsqu'on note que, au début de la iemc boucle, on a potentielle de m est déterminée comme étant première, elle m = (p— 1 )/2i+1 (23) j = i as described with reference to figure 10. When an easier value when we note that, at the beginning of the iemc loop, we have potential of m is determined as being prime, it m = (p— 1) / 2i + 1 (23)

est transmise par le générateur de clé publique de la figure 11, is transmitted by the public key generator of FIG. 11,

sous forme du paramètre m. Les éléments a'i du vecteur à' et peuvent alors être choisis afin qu'ils soient les n petits s z _ ax, (moc} p) (24) as the parameter m. The elements a'i of the vector to 'and can then be chosen so that they are the n small s z _ ax, (moc} p) (24)

nombres premiers pi provenant de la source 131. prime numbers pi from source 131.

La base b des logarithmes est alors choisie comme un avec nombre aléatoire, par la source 26. The base b of the logarithms is then chosen as one with a random number, by the source 26.

Les éléments du vecteur a sont calculés par le convertisseur logarithmique 136 sous forme des logarithmes à base b des éléments du vecteur a' dans le domaine GF(m). L'opération et la structure du convertisseur logarithmique 136 sont Ainsi, lorsque z est porté à la m'eme puissance, on obtient: The elements of vector a are calculated by the logarithmic converter 136 in the form of logarithms based on b of the elements of vector a 'in the domain GF (m). The operation and structure of the logarithmic converter 136 are thus, when z is brought to the same power, we obtain:

décrites dans la suite. described below.

On sait que, lorsque p est premier, on a: zm _ au,m> = a[ip-n.:i. o.|. 2h zf~! = 1 (modp), 1 ^Zf£p~' (15) We know that, when p is prime, we have: zm _ au, m> = a [ip-n.:i. o. |. 2h zf ~! = 1 (modp), 1 ^ Zf £ p ~ '(15)

= (—1)*'2 = (—l)h| (modp) (26) = (—1) * '2 = (—l) h | (modp) (26)

En conséquence, le traitement arithmétique, dans l'exposant, As a result, the arithmetic processing, in the exponent,

correspond à modulo p— 1 et non à modulo p. Ainsi, si bien que zm = 1 (mod p) si et seulement si b. = 0, et zm = — 1 corresponds to modulo p— 1 and not to modulo p. So, so that zm = 1 (mod p) if and only if b. = 0, and zm = - 1

20 (mod p) si et seulement si bi = 1. 20 (mod p) if and only if bi = 1.

z* = zs"m,<|p-'>(In0dp) (16) Par exemple, considérons p = 17 = 24 + l.a = 3 est un z * = zs "m, <| p - '> (In0dp) (16) For example, consider p = 17 = 24 + l.a = 3 is a

élément primitif (a= 2 n'est pas un élément primitif car 2S = pour tous les nombres entiers x. 256 = 1 modulo 17). Si y = 10, l'algorithme calcule x de la primitive element (a = 2 is not a primitive element because 2S = for all integers x. 256 = 1 modulo 17). If y = 10, the algorithm calculates x of the

L'algorithme de calcul des logarithmes modulo p apparaît manière suivante (il faut noter que ß = x-1 = 6 car mieux lors de la considération du cas particulier p = 2n+1. 253x6 = 18= 1 modulo 17): The algorithm for calculating the modulo p logarithms appears as follows (note that ß = x-1 = 6 because better when considering the particular case p = 2n + 1. 253x6 = 18 = 1 modulo 17):

On connaît a, p et y, a étant un élément primitif de GF(p) et on doit déterminer x tel que y = a" (mod p). On peut supposer O^Xîip—2 puisque x = p—1 ne peut pas être distingué de x = 0. We know a, p and y, a being a primitive element of GF (p) and we must determine x such that y = a "(mod p). We can assume O ^ Xîip — 2 since x = p — 1 cannot not be distinguished from x = 0.

Lorsque p = 2n+1, on détermine facilement x oar détermination du développement binaire {bo,..., bn-i}de x. When p = 2n + 1, x o is easily determined by determining the binary expansion {bo, ..., bn-i} of x.

Le bit le moins significatif bo de x est déterminé par mise de y à la puissance (p —1)/2 = 2"-', et par utilisation de la règle: The least significant bit bo of x is determined by setting y to the power (p —1) / 2 = 2 "- ', and by using the rule:

,i u _0 35 nable car a3 = 33 = 27 = 10 (mod 17). , i u _0 35 nable because a3 = 33 = 27 = 10 (mod 17).

y'f-",:(modp) = { _j'b^ _ j (17) y'f - ", :( modp) = {_j'b ^ _ j (17)

On peut généraliser cet algorithme à des nombres premiers arbitraires p. Si We can generalize this algorithm to arbitrary prime numbers p. Yes

Ce fait est établi car on note que. puisque a est un élément primitif. 40 p — 1 = pn'p"2... pk"k, pi > p.+ i (27) This fact is established because we note that. since a is a primitive element. 40 p - 1 = pn'p "2 ... pk" k, pi> p. + I (27)

a'p-'i - = — l (mod p) (18) a'p-'i - = - l (mod p) (18)

est la factorisation en nombres premiers de p — 1, les compo- is the prime factorization of p - 1, the components

et en conséquence: santés pi sont des nombres premiers distincts et les valeurs de and consequently: health pi are distinct prime numbers and the values of

45 ni sont des nombres entiers positifs. La valeur de x(mod pi"') 45 ni are positive integers. The value of x (mod pi "')

yip—n : = = (— l)*(modp) (19) est déterminée pour i = 1,... k et les résultats combinés par le théorème du reste chinois donnent: yip — n: = = (- l) * (modp) (19) is determined for i = 1, ... k and the results combined by the Chinese remainder theorem give:

Le bit suivant du développement de x est alors déterminé par ^ The next development bit of x is then determined by ^

utilisation des relations: . , n. , , use of relationships:. , not. ,,

sßx(mod n pi'= x(modp-l) = x (28) sßx (mod n pi '= x (modp-l) = x (28)

z = y «_b" = axi (mod p) (20) 1 ' z = y "_b" = axi (mod p) (20) 1 '

puisque O^x^p—2. Ce théorème peut être mis en œuvre en n—I 0 (k logzp) opérations en en 0 (k log:p) bits de mémoire (on b'2' (21) compte une multiplication modulo p comme étant une opéra- since O ^ x ^ p — 2. This theorem can be implemented in n — I 0 (k logzp) operations in 0 (k log: p) bits of memory (on b'2 '(21) counts a multiplication modulo p as being an operation-

i = 1 55 tion). i = 1 55 tion).

i i

Z Z

ß ß

m m

W bi W bi

0 0

10 10

6 6

8 8

16 1 16 1

1 1

9 9

i i

4 4

16 1 16 1

2 2

1 1

4 4

i i

1 0 1 0

3 3

1 1

16 16

1 1

1 0 1 0

4 4

1 1

1/2 1/2

On constate ainsi que x = We thus see that x =

2"+2' 2 "+2 '

= 3. Cette relation est conve- = 3. This relation is suitable

Xi Xi

Il apparaît ainsi que xi est un multiple de 4 si et seulement si It thus appears that xi is a multiple of 4 if and only if

On considère le développement suivant de x (mod pi" ), n—1 We consider the following expansion of x (mod pi "), n — 1

bi = 0. Si bi = 1, x; est divisible par 2 mais non par 4. Le x(modpn') = £ bjpi' (29) bi = 0. If bi = 1, x; is divisible by 2 but not by 4. The x (modpn ') = £ bjpi' (29)

raisonnement précèdent permet la détermination de: 1 j = 0 above reasoning allows the determination of: 1 j = 0

60 60

•H,bi=0 avecO^bj^pi— 1. • H, bi = 0 with O ^ bj ^ pi— 1.

zp~ '4 (mod p) = { _j'j3i _ j (22) Le coefficient le moins significatif bo est déterminé par mise de y à la puissance (p—l)/pi, zp ~ '4 (mod p) = {_j'j3i _ j (22) The least significant coefficient bo is determined by setting y to the power (p — l) / pi,

yip-n p.= a'p-" Pi= yi* = (yì) b°(mod p) (30) yip-n p. = a'p- "Pi = yi * = (yì) b ° (mod p) (30)

Les bits restants de x sont déterminés de manière analogue. 65 ayec L'algorithme est schématiquement représenté par l'organigramme du tableau I. The remaining bits of x are determined analogously. 65 with the algorithm is schematically represented by the flowchart in Table I.

La compréhension de l'organigramme de la figure 12 est Y' = et"1-" ^(mod p) (31) The understanding of the flowchart of figure 12 is Y '= and "1-" ^ (mod p) (31)

9 9

634 161 634,161

qui est une pûème racine primitive de l'unité. Il n'y a donc que pi valeurs possibles pour y^-"^ (mod p) et la valeur résultante détermine de façon unique bu. which is a primitive root pûème of unity. There are therefore only pi possible values for y ^ - "^ (mod p) and the resulting value uniquely determines bu.

Le chiffre suivant bi, dans le développement de base pi de x (mod pini), est déterminé à l'aide de la relation z = y • a b" = aX| (mod p), n—1 The following figure bi, in the basic development pi of x (mod pini), is determined using the relation z = y • a b "= aX | (mod p), n — 1

avec xi = Y. bipiJ with xi = Y. bipiJ

j=l j = l

(32) (32)

(33) (33)

10 10

Si l'on porte alors z à la puissance (p — 1 )/pi2, on obtient: Z'p-D-Pj- = „(p- j j.xi/p,2 = y," 1- Pi = (y,)bi (mod p) If we then bring z to the power (p - 1) / pi2, we obtain: Z'p-D-Pj- = „(p- j j.xi / p, 2 = y," 1- Pi = (y,) bi (mod p)

(34) (34)

il n'y a encore que pi valeurs possibles de z,p'' 'pi: et cette valeur 20 détermine bi. L'opération est poursuivie pour la détermination de tous les coefficients b,. there are still only pi possible values of z, p '' 'pi: and this value 20 determines bi. The operation is continued for the determination of all the coefficients b ,.

L'organigramme de la figure 13 résume l'algorithme de calcul des coefficients (bi) du développement (29). Cet algorithme est utilisé k fois pour le calcul de x (mod pïni) pour 25 i = 1, 2,3 ... k et les résultats sont combinés par le théorème du reste chinois pour l'obtention de x. La fonction gi (w) du tableau 11 est déterminée par la relation du reste chinois ou peut noter que x = 8 ou x = 8+9 = 17 et 17 seulement est impair). A titre de vérification, on constate que 217 = 131072 = 10 (mod 19), si bien que y = ax(modp). The flowchart in Figure 13 summarizes the algorithm for calculating the development coefficients (bi) (29). This algorithm is used k times for the calculation of x (mod pïni) for 25 i = 1, 2,3 ... k and the results are combined by the Chinese remainder theorem to obtain x. The function gi (w) of table 11 is determined by the relation of the Chinese remainder or can note that x = 8 or x = 8 + 9 = 17 and 17 only is odd). As a check, we can see that 217 = 131 072 = 10 (mod 19), so that y = ax (modp).

On note que le convertisseur logarithmique nécessite un circuit d'inversion modulo p pour le calcul de ß = a-1 (mod p). Comme déjà indiqué, l'opération peut être réalisée sous la forme développée de l'algorithme d'Euclide qui nécessite l'utilisation d'un circuit diviseur du type représenté sur la figure 8, d'un circuit multiplicateur du type de la figure 3 et du comparateur de la figure 5. Le convertisseur logarithmique nécessite aussi le circuit diviseur de la figure 8 (pour le calcul des valeurs successives de n), l'additionneur de la figure 4 (pour la progression de j), le circuit de traitement exponentiel modulo p de la figure 10 (pour le calcul de W et ßbJ et pour le calcul préalable de la table de gi(w)), le circuit multiplicateur modulo p de la figure 3 (pour le calcul des valeurs successive de Z) et le comparateur de la figure 5 (pour la détermination du moment où j = Ni). L'utilisation du convertisseur logarithmique suivant le théorème du reste chinois ne nécessite que des dispositifs qu'on a déjà décrits (circuits multiplicateur de la figure 3 et inverseur modulo m). We note that the logarithmic converter requires a modulo p inversion circuit for the calculation of ß = a-1 (mod p). As already indicated, the operation can be carried out in the developed form of the Euclidean algorithm which requires the use of a divider circuit of the type represented in FIG. 8, of a multiplier circuit of the type of FIG. 3 and the comparator of FIG. 5. The logarithmic converter also requires the divider circuit of FIG. 8 (for the calculation of the successive values of n), the adder of FIG. 4 (for the progression of j), the processing circuit exponential modulo p of figure 10 (for the calculation of W and ßbJ and for the preliminary calculation of the table of gi (w)), the multiplier circuit modulo p of figure 3 (for the calculation of the successive values of Z) and the comparator of FIG. 5 (for the determination of the moment when j = Ni). The use of the logarithmic converter according to the Chinese rest theorem only requires devices that have already been described (multiplier circuits in Figure 3 and modulo m inverter).

Selon le premier procédé de formation d'un vecteur de sac à trappe, un problème très difficile impliquant un vecteur a est transformé en un problème très simple et très facilement soluble, concernant a', mettant en œuvre la transformation: According to the first method of forming a hatch vector, a very difficult problem involving a vector is transformed into a very simple and very easily soluble problem, concerning a ', implementing the transformation:

a'i have

1/w* ai mod m 1 / w * ai mod m

(36) (36)

' = w (mod p), 0 g. (w) ^ pi— 1 '= w (mod p), 0 g. (w) ^ pi— 1

(35) (35)

30 30

pour laquelle y est défini par la relation (31 ). for which y is defined by the relation (31).

Lorsque tous les facteurs premiers {pi} jv, de p — 1 sont petits, les fonctions gi (w) peuvent être facilement utilisées sous forme de tables, et le calcul du logarithme dans le domaine GF(b) nécessite 0(log:p);: opérations et une quantité minimale de mémoires pour les tables des fonctions gi (w). Le critère prédominant de calcul porte sur le calcul de w = z" qui nécessite 0(log:p) opérations. Cette boucle est parcourue When all the prime factors {pi} jv, of p - 1 are small, the functions gi (w) can be easily used in the form of tables, and the calculation of the logarithm in the domain GF (b) requires 0 (log: p ) ;: operations and a minimum quantity of memories for the gi (w) function tables. The predominant calculation criterion relates to the calculation of w = z "which requires 0 (log: p) operations. This loop is traversed

35 35

Un problème de sac impliquant a peut ainsi être résolu car il est transformable en un autre problème impliquant a' et qui est soluble. Il faut cependant noter que la raison pour laquelle les problèmes de sac impliquant a' sont solubles a peu d'importance. Ainsi, à la place du critère selon lequel a' doit satisfaire l'équation (1), on peut fixer un critère selon lequel a' doit être transformable en un autre problème de sac impliquant a", par transformation du type: A bag problem involving a can thus be solved because it is convertible into another problem involving a 'and which is soluble. It should be noted, however, that the reason why bag problems involving a 'are soluble is of little importance. Thus, instead of the criterion according to which a 'must satisfy equation (1), one can fix a criterion according to which a' must be transformable into another problem of bag implying a ", by transformation of the type:

a"i = 1/w' * a'i mod m' a "i = 1 / w '* a'i mod m'

(37) (37)

fois et, lorsque toutes les valeurs de pi sont petites, times and, when all the values of pi are small,

i= 1 k i = 1 k

Y ni est approximativement égal à log:p. Ainsi, lorsque p-1 Y ni is approximately equal to log: p. So when p-1

r= 1 r = 1

n'a que des petits facteurs premiers, le calcul des logarithmes dans le domaine GF (p) peut être facile. has only small prime factors, calculating logarithms in the GF (p) domain can be easy.

Dans un exemple, on considère p = 19, a = 2, y = 10. On a alors p— 1 = 2.32et pi = 2, ni = 1, p: = 3 et n; = 2. Le calcul de x(mod pi"1) = x(mod 2) nécessite le calcul de y' In an example, we consider p = 19, a = 2, y = 10. We then have p— 1 = 2.32 and pi = 2, ni = 1, p: = 3 and n; = 2. The calculation of x (mod pi "1) = x (mod 2) requires the calculation of y '

p-ii pi = p-ii pi =

cc"= 512 = 18(mod 19), si bien que bi = 1 etx cc "= 512 = 18 (mod 19), so that bi = 1 etx

(mod 2) = 2" = 1 (c'est-à-dire que x est impair). L'organigramme de la figure 13 est parcouru à nouveau pour p: = 3, n: = 2, et on obtient ß = 10, car 2x = 20 = 1 modulo 19; en outre, y: = a6 = 7 et 7° = 1,7' = 7, et7: = 11 (mod 19) et g:(l) = 0,g2(7) = 1 et g:( 11 ) = 2. (mod 2) = 2 "= 1 (that is to say x is odd). The flowchart of figure 13 is crossed again for p: = 3, n: = 2, and we obtain ß = 10, because 2x = 20 = 1 modulo 19; in addition, y: = a6 = 7 and 7 ° = 1.7 '= 7, et7: = 11 (mod 19) and g: (l) = 0, g2 ( 7) = 1 and g :( 11) = 2.

Z Z

B B

n j n d

W W

bj bj

10 10

10 10

6 6

0 0

11 11

2 2

12 12

12 12

2 2

1 1

11 11

2 2

18 18

18 18

2/3 2/3

2 2

si bien que x (mode p:":) = x(mod9) = 2.3n+2.3' = 8. so that x (p mode: ":) = x (mod9) = 2.3n + 2.3 '= 8.

La connaissance de x(mod 2) = 1 et de x(mod 9) = 8 implique que x(mod 18)= 17. (On peut utiliser le théorème Knowing x (mod 2) = 1 and x (mod 9) = 8 implies that x (mod 18) = 17. (We can use the theorem

40 a" satisfaisant à l'équation (1) ou pouvant être facilement résolu par ailleurs. Après réalisation deux fois de la transformation, sa mise en œuvre une troisième fois ne pose pas de problème; en fait, il apparaît que ce processus peut être répété aussi souvent que voulu. 40 a "satisfying equation (1) or being easily solved elsewhere. After carrying out the transformation twice, its implementation a third time does not pose any problem; in fact, it appears that this process can be repeated as often as desired.

45 A chaque transformation successive, la structure du vecteur a connu du public devient de plus en plus obscure. Le problème simple du sac est chiffré essentiellement par application répétée d'une transformation qui préserve la structure fondamentale du problème. Le résultat final a so paraît sous forme d'une collection de nombres aléatoires. Le fait que le problème puisse être facilement résolu a été totalement caché. 45 With each successive transformation, the structure of the vector known to the public becomes more and more obscure. The simple problem of the bag is quantified essentially by repeated application of a transformation which preserves the fundamental structure of the problem. The end result a so appears as a collection of random numbers. The fact that the problem can be easily resolved has been completely hidden.

Le vecteur original et facile à déterminer du problème du sac peut satisfaire à toute condition, telle que la condition (1) 55 qui garantit sa résolution facile. Ainsi, il peut s'agir d'un problème de sac à trappe de type multiplicatif. De cette manière, on peut combiner les deux types de méthode de sac à trappe sous forme d'une méthode unique dont la détermination est encore probablement plus difficile. 60 II est important de considérer la vitesse de croissance de a car celle-ci détermine le développement des données impliquées par la transmission du vecteur x à n dimensions sous forme de la quantité plus importante S. La vitesse de croissance dépend du procédé de sélection des nombres, 65 mais, lors d'une mise en œuvre «raisonnable» avec n = 100, chaque composante ai a une dimension supérieure au maximum de 7 bits à la composante a' i correspondante, chaque a' i ayant au maximum 7 bits de plus que la The original and easily determined vector of the bag problem can satisfy any condition, such as condition (1) 55 which guarantees its easy resolution. Thus, it may be a problem of a multiplicative type hatch bag. In this way, the two types of hatch method can be combined in the form of a single method, the determination of which is still probably more difficult. 60 It is important to consider the growth rate of a because this determines the development of the data involved in the transmission of the vector x with n dimensions in the form of the larger quantity S. The growth rate depends on the selection process of the numbers, 65 but, during a “reasonable” implementation with n = 100, each component ai has a dimension greater than the maximum of 7 bits than the corresponding component a 'i, each a' i having at most 7 bits of more than the

634 161 634,161

10 10

composante a"., etc. Chaque étape successive de la transformation augmente la dimension du problème mais seulement d'une petite quantité fixe. Si la transformation est répétée 20 fois, 140 bits au maximum sont ajoutés à chanque ai. Ainsi, si chaque a. a une longueur de 200 bits au début, il faut seulement 340 bits après 20 étages. Le vecteur solution du problème du sac pour n = 100 a donc au maximum une dimension de 100* 340 = 34 kilobits. component a "., etc. Each successive step of the transformation increases the dimension of the problem but only by a small fixed quantity. If the transformation is repeated 20 times, a maximum of 140 bits are added to each ai. Thus, if each a has a length of 200 bits at the beginning, only 340 bits are needed after 20 stages. The vector solution of the bag problem for n = 100 therefore has at most a dimension of 100 * 340 = 34 kilobits.

Des circuits numériques habituels d'authentification assurent la protection contre les falsifications par une partie extérieure, mais ils ne peuvent pas être utilisés pour le règlement des différends entre l'expéditeur 11 et le réceptionnaire 12, concernant le fait qu'un message éventuel a été transmit. Une signature numérique véritable est aussi appelée reçu car elle permet au réceptionnaire 12 de prouver qu'un message particulier M lui a été expédié par l'expéditeur 11. Les problèmes de sac à trappe peuvent être utilisés pour la création de tels reçus de la manière suivante. Usual digital authentication circuits provide protection against forgery by an outside party, but they cannot be used for the settlement of disputes between the sender 11 and the receiver 12, concerning the fact that a possible message has been transmitted. A true digital signature is also called a receipt because it allows the receiver 12 to prove that a particular message M has been sent to him by the sender 11. The hatch bag problems can be used for the creation of such receipts in the manner next.

Si chaque message M d'une plage fixe large a une image inverse x, on peut l'utiliser pour la formation de reçus. L'expéditeur 11 crée des vecteurs b' et b de sac à trappe tels que b' est une clé secrète, par exemple un vecteur de sac dont la solution est facile, b étant une clé publique, par exemple obtenue par la relation: If each message M of a wide fixed range has an inverse image x, it can be used for the formation of receipts. The sender 11 creates hatch bag vectors b 'and b such that b' is a secret key, for example a bag vector whose solution is easy, b being a public key, for example obtained by the relation:

bi = w*b'.modm (38) bi = w * b'.modm (38)

Le vecteur b est alors soit placé dans un fichier public, soit émis vers le réceptionnaire 12. Lorsque l'expéditeur 11 peut transmettre un reçu pour le message M, il calcule et transmet x tel que: b* x = M. L'expéditeur 11 crée x pour le message voulu M par résolution du problème du sac qui peut être résolu facilement. The vector b is then either placed in a public file, or sent to the receiver 12. When the sender 11 can transmit a receipt for the message M, it calculates and transmits x such that: b * x = M. The sender It creates x for the desired message M by solving the problem of the bag which can be easily resolved.

M' = 1/w * M mod m (39) M '= 1 / w * M mod m (39)

= l/w*£xi*bimodm (40) = l / w * £ xi * bimodm (40)

= l/w*Xxî*w*b'imodm (41) = l / w * Xxî * w * b'imodm (41)

= ]Fxi*b'imodm (42) =] Fxi * b'imodm (42)

Le réceptionnaire 12 peut facilement calculer M à partir de x et, par vérification d'un domaine indiquant une date et un temps (ou de toute autre redondance dans M) détermine le fait que le message M était authentique. Comme le réceptionnaire 12 ne peut pas créer un tel vecteur x puisqu'il faut qu'il connaisse b' que seul l'expéditeur 11 possède, le réceptionnaire 12 garde x sous forme d'une preuve de l'expédition du message M par l'expéditeur 11. The receiver 12 can easily calculate M from x and, by checking a domain indicating a date and a time (or any other redundancy in M) determines the fact that the message M was authentic. As the receiver 12 cannot create such a vector x since he must know b 'that only the sender 11 has, the receiver 12 keeps x in the form of a proof of the sending of the message M by l sender 11.

Ce procédé de formation de reçus peut être modifié afin qu'il soit utilisé lorsque la densité de solutions (fractions des messages M comprises entre 0 et bi ayant des solutions pour b* x = M) est inférieure à 1, pourvu qu'elle ne soit pas trop faible. Le message M est transmis en clair ou sous .forme chiffrée comme indiqué précédemment lorsque l'espionnage pose des problèmes, et une séquence de fonctions unidirectionnelles reliées yi = Fi(M), y: = F:(M),... est calculée. L'expéditeur 11 cherche à obtenir une image inverse x pour y i, y:,... jusqu'à ce qu'il en détermine une et ajoute le x correspondant au message M sous forme d'un reçu. Le réceptionnaire 12 calcule M' = b* x et vérifie que M' = y;, i étant compris dans une plage acceptable. This method of forming receipts can be modified so that it is used when the density of solutions (fractions of messages M between 0 and bi having solutions for b * x = M) is less than 1, provided that it does not is not too weak. The message M is transmitted in clear or in encrypted form as indicated above when espionage poses problems, and a sequence of unidirectional functions connected yi = Fi (M), y: = F: (M), ... is calculated. The sender 11 seeks to obtain an inverse image x for y i, y:, ... until he determines one and adds the x corresponding to the message M in the form of a receipt. The receiver 12 calculates M '= b * x and verifies that M' = y ;, i being within an acceptable range.

La séquence des fonctions unidirectionnelles peut aussi simple que The sequence of unidirectional functions can be as simple as

Fi(M) = F(M) + i (43) Fi (M) = F (M) + i (43)

ou or

F,(M) = F(M + i) (44) F, (M) = F (M + i) (44)

lorsque F(*) est une fonction unidirectionnelle. Il faut que la plage de fonctions F(*) ait au moins 2100 valeurs pour que les tentatives empiriques de falsification soient vouées à l'échec. when F (*) is a unidirectional function. The range of functions F (*) must have at least 2100 values for empirical falsification attempts to fail.

On peut aussi combiner le message et le reçu sous forme d'un seul ensemble message-reçu. Lorsque la plage acceptable pour i est comprise entre 0 et 2'-1 et lorsque le mesage a une longueur de J bits, un nombre unique à J+1 bits peut représenter le message et i. L'expéditeur 11 vérifie une solution de b* x = S pour chacune des 21 valeurs de S obtenues lorsque par exemple les J premiers bits de S sont rendus égaux au message et les I derniers bits de S sont libres. La première solution x obtenue est transmise au réceptionnaire 12 sous forme du message-reçu. Le réceptionnaire 12 obtient S par calcul du produit scalaire de la clé publique D et de la combinaison message-reçu x, et il conserve les J premiers bits de S ainsi obtenus. L'authenticité du message est validée par présence d'une redondance appropriée dans le message, soit une redondance naturelle lorsque le message est exprimé en langage normal tel que le français ou l'anglais, soit une redondance artificielle, par exemple obtenue par addition d'un domaine de date et de temps au message. The message and the receipt can also be combined in the form of a single message-received set. When the acceptable range for i is between 0 and 2'-1 and when the message has a length of J bits, a number unique to J + 1 bits can represent the message and i. The sender 11 verifies a solution of b * x = S for each of the 21 values of S obtained when for example the first J bits of S are made equal to the message and the last I bits of S are free. The first solution x obtained is transmitted to the receiver 12 in the form of the message-received. The receiver 12 obtains S by calculating the scalar product of the public key D and of the message-received combination x, and he keeps the first J bits of S thus obtained. The authenticity of the message is validated by the presence of an appropriate redundancy in the message, either a natural redundancy when the message is expressed in normal language such as French or English, or an artificial redundancy, for example obtained by adding d 'a date and time domain to the message.

La redondance, considérée dans le présent mémoire, a le sens connu dans la théorie de l'information (Claude E. Shannon, «THE MATHEMATICALTHEORYOF COMMUNICATION», Bell System Technical Journal, vol. 27, p. 379 et 623,1948) et dans la théorie de la complexité (Gregory J. Chaitin «ON THE LENGTH OF PROGRAMMS FOR COMPUTING FINITE BINARY SEQUENCES», Journal of the Association for Computing Machinery, vol. 13, p. 547, 1966) pour la mesure de la structure dans un message (écart par rapport à l'imprévisibilité et au caractère aléatoire complets). Une source de messages ne possède par de redondance uniquement lorsque tous les caractères apparaissent avec des probabilités égales. Si l'on peut deviner les caractères du message avec une chance de succès meilleure que dans un cas purement aléatoire, la source possède une redondance et la vitesse à laquelle un joueur hypothétique peut faire croître sa fortune est la mesure quantitative de la redondance, comme décrit dans le rapport de Thomas M. Cover et Roger C. King, «A CONVERGENT GAMBLING ESTIMATE OF THE ENTROPY OF ENGLISH», Technical Report * 22, Statistics Department, Stanford University, 1er novembre 1976. Les êtres humains peuvent facilement valider le message par une vérification de redondance (par exemple par détermination du fait que le message s'exprime de façon grammaticale convenable en français). La simulation de la situation du joueur permet à une machine la validation du fait qu'un message possède ou non la redondance convenant à la source revendiquée. Redundancy, considered in this memoir, has the known meaning in information theory (Claude E. Shannon, "THE MATHEMATICALTHEORYOF COMMUNICATION", Bell System Technical Journal, vol. 27, p. 379 and 623.1948) and in complexity theory (Gregory J. Chaitin "ON THE LENGTH OF PROGRAMMS FOR COMPUTING FINITE BINARY SEQUENCES", Journal of the Association for Computing Machinery, vol. 13, p. 547, 1966) for the measurement of structure in a message (deviation from complete unpredictability and randomness). A message source does not have redundancy only when all the characters appear with equal probabilities. If one can guess the characters of the message with a better chance of success than in a purely random case, the source has redundancy and the speed at which a hypothetical player can increase his fortune is the quantitative measure of redundancy, as described in the report by Thomas M. Cover and Roger C. King, "A CONVERGENT GAMBLING ESTIMATE OF THE ENTROPY OF ENGLISH", Technical Report * 22, Statistics Department, Stanford University, November 1, 1976. Humans can easily validate the message by a redundancy check (for example by determining that the message is expressed in a suitable grammar in French). The simulation of the player's situation allows a machine to validate whether a message has or not the redundancy suitable for the claimed source.

Une partie de la clé D de déchiffrage peut être connue du public et non secrète, pourvu que la partie de D qui n'est pas divulguée empêche l'espion 13 d'obtenir le message X en clair. Part of the decryption key D may be known to the public and not secret, provided that the part of D which is not disclosed prevents spy 13 from obtaining the message X in clear text.

Dans certaines applications, il peut être intéressant que le i'ème réceptionnaire crée un vecteur a(i) de sac à trappe comme indiqué précédemment, et place ce vecteur ou une représentation abrégée de ce vecteur dans un fichier public ou un annuaire. Ensuite, un expéditeur qui veut établir un canal de communication sûr utilise a(i) comme clé de déchiffrage pour la transmission au iième réceptionnaire. L'avantage est que ce iiéme réceptionnaire, lorsqu'il a prouvé son identité à l'expéditeur par utilisation de son permis de conduire, de ses empreintes digitales, etc., peut prouver son identité à l'expéditeur par son aptitude à déchiffrer les données chiffrées à l'aide de la clé a(i). In certain applications, it may be advantageous for the i'th recipient to create a hatch bag vector a (i) as indicated above, and place this vector or an abridged representation of this vector in a public file or in a directory. Then, a sender who wants to establish a secure communication channel uses a (i) as a decryption key for transmission to the i-th receiver. The advantage is that this second recipient, when he has proved his identity to the sender by using his driving license, his fingerprints, etc., can prove his identity to the sender by his ability to decipher the data encrypted using the key a (i).

s s

10 10

15 15

20 20

25 25

30 30

35 35

40 40

45 45

50 50

55 55

60 60

65 65

B B

8 feuilles dessins 8 sheets of drawings

Claims (2)

634 161 634,161 2 2 REVENDICATIONS 1. Appareil de déchiffrage d'un message chiffré reçu par un canal de communication ( 19) non sûr comportant un dispositif (32) relié pour recevoir le message qui est chiffré par une transformation de chiffrage dans laquelle un message qui doit être conservé secret est transformé par une clé publique (E) de chiffrage, ainsi qu'un dispositif de déchiffrage (16) qui comporte un dispositif (91,92) pour recevoir une clé secrète (D) de déchiffrage pour produire le message en inversant la transformation de chiffrage, et qui comporte un générateur du message (93,94) ayant une entrée reliée pour recevoir l'inverse du message chiffré et une sortie pour produire le message, la clé secrète (D) de déchiffrage ne pouvant être produite par calcul à partir de la clé publique (E) de chiffrage, et la transformation de chiffrage ne pouvant être inversée par calcul, en l'absence de la clé secrète (D) de déchiffrage, caractérisé en ce que le dispositif d'inversion de la transformation de chiffrage comprend un dispositif de calcul (91,92) de: CLAIMS 1. Apparatus for decrypting an encrypted message received by an insecure communication channel (19) comprising a device (32) connected to receive the message which is encrypted by an encryption transformation in which a message which must be kept secret is transformed by a public encryption key (E), as well as a decryption device (16) which comprises a device (91, 92) for receiving a secret decryption key (D) for producing the message by reversing the transformation of encryption, and which comprises a generator of the message (93, 94) having an input connected to receive the inverse of the encrypted message and an output for producing the message, the secret decryption key (D) being unable to be produced by calculation from of the public encryption key (E), and the encryption transformation which cannot be reversed by calculation, in the absence of the secret decryption key (D), characterized in that the device for inverting the chi transformation ffrage includes a device (91,92) for calculating: S' = l/w* S mod m et S '= l / w * S mod m and étant représentée par b, m et a' ; a' étant un vecteur à n dimensions dont les composantes a', sont des nombres n'ayant aucun commun multiple; S' étant l'inverse du message chiffré déterminé par la transformation de chiffrage: being represented by b, m and a '; a 'being a vector with n dimensions whose components a', are numbers having no common multiple; S 'being the inverse of the encrypted message determined by the encryption transformation: s s S = a* x le message étant représenté par un vecteur x, à n dimensions, dont chaque composante xi est égale à 0 ou 1 ; la clé publique io (E) de chiffrage étant représentée par le vecteur a, à n dimensions, dont les composantes sont telles que: S = a * x the message being represented by a vector x, with n dimensions, of which each component xi is equal to 0 or 1; the public key io (E) of encryption being represented by the vector a, with n dimensions, the components of which are such that: ai = logb a' i mod m pour i = 1,2,... n. ai = logb a 'i mod m for i = 1,2, ... n. îs 3. Utilisation de l'appareil selon la revendication 1 ou 2 dans une installation de transmission de messages chiffrés d'un expéditeur à un réceptionnaire par un canal de communication non sûr moyennant une clé publique de chiffrage et une clé secrète de déchiffrage. îs 3. Use of the apparatus according to claim 1 or 2 in an installation for transmitting encrypted messages from a sender to a receiver via an insecure communication channel using a public encryption key and a secret decryption key. 20 20 le dispositif générateur du message comprend un dispositif (93,94) destiné à établir les valeurs x. égales à la partie entière de: the message generating device comprises a device (93, 94) for establishing the x values. equal to the whole part of: n not S'-I j-i+ 1 S'-I j-i + 1 Xj* a'i Xj * a'i /a', pour i = n, n— 1,... 1 / a ', for i = n, n— 1, ... 1 m et w étant des nombres entiers élevés et w pouvant être inversé modulo m; S' étant l'inverse du message chiffré S, déterminé par la transformation de chiffrage m and w being high whole numbers and w being able to be inverted modulo m; S 'being the inverse of the encrypted message S, determined by the encryption transformation S = a* x le message étant représenté par un vecteur x à n dimensions dont chaque composante xi est un nombre entier compris entre 0 et /; /étant un nombre entier, la clé publique (E) de chiffrage étant représentée par un vecteur a, à n dimensions, dont les composantes sont telles que: S = a * x the message being represented by a vector x with n dimensions of which each component xi is an integer ranging between 0 and /; / being an integer, the public encryption key (E) being represented by a vector a, with n dimensions, the components of which are such that: a, = (w* a'j mod m) + km pour i = 1,2,... n k et n étant des nombres entiers et la clé secrète (D) de déchiffrage étant formée de m, w et a'; a' étant un vecteur à n dimensions dont les composantes sont telles que: a, = (w * a'j mod m) + km for i = 1,2, ... n k and n being whole numbers and the secret decryption key (D) being formed of m, w and a '; a 'being a n-dimensional vector whose components are such that: i—1 i — 1 a'i >/ Y. aj pour i = 1,2,... n. a'i> / Y. aj for i = 1,2, ... n. j=l j = l 2. Appareil selon la revendication 1, caractérisé en ce que le dispositif d'inversion de la transformation de chiffrage comprend un dispositif de calcul (92) de: 2. Apparatus according to claim 1, characterized in that the device for reversing the encryption transformation comprises a device (92) for calculating: S' = bsmodm et le dispositif générateur du message comprend un dispositif (93) destiné à fixer xì = 1, si et seulement si le quotient de S' par a. est un nombre entier, et à fixer Xi = 0, si ce quotient n'est pas un nombre entier; b et m étant des nombres entiers élevés et m étant un nombre premier tel que: S '= bsmodm and the device generating the message comprises a device (93) intended to fix xì = 1, if and only if the quotient of S' by a. is an integer, and fix Xi = 0, if this quotient is not an integer; b and m being high integers and m being a prime number such that: m > m> n not 7t i= 1 7t i = 1 a'i n étant un nombre entier, et la clé secrète (E) de déchiffrage a'i n being an integer, and the secret decryption key (E)
CH1036378A 1977-10-06 1978-10-05 APPARATUS FOR DECIPHERING A NUMBERED MESSAGE AND ITS USE IN A TRANSMISSION INSTALLATION. CH634161A5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/839,939 US4218582A (en) 1977-10-06 1977-10-06 Public key cryptographic apparatus and method

Publications (1)

Publication Number Publication Date
CH634161A5 true CH634161A5 (en) 1983-01-14

Family

ID=25281034

Family Applications (1)

Application Number Title Priority Date Filing Date
CH1036378A CH634161A5 (en) 1977-10-06 1978-10-05 APPARATUS FOR DECIPHERING A NUMBERED MESSAGE AND ITS USE IN A TRANSMISSION INSTALLATION.

Country Status (13)

Country Link
US (1) US4218582A (en)
JP (1) JPS5950068B2 (en)
AU (1) AU519184B2 (en)
BE (1) BE871039A (en)
CA (1) CA1128159A (en)
CH (1) CH634161A5 (en)
DE (1) DE2843583C2 (en)
ES (1) ES474539A1 (en)
FR (1) FR2405532B1 (en)
GB (1) GB2006580B (en)
IT (1) IT1099780B (en)
NL (1) NL7810063A (en)
SE (1) SE439225B (en)

Families Citing this family (404)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4351982A (en) * 1980-12-15 1982-09-28 Racal-Milgo, Inc. RSA Public-key data encryption system having large random prime number generating microprocessor or the like
JPS57132449A (en) * 1981-02-07 1982-08-16 Masahiro Yagisawa Encrypter and decoder realizing public cypher key system
US4399323A (en) * 1981-02-09 1983-08-16 Bell Telephone Laboratories, Incorporated Fast real-time public key cryptography
US4471164A (en) * 1981-10-13 1984-09-11 At&T Bell Laboratories Stream cipher operation using public key cryptosystem
US4670857A (en) * 1981-10-26 1987-06-02 Rackman Michael I Cartridge-controlled system whose use is limited to authorized cartridges
US4503287A (en) * 1981-11-23 1985-03-05 Analytics, Inc. Two-tiered communication security employing asymmetric session keys
EP0085130A1 (en) * 1982-02-02 1983-08-10 Omnet Associates Method and apparatus for maintaining the privacy of digital messages conveyed by public transmission
NL8201077A (en) * 1982-03-16 1983-10-17 Philips Nv A COMMUNICATION SYSTEM, CONTAINING A CENTRAL DATA PROCESSING DEVICE, ACCESS STATIONS AND EXTERNAL STATIONS, WHICH A CRYPTOGRAPHIC CHECK IS FORDICULARIZING AN EXTERNAL STATION, AND EXTERNAL STATIONS FOR USE IN SUCH A COMMUNITY.
US4668103A (en) * 1982-04-30 1987-05-26 Wilson William J Polygraphic encryption-decryption communications system
US4757468A (en) * 1982-09-22 1988-07-12 Intel Corporation Authenticated read-only memory
JPS59226935A (en) * 1983-06-01 1984-12-20 アメリカン・エクスプレス・カンパニ− Portable information card protecting apparatus
US4658093A (en) * 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US4759063A (en) * 1983-08-22 1988-07-19 Chaum David L Blind signature systems
DK152239C (en) * 1983-12-30 1988-07-04 Sp Radio As PROCEDURE FOR CRYPTOGRAPHIC TRANSFER OF SPEECH SIGNALS AND COMMUNICATION STATION FOR EXERCISING THE PROCEDURE
US4625076A (en) * 1984-03-19 1986-11-25 Nippon Telegraph & Telephone Public Corporation Signed document transmission system
US4633036A (en) * 1984-05-31 1986-12-30 Martin E. Hellman Method and apparatus for use in public-key data encryption system
JPS6194281A (en) * 1984-10-15 1986-05-13 Matsushita Electric Ind Co Ltd Head shifter
DE3439120A1 (en) * 1984-10-25 1986-05-07 Philips Kommunikations Industrie AG, 8500 Nürnberg Method for identifying a subscriber station of a telecommunications network
US4860128A (en) * 1985-04-24 1989-08-22 Nintendo Co., Ltd. Recordable data device having identification symbols formed thereon and cooperating data processing system having registering symbols
CA1270339A (en) * 1985-06-24 1990-06-12 Katsuya Nakagawa System for determining a truth of software in an information processing apparatus
JPH074449B2 (en) * 1985-10-04 1995-01-25 任天堂株式会社 Cartridge for game machine and game machine using the same
USRE34161E (en) * 1985-10-04 1993-01-12 Nintendo Company Limited Memory cartridge and information processor unit using such cartridge
JPS62260244A (en) * 1986-05-06 1987-11-12 Nintendo Co Ltd Memory cartridge
US5226136A (en) * 1986-05-06 1993-07-06 Nintendo Company Limited Memory cartridge bank selecting apparatus
US4731841A (en) * 1986-06-16 1988-03-15 Applied Information Technologies Research Center Field initialized authentication system for protective security of electronic information networks
DE3782780T2 (en) * 1986-08-22 1993-06-09 Nippon Electric Co KEY DISTRIBUTION PROCEDURE.
DE3751958T2 (en) * 1986-09-30 1997-04-10 Canon K.K., Tokio/Tokyo Error correction device
CA1330596C (en) * 1986-11-19 1994-07-05 Yoshiaki Nakanishi Memory cartridge and data processing apparatus
US4891781A (en) * 1987-03-04 1990-01-02 Cylink Corporation Modulo arithmetic processor chip
US4841570A (en) * 1987-05-11 1989-06-20 The United States Of America As Represented By The United States Department Of Energy One-way transformation of information
US4827507A (en) * 1987-06-19 1989-05-02 Motorola, Inc. Duplex analog scrambler
US4881264A (en) * 1987-07-30 1989-11-14 Merkle Ralph C Digital signature system and method based on a conventional encryption function
US4811377A (en) * 1987-07-31 1989-03-07 Motorola, Inc. Secure transfer of radio specific data
JP2710316B2 (en) * 1987-08-26 1998-02-10 任天堂株式会社 Password creation device and game machine using password creation device
US5214702A (en) * 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JP2683022B2 (en) * 1988-04-13 1997-11-26 株式会社日立製作所 Data hiding method
US5054066A (en) * 1988-11-16 1991-10-01 Grumman Corporation Error correcting public key cryptographic method and program
US4991210A (en) * 1989-05-04 1991-02-05 David Chaum Unpredictable blind signature systems
US4996711A (en) * 1989-06-21 1991-02-26 Chaum David L Selected-exponent signature systems
US5189700A (en) * 1989-07-05 1993-02-23 Blandford Robert R Devices to (1) supply authenticated time and (2) time stamp and authenticate digital documents
US4964164A (en) * 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
JP2606419B2 (en) * 1989-08-07 1997-05-07 松下電器産業株式会社 Cryptographic communication system and cryptographic communication method
US5537593A (en) * 1990-02-12 1996-07-16 Fmc Corporation Method for solving enumerative search problems using message passing on parallel computers
US5623547A (en) * 1990-04-12 1997-04-22 Jonhig Limited Value transfer system
US5210710A (en) * 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
US5073934A (en) * 1990-10-24 1991-12-17 International Business Machines Corporation Method and apparatus for controlling the use of a public key, based on the level of import integrity for the key
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US5204901A (en) * 1991-08-01 1993-04-20 General Electric Company Public key cryptographic mechanism
US5142578A (en) * 1991-08-22 1992-08-25 International Business Machines Corporation Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
NZ240019A (en) * 1991-09-30 1996-04-26 Peter John Smith Public key encrypted communication with non-multiplicative cipher
US5265164A (en) * 1991-10-31 1993-11-23 International Business Machines Corporation Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5164988A (en) * 1991-10-31 1992-11-17 International Business Machines Corporation Method to establish and enforce a network cryptographic security policy in a public key cryptosystem
US5453601A (en) * 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US5297206A (en) * 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures
US5313521A (en) * 1992-04-15 1994-05-17 Fujitsu Limited Key distribution protocol for file transfer in the local area network
CA2073495C (en) * 1992-07-08 1999-01-12 Michael Wright Option selection and control
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
US5301247A (en) * 1992-07-23 1994-04-05 Crest Industries, Inc. Method for ensuring secure communications
US5222136A (en) * 1992-07-23 1993-06-22 Crest Industries, Inc. Encrypted communication system
FR2700430B1 (en) * 1992-12-30 1995-02-10 Jacques Stern Method of authenticating at least one identification device by a verification device and device for its implementation.
US5369707A (en) * 1993-01-27 1994-11-29 Tecsec Incorporated Secure network method and apparatus
US5375169A (en) * 1993-05-28 1994-12-20 Tecsec, Incorporated Cryptographic key management method and apparatus
US5414771A (en) * 1993-07-13 1995-05-09 Mrj, Inc. System and method for the creation of random sequences and for the cryptographic protection of communications
JP3053527B2 (en) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and apparatus for validating a password, method and apparatus for generating and preliminary validating a password, method and apparatus for controlling access to resources using an authentication code
US5499295A (en) * 1993-08-31 1996-03-12 Ericsson Inc. Method and apparatus for feature authorization and software copy protection in RF communications devices
US5497422A (en) * 1993-09-30 1996-03-05 Apple Computer, Inc. Message protection mechanism and graphical user interface therefor
US5369702A (en) * 1993-10-18 1994-11-29 Tecsec Incorporated Distributed cryptographic object method
US5680452A (en) * 1993-10-18 1997-10-21 Tecsec Inc. Distributed cryptographic object method
US5371794A (en) * 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5455862A (en) * 1993-12-02 1995-10-03 Crest Industries, Inc. Apparatus and method for encrypting communications without exchanging an encryption key
DK0739560T3 (en) * 1994-01-13 2001-10-01 Certco Inc Cryptographic system and method with key deposit function
ATE189570T1 (en) * 1994-02-24 2000-02-15 Merdan Group Inc METHOD AND DEVICE FOR ESTABLISHING A CRYPTOGRAPHIC CONNECTION BETWEEN ELEMENTS OF A SYSTEM
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5509071A (en) * 1994-04-01 1996-04-16 Microelectronics And Computer Technology Corporation Electronic proof of receipt
US6868408B1 (en) 1994-04-28 2005-03-15 Citibank, N.A. Security systems and methods applicable to an electronic monetary system
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
US5493614A (en) * 1994-05-03 1996-02-20 Chaum; David Private signature and proof systems
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5748735A (en) * 1994-07-18 1998-05-05 Bell Atlantic Network Services, Inc. Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5838792A (en) * 1994-07-18 1998-11-17 Bell Atlantic Network Services, Inc. Computer system for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5588061A (en) * 1994-07-20 1996-12-24 Bell Atlantic Network Services, Inc. System and method for identity verification, forming joint signatures and session key agreement in an RSA public cryptosystem
US5905799A (en) * 1994-07-20 1999-05-18 Bell Atlantic Network Services, Inc. Programmed computer for identity verification, forming joint signatures and session key agreement in an RSA public cryptosystem
US5606609A (en) * 1994-09-19 1997-02-25 Scientific-Atlanta Electronic document verification system and method
US5737419A (en) * 1994-11-09 1998-04-07 Bell Atlantic Network Services, Inc. Computer system for securing communications using split private key asymmetric cryptography
US7362775B1 (en) 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US5745569A (en) * 1996-01-17 1998-04-28 The Dice Company Method for stega-cipher protection of computer code
US7007166B1 (en) 1994-12-28 2006-02-28 Wistaria Trading, Inc. Method and system for digital watermarking
JP3271460B2 (en) * 1995-01-12 2002-04-02 ケイディーディーアイ株式会社 Identifier concealment method in wireless communication
US5568554A (en) * 1995-01-31 1996-10-22 Digital Equipment Corporation Method for improving the processing and storage performance of digital signature schemes
US6141750A (en) * 1995-03-21 2000-10-31 Micali; Silvio Simultaneous electronic transactions with subscriber verification
US6137884A (en) * 1995-03-21 2000-10-24 Bankers Trust Corporation Simultaneous electronic transactions with visible trusted parties
US6134326A (en) * 1996-11-18 2000-10-17 Bankers Trust Corporation Simultaneous electronic transactions
US5553145A (en) * 1995-03-21 1996-09-03 Micali; Silvia Simultaneous electronic transactions with visible trusted parties
IL113259A (en) * 1995-04-05 2001-03-19 Diversinet Corp Apparatus and method for safe communication handshake and data transfer
US6760463B2 (en) 1995-05-08 2004-07-06 Digimarc Corporation Watermarking methods and media
US5583939A (en) * 1995-06-01 1996-12-10 Chung N. Chang Secure, swift cryptographic key exchange
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
US5835592A (en) * 1995-06-01 1998-11-10 Chang; Chung Nan Secure, swift cryptographic key exchange
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
US5883955A (en) * 1995-06-07 1999-03-16 Digital River, Inc. On-line try before you buy software distribution system
US5903647A (en) * 1995-06-07 1999-05-11 Digital River, Inc. Self-launching encrypted digital information distribution system
US5613004A (en) 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
US5887060A (en) * 1995-06-07 1999-03-23 Digital River, Inc. Central database system for automatic software program sales
US5870543A (en) * 1995-06-07 1999-02-09 Digital River, Inc. System for preventing unauthorized copying of active software
US5883954A (en) * 1995-06-07 1999-03-16 Digital River, Inc. Self-launching encrypted try before you buy software distribution system
WO1996041449A1 (en) * 1995-06-07 1996-12-19 Digital River, Inc. Try-before-you-buy software distribution and marketing system
USRE39369E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
US6620047B1 (en) 1995-06-29 2003-09-16 Igt Electronic gaming apparatus having authentication data sets
US5643086A (en) 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
CA2225805C (en) * 1995-06-29 2002-11-12 Allan E. Alcorn Electronic casino gaming system with improved play capacity, authentication and security
AU4718400A (en) * 1995-06-29 2000-09-14 Silicon Gaming, Inc. Electronic casino gaming system with improved play capacity, authentication and security
US7063615B2 (en) * 1995-06-29 2006-06-20 Igt Electronic gaming apparatus with authentication
US5812669A (en) * 1995-07-19 1998-09-22 Jenkins; Lew Method and system for providing secure EDI over an open network
US5721779A (en) * 1995-08-28 1998-02-24 Funk Software, Inc. Apparatus and methods for verifying the identity of a party
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US5793868A (en) * 1996-08-29 1998-08-11 Micali; Silvio Certificate revocation system
US8732457B2 (en) * 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US7600129B2 (en) 1995-10-02 2009-10-06 Corestreet, Ltd. Controlling access using additional data
US5717757A (en) * 1996-08-29 1998-02-10 Micali; Silvio Certificate issue lists
US5666416A (en) * 1995-10-24 1997-09-09 Micali; Silvio Certificate revocation system
US6097811A (en) * 1995-11-02 2000-08-01 Micali; Silvio Tree-based certificate revocation system
US7822989B2 (en) * 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US7353396B2 (en) 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US8015597B2 (en) 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US8261319B2 (en) 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US6301659B1 (en) 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US7898675B1 (en) * 1995-11-13 2011-03-01 Netfax Development, Llc Internet global area networks fax system
US6071191A (en) * 1995-11-22 2000-06-06 Nintendo Co., Ltd. Systems and methods for providing security in a video game system
US6190257B1 (en) 1995-11-22 2001-02-20 Nintendo Co., Ltd. Systems and method for providing security in a video game system
US5675649A (en) * 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
US6026163A (en) * 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US5745574A (en) * 1995-12-15 1998-04-28 Entegrity Solutions Corporation Security infrastructure for electronic transactions
US5812670A (en) * 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5926551A (en) * 1995-12-28 1999-07-20 International Business Machines Corporation System and method for certifying content of hard-copy documents
US5822432A (en) * 1996-01-17 1998-10-13 The Dice Company Method for human-assisted random key generation and application for digital watermark system
US6205249B1 (en) 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
JPH09238132A (en) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd Portable terminal communication system and its communication method
US5737425A (en) * 1996-05-21 1998-04-07 International Business Machines Corporation Cryptosystem employing worst-case difficult-to solve lattice problem
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195846A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US5764766A (en) * 1996-06-11 1998-06-09 Digital Equipment Corporation System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same
SE506853C2 (en) * 1996-06-20 1998-02-16 Anonymity Prot In Sweden Ab Method of data processing
US7457962B2 (en) 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7107451B2 (en) * 1996-07-02 2006-09-12 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7095874B2 (en) 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US6078664A (en) * 1996-12-20 2000-06-20 Moskowitz; Scott A. Z-transform implementation of digital watermarks
US7177429B2 (en) 2000-12-07 2007-02-13 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US5889868A (en) 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US5787367A (en) * 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
JP2000515649A (en) * 1996-08-07 2000-11-21 バンカーズ・トラスト・コーポレーション Simultaneous electronic transactions by visible and trusted parties
US5784459A (en) * 1996-08-15 1998-07-21 International Business Machines Corporation Method and apparatus for secure, remote swapping of memory resident active entities
IL128552A (en) * 1996-08-19 2004-06-01 Ntru Cryptosystems Inc Public key cryptosystem method and apparatus
US5930362A (en) * 1996-10-09 1999-07-27 At&T Wireless Services Inc Generation of encryption key
US6253323B1 (en) 1996-11-01 2001-06-26 Intel Corporation Object-based digital signatures
DE19648824A1 (en) * 1996-11-26 1998-05-28 Alsthom Cge Alcatel Process for secure message exchange with mass services, and subscriber facility and service provider facility therefor
US5966444A (en) * 1996-12-06 1999-10-12 Yuan; Chuan K. Method and system for establishing a cryptographic key agreement using linear protocols
US5848159A (en) 1996-12-09 1998-12-08 Tandem Computers, Incorporated Public key cryptographic apparatus and method
US7730317B2 (en) 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US20030054879A1 (en) * 1996-12-31 2003-03-20 Bruce Schneier System and method for securing electronic games
US6154541A (en) * 1997-01-14 2000-11-28 Zhang; Jinglong F Method and apparatus for a robust high-speed cryptosystem
US6078593A (en) 1997-02-04 2000-06-20 Next Level Communications Method and apparatus for reliable operation of universal voice grade cards
US7212632B2 (en) 1998-02-13 2007-05-01 Tecsec, Inc. Cryptographic key split combiner
US6575372B1 (en) 1997-02-21 2003-06-10 Mondex International Limited Secure multi-application IC card system having selective loading and deleting capability
US6317832B1 (en) 1997-02-21 2001-11-13 Mondex International Limited Secure multiple application card system and process
US5987130A (en) * 1997-03-31 1999-11-16 Chang; Chung Nan Simiplified secure swift cryptographic key exchange
US6058187A (en) * 1997-04-17 2000-05-02 At&T Corp. Secure telecommunications data transmission
US6694433B1 (en) * 1997-05-08 2004-02-17 Tecsec, Inc. XML encryption scheme
US6164549A (en) * 1997-05-15 2000-12-26 Mondex International Limited IC card with shell feature
US6328217B1 (en) 1997-05-15 2001-12-11 Mondex International Limited Integrated circuit card with application history list
US6488211B1 (en) 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6385723B1 (en) 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
AU7584298A (en) 1997-05-21 1998-12-11 E.S.P. Communications, Inc. System, method and apparatus for "caller only" initiated two-way wireless communication with caller generated billing
US20020025852A1 (en) * 2000-09-29 2002-02-28 Alcorn Allan E. Gaming apparatus with portrait-mode display
US6202150B1 (en) 1997-05-28 2001-03-13 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6243466B1 (en) 1997-08-29 2001-06-05 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems with fast key generation
US6389136B1 (en) 1997-05-28 2002-05-14 Adam Lucas Young Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
US6122742A (en) * 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US6052466A (en) * 1997-08-28 2000-04-18 Telefonaktiebolaget L M Ericsson (Publ) Encryption of data packets using a sequence of private keys generated from a public key exchange
US6233685B1 (en) 1997-08-29 2001-05-15 Sean William Smith Establishing and employing the provable untampered state of a device
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US6411715B1 (en) 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6701330B1 (en) * 1997-12-30 2004-03-02 Unisys Corporation Protecting duplicate/lost updates against host failures
US6736325B1 (en) 1998-01-22 2004-05-18 Mondex International Limited Codelets
US6357665B1 (en) 1998-01-22 2002-03-19 Mondex International Limited Configuration of IC card
US7268700B1 (en) 1998-01-27 2007-09-11 Hoffberg Steven M Mobile communication device
US6742120B1 (en) 1998-02-03 2004-05-25 Mondex International Limited System and method for controlling access to computer code in an IC card
US7095852B2 (en) * 1998-02-13 2006-08-22 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US7079653B2 (en) * 1998-02-13 2006-07-18 Tecsec, Inc. Cryptographic key split binding process and apparatus
US8077870B2 (en) * 1998-02-13 2011-12-13 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6959288B1 (en) 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6859791B1 (en) 1998-08-13 2005-02-22 International Business Machines Corporation Method for determining internet users geographic region
US6389403B1 (en) 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
US7110984B1 (en) 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
US6085321A (en) 1998-08-14 2000-07-04 Omnipoint Corporation Unique digital signature
US7111173B1 (en) 1998-09-01 2006-09-19 Tecsec, Inc. Encryption process including a biometric unit
US6337910B1 (en) * 1998-09-09 2002-01-08 Koninklijke Philips Electronics N.V. (Kpenv) Method and apparatus for generating one time pads simultaneously in separate encryption/decryption systems
US6363152B1 (en) * 1998-09-09 2002-03-26 Koninklijke Philips Electronics N.V. (Kpenv) Hybrid one time pad encryption and decryption apparatus with methods for encrypting and decrypting data
US6785388B1 (en) * 1998-09-16 2004-08-31 Murata Kikai Kabushiki Kaisha Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium
US6798884B1 (en) * 1998-09-16 2004-09-28 Murata Kikai Kabushiki Kaisha Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium
US6684330B1 (en) 1998-10-16 2004-01-27 Tecsec, Inc. Cryptographic information and flow control
US6560337B1 (en) 1998-10-28 2003-05-06 International Business Machines Corporation Systems, methods and computer program products for reducing effective key length of ciphers using one-way cryptographic functions and an initial key
US6363154B1 (en) 1998-10-28 2002-03-26 International Business Machines Corporation Decentralized systems methods and computer program products for sending secure messages among a group of nodes
US6820202B1 (en) * 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US20030195974A1 (en) 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US6473508B1 (en) 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US8364136B2 (en) 1999-02-01 2013-01-29 Steven M Hoffberg Mobile system, a method of operating mobile system and a non-transitory computer readable medium for a programmable control of a mobile system
US7095851B1 (en) 1999-03-11 2006-08-22 Tecsec, Inc. Voice and data encryption method using a cryptographic key split combiner
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US20020099746A1 (en) * 1999-07-26 2002-07-25 Tie Teck Sing T-sequence apparatus and method for general deterministic polynomial-time primality testing and composite factoring
WO2001018628A2 (en) 1999-08-04 2001-03-15 Blue Spike, Inc. A secure personal content server
US6746330B2 (en) 1999-09-21 2004-06-08 Igt Method and device for implementing a coinless gaming environment
US6826689B1 (en) * 1999-10-01 2004-11-30 Geneticware Co., Ltd. Method and system for emulating a secret code between two hardware modules
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6834110B1 (en) 1999-12-09 2004-12-21 International Business Machines Corporation Multi-tier digital TV programming for content distribution
US7213005B2 (en) * 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
FR2802677B1 (en) * 1999-12-17 2002-01-18 Thomson Multimedia Sa SECURE REMOTE GAME MANAGEMENT METHOD
JP2001211153A (en) * 2000-01-25 2001-08-03 Murata Mach Ltd Secret key generating method
US6839839B1 (en) 2000-02-10 2005-01-04 Xerox Corporation Public key distribution using an approximate linear function
US20050255924A1 (en) * 2000-03-03 2005-11-17 Cole Joseph W Gaming apparatus having door mounted display
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
CA2402389A1 (en) 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US20040186996A1 (en) * 2000-03-29 2004-09-23 Gibbs Benjamin K. Unique digital signature
JP4645000B2 (en) * 2000-04-06 2011-03-09 ソニー株式会社 Method for dividing storage area of portable device
US7280663B1 (en) * 2000-05-22 2007-10-09 University Of Southern California Encryption system based on crossed inverse quasigroups
WO2002005061A2 (en) 2000-07-06 2002-01-17 David Paul Felsher Information record infrastructure, system and method
US7096354B2 (en) * 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
US6789189B2 (en) * 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US7558965B2 (en) * 2000-08-04 2009-07-07 First Data Corporation Entity authentication in electronic communications by providing verification status of device
US7082533B2 (en) * 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
US7010691B2 (en) * 2000-08-04 2006-03-07 First Data Corporation ABDS system utilizing security information in authenticating entity access
US7552333B2 (en) * 2000-08-04 2009-06-23 First Data Corporation Trusted authentication digital signature (tads) system
EP1323089A4 (en) * 2000-08-04 2006-04-19 First Data Corp Entity authentication in electronic communications by providing verification status of device
GB2366162A (en) 2000-08-15 2002-02-27 Chargenet Ltd Controlling access to a telecommunicated data file
WO2002015998A2 (en) * 2000-08-21 2002-02-28 International Game Technology Method and apparatus for software authentication
CA2356015A1 (en) 2000-08-31 2002-02-28 International Game Technology Method and apparatus for encoding vouchers in a cashless casino gaming system
US6978375B1 (en) * 2000-09-08 2005-12-20 International Business Machines Corporation System and method for secure authentication of external software modules provided by third parties
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US7113900B1 (en) 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US20020066038A1 (en) * 2000-11-29 2002-05-30 Ulf Mattsson Method and a system for preventing impersonation of a database user
US7454796B2 (en) * 2000-12-22 2008-11-18 Canon Kabushiki Kaisha Obtaining temporary exclusive control of a printing device
US20020095604A1 (en) * 2001-01-18 2002-07-18 Hausler Jean-Philippe D. Encryption system and method
US20020108034A1 (en) * 2001-02-02 2002-08-08 Tony Hashem System and method for automatically securing data for transmission
US7203841B2 (en) 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7120248B2 (en) * 2001-03-26 2006-10-10 Hewlett-Packard Development Company, L.P. Multiple prime number generation using a parallel prime number search algorithm
US7016494B2 (en) * 2001-03-26 2006-03-21 Hewlett-Packard Development Company, L.P. Multiple cryptographic key precompute and store
KR100406754B1 (en) * 2001-04-11 2003-11-21 한국정보보호진흥원 Forward-secure commercial key escrow system and escrowing method thereof
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US20020198748A1 (en) * 2001-05-25 2002-12-26 Eden Thomas M. System and method for implementing an employee-rights-sensitive drug free workplace policy
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7382878B2 (en) * 2001-06-22 2008-06-03 Uponus Technologies, Llc System and method for data encryption
US7162036B2 (en) 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US20040128508A1 (en) * 2001-08-06 2004-07-01 Wheeler Lynn Henry Method and apparatus for access authentication entity
US6685567B2 (en) * 2001-08-08 2004-02-03 Igt Process verification
US20070277037A1 (en) * 2001-09-06 2007-11-29 Randy Langer Software component authentication via encrypted embedded self-signatures
US7210134B1 (en) 2001-09-06 2007-04-24 Sonic Solutions Deterring reverse-engineering of software systems by randomizing the siting of stack-based data
US7618317B2 (en) 2001-09-10 2009-11-17 Jackson Mark D Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US7128650B2 (en) 2001-09-12 2006-10-31 Igt Gaming machine with promotional item dispenser
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US20030065696A1 (en) * 2001-09-28 2003-04-03 Ruehle Michael D. Method and apparatus for performing modular exponentiation
US20030064784A1 (en) 2001-09-28 2003-04-03 William Wells Wide screen gaming apparatus
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US6922717B2 (en) 2001-09-28 2005-07-26 Intel Corporation Method and apparatus for performing modular multiplication
US7136484B1 (en) * 2001-10-01 2006-11-14 Silicon Image, Inc. Cryptosystems using commuting pairs in a monoid
AU2002362027B2 (en) * 2001-11-26 2007-08-16 Igt Pass-through live validation device and method
US20030154286A1 (en) * 2002-02-13 2003-08-14 Infowave Software, Inc. System for and method of protecting a username during authentication over a non-encrypted channel
US7899753B1 (en) 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
US20030190046A1 (en) * 2002-04-05 2003-10-09 Kamerman Matthew Albert Three party signing protocol providing non-linkability
US7155578B2 (en) * 2002-04-05 2006-12-26 Genworth Financial, Inc. Method and system for transferring files using file transfer protocol
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US7350081B1 (en) 2002-04-29 2008-03-25 Best Robert M Secure execution of downloaded software
US7436966B2 (en) * 2002-08-21 2008-10-14 International Business Machines Corporation Secure approach to send data from one system to another
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US20040133699A1 (en) * 2002-12-04 2004-07-08 Tony Hashem System and method for performing data transfer
US7200233B1 (en) 2002-12-10 2007-04-03 L-3 Communications Corporation System and method for fast data encryption/decryption using time slot numbering
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7320073B2 (en) * 2003-04-07 2008-01-15 Aol Llc Secure method for roaming keys and certificates
CA2525398C (en) * 2003-05-13 2014-03-11 Corestreet, Ltd. Efficient and secure data currentness systems
US20040250073A1 (en) * 2003-06-03 2004-12-09 Cukier Johnas I. Protocol for hybrid authenticated key establishment
EP1636682A4 (en) * 2003-06-24 2009-04-29 Corestreet Ltd Access control
US7606929B2 (en) 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7794323B2 (en) * 2003-07-25 2010-09-14 Igt Gaming apparatus with encryption and method
CA2544273C (en) * 2003-11-19 2015-01-13 Corestreet, Ltd. Distributed delegated path discovery and validation
US7698557B2 (en) * 2003-12-22 2010-04-13 Guardtime As System and method for generating a digital certificate
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7711951B2 (en) * 2004-01-08 2010-05-04 International Business Machines Corporation Method and system for establishing a trust framework based on smart key devices
US7752453B2 (en) 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7849326B2 (en) * 2004-01-08 2010-12-07 International Business Machines Corporation Method and system for protecting master secrets using smart key devices
KR20060123470A (en) 2004-01-09 2006-12-01 코아스트리트 리미티드 Signature-efficient real time credentials for ocsp and distributed ocsp
JP4390570B2 (en) * 2004-01-21 2009-12-24 株式会社エヌ・ティ・ティ・ドコモ Multistage signature verification system, electronic signature adding apparatus, data adding apparatus, and electronic signature verification apparatus
US7289629B2 (en) * 2004-02-09 2007-10-30 Microsoft Corporation Primitives for fast secure hash functions and stream ciphers
US7778422B2 (en) * 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US8442219B2 (en) * 2004-03-31 2013-05-14 Jesse Lipson Public key cryptographic methods and systems
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7562052B2 (en) * 2004-06-07 2009-07-14 Tony Dezonno Secure customer communication method and system
US7205882B2 (en) * 2004-11-10 2007-04-17 Corestreet, Ltd. Actuating a security system using a wireless device
US7475247B2 (en) * 2004-12-16 2009-01-06 International Business Machines Corporation Method for using a portable computing device as a smart key device
US7386736B2 (en) * 2004-12-16 2008-06-10 International Business Machines Corporation Method and system for using a compact disk as a smart key device
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US20060153364A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Asymmetric key cryptosystem based on shared knowledge
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
US20060153367A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature system based on shared knowledge
US20060153370A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Generating public-private key pair based on user input data
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
US7593527B2 (en) * 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
US7869593B2 (en) * 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US7598855B2 (en) 2005-02-01 2009-10-06 Location Based Technologies, Inc. Apparatus and method for locating individuals and objects using tracking devices
US20070229350A1 (en) * 2005-02-01 2007-10-04 Scalisi Joseph F Apparatus and Method for Providing Location Information on Individuals and Objects using Tracking Devices
US20070174271A1 (en) * 2005-02-18 2007-07-26 Ulf Mattsson Database system with second preprocessor and method for accessing a database
US7725715B2 (en) * 2005-02-24 2010-05-25 Access Business Group International Llc System and method for three-phase data encryption
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US9191198B2 (en) * 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
CN100505620C (en) * 2005-12-09 2009-06-24 上海燕托计算机有限公司 Method for reducing RSA key varible storage space
EP2016535A4 (en) 2006-04-19 2010-06-23 Stepnexus Holdings Methods and systems for ic card application loading
US9002018B2 (en) 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
US8127133B2 (en) * 2007-01-25 2012-02-28 Microsoft Corporation Labeling of data objects to apply and enforce policies
US8280348B2 (en) 2007-03-16 2012-10-02 Finsphere Corporation System and method for identity protection using mobile device signaling network derived location pattern recognition
US8116731B2 (en) * 2007-11-01 2012-02-14 Finsphere, Inc. System and method for mobile identity protection of a user of multiple computer applications, networks or devices
US9922323B2 (en) 2007-03-16 2018-03-20 Visa International Service Association System and method for automated analysis comparing a wireless device location with another geographic location
US9420448B2 (en) 2007-03-16 2016-08-16 Visa International Service Association System and method for automated analysis comparing a wireless device location with another geographic location
US8374634B2 (en) 2007-03-16 2013-02-12 Finsphere Corporation System and method for automated analysis comparing a wireless device location with another geographic location
US9185123B2 (en) 2008-02-12 2015-11-10 Finsphere Corporation System and method for mobile identity protection for online user authentication
US9432845B2 (en) 2007-03-16 2016-08-30 Visa International Service Association System and method for automated analysis comparing a wireless device location with another geographic location
US7917747B2 (en) * 2007-03-22 2011-03-29 Igt Multi-party encryption systems and methods
US9111189B2 (en) * 2007-10-31 2015-08-18 Location Based Technologies, Inc. Apparatus and method for manufacturing an electronic package
US8102256B2 (en) 2008-01-06 2012-01-24 Location Based Technologies Inc. Apparatus and method for determining location and tracking coordinates of a tracking device
US8224355B2 (en) 2007-11-06 2012-07-17 Location Based Technologies Inc. System and method for improved communication bandwidth utilization when monitoring location information
US8774827B2 (en) * 2007-04-05 2014-07-08 Location Based Technologies, Inc. Apparatus and method for generating position fix of a tracking device in accordance with a subscriber service usage profile to conserve tracking device power
US8497774B2 (en) * 2007-04-05 2013-07-30 Location Based Technologies Inc. Apparatus and method for adjusting refresh rate of location coordinates of a tracking device
US8244468B2 (en) * 2007-11-06 2012-08-14 Location Based Technology Inc. System and method for creating and managing a personalized web interface for monitoring location information on individuals and objects using tracking devices
US20100031321A1 (en) 2007-06-11 2010-02-04 Protegrity Corporation Method and system for preventing impersonation of computer system user
US20080304669A1 (en) * 2007-06-11 2008-12-11 The Boeing Company Recipient-signed encryption certificates for a public key infrastructure
US8654974B2 (en) * 2007-10-18 2014-02-18 Location Based Technologies, Inc. Apparatus and method to provide secure communication over an insecure communication channel for location information using tracking devices
TW200950457A (en) * 2008-05-30 2009-12-01 Jiu-Huan Li Asynchronous encryption and decryption method
US8170216B2 (en) * 2008-06-18 2012-05-01 Apple Inc. Techniques for validating and sharing secrets
WO2011084510A1 (en) 2009-12-16 2011-07-14 Cardiac Pacemakers, Inc. System and method to authorize restricted functionality
US8520842B2 (en) * 2010-01-07 2013-08-27 Microsoft Corporation Maintaining privacy during user profiling
US8656484B2 (en) 2010-12-28 2014-02-18 Authernative, Inc. System and method for mutually authenticated cryptographic key exchange using matrices
US8621227B2 (en) 2010-12-28 2013-12-31 Authernative, Inc. System and method for cryptographic key exchange using matrices
US8949954B2 (en) 2011-12-08 2015-02-03 Uniloc Luxembourg, S.A. Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account
AU2012100460B4 (en) 2012-01-04 2012-11-08 Uniloc Usa, Inc. Method and system implementing zone-restricted behavior of a computing device
AU2012100462B4 (en) 2012-02-06 2012-11-08 Uniloc Usa, Inc. Near field authentication through communication of enclosed content sound waves
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
CA2873695C (en) 2012-04-01 2019-10-01 Authentify, Inc. Secure authentication in a multi-party system
AU2013100355B4 (en) 2013-02-28 2013-10-31 Netauthority, Inc Device-specific content delivery
US10044695B1 (en) 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
US10079681B1 (en) 2014-09-03 2018-09-18 Amazon Technologies, Inc. Securing service layer on third party hardware
US9491111B1 (en) 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
US9584517B1 (en) 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US9442752B1 (en) 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US9577829B1 (en) 2014-09-03 2017-02-21 Amazon Technologies, Inc. Multi-party computation services
US10419215B2 (en) 2016-11-04 2019-09-17 Microsoft Technology Licensing, Llc Use of error information to generate encryption keys
US10594668B1 (en) 2016-12-01 2020-03-17 Thales Esecurity, Inc. Crypto Cloudlets
US10764282B2 (en) 2017-06-12 2020-09-01 Daniel Maurice Lerner Protected and secured user-wearable devices for assured authentication and validation of data storage and transmission that utilize securitized containers
US10154021B1 (en) 2017-06-12 2018-12-11 Ironclad Encryption Corporation Securitization of temporal digital communications with authentication and validation of user and access devices
US10650139B2 (en) 2017-06-12 2020-05-12 Daniel Maurice Lerner Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
US10979221B2 (en) * 2018-01-03 2021-04-13 Arizona Board Of Regents On Behalf Of Northern Arizona University Generation of keys of variable length from cryptographic tables
WO2019195691A1 (en) 2018-04-05 2019-10-10 Daniel Maurice Lerner Discrete blockchain and blockchain communications
US11985134B2 (en) 2021-02-01 2024-05-14 Bank Of America Corporation Enhanced authentication framework using EPROM grid pattern recognition

Also Published As

Publication number Publication date
IT1099780B (en) 1985-09-28
SE7810478L (en) 1979-04-07
AU4041878A (en) 1980-04-17
DE2843583A1 (en) 1979-05-10
GB2006580A (en) 1979-05-02
FR2405532B1 (en) 1985-10-11
SE439225B (en) 1985-06-03
ES474539A1 (en) 1980-04-16
NL7810063A (en) 1979-04-10
CA1128159A (en) 1982-07-20
JPS5950068B2 (en) 1984-12-06
JPS5488703A (en) 1979-07-14
BE871039A (en) 1979-04-05
GB2006580B (en) 1982-08-18
FR2405532A1 (en) 1979-05-04
DE2843583C2 (en) 1982-06-03
AU519184B2 (en) 1981-11-12
US4218582A (en) 1980-08-19
IT7828508A0 (en) 1978-10-06

Similar Documents

Publication Publication Date Title
CH634161A5 (en) APPARATUS FOR DECIPHERING A NUMBERED MESSAGE AND ITS USE IN A TRANSMISSION INSTALLATION.
BE1003932A6 (en) Cryptographic system by bit data block.
EP2345202B1 (en) Digital signature method in two steps
FR2496303A1 (en) PUBLIC KEY ENCRYPTION / DATA ENCRYPTION SYSTEM
FR2733379A1 (en) PROCESS FOR GENERATING ELECTRONIC SIGNATURES, ESPECIALLY FOR SMART CARDS
EP0346180B1 (en) Apparatus for protected data communication
FR2499792A1 (en) RECEIVER FOR A CRYPTOGRAPHIC SYSTEM WITH A PUBLIC KEY
EP3334121A1 (en) Process of generating an electronic signature of a document associated to a digest
FR3038757A1 (en)
EP0909495B1 (en) Public key cryptography method
FR2793366A1 (en) REDUCED BANDWIDTH DIGITAL SIGNATURE PROTOCOL
EP1721246B1 (en) Method and device for performing a cryptographic operation
EP0756398A1 (en) System and method for communicating encrypted messages using RSA with modular reduction to provide fast decryption
FR2679054A1 (en) Process and apparatus for exponentiation over GF(2n)
EP3857810B1 (en) Cryptographic method of secure comparison of two secret data x and y
EP4012972A1 (en) Method for selective disclosure of data via a blockchain
FR2818765A1 (en) Modular multiplier for enciphering/deciphering data, comprises buffer memories to store Montgomery algorithm results and operands , multiplexors, multiplier, control unit, bistable circuits and adder
EP0752771A1 (en) Method for processing a digital signal such that the output digital signal can not be derived from the input signal, and use of the method for access control and/or digital signatures
FR3111037A1 (en) Method of deriving a partial signature with partial verification
EP3614617A1 (en) Method and device for generating parameter(s) of an asymmetric cryptographic protocol from a blockchain, associated encryption and decryption method and device and computer program
FR2734679A1 (en) Public key encryption based on discrete logarithms
FR3140728A1 (en) Cryptographic processing method, electronic device and associated computer program
WO2023059495A1 (en) Statistically receiver private oblivious transfer from cdh
WO2024018158A1 (en) Method for exchanging a secret which can withstand quantum computer attacks, and associated computer system and computer program
FR3143243A1 (en) MESSAGE SIGNATURE AND DECRYPTION SECURED BY DOUBLE RSA-CRT

Legal Events

Date Code Title Description
PL Patent ceased