ITPI20110106A1 - METHOD FOR CODIFICATION OF DOCUMENTS - Google Patents

METHOD FOR CODIFICATION OF DOCUMENTS Download PDF

Info

Publication number
ITPI20110106A1
ITPI20110106A1 IT000106A ITPI20110106A ITPI20110106A1 IT PI20110106 A1 ITPI20110106 A1 IT PI20110106A1 IT 000106 A IT000106 A IT 000106A IT PI20110106 A ITPI20110106 A IT PI20110106A IT PI20110106 A1 ITPI20110106 A1 IT PI20110106A1
Authority
IT
Italy
Prior art keywords
character
characters
encoding
code
coding system
Prior art date
Application number
IT000106A
Other languages
Italian (it)
Inventor
Roberto Montelatici
Original Assignee
Roboing S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roboing S R L filed Critical Roboing S R L
Priority to IT000106A priority Critical patent/ITPI20110106A1/en
Publication of ITPI20110106A1 publication Critical patent/ITPI20110106A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Description

TITOLO TITLE

METODO PER LA CODIFICA DI DOCUMENTI METHOD FOR CODING DOCUMENTS

SETTORE TECNICO TECHNICAL FIELD

La presente invenzione concerne un metodo di crittografia simmetrica, o a chiave privata. The present invention relates to a symmetric or private key encryption method.

STATO DELL’ARTE STATE OF THE ART

Il problema della cifratura di documenti per conservarli e trasmetterli in modo tale che non ne sia comprensibile il contenuto a chi non è autorizzato a farlo è da sempre molto sentito. Con Γ avvento dell’ era informatica la crittografia è diventata di fondamentale importanza per la trasmissione e la conservazione di informazioni in modo riservato. Esistono due grandi famiglie di codici crittografici: quelli a crittografia simmetrica e quelli a crittografia asimmetrica. La crittografia simmetrica utilizza algoritmi di decodifica a chiave privata in cui la funzione di codifica e quella di decodifica usano la stessa chiave privata di cifratura o chiavi diverse ma in relazione diretta tra loro. La forza della crittografia simmetrica sta nella segretezza dell’ unica chiave utilizzata per codificare e decodificare e nella grandezza dello spazio delle chiavi. Dagli anni ’60 furono adottati codici a 40 bit (4 caratteri) estremamente vulnerabili ad attacchi di forza bruta con i mezzi odierni, mentre dagli anni ’ 90 si è passati all’utilizzo di codici a 128 bit (13 caratteri) che costituiscono chiavi forti anche con i mezzi odierni. La crittografia simmetrica è semplice, veloce e sicura anche se ha come grosso limite la necessità di condividere la chiave tra i due soggetti che devono codificare e decodificare. Questo problema è risolto dalla crittografia asimmetrica, o crittografia a chiave pubblica, in cui ad ogni attore coinvolto è associata una coppia di chiavi: la chiave pubblica, che deve essere distribuita e serve per cifrare un documento destinato a chi possiede la relativa chiave privata; e la chiave privata, che deve essere mantenuta segreta in quanto serve per decodificare un documento cifrato con la chiave pubblica. Gli algoritmi di crittografia asimmetrica sono molto più pesanti e lenti di quelli di crittografia simmetrica, tuttavia risolvono il problema della segretezza della chiave in quanto la chiave privata, Tunica in grado di decodificare un documento/messaggio codificato con la chiave pubblica, non ha mai bisogno di essere trasmessa. In pratica, normalmente si usa la crittografia asimmetrica solo per scambiarsi la chiave, con cui procedere successivamente ad una comunicazione a crittografia simmetrica, la quale è, in termini generali, molto più leggera e sicura dell’altra. The problem of encrypting documents in order to keep them and transmit them in such a way that their content is not understandable to those who are not authorized to do so has always been deeply felt. With the advent of the IT era, cryptography has become of fundamental importance for the transmission and storage of information in a confidential manner. There are two large families of cryptographic codes: those with symmetric encryption and those with asymmetric encryption. Symmetric cryptography uses private key decryption algorithms in which the encryption function and the decryption function use the same encryption private key or different but directly related keys. The strength of symmetric encryption lies in the secrecy of the only key used to encode and decode and in the size of the key space. From the 1960s, 40-bit (4-character) codes were adopted which are extremely vulnerable to brute force attacks by today's means, while from the 1990s there was a shift to the use of 128-bit (13-character) codes which constitute strong keys. even with today's means. Symmetric cryptography is simple, fast and secure even if it has as its main limit the need to share the key between the two parties who must encrypt and decrypt. This problem is solved by asymmetric cryptography, or public key cryptography, in which each actor involved is associated with a pair of keys: the public key, which must be distributed and is used to encrypt a document intended for the owner of the relative private key; and the private key, which must be kept secret as it is used to decrypt a document encrypted with the public key. Asymmetric encryption algorithms are much heavier and slower than symmetric encryption ones, however they solve the key secrecy problem as the private key, only able to decrypt a document / message encrypted with the public key, never needs to be transmitted. In practice, asymmetric cryptography is normally used only to exchange the key, with which to subsequently proceed to a communication with symmetric cryptography, which is, in general terms, much lighter and more secure than the other.

Inoltre, generalmente nella maggior parte dei metodi di crittografia si fa uso di passwords che hanno il grosso limite di dover essere memorizzate e digitate ogni volta. Per limitare al minimo le difficoltà di utilizzo, gli utenti tendono a semplificare le proprie passwords utilizzando un limitato numero di caratteri e dati sensibili, fattori che riducono enormemente il livello di sicurezza della codifica. Furthermore, generally in most of the encryption methods, passwords are used which have the big limit of having to be memorized and typed every time. To minimize the difficulties of use, users tend to simplify their passwords using a limited number of characters and sensitive data, factors that greatly reduce the level of security of the encryption.

SINTESI DELL’INVENZIONE SUMMARY OF THE INVENTION

Scopo della presente invenzione è allora quello di proporre un metodo di crittografia simmetrica di grande semplicità ed estrema sicurezza, particolarmente vantaggioso nelle comunicazioni tra coppie di soggetti. The object of the present invention is therefore to propose a symmetrical encryption method of great simplicity and extreme security, particularly advantageous in communications between pairs of subjects.

Gli scopi suddetti sono raggiunti per mezzo di un metodo di codifica simmetrica di documenti comprendente fasi di: The above purposes are achieved by means of a symmetrical document coding method comprising steps of:

generazione, tramite un algoritmo di generazione di numeri pseudo-casuali, di x numeri pseudo-casuali; generation, by means of a pseudo-random number generation algorithm, of x pseudo-random numbers;

moltiplicazione di ognuno degli x numeri pseudo-casuali generati per un determinato fattore moltiplicativo dipendente dal sistema di codifica di caratteri utilizzato; multiplication of each of the x pseudo-random numbers generated by a given multiplication factor depending on the character encoding system used;

associazione di ognuno degli x numeri casuali con un carattere del suddetto sistema di codifica in modo da ottenere una stringa di caratteri di lunghezza x; association of each of the x random numbers with a character of the aforesaid coding system in order to obtain a string of characters of length x;

Ripetizione delle fasi precedenti fino ad ottenere un numero M di stringhe di caratteri maggiore o uguale del numero N di caratteri rappresentabili del sistema di codifica da rappresentare; Repetition of the previous steps until a number M of character strings greater than or equal to the number N of characters that can be represented by the coding system to be represented is obtained;

Associazione di N delle suddette M stringhe con gli N caratteri rappresentabili del sistema di codifica di caratteri, in modo da creare una tabella di associazioni; Association of N of the above M strings with the N representable characters of the character encoding system, so as to create an association table;

creazione di un codice di codifica, detto codice trasformando ogni carattere di un documento da codificare in una stringa di caratteri secondo la suddetta tabella di associazioni; creating an encoding code, said code transforming each character of a document to be encoded into a string of characters according to the aforementioned association table;

creazione di un corrispondente codice di decodifica, detto codice di decodifica trasformando ogni stringa di caratteri di lunghezza x in un carattere secondo la suddetta tabella di associazioni. creation of a corresponding decoding code, called decoding code by transforming each character string of length x into a character according to the aforementioned association table.

Vantaggiosamente il sistema di codifica di caratteri è un codice ASCII esteso, che permette la rappresentazione di fino a 256 caratteri in uno spazio di 8 bit. Advantageously, the character encoding system is an extended ASCII code, which allows the representation of up to 256 characters in an 8-bit space.

Alternativamente il sistema di codifica di caratteri è una codice UNICODE che, ad oggi, rappresenta circa 1 milione di caratteri in uno spazio di 21 bit. Alternatively, the character encoding system is a UNICODE code which, to date, represents about 1 million characters in a 21-bit space.

Ancora vantaggiosamente il metodo comprende una preventiva fase di scelta del sistema di codifica di caratteri utilizzato, che può essere uno dei suddetti sistemi ASCII esteso o UNICODE, oppure un altro sistema ancora. Still advantageously, the method comprises a preliminary step for selecting the character encoding system used, which can be one of the aforementioned extended ASCII or UNICODE systems, or yet another system.

Infine, vantaggiosamente il metodo comprende di scegliere, in una preventiva fase, la lunghezza x delle stringhe di caratteri. La scelta del sistema di caratteri utilizzato e la lunghezza x della stringa di caratteri determinano lo spazio della chiave privata del presente metodo di crittografia simmetrica, che può quindi essere variato a piacimento in funzione delle esigenze di sicurezza. Finally, advantageously, the method comprises choosing, in a preliminary step, the length x of the character strings. The choice of the character system used and the length x of the character string determine the space of the private key of this symmetric encryption method, which can therefore be varied at will according to the security requirements.

BREVE DESCRIZIONE DEI DISEGNI BRIEF DESCRIPTION OF THE DRAWINGS

Queste ed altre caratteristiche dell 'invenzione risulteranno più facilmente comprensibili dalla seguente descrizione di una forma realizzati va preferita dell 'invenzione, fornita come esempio non limitativo, con riferimento alle figure allegate nelle quali: These and other characteristics of the invention will be more easily understood from the following description of a preferred embodiment of the invention, given as a non-limiting example, with reference to the attached figures in which:

la figura 1 mostra uno schematico diagramma di flusso che illustra un metodo di crittografia simmetrica secondo la presente invenzione. Figure 1 shows a schematic flow chart illustrating a symmetric encryption method according to the present invention.

DESCRIZIONE DELLE FORME REALIZZATIVE PREFERITE DESCRIPTION OF THE PREFERRED MANUFACTURING FORMS

Con riferimento alla figura 1 è indicato complessivamente con 100 un diagramma di flusso che illustra le fasi di un metodo di crittografia simmetrica secondo la presente invenzione. With reference to Figure 1, 100 generally indicates a flow chart which illustrates the steps of a symmetric cryptography method according to the present invention.

In funzione del sistema di codifica di caratteri utilizzato nei documenti che devono essere cifrati viene scelto un sistema di codifica di caratteri, 101. Ad esempio, per gli alfabeti dell’europa occidentale può essere validamente utilizzato il codice ASCII esteso nella versione ISO-8859-1 (Latin- 1), che è una codifica ad 8 bit che permette di rappresentare 2<8>= 256 caratteri (128 di base con le varianti relative alle diverse lingue, più i caratteri speciali e grafici). Ovviamente, potrebbero essere utilizzate anche versioni diverse dell’ ASCII esteso o anche la codifica UNICODE che ad oggi prevede una codifica a 21 bit e supporta un repertorio di codici numerici che possono rappresentare circa un milione di caratteri. Depending on the character encoding system used in the documents to be encrypted, a character encoding system 101 is chosen. For example, the extended ASCII code in the ISO-8859 version can be validly used for Western European alphabets. 1 (Latin-1), which is an 8-bit encoding that allows you to represent 2 <8> = 256 characters (basic 128 with the variants relating to the different languages, plus special and graphic characters). Obviously, different versions of extended ASCII or even the UNICODE encoding could also be used, which currently includes 21-bit encoding and supports a repertoire of numeric codes that can represent about one million characters.

Successivamente viene definita la dimensione della chiave, 102, definendo la lunghezza X della stringa di caratteri che dovrà essere associata ad ogni singolo carattere del sistema di codifica di caratteri scelto. La scelta della lunghezza X della stringa di caratteri è completamente arbitraria e definisce lo spazio dedicato alla chiave influenzando quindi la robustezza della cifratura ma anche le dimensioni del messaggio cifrato da trasmettere. Ad esempio la lunghezza X della stringa può essere vantaggiosamente di 12, 16, 24, 32 o 40 caratteri. Ogni carattere aggiuntivo moltiplica di un fattore pari a circa 250 il numero di tentativi necessari per individuare la chiave in seguito ad attacchi di forza bruta. Una volta scelti i due parametri suddetti si avvia il processo di generazione delle chiavi. Viene generato un numero pseudo-casuale compreso tra 0 e 1, fase 103, e quindi questo viene moltiplicato per un fattore pari al numero di caratteri rappresentabili nel sistema di codifica di caratteri precedentemente scelto, fase 104. Ad esempio, se la codifica è una ASCII estesa il fattore moltiplicativo è 256. La porzione intera del numero ottenuto corrisponderà, sempre nel sistema di codifica di caratteri scelto, ad un determinato carattere, che viene quindi trascritto in una stringa “1”, fase 105. La suddetta generazione di un numero pseudo-casuale e le fasi successive vengono ripetute fino a quando la stringa “1” non è piena, vale a dire non è completa con all’ interno la sequenza di caratteri di lunghezza determinata nella fase 102. A questo punto la stringa viene memorizzata, fase 106 e ripartendo dalla fase 102 si comincia a generare una nuova stringa “2”. La generazione e memorizzazione delle stringhe di caratteri prosegue fino ad ottenere un numero M di stringhe superiore al numero N di caratteri rappresentabili con il sistema di codifica di caratteri scelto. Ad esempio il codice ASCII esteso prevede la possibilità di rappresentare fino a 256 caratteri ma alcuni di essi (da 0 a 31) sono caratteri di controllo che non hanno una rappresentazione quindi N sarà non superiore a 225. Il numero di stringhe M sarà maggiore di N per prevedere la possibilità che vengano generate due stringhe identiche. Ovviamente le stringhe identiche verranno scartate e le prime N stringhe diverse vengono associate agli N caratteri rappresentabili del sistema di codifica, fase 107. In questo modo si è costruita una tabella di associazioni che fa corrispondere ad ognuno degli N caratteri una stringa di caratteri lunga X caratteri. Successivamente vengono generati un codice di codifica che apre un documento, lo codifica sfruttando la suddetta tabella di associazioni e lo salva codificato; ed un codice di decodifica che apre un documento, lo decodifica sfruttando in direzione opposta la tabella di associazioni e lo salva decodificato, fase 108. Subsequently, the size of the key, 102, is defined by defining the length X of the character string which must be associated with each single character of the chosen character encoding system. The choice of the length X of the character string is completely arbitrary and defines the space dedicated to the key, thus influencing the strength of the encryption but also the size of the encrypted message to be transmitted. For example, the length X of the string can advantageously be 12, 16, 24, 32 or 40 characters. Each additional character multiplies by a factor of approximately 250 the number of attempts required to locate the key following brute force attacks. Once the two aforementioned parameters have been chosen, the key generation process starts. A pseudo-random number between 0 and 1 is generated, step 103, and then this is multiplied by a factor equal to the number of characters that can be represented in the previously chosen character encoding system, step 104. For example, if the encoding is a Extended ASCII the multiplication factor is 256. The integer portion of the number obtained will correspond, again in the character encoding system chosen, to a certain character, which is then transcribed into a string "1", step 105. The aforementioned generation of a number pseudo-random and the subsequent phases are repeated until the string "1" is full, that is, it is not complete with the sequence of characters of length determined in phase 102 inside. At this point the string is stored, phase 106 and restarting from phase 102, a new string "2" begins to be generated. The generation and storage of the character strings continues until a number M of strings greater than the number N of characters that can be represented with the chosen character encoding system is obtained. For example, the extended ASCII code provides the possibility of representing up to 256 characters but some of them (from 0 to 31) are control characters that do not have a representation so N will not be greater than 225. The number of M strings will be greater than N to predict the possibility that two identical strings will be generated. Obviously, the identical strings will be discarded and the first N different strings are associated with the N representable characters of the coding system, step 107. In this way, an association table has been constructed which makes each of the N characters correspond to a string of characters long X characters. Subsequently, an encoding code is generated which opens a document, encodes it using the aforementioned table of associations and saves it encoded; and a decoding code which opens a document, decodes it by exploiting the table of associations in the opposite direction and saves it decoded, step 108.

Il metodo di codifica sopra descritto è particolarmente indicato, e presenta numerosi vantaggi, quando si devono instaurare comunicazioni tra coppie di soggetti o anche tra un soggetto da una parte ed una molteplicità di soggetti dall’altra. Infatti, ad ogni esecuzione del metodo dell’ invenzione si genera una coppia di algoritmi: un algoritmo di codifica ed il corrispondente algoritmo di decodifica. Il mittente conserva l’algoritmo di codifica ed il destinatario conserva il corrispondente algoritmo di decodifica. Il problema della trasmissione della chiave può essere ovviamente risolto trasmettendo l’algoritmo in forma codificata tramite un metodo di crittografia asimmetrica di tecnica nota. Una volta consegnato l’algoritmo si procede alla comunicazione secondo il metodo di crittografia simmetrica della presente invenzione, vale a dire codificando un documento da spedire con l’algoritmo di codifica e decodificandolo dal lato destinatario per mezzo del relativo algoritmo di decodifica. Il livello di sicurezza della trasmissione può essere deciso in funzione delle esigenze in quanto lo spazio della chiave, secondo il metodo dell’ invenzione, può essere liberamente scelto e la generazione della coppia di algoritmi di codifica e decodifica avviene di conseguenza. Il livello di sicurezza impostato è costante per ogni coppia di algoritmi di codifica/decodifica generata con il metodo dell 'invenzione e non risente quindi dell’ alcatorietà e soggettività della scelta di password personali. The coding method described above is particularly suitable, and has numerous advantages, when it is necessary to establish communications between pairs of subjects or even between a subject on the one hand and a multiplicity of subjects on the other. In fact, at each execution of the method of the invention a pair of algorithms is generated: a coding algorithm and the corresponding decoding algorithm. The sender keeps the coding algorithm and the recipient keeps the corresponding decoding algorithm. The problem of key transmission can obviously be solved by transmitting the algorithm in coded form using an asymmetric encryption method of known technique. Once the algorithm has been delivered, the communication is carried out according to the symmetric encryption method of the present invention, that is, by encoding a document to be sent with the coding algorithm and decoding it on the recipient side by means of the relative decoding algorithm. The security level of the transmission can be decided according to the needs as the space of the key, according to the method of the invention, can be freely chosen and the generation of the pair of coding and decoding algorithms takes place accordingly. The security level set is constant for each pair of encoding / decoding algorithms generated with the method of the invention and is therefore not affected by the acceptance and subjectivity of the choice of personal passwords.

Per una comunicazione bidirezionale tra due soggetti, è preferibile implementare due volte il metodo dell’invenzione e generare due coppie di algoritmi in modo che ognuno dei soggetti possieda un algoritmo di codifica ma non il corrispondente algoritmo di decodifica e viceversa. For bidirectional communication between two subjects, it is preferable to implement the method of the invention twice and generate two pairs of algorithms so that each of the subjects has an encoding algorithm but not the corresponding decoding algorithm and vice versa.

Nel caso, ad esempio, che un azienda debba comunicare con una molteplicità di clienti, tramite il metodo della presente invenzione potranno essere generate un numero di coppie di algoritmi di codifica e relativa decodifica pari al numero di clienti (o doppio nel caso di comunicazione bidirezionale). In questo modo si evidenzia ancora maggiormente la sicurezza del metodo dell’invenzione in quanto, anche nel caso che venisse scoperta la chiave di una coppia di algoritmi, sarebbe compromessa la comunicazione verso un singolo cliente mentre continuerebbe ad essere perfettamente sicura la comunicazione con tutti gli altri. In the case, for example, that a company has to communicate with a multiplicity of customers, by means of the method of the present invention a number of pairs of coding and decoding algorithms equal to the number of customers (or double in the case of bidirectional communication) can be generated. ). In this way, the safety of the method of the invention is highlighted even more since, even if the key of a pair of algorithms were discovered, the communication to a single customer would be compromised while the communication with all the customers would continue to be perfectly secure. other.

Un ulteriore situazione in cui può risultare particolarmente vantaggioso l’utilizzo del metodo della presente invenzione è quella della conservazione di documenti su un server remoto. In questo caso l’algoritmo di codifica ed il corrispondente algoritmo di decodifica sono conservati entrambi dallo stesso soggetto che codifica un documento tramite l’algoritmo di codifica e lo invia codificato al server remoto: il documento sarà leggibile solo per il soggetto che possiede anche l’algoritmo di decodifica. A further situation in which the use of the method of the present invention may be particularly advantageous is that of storing documents on a remote server. In this case, the encoding algorithm and the corresponding decoding algorithm are both stored by the same subject who encodes a document using the encoding algorithm and sends it encrypted to the remote server: the document will be readable only by the subject who also owns the 'decoding algorithm.

Altra situazione in cui può risultare vantaggioso l’utilizzo del metodo di crittografia dell’invenzione è la trasmissione di documenti tra dipendenti della stessa azienda. In questo caso sarebbe sufficiente prevedere la presenza di un nodo centrale di passaggio di tutte le comunicazioni, in cui conservare i corrispondenti algoritmi di codifica/decodifica relativi agli algoritmi di codifica/decodifica in possesso dei singoli dipendenti. In questo modo un dipendente può inviare un messaggio codificato con il proprio algoritmo di codifica, il messaggio passa dal nodo centrale in cui viene prima decodificato e quindi codificato nuovamente con Γ algoritmo di codifica corrispondente all’ algoritmo di decodifica in possesso del dipendente destinatario, e inoltrato al destinatario. Another situation in which the use of the invention's encryption method may be advantageous is the transmission of documents between employees of the same company. In this case it would be sufficient to provide for the presence of a central node for passing all communications, in which to store the corresponding coding / decoding algorithms relating to the coding / decoding algorithms in the possession of the individual employees. In this way an employee can send a message encoded with his own encoding algorithm, the message passes through the central node where it is first decoded and then encoded again with Γ encoding algorithm corresponding to the decoding algorithm in the possession of the recipient employee, and forwarded to the recipient.

Un ulteriore rilevante vantaggio del metodo della presente invenzione consiste nel fatto che per quanto sia lunga e complessa la chiave di codifica e decodifica non è necessario memorizzare o digitare alcuna password in quanto le operazioni di codifica e decodifica vengono eseguite dagli algoritmi di codifica e decodifica i quali possono consistere in una piccola applicazione che, lanciata in esecuzione, chiede solamente di selezionare quali sono i documenti da codificare/decodificare ed esegue automaticamente Γ operazione. A further important advantage of the method of the present invention consists in the fact that no matter how long and complex the encoding and decoding key is, it is not necessary to memorize or type any password since the encoding and decoding operations are performed by the encoding and decoding algorithms. which may consist of a small application which, when launched, only asks you to select which documents are to be encoded / decoded and automatically performs the operation.

Inoltre, non essendoci passaggio di password, dal documento criptato non si ricava la lunghezza della chiave, parametro essenziale per impostare un attacco di forza bruta, i caratteri nel documento criptato sono del tutto anonimi, senza informazioni di tipo, alfabetico numerico o di punteggiatura, quindi basta anche una associazione ad un limitato numero di caratteri, per esempio 4, che prevede di per se 1099 miliardi di combinazioni, ma che sono molto di più perché deve essere impostato l'attacco di forza bruta per un certo numero di lunghezze di chiavi ipotizzate, moltiplicando quindi il tempo di ricerca della chiave, senza avere la certezza di arrivare al risultato. Inoltre possono essere criptate con lunghezze di chiave diverse parti del materiale inviato a seconda delle loro caratteristiche, una immagine, per esempio, può necessitare di una criptazione più leggera, essendo già in origine un file molto pesante, senza diminuire le performances della criptazione ma anzi complicando ulteriormente la vita ai tentativi di individuare la chiave. Furthermore, since there is no password, the length of the key is not obtained from the encrypted document, an essential parameter for setting up a brute force attack, the characters in the encrypted document are completely anonymous, without type information, alphabetic, numerical or punctuation, therefore an association to a limited number of characters is also sufficient, for example 4, which itself provides 1099 billion combinations, but which are much more because the brute force attack must be set for a certain number of key lengths hypothesize, thus multiplying the search time for the key, without having the certainty of arriving at the result. Furthermore, different parts of the material sent can be encrypted with key lengths depending on their characteristics, an image, for example, may need a lighter encryption, being already a very heavy file originally, without decreasing the encryption performances but rather further complicating the life of attempts to locate the key.

Ovviamente, varianti e modifiche possono essere apportate al metodo di codifica simmetrica della presente invenzione, pur sempre rimanendo all 'interno dell 'ambito di protezione definito dalle rivendicazioni seguenti. Obviously, variations and modifications can be made to the symmetrical coding method of the present invention, while always remaining within the scope of protection defined by the following claims.

Claims (6)

RIVENDICAZIONI 1. Metodo di codifica simmetrica di documenti caratterizzato dal fatto di comprendere fasi di: generazione, tramite un algoritmo di generazione di numeri pseudo-casuali, di x numeri pseudo-casuali; associazione di ognuno di detti x numeri casuali con un carattere di un sistema di codifica di caratteri in modo da ottenere una stringa di caratteri di lunghezza x; Ripetizione delle fasi precedenti fino ad ottenere un numero M di stringhe di caratteri maggiore o uguale del numero N di caratteri rappresentabili del sistema di codifica da rappresentare; Associazione di N di dette M stringhe con gli N caratteri rappresentabili di detto sistema di codifica di caratteri, in modo da creare una tabella di associazioni; creazione di un codice di codifica, detto codice di codifica trasformando ogni carattere in un documento in una stringa di caratteri secondo la detta tabella di associazione; creazione di un corrispondente codice di decodifica, detto codice di decodifica trasformando ogni stringa di caratteri di lunghezza x in un carattere secondo la detta tabella di associazioni. CLAIMS 1. Method of symmetrical coding of documents characterized by the fact of including phases of: generation, by means of a pseudo-random number generation algorithm, of x pseudo-random numbers; association of each of said x random numbers with a character of a character encoding system so as to obtain a character string of length x; Repetition of the previous steps until a number M of character strings greater than or equal to the number N of characters that can be represented by the coding system to be represented is obtained; Association of N of said M strings with the N representable characters of said character coding system, so as to create an association table; creating an encoding code, said encoding code by transforming each character in a document into a string of characters according to said association table; creation of a corresponding decoding code, called decoding code by transforming each character string of length x into a character according to said association table. 2. Metodo secondo la rivendicazione 1 caratterizzato dal fatto che detti x numeri casuali sono numeri reali compresi tra 0 ed 1 ed ognuno di essi viene moltiplicato per un determinato medesimo fattore moltiplicativo dipendente dal sistema di codifica di caratteri utilizzato, in modo da ottenere una porzione intera con cui eseguire detta associazione con un carattere del suddetto sistema di codifica di caratteri. 2. Method according to claim 1 characterized by the fact that said x random numbers are real numbers between 0 and 1 and each of them is multiplied by a specific multiplicative factor depending on the character coding system used, so as to obtain a portion integer with which to perform said association with a character of the aforementioned character encoding system. 3. Metodo secondo la rivendicazione 1 caratterizzato dal fatto che detto sistema di codifica di caratteri è un codice ASCII esteso. 3. Method according to claim 1 characterized in that said character coding system is an extended ASCII code. 4. Metodo secondo la rivendicazione 1 caratterizzato dal fatto che detto sistema di codifica di caratteri è una codice UNICODE. 4. Method according to claim 1 characterized in that said character coding system is a UNICODE code. 5. Metodo secondo la rivendicazione 1 caratterizzato dal fatto di comprendere una preventiva fase di scelta del sistema di codifica di caratteri utilizzato. 5. Method according to claim 1, characterized in that it comprises a preliminary step for selecting the character coding system used. 6. Metodo secondo una delle rivendicazioni precedenti caratterizzato dal fatto di comprendere una preventiva fase di scelta della lunghezza x di dette stringhe di caratteri.6. Method according to one of the preceding claims, characterized in that it comprises a preliminary step of selecting the length x of said character strings.
IT000106A 2011-09-28 2011-09-28 METHOD FOR CODIFICATION OF DOCUMENTS ITPI20110106A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IT000106A ITPI20110106A1 (en) 2011-09-28 2011-09-28 METHOD FOR CODIFICATION OF DOCUMENTS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000106A ITPI20110106A1 (en) 2011-09-28 2011-09-28 METHOD FOR CODIFICATION OF DOCUMENTS

Publications (1)

Publication Number Publication Date
ITPI20110106A1 true ITPI20110106A1 (en) 2013-03-29

Family

ID=44936402

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000106A ITPI20110106A1 (en) 2011-09-28 2011-09-28 METHOD FOR CODIFICATION OF DOCUMENTS

Country Status (1)

Country Link
IT (1) ITPI20110106A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070028088A1 (en) * 2005-08-01 2007-02-01 Coskun Bayrak Polymorphic encryption method and system
US20110142230A1 (en) * 2003-02-07 2011-06-16 Britesmart Llc Real-time data encryption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110142230A1 (en) * 2003-02-07 2011-06-16 Britesmart Llc Real-time data encryption
US20070028088A1 (en) * 2005-08-01 2007-02-01 Coskun Bayrak Polymorphic encryption method and system

Similar Documents

Publication Publication Date Title
CN107086915B (en) Data transmission method, data sending end and data receiving end
US9608822B2 (en) Method for generating an HTML document that contains encrypted files and the code necessary for decrypting them when a valid passphrase is provided
CN108768617B (en) Format-preserving encryption method based on traditional block cipher
JPS62283742A (en) Data transmission
US20120284528A1 (en) Multi-purpose multi-dimensional, variable and multi-key e-mail and data encryption method
CN107181584B (en) Asymmetric completely homomorphic encryption and key replacement and ciphertext delivery method thereof
Schneier Protocol Building Blocks
CN104967518A (en) Method for improving information transmission security
Rajput et al. An improved cryptographic technique to encrypt text using double encryption
CN104463019A (en) Method for encrypting and decrypting electronic documents
CN104486756B (en) A kind of encryption and decryption method and system of close writing paper short message
Choubey et al. Cryptographic techniques in information security
CN109344627A (en) A kind of novel Shannon perfection time slot scrambling
CN102882675A (en) Password encryption method for social network sites
JP2011198079A (en) System and method for encrypting database
Kaushal Cryptography: A brief review
Mokhtari et al. Analysis and design of affine and hill cipher
ITPI20110106A1 (en) METHOD FOR CODIFICATION OF DOCUMENTS
CN104618355A (en) Safe data storage and transmission method
CN103746793B (en) A kind of number form literary composition carries encryption and decryption approaches
Kako Classical Cryptography for Kurdish Language
JP5586758B1 (en) Dynamic encryption key generation system
CN110941815A (en) Novel password
Lele et al. The book cipher optimised method to implement encryption and decryption
Aruljothi et al. Symmetric key cryptosystem based on randomized block cipher