Affine Chipers and Vigenere Chipers

download Affine Chipers and Vigenere Chipers

of 24

description

tugas Affine Chipers and Vigenere Chipers

Transcript of Affine Chipers and Vigenere Chipers

  • 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