MESH | |
---|---|
Skaber | Nakahara , Raimen , Prenelle , Vandewalle |
offentliggjort | 2002 |
Nøglestørrelse | 128, 192, 256 bit |
Blokstørrelse | 64, 96, 128 bit |
Antal runder | 8,5, 10,5, 12,5 |
Type | baseret på IDEA , en modifikation af Feistel-netværket |
I kryptografi er MESH en blokchiffer , der er en modifikation af IDEA . Designet af Georges Nakahara , Vincent Raimen , Bart Presnel og Joos Vandewalle i 2002. I modsætning til IDEA har MESH en mere kompleks rund struktur. En anden nøglegenereringsalgoritme gør det muligt for MESH at undgå problemet med svage nøgler [1] .
Hver runde i IDEA og MESH består af additions- og multiplikationsoperationer. Rækkefølgen af sådanne beregninger inden for en runde danner MA-boksen. Alle MA-bokse i MESH bruger mindst tre alternerende niveauer af addition og multiplikation (ifølge "zig-zag"-skemaet), mens der i IDEA kun er to. Dette gør MESH mere modstandsdygtig over for differentielle og lineære kryptoangreb. For at undgå problemet med svage nøgler bruger MESH også følgende to principper:
Ligesom IDEA bruger MESH følgende operationer:
Operationerne er listet i faldende prioritetsrækkefølge. I databehandling står en post for et 16-bit ord. Indekserne beskrives herefter.
MESH er beskrevet i tre blokstørrelser: 64, 96, 128 bit. Nøglestørrelsen tages dobbelt så stor [2] .
I denne variation er blokstørrelsen 64 bit, nøglen er 128 bit. Kryptering foregår i 8,5 omgange. Halv runde refererer til outputtransformationer [3] .
Angiv inputoplysningerne for den -te runde:
Hver runde består af to dele: blande inputdata med undernøgler og MA-beregninger. På lige og ulige runder forekommer blanding anderledes:
Transformationerne udført af MA-bokse er de samme for alle runder. Inputdataene for dem opnås som følger:
MA-beregninger er beskrevet med følgende formler:
Ved at bruge resultaterne opnået af MA-boksene finder vi inputdataene for næste runde:
Ifølge skemaet, for at modtage en krypteret meddelelse, er det efter ottende runde nødvendigt at udføre blanding i henhold til et ulige skema [4]
For at generere nøgler bruges en 128-bit brugernøgle samt 16-bit konstanter : , , de beregnes i Galois-feltet modulo polynomiet . Brugernøglen er opdelt i 8 16-bit ord .
Undernøgler beregnes som følger [5] :
hvor .
Til dekryptering bruger MESH, ligesom IDEA, et eksisterende skema, men med modificerede runde undernøgler. Lad os udpege de undernøgler, der bruges til kryptering som følger:
- undernøgler af hele runder;
- plug output konverteringer.
Derefter gives dekrypteringsundernøglerne som følger [6] :
I denne variation er blokstørrelsen 96 bit, nøglen er 192 bit. Kryptering foregår i 10,5 omgange. Halv runde refererer til outputtransformationer [7] .
Angiv inputoplysningerne for den -te runde:
Hver runde består af to dele: blande inputdata med undernøgler og MA-beregninger. På lige og ulige runder forekommer blanding anderledes:
Transformationerne udført af MA-bokse er de samme for alle runder. Inputdataene for dem opnås som følger:
MA-beregninger er beskrevet med følgende formler:
Ved at bruge resultaterne opnået af MA-boksene finder vi inputdataene for næste runde:
For at modtage en krypteret besked er det efter 10. runde nødvendigt at blande efter et ulige mønster [8]
En 192-bit brugernøgle bruges til at generere nøgler, såvel som 16-bit konstanter, det samme som for MESH-64.
Undernøgler beregnes som følger [9] :
hvor .
Til dekryptering bruger MESH, ligesom IDEA, et eksisterende skema, men med modificerede runde undernøgler. Lad os udpege de undernøgler, der bruges til kryptering som følger:
- undernøgler af hele runder;
- plug output konverteringer.
Derefter gives dekrypteringsundernøglerne som følger [10] :
I denne variation er blokstørrelsen 128 bit, nøglen er 256 bit. Kryptering foregår i 12,5 omgange. Halv runde refererer til outputtransformationer [11] .
Angiv inputoplysningerne for den -te runde:
Hver runde består af to dele: blande inputdata med undernøgler og MA-beregninger. På lige og ulige runder forekommer blanding på forskellige måder:
Transformationerne udført af MA-bokse er de samme for alle runder. Inputdataene for dem opnås som følger:
MA-beregninger er beskrevet med følgende formler:
Ved at bruge resultaterne opnået af MA-boksene finder vi inputdataene for næste runde:
For at modtage en krypteret besked er det efter 12. runde nødvendigt at blande efter et ulige mønster [12]
En 256-bit brugernøgle bruges til at generere nøgler, såvel som 16-bit konstanter, det samme som for MESH-64 og MESH-96.
Undernøgler beregnes som følger [13] :
hvor .
Til dekryptering bruger MESH, ligesom IDEA, et eksisterende skema, men med modificerede runde undernøgler. Lad os udpege de undernøgler, der bruges til kryptering som følger:
- undernøgler af hele runder;
— forbinde outputtransformationer.
Derefter gives dekrypteringsundernøglerne som følger [14] :
Nedenfor er en tabel, der indeholder beregnede oplysninger om mulige kryptoangreb. Den omhandler trunkerede algoritmer, antallet af runder kan ses i den tilsvarende kolonne. Udvalgte valgte klartekster tages som data , det nødvendige antal af sådanne (i blokke) er angivet. Tid måles i antal udregninger. Hukommelse afspejler antallet af hukommelsesceller, der kræves for at gemme data under et kryptoangreb. Som det kan ses af tabellen, er alle varianter af MESH sværere at knække med de præsenterede kryptoangreb end IDEA, som den er baseret på [15] [16] .
Tabel 1. Generalisering af kompleksiteten af kryptoangreb på IDEA og MESH [17]Chiffer | Krypteringsanalyse | runder | Data | Hukommelse | Tid |
---|---|---|---|---|---|
IDÉ (8,5 runder) |
Integral | ||||
Afkortet diff. | |||||
Umulig diff. | |||||
Umulig diff. | |||||
MESH-64 (8,5 runder) |
Integral | ||||
Afkortet diff. | |||||
Umulig diff. | |||||
Umulig diff. | |||||
MESH-96 (10,5 runder) |
Integral | ||||
Afkortet diff. | |||||
Umulig diff. | |||||
Umulig diff. | |||||
MESH-128 (12,5 runder) |
Integral | ||||
Afkortet diff. | |||||
Umulig diff. | |||||
Umulig diff. |
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |