SC2000 | |
---|---|
Creator | Fujitsu |
Creată | 2000 _ |
publicat | 2000 _ |
Dimensiunea cheii | 128, 192, 256 biți |
Dimensiunea blocului | 128 de biți |
Numărul de runde | 6,5 sau 7,5 |
Tip de | Rețeaua Feistel și rețea SP |
SC2000 este un algoritm criptografic bloc simetric în criptografie , dezvoltat de Fujitsu și Universitatea din Tokyo în 2000 . Algoritmul folosește un bloc de 128 de biți și o cheie cu lungimea de la 128 la 256 de biți (compatibil cu standardul AES și acceptă lungimi tipice de cheie - 128/192/256). A fost recomandat de comitetul CRYPTREC în 2003 pentru utilizare de către agențiile guvernamentale din Japonia , dar în 2013 a fost mutat pe lista „ candidaților ” pentru cifrurile recomandate . [1] A participat la concursul Nessie , dar nu a intrat în a doua rundă, deși a arătat suficientă rezistență la atacuri - motivul a fost structura sa prea complexă și teama de posibilitatea unor vulnerabilități ascunse .
SC2000 este un cifr cu o structură mixtă: folosește elemente ale rețelei Feistel și ale rețelei de substituție-permutare .
Algoritmul efectuează runde de criptare de 6,5 (pentru o cheie de 128 de biți) sau 7,5 (pentru o cheie cu o lungime de 192-256 de biți). Fiecare dintre runde constă din interogări pe tabelul de căutare, adăugarea unei chei și o rețea Feistel cu două runde fără cheie . Sunt utilizate trei tabele de înlocuire: un S-Box de 4x4 biți este utilizat la începutul fiecărei runde , un S-Box de 5x5 biți și un S-Box de 6x6 biți este utilizat în interiorul rețelei Feistel.
Extinderea cheii în algoritmul SC2000 se realizează în două etape: se generează o cheie intermediară pe baza cheii simetrice secrete, apoi se calculează numărul necesar de fragmente ale cheii extinse din cheia intermediară.
O rundă a cifrului este destul de complexă și constă din următoarele operații: Valoarea de intrare de 128 de biți este împărțită în 4 subblocuri de 32 de biți, fiecare dintre ele este XORed cu un fragment de 32 de biți al cheii extinse. Se efectuează operația T, care împarte blocul de date în 32 de subblocuri a câte 4 biți fiecare.
Fiecare subbloc de 4 biți trece prin tabelul de înlocuire S4, care arată astfel: (2,5,10,12,7,15,1,11,13,6,0,9,4,8,3,14)
Apoi, blocul de date este împărțit în subblocuri de 32 de biți folosind operația T', inversul operației T. Celelalte patru fragmente ale cheii extinse sunt suprapuse de operația XOR . Valorile primei perechi de subblocuri sunt transmise la intrarea funcției F. Ca urmare a execuției acestei funcții, se obțin două valori de 32 de biți, care sunt suprapuse de operația XOR pe prima două subblocuri. Prima pereche de subblocuri este schimbată cu a doua pereche de subblocuri, apoi se repetă etapa anterioară de transformare.
O analiză detaliată a SC2000 complet nu a fost încă efectuată, dar versiunea cu numărul de runde redus la 4,5 este vulnerabilă atunci când se utilizează criptoanaliza diferențială și liniară .
În 2014 , a fost descoperită o vulnerabilitate în algoritmul de extindere a cheilor care permite găsirea unei perechi de chei echivalente pe 256 de biți (care duc la un rezultat de criptare identic) în 239 de operațiuni . [2]
Criptosisteme simetrice | |
---|---|
Cifruri în flux | |
Rețeaua Feistel | |
Rețeaua SP | |
Alte |