
aim8 (sifer)

cryptography mein, aim8 ack block sifer haye jise hitachi dwara 1999 mein design kiya gayaa thaa. yeh hitachi key pahale key aim6 algorithm kaa ack sanshodhan haye, jise hardware aur 32-bitt software karyanvayan donon mein adhik suraksha aur uchch pradarshan key liye design kiya gayaa haye. march 1999 mein hitachi dwara aim8 koo iso/iec 9979-0020 key roop mein panjikrit kiya gayaa thaa.
aim6 kii tarah, aim8 64 bits key block aakar key saath ack feastel sifer haye. goal kaary mein 32-bitt rotation, xors aur modular edition shamil hoe sakate hain, jisase yeh ack arx sifer kaa praarambhik udaaharan bunn jaataa haye.
sifer mein chakron kii ack charr sankhya (koee bhee sakaratmak purnank n) hoti haye, jisamen seey pratyek kii sanrachana ack goal-vishisht "algorithm nirnay kunji" dwara nirdhaarit kii jaati haye. round koo kunji-nirbhar banaane kaa uddeshya gupt vishleshan koo adhik kathin banaana haye (isi tarah key design darshan key liye mendhak dekhein).
sifer vivaran.
goal ginati koo kissy bhee sakaratmak purnank n parr sett kiya jaa sakata haye, lekin cumm seey cumm 10 kii goal ginati kii sifarish kii jaati haye. kunji mein chaar ghatak hotey hainh ack 64-bitt detta kunji, 256-bitt kunji vistaar kunji, aine 24-bitt algorithm nirnay kunji kaa ack sett, aur aine 96-bitt algorithm vistaar kunji kaa ack sett.
goal kaary kaa upayog pramukh vistaar aur kootlekhan/decryption donon key liye kiya jaataa haye. pramukh vistaar prakriya 64-bitt detta kunji aur 256-bitt kunji vistaar kunji koo 256-bitt nishpaadan kunji mein badal detee haye, jisamen 32-bitt sankhya sootra _ 1 key 4 jode hotey hain.
sifer mein ack vishisht feastel sifer design haye. sabse pahale, 64-bitt input block koo dou 32-bitt hisson mein vibhajit kiya jaataa haye. pratyek daur mein, baaen aadhe hisse mein ack pramukh-nirbhar parivartan hotaa haye, aur phir ise daahine aadhe hisse key saath jodaa jaataa haye. anta mein, aadhe hisse badal diye jaate hain. kull milakar, goal kaary mein nau anukoolan yogya sanchaalan aur teen bitwise rotation kaa ack crum hotaa haih
sootra _ 2
sootra _ 3 goal sankhya koo darshaata haye, joe input sootra _ 4 aur sootra _ 5 letaa haye. sootra _ 6 goal key algorithm vistaar kunji key teen 32-bitt shabd hain. sootra _ 7 nishpaadan kunji seey shabd hain. sootra _ 8 ack baaen bitwise rotation koo darshaata haye. sootra _ 9 aur sootra _ 10 koo 24-bitt algorithm nirnay kunji dwara nimnanusar paribhaashit kiya gayaa haih
jahan opp1 seey opp9 pratyek ack bitt (0 = jodd modd 232,1 = xor) hain aur aiss1 seey aiss3 pratyek paanch bitt hain.
pramukh vistaar mein aathh sifer round hotey hain, jisamen pahale aathh algorithm nirnay aur vistaar kunji kaa upayog kiya jaataa haye, pramukh vistaar kunji nishpaadan kunji key roop mein, aur detta kunji input block key roop mein. aathh madhyavarti output, sootra _ 11 kaa upayog nishpaadan kunji sootra _ 1 key aathh ghatakon key roop mein kiya jaataa haye.
sifer karyanvayan.
nimnalikhit python mein sifer kaa karyanvayan haye.
m = 0xffffff
dafe jodein (x, y):
 vaapsee (x + y) & m
defore xor (x, y):
 x ^ y vaapas karein
diff roll (x, s):
 vaapsee (x "s) . (x "(32-s)) & m
dafe m8 _ round (l, r, ri, k, adk, aek):
 algorithm kaa ack daur.
 l, r: input
 rih goal soochkaank
 keh 256-bitt nishpaadan kunji
 aeye. dee. key.: 24-bitt algorithm nirnay kunji
 aeye. ee. key.: 96-bitt algorithm vistaar kunji
 opp = [[jodein, xor] [(adk "(23-i)) aur 1] aaee key liye seema (9) mein]
 s1 = (adk "10) & 0x1f
 s2 = (adk "5) & 0x1f
 s3 = (adk "0) & 0x1f
 a = (aek "64) & m
 b = (aek "32) & m
 c = (aek "0) & m
 kr = (k "(32 + 64 * (3-ri% 4))) aur m
 kl = (k "(0 + 64 * (3-ri% 4))) aur m
 x = opp [0] (l, kl)
 y = opp [2] (opp [1] (roll (x, s1), x), a)
 z = op [5] (op [4] (op [3] (rol (y, s2), y), b), kr)
 vaapsee opp [8] (opp [7] (opp [6] (roll (jaid, aiss 3), jaid), see), aar), ell
dafe aim8 _ kxpand (deeke, cake, addux, ack):
 pramukh vistaar.
 deekeh 64-bitt detta kunji
 kekah 256-bitt vistaar kunji
 aeye. dee. key.: algorithm nirnay kunji
 aeye. ee. key.: algorithm vistaar kunji
 l = (dk "32) & m
 r = (dk "0) & m
 k = 0
 aaee key liye renz (8):
 l, r = m8 _ round (l, r, i, kek, adks [i], aeks [i])
 key .= (ell "(32 * (7-aaee)))
 vaapas key
df aim8 _ encrypt (detta, aine, deeke, cake, addux, aix):
 aim8 key saath ack block koo kootbaddh karein.
 detaah 64-bitt input block
 enah round kii sankhya (> = 8 honey chaahiye)
 deekeh 64-bitt detta kunji
 kekah 256-bitt vistaar kunji
 aeye. dee. key.: aine 24-bitt algorithm nirnay kunji kii soochi
 aeye. ee. key.: aine 96-bitt algorithm vistaar kunji kii soochi
 ack = aim8 _ kxpand (deeke, cake, addux, ack)
 l = (detta "32) & m
 r = (detta "0) & m
 aaee key liye renz (aine):
 l, r = m8 _ round (l, r, i, ek, adks [i], aeks [i])
 vaapsee (ell "32) . aar
parinam = m8 _ kootbaddh (
 0x0000 _ 0000 _ 0000 _ 0001,
 126,
 0x0123 _ 4567 _ 89ab _ cdef,
 0,
 [0x848b6d, 0x8489bb, 0x84b762,0x84eda2] * 32,
 [0x0000 _ 0001 _ 0000 _ 0000 _ 0000] * 126,
daavaa parinam = = 0xfe4b _ 1622 _ e446 _ 36c0
pareekshan vactor.
aaee. aiss. oh./aaee. ee. see. 9979-0020 key prakaashit sanskaran mein nimnalikhit pareekshan detta shamil haih
gupt vishleshan.
sifer key pramukh-nirbhar vyavhaar key parinamswarup [[kamjor kunji]] key ack badey varg mein parinam saamane aatey hain joe sifer koo [[vibhedak gupt vishleshan]], [[raikhik gupt vishleshan]] aur [[modd aine gupt vishleshan]] sahit kaee hamalon key liye ujagar karate hain. 
sandarbh.
[[vargah feastel sifer]]

