SC2000 | |
---|---|
Skaber | Fujitsu |
Oprettet | 2000 _ |
offentliggjort | 2000 _ |
Nøglestørrelse | 128, 192, 256 bit |
Blokstørrelse | 128 bit |
Antal runder | 6,5 eller 7,5 |
Type | Feistel netværk og SP netværk |
SC2000 er en symmetrisk blokkryptoalgoritme i kryptografi , udviklet af Fujitsu og University of Tokyo i 2000 . Algoritmen bruger en 128-bit blok og en nøgle fra 128 til 256 bit lang (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 . [1] Deltog i Nessie- konkurrencen , men kom ikke med i anden runde, selvom den viste tilstrækkelig modstand mod angreb - årsagen var dens for komplekse struktur og frygt for muligheden for skjulte sårbarheder .
SC2000 er en chiffer med en blandet struktur: den bruger elementer fra Feistel-netværket og substitution-permutation-netværket .
Algoritmen udfører 6,5 (for en 128-bit nøgle) eller 7,5 (for en nøgle med en længde på 192-256 bit) krypteringsrunder. Hver af runderne består af forespørgsler på opslagstabellen, tilføjelse af en nøgle og et nøglefrit to-rundt Feistel-netværk . Der bruges tre substitutionstabeller: en 4x4 bit S-Box bruges i begyndelsen af hver runde , en 5x5 bit og en 6x6 bit S-Box bruges inde i Feistel netværket.
Nøgleudvidelse i SC2000-algoritmen udføres i to trin: en mellemnøgle genereres baseret på den hemmelige symmetriske nøgle, hvorefter det nødvendige antal fragmenter af den udvidede nøgle beregnes ud fra den mellemliggende nøgle.
En runde af chifferen er ret kompleks og består af følgende operationer: Indgangsværdien på 128 bit er opdelt i 4 underblokke på 32 bit, hver af dem XORed med et 32-bit fragment af den udvidede nøgle. Operation T udføres, som opdeler datablokken i 32 underblokke på 4 bit hver.
Hver 4-bit underblok går gennem substitutionstabellen S4, som ser sådan ud: (2,5,10,12,7,15,1,11,13,6,0,9,4,8,3,14)
Dernæst opdeles datablokken i 32-bit underblokke ved hjælp af T'-operationen, det omvendte af T-operationen. De andre fire fragmenter af den udvidede nøgle overlejres af XOR -operationen. Værdierne af det første par underblokke sendes til indgangen til funktionen F. Som et resultat af udførelsen af denne funktion opnås to 32-bit værdier, som overlejres af XOR-operationen på den første to underblokke. Det første par af underblokke ombyttes med det andet par af underblokke, derefter gentages det foregående transformationstrin.
En detaljeret analyse af fuldrunden SC2000 er endnu ikke udført, men versionen med antallet af runder reduceret til 4,5 er sårbar ved brug af differentiel og lineær kryptoanalyse .
I 2014 blev der opdaget en sårbarhed i nøgleudvidelsesalgoritmen, der gør det muligt at finde et par tilsvarende 256-bit nøgler (der fører til et identisk krypteringsresultat) i 2 39 operationer . [2]
Symmetriske kryptosystemer | |
---|---|
Stream-cifre | |
Feistel netværk | |
SP netværk | |
Andet |