ITMI20011938A1 - Metodo per criptare un flusso di dati - Google Patents
Metodo per criptare un flusso di dati Download PDFInfo
- Publication number
- ITMI20011938A1 ITMI20011938A1 IT2001MI001938A ITMI20011938A ITMI20011938A1 IT MI20011938 A1 ITMI20011938 A1 IT MI20011938A1 IT 2001MI001938 A IT2001MI001938 A IT 2001MI001938A IT MI20011938 A ITMI20011938 A IT MI20011938A IT MI20011938 A1 ITMI20011938 A1 IT MI20011938A1
- Authority
- IT
- Italy
- Prior art keywords
- data
- coding
- encrypting
- data stream
- key
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000013507 mapping Methods 0.000 claims description 11
- 238000011144 upstream manufacturing Methods 0.000 claims description 3
- 238000005215 recombination Methods 0.000 claims description 2
- 230000006798 recombination Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims 2
- 230000037431 insertion Effects 0.000 claims 2
- 230000002123 temporal effect Effects 0.000 claims 1
- 230000009466 transformation Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 2
- 101000888552 Xenopus laevis CLIP-associating protein 1-B Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Time-Division Multiplex Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Recording Measured Values (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
DESCRIZIONE
La presente invenzione si riferisce ad un metodo per criptare un flusso di dati del tipo che prevede di impiegare mezzi di codifica per applicare un'operazione di mappatura ai dati in ingresso, applicare un'operazione di inversione·, applicare un'operazione di combinazione con una chiave, applica e uri operazione di demappatura, e prevede inoltre di prelevare e ricombinare dati in uscita con i dati in ingresso.
E’ noto in letteratura un metodo per criptare flussi di dati che prevede la cifratura di dati a blocchi secondo lo standard cosiddetto ‘RIJNDAEL’. La cifratura a blocchi prevede di applicare una chiave crittografica e un algoritmo a un blocco di dati, ad esempio 64 bit contigui, in una volta sola piuttosto che a un bit per volta. Al fine di evitare che blocchi identici di dati vengano criptati nello stesso modo è noto ad esempio applicare il blocco cifrato precedente al blocco seguente nella sequenza di dati in ingresso.
Detto standard RIJNDAEL è basato sull’adozione di tre livelli o layer. nei quali si implementano una funzione di miscelazione lineare dei blocchi, una funzione non lineare e una funzione di aggiunta della chiave.
Dette operazioni di cifratura e codifica possono essere esemplificate tramite lo schema a blocchi di figura 1.
In detta figura 1 un flusso di dati in ingresso FI, contenente un testo in chiaro TI è portato in ingresso a un circuito di codifica 11 , che comprende un blocco di trasformazione lineare T, seguito da un blocco codificatore 12, a sua volta seguito da un blocco di trasformazione lineare inversa T <1>. All’uscita del blocco di trasformazione lineare inversa T <1>, tramite un sommatore S2 viene inserita una chiave k, per cui si produce un flusso di dati in uscita FO, che contiene un testo cifrato TC. Detto testo cifrato TC è portato in retroazione tramite un blocco di ritardo D per essere combinato con il seguente blocco del flusso di dati in ingresso FI tramite un sommatore S 1. Dunque il circuito di codifica 11 comprende un anello di codifica e non è lineare. I byte in ingresso al codificatore 11 sono indicati con b e i byte in uscita sono indicati con b\ Una simile struttura, come tutti i sistemi di criptaggio simmetrico, mostra almeno due svantaggi. In primo luogo l’elaborazione del flusso di dati in ingresso FI è complessa.
Infatti lo schema di codifica RIJNDAEL prevede di caricare il flusso di dati in ingresso FI su una variabile di 128 (o 192, o 256) byte e eseguire ripetutamente su detta variabile essenzialmente le seguenti operazioni:
ByteSub; ShiftRows; MixColumn; AddRoundKey.
- L’operazione ShiftRows è semplicemente una permutazione tra i 128 bit; l’operazione MixColumn è un operazione lineare, rappresentabile quindi come applicazione di una matrice;
- l’operazione AddRoundKey è un’operazione di somma modulo 2, (in altre parole, Xor bit ) fra i 128 bit di chiave k e i 128 bit della variabile in ingresso al sommatore S2;
- l’operazione ByteSub invece è un'operazione non lineare applicate a ciascun byte della variabile al fine di eseguire il cosiddetto mapping, cioè una trasformazione sui byte b e coinvolge i blocchi T, 12 e T<1>.
Detta operazione Bytesub è un'operazione complicata, cioè la sua realizzazione impiega un grande numero di porte logiche e un notevole numero di livelli, che assommano perciò un grande tempo di latenza, da cui deriva una bassa velocità di funzionamento.
Secondo la specifica dello standard RIJNDAEL l'operazione Bytesub consiste nel trasformare un byte secondo la relazione:
b' = M 1(b) c
dove 1(b) è l'elemento inverso di b nel campo di Galois, M è una matrice 8x8 e c un vettore costante.
E' noto in letteratura un metodo indiretto per realizzare più efficientemente l'inversione di un elemento nel campo di Galois. Detto metodo consiste nell'applicare all'elemento b una trasformazione lineare T, come quella indicata nel blocco in figura 1, quindi un'inversione semplificata Is, più semplice della precedente, e infine la trasformazione lineare inversa T-l, cioè:
1(b) = Γ' Is(T b )
Da cui:
b' = M T<1 >Is( T b) c
Questa riformulazione, che, come detto, è nota, permette di avere un circuito più semplice, che comporta solo due trasformazioni lineari ed un'inversione semplice.
Si noti che (M T<1>) è una matrice 8x8 costante precalcolata.
Rimane però l inconveniente che l’operazione Bytesub sopra descritta deve essere ricalcolata per ogni iterazione. Da ciò derivano una notevole complessità di calcolo e una corrispondente complessità dei componenti coinvolti per eseguire detto calcolo.
In secondo luogo, siccome la cifratura di un blocco dipende da quella del blocco precedente attraverso il blocco di ritardo D, si deve considerare l’esistenza e l’incidenza dei tempi di latenza, tempi in cui il blocco precedente non è disponibile al sommatore SI per essere combinato. In particolare ciò è avvertibile nei modi Cipher Block Chaining nei quali il testo cifrato TC del flusso di uscita FO è combinato tramite una funzione EXOR con il testo in chiaro TI del flusso d’ingresso FI.
La presente invenzione si propone di risolvere gli inconvenienti sopra citati e di indicare un metodo per criptare un flusso di dati che sia di realizzazione migliorata, e più efficiente rispetto alle soluzioni note.
In tale ambito, scopo principale della presente invenzione è quello di indicare un metodo per criptare un flusso di dati che renda più veloce l’operazione di criptatura.
Un ulteriore scopo della presente invenzione è quello di indicare un metodo per criptare un flusso di dati che permetta di utilizzare per il calcolo componenti che necessitino minore complessità e prestazioni.
Per raggiungere tali scopi, formano oggetto della presente invenzione un metodo per criptare un flusso di dati e/o un circuito di cifratura incorporanti le caratteristiche delle rivendicazioni allegate, che formano parte integrante della presente descrizione.
Ulteriori scopi, caratteristiche e vantaggi della presente invenzione risulteranno chiari dalla descrizione particolareggiata che segue e dai disegni annessi, fomiti a puro titolo di esempio esplicativo e non limitativo, in cui:
in figura 1 è riportato uno schema a blocchi illustrante il principio di un apparato di codifica implementante il metodo per criptare un flusso di dati secondo l’arte nota;
- in figura 2 è riportato uno apparato di codifica implementante il metodo per criptare un flusso di dati secondo l’invenzione;
in figura 3 è riportato uno schema a blocchi illustrante un sistema di apparati di codifica implementanti il metodo per criptare un flusso di dati secondo invenzione;
in figura 4 è riportato uno schema di principio di un dettaglio del sistema di apparati di codifica di figura 3.
Secondo l’invenzione si propone di applicare la trasformazione T all'ingresso dell’anello di codifica e di applicare la trasformazione inversa T<1 >all'uscita, semplificando così l’espressione o round che viene iterato tramite l’anello di codifica.
In altre parole, l’anello di codifica, riferendosi a quanto indicato in figura 1, opera fin dall’inizio sul dominio trasformato! b, di modo che:
T b' = T M T<1 >Is( T b ) T c
Si noti che (T M Τ<Λ>-1) è una matrice 8x8 costante precalcolata.
L’operazione Bytesub ora consiste in una trasformazione lineare ed un'inversione semplice sui byte b.
In figura 2 è esemplificato lo schema a blocchi relativo ad un circuito di codifica 21 secondo l’invenzione, dove il flusso di dati in ingresso FI entra preventivamente in un blocco di trasformazione lineare T4, di modo che i byte b, diventati byte trasformati w, passano per il sommatore SI e in un blocco codificatore 22 semplificato il quale applica l' inversione semplificata Is e un’operazione MixColumn L, per generare dei byte di uscita trasformati w’. Si osserva che, descrivendo figura 1, si è parlato di operazioni su ottetti, b, b' e c essendo vettori di 8 bit mentre T e M matrici binarie 8x8;
Il circuito di codifica 21 descritto come esempio in figura 2 opera invece su blocchi di 32 bit. w e w' vanno intesi perciò come la concatenazione di 4 byte, T4 e M4 sono matrici 32x32 diagonali a blocchi, dove
mentre
e
Is4 è l'operazione di inversione semplificata nel dominio trasformato operante su 4 byte indipendentemente.
Quindi, 4 operazioni ByteSub sono rappresentabili come:
Trascuriamo, come in precedenza, l'operazione ShiftRows (si tratta solo di una permutazione).
Essendo l’operazione MixColumn un’operazione lineare applicata nel blocco di codifica 22, cioè una matrice L 32x32, ed essendo l’operazione AddRoundKey la somma di 32 bit di una chiave k4 tramite il sommatore S2, avremo che l'uscita dell’anello di codifica, che rientrerà per la successiva iterazione come byte trasformati w tramite l’elemento di ritardo D e il sommatore SI, è
Si noti che T4 L M4 Τ4<Λ>-1 è una matrice costante (quindi precalcolata), T4 L c4 e un vettore costante e T4 k4 sono 32 bit di chiave trasformata, tramite un blocco T4 opportunamente preposto prima del sommatore S2.
L'iterazione scritta in questo modo non fa uso della chiave k4 direttamente, ma della chiave nel dominio trasformato, T4 k4.
Siccome il processo di espansione della chiave (operazione KeyExpander) fa uso dell’operazione ByteSub, e quindi dell' inversione, vantaggiosamente il KeyExpander viene realizzato nel dominio trasformato, così il KeyExpander è più semplice e genera direttamente k4 T4.
In conclusione, l'operazione del blocco codificatore 22 consiste ora nelle quattro inversioni semplificate più una moltiplicazione vettore matrice, cui segue la somma della chiave k4, mentre nell’arte nota prevedeva quattro inversioni (non semplificate) più una moltiplicazione vettore matrice e la somma della chiave.
In sostanza si è portata l'operazione di mappatura (e demappatura) al di fuori del blocco codificatore 22.
Inoltre, se si considera il circuito in modalità CBC è evidente che l’operazione di mappatura, essendo lineare, viene spostata al di fuori dell’anello di codifica, al di fuori, quindi della zona con vincolo di latenza.
Secondo un ulteriore caratteristica dell’ invenzione, i circuiti codificatori 21 operano in congiunzione con blocchi schedulatori 24, che ripartiscono il carico computazionale su blocchi di codifica 22.
In figura 3 è descritto perciò un sistema di codifica a struttura parallela.
La modalità CBC infatti limita la capacità massima di elaborazione di un circuito di codificato, come il circuito di codificatore 11 o 21.
La struttura parallela di figura 3 prevede perciò una pluralità di blocchi codificatori 22, ad esempio 8, i quali sono lenti , cioè operano ad esempio ad una velocità di un ottavo della velocità del flusso di dati in ingresso FI, ma contribuiscono, operando in maniera parallela, a raggiungere la velocità desiderata.
Un codificatore in modalità CBC non è di per sé parallelizzabile; però nel caso della codifica di traffico a pacchetti si assegna ad ogni codificatore 22 l'elaborazione di un solo pacchetto di dati.
Per fare ciò vengono inseriti degli opportuni blocchi schedulatori 24, che sono a posti a monte della pluralità di blocchi codificatori 22 e distribuiscono loro i pacchetti PK di cui il flusso di dati in ingresso FI è composto. I medesimi blocchi schedulatori 24 ricompongono i pacchetti PK all’uscita dei circuiti di codificat 22 e generano il flusso di dati in uscita FO.
Lo schedulatore 24 è esemplificato in figura 4 e comprende sostanzialmente una memoria MM con lunghezza LM, in cui è possibile accedere quattro volte per ciclo di orologio, due volte per operazioni di scrittura e due volte per operazioni di lettura.
Vediamo in dettaglio le operazioni di scrittura e lettura:
- operazione di scrittura alla locazione P della parola (in chiaro) del flusso in ingresso FI;
-operazione di lettura dalla locazione P della parola diretta all'uscita.
Ad ogni ciclo di orologio viene incrementato il puntatore della locazione P secondo la relazione:
P = ( P+l ) mod LM
Fin qui, si è descritto il funzionamento della memoria MM come una semplice linea di ritardo (con ritardo = LM x periodo di orologio)
Gli ulteriori due accessi in lettura e scrittura però vengono usati per l'elaborazione; specificamente, ne viene eseguita un’operazione di lettura a una locazione identificata da un indirizzo Er, che contiene una parola da elaborare (o in chiaro), e viene eseguita un’operazione di scrittura a un'altra locazione identificata da un indirizzo Ew, scrivendo il dato elaborato (o criptato). Quindi se ogni parola scritta in memoria MM viene poi letta, codificata e riscritta, la seconda operazione di lettura restituisce il flusso codificato nello stesso ordine in cui è stato scritto.
In altre parole, in ogni periodo di orologio, viene scritta in memoria la parola ricevuta, viene letta dalla memoria una parola in chiaro, viene scritta una parola criptata (nella stessa locazione in cui risiedeva la corrispondente parola in chiaro) e viene letta la parola codificata da trasmettere.
La realizzazione fisica di una memoria a quattro accessi può venire attuata impiegando una memoria a un accesso con il bus dati largo il quadruplo della parola di ingresso e si regolano gli accessi in quattro cicli.
Oppure, se si dispone di una memoria a due accessi, basta duplicare la larghezza del bus dati.
Consideriamo ora una macchina di controllo 25 che genera gli indirizzi Ew e Er, anch’essa rappresentata in figura 4.
Si ipotizza che i codificatori 22 siano N, con N=8 ad esempio, e che abbiano velocità di elaborazione che sia 1/N rispetto alla velocità del flusso di ingresso FI.
Gli indirizzi Ew ed Er selezionano i dati a turno per uno dei codificatori 22, ed evolvono nel tempo t secondo le relazioni:
Er[t] = (Er[t-N] 1) mod LM se Er[t-N] non è l'ultima parola di un pacchetto PK
Er[t]= S se Er[t-N] è l'ultima parola di un pacchetto PK
Ew[t] = Er[t-N]
dove S è l'indirizzo di partenza di un pacchetto PK residente nella memoria MM.
La dinamica dell’indirizzo di partenza S è regolata del meccanismo che ripartisce il lavoro tra gli N blocchi codificatori 22 lenti: quando arriva in ingresso la prima parola di un nuovo pacchetto PK, vengono accodati, cioè inseriti in una memoria FIFO MF o a coda, l'indirizzo S in cui è stata scritta la prima parola del pacchetto PK e la lunghezza del pacchetto PK stesso. Quindi, l’indirizzo S è prelevato dalla coda quando il blocco codificatore 22 ha finito, cioè quando l’indirizzo di lettura Er[t-N] raggiunge l'ultima parola di un pacchetto PK.
Le condizioni sufficienti per cui lo schedulatore 24 funzioni senza correre rischi di overflow sono:
lunghezza LM della memoria MM
LM > 2 N * lmax ;numero LF di locazioni della memoria FIFO MF ;LF > 2*N lmax/lmin
dove lmax e lmin sono rispettivamente le lunghezze massima e minima di un pacchetto PK espresse in numero di parole.
Dalla descrizione effettuata risultano pertanto chiare le caratteristiche della presente invenzione, così come chiari risultano i suoi vantaggi.
Il metodo per criptare un flusso di dati secondo l invenzione permette vantaggiosamente di ridurre la complessità dei codificatori, riducendo le operazioni sui blocchi e portando le operazioni di mappatura al di fuori degli anelli di codifica. Inoltre vantaggiosamente il metodo per criptare un flusso di dati secondo l’invenzione permette di semplificare anche la generazione delle chiavi.
Inoltre vantaggiosamente il metodo per criptare un flusso di dati secondo l’invenzione permette di codificare ad alta velocità, anche in modo CBC, pur con codificatori più lenti e quindi più semplici e meno costosi, grazie allo sviluppo di un’architettura parallela.
E' chiaro che numerose varianti sono possibili per l'uomo del ramo al metodo per criptare un flusso di dati descritto come esempio, senza per questo uscire dai principi di novità insiti nell'idea inventiva, così come è chiaro che nella sua pratica attuazione le forme dei dettagli illustrati potranno essere diverse, e gli stessi potranno essere sostituiti con degli elementi tecnicamente equivalenti.
Claims (11)
- RIVENDICAZIONI 1. Metodo per criptare un flusso di dati del tipo che prevede di impiegare mezzi di codifica (11, 21) per applicare un'operazione di mappatura (T, T4) ai dati in ingresso (FI), applicare un operazione di inversione (I, Is), applicare un'operazione di combinazione con una chiave (k;k4), applicare un’operazione di demappatura (T-l; T4-1), e prevede inoltre di prelevare e ricombinare i dati in uscita (FO) con i dati in ingresso (FI), caratterizzato dal fatto di di applicare l'operazione di mappatura (T4) a monte dell'operazione di ricombinazione fra il flusso di dati in ingresso (FI) e il flusso di dati in uscita(FO), di applicare l'operazione di demappatura (T4-1) a valle dell'operazione di prelievo del flusso di dati in uscita(FO) e di eseguire un'operazione di inversione semplificata (Is).
- 2. Metodo per criptare un flusso di dati secondo la rivendicazione 1 caratterizzato dal fatto di inserire un’operazione di mappatura (T4) nell’operazione di combinazione della chiave (k4) al fine di produrre una chiave mappata (T4k4)
- 3. Metodo per criptare un flusso di dati secondo la rivendicazione 2 caratterizzato dal fatto di distribuire il flusso di dati in ingresso (FI) in una pluralità (N) di flussi paralleli di dati (PK) indirizzati a una pluralità di circuiti di codifica (22) e di criptare in parallelo ciascuno di detti flussi di dati (PK).
- 4. Metodo per criptare un flusso di dati secondo la rivendicazione 3 caratterizzato dal fatto di distribuire dei pacchetti (PK) del flusso di dati in ingresso (FI) alla pluralità di circuiti di codifica (21) secondo una sequenza temporale scandita da opportuni mezzi di schedulazione (24) e di ricombinare i pacchetti criptati da ciascun circuito di codifica (21) in un flusso di uscita (FO).
- 5. Metodo per criptare un flusso di dati secondo la rivendicazione 4 caratterizzato dal fatto che detti mezzi di schedulazione (24) operano la distribuzione e combinazione dei pacchetti (PK) tramite operazioni di scrittura e lettura in una memoria (MM) a multipli accessi.
- 6. Metodo per criptare un flusso di dati secondo la rivendicazione 5 caratterizzato dal fatto che dette operazioni di lettura e scrittura sono generate tramite una macchina di controllo (25) che genera degli opportuni indirizzi di scrittura (Ew) e di lettura (Er) nella memoria (MM) a accessi multipli per distribuire i pacchetti (PK) alla pluralità di codificatori (21).
- 7. Apparato di codifica del tipo che comprende mezzi di mappatura e demappatura (T, T‘;T4, T4<'1>), mezzi di codifica (22) atti a operare operazioni di inversioni e mezzi di inserzione (SI) di una chiave (k, k4), e mezzi per realizzare un anello di codifica (D, S2), caratterizzato dal fatto che detti mezzi di mappatura e demappatura (T, T';T4, T4<"1>) sono posti a monte e a valle di detto anello di codifica (D, S2).
- 8. Apparato di codifica secondo la rivendicazione 7, caratterizzato dal fatto che i mezzi di inserzione (SI) di una chiave sono connessi a ulteriori mezzi di mappatura (T4) per trasformare la chiave (k4).
- 9. Sistema per criptare dati comprendente una pluralità di apparati di codifica secondo la rivendicazione 7, caratterizzato dal fatto che comprende mezzi schedulatori (24) per distribuire pacchetti di dati (PK) da un flusso di dati in ingresso (FI) a alla detta pluralità di apparati di codifica (21) e per ricombinare in un flusso di uscita (FO) i pacchetti elaborati.
- 10. Sistema per criptare dati secondo la rivendicazione 9 caratterizzato dal fatto che detti mezzi di schedulazione (24) comprendono una memoria (MM) a multipli accessi.
- 11. Sistema per criptare dati secondo la rivendicazione 10 caratterizzato dal fatto che detti mezzi di schedulazione (24) comprendono una macchina di controllo (25) che genera degli opportuni indirizzi di scrittura (Ew) e di lettura ( Er) nella memoria (MM) a accessi multipli per distribuire i pacchetti (PK) alla pluralità di apparati di codifica (21).
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT2001MI001938A ITMI20011938A1 (it) | 2001-09-17 | 2001-09-17 | Metodo per criptare un flusso di dati |
| EP02292203A EP1294124A3 (en) | 2001-09-17 | 2002-09-09 | Method for data stream encryption |
| US10/242,731 US20030053624A1 (en) | 2001-09-17 | 2002-09-13 | Method for data stream encryption |
| CN02142665A CN1409512A (zh) | 2001-09-17 | 2002-09-17 | 数据流加密方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT2001MI001938A ITMI20011938A1 (it) | 2001-09-17 | 2001-09-17 | Metodo per criptare un flusso di dati |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| ITMI20011938A0 ITMI20011938A0 (it) | 2001-09-17 |
| ITMI20011938A1 true ITMI20011938A1 (it) | 2003-03-17 |
Family
ID=11448385
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| IT2001MI001938A ITMI20011938A1 (it) | 2001-09-17 | 2001-09-17 | Metodo per criptare un flusso di dati |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20030053624A1 (it) |
| EP (1) | EP1294124A3 (it) |
| CN (1) | CN1409512A (it) |
| IT (1) | ITMI20011938A1 (it) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7885405B1 (en) * | 2004-06-04 | 2011-02-08 | GlobalFoundries, Inc. | Multi-gigabit per second concurrent encryption in block cipher modes |
| US9268918B2 (en) * | 2007-03-13 | 2016-02-23 | Nxp, B.V. | Encryption and decryption of a dataset in at least two dimensions |
| FR3039733B1 (fr) * | 2015-07-29 | 2017-09-01 | Sagemcom Broadband Sas | Dispositif et procede pour modifier un flux de donnees multimedia chiffrees |
| GB201807612D0 (en) | 2018-05-10 | 2018-06-27 | Rolls Royce Plc | Structured file encryption process |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4352952A (en) * | 1978-06-12 | 1982-10-05 | Motorola Inc. | Data security module |
| US4430734A (en) * | 1981-12-14 | 1984-02-07 | Bell Telephone Laboratories, Incorporated | Demultiplexer circuit |
| CA1296430C (en) * | 1986-11-10 | 1992-02-25 | Masahide Kaneko | Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization |
| US5365589A (en) * | 1992-02-07 | 1994-11-15 | Gutowitz Howard A | Method and apparatus for encryption, decryption and authentication using dynamical systems |
| US5226082A (en) * | 1992-07-02 | 1993-07-06 | At&T Bell Laboratories | Variable length decoder |
| US5365588A (en) * | 1993-03-12 | 1994-11-15 | Hughes Aircraft Company | High speed encryption system and method |
| US5455864A (en) * | 1993-09-20 | 1995-10-03 | Seiko Communications Holdings N.V. | Encrypted paging message transmission |
| US5440640A (en) * | 1993-10-05 | 1995-08-08 | Arithmetica, Inc. | Multistream encryption system for secure communication |
| US5903648A (en) * | 1996-02-06 | 1999-05-11 | The University Of Connecticut | Method and apparatus for encryption |
| US6088452A (en) * | 1996-03-07 | 2000-07-11 | Northern Telecom Limited | Encoding technique for software and hardware |
| US5835599A (en) * | 1996-04-15 | 1998-11-10 | Vlsi Technology, Inc. | Muti-cycle non-parallel data encryption engine |
| US6049608A (en) * | 1996-12-31 | 2000-04-11 | University Technology Corporation | Variable length nonlinear feedback shift registers with dynamically allocated taps |
| JP3351305B2 (ja) * | 1997-08-07 | 2002-11-25 | 日本電気株式会社 | 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 |
| US6510228B2 (en) * | 1997-09-22 | 2003-01-21 | Qualcomm, Incorporated | Method and apparatus for generating encryption stream ciphers |
| US6252958B1 (en) * | 1997-09-22 | 2001-06-26 | Qualcomm Incorporated | Method and apparatus for generating encryption stream ciphers |
| US6263087B1 (en) * | 1998-06-26 | 2001-07-17 | Signafy, Inc. | Method of encoding bits in a signal |
| US6560338B1 (en) * | 1998-08-28 | 2003-05-06 | Qualcomm Incorporated | Limiting delays associated with the generation of encryption stream ciphers |
| US6490357B1 (en) * | 1998-08-28 | 2002-12-03 | Qualcomm Incorporated | Method and apparatus for generating encryption stream ciphers |
| US6415032B1 (en) * | 1998-12-01 | 2002-07-02 | Xilinx, Inc. | Encryption technique using stream cipher and block cipher |
| US6347143B1 (en) * | 1998-12-15 | 2002-02-12 | Philips Electronics No. America Corp. | Cryptographic device with encryption blocks connected parallel |
| AU7905400A (en) * | 1999-09-27 | 2001-04-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Output cipher feedback type pseudo noise-sequence generation |
| US6870929B1 (en) * | 1999-12-22 | 2005-03-22 | Juniper Networks, Inc. | High throughput system for encryption and other data operations |
| AU2001260970A1 (en) * | 2000-01-31 | 2001-08-07 | Vdg Inc. | Block encryption method and schemes for data confidentiality and integrity protection |
| JP3864675B2 (ja) * | 2000-03-09 | 2007-01-10 | 株式会社日立製作所 | 共通鍵暗号装置 |
| US20020048364A1 (en) * | 2000-08-24 | 2002-04-25 | Vdg, Inc. | Parallel block encryption method and modes for data confidentiality and integrity protection |
| US7068788B2 (en) * | 2001-01-04 | 2006-06-27 | Maxim Integrated Products, Inc. | Data encryption for suppression of data-related in-band harmonics in digital to analog converters |
| KR100456599B1 (ko) * | 2002-11-12 | 2004-11-09 | 삼성전자주식회사 | 병렬 디이에스 구조를 갖는 암호 장치 |
-
2001
- 2001-09-17 IT IT2001MI001938A patent/ITMI20011938A1/it unknown
-
2002
- 2002-09-09 EP EP02292203A patent/EP1294124A3/en not_active Withdrawn
- 2002-09-13 US US10/242,731 patent/US20030053624A1/en not_active Abandoned
- 2002-09-17 CN CN02142665A patent/CN1409512A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN1409512A (zh) | 2003-04-09 |
| US20030053624A1 (en) | 2003-03-20 |
| EP1294124A2 (en) | 2003-03-19 |
| ITMI20011938A0 (it) | 2001-09-17 |
| EP1294124A3 (en) | 2003-11-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Yalla et al. | Lightweight cryptography for FPGAs | |
| US5724428A (en) | Block encryption algorithm with data-dependent rotations | |
| JP2001324924A (ja) | 暗号化装置及び暗号化方法、復号装置及び復号方法並びに演算装置 | |
| US20090080646A1 (en) | Method And Architecture For Parallel Calculating Ghash Of Galois Counter Mode | |
| WO2009031883A1 (en) | Encryption processor | |
| CN100382485C (zh) | 设计最优加密函数的方法和优化的加密设备 | |
| CN107147495A (zh) | 二元扩域上sm2加密算法的实现方法 | |
| CN117272337A (zh) | 面向simd指令的sm4细粒度切片优化方法及系统 | |
| JP2000295212A (ja) | 暗号データの復号化処理方法および装置 | |
| ITMI20011938A1 (it) | Metodo per criptare un flusso di dati | |
| CN105472602A (zh) | 一种加密装置及加密方法 | |
| KR100922728B1 (ko) | Aes 암복호화 장치 및 암복호화 방법 | |
| Shen et al. | Secure key-alternating Feistel ciphers without key schedule | |
| Wang et al. | GPU accelerated AES algorithm | |
| KR20050092698A (ko) | 라인달 블록 암호의 서브바이트 함수를 실행하는 장치 및방법과 데이터 암호화 및 해독 장치 | |
| CN106788976A (zh) | 一种aes加解密电路仿真分析方法及装置 | |
| Buell | Modern symmetric ciphers—Des and Aes | |
| CN105162579A (zh) | 基于非线性循环移位寄存器的轻量级流密码技术lsnrr | |
| CN101924630B (zh) | 一种应用于无线局域网的快速加解密方法 | |
| CN101335741B (zh) | 认证加密的迦罗瓦计数模式中赫序运算的加速方法与装置 | |
| CN109033847B (zh) | Aes加密运算单元、aes加密电路及其加密方法 | |
| CN105553647A (zh) | 基于非线性循环移位寄存器的轻量级流密码技术lsnr2 | |
| Baldwin et al. | RFC2040: The RC5, RC5-CBC, RC5-CBC-Pad, and RC5-CTS Algorithms | |
| Kuznetsov et al. | Stream Symmetric Cipher “Strumok” | |
| CN101938739B (zh) | 一种应用于无线局域网的加密方法 |