ICE-4103: Information, Network
and Software Security
Block Cipher Operation
1020 bit message bit suppose. 1020 k 64 bit e vaag krte gele last block e 60 bit thakbe. 64 bit e convert korte 4 ta 0 padding kore each block k
seperately encrypt korbo & send it as a ciphertext.
problem: message e kono nam ghure fire ashtse, eta encrypt kore pathale diff block e repeatedly ghure fire ashbe. our goal was, plaintext er
frequency distribution jaate ciphertext e reflected na hoy . reflect hoile jkono ciphertext k language characteristics use kore analysis kore
cryptoanalyzing dye break kore felte parbo. long msg er khetre bit e vaag kore individual block kore pathay dewa raises some security concerns.
ejnne shorashori pathai na, greater than block size msg k pathate we use some pickles, sheta kei boli amra modes of block cipher operation.
normally jta kortam mane message er size boro tai b bit e vaag korlam, sesh block e jodi drkr hoy tobe padding korlam, padding
kore prottek ta k alada kore same key diye encrypt kore pathiye dbo
receiver receive korbe ei ciphertext gulo, receive er por decrypt korbe & ejnneo same poddhoti. same key dye decryption function
use korbe , plaintext abar retrieve korbe & plaintext gulo shey block gulo k concatinate korbe.
issue : plaintext e repeated kono text thakle sheta asole ciphertext eo reflected hy
same key
block/stream cipher e selected key encryption technique hoile sender k ekta
single key share korte hoy receiver er sathe, etodn assume kore aschi
there's a secured channel, but secured channel means oitakeo encrypt kore
pathabo.
msg e jmn repetition thakte pare , single value (e.g 64 bit/128 bit) e no
repitition. repitition na thakle ECB method can be used.
msg k N ta block e vaag korar pore, last block e padding thakteo pare or nao pare depends on size ta integer multiple hoy kina.
Then 1st blk e IV
sender er IV e receiver k jante hbe as it's like a key but initialization vector boli as only 1st blk ei lagche
blk size = IV size
IV nai, aager blk er cipher text asche
mathematically, k ke encrpt korchi XOR o/p of IV and P1 er sathe.
So, C1=E(k, IV XOR P1)=> for 1st block only
Ci= E(k, (Ci-1 XOR Pi) where i= 1,2,3,.............,N
C1 ase, k dye decrypt kore result er sathe IV XOR korle I'll get back P1
khatay mat
porer guli converts block cipher into stream cipher
PR no. cryptoographically generate hoy, k lage
k jehetu lagchhe PR no. generate korte. so, CFB converts block cipher into stream cipher
IV k encrypt kore jta pelam that is the pseudo random number but IV jodi b bit hoy encrypt korleo we'll get b bit . then pseudo random k P1 er sathe XOR korte pseudo random & P1 k same size er
hoite hobe. same size banate PR er most significant s bit niye rest (b-s) bit k discard korlam
3. pseudo random output
generate e aager block er
cipher text tai jacche
ei block tai pseudo random number 4.
j pseudo
random number
o/p pelam
shetake ashole
plaintext dye
XOR korle
ciphertext
produce hobe
1st ciphertext block
check khata
stream cipher hoy 1 bit (1 bit hoile
to joto bit, each bit e alada alada
kore encrypted korche) r na hoy 8
aage block size er shoman na hoile encryption bit( 8 bit mane character, 1ta msg e
er kaj start kora jacchilona, block size 64 bits 50 ta character thaka mane 50
hoile 1 bit, 1 bit kore receive kore 64 bits er bytes, oi 50 bytes k alada kore
equal hoile then encrypt korte hoto but eikhane encypt korchi). So, aager duitay
1 bit/ 1 ta character(8 bit) hisebe receive kore jemon block size boro, block size er
shathe shathe encrypt kore pathiye dbe. so, it's shoman korte giye majhe majhe 0
encrypted in real time padding korechi
plaintext er s bit mane 1 bit or character hisebe chinta korle 8 bit
3.
4.
character/ stream oriented, aager duita chilo block oriented
single value pathate chai, etar jonne ECB o use kora jay, no problem
problem: aager ciphertext include korchi, sender send kore dilo, receiver ciphertext k receive korlo. Ekhon transmission channel khub noisy hoile error generate
hoy, ei error ta propagate korlo next block e, next block er error propagate korlo tar porer block e. That means, bit error will propagate and accumulate . Satellite
communication e channel khubi noisy bcz of radiation/ reflection. So, in cases of satellite communication we are unable to use CFB due to bit error propagation.
eikhaneo amra initialization vector k encrypt kore pseudo random number generate korchi, kore PR no. k PT er sathe XOR kore CT generate korchi. As
always ekta number ke PT er sathe XOR korchi, so eta ekta stream cipher. (3,4,5) converts block cipher into stream cipher
whole communication e ekbarer beshi use hoyna
receiver ke only ciphertext pathalei hobe
CFB te eikhaner o/p ta pore
block e use korechi, ekhon
kintu sheta noy. ekhon ki
korchi? jei pseudo random
generate korchi shetai
porer block e use korchi.
so, ei part ta kintu receiver
k pathate hcchena.
Receiver er kache pathabo
only ciphertext. Pseudo
random jta generate
hocche oita amar kachei
ache, receiver k dte
hcchena, so CFB te j bit
error propagate korchilo
ekhon shei problem ta ar
nai & eijonnoi etake bola
hocche Output feedback.
output ta k jehetu feedback
korchi porer block e
3,4,5 e decryption eo encrypt block e used hobe
NONCE value pathabo receiver k just as IV, etai encrypted hoye porer block e jacche which means 1tai NONCE value.
eikhane NONCE hisebe
CTR value use kora jaito.
But porer tay must & must
nonce k encrypt kore shei counter value karon counter
value tai lagbe decrypt korar value proti block e ek ek
shomoy , karon C1 er sathe kore barbe
abar value ta XOR korle PT
ferot pabo. So, decryption e counter value NONCE er
decrypt block na, encrypt e moton ek block to porer
block e jacchena, proti block
e individual. ejnne porer ta k
boli counter mode
(not ciphertext)
C
aager tay use korchi NONCE, ekhane Counter
1st block e counter value 1 hoile porer block e hobe 2, tar porer block e 3. eikhane pathanor o kichu nai, jar jar ta counter value alada, oitake ami encrypt
korbo, kore pseudo random ta pabo & shetar sathe PT XOR korle alada alada prottek block er ciphertext generate korbo.
encrypted counter er value tai
ashole eikhane amra pseudo
random number hisebe use
korchi
counter value porpor ek ek kore baarte thake & kono feedback use korte hoyna tar jonne, so
good for high speed
Exam questions:
1) describe different modes of block cipher encryption=> 5 ta mode e describe korte hobe
2) specific kono 1 ta mode diye oita describe
3) analyze advantages & disadvantages of different modes of block cipher encryption
4) single ekta mode dye o/p, feedback, mode of operation schematic diagram diye describe
5) how can we represent mathematically different block (of an o/p feeedback mode operation) in block cipher mode operation technique
1st one chara baki shobgulor implementation e one kind of feedback ache.
1st e mone hoite pare each block er jonne alada alada jayga lagbe hoito memory te. But feedback dye bujhbo ashole lagbena
ja ja lagbe-
1. Input Register
2. Encryption algorithm
next block e jawar aage eikhane ekta shift register
used hbe
CBC te initially IV thakbe Input register e, Input text er sathe sheta XOR hobe
block size er shoman
used for delay
PR o/p ta k PT er sathe XOR kore ciphertext ta pabo ar
eikhane j o/p sheita porer block e i/p , so o/p e ekta feedback
dye dlam
counter mode e, initially i/p register ta holo counter.
then 1 ta kore block ashbe ar counter value 1 kore
update hobe, so oikhetre we'll use the feedback