MESH (cifre)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. januar 2019; verifikation kræver 1 redigering .
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] .

Krypteringsstruktur

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] .

MESH-64

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] .

Runde transformationer

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]

Nøglegenerering

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 .



Afskrift

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] :

MESH-96

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] .

Runde transformationer

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]

Nøglegenerering

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 .





Afskrift

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] :

MESH-128

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] .

Runde transformationer

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]

Nøglegenerering

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 .



Afskrift

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] :

Krypteringsanalyse

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.

Noter

  1. The MESH Block Ciphers, 2002 , s. 1-2.
  2. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 124.
  3. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 125.
  4. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 125-126.
  5. The MESH Block Ciphers, 2002 , s. 3.
  6. The MESH Block Ciphers, 2002 , s. fire.
  7. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 127.
  8. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 127-129.
  9. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 129.
  10. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 129-130.
  11. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 130.
  12. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 130-132.
  13. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 132.
  14. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 132-133.
  15. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 10-11.
  16. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 178-180.
  17. Cryptanalysis And Design Of Block Ciphers, 2003 , s. 179.

Litteratur