Post on 03-Mar-2016
description
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)
invers dari = 47 + 5 26 adalah =1
47 5 ( 26)
47 1 26
47 5 1 26
235 1 26
= 5
Subtitusikan 5 pada 1
47 dari persamaan invers, maka :
=1
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 =
5
ans =
4
ans =
4
ans =
5
ans =
10
ans =
7
>>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 =
5
>>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