Çelësat e dobët të algoritmit DES

Hyrje
Des-i (Data Encryption Standard) është algoritëm simetrik për enkriptim që bazohet në çelës me gjatësi relativisht të shkurtë 56 bit, pra egzistojnë 256 çelësa (afërsisht 72 kuadrilion). Algoritmi i Des-it, blloqet e mesazhit me nga 64 bit i kthen në blloqe të enkriptuara 64 bitëshe. Nëse secili prej blloqeve 64 bitëshe enkriptohet individualisht, atëherë kemi të bëjmë me modin ECB (Electronic Code Book), ndërsa egzistojnë edhe 2 mode të tjera të Des-it, CBC (Chain Block Coding) dhe CFB (Cipher Feedback), tek të cilat secili bllok i enkriptuar varet nga blloku paraprak duke shfrytëzuar operacionin XOR. Në algoritmin e Des-it krijohen 16 blloqe, ku secili bllok varet nga blloku paraprak duke shfrytëzuar operacionin e zhvendosjes “left-shifting”.

 Nr i bllokut  Nr i zhvendosjeve majtas 1  1 2  1 3  2 4  2 5  2 6  2 7  2 8  2 9  1 10  2 11  2 12  2 13  2 14  2 15  2 16  1

 Çelësat e dobët të DES-it

Në kriptografi çelësi i dobët është çelës, i cili, i përdorur në një algoritëm për enkriptim, bën që algoritmi të veprojë në mënyrë të  padëshiruar. 
Çelësat e dobët përbëjnë një pjesë shumë të vogël të hapësirës së përgjithshme të çelësave, që do të thotë se: nëse ne gjenerojmë një çelës të rastësishëm (random) për enkriptimin e një mesazhi, atëherë mundësia që çelësi i gjeneruar t’i takojë pjesës së çelësave të dobët është shumë e vogël. 
Gjatë zbatimit të enkriptimit, çelësi 56 bit ndahet në 16 nën çelësa ku nga një çelës përdoret në secilin prej 16 rundeve, duke u bazuar në algoritmin e DES-it.
Çelësi i dobët i DES-it prodhon 16 nënçelësa identik. Kjo ndodh kur bitat e çelësit janë:

      Përzierja e 1 me 0 :  (0x0101010101010101)
      Përzierja e ‘F’ me ‘E’:  (0xFEFEFEFEFEFEFEFE)
      Përzierja e: '0xE0E0E0E0F1F1F1F1’
      Përzierja e: '0x1F1F1F1F0E0E0E0E’

Nëse gjatë implementimit nuk i marrim parasysh bitat e paritetit atëherë çelësat e mëposhtëm funksionojnë gjithashtu si çelësa të dobët:

        (0x0000000000000000)
        (0xFFFFFFFFFFFFFFFF)
        '0xE1E1E1E1F0F0F0F0’
        '0x1E1E1E1E0F0F0F0F’

Çelësi i dobët i përdorur në algoritmin e DES-it bën që modi i enkriptimit të veprojë ngjashëm me modin e dekriptimit, që do të thotë se nëse mesazhin e enkriptojmë me një çelës të dobët 
dy herë, fitojmë të njëjtin mesazh.



 Çelësat gjysëm të dobët të DES-it
Përveç çelësave të dobët egzistojnë edhe çelësat gjysëm të dobët. Ata bëjnë që të prodhohen dy lloje të nënçelësave që përsëriten nga 8 herë secili. Egzistojnë 6 palë çelësa gjysëm të dobët të cilët janë:

	0x011F011F010E010E dhe 0x1F011F010E010E01
	0x01E001E001F101F1 dhe 0xE001E001F101F101
	0x01FE01FE01FE01FE dhe 0xFE01FE01FE01FE01
	0x1FE01FE00EF10EF1 dhe 0xE01FE01FF10EF10E
	0x1FFE1FFE0EFE0EFE dhe 0xFE1FFE1FFE0EFE0E
	0xE0FEE0FEF1FEF1FE dhe 0xFEE0FEE0FEF1FEF1

Referimet

 The DES Algorithm Illustrated by J. Orlin Grabbe , 

Kastriotlimani 27 maj 2011 01:19 (CEST)

Kategoria:Teknologji
Kategoria:Shkencë kompjuterike