You are on page 1of 24

Affine Chipers

= 47, = 5
, 26 = 47,26 = 1

Affine function : 8 = 47 + 5 26
Mencari invers dari affine function :
= 47 + 5 26
47 = 5 26
1

= 47 5 ( 26)
1

invers dari = 47 + 5 26 adalah = 47 5 ( 26)


47 1 26
47 5 1 26
235 1 26
=5
Subtitusikan 5 pada

1
47

dari persamaan invers, maka :

= 47 5 ( 26)

= 5 5 ( 26)
= 5 25 ( 26)
= 5 (26 1 1) ( 26)
= 5 + 1 ( 26)

Jadi inversnya adalah = 5 + 1 ( 26)


Pesan:
Everyday, I usually get up early in the morning. I pray subuh and clean my bedroom. Then , I
brush my teeth and take a bath. After that, I put on my uniform, have breakfast and
sometimes watch the news or cartoon on TV. I go to school with my friend

Matlab Affine Ciphers


Langkah :

Buka file affinecrypt.m klik run


Encode pesan
Tulis pesan dengan mengabaikan tanda baca dan huruf besar pada matlab

>>
affinecrypt('everydayiusuallygetupearlyinthemorningipraysubuhandcleanmybedroomthenibru

shmyteethandtakeabathafterthatiputonmyuniformhavebreakfastandsometimeswatchthenewsor
cartoonontvigotoschoolwithmyfriend',47,5)
ans =

lelypqfprjtjfccpblojilfycprsowlxnysrsbriyfptjajwfsqvclfsxpalqynnxowlsrayjtwxpollowfsqofhl
fafowfgolyowforijonsxpjsrgnyxwfelaylfhgftofsqtnxlorxltzfovwowlslztnyvfyonnsnsoerbnontv
wnnczrowxpgyrlsq

Decryption
>>
affinecrypt('lelypqfprjtjfccpblojilfycprsowlxnysrsbriyfptjajwfsqvclfsxpalqynnxowlsrayjtwxp
ollowfsqofhlfafowfgolyowforijonsxpjsrgnyxwfelaylfhgftofsqtnxlorxltzfovwowlslztnyvfyonns
nsoerbnontvwnnczrowxpgyrlsq',5,1)
ans =

everydayiusuallygetupearlyinthemorningipraysubuhandcleanmybedroomthenibrushmyteetha
ndtakeabathafterthatiputonmyuniformhavebreakfastandsometimeswatchthenewsorcartoonont
vigotoschoolwithmyfriend

Vigenere Ciphers
>>vigenere('goodmorningfriendsitisverysleepymorningtostudyabaoutcryptographyalittlebitconfusing
butweareinterestingtostudyabaoutthiskeepfightingandstudyhardgodblessyou',[1,4,17,5,8])

ans =

hsfiupvenvhjinmohjnbjwmjzzwcjmqcdtzomelbpwkzlzesfwvxtwgqxflzbtydimmkytffzykprwzajrxgcuavf
zfmeymsijyqokktauyudicefzbulzxsfigkqhlknvheeiauyudpbvulwefcjatcfz

>>ciphertexts
>>ada='hsfiupvenvhjinmohjnbjwmjzzwcjmqcdtzomelbpwkzlzesfwvxtwgqxflzbtydimmkytffzykprwzajr
xgcuavfzfmeymsijyqokktauyudicefzbulzxsfigkqhlknvheeiauyudpbvulwefcjatcfz'

ada =

hsfiupvenvhjinmohjnbjwmjzzwcjmqcdtzomelbpwkzlzesfwvxtwgqxflzbtydimmkytffzykprwzajrxgcuavf
zfmeymsijyqokktauyudicefzbulzxsfigkqhlknvheeiauyudpbvulwefcjatcfz

>> coinc(ada,1),coinc(ada,2),coinc(ada,3),coinc(ada,4),coinc(ada,5),coinc(ada,6)

ans =

ans =

ans =

ans =

ans =

10

ans =

>>frequency(ada)
a 5
b 5
c 6
d 4
e 8
f 11

g 3
h 5
i 7
j 8
k 7
l 6
m 8
n 4
o 3
p 4
q 4
r 2
s 4
t 6
u 8
v 6
w 7
x 4
y 7
z 12

ans =

5
5
6
4

8
11
3
5
7
8
7
6
8
4
3
4
4
2
4
6
8
6
7
4
7
12

>>coinc(ada,1)

ans =

>>choose(ada,5,1)

ans =

hphojzqopzvqbmfpjufsoucufhhubet

>>vigvec(ada,5,1)
a 0
b 2
c 1
d 0
e 1
f 3
g 0
h 4
i 0
j 2
k 0
l 0
m 1
n 0
o 3
p 3
q 2
r 0

s 1
t 1
u 4
v 1
w 0
x 0
y 0
z 2

ans =

0
0.0645
0.0323
0
0.0323
0.0968
0
0.1290
0
0.0645
0
0
0.0323
0
0.0968
0.0968

0.0645
0
0.0323
0.0323
0.1290
0.0323
0
0
0
0.0645

>>corr(ans)

ans =

0.0350
0.0607
0.0415
0.0447
0.0260
0.0357
0.0341
0.0472
0.0358
0.0331
0.0305
0.0398

0.0472
0.0386
0.0487
0.0329
0.0488
0.0334
0.0305
0.0309
0.0405
0.0378
0.0369
0.0423
0.0338
0.0345

>>max(ans)

ans =

0.0607

>>vigvec(ada,5,2)
a 1
b 0
c 2
d 0
e 3

f 2
g 0
h 1
i 2
j 1
k 1
l 2
m 3
n 0
o 0
p 0
q 0
r 2
s 1
t 1
u 0
v 2
w 3
x 2
y 2
z 0

ans =

0.0323
0
0.0645

0
0.0968
0.0645
0
0.0323
0.0645
0.0323
0.0323
0.0645
0.0968
0
0
0
0
0.0645
0.0323
0.0323
0
0.0645
0.0968
0.0645
0.0645
0

>>corr(ans)

ans =

0.0429
0.0330
0.0325
0.0370
0.0576
0.0434
0.0303
0.0344
0.0425
0.0390
0.0355
0.0391
0.0340
0.0343
0.0363
0.0374
0.0381
0.0478
0.0436
0.0455
0.0415
0.0328
0.0332
0.0362
0.0436
0.0295

>>max(ans)

ans =

0.0576

>>vigvec(ada,5,3)
a 0
b 0
c 2
d 1
e 4
f 4
g 1
h 0
i 1
j 2
k 4
l 0
m 1
n 0
o 0
p 0
q 0
r 0
s 1

t 1
u 3
v 1
w 1
x 1
y 1
z 2

ans =

0
0
0.0645
0.0323
0.1290
0.1290
0.0323
0
0.0323
0.0645
0.1290
0
0.0323
0
0
0
0

0
0.0323
0.0323
0.0968
0.0323
0.0323
0.0323
0.0323
0.0645

>>corr(ans)

ans =

0.0367
0.0486
0.0459
0.0337
0.0367
0.0415
0.0483
0.0303
0.0302
0.0299
0.0358
0.0373
0.0449

0.0347
0.0344
0.0304
0.0484
0.0578
0.0455
0.0347
0.0343
0.0345
0.0372
0.0379
0.0377
0.0337

>>max(ans)

ans =

0.0578

>>vigvec(ada,5,4)
a 0
b 0
c 0
d 3
e 0
f 2

g 1
h 0
i 2
j 3
k 1
l 3
m 0
n 4
o 0
p 0
q 0
r 0
s 0
t 2
u 0
v 0
w 1
x 1
y 4
z 4

ans =

0
0
0
0.0968

0
0.0645
0.0323
0
0.0645
0.0968
0.0323
0.0968
0
0.1290
0
0
0
0
0
0.0645
0
0
0.0323
0.0323
0.1290
0.1290

>>corr(ans)

ans =

0.0331
0.0341
0.0313
0.0324
0.0302
0.0586
0.0490
0.0415
0.0298
0.0395
0.0364
0.0467
0.0341
0.0324
0.0214
0.0367
0.0373
0.0464
0.0448
0.0336
0.0494
0.0536
0.0387
0.0307
0.0363
0.0429

>>max(ans)

ans =

0.0586

>>vigvec(ada,5,5)
a 4
b 3
c 1
d 0
e 0
f 0
g 1
h 0
i 2
j 0
k 1
l 1
m 3
n 0
o 0
p 1
q 2
r 0
s 1
t 1

u 1
v 2
w 2
x 0
y 0
z 4

ans =

0.1333
0.1000
0.0333
0
0
0
0.0333
0
0.0667
0
0.0333
0.0333
0.1000
0
0
0.0333
0.0667
0

0.0333
0.0333
0.0333
0.0667
0.0667
0
0
0.1333

>>corr(ans)

ans =

0.0318
0.0341
0.0337
0.0309
0.0386
0.0306
0.0367
0.0457
0.0662
0.0358
0.0279
0.0326
0.0478
0.0368

0.0412
0.0358
0.0288
0.0349
0.0453
0.0434
0.0363
0.0452
0.0425
0.0430
0.0373
0.0381

>>max(ans)

ans =

0.0662

>>vigenere('hsfiupvenvhjinmohjnbjwmjzzwcjmqcdtzomelbpwkzlzesfwvxtwgqxflzbtydimmkytffzykpr
wzajrxgcuavfzfmeymsijyqokktauyudicefzbulzxsfigkqhlknvheeiauyudpbvulwefcjatcfz',-[1,4,17,5,8])

ans =

goodmorningfriendsitisverysleepymorningtostudyabaoutcryptographyalittlebitconfusingbutweareint
erestingtostudyabaoutthiskeepfightingandstudyhardgodblessyou

You might also like