Jump to content

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

Nga Wikipedia, enciklopedia e lirë

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

[Redakto | Redakto nëpërmjet kodit]
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

[Redakto | Redakto nëpërmjet kodit]

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

Kastriotlimani 27 maj 2011 01:19 (CEST)