Firmware - Luglio-Agosto 2014 / N°102/103 - (Page 14)
FOCUS on
definiscono due numeri x, y con 0≤x≤3 e
0≤y≤15 utilizzati per accedere alla riga x
e colonna y in una tabella che definisce
la sotto-funzione Sj.
L'operazione Si(Bi) trasforma il blocco Bi
= bi;1bi;2...bi;6 in una stringa di 4 bit, letta da
una tabella Si; i = 1...6, alla riga r e colonna c, dove r = 2b1 + b6 e c ≡ b2b3b4b5. Per
esempio sia da calcolare S1(011011); con
questo dato si ricava r = 1 e c = 1101 ≡ 5;
con queste coordinate nella tabella S1 si
legge il valore 5 che in binario è 0101.
Vale la pena soffermarsi sulle proprietà
delle S-box:
- Ogni riga è una permutazione degli interi 0...15
- Nessuna S-box è una funzione lineare
dei suoi ingressi
- Cambiando un solo bit d'ingresso di
una S-box variano almeno due bit delle
sue uscite
- Per ogni S-box S e per ogni input x a 6
bit: S(x) e S(x ø 001100) differiscono in
almeno due bit
- Per ogni S-box, per ogni input x e per
ogni bit d, g, S(x) ≠ S(x ø 11dg00)
- Per ogni S-box, il numero degli input per
i quali il bit di output è 0 è circa uguale al
numero degli input per i quali tale bit è 1
- Al termine della P-Box occorre scambiare le due componenti della coppia finale al fine di produrre la stringa b1b2...
b64 ← (D16, S16)
- Si applica, a questo punto, la permu-
LA LIBRERIA DI CASA MICROCHIP
Figura 5: DES doppio
Figura 6: DES triplo
tazione inversa alla stringa precedente
producendo così il testo cifrato
- La funzione che costituisce la funzione caratteristica dell'algoritmo assume
questa forma:
f(Ri-1,ki) = P ( S (E (Ri-1) ø ki ))
e (Ri-1) è la permutazione espansa perché ha il compito di estendere i bit da
32 a 48 attraverso l'uso di sedici bit in
ingresso una sola volta e sedici bit due
volte. Al contrario, P è la permutazione P.
di k2 cercando le corrispondenze nella
tabella di lavoro.
Il DES doppio può essere considerato
equivalente a un cifrario con una chiave
di cinquantasei bit e non 112 così come il
Triple-DES è equivalente a una chiave di
112 bit e non ai 168 teorici (56 + 56 + 56):
anche il Triple-DES, come i precedenti,
opera su blocchi da 64 bit e agisce come
riportato in figura 6.
Microchip fornisce una libreria che supporta l'algoritmo Triple-DES attraverso
tre funzioni: initTDES, TDES_encrypt e
TDES_decrypt.
La funzione initTDES si preoccupa di
pre-calcolare la sotto-chiave al fine di incrementarne le prestazioni, cosa piuttosto
utile per sistemi embedded. Al contrario,
le altre due funzioni sono utilizzate per crittografare o de-crittografare il messaggio.
Infatti, la TDES_encrypt, attraverso l'uso
della chiave calcolata in precedenza, genera il testo crittografato, mentre TDES_
decrypt, sempre ricorrendo alla chiave, si
occupa di decifrare il messaggio.
I prototipi delle funzioni sono così definiti:
void initTDES(unsigned int *KeyLocation);
void TDES_encrypt(unsigned int *KeyLocation);
void TDES_decrypt(unsigned int *KeyLocation);
Con KeyLocation si deve intendere una re-
ESTENSIONE DES: DOPPIO E TRIPLO
La figura 5 mostra il diagramma utilizzato per descrivere il DES doppio.
Possiamo riassumere ricordando che,
data una coppia nota (x,y), si eseguono tutte le cifrature per i 256 valori possibili di k1 in una tabella e si compiono
le decifrature per i 2 56 valori possibili
Figura 7: S-box
FOCUS ON
SKILLS
INSIDE
TOOLS
ANALOG
TIPS'N TRICKS
MARKET NEWS
SPOTLIGHT
EVENTS ZAPPING
MEMBERSHIP
Tabella dei contenuti per la edizione digitale del Firmware - Luglio-Agosto 2014 / N°102/103
TIPS'n tricks
FOCUS on Triplo DES con Microchip
SKILLs Delay/Block Debouncer
INside
Una Soluzione ZigBee a Singolo Chip
La famiglia XMEGA e gli ADC di Atmel
ANALOG “Sensing” Virtuale a 2-Fili per Regolatori di Tensione
SPOTlight
Proteggere gli Investimenti in R&D con l’Autenticazione Sicura
Vivado High-Level Synthesis
Il CMRR negli Operazionali ad Ampia Gamma Dinamica
News
EVENTS zapping
Guida
Firmware - Luglio-Agosto 2014 / N°102/103
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-02_109
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-01_108
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-12_107
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-11_106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-10_105
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-09_104
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-07_102
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-06_101
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-05_100
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-04_99
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-03_98
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-02_97
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-01_96
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-12_95
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-11_94
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-10_93
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-09_92
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-07_90_91
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-06_89
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-05_88
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-04_87
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-03_86
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-02_85
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-01_84
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-12_83
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-11_82
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-10_81
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-09_80
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-07_78-79
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-06_77
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-05_76
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-04_75
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-03_74
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-02_73
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-01_72
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-12_71
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-11_70
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-10_69
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-09_68
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-07_66_67
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-06_65
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-05_64
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-04_63
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-02_62
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-02_61
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-01_60
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-12_59
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-11_58
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-10_57
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-09_56
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-07_54-55
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-06_53
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Maggio-2010-52
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Aprile-2010-51
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Marzo-2010-50
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Febbraio-2010-49
https://www.nxtbookmedia.com