Brevet FR3111046A1 — publié le 20211203

L’invention concerne une méthode de comparaison d’une première trajectoire T avec une deuxième trajectoire T’, comprenant: - une détermination d’un premier vecteur signature, Sig(EV), déterminé par application d’une fonction, f, de hachage sur un vecteur chiffré, EV, étant le résultat du chiffrement du vecteur V représentant la trajectoire T, - une comparaison de Sig(EV) avec un deuxième vecteur signature Sig(EV’), la comparaison comprenant l’application d’une fonction D, le deuxième vecteur signature Sig(EV’) correspondant à la deuxième trajectoire T’. Regroupement de trajectoires dans le domaine chiffré La présente invention concerne le domaine de l’analyse et du traitement informatique des données relatives à des trajectoires géographiques, par exemple, le traitement des données relevées par des assistants de navigation GPS. Elle trouve notamment des applications dans les systèmes informatiques comparant ces données relatives à ces trajectoires géographiques. En effet, les assistants de navigation GPS peuvent être amenés à comparer les trajectoires de leurs utilisateurs afin d’adapter les parcours recommandés. De plus, l’analyse des données relatives à des trajectoires géographiques, en permettant de déterminer les parcours les plus empruntés, offre la possibilité d’adapter ces parcours, par exemple, la signalétique ou encore les services proposés sur ces parcours. Toutefois, les données relatives à des trajectoires géographiques sont des données sensibles, car elles permettent très souvent d’identifier les individus qui ont parcouru ces trajectoires. Le respect de la « vie privée » des utilisateurs d’un service informatique étant un enjeu de plus en plus stratégique, il est important de pouvoir analyser les données relatives à des trajectoires géographiques sans compromettre l’identité de ces utilisateurs. Certaines solutions se basent sur l’anonymisation des trajectoires. Ainsi une trajectoire donnée n’est plus associée avec un élément permettant l’identification de l’utilisateur. Toutefois, une trajectoire peut contenir en elle-même suffisamment d’information pour identifier un utilisateur. En effet, une trajectoire d’un utilisateur, notamment lorsque celle-ci est relative au déplacement d’un utilisateur sur plusieurs jours, peut permettre de déterminer des lieux significatifs de la vie de l’utilisateur, par exemple, son lieu de travail ou encore son lieu d’habitation. Une trajectoire d’un utilisateur, en ce qu’elle permet de connaitre la vitesse de celui-ci, peut également permettre d’approximer la taille ou l’âge de l’utilisateur. Ainsi, l’anonymisation des trajectoires n’offre pas une protection suffisante de l’identité des utilisateurs d’un service utilisant des données relatives à leurs trajectoires géographiques. La présente invention vient améliorer la situation. Un premier aspect de l’invention concerne une méthode de comparaison d’une première trajectoire T avec une deuxième trajectoire T’, les trajectoires T et T’ étant au moins pour partie incluses dans une zone géographique, la zone géographique étant recouverte par un ensemble de cellules, la méthode étant mise en œuvre par un ordinateur et comprenant: - une détermination d’un premier vecteur signature, Sig(EV), déterminé par application d’une fonction, f, de hachage sur un vecteur chiffré, EV, de sorte qu’au moins une k-ième composante du premier vecteur signature correspond au chiffré de la composante minimale d’un vecteur résultant du produit d’un vecteur V et d’un vecteur résultant de l’application sur un vecteur W= (W m ) m ∈ [1;n] d’une k-ième permutation comprise dans un sous-ensemble de h éléments de l’ensemble des permutations de n valeurs, où W m est égale à m et le vecteur chiffré, EV, étant le résultat du chiffrement du vecteur V représentant la trajectoire T, la i-ème composante V i du vecteur V = (V i ) i ∈ [1,n] étant : - de valeur réelle α strictement positive, lorsque la trajectoire T comprend une i-ème transition d’un ensemble de n transitions, chaque transition de l’ensemble de transitions représentant une transition d’une cellule de la zone géographique à une autre cellule de la zone géographique ; - de valeur réelle β strictement positive avec n.α - une comparaison de Sig(EV) avec un deuxième vecteur signature Sig(EV’), la comparaison comprenant l’application d’une fonction D qui, à deux vecteurs EU et EU’ associe une valeur chiffrée de d(U,U’), où U et U’ sont deux vecteurs et EU et EU’ sont respectivement les vecteurs chiffrés de U et U’ et d est une distance, le deuxième vecteur signature Sig(EV’) correspondant à la deuxième trajectoire T’. Ainsi, sur la base de données chiffrées, à savoir le vecteur chiffré EV, obtenues à partir de données (à savoir le vecteur V) représentant une première trajectoire T, une comparaison entre la première trajectoire et la deuxième trajectoire est effectuée, plus précisément une comparaison entre les données représentant la première trajectoire T et les données représentant la deuxième trajectoire. La méthode proposée permet de réaliser une telle comparaison de manière plus efficiente, c’est-à-dire en consommant moins de ressources de calcul tout en assurant une protection importante de l’identité de l’utilisateur à l’origine de la première trajectoire T. En effet, la fonction de hachage telle que définie dans la méthode en combinaison avec la structure particulière du vecteur V permet d’obtenir un premier vecteur signature, Sig(EV), dont les composantes sont indépendantes des trajectoires qui ne sont pas comprises dans la trajectoire T. Autrement dit, le résultat de la fonction de hachage ne tient pas compte des composantes de valeur réelle β, mais uniquement des composantes de valeur réelle α. La fonction de hachage filtre ainsi les composantes pertinentes. Etant donné que la précision de la comparaison dépend du nombre de composantes dans le premier vecteur signature (c’est-à-dire du nombre de permutations distinctes qui sont utilisées dans le cadre de l’algorithme de type MinHash) et de la pertinence de ces composantes, la différence importante entre les composantes de valeur réelle β et les composantes de valeur réelle α permet de simplifier fortement la comparaison qui doit être faite pour calculer les composantes du vecteur signature, tout en conservant la même précision. La complexité de la comparaison est donc réduite. Ainsi, l’opérateur d’un service requérant l’analyse des données relatives à des trajectoires géographiques peut donc effectuer une comparaison efficiente sans utiliser directement des données, non chiffrées, représentant la première trajectoire. Par exemple, un équipement utilisateur (téléphone, smartphone…) peut chiffrer les données représentant la première trajectoire avant que celles-ci ne soient transmises à l’opérateur du service pour effectuer la comparaison. Ainsi, en l’absence des données non chiffrées représentant la première trajectoire, l’opérateur du service utilisant les données chiffrées ne pourra pas identifier l’individu ayant produit les données représentant la première trajectoire. Par vecteur signature, il est entendu le vecteur dont les composantes sont le résultat d’une fonction de hachage appliquée respectivement aux composantes d’un autre vecteur. Les composantes de cet autre vecteur pouvant être chiffrées ou non. La deuxième trajectoire peut être une trajectoire connue de l’ordinateur et de l’opérateur du service opérant l’ordinateur, c’est-à-dire une trajectoire dont les données non chiffrées représentant la trajectoire T’ sont connues de l’opérateur du service et de l’ordinateur. Les données représentant la deuxième trajectoire T’ sont, par exemple, un vecteur V’ défini de la même manière que V, à savoir, que la i-ème composante V’ i du vecteur V’ = (V’ i ) i ∈ [1,n] est : - de valeur réelle α lorsque la trajectoire T’ comprend la i-ème transition de l’ensemble de n transitions; - de valeur réelle β lorsque la trajectoire T’ ne comprend pas la i-ème transition de l’ensemble de transitions. Ainsi, les données représentant la deuxième trajectoire sont accessibles à l’opérateur du service ou sont utilisées par l’ordinateur avant qu’elles ne soient chiffrées. Une trajectoire connue peut être une trajectoire générée par l’ordinateur (ou plus généralement par l’opérateur du service) ou peut résulter du déplacement d’un utilisateur dont la trajectoire est connue de l’opérateur du service. L’ordinateur chiffre alors chaque composante V’ i du vecteur V’ pour obtenir le vecteur chiffré EV’. La deuxième trajectoire peut également ne pas être connue de l’ordinateur et de l’opérateur du service : par exemple, l’ordinateur peut recevoir d’un équipement utilisateur des données chiffrées représentant la deuxième trajectoire. Ces données correspondent au chiffré du vecteur V’, noté EV’. Ainsi, en l’absence des données V’ représentant la deuxième trajectoire, l’opérateur du service utilisant les données chiffrées ne pourra pas identifier l’individu ayant produit les données représentant la deuxième trajectoire T’. La comparaison pourra se faire relativement à une portion seulement de trajectoire ou à l’intégralité de la trajectoire. Par exemple, si la première trajectoire et la deuxième trajectoire ont le même point de départ et d’arrivée une comparaison de l’ensemble des trajectoires peut être réalisée. De même, la comparaison peut être effectuée sur une portion seulement d’une des trajectoires, par exemple lorsque les deux trajectoires ont un point en commun. La première trajectoire T et la deuxième trajectoire T’ peuvent avoir les mêmes points de départ et/ou les mêmes points d’arrivée et/ou un même point commun. Par deux trajectoires ayant le même point (de départ, d’arrivée, ou commun), il est entendu que les points, correspondant au point de départ, au point d’arrivée ou au point en commun, de chacune des deux trajectoires sont compris dans une même cellule, parmi un ensemble de plusieurs cellules recouvrant au moins une partie d’une zone géographique. Par exemple, l’ensemble de cellules peut former une partition spatiale de la zone géographique. Un maillage de la pluralité de cellules fin permet de mieux caractériser une trajectoire. Une cellule correspond à une sous-zone géographique de la zone géographique. Plusieurs trajectoires peuvent également être comparées avec la deuxième trajectoire. Dans ce cas la possibilité d’identifier précisément l’individu au moyen de sa trajectoire est limitée. Par vecteur chiffré, il est entendu un vecteur dont les composantes sont le résultat du chiffrement respectivement des composantes d’un autre vecteur. Le chiffrement est réalisé au moyen d’une clé qui peut être une clé privée, dans le cas d’un chiffrement symétrique, ou une clé publique, dans le cas d’un chiffrement asymétrique. Par vecteur signature correspondant à une trajectoire, il est entendu un vecteur résultant de l’application d’une fonction de hachage sur un vecteur représentant la trajectoire. Le vecteur représentant la trajectoire peut être un vecteur chiffré (par exemple EV’ et EV) ou non chiffré (par exemple V’ et V). Par vecteur (chiffré ou non) représentant une trajectoire, il est entendu un vecteur dont les éléments, si ceux-ci sont déchiffrés ou ne sont pas chiffrés, permettent de retracer plus ou moins précisément la trajectoire dont le vecteur est issu. Un vecteur représentant une trajectoire correspond aux données représentant la trajectoire. Par comparaison de deux vecteurs signatures, il est entendu toute opération permettant de déterminer si les trajectoires dont les vecteurs signatures sont issus (c’est-à-dire les trajectoires représentées par des vecteurs dont le hachage a pour résultat les vecteurs signatures) sont similaires ou proches. Par trajectoires similaires, il est entendu deux trajectoires (au moins pour la portion de ces trajectoires entre les points desquels la comparaison est effectuée) passant par les mêmes cellules (par exemple, dans le même ordre) de l'ensemble de cellules, les cellules de l’ensemble de cellules recouvrant une zone géographique (par exemple, formant une partition de cette zone géographique) à l’intérieur de laquelle se trouvent les deux trajectoires (au moins pour la portion de ces trajectoires concernée par la comparaison). Il est alors équivalent de dire que le résultat de la fonction D appliquée à deux vecteurs signatures représentant deux trajectoires similaires est un chiffré de 0. Par trajectoires proches, il est entendu deux trajectoires passant par des cellules communes (par exemple, dans le même ordre), le nombre de cellules communes par rapport au nombre de cellules traversées par l’une des deux trajectoires étant supérieur à un seuil. Il est alors équivalent de dire que le résultat de la fonction D appliquée à deux vecteurs signatures représentant deux trajectoires proches est un chiffré d’une valeur inférieure à un seuil, noté η. On peut définir un ensemble de transitions, dont chaque transition représente un passage d’une cellule de l’ensemble de cellules à une autre cellule de cet ensemble. On considère alors qu’une trajectoire passant d’une cellule à une autre cellule comprend alors la transition correspondant à ce passage. Un tel ensemble de transition peut contenir toutes les transitions possibles de chacune des cellules de l’ensemble de cellules vers chacune des autres cellules. Il peut également s’agir d’un sous-ensemble de cet ensemble. Cette autre cellule peut être une cellule adjacente. Il est également possible que cette autre cellule ne soit pas une cellule adjacente. En effet, des transitions entre cellules adjacentes peuvent ne pas être définies dans la trajectoire en raison par exemple d’une mauvaise couverture radio. Ainsi, deux trajectoires similaires ont les mêmes transitions. Deux trajectoires proches ont un nombre de transitions communes, relativement au nombre total de transitions des trajectoires proches (par exemple, relativement au nombre total de transitions comprises dans la trajectoire ayant le plus de transitions parmi les deux trajectoires proches) ou de manière absolue, supérieur à un seuil prédéterminé. Autrement dit, lorsque l’on définit la fonction D qui, à deux vecteurs EU et EU’ associe une valeur chiffrée de d(U,U’), où U et U’ sont deux vecteurs et EU et EU’ sont respectivement les vecteurs chiffrés de U et U’ et d est une distance, l’égalité entre deux vecteurs EU et EU’ (c’est-à-dire que les trajectoires correspondant au deux vecteurs sont similaires) correspond à un résultat du calcul de D(EU,EU’) qui correspond au chiffré de 0. De plus, deux vecteurs EU et EU’ sont proches (c’est-à-dire que les trajectoires correspondant au deux vecteurs sont proches) lorsque le résultat du calcul de D(EU,EU’) correspond au chiffré d’une valeur inférieure à un seuil, noté η. Selon un mode de réalisation, il est prévu l’obtention du vecteur chiffré, EV, sur un équipement utilisateur puis la transmission à l’ordinateur du vecteur chiffré, EV. Par équipement utilisateur, il est entendu tout équipement (par exemple téléphone, smartphone ou encore ordinateur portable) permettant d’obtenir des données représentant la trajectoire de l’utilisateur (par exemple, un équipement disposant d’une puce GPS), de chiffrer ces données et enfin de les transmettre à l’ordinateur. Plus généralement, l’équipement utilisateur peut être remplacé par plusieurs équipements réalisant une ou deux de ces trois fonctions, par exemple, un objet connecté comme une montre qui enregistre la trajectoire de l’utilisateur, les données relatives à la trajectoire pouvant ensuite être chargées sur un ordinateur pour être chiffrées, puis transmises à l’ordinateur. Il est également possible que l’équipement utilisateur ne réalise que la fonction d’enregistrement de la trajectoire et transmette les données relatives à la trajectoire (à savoir, V) à un serveur qui ensuite produit un vecteur chiffré (EV) et transmet ce vecteur chiffré à l’ordinateur. Le serveur se distingue alors du système de l’opérateur pour empêcher l’identification de l’utilisateur. La transmission des données relatives à la trajectoire (chiffrées ou non) peut être réalisée via tout réseau de communication, par exemple le réseau internet. Il est également possible que les données représentant la trajectoire de l’utilisateur soient obtenues de manière centralisée par un opérateur intermédiaire, par exemple directement par un opérateur de réseau qui peut géolocaliser l’équipement utilisateur. Cet opérateur intermédiaire peut également chiffrer ces données représentant la trajectoire et les transmettre à l’opérateur du service, c’est-à-dire à l’ordinateur pour réaliser la comparaison. Selon un mode de réalisation α =1 et β = n+1. Ainsi, obtenir des vecteurs représentant les trajectoires, c’est-à-dire générer les données représentatives de la trajectoire, présente peu de complexité et ainsi requiert peu de capacité de calcul. Selon un mode de réalisation, le chiffrement est obtenu au moyen d’une clé publique pk et d’une fonction de chiffrement, Encrypt( . ,pk), d’un schéma de calcul bipartite sécurisé (2PC). La fonction de chiffrement associe, au moyen de la clé publique, une valeur réelle à une valeur chiffrée, c’est-à-dire un code qui requiert une clé privée pour être déchiffré. Toutes les composantes des vecteurs chiffrés et toutes les valeurs chiffrées sont obtenues avec la même fonction de chiffrement. C’est-à-dire qu’un même schéma de chiffrement est utilisé. Par schéma de calcul bipartite sécurisé (2PC), il est entendu un schéma de chiffrement qui permet à deux parties de calculer conjointement le résultat d’une fonction en utilisant leurs entrées respectives, de telle sorte que chaque partie n’obtient aucune information sur l’entrée de l’autre partie. Il peut s’agir d’un schéma employant un chiffrement probabiliste. L’emploi d’un tel schéma pour chiffrer les données relatives aux trajectoires permet de réaliser plus efficacement des opérations directement sur les données chiffrées (codes) sans connaitre la valeur réelle dont sont issues les données chiffrées. Ainsi, il est possible d’implémenter les fonctions suivantes : - la fonction ScalarMult, qui au couple de valeur (Eu,u’) associe une valeur égale à Encrypt(u.u’,pk), où Eu est la valeur chiffrée de la valeur réelle u (à savoir, Eu = Encrypt(u,pk)) et u’ est une valeur réelle non chiffrée ; - la fonction Min, qui au h-uplet {Eu i } i ∈ [1, n ] associe une valeur Encrypt(min i ∈ [1,n ] (u i ), pk), où Eu i est la valeur chiffrée de la i-ième valeur u i de l’ensemble {u i } i ∈ [1, n ] ; - la fonction ArgMin, qui au h-uplet {Eu i } i ∈ [1,n] associe une valeur Encrypt(argmin i ∈ [1,n] (u i ), pk), où Eu i est la valeur chiffrée de la i-ième valeur u i de l’ensemble {u i } i ∈ [1,n] ; - la fonction Equal, qui au couple de vecteurs (EU,EU’) associe une valeur Encrypt(1,pk) si U=U’ et Encrypt(0,pk) si U≠U’ où EU est le vecteur dont les éléments sont les éléments chiffrés de U et EU’ est le vecteur dont les éléments sont les éléments chiffrés de U’ ; - la fonction Add, qui au couple (Eu, Eu’) associe une valeur Encrypt(u+u’,pk), où Eu et Eu’ sont respectivement les valeurs chiffrées des valeurs réelles u et u’ ; - la fonction Less, qui au couple de valeurs chiffrées (Eu, Eu’) associe une valeur Encrypt(1,pk), de 1 si u ≥ u’ et une valeur de Encrypt(0,pk) sinon ; et - la fonction Mult, qui au couple de valeurs chiffrées (Eu, Eu’) associe une valeur Encrypt(u.u’,pk) et où Eu et Eu’ sont respectivement les valeurs chiffrées des valeurs u et u’. Par une valeur chiffrée de A, Encrypt(A,pk), il est entendu l’une des valeurs qu’il est possible d’obtenir en chiffrant la valeur A avec la fonction Encrypt au moyen de la clé publique pk. Dans le cas d’un chiffrement probabiliste, plusieurs valeurs peuvent correspondre à Encrypt(A,pk), une valeur Encrypt(A,pk) est donc l’une d’entre elles. Il est parfois écrit Encrypt(A,pk ;r) où r est un aléa. Selon un mode de réalisation les h composantes Sig(EV) j ∈ [1,h] résultant de l’application de la fonction, f, de hachage sur le vecteur chiffré, EV, correspondent respectivement au chiffré de la composante minimale d’un vecteur résultant du produit d’un vecteur V et d’un vecteur résultant de l’application sur un vecteur W= (W m ) m ∈ [1;n] d’une permutation comprise dans le sous-ensemble de h éléments. C’est-à-dire que pour chaque j∈[1,h], Sig(EV) j ∈ [1,h] est la valeur chiffrée de min i ∈ [1,n] (V i . π j,i ), où EV i est le chiffré de V i et π j,i est la valeur de la i-ième composante du vecteur résultant de l’application sur le vecteur W= (1, 2,…,n) de la j-ième permutation comprise dans le sous-ensemble de h éléments. C’est-à-dire que le résultat Sig(EV) de la fonction f de hachage est définie par : Sig(EV)=f(EV)=[Min i ∈ [1,n] (ScalarMult(EV i , π j,i ))] j ∈ [1,h] . Ainsi, toutes les composantes de Sig(EV) sont obtenues en appliquant les mêmes opérations avec h permutations différentes. La fonction de hachage permet alors une comparaison plus efficiente des trajectoires tout en conservant une bonne précision de celle-ci. Selon un mode de réalisation il est prévu la détermination par l’ordinateur du vecteur signature Sig(EV’), celui-ci correspondant à la deuxième trajectoire T’, la i-ème composante du vecteur signature Sig(EV’) étant déterminée par calcul de la valeur chiffrée de min i ∈ [1,n] (V’ i , π j,i ), où, π j,i est la valeur d’une i-ième composante du vecteur résultant de l’application sur le vecteur W d’une j-ième permutation comprise dans le sous-ensemble de h éléments et (V’ i ) i ∈ [1,n] sont les composantes d’un vecteur V’ représentatif de la deuxième trajectoire T’, la i-ème composante V’ i du vecteur V’ = (V’ i ) i ∈ [1,n] étant égale à : - la valeur réelle α lorsque la deuxième trajectoire T’ comprend la i-ème transition de l’ensemble de n transitions ; ou - la valeur réelle β lorsque la deuxième trajectoire T’ ne comprend pas la i-ème transition de l’ensemble de transitions. Ainsi, l’ordinateur calcule pour chaque i, la valeur de min i ∈ [ 1,n] (V’ i , π j,i ) à partir du vecteur V’. Chacune de ces valeurs est ensuite chiffrée pour obtenir les composantes de Sig(EV’) et permettre la comparaison entre Sig(EV) et Sig(EV’), c’est-à-dire d’effectuer la comparaison des trajectoires T’ et T dans le domaine chiffré. Dans ce cas la trajectoire T’ est connue de l’ordinateur. La trajectoire T’ peut ainsi être choisie de manière pertinente en fonction de la connaissance de la zone géographique. Lorsque T’ est déterminée ou choisie on parle alors de trajectoire de référence. Ainsi, lorsque plusieurs trajectoires inconnues de l’opérateur du service (comme la première trajectoire) sont comparées à une trajectoire de référence, il est par exemple possible à l’opérateur du service d’évaluer le nombre d’individus qui empruntent cette trajectoire. Il est également possible de déterminer le nombre d’individus qui empruntent des trajectoires très proches ou similaires. Le deuxième vecteur signature, Sig(EV’), peut également être obtenu en chiffrant le vecteur V’ pour obtenir le vecteur chiffré EV’ et en appliquant la fonction f de hachage, on retrouve alors : Sig(EV’)=f(EV’)=[Min i ∈ [1,n] (ScalarMult(EV’ i , π j,i ))] j ∈ [1,h]. Selon un mode de réalisation il est prévu la détermination par l’ordinateur du deuxième vecteur signature Sig(EV’), déterminé par application de la fonction, f, de hachage sur un vecteur chiffré, EV’, de sorte qu’au moins une k-ième composante du deuxième vecteur signature correspond au chiffré de la composante minimale d’un vecteur résultant du produit d’un vecteur V’ et du vecteur résultant de l’application sur le vecteur W de la k-ième permutation comprise dans le sous-ensemble de h éléments, le vecteur chiffré, EV’, étant le résultat du chiffrement d’un vecteur V’ représentant la deuxième trajectoire T’, la i-ème composante V’ i du vecteur V’ = (V’ i ) i ∈ [1,n] étant égale à : - la valeur réelle α lorsque la trajectoire T’ comprend la i-ème transition de l’ensemble de n transitions ; ou - la valeur réelle β lorsque la trajectoire T’ ne comprend pas la i-ème transition de l’ensemble de transitions. Ainsi, l’ordinateur applique la fonction f de hachage sur le vecteur chiffré EV’, afin d’obtenir les h composantes Sig(EV’) j ∈ [1,h] du deuxième vecteur signature Sig(EV’). Le vecteur EV’ est le chiffré du vecteur V’ représentant la trajectoire T’. L’ordinateur peut obtenir le vecteur chiffré EV’ de la même manière que le vecteur EV (par exemple, suite au chiffrement et à la transmission du vecteur EV’ par un équipement utilisateur). Ainsi, l’ordinateur et l’opérateur du service n’ont que des données chiffrées représentant la trajectoire T’. Ainsi ils ne peuvent pas identifier l’individu dont les données représentant la trajectoire T’ sont issues. L’ordinateur compare alors Sig(EV) et Sig(EV’), c’est-à-dire qu’il effectue la comparaison des trajectoires T et T’ dans le domaine chiffré sans connaitre les trajectoires T et T’. Ainsi, lorsque plusieurs trajectoires inconnues de l’opérateur du service sont comparées entre elles, il est par exemple possible à l’opérateur du service d’évaluer des éventuelles congestions de trafic dans une zone géographique donnée sans qu’aucune trajectoire ne soit connue de l’opérateur du service. Pour cela l’opérateur du service peut déchiffrer le résultat de la comparaison mais pas les données relatives aux trajectoires comparées. Pour garantir que l’opérateur du service ne puisse pas déchiffrer les données relatives aux trajectoires, il est également possible de transmettre à un opérateur tiers le résultat chiffré de la comparaison ou d’un éventuel décompte, l’opérateur tiers étant alors chargé de déchiffrer ces résultats et de transmettre ces résultats déchiffrés à l’opérateur du service. L’opérateur du service ne disposant pas de la clé privée permettant de déchiffrer les données relatives aux trajectoires, il est ainsi garanti que celui-ci ne pourra pas obtenir ces données de manière non chiffrée mais seulement le résultat de la comparaison ou d’un éventuel décompte. L’opérateur tiers peut éventuellement être un utilisateur du service, ainsi l’utilisateur via le service pourra, par exemple connaitre le nombre d’utilisateurs qui empruntent une même trajectoire sans qu’il ait été nécessaire à un autre opérateur de manipuler des données non chiffrées relatives aux trajectoires. L’opération de comparaison peut être réalisée avec plusieurs trajectoires, par exemple, comparer plusieurs trajectoires qui ne sont pas connues de l’opérateur du service entre elles ou avec une ou plusieurs d’un ensemble de trajectoires de référence. Selon un mode de réalisation il est prévu un ajout de la première trajectoire T à un groupe de trajectoires correspondant à la deuxième trajectoire T’ en fonction du résultat de la comparaison. Ainsi, en fonction du résultat de la comparaison entre Sig(EV) et Sig(EV’), par exemple si les deux trajectoires T et T’ sont considérées comme similaires ou proches, la première trajectoire T est ajoutée dans un groupe de trajectoires correspondant à la deuxième trajectoire. Par groupe de trajectoires correspondant à la deuxième trajectoire, il est entendu un ensemble de trajectoires similaires ou proches de la deuxième trajectoire T’. Les trajectoires du groupe de trajectoires correspondant à la deuxième trajectoire peuvent avoir été ajoutées au groupe de la même manière que la première trajectoire T. La deuxième trajectoire T’ est alors la représentante du groupe de trajectoires correspondant à la deuxième trajectoire. Selon un mode de réalisation il est prévu de comparer N trajectoires (T l ) l ∈ [1,N] avec la deuxième trajectoire T’ au moyen de la comparaison de chacun des N vecteurs signatures déterminés (Sig(EV l )) l ∈ [1,N] avec le deuxième vecteur signature Sig(EV’), la méthode comprenant en outre un décompte d’un nombre de trajectoires comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ parmi les N trajectoires, le décompte comprenant le calcul d’une valeur chiffrée du nombre, ecount[N], de trajectoires comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ parmi les N trajectoires. Les vecteurs signatures déterminés (Sig(EV l )) l ∈ [1,N] sont obtenus de la même manière que le premier vecteur signature Sig(EV), par exemple, par application de la fonction f de hachage sur chacun des N vecteurs EV l . Chacun des vecteurs obtenus est alors comparé avec Sig(EV’), c’est-à-dire que chacune des N trajectoires (T l ) l ∈ [1,N] est comparée dans le domaine chiffré à la deuxième trajectoire T’. En fonction du résultat chiffré de la comparaison entre Sig(EV’) et chacun des Sig(EV l ) l , par exemple si les trajectoires T l et T’ sont considérées comme similaires ou proches, la trajectoire T l est ajoutée dans le groupe de trajectoires correspondant à la deuxième trajectoire T’. Ensuite, un décompte du nombre de trajectoires dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ est effectué dans le domaine chiffré. Ainsi, le décompte étant effectué sans déchiffrer le résultat de la comparaison, le nombre de trajectoires dans un groupe peut donc être calculé sans que l’opérateur du service ne puisse le déduire. Le déchiffrement du résultat du décompte, à savoir ecount[N], peut alors être fait par un autre opérateur autorisé (par exemple l’opérateur tiers) ou par l’ordinateur. Pour cela, l’anonymisation des utilisateurs (ceux dont sont issues les (T l ) l ∈ [ 1,N] trajectoires) doit être garantie, par exemple, si l’on peut assurer que le nombre de trajectoires dans le groupe dénombré est nécessairement important, empêchant ainsi de déduire l’identité des utilisateurs. Lorsque plusieurs groupes correspondant à des trajectoires différentes sont considérés, chaque trajectoire T l est comparée avec chaque représentant de chacun de ces différents groupes. Dans ce cas une trajectoire T l est ajoutée à un groupe si la trajectoire T l est égale ou plus proche (selon la distance d appliquée sur le vecteur représentant T l et le vecteur représentant la trajectoire représentante du groupe) du représentant du groupe que des autres représentants. Selon un mode de réalisation le calcul de la valeur chiffrée du nombre, ecount[N], de trajectoires comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ comprend le calcul de : Ecount[k]=Add(ecount[k-1], Equal(Sig(EV k ),Sig(EV’)) où, ecount[k] est la valeur chiffrée d’un nombre de trajectoires décomptées dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ parmi les trajectoires (T l ) l ∈ [1,k] . Ainsi, on assure que le décompte soit effectué sans déchiffrer le résultat de la comparaison ni les valeurs intermédiaires du décompte, à savoir ecount[k], qui restent chiffrés. Le nombre de trajectoires dans un groupe ne peut donc pas être déduit par l’opérateur du service. Selon un mode de réalisation le décompte du nombre de trajectoires comprend l’application d’une fonction de seuil S sur la valeur chiffrée ecount[N] du nombre de trajectoires parmi les N trajectoires qui sont comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’, la fonction S associant a une valeur chiffrée Eu la valeur chiffrée Eu lorsque u est supérieur à un seuil µ supérieur ou égal à 2 et la valeur chiffrée d’une valeur réelle strictement inférieure à µ sinon, où Eu est la valeur chiffrée de la valeur réelle u. Ainsi, le résultat de la fonction de seuil est une valeur chiffrée qui n’est pas représentative du nombre de trajectoires dans un groupe correspondant à la deuxième trajectoire lorsque ce nombre est inférieur à un seuil µ. Ainsi, si le nombre de trajectoires décomptées est inférieur au seuil µ, il n’est pas possible d’obtenir la valeur du nombre de trajectoires dans le groupe. Savoir qu’un groupe correspondant à une trajectoire comprend un nombre très faible de trajectoires peut permettre d’identifier l’individu à l’origine des données relatives à l’une des trajectoires du groupe. En effet, comme précédemment mentionné, si le groupe comprend par exemple une seule trajectoire proche voire similaire à la trajectoire représentative, alors il est possible de déterminer des lieux significatifs de la vie de l’individu et éventuellement d’identifier cet individu. Si le groupe comprend de nombreuses trajectoires alors il devient impossible ou au moins plus difficile d’identifier un individu via la trajectoire représentative de ce groupe. Ainsi, la fonction de seuil empêche de pouvoir obtenir la valeur, même chiffrée, du nombre de trajectoires dans un groupe comprenant trop peu de trajectoires et ainsi elle empêche de pouvoir identifier des individus de ce groupe. La fonction de seuil peut être définie par : S(Eu) = Mult(Less(Eu,µ), Eu). Selon un mode de réalisation il est prévu en outre le déchiffrement du résultat S(Encount[N]) de la fonction seuil S appliquée sur la valeur chiffrée Ecount[N]. Le déchiffrement du résultat S(Encount[N]) peut être réalisé par un autre opérateur (par exemple, l’opérateur tiers), mais également par l’opérateur du service car la fonction de seuil S permet de garantir l’anonymisation des utilisateurs (ceux dont sont issues les (T l ) l ∈ [1,N] trajectoires) lorsque µ est choisi suffisamment grand. Selon un autre aspect, il est proposé un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie d’un procédé tel que défini dans les présentes lorsque ces instructions sont exécutées par un processeur. Selon un autre aspect de l’invention, il est proposé un support d’enregistrement non transitoire, lisible par un ordinateur, sur lequel est enregistré un tel programme. Selon un autre aspect, il est proposé un ordinateur configuré pour comparer une première trajectoire T avec une deuxième trajectoire, les trajectoires T et T’ étant au moins pour partie incluses dans une zone géographique, la zone géographique étant recouverte par un ensemble de cellules, l’ordinateur comprenant : un processeur ; et une mémoire stockant des instructions, de sorte que lorsque ces instructions sont exécutées par le processeur, elles configurent le terminal utilisateur pour: - déterminer un premier vecteur signature, Sig(EV), par application d’une fonction, f, de hachage sur un vecteur chiffré, EV, de sorte qu’au moins une k-ième composante du vecteur signature correspond au chiffré de la composante minimale d’un vecteur résultant du produit d’un vecteur V et d’un vecteur résultant de l’application sur le vecteur (1, 2,…,n) d’une k-ième permutation comprise dans un sous-ensemble de h éléments de l’ensemble des permutations de n valeurs, le vecteur chiffré, EV, étant le résultat du chiffrement du vecteur V représentant la trajectoire T, la i-ème composante V i du vecteur V = (V i ) i ∈ [1,n] étant : - de valeur réelle α strictement positive, lorsque la trajectoire T comprend une i-ème transition d’un ensemble de n transitions, chaque transition de l’ensemble de transitions représentant une transition d’une cellule de la zone géographique à une autre cellule de la zone géographique ; - de valeur réelle β strictement positive avec n.α - comparer Sig(EV) avec un deuxième vecteur signature Sig(EV’), la comparaison comprenant l’application d’une fonction D qui, à deux vecteurs EU et EU’ associe une valeur chiffrée de d(U,U’), où U et U’ sont deux vecteurs et EU et EU’ sont respectivement les vecteurs chiffrés de U et U’ et d est une distance, le deuxième vecteur signature Sig(EV’) correspondant à la deuxième trajectoire T’. D’autres caractéristiques, détails et avantages de l’invention apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : la illustre la comparaison de trajectoires selon un mode de réalisation particulier ; la illustre un ordinogramme représentant le procédé selon un mode de réalisation particulier. L’exemple de la décrit un ensemble d’utilisateurs 12, 22 et 32 disposant de terminaux utilisateur 11, 21 et 31. Le terminal utilisateur 11 est plus amplement décrit. Le terminal utilisateur 11 comprend un module d’interface avec le réseau de communication (INT1) 14, un processeur (PROC1) 15 et une mémoire (MEMO1) 16. Le processeur 15 est configuré pour déterminer les données (par exemple, le vecteur V1 représentant la trajectoire T1) relatives à la trajectoire géographique 10. Le processeur 15 est configuré pour chiffrer ces données pour obtenir le vecteur chiffré EV1. Le processeur 15 est en outre configuré pour contrôler le module d’interface avec le réseau de communication (INT1) 14 afin de pouvoir transmettre le vecteur chiffré EV1 13 à un ordinateur 50 (par exemple, un serveur de l’opérateur du service) via le réseau de communication 40, par exemple le réseau Internet. Le module d’interface avec le réseau de communication (INT1) 14 permet au terminal utilisateur 11 de transmettre le vecteur chiffré EV 1 13 via le réseau de communication 40. Il peut s’agir d’un modem internet et/ou d’une carte réseau pour un ordinateur ou encore d’un module de communication sans fil permettant de coder et de transmettre un signal radio provenant d’une antenne du réseau de communication 40. La mémoire 16 comprend une mémoire non volatile sur laquelle est stocké le programme informatique et une mémoire volatile sur laquelle sont stockés les paramètres pour la mise en œuvre du procédé proposé, par exemple, le vecteur V 1 représentant la trajectoire T 1 , des données relatives à un découpage d’une zone géographique en cellules, des données relatives à des associations entre des couples de cellules et les transitions correspondantes d’un ensemble de n transitions (t i ) i ∈ [1,n] et une clé publique. Les terminaux utilisateur 11, 21 et 31 peuvent être par exemple des ordinateurs, smartphones ou encore des tablettes numériques. Les données relatives aux trajectoires géographiques 10, 20 et 30 peuvent être obtenues par les terminaux utilisateur 11, 21 et 31 par toutes techniques permettant de géolocaliser un terminal utilisateur dans une zone géographique, par exemple, via un système de géolocalisation par satellite comme le GPS ou encore par un système de géolocalisation non satellitaire, par exemple par triangulation de signaux d’un réseau de télécommunication radio. Dans cet exemple, N vecteurs chiffrés EV 1 à EV N sont transmis à l’ordinateur 50, les utilisateurs produisant les vecteurs chiffrés EV 3 à EV N-1 ne sont pas représentés sur la . L’ordinateur 50 comprend un module d’interface avec le réseau de communication (INT) 51, un processeur (PROC) 52 et une mémoire (MEMO) 53. La mémoire 53 comprend une mémoire non volatile sur laquelle est stocké le programme informatique et une mémoire volatile sur laquelle sont stockés les paramètres pour la mise en œuvre de l’invention, par exemple, les vecteurs chiffrés EV 1 à EV N , les vecteurs signatures des trajectoires de références, le résultat d’une comparaison entre vecteurs signatures, les fonctions f, D, Ecount et S, etc. Le module d’interface avec le réseau de communication (INT) 51 permet à l’ordinateur 50 de recevoir les vecteurs chiffrés EV 1 13 à EV N 33 via le réseau de communication 40. Il peut s’agir d’un modem internet et/ou d’une carte réseau pour un ordinateur ou encore d’un module de communication sans fil permettant de recevoir et de décoder un signal radio provenant d’une antenne du réseau de communication 40. Le processeur 52 est notamment configuré pour contrôler le module d’interface avec le réseau de communication (INT) 51 afin de pouvoir recevoir les vecteurs chiffrés EV 1 13 à EV N 33 via le réseau 40 et éventuellement d’envoyer via le réseau de communication 40 le résultat d’une comparaison de vecteurs signatures ou le résultat d’un décompte Ecount(N) ou encore S(Ecount(N)). Le processeur 52 est également configuré pour déterminer les N vecteurs signatures, (Sig(EV) l ) l ∈ [1,N] , à partir des N vecteurs chiffrés EV 1 à EV N . Le processeur 52 est configuré pour comparer les N vecteurs signatures, (Sig(EV) l ) l ∈ [1,N] , entre eux ou avec d’autres vecteurs signatures relatifs à des trajectoires de référence TR p ∈ [1,P] . Le processeur 52 est configuré pour calculer Ecount(N) ou encore S(Ecount(N)). La représente un organigramme d’un procédé selon un mode de réalisation particulier. A l’étape S1, chaque terminal utilisateur 11, 21 et 31 détermine respectivement les trajectoires T 1 , T 2 et T N . Pour cela le processeur 15 du terminal utilisateur 11 peut, en fonction de données GPS et des données relatives à un découpage d’une zone géographique en cellules, déterminer à chaque moment dans quelle cellule le terminal utilisateur 11 se situe. Sur la base des données relatives à des associations entre des couples de cellules et les transitions correspondantes, à chaque changement de cellule le processeur 15 détermine la transition correspondante au changement de cellule. Chaque transition correspond au passage d’une cellule à une autre, c’est-à-dire que chaque transition correspond à un couple de cellules (par exemple (C 1 ,C 2 ) et à une direction de passage (par exemple de C 1 vers C 2 ). Ainsi pour chaque couple de cellules (C 1 , C 2 ), deux transitions sont possibles, à savoir la transition de C 1 vers C 2 et de C 2 vers C 1 . A l’étape S2, chaque terminal utilisateur 11, 21 et 31 détermine respectivement les vecteurs V 1 , V 2 et V N représentant chaque trajectoire T 1 , T 2 et T N . Le processeur 15 du terminal utilisateur 11 détermine la i-ème composante V 1 i du vecteur V 1 comme étant égale à : - à la valeur réelle α, par exemple « 1 » lorsque la trajectoire T 1 comprend la i-ème transition t i de l’ensemble de n transitions; - à la valeur réelle β, par exemple « 1+n » lorsque la trajectoire T 1 ne comprend pas la i-ème transition t i de l’ensemble de transitions. Il est rappelé que les valeurs réelles α et β sont strictement positives et sont choisies telles que n.α A l’étape S3, chaque terminal utilisateur 11, 21 et 31 chiffre les composantes des vecteurs V 1 , V 2 et V N pour obtenir les vecteurs chiffrés EV 1 , EV 2 et EV N . Ainsi, le processeur 15 du terminal utilisateur 11 détermine la i-ème composante EV 1 i du vecteur EV 1 comme étant égale à Encrypt(V 1 i ,pk). La fonction Encrypt est une fonction de chiffrement qui peut être celle d’un schéma de calcul bipartite sécurisé (2PC) et a minima un schéma de chiffrement permettant de définir les fonctions suivantes : - la fonction ScalarMult, qui au couple de valeur (Eu,u’) associe une valeur égale à Encrypt(u.u’,pk), où Eu est la valeur chiffrée de la valeur réelle u (à savoir, Eu = Encrypt(u,pk)) et u’ est une valeur réelle non chiffrée ; - la fonction Min, qui au h-uplet {Eu i } i ∈ [1,n] associe une valeur Encrypt(min i ∈ [1,n] (u i ), pk), où Eu i est la valeur chiffrée de la i-ième valeur u i de l’ensemble {u i } i ∈ [1,n] ; - la fonction ArgMin, qui au h-uplet {Eu i } i ∈ [1,n] associe une valeur Encrypt(argmin i ∈ [1,n] (u i ), pk), où Eu i est la valeur chiffrée de la i-ième valeur u i de l’ensemble {u i } i ∈ [1,n] ; - la fonction Equal, qui au couple de vecteurs (EU,EU’) associe une valeur Encrypt(1,pk) si U=U’ et Encrypt(0,pk) si U≠U’ où EU est le vecteur dont les éléments sont les éléments chiffrés de U et EU’ est le vecteur dont les éléments sont les éléments chiffrés de U’ ; - la fonction Add, qui au couple (Eu, Eu’) associe une valeur Encrypt(u+u’,pk), où Eu et Eu’ sont respectivement les valeurs chiffrées des valeurs réelles u et u’ ; - la fonction Less, qui au couple de valeurs chiffrées (Eu, Eu’) associe une valeur Encrypt(1,pk), de 1 si u ≥ u’ et une valeur de Encrypt(0,pk) sinon ; et - la fonction Mult, qui au couple de valeurs chiffrées (Eu, Eu’) associe une valeur Encrypt(u.u’,pk) et où Eu et Eu’ sont respectivement les valeurs chiffrées des valeurs u et u’. A l’étape S4, chaque terminal utilisateur 11, 21 et 31 envoie respectivement les vecteurs EV 1 , EV 2 et EV N , via le réseau internet 40, à l’ordinateur 50 qui les réceptionne via son module d’interface avec le réseau de communication (INT) 51. Les étapes S1 à S4 peuvent également être effectuées par un opérateur intermédiaire, par exemple un opérateur d’un réseau de communication qui peut géolocaliser les différents terminaux utilisateurs 11, 21 et 31, par exemple, en identifiant dans quelle cellule du réseau de l’opérateur se trouve chaque terminal utilisateur. Les cellules du réseau de l’opérateur de réseau peuvent dans ce cas correspondre aux cellules de la zone géographique. Une fois que les trajectoires T 1 , T 2 et T N sont déterminées par l’opérateur intermédiaire, celui-ci peut déterminer les vecteurs V 1 , V 2 et V N . Ensuite l’opérateur intermédiaire peut transmettre les vecteurs chiffrés EV 1 , EV 2 et EV N à l’ordinateur 50. A l’étape S5, le processeur 52 de l’ordinateur 50 détermine pour chaque vecteur chiffré EV 1 , EV 2 et EV N un vecteur signature Sig(EV 1 ), Sig(EV 2 ) et Sig(EV N ). Au moins une j-ième composante du Sig(EV l ) correspond au chiffré de la composante minimale du vecteur résultant du produit du vecteur EV l et du vecteur résultant de l’application sur un vecteur W= (W m ) m ∈ [1 ;n] de la k-ième permutation comprise dans un sous-ensemble de h éléments. La j-ième composante Sig(EV l ) j du vecteur Sig(EV l ) étant déterminée par f(EV l ) = Min i ∈ [1,n] (ScalarMult(EV l i , π j,i )), où π j,i est la valeur de la i-ième composante du vecteur résultant de l’application sur le vecteur (1, 2,…,n) d’une j-ième permutation comprise dans un sous-ensemble de h éléments de l’ensemble des permutations de n valeurs. Chaque vecteur Sig(EV l ) comprend un nombre de composantes égal au nombre de permutations comprises dans le sous-ensemble de h éléments. Sig(EV l ) comprend donc h composantes. Le nombre h est compris entre 1 et n!. Plus h est élevé plus la comparaison du vecteur Sig(EV l ) avec un autre vecteur signature sera précise, mais plus la comparaison requiert des ressources de calcul ; inversement plus h est faible, moins la comparaison requiert des ressources de calcul, mais moins la comparaison du vecteur Sig(EV l ) avec un autre vecteur signature sera précise. A l’étape S6, le processeur 52 de l’ordinateur 50 compare chacun des N vecteurs signatures Sig(EV l ) avec un autre vecteur signature. L’autre vecteur signature peut être un vecteur signature (également dénommé vecteur signature de référence) déterminé sur la base d’un vecteur représentant une trajectoire de référence. Par exemple, une trajectoire générée par l’ordinateur ou par l’opérateur du service en fonction de critères géographiques ou stratégiques selon des techniques connues. Plus généralement, chacun des N vecteurs signatures Sig(EV l ) est comparé avec un ensemble de P vecteurs signatures de référence. Ces P vecteurs signatures de référence peuvent être déterminés en appliquant la fonction f respectivement sur chacun des vecteurs chiffrés représentant les trajectoires de référence (TR p ) p ∈ [1,P] . De manière équivalente, ces P vecteurs signatures, peuvent être déterminés en chiffrant le vecteur résultant de l’application de la fonction MinHash sur les vecteurs non chiffrés représentant les trajectoires de référence. Le MinHash(U) étant égale à (min(π 1 .U), min(π 2 .U),…, min(π h .U)), où π j est le vecteur résultant de l’application sur le vecteur (1, 2,…,n) de la j-ième permutation comprise dans le sous-ensemble de h éléments de l’ensemble des permutations de n valeurs et U est un vecteur non chiffré. La fonction MinHash est plus amplement discutée dans le document « A Comparison of Hash-Based Methods for Trajectory Clustering” de M. Rayatidamavandi et al. publié dans les actes de le conference IEEE 2017 Int. Conf. 15th Intl Conf on Dependable, Autonomic and Secure Computing. . Dans ce cas la comparaison consiste à déterminer la valeur chiffrée de la fonction D(Sig(EV l ),Sig(EVR p )), qui correspond à la valeur chiffrée de d(V l ,VR p ), où VR p est le vecteur représentant la trajectoire de référence TR p . Il est également possible de comparer les N vecteurs signatures Sig(EV l ) les uns avec les autres. La comparaison consiste également à déterminer la valeur chiffrée de la fonction D(Sig(EV l ),Sig(EV m )), qui correspond à la valeur chiffrée de d(V l ,V m ), avec le couple ( l ,m)∈[1,N] 2 et l ≠m. Dans les deux cas, il est également possible de se restreindre à déterminer si deux vecteurs signatures correspondent à des trajectoires similaires ou non, c’est-à-dire si D(Sig(EV l ),Sig(EVR p )) ou D(Sig(EV l ),Sig(EV m )), correspond à la valeur chiffrée Encrypt (0,pk) ou non. A l’étape S7, le processeur 52 de l’ordinateur 50 ajoute chacun des N vecteurs signatures Sig(EV l ) à l’un des groupes de trajectoires en fonction du résultat de la comparaison. Lorsque les N vecteurs signatures Sig(EV l ) sont comparés avec les vecteurs signatures de référence (Sig(EVR p )) p ∈ [1,P] , alors la trajectoire T l est ajoutée dans le groupe de trajectoires correspondant à la trajectoire de référence avec laquelle T l est la plus proche, c’est-à-dire la trajectoire TR p ’ de référence telle que la valeur D(Sig(EV l ),Sig(EVR p ’ )) correspond à la valeur chiffrée du d(V l ,VR p ’ ) le plus faible parmi les d(V l ,VR p ) p ∈ [1,P] . Autrement dit, T l est ajouté au groupe correspondant à la trajectoire de référence TR p ’ ou p’ = argmin(d(V l ,VR p ) p ∈ [1,P] ). C’est-à-dire qu’il est calculé la valeur chiffrée de la fonction ArgMin i ∈ [ 1,p] (D(Sig(EV l ),Sig(EVR p )). Lorsque les N vecteurs signatures Sig(EV l ) sont comparés les uns avec les autres, il est possible de créer des groupes de trajectoires correspondant aux trajectoires ayant un voisinage dense : c’est-à-dire le plus de trajectoires parmi les (T l ) l ∈ [1,N] dans leur entourage, par exemple, à une distance d autour d’elles. C’est-à-dire, que les groupes auxquels sont ajoutées les trajectoires (T l ) l ∈ [1,N] , sont les groupes correspondant à des trajectoires (T’ l ) l ∈ Σ (avec T’ l = T l si l ∈Σ et Σ sous ensemble de [1,N]) qui sont telles que les cardinaux des groupes {V l / d(V l ,V q ) l ∈[1,N]}, avec q∈Σ, sont tous supérieurs aux cardinaux des groupes {V l / d(V l ,V r ) l ∈[1,N], r∈[1,N]\Σ}, avec ρ réel strictement supérieur à 0 et permettant de distinguer les différentes trajectoires (T l ) l ∈ [1,N] . Les trajectoires (T’ l ) l ∈ Σ peuvent être déterminées dans le domaine chiffré, c’est-à-dire sans déchiffrer les vecteurs (EV l ) l ∈ [1,N ] . Une fois les trajectoires (T’ l ) l ∈ Σ déterminées, les trajectoires (T l ) l ∈ [1,N ] sont ajoutées aux groupes correspondant respectivement aux (T’ l ) l ∈ Σ de la même manière que dans le cas des trajectoires de référence TR p ’ . Dans ces deux cas, il est également possible d’ajouter la trajectoire T l au groupe pour lequel la trajectoire (que celle-ci soit de référence ou non) correspondant au groupe est proche de T l , c’est-à-dire que D(Sig(EV l ),Sig(EVR p )) ou D(Sig(EV l ),Sig(EV m )) correspond à des valeurs chiffrées de valeurs plus petites que η. A l’étape S8, le processeur 52 de l’ordinateur 50 décompte dans le domaine chiffré le nombre de trajectoires parmi les N trajectoires (T l ) l ∈ [1,N] qui sont dans chaque groupe correspondant aux trajectoires de référence ou aux trajectoires (T’ l ) l ∈ Σ suivant le cas de figure. Dans le cas où l’on se restreint à déterminer si deux vecteurs signatures correspondent à des trajectoires similaires ou non, c’est-à-dire si D(Sig(EV l ),Sig(EVR p )) ou D(Sig(EV l ),Sig(EV m )), correspond à la valeur chiffrée Encrypt (0,pk) ou non, alors le décompte peut être effectué en calculant: - pour chaque groupe, c’est-à-dire pour chaque p∈[1,P], Ecount p [N], en calculant par itération Ecount[k]=Add(ecount[k-1], Equal(Sig(EV k ), Sig(EVR p )); ou - pour chaque groupe, c’est-à-dire pour chaque l ∈Σ, Ecount l [N], en calculant par itération Ecount[k]=Add(ecount[k-1], Equal(Sig(EV k ),Sig(EV l )). Dans le cas où les trajectoires sont comparées avec les trajectoires de référence, les calculs de l’étape S8 peuvent prendre en compte l’étape de comparaison S6 et l’étape d’ajout S7, ainsi, ces étapes sont optionnelles. Lorsqu’on ne se retreint pas à déterminer si deux vecteurs signatures correspondent à des trajectoires similaires ou non, par exemple, si l’on détermine si D(Sig(EV l ),Sig(EVR p )) ou D(Sig(EV l ),Sig(EV m )) correspond à des valeurs chiffrées de valeurs plus petites que η, alors le décompte peut être effectué en calculant: - pour chaque groupe, c’est-à-dire pour chaque p∈[1,P], Ecount p [N], en calculant par itération Ecount p [k]=Add[ecount p [k-1];Equal(Less(Encrypt(η,pk),D(Sig(EV k ),Sig(EVR p )),Encrypt(1,pk))]; - pour chaque groupe, c’est-à-dire pour chaque l ∈Σ, Ecount l [N], en calculant Ecount l [k]=Add[ecount l [k-1];Equal(Less(Encrypt(η,pk),D(Sig(EV k ),Sig(EV l )),Encrypt(1,pk))] par itération. A l’étape S9, le processeur 52 de l’ordinateur 50 calcule pour chaque groupe, le résultat de la fonction S appliquée sur le résultat de l’étape de décompte S8, c’est-à-dire : - pour chaque p∈[1,P], la valeur chiffrée S(Encount p [N]), ou - pour chaque l ∈Σ, la valeur chiffrée S(Encount l [N]). La fonction S associe à une valeur chiffrée Eu la valeur chiffrée Eu lorsque u est supérieur à un seuil µ, par exemple 5, et une valeur Encrypt(0,pk) sinon, où Eu est la valeur chiffrée de la valeur réelle u. Cette étape peut être optionnelle, notamment lorsque le résultat du décompte n’est pas déchiffré par l’opérateur du service et/ou l’ordinateur. De plus, d’autres techniques peuvent être implémentées afin de garantir l’anonymisation des utilisateurs 12, 22 et 32. A l’étape S10, le résultat du décompte est déchiffré. Lorsque le déchiffrage est réalisé par l’opérateur du service, alors l’étape S9 peut être réalisée pour garantir l’anonymisation des utilisateurs 12, 22 et 32. Dans ce cas le processeur 52 de l’ordinateur 50 déchiffre le résultat de la fonction seuil obtenu à l’étape S9, c’est-à-dire : - pour chaque p∈[1,P], l’ordinateur déchiffre S(Encount p [N]), ou - pour chaque l ∈Σ, l’ordinateur déchiffre S(Encount l [N]). Lorsque le déchiffrage n’est pas réalisé par l’opérateur du service, l’ordinateur transmet les valeurs chiffrées (Encount p [N]) p ∈ [1,P] ou S(Encount p [N]) p ∈ [1,P] ou les valeurs chiffrées (Encount l [N]) l ∈ Σ ou S(Encount l [N]) l ∈ Σ . Ces valeurs chiffrées sont ensuite déchiffrées par un tiers opérateur, par exemple, un opérateur autorisé par les utilisateurs à traiter des données sensibles, et notamment leurs données représentant leur trajectoire 10, 20 et 30. Pour déchiffrer ces valeurs chiffrées, une clé privée est utilisée, conformément aux techniques de chiffrement asymétrique. Une méthode de comparaison d’une première trajectoire T avec une deuxième trajectoire T’, les trajectoires T et T’ étant au moins pour partie incluses dans une zone géographique, la zone géographique étant recouverte par un ensemble de cellules, la méthode étant mise en œuvre par un ordinateur et comprenant: - une détermination d’un premier vecteur signature, Sig(EV), déterminé par application d’une fonction, f, de hachage sur un vecteur chiffré, EV, de sorte qu’au moins une k-ième composante du premier vecteur signature correspond au chiffré de la composante minimale d’un vecteur résultant du produit d’un vecteur V et d’un vecteur résultant de l’application sur un vecteur W= (W m ) m ∈ [1 ;n] d’une k-ième permutation comprise dans un sous-ensemble de h éléments de l’ensemble des permutations de n valeurs, où W m est égale à m et le vecteur chiffré, EV, étant le résultat du chiffrement du vecteur V représentant la trajectoire T, la i-ème composante V i du vecteur V = (V i ) i ∈ [1,n] étant : - de valeur réelle α strictement positive, lorsque la trajectoire T comprend une i-ème transition d’un ensemble de n transitions, chaque transition de l’ensemble de transitions représentant une transition d’une cellule de la zone géographique à une autre cellule de la zone géographique ; - de valeur réelle β strictement positive avec n.α - une comparaison de Sig(EV) avec un deuxième vecteur signature Sig(EV’), la comparaison comprenant l’application d’une fonction D qui, à deux vecteurs EU’ et EU’’ associe une valeur chiffrée de d(U’,U’’), où U’ et U’’ sont deux vecteurs et EU’ et EU’’ sont respectivement les vecteurs chiffrés de U’ et U’’ et d est une distance, le deuxième vecteur signature Sig(EV’) correspondant à la deuxième trajectoire T’. La méthode selon la revendication 1, comprenant en outre l’obtention du vecteur chiffré, EV sur un équipement utilisateur puis la transmission à l’ordinateur du vecteur chiffré, EV. La méthode selon l’une des revendications précédentes dans laquelle α =1 et β = n+1. La méthode selon l’une des revendications précédentes dans laquelle le chiffrement est obtenu au moyen d’une clé publique pk et d’une fonction de chiffrement, Encrypt( . ,pk), d’un schéma de calcul bipartite sécurisé (2PC). La méthode selon l’une des revendications précédentes dans laquelle la fonction f de hachage est définie par : f(EV)=[Min i ∈ [1,n] (ScalarMult(EV i , π j,i ))] j ∈ [1,h] ; où, π j,i est la valeur d’une i-ième composante du vecteur résultant de l’application sur le vecteur (1, 2,…,n) d’une j-ième permutation comprise dans un sous-ensemble de h éléments de l’ensemble des permutations de n valeurs, où la fonction ScalarMult associe au couple de valeurs (Ex,a) une valeur chiffrée de a.x, où Ex est la valeur chiffrée de la valeur réelle x, et la fonction Min associe au h-uplet de valeurs chiffrées {Ex i } i ∈ [1,n] une valeur chiffrée de min i ∈ [1,n] (x i ), où Ex i est la valeur chiffrée de x i . La méthode selon l’une des revendications précédentes comprenant en outre la détermination par l’ordinateur du vecteur signature Sig(EV’) correspondant à la deuxième trajectoire T’, la i-ème composante du vecteur signature Sig(EV’) étant déterminée par calcul de la valeur chiffrée de min i ∈ [1,n ] (V’ i , π j,i ), où, π j,i est la valeur d’une i-ième composante du vecteur résultant de l’application sur le vecteur W d’une j-ième permutation comprise dans le sous-ensemble de h éléments et (V’ i ) i ∈ [1,n] sont les composantes d’un vecteur V’ représentatif de la deuxième trajectoire T’, la i-ème composante V’ i du vecteur V’ = (V’ i ) i ∈ [1,n] étant égale à : - la valeur réelle α lorsque la deuxième trajectoire T’ comprend la i-ème transition de l’ensemble de n transitions ; ou - la valeur réelle β lorsque la deuxième trajectoire T’ ne comprend pas la i-ème transition de l’ensemble de transitions. La méthode selon l’une des revendications 1 à 5 comprenant en outre la détermination par l’ordinateur du deuxième vecteur signature Sig(EV’), déterminé par application de la fonction, f, de hachage sur un vecteur chiffré, EV’, de sorte qu’au moins une k-ième composante du deuxième vecteur signature correspond au chiffré de la composante minimale d’un vecteur résultant du produit d’un vecteur V’ et du vecteur résultant de l’application sur le vecteur W de la k-ième permutation comprise dans le sous-ensemble de h éléments, le vecteur chiffré, EV’, étant le résultat du chiffrement d’un vecteur V’ représentant la deuxième trajectoire T’, la i-ème composante V’ i du vecteur V’ = (V’ i ) i ∈ [1,n] étant égale à : - la valeur réelle α lorsque la trajectoire T’ comprend la i-ème transition de l’ensemble de n transitions ; ou - la valeur réelle β lorsque la trajectoire T’ ne comprend pas la i-ème transition de l’ensemble de transitions. La méthode selon l’une des revendications précédentes comprend en outre un ajout de la première trajectoire T à un groupe de trajectoires correspondant à la deuxième trajectoire T’ en fonction du résultat de la comparaison. La méthode selon la revendication 8 dans laquelle N trajectoires (T l ) l ∈ [1,N] sont chacune comparée avec la deuxième trajectoire T’ au moyen de la comparaison de chacun de N vecteurs signatures déterminés (Sig(EV l )) l ∈ [1,N] avec le deuxième vecteur signature Sig(EV’), la méthode comprenant en outre un décompte d’un nombre de trajectoires comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ parmi les N trajectoires, le décompte comprenant le calcul d’une valeur chiffrée du nombre, ecount[N], de trajectoires comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ parmi les N trajectoires. La méthode selon la revendication 9 dans laquelle le calcul de la valeur chiffrée du nombre, ecount[N], de trajectoires comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ comprend le calcul de : Ecount[k]=Add(ecount[k-1], Equal(Sig(EV k ),Sig(EV’)) ; où, ecount[k] est la valeur chiffrée d’un nombre de trajectoires décomptées dans le groupe de trajectoires correspondant à la deuxième trajectoire T’ parmi les trajectoires (T l ) l ∈ [1,k] , la fonction Add associe au couple de valeurs chiffrées (Ev’, Ev’’) une valeur chiffrée de v’+v’’, où Ev’ et Ev’’ sont respectivement les valeurs chiffrées des valeurs v’ et v’’ et la fonction Equal associe au couple de vecteurs (EU’,EU’’) une valeur chiffré de 1 si U’=U’’ et une valeur chiffrée de 0 si U’≠U’’ où EU’ est le vecteur dont les composantes sont les éléments chiffrés de U’ et EU’’ est le vecteur dont les composantes sont les éléments chiffrés de U’’. La méthode selon l’une des revendications 9 ou 10 dans laquelle le décompte du nombre de trajectoires comprend l’application d’une fonction de seuil s sur la valeur chiffrée ecount[N] du nombre de trajectoires parmi les N trajectoires qui sont comprises dans le groupe de trajectoires correspondant à la deuxième trajectoire T’, la fonction s associant a une valeur chiffrée Eu la valeur chiffrée Eu lorsque u est supérieur à un seuil µ supérieur ou égal à 2 et la valeur chiffrée d’une valeur réelle strictement inférieure à µ sinon, où Eu est la valeur chiffrée de la valeur réelle u. La méthode selon la revendication 11 dans laquelle la fonction de seuil s est la fonction définie par: S(Eu) = Mult(Less(Eu,µ), Eu) ; où la fonction Less associe au couple de valeurs chiffrées (Eu, Eu’) une valeur chiffrée de 1 si u ≥ u’ et 0 sinon et la fonction Mult associe au couple de valeurs chiffrées (Eu, Eu’) une valeur chiffrée de u.u’ et où Eu et Eu’ sont respectivement les valeurs chiffrées des valeurs u et u’. La méthode selon l’une quelconque des revendications 11 à 12 comprenant en outre le déchiffrement du résultat de la fonction seuil s appliquée sur la valeur chiffrée ecount[N]. Un programme informatique comportant des instructions pour la mise en œuvre de la méthode selon l’une des revendications précédentes, lorsque ces instructions sont exécutées par un processeur. Un ordinateur configuré pour comparer une première trajectoire T avec une deuxième trajectoire, les trajectoires T et T’ étant au moins pour partie incluses dans une zone géographique, la zone géographique étant recouverte par un ensemble de cellules, l’ordinateur comprenant : un processeur ; et une mémoire stockant des instructions, de sorte que lorsque ces instructions sont exécutées par le processeur, elles configurent le terminal utilisateur pour: - déterminer un premier vecteur signature, Sig(EV), par application d’une fonction, f, de hachage sur un vecteur chiffré, EV, de sorte qu’au moins une k-ième composante du vecteur signature correspond au chiffré de la composante minimale d’un vecteur résultant du produit d’un vecteur V et d’un vecteur résultant de l’application sur le vecteur (1, 2,…,n) d’une k-ième permutation comprise dans un sous-ensemble de h éléments de l’ensemble des permutations de n valeurs, le vecteur chiffré, EV, étant le résultat du chiffrement du vecteur V représentant la trajectoire T, la i-ème composante V i du vecteur V = (V i ) i ∈ [1,n] étant : - de valeur réelle α strictement positive, lorsque la trajectoire T comprend une i-ème transition d’un ensemble de n transitions, chaque transition de l’ensemble de transitions représentant une transition d’une cellule de la zone géographique à une autre cellule de la zone géographique ; - de valeur réelle β strictement positive avec n.α - comparer Sig(EV) avec un deuxième vecteur signature Sig(EV’), la comparaison comprenant l’application d’une fonction D qui, à deux vecteurs EU’ et EU’’ associe une valeur chiffrée de d(U’,U’’), où U’ et U’’ sont deux vecteurs et EU’ et EU’’ sont respectivement les vecteurs chiffrés de U’ et U’’ et d est une distance, le deuxième vecteur signature Sig(EV’) correspondant à la deuxième trajectoire T’.