Çelësat e dobët të algoritmit DES
Hyrje
RedaktoDes-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
Redakto- 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
RedaktoPë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
Redakto- The DES Algorithm Illustrated by J. Orlin Grabbe , [1][lidhje e vdekur]
Kastriotlimani 27 maj 2011 01:19 (CEST)