CH634161A5 - Appareil de dechiffrage d'un message chiffre et son utilisation dans une installation de transmission. - Google Patents

Appareil de dechiffrage d'un message chiffre et son utilisation dans une installation de transmission. 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
English (en)
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/fr

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.
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.
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.
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.
3
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.
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.
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é.
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.
L'appareil selon l'invention présente les caractéristiques mentionnées dans la revendication 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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
La figure 11 est un diagramme synoptique d'un générateur de clé publique de chiffrage du système de la figure 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:
n,— 1
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.
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
5
10
15
20
25
30
35
40
45
50
55
60
65
634 161
4
que, s'il connaissait la clé D, il pourrait déchiffrer le texte S et obtenir le message X en clair.
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).
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.
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.
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 :
i— 1
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
S - l_ Xj * aj > ai (2)
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
ai > / Y ajetxi j= 1
peut être déterminé sous forme de la partie entière de
^ Y xj * a, aj)/ai.
j = i + 1
L'équation (2) d'évaluation de 5 x, lorsque Xi a des valeurs binaires, équivaut à cette règle pour 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.
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:
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
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.
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:
S' = 1/w* S mod m (4)
= l/w*Lxi* a. mod m (5)
= l/w*Ex>* w* a'i mod m (6)
=Ixi*a'imodm (7)
Si m est choisi de manière que 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.
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:
S' =l/w* S mod m (9)
5
10
15
20
25
30
35
40
45
50
55
60
65
5
634 161
= 3950* 15115 mod 8443
= 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 =
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,.
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.
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.
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.
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.
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é.
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.
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.
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.
i W (binaire)
0 00111
1 00011 30 2 00001
3 00000
A' P
7 0
14 0 + 7 = 7
5 7+14 = 21
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.
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.
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
634 161
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.
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.
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.
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.
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.
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.
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.
U V compteur qi
1110 1000 1 1
0110 0100 0 1
0010 - arrêt
On note que q= 11 sous forme binaire, équivalant à q=3, et que r=0010 sous forme binaire, équivalant à 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.
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.
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:
S' = bsmodm = 13 1 264 mod 257 = 15 = 3*5
= a'^'a^'aVa'*0 qui implique que x = (0,1, 1,0). En effet,
t>S = *Xj)
= nb(a'*x,i
= ria'ixi mod m
Cependant, il faut que:
n
ïla'iCm i — xj afin que Fia7 i mod m soit égal à fia' >Xi, en arithmétique des nombres entiers.
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
5
10
15
20
25
30
35
40
45
50
55
60
65
7
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.
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.
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.
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é.
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.
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.
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.
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.
i
S (binaire)
R
B
0
10010
1
7
1
01001
1
3
2
00100
3
9
3
00010
3
12
4
00001
6
5
00000
18
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.
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.
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.
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
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
135 de vérification de nombres premiers.
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,
s
10
15
20
25
30
35
40
45
50
55
60
65
634 161
8
n— 1 (25)
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)
est transmise par le générateur de clé publique de la figure 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)
nombres premiers pi provenant de la source 131.
La base b des logarithmes est alors choisie comme un avec nombre aléatoire, par la 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:
décrites dans la suite.
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)
= (—1)*'2 = (—l)h| (modp) (26)
En conséquence, le traitement arithmétique, dans l'exposant,
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
20 (mod p) si et seulement si bi = 1.
z* = zs"m,<|p-'>(In0dp) (16) Par exemple, considérons p = 17 = 24 + l.a = 3 est un
é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
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):
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.
Lorsque p = 2n+1, on détermine facilement x oar détermination du développement binaire {bo,..., bn-i}de 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:
,i u _0 35 nable car a3 = 33 = 27 = 10 (mod 17).
y'f-",:(modp) = { _j'b^ _ j (17)
On peut généraliser cet algorithme à des nombres premiers arbitraires p. Si
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)
a'p-'i - = — l (mod p) (18)
est la factorisation en nombres premiers de p — 1, les compo-
et en conséquence: santés pi sont des nombres premiers distincts et les valeurs de
45 ni sont des nombres entiers positifs. La valeur de 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:
Le bit suivant du développement de x est alors déterminé par ^
utilisation des relations: . , n. , ,
sßx(mod n pi'= x(modp-l) = x (28)
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-
i = 1 55 tion).
i
Z
ß
m
W bi
0
10
6
8
16 1
1
9
i
4
16 1
2
1
4
i
1 0
3
1
16
1
1 0
4
1
1/2
On constate ainsi que x =
2"+2'
= 3. Cette relation est conve-
Xi
Il apparaît ainsi que xi est un multiple de 4 si et seulement si
On considère le développement suivant de x (mod pi" ), n—1
bi = 0. Si bi = 1, x; est divisible par 2 mais non par 4. Le x(modpn') = £ bjpi' (29)
raisonnement précèdent permet la détermination de: 1 j = 0
60
•H,bi=0 avecO^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,
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.
La compréhension de l'organigramme de la figure 12 est Y' = et"1-" ^(mod p) (31)
9
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.
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
avec xi = Y. bipiJ
j=l
(32)
(33)
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)
(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,.
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).
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).
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:
a'i
1/w* ai mod m
(36)
' = w (mod p), 0 g. (w) ^ pi— 1
(35)
30
pour laquelle y est défini par la 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
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"i = 1/w' * a'i mod m'
(37)
fois et, lorsque toutes les valeurs de pi sont petites,
i= 1 k
Y ni est approximativement égal à log:p. Ainsi, lorsque p-1
r= 1
n'a que des petits facteurs premiers, le calcul des logarithmes dans le domaine GF (p) peut être facile.
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'
p-ii pi =
cc"= 512 = 18(mod 19), si bien que 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.
Z
B
n j
W
bj
10
10
6
0
11
2
12
12
2
1
11
2
18
18
2/3
2
si bien que x (mode p:":) = 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
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.
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é.
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
634 161
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.
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.
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:
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.
M' = 1/w * M mod m (39)
= l/w*£xi*bimodm (40)
= l/w*Xxî*w*b'imodm (41)
= ]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.
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.
La séquence des fonctions unidirectionnelles peut aussi simple que
Fi(M) = F(M) + i (43)
ou
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.
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.
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.
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.
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).
s
10
15
20
25
30
35
40
45
50
55
60
65
B
8 feuilles dessins

Claims (2)

  1. 634 161
    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:
    S' = l/w* S mod m et
    é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:
    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:
    ai = logb a' i mod m pour 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.
    20
    le dispositif générateur du message comprend un dispositif (93,94) destiné à établir les valeurs x. égales à la partie entière de:
    n
    S'-I j-i+ 1
    Xj* a'i
    /a', pour 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
    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:
    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:
    i—1
    a'i >/ Y. aj pour i = 1,2,... n.
    j=l
  2. 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:
    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:
    m >
    n
    7t i= 1
    a'i n étant un nombre entier, et la clé secrète (E) de déchiffrage
CH1036378A 1977-10-06 1978-10-05 Appareil de dechiffrage d'un message chiffre et son utilisation dans une installation de transmission. CH634161A5 (fr)

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 (fr) 1983-01-14

Family

ID=25281034

Family Applications (1)

Application Number Title Priority Date Filing Date
CH1036378A CH634161A5 (fr) 1977-10-06 1978-10-05 Appareil de dechiffrage d'un message chiffre et son utilisation dans une installation de transmission.

Country Status (13)

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

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 (fr) * 1982-02-02 1983-08-10 Omnet Associates Procédé et appareil pour garder secret des messages numériques transmis par transmission publique
NL8201077A (nl) * 1982-03-16 1983-10-17 Philips Nv Kommunikatiesysteem, bevattende een centrale dataverwerkende inrichting, toegangsstations en externe stations, waarbij een kryptografische kontrole is voorzien op vervalsing van een extern station, alsmede externe stations voor gebruik in zo een kommunikatiesysteem.
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 (ja) * 1983-06-01 1984-12-20 アメリカン・エクスプレス・カンパニ− 携帯用情報カ−ドの保護装置
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 (da) * 1983-12-30 1988-07-04 Sp Radio As Fremgangsmaade til kryptografisk overfoering af talesignaler og kommunikationsstation til udoevelse af fremgangsmaaden
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 (ja) * 1984-10-15 1986-05-13 Matsushita Electric Ind Co Ltd ヘツド移送装置
DE3439120A1 (de) * 1984-10-25 1986-05-07 Philips Kommunikations Industrie AG, 8500 Nürnberg Verfahren zur identifizierung einer teilnehmerstation eines fernmeldenetzes
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 (fr) * 1985-06-24 1990-06-12 Katsuya Nakagawa Dispositif pour determiner l'exactitude d'un logiciel dans un appareil de traitement de donnees
JPH074449B2 (ja) * 1985-10-04 1995-01-25 任天堂株式会社 ゲ−ム機用カ−トリツジとそれを用いるゲ−ム機
USRE34161E (en) * 1985-10-04 1993-01-12 Nintendo Company Limited Memory cartridge and information processor unit using such cartridge
US5226136A (en) * 1986-05-06 1993-07-06 Nintendo Company Limited Memory cartridge bank selecting apparatus
JPS62260244A (ja) * 1986-05-06 1987-11-12 Nintendo Co Ltd メモリカ−トリツジ
US4731841A (en) * 1986-06-16 1988-03-15 Applied Information Technologies Research Center Field initialized authentication system for protective security of electronic information networks
EP0257585B1 (fr) * 1986-08-22 1992-11-25 Nec Corporation Procédé de distribution de clé
EP0566215B1 (fr) * 1986-09-30 1996-11-20 Canon Kabushiki Kaisha Appareil de correction d'erreurs
CA1330596C (fr) * 1986-11-19 1994-07-05 Yoshiaki Nakanishi Cartouche de memoire et appareil de traitement de donnees
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 (ja) * 1987-08-26 1998-02-10 任天堂株式会社 パスワード作成装置およびパスワード作成装置を用いたゲーム機
US5214702A (en) * 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JP2683022B2 (ja) * 1988-04-13 1997-11-26 株式会社日立製作所 データ秘匿方式
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
JP2606419B2 (ja) * 1989-08-07 1997-05-07 松下電器産業株式会社 暗号通信システムと暗号通信方法
US4964164A (en) * 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
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 (fr) * 1992-07-08 1999-01-12 Michael Wright Selection et controle d'options
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
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
FR2700430B1 (fr) * 1992-12-30 1995-02-10 Jacques Stern Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre.
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 (ja) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置
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
US5680452A (en) * 1993-10-18 1997-10-21 Tecsec Inc. Distributed cryptographic object method
US5369702A (en) * 1993-10-18 1994-11-29 Tecsec Incorporated 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
PT739560E (pt) * 1994-01-13 2001-12-28 Certco Inc Sistema criptografico e processo com caracteristica de garantia de chave
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
ATE189570T1 (de) 1994-02-24 2000-02-15 Merdan Group Inc Verfahren und einrichtung zum aufbau einer kryptographischen verbindung zwischen elementen eines systems
US5509071A (en) * 1994-04-01 1996-04-16 Microelectronics And Computer Technology Corporation Electronic proof of receipt
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
US6868408B1 (en) 1994-04-28 2005-03-15 Citibank, N.A. Security systems and methods applicable to an electronic monetary system
US5493614A (en) * 1994-05-03 1996-02-20 Chaum; David Private signature and proof systems
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
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
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
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
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
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
US5745569A (en) 1996-01-17 1998-04-28 The Dice Company Method for stega-cipher protection of computer code
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
US7007166B1 (en) 1994-12-28 2006-02-28 Wistaria Trading, Inc. Method and system for digital watermarking
JP3271460B2 (ja) * 1995-01-12 2002-04-02 ケイディーディーアイ株式会社 無線通信における識別子秘匿方法
US5568554A (en) * 1995-01-31 1996-10-22 Digital Equipment Corporation Method for improving the processing and storage performance of digital signature schemes
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
US6141750A (en) * 1995-03-21 2000-10-31 Micali; Silvio Simultaneous electronic transactions with subscriber verification
IL113259A (en) * 1995-04-05 2001-03-19 Diversinet Corp A device and method for a secure interface for secure communication and data transfer
US6760463B2 (en) 1995-05-08 2004-07-06 Digimarc Corporation Watermarking methods and media
US5835592A (en) * 1995-06-01 1998-11-10 Chang; Chung Nan Secure, swift cryptographic key exchange
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
US5583939A (en) * 1995-06-01 1996-12-10 Chung N. Chang Secure, swift cryptographic key exchange
US5883954A (en) * 1995-06-07 1999-03-16 Digital River, Inc. Self-launching encrypted try before you buy software distribution system
US5887060A (en) * 1995-06-07 1999-03-23 Digital River, Inc. Central database system for automatic software program sales
AU6269796A (en) * 1995-06-07 1996-12-30 Digital River, Inc. Try-before-you-buy software distribution and marketing syste m
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
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
US5870543A (en) * 1995-06-07 1999-02-09 Digital River, Inc. System for preventing unauthorized copying of active software
US7063615B2 (en) * 1995-06-29 2006-06-20 Igt Electronic gaming apparatus with authentication
AU4718400A (en) * 1995-06-29 2000-09-14 Silicon Gaming, Inc. Electronic casino gaming system with improved play capacity, authentication and security
USRE39369E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
TR199701723T1 (xx) * 1995-06-29 1998-04-21 Silicon Gaming, Inc. Geli�tirilmi� oyun kapasitesine sahip elektronik casino oyun sistemi.
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US6620047B1 (en) 1995-06-29 2003-09-16 Igt Electronic gaming apparatus having authentication data sets
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
US7822989B2 (en) * 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US5666416A (en) * 1995-10-24 1997-09-09 Micali; Silvio Certificate revocation system
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US6097811A (en) * 1995-11-02 2000-08-01 Micali; Silvio Tree-based certificate revocation system
US7660994B2 (en) * 1995-10-24 2010-02-09 Corestreet, Ltd. Access control
US7353396B2 (en) 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US8732457B2 (en) * 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
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
US5793868A (en) * 1996-08-29 1998-08-11 Micali; Silvio Certificate revocation system
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
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
US5822432A (en) * 1996-01-17 1998-10-13 The Dice Company Method for human-assisted random key generation and application for digital watermark system
JPH09238132A (ja) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
US5737425A (en) * 1996-05-21 1998-04-07 International Business Machines Corporation Cryptosystem employing worst-case difficult-to solve lattice problem
US20030195848A1 (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
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.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 (sv) * 1996-06-20 1998-02-16 Anonymity Prot In Sweden Ab Metod för databearbetning
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
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US6078664A (en) * 1996-12-20 2000-06-20 Moskowitz; Scott A. Z-transform implementation of digital watermarks
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
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
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
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
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
US5787367A (en) * 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
EP0917781A4 (fr) * 1996-08-07 2003-08-13 Silvio Micali Transactions electroniques simultanees avec parties mediatrices visibles
US5784459A (en) * 1996-08-15 1998-07-21 International Business Machines Corporation Method and apparatus for secure, remote swapping of memory resident active entities
WO1998008323A1 (fr) * 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Procede et appareil relatifs a un systeme cryptographique a cle revelee
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 (de) * 1996-11-26 1998-05-28 Alsthom Cge Alcatel Verfahren zum gesicherten Nachrichtenaustausch bei Massendiensten, sowie Teilnehmereinrichtung und Diensteanbietereinrichtung hierfür
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
US6488211B1 (en) 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
US6328217B1 (en) 1997-05-15 2001-12-11 Mondex International Limited Integrated circuit card with application history list
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
EP0993739A1 (fr) * 1997-05-21 2000-04-19 E.S.P. Communications, Inc. Systeme, procede et appareil pour communication sans fil, bidirectionnelle, declenchee uniquement par l'appelant et facturee a l'appelant
US6122742A (en) * 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US6389136B1 (en) 1997-05-28 2002-05-14 Adam Lucas Young Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
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
US6202150B1 (en) 1997-05-28 2001-03-13 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems
US6243466B1 (en) 1997-08-29 2001-06-05 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems with fast key generation
US20020025852A1 (en) * 2000-09-29 2002-02-28 Alcorn Allan E. Gaming apparatus with portrait-mode display
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
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US6233685B1 (en) 1997-08-29 2001-05-15 Sean William Smith Establishing and employing the provable untampered state of a device
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
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
US7095852B2 (en) * 1998-02-13 2006-08-22 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
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
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
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
US6859791B1 (en) 1998-08-13 2005-02-22 International Business Machines Corporation Method for determining internet users geographic region
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
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
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
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
US6684330B1 (en) 1998-10-16 2004-01-27 Tecsec, Inc. Cryptographic information and flow control
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
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
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
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
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
US6473508B1 (en) 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet 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
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. 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
US7213005B2 (en) * 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
US6834110B1 (en) 1999-12-09 2004-12-21 International Business Machines Corporation Multi-tier digital TV programming for content distribution
FR2802677B1 (fr) * 1999-12-17 2002-01-18 Thomson Multimedia Sa Procede de gestion de jeu a distance securise
JP2001211153A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 秘密鍵生成方法
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 (fr) 2000-03-08 2002-09-19 Shuffle Master, Inc. Systeme de jeu informatise, procede d'utilisation et appareil
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 (ja) * 2000-04-06 2011-03-09 ソニー株式会社 携帯装置の記憶領域分割方法
US7280663B1 (en) * 2000-05-22 2007-10-09 University Of Southern California Encryption system based on crossed inverse quasigroups
AU7182701A (en) 2000-07-06 2002-01-21 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
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US7552333B2 (en) * 2000-08-04 2009-06-23 First Data Corporation Trusted authentication digital signature (tads) system
US7082533B2 (en) * 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
US7558965B2 (en) * 2000-08-04 2009-07-07 First Data Corporation Entity authentication in electronic communications by providing verification status of device
AU2001287165A1 (en) 2000-08-04 2002-02-18 First Data Corporation Person-centric account-based digital signature system
US7010691B2 (en) * 2000-08-04 2006-03-07 First Data Corporation ABDS system utilizing security information in authenticating entity access
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US6789189B2 (en) * 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
GB2366162A (en) 2000-08-15 2002-02-27 Chargenet Ltd Controlling access to a telecommunicated data file
WO2002015998A2 (fr) * 2000-08-21 2002-02-28 International Game Technology Procede et dispositif d'authentification de logiciel
CA2356015A1 (fr) 2000-08-31 2002-02-28 International Game Technology Methode et appareil de codage de bons d'echange dans un systeme de jeux de casino sans numeraire
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 (ko) * 2001-04-11 2003-11-21 한국정보보호진흥원 피케이아이 기반의 상업용 키위탁 방법 및 시스템
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
US20040128508A1 (en) * 2001-08-06 2004-07-01 Wheeler Lynn Henry Method and apparatus for access authentication entity
US7162036B2 (en) 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
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
EP1433078A4 (fr) 2001-09-10 2006-11-15 Igt Reno Nev Mise au point de programmes de jeu compatibles avec un systeme et un dispositif d'exploitation de jeu electronique
US7128650B2 (en) * 2001-09-12 2006-10-31 Igt Gaming machine with promotional item dispenser
US6922717B2 (en) 2001-09-28 2005-07-26 Intel Corporation Method and apparatus for performing modular multiplication
US20030064784A1 (en) * 2001-09-28 2003-04-03 William Wells Wide screen gaming apparatus
US20030065696A1 (en) * 2001-09-28 2003-04-03 Ruehle Michael D. Method and apparatus for performing modular exponentiation
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7136484B1 (en) * 2001-10-01 2006-11-14 Silicon Image, Inc. Cryptosystems using commuting pairs in a monoid
WO2003045519A1 (fr) * 2001-11-26 2003-06-05 Igt Dispositif et procede de validation active d'interconnexion
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
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
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7320073B2 (en) * 2003-04-07 2008-01-15 Aol Llc Secure method for roaming keys and certificates
CA2525398C (fr) * 2003-05-13 2014-03-11 Corestreet, Ltd. Systemes efficaces et surs d'indication de l'actualite de donnees
US20040250073A1 (en) * 2003-06-03 2004-12-09 Cukier Johnas I. Protocol for hybrid authenticated key establishment
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
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
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7794323B2 (en) * 2003-07-25 2010-09-14 Igt Gaming apparatus with encryption and method
US8707030B2 (en) * 2003-11-19 2014-04-22 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
US7752453B2 (en) 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US7849326B2 (en) * 2004-01-08 2010-12-07 International Business Machines Corporation Method and system for protecting master secrets using smart key devices
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
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
WO2005067672A2 (fr) 2004-01-09 2005-07-28 Corestreet, Ltd. Protocole d'etat de certificat en ligne par lot (pecl) et pecl distribue par lot
JP4390570B2 (ja) * 2004-01-21 2009-12-24 株式会社エヌ・ティ・ティ・ドコモ 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
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
US20060153367A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature system 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
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US7593527B2 (en) * 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US20060153364A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Asymmetric key cryptosystem 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
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral 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
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
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
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 (zh) * 2005-12-09 2009-06-24 上海燕托计算机有限公司 一种减少rsa密钥变量存储空间的方法
US7523495B2 (en) 2006-04-19 2009-04-21 Multos Limited 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
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
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
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
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
US9185123B2 (en) 2008-02-12 2015-11-10 Finsphere Corporation System and method for mobile identity protection for online user authentication
US7917747B2 (en) * 2007-03-22 2011-03-29 Igt Multi-party encryption systems and methods
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
US9111189B2 (en) * 2007-10-31 2015-08-18 Location Based Technologies, Inc. Apparatus and method for manufacturing an electronic package
US8224355B2 (en) 2007-11-06 2012-07-17 Location Based Technologies Inc. System and method for improved communication bandwidth utilization when monitoring location information
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
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
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
EP2513829B1 (fr) * 2009-12-16 2021-04-07 Cardiac Pacemakers, Inc. Système et procédé pour autoriser une fonctionnalité limitée
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
WO2013151852A1 (fr) 2012-04-01 2013-10-10 Authentify, Inc. Authentification sécurisée dans un système multi-partie
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
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
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
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
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
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
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
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 (fr) 2018-04-05 2019-10-10 Daniel Maurice Lerner Communications de chaîne de blocs et de chaîne de blocs discrètes
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
DE2843583C2 (de) 1982-06-03
FR2405532A1 (fr) 1979-05-04
CA1128159A (fr) 1982-07-20
BE871039A (fr) 1979-04-05
US4218582A (en) 1980-08-19
SE439225B (sv) 1985-06-03
FR2405532B1 (fr) 1985-10-11
AU4041878A (en) 1980-04-17
AU519184B2 (en) 1981-11-12
SE7810478L (sv) 1979-04-07
JPS5950068B2 (ja) 1984-12-06
IT1099780B (it) 1985-09-28
GB2006580A (en) 1979-05-02
IT7828508A0 (it) 1978-10-06
NL7810063A (nl) 1979-04-10
GB2006580B (en) 1982-08-18
DE2843583A1 (de) 1979-05-10
JPS5488703A (en) 1979-07-14
ES474539A1 (es) 1980-04-16

Similar Documents

Publication Publication Date Title
CH634161A5 (fr) Appareil de dechiffrage d&#39;un message chiffre et son utilisation dans une installation de transmission.
BE1003932A6 (fr) Systeme cryptographique par bloc de donnees binaires.
EP2345202B1 (fr) Procédé de signature numérique en deux étapes
FR2496303A1 (fr) Systeme de chiffrage/dechiffrement de donnees a cle publique
FR2760583A1 (fr) Systeme de verification de cartes de donnees
FR2733379A1 (fr) Procede de generation de signatures electroniques, notamment pour cartes a puces
EP0346180B1 (fr) Dispositif de communication sécurisée de données
FR2499792A1 (fr) Recepteur pour un systeme cryptographique a cle publique
EP3334121A1 (fr) Procédé de génération d&#39;une signature électronique d&#39;un document associé à un condensat
FR3038757A1 (fr)
EP0909495B1 (fr) Procede de cryptographie a cle publique
FR2793366A1 (fr) Protocole de signature numerique a largeur de bande reduite
EP1721246B1 (fr) Procede et dispositif pour accomplir une operation cryptographique
EP0756398A1 (fr) Système et procédé de communication de messages cryptés selon un procédé de type R.S.A. avec réduction modulaire pour obtenir un décryptage rapide
FR2679054A1 (fr) Procede et appareil d&#39;exponentiation sur gf(2n).
EP3857810B1 (fr) Procédé cryptographique de comparaison sécurisée de deux données secrètes x et y
FR2818765A1 (fr) Multiplicateur modulaire et processeur de cryptage/decryptage utilisant le multiplicateur modulaire
EP0752771A1 (fr) Procédé de traitement d&#39;un signal numérique tel que le signal numérique en sortie ne peut se déduire du signal numérique en entrée, et utilisation de ce procédé pour le contrÔle d&#39;accès et/ou la signature binaire
FR3035293A1 (fr)
FR3111037A1 (fr) Procédé de dérivation d’une signature partielle avec vérification partielle
EP3614617A1 (fr) Procédé et dispositif de génération de paramètre(s) d&#39;un protocole cryptographique asymétrique à partir d&#39;une blockchain, procédé et appareil de cryptage ou de décryptage et programme d&#39;ordinateur associés
FR2734679A1 (fr) Procede de cryptographie a cle publique base sur le logarithme discret
FR3140728A1 (fr) Procédé de traitement cryptographique, dispositif électronique et programme d’ordinateur associés
WO2023059495A1 (fr) Transfert inconscient statistiquement privé de récepteur depuis un cdh
WO2024018158A1 (fr) Procédé d&#39;échange d&#39;un secret résistant aux attaques par ordinateur quantique, système informatique et programme d&#39;ordinateur associés

Legal Events

Date Code Title Description
PL Patent ceased