aplikasi matriokeks kriptografi

32
 BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi Kriptografi berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan  graphia. Kripto artinya menyembunyikan, sedangkan  graphia artinya tulisan. Kriptografi atau yang sering dikenal dengan ilmu penyandian pesan adalah seni dan ilmu yang menyembunyikan informasi dari yang tidak berhak ( Rahayu, 2005). Menurut  Request for Comments (RFC), kriptografi merupakan ilmu matematika yang berhubungan dengan transformasi data untuk membuat artinya tidak dapat dipahami (untuk menyembunyikan maknanya), mencegahnya dari perubahan tanpa izin, atau mencegahnya dari penggunaan yang tidak sah. Jika transformasinya dapat dikembalikan, kriptografi juga bisa diartikan sebagai proses mengubah kembali data yang terenkripsi menjadi bentuk yang dapat dipahami. Artinya, kriptografi dapat diartikan sebagai proses untuk melindungi data dalam arti yang luas. Dalam kamus bahasa Inggris Oxford diberikan pengertian kriptografi sebagai  berikut: “Sebuah teknik rahasia dalam penulisan, dengan karakter khusus, dengan menggunakan huruf dan karakter di luar bentuk aslinya, atau dengan metode-metode lain yang hanya dapat dipahami oleh pihak-pihak yang memproses kunci, juga semua hal yang ditulis dengan cara sepert i ini.” Jadi, secara umun dapat diartikan sebagai seni menulis atau memecahkan cipher  (Talbot dan Welsh, 2006).

Upload: arman14geof

Post on 23-Feb-2018

246 views

Category:

Documents


10 download

TRANSCRIPT

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 1/32

 

BAB 2

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan

 graphia. Kripto artinya menyembunyikan, sedangkan  graphia artinya tulisan.

Kriptografi atau yang sering dikenal dengan ilmu penyandian pesan adalah seni dan

ilmu yang menyembunyikan informasi dari yang tidak berhak (Rahayu, 2005).

Menurut  Request for Comments  (RFC), kriptografi merupakan ilmu

matematika yang berhubungan dengan transformasi data untuk membuat artinya tidak

dapat dipahami (untuk menyembunyikan maknanya), mencegahnya dari perubahan

tanpa izin, atau mencegahnya dari penggunaan yang tidak sah. Jika transformasinya

dapat dikembalikan, kriptografi juga bisa diartikan sebagai proses mengubah kembali

data yang terenkripsi menjadi bentuk yang dapat dipahami. Artinya, kriptografi dapat

diartikan sebagai proses untuk melindungi data dalam arti yang luas.

Dalam kamus bahasa Inggris Oxford diberikan pengertian kriptografi sebagai

 berikut:“Sebuah teknik rahasia dalam penulisan, dengan karakter khusus, dengan

menggunakan huruf dan karakter di luar bentuk aslinya, atau dengan

metode-metode lain yang hanya dapat dipahami oleh pihak-pihak yang

memproses kunci, juga semua hal yang ditulis dengan cara seperti ini.”

Jadi, secara umun dapat diartikan sebagai seni menulis atau memecahkan cipher  

(Talbot dan Welsh, 2006).

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 2/32

  7

Menezes, van Oorschot dan Vanstone (1997) menyatakan bahwa kriptografi

adalah suatu studi teknik matematika yang berhubungan dengan aspek keamanan

informasi seperi kerahasiaan, integritas data, otentikasi entitas dan otentikasi keaslian

data. Kriptografi tidak hanya berarti penyediaan keamanan informasi, melainkan

sebuah himpunan teknik-teknik.

Selain definisi di atas, Scheiner (1996) mengemukakan pendapatnya tentang

definisi kriptografi yaitu: ilmu dan seni untuk menjaga keamanan pesan. Penggunaan

kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa

awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk

merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap

 pelaku kriptografi sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai

estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan

 pesan (kata “ graphy” di dalam “cryptography” itu sendiri sudah menyiratkan sebuah

seni) (Munir, 2006).

2.1.2 Sejarah Kriptografi

Secara historis ada empat kelompok orang yang berkontribusi terhadap perkembangan

kriptografi, dimana mereka menggunakan kriptografi untuk menjamin kerahasiaan

dalam komunikasi pesan penting, yaitu kalangan militer (termasuk intelijen dan

mata-mata), kalangan diplomatik, penulis buku harian, dan pencinta (lovers). Di

antara keempat kelompok ini, kalangan militer yang memberikan kontribusi paling

 penting karena pengiriman pesan di dalam suasana perang membutuhkan teknik

enkripsi dan dekripsi yang rumit.

Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu

metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan

alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokkan

menjadi dua kategori, yaitu algoritma transposisi (transposition cipher ) dan algoritma

substitusi ( substitution cipher ). Cipher transposisi mengubah susunan huruf-huruf di

dalam pesan, sedangkan cipher  substitusi mengganti setiap huruf atau kelompok huruf

dengan sebuah huruf atau kelompok huruf lain.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 3/32

  8

Sejarah kriptografi klasik mencatat penggunaan cipher transposisi oleh tentara

Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang

disebut  scytale (Gambar 2.1(a)). Scytale terdiri dari sebuah kertas panjang dari daun

 papyrus yang dililitkan pada sebuah silinder dari diameter tertentu (diameter silender

menyatakan kunci penyandian). Pesan ditulis secara horizontal, baris per baris

(Gambar 2.1(b)). Bila pita dilepaskan, maka huruf-huruf di dalamnya telah tersusun

secara acak membentuk pesan rahasia. Untuk membaca pesan, penerima pesan harus

melilitkan kembali melilitkan kembali kertas tersebut ke silinder yang diameternya

sama dengan diameter silinder pengirim.

(a) Sebuah scytale  (b) Pesan ditulis secara horizontal, baris

 perbaris.

Gambar 2.1 Scytale. 

Sedangkang algoritma substitusi paling awal dan paling sederhana adalah

Caesar cipher , yang digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah

dengan mengganti setiap karakter di dalam alfabet dengan karakter yang terletak pada

tiga posisi berikutnya di dalam susunan alfabet (Munir, 2006).

Kriptografi juga digunakan untuk tujuan keamanan. Kalangan gereja pada

masa awal agama Kristen menggunakan kriptografi untuk menjaga tulisan relijius dari

gangguan otoritas politik atau budaya yang dominan saat itu. Mungkin yang sangatterkenal adalah “Angka si Buruk Rupa ( Number of the Beast )” di dalam Kitab

Perjanjian Baru. Angka “666” menyatakan cara kriptografik (yaitu dienkripsi) untuk

menyembunyikan pesan berbahaya, para ahli percaya bahwa pesan tersebut mengacu

 pada Kerajaan Romawi.

Di India, kriptografi digunakan oleh pencinta (lovers) untuk berkomunikasi

tanpa diketahui orang. Bukti ini ditemukan di dalam buku  Kama Sutra yang

merekomendasikan wanita seharusnya mempelajari seni memahami tulisan dengan

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 4/32

  9

cipher . Pada Abad ke-17, sejarah kriptografi mencatat korban ketika ratu Skotlandia,

Queen Mary, dipancung setelah surat rahasianya dari balik penjara (surat terenkrpsi

yang isinya rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh seorang

 pemecah kode (Munir, 2006).

Seperti yang telah disebutkan di atas bahwa kriptografi umum digunakan di

kalangan militer. Pada Perang Dunia ke II, Pemerintah Nazi Jerman membuat mesin

enkripsi yang dinamakan Enigma. (Gambar 2.2). Mesin yang menggunakan beberapa

 buah rotor (roda berputar) ini melakukan enkripsi dengan cara yang sangat rumit.

 Namun  Enigma cipher  berhasil dipecahkan oleh pihak Sekutu dan keberhasilan

memecahkan  Enigma sering dikatakan sebagai faktor yang memperpendek perang

dunia ke-2 (Churchhouse, 2004).

Gambar 2.2 Mesin Enkripsi Enigma.

Kriptografi modern dipicu oleh perkembangan peralatan komputer digital.

Dengan komputer digital, cipher yang lebih kompleks menjadi sangat mungkin untuk

dapat dihasilkan dan berdampak pada permintaan dari pihak-pihak tertentu sebagai

sarana untuk melindungi informasi dalam bentuk digital dan untuk menyediakan

layanan keamanan. Dimulai dari usaha Feistel dari IBM di awal tahun 70-an danmencapai puncaknya pada 1977 dengan pengangkatan DES ( Data Encryption

Standard ) sebagai standar pemrosesan informasi federal Amerika Serikat untuk

mengenkripsi informasi yang tidak atau belum diklasifikasi. DES merupakan

mekanisme kriptografi yang paling dikenal sepanjang sejarah.

Induk dari ilmu kriptografi sebenarnya adalah matematika khususnya teori

aljabar yang mendasari ilmu bilangan. Oleh karena itu kriptografi semakin

 berkembang ketika komputer ditemukan. Dengan adanya penemuan komputer

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 5/32

  10

memungkinkan dilakukannya perhitungan yang rumit dan kompleks dalam waktu

yang relatif singkat. Dari hal tersebut lahirlah banyak teori dan algoritma penyandian

 pesan yang semakin kompleks dan sulit dipecahkan.

2.1.3 Tujuan Kriptografi

Tujuan dari kriptografi yang juga merupakan aspek keamanan informasi adalah

sebagai berikut (Menezes, van Oorschot dan Vanstone, 1997) (Scheiner, 1996):

1.  Kerahasiaan adalah layanan yang digunakan untuk menjaga isi informasi dari

semua pihak kecuali pihak yang memiliki otoritas terhadap informasi. Ada

 beberapa pendekatan untuk menjaga kerahasiaan, dari pengamanan secara fisik

hingga penggunaan algoritma matematika yang membuat data tidak dapat

dipahami. Istilah lain yang senada dengan confidentiality adalah  secrecy  dan

 privacy. 

2.  Integritas data adalah layanan penjagaan pengubahan data dari pihak yang tidak

 berwenang. Untuk menjaga integritas data, sistem harus memiliki kemampuan

untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara

lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam pesan yang

sebenarnya. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan

tanda-tangan digital (digital signature). Pesan yang telah ditandatangani

menyiratkan bahwa pesan yang dikirim adalah asli.

3.  Otentikasi adalah layanan yang berhubungan dengan identifikasi, baik

mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication

atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan

(data origin authentication). Dua pihak yang saling berkomunikasi harus dapatmengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. Pesan

yang dikirim melalui saluran komunikasi juga harus diotentikasi asalnya.

Otentikasi sumber pesan secara implisit juga memberikan kepastian integritas

data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar.

Oleh karena itu, layanan integritas data selalu dikombinasikan dengan layanan

otentikasi sumber pesan. Di dalam kriptografi, layanan ini direalisasikan dengan

menggunakan tanda-tangan digital (digital signature). Tanda-tangan digital

menyatakan sumber pesan.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 6/32

  11

4.   Nirpenyangkalan adalah layanan untuk mencegah entitas yang berkomunikasi

melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan

 pengiriman atau penerima pesan menyangkal telah menerima pesan.

Selain ada pihak yang ingin menjaga agar pesan tetap aman, ada juga pihak

yang ingin mengetahui pesan rahasia tersebut secara tidak sah. Bahkan ada pihak yang

ingin agar dapat mengubah isi pesan tersebut. Usaha untuk membongkar suatu pesan

sandi tanpa mendapatkan kunci dengan cara yang sah dikenal istilah serangan (attack ).

Beberapa macam penyerangan terhadap pesan yang telah dienkripsi yaitu:

1.  Ciphertext only attack.

Dimana penyerang hanya mendapatkan pesan yang sudah disandikan saja.

2.  Known plaintext attack atau clear-text attack.

Dimana penyerang selain mendapatkan sandi, juga mendapatkan pesan asli.

3. Choosen plaintext attack.

Sama dengan known plaintext attack,  namun penyerang bahkan dapat memilih

 penggalan mana dari pesan asli yang disandikan.

2.1.4 Terminologi dan Konsep Dasar Kriptografi

2.1.4.1 Pesan, Plainteks, dan Cipherteks

Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti

maknanya. Nama lain untuk pesan adalah plainteks atau teks-jelas (cleartext )

(Scheiner, 1996). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir,

saluran telekomunikasi, dan sebagainya) atau yang disimpan di dalam media

 perekaman (kertas,  storage, dan sebagainya). Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio), dan video,

atau berkas biner lainnya.

Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan

 perlu disandikan ke bentuk lain yang tidak dapat dipahami (enkripsi). Bentuk pesan

yang tersandi disebut cipherteks atau kriptogram. Proses pembalikan dimana

cipherteks diubah kembali menjadi plainteks di sebut dekripsi (Stamp, 2007).

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 7/32

  12

(a) Plainteks (teks) (b) Cipherteks dari (a)

Gambar 2.3 Contoh-contoh plainteks dan cipherteksnya.

2.1.4.2 Peserta Komunikasi

c

Unsecured Channel

Alice Bob

Gambar 2.4 Skema komunikasi dengan proses enkripsi.

Skema komunikasi dengan proses enkripsi dapat dijelaskan sebagai berikut:

1. Entitas atau peserta adalah orang atau sesuatu yang mengirim, menerima, atau

memanipulasi informasi. Entitas bisa berupa orang, terminal komputer, kartu

kredit, dan sebagainya. Jadi, orang bisa bertukar pesan dengan orang lainnya

(contoh: Alice berkomunikasi dengan Bob) sedangkan di dalam jaringan

komputer, mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM

 berkomunikasi dengan komputer server di bank).

Adversary

m

Encryption E e (m) = c

Plaintext

source

m

Decryption E d  (c) = m

Destination

Ketika saya berjalan-jalan

dipantai, saya menemukan

 banyak sekali kepiting yangmerangkak menuju laut.Mereka adalah anak-anak

kepiting yang baru menetasdari dalam pasir. Naluri

mereka mengatakan bahwalaut adalah tempat

kehidupan mereka.

Ztaxzp/epep/ququyp{p}<yp{

 p}/ex/’p]apx;

epep//[/t]tazp]/qp}etzp{x/’xex}v

ep}v/[tup}vzpz/]aya[paa=/\tutz

 p psp{pn/p}pz<p}pz/zt’xax}v/

qpua

/t]tape/apux/spux/sp{p}/’pex

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 8/32

  13

2. Pengirim adalah entitas dalam komunikasi yang mengirimkan informasi kepada

entitas lainnya.

3. Penerima adalah entitas dalam komunikasi yang diharapkan menerima informasi.

4. Penyusup (adversary) adalah entitas diluar pengirim dan penerima yang mencoba

untuk membobol keamanan informasi. Penyusup biasanya bertindak seolah-olah

sebagai pengirim yang sah ataupun penerima yang sah.

2.1.4.3 Kriptologi

Kriptologi berasal dari bahasa Yunani, “kryptos” yang berarti “tersembunyi” dan

“logos” yang berarti “kata”. Jadi, kriptologi dapat diartikan sebagai frase kata yang

tersembunyi. Kriptologi dapat juga diartikan sebagai seni dan ilmu untuk membuat

dan memecahkan kode rahasia. Kriptologi dibagi menjadi kriptografi (seni dan ilmu

membuat kode rahasia), kriptanalisis (ilmu dan seni untuk memecahkan cipherteks

menjadi plainteks tanpa mengetahui kunci yang digunakan) (Stamp, 2007) dan

steganografi (metoda menyembunyikan pesan atau data lainnya). Pelaku kriptanalisis

disebut kriptanalis. Jika seorang kriptografer (cryptographer ) mentransformasikan

 plainteks menjadi cipherteks dengan suatu algoritma dan kunci maka sebaliknya

seorang kriptanalis berusaha untuk memecahkan cipherteks tersebut untuk

menemukan plainteks atau kunci.

Cryptology

Cryptanalysis Steganography

Gambar 2.5 Hubungan kritografi, kriptanalisis, dan steganografi.

Cryptography

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 9/32

  14

2.1.5 Algoritma dan Kunci

Algoritma menggambarkan sebuah prosedur komputasi yang terdiri dari variabel input

dan menghasilkan output yang berhubungan. Algoritma kriptograf i atau sering disebut

dengan cipher adalah suatu fungsi matematis yang digunakan untuk melakukan

enkripsi dan dekripsi (Schneier, 1996). Algoritma kriptografi ini bekerja dalam

kombinasi dengan menggunakan kunci (key) seperti kata, nomor atau frase tertentu.

Dasar matemetis yang mendasari proses enkripsi dan dekripsi adalah relasi

antara dua himpunan yaitu yang berisi elemen plainteks dan elemen cipherteks.

Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan

tersebut. Apabila elemen-elemen plainteks dinotasikan dengan  P , elemen-elemen

cipherteks dinotasikan dengan C , sedang untuk proses enkripsi dinotasikan dengan  E, 

dekripsi dinotasikan dengan  D, maka secara matematis kriptografi dapat dinyatakan

sebagai berikut:

 E ( P ) = C

 D(C ) = P atau D( E ( P )) = P

Gambar 2.6(a) memperlihatkan skema enkripsi dan dekripsi dengan

menggunakan kunci, sedangkan Gambar 2.6(b) mengilustrasikan enkripsi dan dekripsi

terhadap sebuah pesan (Schneier, 1996).

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 10/32

  15

Gambar 2.6 (a) Skema enkripsi dan dekripsi, (b) contoh ilustrasi enkripsi dan

dekripsi pesan.

2.1.6 Algoritma Kriptografi

Algoritma adalah urutan langkah-langkah logis untuk menyelesaikan suatu masalah

yang disusun secara sistematis. Langkah-langkah tersebut harus logis, ini berarti nilai

kebenarannya harus dapat ditentukan benar atau salah. Algoritma kriptografi adalah

 bagian dari kriptografi yang berisi kumpulan langkah-langkah logis yang digunakan

oleh seseorang untuk melakukan enkripsi dan dekripsi. Biasanya langkah-langkah ini

 berupa sekumpulan fungsi matematik. Berdasarkan sifat kuncinya, ada dua jenis

algoritma kriptografi yaitu algoritma simetris dan algoritma asimetris.

2.1.6.1 Algoritma Simetris

Algoritma enkripsi akan disebut algoritma simetris apabila pasangan kunci untuk

 proses enkripsi dan dekripsinya adalah sama. Pada algoritma enkripsi algoritma

simetris, digunakan sebuah kunci untuk melakukan proses enkripsi dan dekripsinya.

Masalah utama yang dihadapi dalam algoritma simetris membuat pengirim dan

 penerima menyetujui kunci rahasia tanpa ada orang lain yang mengetahuinya. Sifat

kunci yang identik membuat pengirim harus selalu memastikan bahwa jalur yang

digunakan dalam pendistribusian kunci adalah jalur yang aman atau memastikan

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 11/32

  16

Plainteks Cipherteks PlainteksA BEnkripsi Dekripsi

Kunci

 bahwa seseorang yang ditunjuk membawa kunci untuk dipertukarkan adalah orang

yang dapat dipercaya.

Kelebihan sistem kriptografi simetris ini adalah kecepatan proses enkripsi dan

dekripsinya yang jauh lebih cepat dibandingkan dengan algoritma asimetris.

Sedangkan kelemahan dari algoritma ini adalah permasalahan pendistribusian kunci

dan efisiensi jumlah kunci.

Gambar 2.7 Skema Algoritma Simetris.

Contoh dari algoritma simetris adalah Vigenere Cipher, Cipher Permutasi,

Cipher Substitusi, Hill Cipher, OTP, RC2, RC4, RC5, RC6, Twofish, Magenta,

SAFER, LOKI, AES, DES, IDEA dan lain-lain.

2.1.6.2 Algoritma Asimetris

Algoritma asimetris adalah algoritma yang menggunakan kunci berbeda untuk proses

enkripsi dan dekripsinya. Algoritma ini juga disebut sebagai sistem kriptografi

 public-key  karena kunci untuk enkripsi dibuat secara umum ( public-key, dapat

diketahui oleh siapa saja), tapi untuk proses dekripsinya dibuat satu kunci yang hanya

diketahui oleh yang berwenang. Kunci ini disebut private-key.

Public-key  merupakan kunci yang bersifat umum, artinya kunci ini tidak

dirahasiakan sehingga dapat dilihat oleh siapa saja, sedangkan  private-key  adalah

kunci yang dirahasiakan dan hanya orang-orang tertentu yang boleh mengetahuinya.

Keuntungan utama dari algoritma ini adalah memberikan jaminan keamanan

kepada siapa saja yang melakukan pertukaran informasi meskipun diantara mereka

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 12/32

  17

tidak ada kesepakatan mengenai keamanan pesan terlebih dahulu bahkan jika mereka

saling tidak mengenal satu sama lainnya.

Kelemahan dari sistem ini adalah waktu yang digunakan untuk melakukan

 proses enkripsi dan dekripsi jauh lebih lambat dibandingkan dengan sistem kriptografi

simetris, sehingga kurang cocok jika digunakan untuk mengenkripsi suatu pesan yang

cukup banyak.

Gambar 2.8 Skema Algoritma Asimetris.

Contoh dari algoritma asimetris adalah RSA, Elgamal, ACC, LUC, DSA dan

lain-lain.

2.1.6.3 Perbandingan Algoritma Simetris dan Asimetris.

Baik kriptografi simetris maupun kriptografi asimetris (kunci publik), keduanya

mempunyai kelebihan dan kelemahan.

1. Kelebihan kriptografi simetri:

a. Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi

membutuhkan waktu yang singkat.

 b. Ukuran kunci simetri relatif pendek.

c. Algoritma kriptografi simetri dapat digunakan untuk membangkitkan bilangan

acak.

d. Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher   yang

lebih kuat.

e. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima,

karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.

BDekripsi Plainteks

Kunci Rahasia

A EnkripsiPlainteks Cipherteks

Kunci Publik

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 13/32

  18

2. Kelemahan kriptografi simetri:

a. Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang

 berkomunikasi harus menjaga kerahasiaan kunci ini.

 b. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.

3. Kelebihan kriptografi kunci-publik (asimetri):

a. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang

 berkomunikasi (tetapi, otentikasi kunci publik tetap harus terjamin). Tidak ada

kebutuhan mengirim kunci privat sebagaimana pada sistem simetri.

 b. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode

waktu yang panjang.

c. Dapat digunakan untuk mengamankan pengiriman kunci simetri.

d. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan

digital pada pesan.

4. Kelemahan kriptografi kunci-publik (asimetri):

a. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri,

karena enkripsi dan dekripsi menggunakan bilangan yang besar dan

melibatkan operasi perpangkatan yang besar.

 b. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali

ukuran plainteks).

c. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.

d. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang,

maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.

e. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti blockcipher ). Kebanyakan algoritma mendasarkan keamanannya pada sulitnya

memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dan

sebagainya) yang menjadi dasar pembangkitan kunci.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 14/32

  19

2.1.7 Sistem Kriptografi

Suatu sistem kriptografi merupakan sebuah himpunan algoritma, seluruh

kemungkinan plainteks, cipherteks, kunci, dan proses manajemen kunci yang

digunakan. Sistem kriptografi merupakan suatu fasilitas untuk mengkonversikan

 plainteks menjadi cipherteks, dan sebaliknya. Dalam sistem ini, seperangkat parameter

yang menentukan proses plainteks menjadi cipherteks tertentu disebut dengan set

kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci. Secara

umum, kunci–kunci yang digunakan untuk proses enkripsi dan dekripsi tidak perlu

identik, tergantung dari sistem yang digunakan.

2.1.7.1 Keamanan Sistem Kriptografi

Suatu sistem kriptografi dikatakan aman jika para penyusup (adversary) dengan

kemampuan yang dimilikinya tidak dapat memecahkan atau membobol sistem

tersebut.

Berdasarkan kemampuan yang dimiliki penyusup, terdapat dua jenis keamanan

sistem kriptografi, yaitu:

1. Keamanan tak kondisional, jika penyusup tidak dapat membobol sistem dengan

kemampuan komputer yang tidak terbatas. Keamanan ini berhubungan dengan

teori informasi dan teori probabilitas.

2. Keamanan kondisional, jika secara teoritis mungkin bagi penyusup untuk

membobol sistem tapi secara komputasi tidaklah mungkin (karena keterbatasan

sumberdaya dan kemampuan penyusup untuk mengakses informasi). Keamananini berhubungan dengan teori kompleksitas.

Sistem kriptografi dikatakan aman bila memiliki keadaan sebagai berikut:

1. Bila harga untuk membobol sistem lebih besar daripada nilai informasi yang

dibuka.

2. Bila waktu yang diperlukan untuk membobol sistem tersebut lebih lama daripada

lamanya waktu yang diperlukan oleh informasi itu untuk tetap aman.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 15/32

  20

3. Bila jumlah data yang dienkrip dengan kunci dan algoritma yang sama lebih

sedikit dari jumlah data yang diperlukan untuk menembus algoritma tersebut

(Kurniawan, 2004).

2.1.7.2 Serangan pada Sistem Kriptografi

Pada dasarnya serangan terhadap sistem kriptografi dapat dibedakan menjadi dua jenis

yaitu:

1. Serangan pasif adalah serangan dimana penyerang hanya memonitor saluran

komunikasi. Penyerang pasif hanya mengancam kerahasiaan data.

2. Serangan aktif adalah serangan dimana penyerang mencoba untuk menghapus,

menambahkan, atau dengan cara yang lain mengubah transmisi pada saluran.

Penyerang aktif mengancam integritas data dan otentikasi, juga kerahasiaan.

2.2 Konsep Dasar Matematis Kriptografi

2.2.1 Sistem Persamaan Linear

Variabel adalah sebuah notasi yang mewakili suatu bilangan dengan nilai yang belum

diketahui. Sebagai contoh, sebuah garis dalam bidang  xy secara aljabar dapat

dinyatakan oleh persamaan yang berbentuk a1 x + a2 y = b. Persamaan ini dinamakan

 persamaan linear dalam peubah (variabel)  x dan peubah  y.  Secara lebih umum,

mendefenisikan persamaan linear dalam n peubah x1 , x2 , ... xn

1 1 2 2   n na x a x a x b+ + + =

 sebagai persamaan yang

dapat dinyatakan dalam bentuk:

dimana a1 , a2 , ... , an

1 2, ,...,

n s s s

 dan b adalah konstanta-konstanta.

Solusi persamaan linear adalah urutan n  bilangan sehingga suatu

 persamaan linear1 1 2 2   n n

a x a x a x b+ + + =   dipenuhi bila disubtitusikan

1 1 2 2, , ,

n n x s x s x s= = = . Himpunan dari semua solusi persamaan linear dinamakan

himpunan solusi.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 16/32

  21

Sebuah sistem persamaan linear yang terdiri dari m persamaan linear dengan n

 bilangan tak diketahui (variabel) akan dituliskan sebagai berikut:

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

 

n n

n n

m m mn n m

a x a x a x b

a x a x a x b

a x a x a x b

+ + + =

+ + + =

+ + + =

 

Dapat dilihat bahwa sistem persamaan linear tersebut bisa direpresentasikan

sebagai persamaan perkalian matriks Ax = b, dengan

11 12 1

21 22 2

1 2

n

n

m m mn

a a a

a a a

 A

a a a

=

 berukuran m n× , matriks

1

2

n

 x

 x

 x

 x

=

 dan matriks

1

2

m

b

b

b

b

=

 

adalah matriks kolom. Untuk selanjutnya jika disebut sistem  Ax b=  berarti ekivalen

dengan menyebutkan sistem persamaan linear dengan n variabel dan m  persamaan

yang bisa direpresentasikan sebagai sistem persamaan perkalian matriks  Ax = b. Jika

1 2, ,...,

nb b b  semuanya nol maka sistem ini disebut sistem persamaan linear homogen. 

Jika terdapat 0, 1i

b i n≠ ≤ ≤  maka disebut sistem persamaan linear tak homogen.

2.2.2 Matriks dan Operasi pada Matriks

2.2.2.1 Matriks

Matriks adalah susunan bilangan berbentuk persegi panjang yang diatur dalam baris

dan kolom yang diletakkan dalam kurung biasa atau kurung siku. Matriks merupakan

suatu cara visualisasi variabel yang merupakan kumpulan dari angka-angka atau

variabel lain, misalnya vektor. Dengan representasi matriks, perhitungan dapat

dilakukan dengan lebih terstruktur.

2.2.2.2 Operasi pada Matriks

Misal  A, B, dan C   adalah matriks yang berukuran sama dengan a, b ∈  R, maka

 berlaku operasi-operasi pada matriks sebagai berukut:

1.  A + B = B + A (Hukum komutatif), tetapi AB ≠ BA. 

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 17/32

  22

2.  A + (B + C) = (A + B) + C  (Hukum asosiatif).

3.  A(BC) = (AB)C  (Hukum asosiatif).

4.  A(B + C ) = AB +AC  (Hukum distributif).

5.  (B + C)A = BA + CA (Hukum distributf).

6  A(B – C) = AB – AC. 

7. (B -C) – A = BA – CA.

8. a(B + C) = aB + aC  

9. a(B – C) = aB – aC .

10. (a + b)C = aC + bC .

11. (a – b)C = aC – bC .

12. (ab)C = a(bC).

13. a(BC) = (aB)C = B(aC).

Untuk membuktikan kesamaan-kesamaan diatas, maka perlu ditegaskan

 bahwa matriks pada ruas kiri harus mempunyai ukuran yang sama seperti matriks

 pada ruas kanan.

2.2.2.3 Transpos, Transpos Konjugat, dan Hermitian

Diberikan sebarang matriks  A  berukuran mxn, maka transpos dari  A  didefinisikan

dengan matriks n m×  dinotasikan dengan T  A  yang setiap kolom dari  A  menjadi baris

dari  AT 

 A

. Konjugat  dari  A, ditulis  A, merupakan matriks yang dibentuk dengan

menegasikan bagian imajiner setiap entri , jadi [ ]ij

 A a= . Transpos konjugat dari  A  

didefinisikan oleh  A H  = AT   A. Matriks dikatakan hermitian  jika A H 

 A

 = A.

Jika real, maka  A   dikatakan matriks simetri, yaitu  A H 

 A

 = A. Dapat dilihat

 bahwa setiap matriks hermitian haruslah persegi. Untuk setiap matriks berukuran

m n×  berlaku ( A H  A) H  = A H  ( A H ) H  = A H    H  A A A, yaitu matriks Hermitian.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 18/32

  23

2.2.2.4 Eselon Baris Tereduksi

Matriks  A  disebut dalam bentuk eselon baris tereduksi (reduced row echelon form)

disingkat rref  jika memenuhi empat kondisi berikut: 

1.  Jika ada baris nol (baris yang seluruh entrinya bernilai nol), maka baris nol

tersebut terletak paling bawah atau paling akhir.

2. 

Jika baris tidak seluruhnya terdiri dari nol, maka entri pertama yang bukan nol

dalam baris itu adalah 1, disebut satu utama (leading one).

3.  Dalam sebarang dua baris yang berurutan yang tidak seluruhnya terdiri dari nol,

maka satu utama dalam baris yang lebih rendah terdapat lebih jauh ke kanan dari

satu utama dalam baris yang lebih tinggi.

4.  Setiap kolom yang memuat satu utama mempunyai nol di tempat lain.

Matriks yang hanya mempunyai sifat-sifat 1,2, dan 3, dikatakan berada dalam

 bentuk eselon baris  (row echelon form). Rank dari matriks  A, ditulis rank( A), adalah

 banyaknya baris tak nol setelah  A  dibentuk ke dalam bentuk eselon baris. Suatu

matriksm n

 A×

 dikatakan mempunyai  full column rank   jika ( )rank A n=   dan  full row

rank   jika rank ( A) = m. 

2.2.2.5 Invers Matriks

Jika A adalah matriks persegi, dan dapat ditemukan matriks  A-1 sehingga A A-1 = A-1

 A

 A

= I , maka dikatakan dapat dibalik  (invertibel) dan A-1

 A

 dinamakan invers dari A,

Salah satu metode sederhana mencari invers dari matriks yang dapat dibalik

adalah dengan mencari urutan operasi baris elementer tereduksi menjadi matriks

identitas, kemudian melakukan urutan operasi yang sama padan

 I   untuk mendapatkan

 A-1

 

.

Operasi baris elementer adalah operasi pengubahan nilai elemen matriks

 berdasarkan barisnya, tanpa mengubah matriksnya. Cara menentukan invers matriks

dengan operasi baris elementer yaitu:

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 19/32

  24

1. Kalikanlah sebuah baris dengan sebuah konstanta yang tidak sama dengan nol.

2. Pertukarkanlah kedua baris tersebut.

3. Tambahkanlah perkalian dari satu baris pada baris yang lain.

Jika  A   adalah sebarang matriks persegi n n×   danij

C    adalah kofaktor aij

11 12 1

21 22 2

1 2

n

n

n n nn

C C C 

C C C 

C C C 

,

maka matriks

dinamakan matriks kofaktor  A. Transpos matriks ini dinamakan adjoin  A  dan

dinotasikan dengan Adj( A). Jika  A  adalah matriks yang dapat dibalik, maka

1

 A-1

det( ) 0 A   =

  = adj(A)det(A)

Dari rumus di atas, dapat disimpulkan jika suatu matriks mempunyai nilai

determinan nol maka matriks tersebut tidak punya invers. Sebab jika maka

terjadi pembagian dengan nol.

2.2.3 Ruang-ruang Vektor.

Ruang Vektor   V    atas lapangan F  adalah himpunan tak kosong atas objek yang

dinamakan vektor bersama dengan operasi yang dinamakan penjumlahan vektor, dan

operasi yang dinamakan pergandaan antara skalar dan vektor,

2.2.3.1 Ruang Baris dan Kolom Matriks

Suatu kolom dengan panjang n adalah 1n ×  larik  

1

2

1 2( )T 

n

n

 x

 x x x x x

 x

= =

 

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 20/32

  25

Matriks  A   berukuran m n×  merupakan larikan bilangan-bilangan dengan m 

 baris dan n kolom,

( )11 1

1

n

ij

m mn

a a

 A a

a a

= =

,

denganija  disebut entri (isi) pada baris ke-i dan kolom ke- j. Sehingga kolom dengan

 panjang n merupakan matriks berukuran n  x 1, sedangkan baris dengan panjang n 

adalah matriks berukuran 1 x n.

2.2.3.2 Kombinasi Linear dan Bebas Linear

Jika di dalam suatu ruang vektor, satu vektor dapat dinyatakan sebagai hasil dari

 beberapa operasi yang terdefinisi dalam ruang vektor tersebut dengan melibatkan

 beberapa vektor lain, maka vektor tersebut dikatakan sebagai kombinasi linear atas

vektor-vektor yang lain.

Jika S ={v1 , v2 , ..., vr } adalah himpunan vektor, maka persamaan vektor

k 1v1 + k 2v2 + ...+ k r vr  = 0 

mempunyai paling sedikit satu pemecahan, yaitu:

k 1 = 0, k 2 = 0, ... , k r  = 0

Jika ini adalah satu-satunya pemecahan, maka S   dinamakan himpunan bebas linear

(linearly independent ). Jika ada pemecahan lain, maka S   dinamakan himpunan tak

 bebas linear (linearly dependent ).

2.2.3.3 Basis dan Dimensi

Jika V   adalah sebarang ruang vektor dan S ={v1 , v2 , ..., vr 

  Sebuah ruang vektor taknol V   dinamakan berdimensi berhingga ( finite

dimensional ) jika ruang vektor tersebut mengandung sebuah himpunan berhingga dari

} merupakan himpunan

 berhingga dari vektor-vektor pada V , maka S  dinamakan basis untuk V   jika S  bebeas

linear dan S  merentang V .

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 21/32

  26

vektor-vektor {v1 , v2 , ..., vn

{ }

}  yang membentuk sebuah basis. Jika tak ada himpunan

seperti itu, maka V  dinamakan berdimensi tak berhingga (infinite dimensional ).

2.2.4 Struktur Aljabar

Aljabar adalah bidang matematika yang berhubungan dengan himpunan elemen

(seperti himpunan bilangan) dan operasi yang dilakukan pada elemen tersebut

(Churchhouse, 2004). Aljabar abstrak adalah cabang matematika yang mempelajari

struktur aljabar. Struktur aljabar adalah satu atau lebih himpunan dengan sejumlah

operasi yang didefenisikan didalamnya serta memenuhi beberapa aksioma. Di dalam

struktur aljabar terdapat grup, ring dan grup berhingga yang penting dalam kriptografi

 pada umumnya dan kriptografi kunci publik khususnya (Churchhouse, 2004).

Himpunan adalah sekumpulan objek atau unsur dengan kriteria atau syarat

tertentu. Unsur-unsur dalam elemen S   disebut anggota (elemen) dari S . Himpunan

yang tidak memiliki anggota disebut himpunan kosong dan ditulis atau Φ .

2.2.4.1 Grup

Grup ( group) ,*G   adalah suatu struktur yang terdiri dari himpunan G   dan suatu

operasi biner * dengan sifat:

a). ,a b G∀ ∈  berlaku sifat *a b G∈ .

 b).1 2 1 2, , ,a a b b G∀ ∈  berlaku

1 2a a= dan1 2 1 1 2 2* *b b a b a b= ⇒ = .

c). Terhadap operasi * memenuhi aksioma-aksioma sebagai berikut:

1. Assosiatif, yaitu , ,a b c G∀ ∈ , berlaku *( * ) ( * )*a b c a b c= .

2. e G∃ ∈ sedemikian sehingga 1 1* *a a a a e− −= = , ∈∀ G. 

3. 1,a G a G−∀ ∈ ∃ ∈ sedemikian sehingga 1 1* *a a a a e− −= = .

Sifat a) dan b) di atas berarti bahwa operasi biner * bersifat tertutup (closed )

dan terdefinisi dengan baik (well defined ) pada G . Jika G   adalah grup terhadap

operasi * dan ,a b G∀ ∈  berlaku * *a b b a=

, yaitu operasi * bersifat komutatif, G  dikatakan grup komutatif (commutative group).

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 22/32

  27

2.2.4.2 Gelanggang ( Ring) 

Gelanggang ( Ring ) +•⟩⟨ , R  adalah himpunan tak kosong yang dilengkapi dua operasi

 biner yang disajikan dengan tanda jumlahan dan tanda pergandaan yang memenuhi

aksioma-aksioma berikut:

1. , R⟨ +⟩  grup komutatif.

2. Terhadap operasi pergandaan memenuhi sifat assosiatif.

3. Memenuhi sifat distribusi kiri dan distribusi kanan, yaitu untuk setiap a, b, c∈R

 berlaku a(b+c) = ab + ac  dan (a+b)c = ac + bc. 

2.2.4.3 Lapangan ( field )

Suatu gelanggang yang bersifat komutatif dimana setiap elemen tidak nol mempunyai

invers perkalian disebut dengan lapangan  ( field ). Yang dimaksud dengan invers

 perkalian adalah untuk setiap a ≠ 0 yang termasuk dalam  F , terdapat a-1Є   F

sedemikian hingga a × a-1

Diberikan

= 1.

2.2.5 Teori Bilangan

Teori bilangan ( Number Theory) adalah teori mendasar dalam memahami kriptografi.

Bilangan yang digunakan disini adalah bilangan bulat positif ( integer ). Bilangan bulat

 positif adalah himpunan bilangan asli yang dinotasikan dengan “ A” yaitu A = {1, 2, 3,

...}. Himpunan semua bilangan bulat yang dinotasikan dengan Z  adalah himpunan

{...,-3,-2,-1,0,1,2,3,...}. Himpunan ini berperan sangat penting karena banyak

algoritma kriptografi yang menggunakan sifat-sifat himpunan semua bilangan bulat

dalam melakukan prosesnya. Pada himpunan bilangan bulat berlaku sifat asosiatif,

komutatif dan distributif terhadap operasi penjumlahan dan pergandaan biasa.

2.2.5.1 Sifat Pembagian pada Bilangan Bulat

Ζ∈na, . Bilangan bulat a  dikatakan membagi (divides) n  jika terdapat

Ζ∈b   sedemikian sehingga n ab= . Jika a  membagi n, maka a  disebut  pembagi 

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 23/32

  28

(divisior ) n dan n  disebut kelipatan  (multiple) a. Bilangan bulat a  yang membagi n 

ditulis a n .

Diberikan Ζ∈mba ,, , 0m > . Jika m  membagi (b  – a), maka a  disebut

kongruen dengan b modulo m, ditulis ( )moda b m≡ . Bilangan bulat m  disebut

modulus. Misalkan a dan b dibagi dengan m, didapatkan hasil bagi bilangan bulat dan

sisa, dimana sisa bernilai antara 0 dan m  – 1. Yaitu1 1

a q m r  = +   dan b = q2  + r 2

1 20 1 dan 0 1r m r m≤ ≤ − ≤ ≤ −

,

dimana . Maka jelas bahwa (mod )a b m≡   jika hanya

 jika1 2r r = .

2.2.5.2 Pembagi Persekutuan Terbesar

Dalam  Z  p   adengan p prima, suatu bilangan mempunyai invers terhadap pergandaan

 jika hanya jika gcd( , ) 1a p   = . Bilangan tersebut adalah semua elemen dalam  Z  p

 A

 

kecuali 0. Matriks atas  Z  p

gcd(det , ) =1 A p

  mempunyai invers modulo  p  jika hanya jika

.

2.2.5.3 Algoritma Euclide

Telah diperlihatkan bahwa jika Ζ∈a  p, maka a   mempunyai invers terhadap

 pergandaan pada  Z  p gcd( , ) 1a p   = jika hanya jika . Algoritma Euclide dapat digunakan

untuk menghitung nilai pembagi persekutuan terbesar (gcd) dari dua bilangan bulat

dengan efisien.

Pertama, misalkan ingin dihitung0 1 0 1

gcd( , ), , bilangan bulatr r r r   dengan

0 1r r > . Algoritma Euclid terdiri dari beberapa pembagian :

1 1 2 2 1, 0

or q r r r r  = + ≤ <  

1 2 2 3 3 2, 0r q r r r r  = + ≤ <  

 

2 1 1 1, 0

m m m m m mr q r r r r  − − − −= + ≤ <  

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 24/32

  29

1m m mr q r −   = ,

maka0 1 1 2 1

gcd( , ) gcd( , ) gcd( , )m m m

r r r r r r r  −= = = = .

Dan didapatkan 0 1gcd( , ) mr r r =

.

2.2.5.4 Algoritma Euclide yang Diperluas

Dari algoritma Euclide dapat diketahui apakah suatu bilangan mempunyai invers atas

 Z  p

0 1 2, , ,

mt t t t  

  atau tidak, namun belum dapat menghitung nilai inversnya (jika ada). Dengan

algoritma Euclide yang diperluas, dapat dihitung nilai invers dari suatu bilangan.

Misalkan didefinisikan suatu barisan bilangan dengan ketentuan

sebagai berikut:

0

1

2 1 1 0

0

1

  (mod ) 2 j j j j

t t q t r j− − −

=

=

= − ≥

 

maka, untuk 0   j m≤ ≤ ,1 0

(mod ) j j

r t r r  ≡ . Dimana   j

r    didapatkan dari algoritma

Euclid. 

Pembuktian dilakukan dengan induksi matematika. Pernyataan benar untuk

0 dan 1 j j= = . Asumsi pernyataan benar untuk 1 j i= −  dan 2 j i= − , untuk 2i ≥ ,

akan dibuktikan pernyataan benar untuk  j i= . Dengan induksi didapatkan:

2 2 1 0(mod )

i ir t r r  − −≡   dan

1 1 1 0(mod )

i ir t r r  − −≡  

Selanjutnya dihitung :

ir  2 1 1i i i

r q r − − −

≡ −  

2 1 1 1 1i i it r q t r  

− − −≡ − 0

(mod )r   

2 1 1 1( )

i i it q t r  − − −≡ − 0

(mod )r   

1 0(mod )

it r r ≡  

Dapat disimpulkan pernyataan terbukti untuk semua  j .

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 25/32

  30

Misalkan0 1

gcd( , ) 1r r    = , maka 1

1 0mod

mt r r −

= , dapat dibuktikan jika

0 1gcd( , ) 1r r    =   maka 1

mr   = . Sehingga dari teorema di atas,

1 01 (mod )

m mr t r r  = ≡ ,

dengan melihat bentuk : 11 mt r ≡ , berarti1

1 0modmt r r 

= .

2.3 Invers Matriks Tergeneralisasi

Ide awal dari invers matriks tergeneralisasi (Generalized Inverses of Matrix) adalah

untuk menggeneralisasi pengertian invers matriks. Selanjutnya konsep dari invers

matriks tergeneralisasi diberikan dalam definisi berikut ini. 

2.3.1 Definisi Umum 

Diberikan A matriks m n×  atas field , suatu matriks  B  yang memenuhi sifat:

1.   BAB B=  

2.   ABA A=  

3.  ( ) H  BA BA=  

4.  ( ) H  AB AB=  

matriks  B   disebut  pseudo-invers  atau  p-invers  atau invers matriks tergeneralisasi

(Generalized Inverses of Matrix) dari A, dinotasikan dengan  A− (Goldberg,J.L., 1991).

2.3.2  Invers Matriks Tergeneralisasi atas Bilangan Bulat Modulo p

Pada kriptografi klasik data-data yang berupa huruf dikonversikan ke dalam

sistem  Z 26 . Sedangkan pada tulisan ini dikembangkan khusus pada  Z  p, dengan  p

 bilangan prima. Penulis memilih  Z  p sebab  Z  p adalah  field , sehingga teori-teori yang

telah dibahas sebelumnya berlaku. Untuk selanjutnya pembahasan invers matriks

tergeneralisasi adalah untuk matriks yang entri-entrinya atas himpunan  Z  p

 A

.

Dalam penghitungan invers tergeneralisasi dibutuhkan mempunyai  full

column rank , maka B = ( A H   A)-1  A H . Dapat dilihat bahwa  A H   A invertible, sehingga ( A H  

 A)-1  A H .

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 26/32

  31

Hal diatas, akan menjadi landasan dari aplikasi invers matriks tergeneralisasi

 pada algoritma Hill Cipher.

2.4 Hill Cipher

Pada tahun 1929 block-cipher   yang disebut dengan Hill Cipher diperkenalkan oleh

Lester S. Hill. Hill Cipher merupakan algoritma kunci simetris yaitu algoritma yang

menggunakan kunci yang sama pada proses enkripsi dan dekripsinya.  Hill Cipher

merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptogafi ini

menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan

enkripsi dan dekripsi serta menggunakan m  buah persamaan linear. Dalam

 penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan teknik invers

terhadap matriks (Widyanarko, 2007).

Ide dari algoritma Hill Cipher adalah untuk membuat m kombinasi linear dari

m karakter alfabetik didalam suatu elemen plainteks, sehingga dihasilkan m karakter

alfabetik sebagai elemen dari cipherteks.

Secara umum jika  A adalah matriks mxm  atas Z26   dan  x =  ( x1  … xm)T  ∈  P

sehingga dihitung  y = e A( x) = ( y1 … ym)T  ∈ C sebagai berikut:

 y1  a11  a12  ... a1m  x1

 y2  a21  a22  ... a2m  x2 

 y3  = a31  a32  …  a3m  x3 

…  ... ... ... … … 

 ym  am1  am2  ... amm  xm 

sehingga dapat ditulis y = Ax.

Fungsi dekripsinya diturunkan dari formula diatas, karena  y = Ax  jika  A-1

  ada maka

 x = A-1  y.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 27/32

  32

Hill Cipher mengambil matriks  A  atas Z26 sebagai kunci. Pasangan matriks

digunakan untuk proses enkripsi dan dekripsi. Sebelum membagi teks-teks menjadi

deretan blok-blok, terlebih dahulu plainteks dikorespondensikan antara huruf dan

 bilangan, dengan ketentuan bilangan = Z26 = {0, 1, 2, ..., 26} dan huruf = { A, B, C,

..., Z}.

2.5 Aplikasi Invers Matriks Tergeneralisasi pada Algoritma Hill Cipher

(Hill Cipher Tergeneralisasi)

Pada metode Hill Cipher disyaratkan matriks enkripsi haruslah matriks persegi yang

invertible di Z26 . Tulisan ini mencoba menerapkan teori invers matriks tergeneralisasi

 pada algoritma Hill Cipher, sehingga nantinya matriks yang digunakan dapat berupa

matriks bujur sangkar atau persegi panjang. Pengembangan akan dibahas secara

khusus pada Z p, dengan p bilangan prima.

Diberikan m,n  bilangan bulat positif, didefinisikan

 P = ( Z  p)n = ( x1 , x2 , ..., xn   ∈) ( Z  p)n  dan C =( Z  p)m= ( y1 , y2 , ..., ym   ∈) ( Z  p)m  dengan  P  

himpunan plainteks dan C  adalah himpunan cipherteks.

Diberikan A adalah matriks mxn (yang syarat-syaratnya akan dibahas) diambil

sebagai kunci. Proses enkripsi bisa dijelaskan sebagai berikut. Untuk setiap

 x = ( x1 ... xn)T ∈ P , dihitung  y = e A( x)  = ( y1  … ym)T  ∈  C  dengan langkah-langkah

sebagai berikut :

 y1  a11  a12  ... a1n  x1

 y2  a21  a22  ... a2n  x2 

 y3  = a31  a32  …  a3n  x3 

…  ... ... ... … … 

 ym  am1  am2  ... amn  xn 

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 28/32

  33

Jadi dari blok plainteks yang panjangnya n akan didapatkan cipherteks yang

 panjangnya m. Dapat dilihat bahwa fungsi enkripsi memetakan dua himpunan yang

diperlihatkan pada gambar berikut:

Gambar 2.9 Fungsi enkripsi

Jika e A   ≤P Cinjektif maka haruslah atau n m≤   (2.1) 

Fungsi dekripsinya diturunkan dari fungsi enkripsi diatas. Karena  y = Ax, jika

 B ada dalam  Z  p

 x ∈

, maka x = By. Proses dekripsi dapat dipandang sebagai suatu sistem

 persamaan linear, yaitu: x = By, dengan  P = ( Z  p )n

 y ∈, C = ( Z  p)m. 

Matriks  A  berukuran mxn, agar eA

m n×

  injektif maka rank(A) = n  ( full   column

rank ). Jadi pemilihan kunci untuk aplikasi invers matriks tergeneralisasi pada

algoritma Hill Cipher dibatasi hanya untuk matriks yang  full   column rank. 

(2.2)

Selanjutnya karena A mempunyai full column rank , maka invers tergeneralisasi

dari A adalah:

 B = ( A H  A)-1 A H  

Karena semua perhitungan dilakukan atas  Z  p, maka  A H   =  AT . Sehingga

didapatkan

 B = ( AT  A)-1 AT   (2.3)

Im (e K )

e x = Kx

P = (Z p )n  C = (Z p )

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 29/32

  34

Telah diketahui bahwa jika  A  mempunyai  full column rank , maka ( AT  A)

invertible.

Hill Cipher Tergeneralisasi mangambil matriks  A  atas Z p yaitu Z29 sebagai

kunci. Pasangan matriks digunakan untuk proses enkripsi dan dekripsi. Sebelum

membagi teks-teks menjadi deretan blok-blok, terlebih dahulu plainteks

dikorespondensikan antara huruf dan bilangan, dengan ketentuan bilangan = Z29

1.  Diberikan  A  matriks berukuran mxn; m=n, kemudian dilakukan pengecekan

apakah matriks tersebut mempunyai invers matriks tergeneralisasi.

= {0,

1, 2, ..., 29} dan huruf = { A, B, C, ..., Z, spasi, koma, titik}.

2.5.1 Proses Penyandian

2.5.1.1 Proses Pembentukan Kunci

Pembentukan kunci pada Hill Cipher Tergeneralisasi ini, dilakukan dengan

langkah-langkah sebagai berikut:

2.  Jika punya, kemudian dicari  B  yaitu invers matriks tergeneralisasinya atas  Z  p

 B

 

yang berukuran nxm, dengan rumus:

= ( AT .

  A)-1 AT 

3.  Kedua pasangan matriks tersebut ( A  dan  B) digunakan untuk mengenkripsi dan

mendekripsi pesan, dimana  A  digunakan untuk mengenkripsi pesan dan  B

digunakan untuk mendekripsi pesan.

2.5.1.2 Proses Enkripsi

Proses enkripsi dilakukan dengan langkah-langkah sebagai berikut: 

1. Konversikan masing-masing karakter kedalam bilangan  Z  p.

2. Membagi pesan kedalam beberapa blok, yang masing-masing blok mempunyai n

komponen bilangan  Z  p.

3. Cipherteks dihitung dengan perhitungan y = A. x 

dimana, x = blok-blok plainteks.

 y = blok-blok cipherteks yang dihasilkan.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 30/32

  35

4. Bilangan cipherteks dikonversikan kedalam huruf alfabet.

2.5.1.3 Proses Dekripsi

Proses dekripsi dilakukan dengan langkah-langkah sebagai berikut:

1. Konversikan masing-masing karakter kedalam bilangan  Z  p.

2. Membagi pesan kedalam beberapa blok, yang masing-masing blok mempunyai n

komponen bilangan  Z  p.

3. Dilakukan perhitungan x = B.

 

1. Model air terjun (waterfall ). Model ini mengambil kegiatan proses dasar seperti

spesifikasi, pengembangan, validasi dan evolusi dan merepresentasikannya

 y

4. Konversikan masing-masing karakter kedalam huruf alfabet.

2.6 Rekayasa Perangkat Lunak

Rekayasa perangkat lunak adalah disiplin ilmu yang membahas semua aspek produksi

 perangkat lunak, mulai dari awal spesifikasi sistem sampai pemeliharaan sistem

setelah digunakan.

Ada banyak proses dalam pembuatan perangkat lunak, namun ada

kegiatan-kegiatan yang mendasar yang umum bagi semua proses perangkat lunak.

Kegiatan tersebut adalah:

1. Penspesifikasian perangkat lunak. Fungsionalitas perangkat lunak dan batasan

operasinya harus didefenisikan.

2. Perancangan dan implementasi perangkat lunak. Perangkat lunak yang memenuhi

syarat harus dibuat.

3. Pemvalidasian perangkat lunak. Perangkat lunak tersebut harus divalidasi untukmenjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan.

4. Pengevaluasian perangkat lunak. Perangkat lunak harus dapat berkembang untuk

menghadapi kebutuhan yang berubah-ubah.

Untuk memodelkan proses rekayasa perangkat lunak dapat dilakukan dengan

 beberapa pendekatan yaitu:

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 31/32

  36

sebagai fase-fase yang berbeda seperti spesifikasi persyaratan, perancangan

 perangkat lunak, implementasi, pengujian dan seterusnya.

2. Pegembangan evolusioner. Suatu sistem awal dikembangkan dengan cepat dari

spesifikasi abstrak.

3. Pengembangan sistem formal. Pendekatan ini didasarkan atas pembuatan

spesifikasi sistem matematis dan pentransformasian sistem ini dengan metode

matematis untuk membangun program.

4. Pengembangan berdasarkan pemakaian ulang. Pendekatan ini didasarkan adanya

komponen yang dapat dipakai ulang dalam jumlah yang signifikan.

Pada proses perancangan perangkat lunak dilakukan beberapa kegiatan seperti:

1. Perancangan arsitektural. Subsistem-subsistem yang membentuk sistem dan

hubungan mereka diidentifikasi dan didokumentasi.

2. Spesifikasi abstrak. Untuk setiap subsistem, spesifikasi abstrak dari layanan dan

 batasan operasinya harus ditentukan.

3. Perancangan komponen. Layanan dialokasikan pada komponen yang berbeda.

4. Perancangan struktur data. Struktur data yang dipakai pada implementasi sistem

dirancang secara rinci dan dispesifikasi.

5. Perancangan algoritma. Algoritma yang digunakan untuk memberikan layanan

dirancang secara rinci dan dispesifikasi.

2.7 MATLAB

Menurut bahasa, MATLAB adalah singkatan dari mathematics laboratory atau matrix

laboratory.  Dalam ilmu komputer, MATLAB didefinisikan sebagai bahasa pemograman yang digunakan untuk mengerjakan operasi matematika atau operasi

aljabar matriks. MATLAB merupakan sistem intraktif yang data dasarnya adalah

matriks. Matriks dianggap data dasar MATLAB karena semua input di MATLAB

dapat ditulis dalam bentuk matriks.

7/24/2019 aplikasi matriokeks kriptografi

http://slidepdf.com/reader/full/aplikasi-matriokeks-kriptografi 32/32

  37

2.7.1 Sejarah MATLAB

MATLAB pertama kali disusun oleh Cleve Moler yang menulis bahasa ini dengan

menggunakan bahasa pemograman Fortran ( Format Translation) di Mexico University 

dan Stanford University pada akhir 1970-an. Bahasa MATLAB digunakan pada mata

kuliah Teori Matrikas, Aljabar Linear, dan Analisis Numeris.

MATLAB saat ini ditulis dengan menggunakan bahasa pemograman C oleh

The Math Work. Edisi Pertama MATLAB ditulis oleh Steve Bangert dimana ia

menulis bagian interpreter. Bagian grafika ditulis oleh Steve Kleiman. John Litlle dan

Cleve Moler menulis rutin-rutin analitis ( Analitical Routines), petunjuk pemakai

(User’s Guide) dan sebagian besar dari File-m ( M-File). Sejak bagian pertama

MATLAB pertama ditulis, banyak orang yang bergabung dengan tim pengembangan

MATLAB dan berhasil memberikan sumbangan atau kontribusi yang substansial.

Sekarang kemampuan MATLAB jauh melebihi kemampuan  Matrix

 Laboratory semula, sehingga MATLAB dapat dikatakan sebagai bahasa pemograman

canggih untuk kegiatan komputasi.

2.7.2 Kemampuan dan Kegunaan MATLAB

Di dalam MATLAB terdapat kemampuan perhitungan, visualisasi, dan pemograman.

Kegunaan MATLAB secara umum adalah untuk:

1. Visualisasi

2. Pemodelan3. Perhitungan matematis

4. Program aplikasi

5. Pembuatan grafis

6. Mendesain algoritma

7. Analisis data

8. Pembuatan prototype

9. Simulasi

10. Eksplorasi