CIFERUNIKORN-A | |
---|---|
Skaber | NEC |
Oprettet | 2000 _ |
offentliggjort | 2000 _ |
Nøglestørrelse | 128, 192, 256 bit |
Blokstørrelse | 128 bit |
Antal runder | 16 |
Type | Feistel netværk |
CIPHERUNICORN-A er en symmetrisk blokkryptografisk algoritme udviklet af NEC i 2000. Algoritmen bruger en 128-bit blok og en nøglelængde fra 128 til 256 bit (kompatibel med AES -standarden og understøtter typiske nøglelængder - 128/192/256). Det blev anbefalet af CRYPTREC- udvalget i 2003 til brug af offentlige myndigheder i Japan, men i 2013 blev det flyttet til listen over "kandidater" for anbefalede cifre. [en]
Algoritmen er baseret på et 16-rundt Feistel-netværk , ligesom sin forgænger CIPHERUNICORN-E , men med nogle modifikationer. Den runde funktion er blevet erstattet med en mere kompleks, men yderligere blanding mellem runder er blevet fjernet. Den runde funktion er også opdelt i to næsten parallelle beregninger, som hver er implementeret som et Feistel-netværk. Den første del (main stream) er et 10-rundt Feistel-netværk, der bruger fire 8x8 bit erstatningstabeller, meget ligesom sin forgænger. De sidste to runder af hovedtråden kan ændres afhængigt af outputtet fra den anden del (midlertidig nøglegenerering). Det andet, 6-runde Feistel-netværk bruger modulo-multiplikationer og to af substitutionstabellerne. I modsætning til sin forgænger bruges undernøgler kun i begyndelsen af hver runde.
Nøgleskemaet består af gentagen brug af en funktion kaldet MT ved hjælp af modulo multiplikationer og alle opslagstabeller. Sårbarheden fundet i nøgleskemaet er, at nogle nøgler kan være identiske (ækvivalente), men det vides ikke, hvor kritisk dette er.
Chifferen er ret svær at parse, men nogle undersøgelser viser, at den er modstandsdygtig over for lineær og differentiel kryptoanalyse .
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |