horizontal, baris per baris Gambar 2.2b. Bila pita dilepaskan, maka huruf-huruf di dalamnya menjadi tersusun acak membentuk pesan rahasia. Untuk membaca pesan,
penerima pesan harus melilitkan kembali kertas tersebut ke silinder yang sama[12].
a b
Gambar 2.2. a Sebuah scytale;
b Pesan ditulis secara horizontal, baris per baris[12]
2.1.4 Jenis Algoritma Kriptografi
Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis, yaitu sebagai berikut[6] :
1. Algoritma Simetris
Dalam algoritma simetris, kunci yang digunakan untuk proses enkripsi dan dekripsi sama Gambar 2.3. Istilah lain dari kriptografi ini adalah kriptografi
kunci privat private-key cryptography, kriptografi kunci rahasia secret-key cryptography, atau kriptografi konvensional conventional cryptography.
Dalam kriptografi kunci simetri dapat diasumsikan bahwa si penerima dan pengirim pesan telah terlebih dahulu bertukar kunci sebelum pesan dikirim.
Keamanan dari sistem ini terletak pada kerahasiaan kuncinya. Semua kriptografi klasik menggunakan sistem kunci simetri ini, dan ada beberapa
algoritma kriptografi modern yang juga menggunakan sistem kunci simetri seperti DES Data Encryption Stamdard, Triple-DES, dan One Time Pad.
Universitas Sumatera Utara
Gambar 2.3 Skema kriptografi simetri [12]
2. Algoritma Asimetri
Berbeda dengan algoritma kunci simetris, kriptografi algoritma asimetris mempunyai dua kunci yang berbeda pada proses enkripsi dan dekripsinya
Gambar 2.4. Nama lain dari algoritma ini adalah kriptografi kunci publik public key cryptography. Kunci enkripsi pada kriptografi ini tidak bersifat
rahasia publik, sedangkan kunci untuk dekripsi bersifat rahasia privat. Algoritma kriptografi yang asimetris seperti algoritma RSA, ElGamal,
Massey-Omura dll.
Gambar 2.4 Skema Kriptografi Asimetri [12]
2.1.5 Tujuan Kriptografi
Adapun empat tujuan mendasar dari kriptografi adalah[12]: 1.
Confidentiality, adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
2. Data integrity, adalah layanan yang menjamin bahwa pesan masih asliutuh
atau belum pernah dimanipulasi selama pengiriman. 3.
Authentication, adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi user
authentication or entity authentication maupun mengidentifikasi kebenaran sumber pesan data origin authentication.
Universitas Sumatera Utara
4. Non-repudiation, adalah layanan untuk mencegah entitas yang berkomunikasi
melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.
2.2 Three-Pass Protocol
Dalam kriptografi, Three-Pass Protocol dalam pengiriman pesan merupakan suatu kerangka kerja yang memungkinkan satu pihak untuk aman mengirim pesan ke pihak
kedua tanpa perlu untuk bertukar atau mendistribusikan kunci enkripsi. Disebut dengan Three-Pass Protocol karena pengirim dan penerima pesan melakukan
pertukaran sebanyak tiga tahap untuk mengenkripsi pesan tersebut. Three-Pass Protocol pertama kali dikembangkan oleh Adi Shamir pada sekitar tahun 1980.
Konsep dasar Three-Pass Protocol adalah bahwa masing-masing pihak memiliki kunci enkripsi pribadi dan sebuah kunci dekripsi pribadi. Kedua belah pihak
menggunakan kunci mereka masing-masing untuk mengenkripsi pesan dan kemudian untuk mendekripsi pesan[5].
Gambar 2.5 Skema Three-Pass Protocol
Cara kerja skema Three-Pass Protocol [5]: 1.
Pengirim Alice memilih sebuah kunci sandi pribadi s dan kunci dekripsi t. Pengirim pesan mengenkripsi pesan m dengan kunci s dan mengirimkan
pesan terenkripsi Es, m untuk penerima Bob . 2.
Penerima memilih sebuah kunci pribadi r dan kunci dekripsi q dan mengenkripsi pesan pertama Es,m dengan kunci r lalu, mengirimkan
kembali kunci enkripsi ganda Er, Es,m kepada pengirim Alice .
Universitas Sumatera Utara
3. Pengirim Alice mendekripsi pesan kedua dengan kunci t. Karena dari
sifat komutatif dimana Dt, Er, Es,m = Er,m merupakan pesan yang dienkripsi dengan hanya menggunakan private key penerima Bob. Lalu
pengirim mengirimkan pesan tersebut kepada penerima Bob dan di dekripsi dengan Dq, Er,m = m yaitu sebagai pesan asli.
2.3 Aritmatika Modulo
Aritmatika modulo sangat berperan dalam kriptografi karena banyak digunakan dalam algoritma enkripsi, baik untuk enkripsi simetris maupun untuk public key
cryptography.[11]
Misalkan a adalah bilangan bulat dan m adalah bilangan bulat 0. Operasi a mod m memberikan sisa jika a dibagi dengan m. Bilangan m disebut modulo, dan
hasil aritmatika modulo m terletak di dalam himpunan {0,1,2,…,m-1}. Sehingga dinotasikan [12] :
a mod m = r sedemikian sehingga a = mq + r, dengan 0 ≤ r m.
Contoh: 23 mod 5 = 3 23 = 5 x 4 + 3
2.4 Greatest Common Divisor GCD
Greatest Common Divisor GCD disebut juga Pembagi Bersama Terbesar PBB. Misalkan a dan b adalah dua buah bilangan bulat tidak nol. Maka GCD dari a dan b
adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b. Dalam hal ini kita nyatakan bahwa GCDa,b = d [12].
Contoh : Faktor pembagi 45: 1,3,5,9,15,45
Faktor pembagi 36: 1,2,3,4,9,12,18,36 Faktor pembagi bersama dari 45 dan 36 adalah 1,3,9
Sehingga GCD45,36 = 9
Universitas Sumatera Utara
2.5 Algoritma
Euclidean
Algoritma Euclidean adalah algoritma untuk mencari Pembagi Bersama Terbesar PBB atau GCD dari dua buah bilangan bulat. Euclid, penemu algoritma Euclidean,
adalah seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam bukunya yang terkenal, Element [12].
Diberikan dua buah bilangan bulat tak-negatif m dan n m ≥ n . Algoritma
Euclidean berikut mencari pembagi bersama terbesar dari m dan n[12].
Algoritma Euclidean[12]: 1.
Jika n = 0 maka m adalah PBB m,n; stop. Kalau tidak yaitu n
≠ 0 lanjutkan ke langkah 2. 2.
Bagilah m dengan n dan misalkan r adalah sisanya 3.
Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1.
Contoh: Misalkan m = 88 , n = 36 dan dipenuhi syarat m
≥ n , maka PBB88,36 dihitung dengan cara sebagai berikut:
88 mod 36 = 16 36 mod 16 = 4
16 mod 4 = 0 STOP Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB 88,36 = 4
2.6 Relatif Prima
Dua buah bilangan bulat a dan b dikatakan relatif prima jika GCDa,b = 1. Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga[12]
ma + nb = 1 …………………………………. 2.3
Contoh: 20 dan 3 relatif prima karena GCD20,3 = 1, dengan m = 2 dan n = -13.
Maka dapat ditulis 2 x 20 + -13 x 3 = 1
Universitas Sumatera Utara
2.7 Inversi Modulo
Jika a dan m relatif prima dan m 1, maka dapat diketahui inversi dari a modulo m. Inversi dari a mod m, disebut juga inversi perkalian, adalah bilangan bulat
�
−1
sedemikian sehingga[12]. ��
−1
≡ 1 mod � …………………………………. 2.4 Contoh :
Berapa inversi modulo dari 5 mod 12 ? Diketahui m = 5 , n = 12
Tabel 2.1 Proses Perhitungan Invers Modulo
�
−1
�
−1
x ���� �
1 1 x 5 mod 12 = 5
2 2 x 5 mod 12 = 10
3 3 x 5 mod 12 = 3
4 4 x 5 mod 12 = 8
5 5 x 5 mod 12 = 1
Maka invers modulo dari 5 mod 12 adalah �
−1
= 5
2.8 Fermat’s Little Theorem
Pierre De Fermat lahir di Beaumont-de-Lomagne, Tarn-et-Garonne, Prancis. Ia memberikan banyak sekali kontribusi pada ilmu teori bilangan. Salah satu teoremanya
yang terkenal adalah Fermat’s Little Theorem. Teorema ini pertama kali dinyatakannya pada sebuah surat untuk temannya, Frencle de Bessy, pada tanggal 18
Oktober 1640 [3]. Secara formal, Fermat’s Little Theorem ini dapat ditulis[3]:
Misalkan a suatu bilangan bulat positif dan p suatu bilangan prima, maka Untuk
��� �,� = 1, berlaku �
�−1
≡ 1 ��� � ………………………………….
2.5
Universitas Sumatera Utara
Contoh, kalkulasikan 2
58
mod 19. Karena 19 adalah bilangan prima dan 2 tidak dapat dibagi 19, maka teorema ini dapat digunakan untuk mengkalkulasi
2
18
≡ 2
19−1
mod 19 ≡ 1 mod 19
Jadi 2
58
= 2
18 3
x 2
4
≡ 1
3
x 2
4
≡ 16 mod 19
Meskipun dapat digunakan untuk mempermudah kalkulasi, dalam kriptografi, peran terpenting dari Fermats little theorem adalah sebagai dasar dari berbagai teknik
enkripsi asimetris[11].
2.9 Algoritma Massey-Omura
Massey-Omura Cryptosystem adalah salah satu cryptosystem kunci publik yang berdasarkan pada logaritma diskrit. Diusulkan oleh James Massey dan Jim K. Omura
pada tahun 1982 sebagai pengembangan atas Three Pass Protocol oleh Shamir pada tahun 1980, dimana pengirim dan penerima tidak bertukar kunci namun protocol ini
memerlukan pengirim dan penerima yang memiliki dua kunci untuk mengenkripsi dan mendekripsi pesan[16].
Berikut cara kerja dari Algoritma Massey-Omura[5]: a.
Semua pengguna telah mensepakati sebuah bilangan prima p berdasarkan Fermat’s Little Theorem.
b. Setiap pengguna secara rahasia memilih acak bilangan bulat e antara 0
hingga p–1 berdasarkan GCD e, p–1 = 1, dan menghitung d =
�
−1
mod p–1 ………………………………….
2.6 dengan menggunakan algoritma Euclidean GCD.
c. Alice ingin mengirim pesan M yang aman untuk Bob, kemudian mereka
ikuti prosedur berikut : 1.
Alice menambahkan kunci �� pada pesan M sehingga Alice mengirimkan pesan
�
��
kepada Bob.
Universitas Sumatera Utara
Alice Bob
Bob Bob
Alice Alice
2. Pada saat menerima pesan, Bob menambahkan kunci lagi yaitu ��
sehingga mengirimkan pesan �
����
kembali ke Alice perhatikan bahwa saat ini, Bob tidak bisa membaca pesan Alice M.
3. Setelah menerima pesan dari Bob, Alice melakukan dekripsi dengan
memakai �� sehingga didapat �
������
= �
��
kemudian dikirim kembali kepada Bob.
4. Bob menerima �
��
dan melakukan dekripsi pesan sehingga didapat �
����
= M, dan terbukalah pesan asli Alice yaitu M.
Gambar 2.6 Skema Prosedur Pengiriman Pesan Alice-Bob [5]
Keterangan: M
= Pesan yang akan dikirimkan ��
= Kunci enkripsi Alice ��
= Kunci enkripsi Bob ��
= Kunci dekripsi Alice ��
= Kunci dekripsi Bob
2.10 Steganografi
2.10.1 Definisi Steganografi