MESH (chiffer)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 15 januari 2019; verifiering kräver 1 redigering .
MASKA
Skapare Nakahara , Raimen , Prenelle , Vandewalle
publiceras 2002
Nyckelstorlek 128, 192, 256 bitar
Block storlek 64, 96, 128 bitar
Antal omgångar 8,5, 10,5, 12,5
Sorts baserat på IDEA , en modifiering av Feistel Network

I kryptografi är MESH  ett blockchiffer som är en modifiering av IDEA . Designad av Georges Nakahara , Vincent Raimen , Bart Presnel och Joos Vandewalle 2002. Till skillnad från IDEA har MESH en mer komplex rund struktur. En annan nyckelgenereringsalgoritm tillåter MESH att undvika problemet med svaga nycklar [1] .

Chifferstruktur

Varje omgång i IDEA och MESH består av additions- och multiplikationsoperationer. Sekvensen av sådana beräkningar inom en omgång bildar MA-boxen. Alla MA-boxar i MESH använder minst tre alternerande nivåer av additioner och multiplikationer (enligt "zig-zag"-schemat), medan det i IDEA bara finns två. Detta gör MESH mer motståndskraftig mot differentiella och linjära kryptoattacker. Dessutom, för att undvika problemet med svaga nycklar, använder MESH följande två principer:

Precis som IDEA använder MESH följande operationer:

Operationerna listas i fallande prioritetsordning. Inom datorer står en post för ett 16-bitars ord. Indexen beskrivs härnäst.

MESH beskrivs i tre blockstorlekar: 64, 96, 128 bitar. Nyckelstorleken tas dubbelt så stor [2] .

MESH-64

I denna variant är blockstorleken 64 bitar, nyckeln är 128 bitar. Kryptering sker i 8,5 omgångar. Halv runda hänvisar till utdatatransformationer [3] .

Runda transformationer

Beteckna inmatningsinformationen för den -:e omgången:

Varje omgång består av två delar: blanda indata med undernycklar och MA-beräkningar. På jämna och udda omgångar sker blandning på olika sätt:

Transformationerna som utförs av MA-boxar är desamma för alla omgångar. Indata för dem erhålls enligt följande:

MA-beräkningar beskrivs med följande formler:


Med hjälp av resultaten från MA-rutorna hittar vi indata för nästa omgång:

Enligt schemat, för att ta emot ett krypterat meddelande, efter den åttonde omgången är det nödvändigt att utföra blandning enligt ett udda schema [4]

Nyckelgenerering

För att generera nycklar används en 128-bitars användarnyckel, såväl som 16-bitars konstanter : , , de beräknas i Galois-fältet modulo polynomet . Användarnyckeln är uppdelad i 8 16-bitars ord .

Undernycklar beräknas enligt följande [5] : där .



Avskrift

För dekryptering använder MESH, liksom IDEA, ett befintligt schema, men med modifierade runda undernycklar. Låt oss ange de undernycklar som används vid kryptering enligt följande: - undernycklar av hela rundor; - pluggutgångskonverteringar.

Sedan ges dekrypteringsundernycklarna enligt följande [6] :

MESH-96

I denna variant är blockstorleken 96 bitar, nyckeln är 192 bitar. Kryptering sker i 10,5 omgångar. Halv runda hänvisar till outputtransformationer [7] .

Runda transformationer

Beteckna inmatningsinformationen för den -:e omgången:

Varje omgång består av två delar: blanda indata med undernycklar och MA-beräkningar. På jämna och udda omgångar sker blandning på olika sätt:

Transformationerna som utförs av MA-boxar är desamma för alla omgångar. Indata för dem erhålls enligt följande:

MA-beräkningar beskrivs med följande formler:



Med hjälp av resultaten från MA-rutorna hittar vi indata för nästa omgång:

För att ta emot ett krypterat meddelande, efter den 10:e omgången är det nödvändigt att blanda enligt ett udda mönster [8]

Nyckelgenerering

En 192-bitars användarnyckel används för att generera nycklar, såväl som 16-bitars konstanter, samma som för MESH-64.

Undernycklar beräknas enligt följande [9] : där .





Avskrift

För dekryptering använder MESH, liksom IDEA, ett befintligt schema, men med modifierade runda undernycklar. Låt oss ange de undernycklar som används vid kryptering enligt följande:  - undernycklar av hela rundor; - pluggutgångskonverteringar.

Sedan ges dekrypteringsundernycklarna enligt följande [10] :

MESH-128

I denna variant är blockstorleken 128 bitar, nyckeln är 256 bitar. Kryptering sker i 12,5 omgångar. Halv runda avser utdatatransformationer [11] .

Runda transformationer

Beteckna inmatningsinformationen för den -:e omgången:

Varje omgång består av två delar: blanda indata med undernycklar och MA-beräkningar. På jämna och udda omgångar sker blandning på olika sätt:



Transformationerna som utförs av MA-boxar är desamma för alla omgångar. Indata för dem erhålls enligt följande:

MA-beräkningar beskrivs med följande formler:







Med hjälp av resultaten från MA-rutorna hittar vi indata för nästa omgång:

För att ta emot ett krypterat meddelande, efter den 12:e omgången är det nödvändigt att blanda enligt ett udda mönster [12]

Nyckelgenerering

En 256-bitars användarnyckel används för att generera nycklar, såväl som 16-bitars konstanter, samma som för MESH-64 och MESH-96.

Undernycklar beräknas enligt följande [13] : där .



Avskrift

För dekryptering använder MESH, liksom IDEA, ett befintligt schema, men med modifierade runda undernycklar. Låt oss ange de undernycklar som används vid kryptering enligt följande: - undernycklar av hela rundor;  — koppla utgångstransformationer.

Sedan ges dekrypteringsundernycklarna enligt följande [14] :

Kryptanalys

Nedan finns en tabell som innehåller beräknad information om möjliga kryptoattacker. Det handlar om trunkerade algoritmer, antalet omgångar kan ses i motsvarande kolumn. Valda utvalda klartexter tas som data , det erforderliga antalet sådana (i block) anges. Tid mäts i antal beräkningar. Minnet återspeglar antalet minnesceller som krävs för att lagra data under en kryptoattack. Som framgår av tabellen är alla varianter av MESH svårare att knäcka med de presenterade kryptoattackerna än IDEA, som den bygger på [15] [16] .

Tabell 1. Generalisering av komplexiteten i kryptoattacker på IDEA och MESH [17]
Chiffer Kryptanalys Omgångar Data Minne Tid
IDÉ
(8,5 omgångar)
Väsentlig
Trunkerad diff.
Omöjlig diff.
Omöjlig diff.
MESH-64
(8,5 varv)
Väsentlig
Trunkerad diff.
Omöjlig diff.
Omöjlig diff.
MESH-96
(10,5 varv)
Väsentlig
Trunkerad diff.
Omöjlig diff.
Omöjlig diff.
MESH-128
(12,5 varv)
Väsentlig
Trunkerad diff.
Omöjlig diff.
Omöjlig diff.

Anteckningar

  1. The MESH Block Ciphers, 2002 , sid. 1-2.
  2. Kryptanalys och design av blockchiffer, 2003 , sid. 124.
  3. Kryptanalys och design av blockchiffer, 2003 , sid. 125.
  4. Kryptanalys och design av blockchiffer, 2003 , sid. 125-126.
  5. The MESH Block Ciphers, 2002 , sid. 3.
  6. The MESH Block Ciphers, 2002 , sid. fyra.
  7. Kryptanalys och design av blockchiffer, 2003 , sid. 127.
  8. Kryptanalys och design av blockchiffer, 2003 , sid. 127-129.
  9. Kryptanalys och design av blockchiffer, 2003 , sid. 129.
  10. Kryptanalys och design av blockchiffer, 2003 , sid. 129-130.
  11. Kryptanalys och design av blockchiffer, 2003 , sid. 130.
  12. Kryptanalys och design av blockchiffer, 2003 , sid. 130-132.
  13. Kryptanalys och design av blockchiffer, 2003 , sid. 132.
  14. Kryptanalys och design av blockchiffer, 2003 , sid. 132-133.
  15. Kryptanalys och design av blockchiffer, 2003 , sid. 10-11.
  16. Kryptanalys och design av blockchiffer, 2003 , sid. 178-180.
  17. Kryptanalys och design av blockchiffer, 2003 , sid. 179.

Litteratur