IT202100032048A1 - Encrypted data management system and encrypted data search method - Google Patents
Encrypted data management system and encrypted data search method Download PDFInfo
- Publication number
- IT202100032048A1 IT202100032048A1 IT102021000032048A IT202100032048A IT202100032048A1 IT 202100032048 A1 IT202100032048 A1 IT 202100032048A1 IT 102021000032048 A IT102021000032048 A IT 102021000032048A IT 202100032048 A IT202100032048 A IT 202100032048A IT 202100032048 A1 IT202100032048 A1 IT 202100032048A1
- Authority
- IT
- Italy
- Prior art keywords
- key
- string
- character string
- substring
- record
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000013523 data management Methods 0.000 title claims description 5
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Description
DESCRIZIONE dell'Invenzione Industriale dal titolo: ?Sistema di gestione di dati criptati e metodo di ricerca di dati criptati? DESCRIPTION of the Industrial Invention entitled: ?Encrypted data management system and encrypted data search method?
DESCRIZIONE DESCRIPTION
La presente invenzione ha per oggetto un sistema di gestione di dati criptati, comprendente almeno una unit? di processamento, almeno una unit? di memorizzazione ed almeno una interfaccia di input/output. The present invention has as its object an encrypted data management system, comprising at least one unit of processing, at least one unit? storage and at least one input/output interface.
Inoltre, l?unit? di memorizzazione presenta un database, in cui ogni dato comprende almeno una stringa di caratteri ed in cui alla detta stringa ? associata una prima chiave, che viene inserita all?interno del database in modo da creare una prima tabella. Furthermore, the unit? of storage presents a database, in which each piece of data includes at least one string of characters and in which said string ? associated with a first key, which is inserted into the database in order to create a first table.
All?interno della tabella ogni record contiene la detta stringa e la corrispondente prima chiave associata a detta stringa. Inside the table each record contains said string and the corresponding first key associated with said string.
La presente invenzione si prefigge lo scopo di facilitare la gestione e la ricerca di dati criptati, all?interno di sistemi informatici in cui ? necessario utilizzare delle codifiche proprio per non rendere visibili i dati inseriti all?interno del database. The present invention aims to facilitate the management and search of encrypted data within computer systems in which it is It is necessary to use encodings to prevent the data inserted into the database from being visible.
Un tipico esempio ? relativo ai sistemi di gestione di dati di utenti, in cui sono presenti database, compilati o da compilare, che richiedono l?inserimento di nomi, cognomi e dati personali degli utenti. A typical example? relating to user data management systems, in which there are databases, compiled or to be compiled, which require the insertion of names, surnames and personal data of users.
Tali dati, al fine di rispondere ai requisiti stringenti del GDPR devono essere criptati per garantire la privacy dei diversi utenti. In order to meet the stringent requirements of the GDPR, such data must be encrypted to guarantee the privacy of the various users.
Il processo di crittografia ? semplicemente un algoritmo matematico che agisce su una sequenza di caratteri, trasformandola. The encryption process? simply a mathematical algorithm that acts on a sequence of characters, transforming it.
Tale trasformazione si basa sul valore di una chiave segreta, ossia la prima chiave, che ? un parametro dell'algoritmo di cifratura/decifratura. This transformation is based on the value of a secret key, i.e. the first key, which is a parameter of the encryption/decryption algorithm.
I sistemi di crittografia funzionano perfettamente per rendere non visibili i dati di interesse, tuttavia, sorgono problematiche nel momento in cui si debba effettuare una ricerca testuale sui dati criptati. Encryption systems work perfectly to make the data of interest invisible, however, problems arise when you need to carry out a text search on encrypted data.
Ad esempio, la prenotazione di un esame clinico di un utente potrebbe risultare complessa da parte di un operatore che non possiede le credenziali per visualizzare i dati personali degli utenti, ma che allo stesso tempo deve prenotare le visite. For example, booking a user's clinical exam could be complex for an operator who does not have the credentials to view the users' personal data, but who at the same time needs to book the visits.
Se l?utente ? infatti gi? presente nel database e l?operatore non ? in possesso della prima chiave, la ricerca del nominativo dell?utente potrebbe risultare particolarmente complessa. If the user is in fact already? present in the database and the operator is not If you have the first key, searching for the user's name could be particularly complex.
La protezione dei dati mediante crittografia rende onerosa e difficoltosa la ricerca dei dati, in quanto sarebbe necessario invertire l?operazione all?interno della query di crittografia per poter effettuare le comparazioni testuali comunemente effettuate dalle applicazioni di ricerca. Data protection through encryption makes data search expensive and difficult, as it would be necessary to reverse the operation within the encryption query in order to carry out the textual comparisons commonly carried out by search applications.
Fare ci?, laddove possibile, impedisce di fatto l?utilizzo degli indici e comporta prestazioni pessime su grandi quantit? di dati. Doing this, where possible, effectively prevents the use of indexes and leads to terrible performance on large quantities. of data.
Alcuni sistemi e metodi noti allo stato dell?arte, al fine di risolvere tale problematica, utilizzano una tecnica che consente di aumentare le prestazioni e poter usare l?indicizzazione del database. Some systems and methods known to the state of the art, in order to solve this problem, use a technique that allows you to increase performance and be able to use database indexing.
Tale tecnica prevede l?utilizzo di ?blind indexes?, il che consiste nell'aggiungere un attributo o una colonna aggiuntiva contenente l?hash del valore criptato. This technique involves the use of ?blind indexes?, which consists of adding an attribute or an additional column containing the hash of the encrypted value.
Potendo sfruttare l?indicizzazione e non dovendo effettuare operazioni onerose sui valori salvati nel database, tale tecnica consente di effettuare ricerche, ottenendo prestazioni ottime. Being able to take advantage of indexing and not having to carry out costly operations on the values saved in the database, this technique allows you to carry out searches, obtaining excellent performance.
Tale tecnica, tuttavia, presenta un aspetto particolarmente svantaggioso che consiste nel non poter usare valori parziali della stringa di caratteri per effettuare la ricerca. This technique, however, has a particularly disadvantageous aspect which consists in not being able to use partial values of the character string to carry out the search.
Ad esempio, supponendo di voler ricercare il cognome ?Rossi? non sar? possibile trovare corrispondenze cercando la sottostringa ?Ros?, in quanto ogni stringa presenta un hash, ossia una prima chiave, totalmente diversa e indipendente dalle altre. For example, supposing you want to search for the surname ?Rossi? it won't be? It is possible to find matches by searching for the substring ?Ros?, as each string has a hash, i.e. a first key, totally different and independent from the others.
La ricerca di un utente digitando la stringa ?Ros? potrebbe dunque non generare risultati, nonostante l?utente dal cognome Rossi sia inserito nel database, o generare un risultato qualora ci sia un utente dal cognome Ros all?interno del database. Searching for a user by typing the string ?Ros? it may therefore not generate results, even though the user with the surname Rossi is inserted in the database, or generate a result if there is a user with the surname Ros in the database.
Esiste dunque una necessit? non soddisfatta dai sistemi e metodi noti allo stato dell?arte di realizzare una metodologia che consenta di effettuare una ricerca su dati criptati in modo da poter usare la ricerca su qualsiasi attributo o colonna opportunamente creata nei database dove ? necessario usare questo tipo di metodologia. So is there a need? not satisfied by the systems and methods known to the state of the art to create a methodology that allows to carry out a search on encrypted data so as to be able to use the search on any attribute or column appropriately created in the databases where? necessary to use this type of methodology.
La presente invenzione consegue gli scopi di cui sopra realizzando un sistema come descritto in precedenza, in cui ad ogni dato ? associata una seconda tabella compresa all?interno del database, che contiene un determinato numero di record. The present invention achieves the above objectives by creating a system as previously described, in which for each data ? associated with a second table included within the database, which contains a certain number of records.
Inoltre ciascun record comprende la prima chiave, una seconda chiave ed una sottostringa della stringa di caratteri. Furthermore, each record includes the first key, a second key and a substring of the character string.
Ad ogni sottostringa viene associata una seconda chiave ed essendo ad ogni seconda chiave associata la prima chiave. A second key is associated with each substring and the first key is associated with each second key.
In questo modo, ad ogni stringa di caratteri saranno associate sottostringhe, in modo che un operatore possa digitare anche solo parzialmente la stringa di caratteri per ritrovare il record di interesse, mantenendo la segretezza dei dati. In this way, each string of characters will be associated with substrings, so that an operator can type even only partially the string of characters to find the record of interest, maintaining the confidentiality of the data.
Risulta evidente come una attenta ed efficace suddivisione della stringa di caratteri in sottostringhe di caratteri consenta di ottimizzare le prestazioni della ricerca, prevedendo ricerche sempre pi? veloci ed efficienti. It is clear how a careful and effective subdivision of the character string into character substrings allows you to optimize search performance, providing increasingly more frequent searches. fast and efficient.
La presente invenzione ha inoltre per oggetto un metodo di ricerca di dati criptati, in cui ogni dato comprende almeno una stringa di caratteri. The present invention also has as its object a method of searching for encrypted data, in which each data comprises at least one character string.
Il metodo prevede i seguenti passi: The method involves the following steps:
- generazione di una prima chiave da associare ad ogni stringa di caratteri, - generation of a first key to associate with each character string,
- creazione di una prima tabella in cui ogni record presenta una stringa di caratteri e la prima chiave associata a detta stringa, - creation of a first table in which each record presents a string of characters and the first key associated with said string,
- inserimento della prima tabella all?interno di un database, - insertion of the first table into a database,
- ricerca di una stringa di caratteri attraverso una interfaccia di input/output. - search for a string of characters through an input/output interface.
In particolare il metodo oggetto della presente invenzione prevede gli ulteriori passi: In particular, the method object of the present invention involves the further steps:
- suddivisione della stringa di caratteri in una o pi? sottostringhe, - subdivision of the character string into one or more? substrings,
- generazione di una seconda chiave da associare ad ogni sottostringa, - generation of a second key to associate with each substring,
- creazione di una seconda tabella in cui ogni record presenta la prima chiave, una sottostringa e la corrispondente seconda chiave. - creation of a second table in which each record has the first key, a substring and the corresponding second key.
Da quanto precedentemente descritto, risulta evidente come il sistema e il metodo oggetto della presente invenzione consentano dunque di effettuare ricerche sui dati criptati, anche solo digitando parzialmente la stringa di caratteri di interesse. From what has been previously described, it is clear that the system and method which is the object of the present invention therefore allow searches to be carried out on encrypted data, even just by partially typing the string of characters of interest.
In questo sar? dunque possibile creare sistemi che rispondano agli stringenti requisiti del decreti in vigore in materia di privacy e trattamento dei dati, consentendo agli operatori senza particolari credenziali, di operare sui dati personali degli utenti in modo sicuro. In this it will be? It is therefore possible to create systems that meet the stringent requirements of the decrees in force regarding privacy and data processing, allowing operators without particular credentials to operate on users' personal data in a secure manner.
Questi ed ulteriori scopi della presente invenzione sono raggiunti mediante un sistema ed un metodo secondo le rivendicazioni indipendenti allegate e le sottorivendicazioni. These and further objects of the present invention are achieved by means of a system and a method according to the attached independent claims and sub-claims.
Caratteristiche opzionali del dispositivo dell?invenzione sono contenute nelle allegate rivendicazioni dipendenti, che formano parte integrante della presente descrizione. Optional characteristics of the device of the invention are contained in the attached dependent claims, which form an integral part of the present description.
Queste ed altre caratteristiche e vantaggi della presente invenzione risulteranno pi? chiaramente dalla seguente descrizione di alcuni esempi esecutivi illustrati nei disegni allegati in cui: These and other characteristics and advantages of the present invention will be more clearly from the following description of some executive examples illustrated in the attached drawings in which:
la figura 1 illustra uno schema esemplificativo e di principio del sistema di ricerca dati oggetto della presente invenzione secondo una possibile forma esecutiva; figure 1 illustrates an exemplary and principle diagram of the data search system object of the present invention according to a possible embodiment;
la figura 2 illustra un diagramma di flusso di una possibile variante attuativa del metodo oggetto della presente invenzione. figure 2 illustrates a flow diagram of a possible implementation variant of the method of the present invention.
Si specifica che le figure allegate alla presente domanda di brevetto illustrano solo alcune possibili forme esecutive del sistema e del metodo oggetto della presente invenzione, per meglio comprenderne i vantaggi e le caratteristiche descritte. It is specified that the figures attached to the present patent application illustrate only some possible embodiments of the system and method object of the present invention, to better understand the advantages and characteristics described.
Tali forme esecutive sono dunque da intendersi a puro scopo illustrativo e non limitativo al concetto inventivo della presente invenzione, ossia quello di realizzare un sistema e un metodo di gestione dei dati criptati, in modo che tali dati siano facilmente ricercabili anche attraverso l?utilizzo di sottostringhe costituite da un numero limitato di caratteri, rispetto alla stringa da ricercare. These embodiments are therefore to be understood for purely illustrative purposes and are not limiting to the inventive concept of the present invention, i.e. that of creating a system and method for managing encrypted data, so that such data can be easily searched also through the use of substrings made up of a limited number of characters, compared to the string to be searched for.
Con particolare riferimento alla figura 1, viene illustrato uno schema esemplificativo di una possibile forma esecutiva del sistema oggetto della presente invenzione. With particular reference to figure 1, an exemplary diagram of a possible embodiment of the system which is the object of the present invention is illustrated.
Il sistema comprende una interfaccia di input output 300, una unit? di memorizzazione 100 e una unit? di processamento 200. The system includes a 300 input output interface, a unit? of storage 100 and one unit? of processing 200.
L?unit? di processamento 200 elabora i dati presenti all?interno dell?unit? di memorizzazione 100, che possono essere inseriti attraverso l?interfaccia di input output 300 che consente ad un operatore di interagire con l?unit? di processamento 200 e l?unit? di memorizzazione 100. The unit? processing module 200 processes the data present inside the unit? of storage 100, which can be inserted through the input output interface 300 which allows an operator to interact with the unit? of processing 200 and the unit? of storage 100.
L?unit? di memorizzazione 100 comprende un database che contiene una prima 10 ed una seconda 20 tabella. The unit? storage 100 comprises a database containing a first 10 and a second 20 table.
In particolare, in figura 1, per semplicit? illustrativa, la tabella 10 comprende un solo record, ma risulter? evidente dalla successiva descrizione, di come sia possibile prevedere un qualsivoglia numero di record senza variare le caratteristiche della presente invenzione. In particular, in figure 1, for simplicity? illustrative, table 10 includes only one record, but it will result? evident from the following description, how it is possible to provide any number of records without changing the characteristics of the present invention.
Il record della tabella 10 prevede un campo 11 relativo ad un codice identificativo del record, un campo 12 relativo al valore del record, in questo caso il cognome ?Rossino? di un utente e un campo 13, relativo alla prima chiave associata al valore del campo 12. The record in table 10 includes a field 11 relating to an identification code of the record, a field 12 relating to the value of the record, in this case the surname ?Rossino? of a user and a field 13, relating to the first key associated with the value of field 12.
Si specifica che in figura 1, il campo 12 relativo al cognome ?Rossino? ? illustrato e visibile, ma il contenuto di tale campo 12 viene ovviamente cifrato e tradotto da un algoritmo di crittografia, in un valore che non consenta di visualizzare il cognome ?Rossino?. It is specified that in figure 1, field 12 relating to the surname ?Rossino? ? illustrated and visible, but the content of this field 12 is obviously encrypted and translated by an encryption algorithm, into a value that does not allow the surname ?Rossino? to be displayed.
Il dato ?Rossino? ? in effetti criptato, sia ad una interfaccia di visualizzazione, sia all?interno del database e corrisponde ad una stringa di caratteri alfanumerici e simboli senza un senso compiuto. The data ?Rossino? ? in effect encrypted, both on a display interface and within the database and corresponds to a string of alphanumeric characters and symbols without a complete sense.
Questo concetto ? valido sia per la tabella 10 che per la tabella 10. This concept? valid for both table 10 and table 10.
Come discusso in precedenza, la prima chiave del campo 13 ? il risultato di un metodo di crittografia applicato al valore ?Rossino? del campo 12, in modo da secretare il valore della stringa ?Rossino?. As discussed above, the first key of field 13 is ? the result of an encryption method applied to the ?Rossino? of field 12, so as to secrete the value of the string ?Rossino?.
Inoltre l?unit? di memorizzazione 100 comprende una seconda tabella 20, associata alla tabella 10, in particolare al record ?1? della tabella 10. Furthermore, the unit? of storage 100 includes a second table 20, associated with the table 10, in particular with the record ?1? of table 10.
La tabella 20 comprende una pluralit? di record, in cui ogni record comprende un campo 21, relativo all?identificato del record stesso, un campo 22 relativo al valore del record, un campo 23 relativo ad una seconda chiave, associata al valore del record del campo 22 ed un campo 24 relativo alla prima chiave. Table 20 includes a plurality? of records, in which each record includes a field 21, relating to the identifier of the record itself, a field 22 relating to the value of the record, a field 23 relating to a second key, associated with the value of the record of field 22 and a field 24 relating to the first key.
Il campo 24 ? uguale per tutti i record della tabella 20 ed ? proprio quello che consente di associare tutti i record della tabella 20 al record della tabella 10, essendo costituito dalla prima chiave, presente anche nella tabella 10. Field 24? the same for all the records in table 20 and ? precisely what allows you to associate all the records of table 20 with the record of table 10, being made up of the first key, also present in table 10.
Come risulta evidente dalla figura 1, il campo 22 ? costituito da sottostringhe della stringa di caratteri presente nel campo 12 della tabella 1, relativa al valore del record. As is clear from figure 1, field 22? consisting of substrings of the character string present in field 12 of table 1, relating to the value of the record.
Nel caso particolare della figura 1, la tabella 1 presenta cinque record diversi, ognuno con una corrispondente seconda chiave, campo 23. In the particular case of figure 1, table 1 presents five different records, each with a corresponding second key, field 23.
Come discusso in precedenza, la seconda chiave del campo 23 ? il risultato della procedura di crittografia sul valore del campo 22, ossia il campo 23 ? il valore di hash della sottostringa del campo 22 associato. As discussed above, the second key of field 23 is ? the result of the encryption procedure on the value of field 22, i.e. field 23? the hash value of the associated field 22 substring.
Cos? come discusso per la tabella 10, anche in questo caso il valore del campo 22 ? secretato e illeggibile. What? as discussed for table 10, also in this case the value of field 22 is ? classified and illegible.
Anche in questo caso, per semplicit? illustrativa, ? illustrata una sola seconda tabella, ma risulta evidente come il sistema oggetto della presente invenzione preveda una seconda tabella 20 per ogni record appartenente alla prima tabella 10. Even in this case, for simplicity? illustrative, ? only a second table is illustrated, but it is clear that the system object of the present invention provides a second table 20 for each record belonging to the first table 10.
In base alla variante del sistema descritta relativamente alla figura 1, ? possibile prevedere un metodo di ricerca di dati criptati, ossia un metodo che ricerca i dati presenti all?interno dell?unit? di memorizzazione 100, di cui una possibile forma esecutiva ? illustrata in figura 2. Based on the variant of the system described in relation to figure 1, ? Is it possible to provide a search method for encrypted data, i.e. a method that searches for the data present within the unit? of storage 100, of which a possible executive form is ? illustrated in figure 2.
In figura 2, viene illustrato un metodo di ricerca che parte dall?inserimento di un dato all?interno dell?unit? di memorizzazione 100, per la popolazione del database e successivamente un esempio di ricerca di tale dato. In figure 2, a search method is illustrated that starts from the insertion of a piece of data within the unit? of storage 100, for the database population and subsequently an example of searching for this data.
In base alle caratteristiche di figura 2, il metodo oggetto della presente invenzione prevede innanzitutto l?inserimento del valore di un record, passo 400, ossia di una stringa di caratteri come ad esempio il valore ?Rossino? per il cognome di un utente. Based on the characteristics of figure 2, the method object of the present invention firstly involves the insertion of the value of a record, step 400, i.e. a string of characters such as for example the value ?Rossino? for a user's last name.
Successivamente all?inserimento, viene generata una prima chiave, passo 401, per la procedura di crittografia della stringa di caratteri inserita, la quale prima chiave viene associata in maniera univoca alla stringa di caratteri inserita. After insertion, a first key is generated, step 401, for the encryption procedure of the inserted character string, which first key is uniquely associated with the inserted character string.
La generazione della prima chiave pu? essere ottenuta secondo una delle metodologie note allo stato dell?arte. Can the generation of the first key? be obtained according to one of the state-of-the-art methodologies.
Vantaggiosamente, la prima chiave relativa alla stringa di caratteri, viene generata mediante algoritmi impieganti funzioni matematiche che prevedono un calcolo di una o pi? moltiplicazioni modulari. Advantageously, the first key relating to the character string is generated by algorithms using mathematical functions which involve a calculation of one or more modular multiplications.
Tali operazioni matematiche modulari comprendono, per esempio, moltiplicazioni modulari ed operazioni di calcolo di funzioni esponenziali modulari, di cui un esempio ? descritto all?interno dei documenti WO2005/048008, MI2011A001992 ed EP2928111, il cui contenuto ? da considerarsi parte integrante della presente descrizione. Such modular mathematical operations include, for example, modular multiplications and operations for calculating modular exponential functions, an example of which is ? described within documents WO2005/048008, MI2011A001992 and EP2928111, the contents of which are to be considered an integral part of this description.
A questo punto, passo 402, viene creata la prima tabella, in cui ogni record presenta una stringa di caratteri e la prima chiave associata a detta stringa. At this point, step 402, the first table is created, in which each record presents a string of characters and the first key associated with said string.
Successivamente al passo di inserimento 400 o al passo di creazione della prima tabella 402, ? previsto un passo 403 di suddivisione della stringa di caratteri inserita in una o pi? sottostringhe e un passo di generazione di una seconda chiave, passo 404, da associare ad ogni sottostringa. Subsequent to the insertion step 400 or the first table creation step 402, ? is there a step 403 for dividing the inserted character string into one or more? substrings and a generation step of a second key, step 404, to be associated with each substring.
Prendendo ad esempio come stringa di caratteri inserita al passo 400 il cognome ?Rossino? ? possibile prevedere di realizzare una pluralit? di sottostringhe in base al numero di caratteri della stringa di caratteri. Taking for example the surname ?Rossino? as a string of characters inserted in step 400. ? Is it possible to foresee creating a plurality? of substrings based on the number of characters in the character string.
Con particolare riferimento al sistema illustrato in figura 1, il cognome ?Rossino? viene suddiviso nelle seguenti sottostringhe: With particular reference to the system illustrated in figure 1, the surname ?Rossino? is divided into the following substrings:
Ros Ros
Ross Ross
Rossi Rossi
Rossin Rossin
Rossino Rossino
Ad ogni sottostringa sar? ovviamente associata una corrisponde seconda chiave, nonch? la prima chiave generata in seguito all?inserimento del termine ?Rossino? e associata a tale dato. For each substring will it be? obviously associated with a corresponding second key, as well as? the first key generated following the insertion of the term ?Rossino? and associated with this data.
La suddivisione in sottostringhe ? dunque effettuata preferibilmente individuando la prima lettera che compone il cognome ?Rossino?, la lettera R e identificando la prima sillaba che contiene tale prima lettera, ?Ros?. The subdivision into substrings? therefore preferably carried out by identifying the first letter that makes up the surname ?Rossino?, the letter R and identifying the first syllable that contains this first letter, ?Ros?.
A partire da tale prima sillaba, costituente la prima sottostringa, per realizzare le successive sottostringhe si aggiunge una lettera alla volta per ogni sottostringa, partendo dalla lettera successiva alla prima sillaba, fino a completare l?intera stringa di caratteri. Starting from this first syllable, constituting the first substring, to create the subsequent substrings, one letter at a time is added for each substring, starting from the letter following the first syllable, until the entire string of characters is completed.
A questo punto ? possibile prevedere un passo 405, di generazione di una seconda tabella in cui ogni record presenta la prima chiave, una sottostringa e la corrispondente seconda chiave. At this point ? It is possible to provide a step 405 for generating a second table in which each record presents the first key, a substring and the corresponding second key.
I passi 400-405 descritti in precedenza possono essere ripetuti per ogni nuova stringa di caratteri inserita e atta a popolare il database. The steps 400-405 described previously can be repeated for each new character string inserted and intended to populate the database.
Ne consegue che per ogni stringa inserita e compresa all?interno della prima tabella 10, verr? creata una seconda tabella 20, in modo tale per cui, in caso di presenza di due stringhe di caratteri simili, ad esempio Rossinoli e Rossino, ogni stringa di caratteri sia associata ad una corrispondente seconda tabella 20, anche se tali seconde tabelle presenteranno sottostringhe similari. It follows that for each string inserted and included within the first table 10, it will be a second table 20 is created, so that, in the case of the presence of two strings of similar characters, for example Rossinoli and Rossino, each string of characters is associated with a corresponding second table 20, even if these second tables will present similar substrings .
Una volta popolato il database, un qualsiasi operatore pu? procedere con la ricerca, passo 406, di uno o pi? record presenti nel database. Once the database has been populated, any operator can? proceed with the search, step 406, of one or more? records present in the database.
Da quanto descritto in precedenza, risulta evidente come l?operatore non sia obbligato a digitare, attraverso l?interfaccia di input/output, l?intera stringa da ricercare, ma sar? sufficiente digitare un numero limitato di lettere per ritrovare il record. From what has been described above, it is clear that the operator is not obliged to type, through the input/output interface, the entire string to be searched for, but will you just need to type a limited number of letters to find the record.
Ad esempio, per ricercare l?utente dal cognome ?Rossino?, sar? sufficiente digitare le lettere ?Ros?, costituenti una sottostringa associata al record riportante il cognome ?Rossino?. For example, to search for the user with the surname ?Rossino?, it will be? simply type the letters ?Ros?, constituting a substring associated with the record bearing the surname ?Rossino?.
Infine, da quanto appena descritto, risulta evidente come la possibilit? di ricercare esclusivamente una parte della stringa di caratteri presenti aspetti particolarmente vantaggiosi in combinazione con sistemi OCR. Finally, from what has just been described, it is clear that the possibility to search exclusively for a part of the character string presents particularly advantageous aspects in combination with OCR systems.
Ad esempio ? possibile prevedere in combinazione al sistema oggetto della presente invenzione, un dispositivo di acquisizione di immagini con integrato un sistema OCR. For example ? It is possible to provide, in combination with the system object of the present invention, an image acquisition device with an integrated OCR system.
Secondo un esempio di realizzazione, un utente potrebbe mostrare ad un operatore un documento di identit? e l?operatore potrebbe acquisire una immagine del documento di identit?, anche parziale, ma sufficiente ad identificare, con il sistema OCR, una delle sottostringhe della tabella 20. According to an embodiment, a user could show an identity document to an operator. and the operator could acquire an image of the identity document, even partial, but sufficient to identify, with the OCR system, one of the substrings in table 20.
L?acquisizione della sottostringa ? un passo equivalente alla ricerca della sottostringa attraverso la digitazione dei caratteri sull?interfaccia di input/output, ma, in questo caso, la ricerca e il ritrovamento del nominativo di interesse, avverrebbe in modo automatico. The acquisition of the substring ? a step equivalent to searching for the substring by typing characters on the input/output interface, but, in this case, the search and finding of the name of interest would occur automatically.
In maniera del tutto simile, si potrebbe prevedere il sistema OCR in combinazione a referti di esami diagnostici, in modo che tale sistema OCR individui in automatico parte del cognome dell?utente e lo ricerchi all?interno dell?unit? di memorizzazione secondo le modalit? descritte in precedenza. In a very similar way, the OCR system could be envisaged in combination with diagnostic test reports, so that this OCR system automatically identifies part of the user's surname and searches for it within the unit. of storage according to the methods? described previously.
Mentre l?invenzione ? suscettibile di varie modifiche e costruzioni alternative, alcune forme di realizzazione preferite sono state mostrate nei disegni e descritte in dettaglio. While the invention is susceptible to various modifications and alternative constructions, some preferred embodiments have been shown in the drawings and described in detail.
Si deve intendere, comunque, che non vi ? alcuna intenzione di limitare l?invenzione alla specifica forma di realizzazione illustrata, ma, al contrario, essa intende coprire tutte le modifiche, costruzioni alternative, ed equivalenti che ricadano nell?ambito dell?invenzione come definito nelle rivendicazioni. It must be understood, however, that there is no no intention to limit the invention to the specific embodiment illustrated, but, instead, it is intended to cover all modifications, alternative constructions, and equivalents that fall within the scope of the invention as defined in the claims.
L?uso di ?ad esempio?, ?ecc.?, ?oppure? indica alternative non esclusive senza limitazione a meno che non altrimenti indicato. The use of ?for example?, ?etc.?, ?or? means non-exclusive alternatives without limitation unless otherwise indicated.
L?uso di ?include? significa ?include, ma non limitato a? a meno che non altrimenti indicato. The use of ?include? means ?includes, but not limited to? unless otherwise indicated.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000032048A IT202100032048A1 (en) | 2021-12-21 | 2021-12-21 | Encrypted data management system and encrypted data search method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000032048A IT202100032048A1 (en) | 2021-12-21 | 2021-12-21 | Encrypted data management system and encrypted data search method |
Publications (1)
Publication Number | Publication Date |
---|---|
IT202100032048A1 true IT202100032048A1 (en) | 2023-06-21 |
Family
ID=80999586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT102021000032048A IT202100032048A1 (en) | 2021-12-21 | 2021-12-21 | Encrypted data management system and encrypted data search method |
Country Status (1)
Country | Link |
---|---|
IT (1) | IT202100032048A1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005048008A2 (en) | 2003-11-16 | 2005-05-26 | M-Systems Flash Disk Pioneers Ltd. | Enhanced natural montgomery exponent masking |
US20130238646A1 (en) * | 2012-03-06 | 2013-09-12 | Evrichart, Inc. | Partial-Match Searches of Encrypted Data Sets |
US20150188890A1 (en) * | 2013-12-26 | 2015-07-02 | Bare Said | Client side encryption in on-demand applications |
EP2928111A1 (en) | 2014-03-31 | 2015-10-07 | STMicroelectronics Srl | Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product |
US20190147172A1 (en) * | 2017-11-13 | 2019-05-16 | Alibaba Group Holding Limited | Device and method for increasing the security of a database |
US10528556B1 (en) * | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
-
2021
- 2021-12-21 IT IT102021000032048A patent/IT202100032048A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005048008A2 (en) | 2003-11-16 | 2005-05-26 | M-Systems Flash Disk Pioneers Ltd. | Enhanced natural montgomery exponent masking |
US20130238646A1 (en) * | 2012-03-06 | 2013-09-12 | Evrichart, Inc. | Partial-Match Searches of Encrypted Data Sets |
US20150188890A1 (en) * | 2013-12-26 | 2015-07-02 | Bare Said | Client side encryption in on-demand applications |
EP2928111A1 (en) | 2014-03-31 | 2015-10-07 | STMicroelectronics Srl | Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product |
US20190147172A1 (en) * | 2017-11-13 | 2019-05-16 | Alibaba Group Holding Limited | Device and method for increasing the security of a database |
US10528556B1 (en) * | 2017-12-31 | 2020-01-07 | Allscripts Software, Llc | Database methodology for searching encrypted data records |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9589072B2 (en) | Discovering expertise using document metadata in part to rank authors | |
Martinez-Gil et al. | Semantic similarity measurement using historical google search patterns | |
WO2016200667A1 (en) | Identifying relationships using information extracted from documents | |
CN103052951A (en) | Method of character string generation, program and system | |
Samir et al. | Stemming and lemmatization for information retrieval systems in amazigh language | |
US20170329810A1 (en) | Creation of indexes for information retrieval | |
Popescu et al. | HASKER: An efficient algorithm for string kernels. Application to polarity classification in various languages | |
IT202100032048A1 (en) | Encrypted data management system and encrypted data search method | |
Al_Janabi et al. | Pragmatic text mining method to find the topics of citation network | |
Kovriguina et al. | Metadata extraction from conference proceedings using template-based approach | |
de STEFANO et al. | Development of a software for metric studies of transportation engineering journals | |
Sateli et al. | An automatic workflow for the formalization of scholarly articles’ structural and semantic elements | |
Petrovskiy et al. | Pattern based information retrieval approach to discover extremist information on the Internet | |
Kaveh-Yazdy et al. | Aleph or Aleph-Maddah, that is the question! Spelling correction for search engine autocomplete service | |
Pandey et al. | Hybrid approach to reduce time complexity of string matching algorithm using hashing with chaining | |
Paramonov et al. | Rule driven spreadsheet data extraction from statistical tables: case study | |
WO2013004833A1 (en) | Search index | |
Nirkhi et al. | Stylometric approach for author identification of online messages | |
Švec et al. | Building Corpora for Stylometric Research | |
Ghafi et al. | A Driver Assistant System Using Behavior Patterns and Fuzzy Logic to Enhance Safety. | |
Lü et al. | Analyzing chinese synthetic words with tree-based information and a survey on chinese morphologically derived words | |
Hamnett et al. | New Psychoactives in New Zealand | |
Twiss-Brooks | Searching using text: Beyond web search engines | |
Tankersley | Alumni Profile: Sarah Kennedy Ellis: The Gamer. | |
Hauschild | Unsere kleine Industrialisierung. |