• Tidak ada hasil yang ditemukan

Implementasi Three-Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk Pengamanan Data

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Three-Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk Pengamanan Data"

Copied!
66
0
0

Teks penuh

(1)

DAFTAR PUSTAKA

Arjana, P.T., Rahayu, T.P., Yakub & Hariyanto. 2012. Implementasi Enkripsi Data dengan Algoritma Vignere Cipher. Seminar Nasional Teknologi Informasi dan

Komunikasi 2012, pp. 164-169.

Azemovic. J. 2014. SQL Server Confidential – Part I – Crypto basics and SQL Server Bellare, M. & Rogaway, P. 2005. Introduction to Modern Cryptography. California. Dennis, Alan., Wixom, B.H. & Roth R.M. 2012. System Analysis and Design. 5th

Edition. John Wiley & Sons, Inc: United States of America.

Fauzana. 2013. Penerapan sistem kriptografi rsa banyak kunci untuk prototipe autentikasi pengguna pada web. Skripsi. Universitas Sumatera Utara.

Haramaini, T. 2014. Algoritma One Time Pad pada Three Pass Protocol. Tesis. Universitas Sumatera Utara.

Hartono, Jogiyanto. 2005. Analisis dan Desain Sistem Informasi: Pendekatan

Terstruktur Teori dan Praktik Aplikasi Bisnis. Edisi Ketiga. Andi Offset:

Yogyakarta.

Kurniawan, Agus. 2008. Konsep dan Implementasi Cryptography dengan .NET. Dian Rakyat: Jakarta.

Mollin, R. 2007. An Introduction to Cryptography: Discrete Mathematics and Its

Applications. Kenneth H. Rosen. 2nd Edition. Taylor & Francis Group, LLC: New York.

Mulyono, H. & Rodiah. 2013. Implementasi Algoritma One Time Pad pada Penyimpanan Data Berbasis Web. Seminar Nasional Teknologi Informasi dan

Multimedia 2013.

Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya

dalam Bahasa Java. Andi Offset: Yogyakarta.

Schneier, B. 1996. Applied Cryptography: Protocols, Algorithms, and Source Code in

C. 2nd Edition. New York.

Sebayang, A.M.S. 2014. Implementasi kombinasi beaufort cipher dan affine cipher pada three-pass protocol. Skripsi. Universitas Sumatera Utara.

Singh, Y.N. 2012. Generalization of Vigenere Cipher. ARPN Journal of Engineering

and Applied Sciences. 1(7): 39-44.

Tassel, D.V. 1969. Cryptographic Techniques for Computers. Proceeding of Spring

Joint Computer Conferences. 367-373.

Widiasari, I.R. 2012. Combining Advanced Encryption Standard (AES) and One Time Pad (OTP) Encryption for Data Security. International Journal of Computer

Applications 57(20): 1-8.

Widyastuti, Naniek. 2014. Pengembangan Motode Beaufort Cipher Menggunakan Pembangkit Kunci Chaos. Jurnal Teknologi. 1(7): 73-82.

Whitten, et al. 2004. Metode Desain & Analisis Sistem. Edisi 6. McGraw-Hill: New York.

Whitten, J.L. & Bentley, L.D. 2007. System Analysis and Design Methods. 7th Edition. McGraw-Hill/Irwin: New York.

(2)

BAB 3

ANALISIS DAN PERANCANGAN

3.1.Analisis Sistem

Whitten & Bentley (2007) menyatakan bahwa analisis sistem (systems analysis) adalah sebuah teknik pemecahan masalah dimana sistem diuraikan menjadi komponen-kompenen dengan tujuan untuk mempelajari kinerja masing-masing komponen tersebut dalam mencapai tujuan sistem. Tahap analisis sistem dilakukan sebelum tahap perancangan sistem (systems design). Tahap ini merupakan tahap yang sangat penting dan kritis, karena kesalahan yang terjadi pada tahap ini dapat menyebabkan kesalahan di tahap-tahap berikutnya (Hartono, 2005).

3.1.1. Analisis Masalah

Pada tahap analisis masalah akan dihasilkan deskripsi penyebab dari masalah yang akan diselesaikan oleh sistem. Masalah-masalah yang diperoleh tersebut kemudian digambarkan dalam sebuah diagram yang dikenal dengan sebutan Diagram Ishikawa atau disebut juga Fishbone Diagram. Diagram ini merupakan diagram yang telah banyak digunakan oleh para analis sistem untuk mengidentifikasi, menganalisa dan memecahkan masalah (Whitten & Bentley, 2007).

(3)

Gambar 3.1 Diagram Ishikawa Masalah Penelitian

Pada gambar 3.1 dapat dilihat bahwa terdapat empat kategori penyebab masalah pada penelitian Implentasi Algoritma Kriptografi Klasik dalam Three-Pass Protocol yang digambarkan dengan tanda panah yang mengarah ke tulang utama, yaitu berkaitan dengan pengguna (users), media/alat yang terlibat (materials), metode (methods) dan sistem (system). Setiap detail penyebab masalah tersebut digambarkan dengan tanda panah yang mengarah ke masing-masing kategori.

Pada gambar 3.1 juga dapat dilihat bahwa permasalahan yang muncul berkaitan dengan pengiriman dan penerimaan pesan yang bersifat aman dan rahasia. Oleh karena itu dibutuhkan mekanisme kriptografi yang dapat mengamankan pesan selama proses pengiriman berlangsung. Proses pengamanan pesan dengan mekanisme kriptografi tersebut disebut juga dengan cryptosystem. Kurniawan (2008) menyatakan bahwa

cryptosystem terdiri dari elemen-elemen sebagai berikut:

1. Plaintext yang disimbolkan dengan P, yaitu pesan yang belum diproses melalui

suatu algoritma kriptografi. Pesan yang dimaksud dapat berupa teks, gambar atau bentuk file yang lain.

2. Ciphertext yang disimbolkan dengan C, yaitu plaintext yang telah melalui

algoritma kriptografi.

3. Key yang disimbolkan dengan K, yaitu parameter kunci yang digunakan untuk

melakukan proses enkripsi dan dekripsi pesan.

Jalur pengiriman pesan dan kunci yang mungkin dimasuki oleh penyusup

Kemungkinan pesan dan kunci yang terkirim dengan mekanisme yang mudah dan aman

System Method

Material

Belum adanya aplikasi desktop yang mengombinasikan dua algoritma kriptografi klasik yang dipilih Pengiriman kunci

dengan karakter yang panjang membutuhkan biaya yang lebih besar

Algoritma kriptografi klasik yang dianggap kurang aman.

(4)

4. Fungsi enkripsi dan dekripsi yang keduanya disimbolkan dengan E(P) dan

D(C).

3.1.2. Analisis Persyaratan

Tahap analisis persyarakat dilakukan setelah tahap analisis masalah. Tahap ini bertujuan untuk mengumpulkan kebutuhan sistem yang disebut dengan requirement. Daftar

requirement berdasarkan kebutuhan yang harus dipenuhi sebuah sistem dapat dibagi

menjadi dua jenis, yaitu functional requirement (persyaratan fungsional) dan

Non-functional requirement (persyaratan nonfungsional) (Dennis et al., 2012).

a. Persyaratan Fungsional

International Institute of Business Analysis (IIBA) (dalam Dennis et al., 2012)

mendefinisikan persyaratan fungsional dari sebuah sistem sebagai “kemampuan dari sebuah produk atau hal-hal yang mampu dilakukan oleh sistem untuk memenuhi kebutuhan pengguna.” Persyaratan fungsional dari sistem yang mengimplementasikan

kombinasi algoritma Beaufort Cipher dan One Time Pad dalam Three-Pass Protocol adalah sebagai berikut:

1. Menerima input plaintext

Sistem mencari dan membaca file teks yang berekstensi .doc yang tersimpan pada perangkat yang digunakan atau sistem menerima input plaintext dari pengguna secara manual.

2. Menerima input kunci

Sistem menerima input kunci yang berasal dari pengguna atau sistem membangkitkan kunci secara acak untuk digunakan sebagai kunci Beaufort dan

One Time Pad.

3. Mengenkripsi pesan

(5)

4. Mendekripsi pesan

Sistem mendekripsi pesan dengan kunci yang telah ada menggunakan algoritma

Beaufort Cipher untuk pengguna pertama atau One Time Pad untuk pengguna

kedua.

b. Persyaratan Nonfungsional

Persyratan yang berhubungan dengan kualitas atribut, batasan implementasi dan desain antarmuka yang harus dimiliki oleh sebuah sistem disebut dengan persyaratan nonfungsional (nonfunctional requirement) (IIBA dalam Dennis et al., 2012). Persyaratan nonfungsional dari sistem yang mengimplementasikan kombinasi algoritma Beaufort Cipher dan One Time Pad dalam Three-Pass Protocol adalah sebagai berikut:

1. User Friendly

Sistem menggunakan desain yang mudah dimengerti dan dipelajari. 2. Dokumentasi

Sistem yang akan dibangun memiliki panduan penggunaan. 3. Performa

Sistem melakukan proses enkripsi dan dekripsi pesan dengan waktu yang relatif singkat.

4. Kontrol

Sistem yang akan dibangun akan menampilkan pesan error untuk setiap input yang tidak sesuai.

5. Hemat Biaya

Sistem dibangun dengan memanfaatkan perangkat lunak freeware yang dapat digunakan dan disebarluaskan dengan bebas.

3.1.3. Pemodelan Sistem

Pemodelan sistem ini menggunakan diagram UML (Unified Modelling Language) untuk menggambarkan bagaimana sistem akan bekerja. Diagram UML yang digunakan adalah Use Case Diagram, Activity Diagram dan Sequence Diagram.

(6)

a. Use Case Diagram

Diagram use case digunakan untuk menggambarkan hubungan atau interaksi antara sistem dengan pengguna. Diagram ini menggambarkan sebagian besar kebutuhan fungsional yang telah dirincikan sebelumnya. Diagram use case untuk kebutuhan fungsional dapat dilihat pada gambar 3.2.

Gambar 3.2 Diagram Use Case Sistem

(7)

b. Activity Diagram

Gambar 3.3 Activity Diagram Sistem

(8)

Activity Diagram (Diagram Aktifitas) menggambarkan interaksi aktifitas antara

pengguna dengan sistem secara detil dan berurut. Kotak paling kiri pada gambar 3.3 merupakan aktifitas yang dilakukan oleh pengguna, sedangkan kotak sebelah kanan adalah respon yang diberikan sistem terhadap aktifitas yang dilakukan pengguna terhadap sistem.

c. Sequence Diagram

Whitten (2007) menyebutkan bahwa sequence diagram adalah suatu diagram yang menggambarkan interaksi antar objek pada sistem dalam sebuah urutan waktu atau rangkaian waktu. Sequence diagram untuk sistem ini digambarkan pada gambar 3.4.

Gambar 3.4 Sequence Diagram Sistem

(9)

3.1.4. Pseudocode

a. Algoritma Beaufort Cipher

Algoritma Beaufort Cipher terdiri dari dua fungsi, yaitu fungsi enkripsi dan fungsi dekripsi. Pseudocode untuk masing-masing fungsi ditunjukkan pada tabel 3.1 dan 3.2.

Tabel 3.1 Pseudocode enkripsi Beaufort Cipher

Function EnkBeaufort(P,K)

Tabel 3.2 Pseudocode dekripsi Beaufort Cipher

Function DekBeaufort(C,K)

b. Algoritma One Time Pad

Algoritma One Time Pad terdiri dari dua fungsi, yaitu fungsi enkripsi dan fungsi dekripsi. Pseudocode untuk masing-masing fungsi ditunjukkan pada tabel 3.3 dan 3.4.

Tabel 3.3 Pseudocode enkripsi One Time Pad

(10)

Tabel 3.4 Pseudocode dekripsi One Time Pad

Function DekOTP(C,K) result = ‘’ l = [] m = []

for i=0 to i<len(C)

l.append(kar.index(C[i])) m.append(kar.index(K[i])) for i=0 to i<len(P)

temp = (l[i]-m[i])% n result += kar[temp] return result

c. Pengacakan Kunci

Pseudocode untuk pengacakan kunci dapat dilihat pada tabel 3.5.

Tabel 3.5 Pseudocode Acak Kunci

Function Acak(P)

result = ‘’

for i=0 to i<len(P)

BilRand_Key = random.randint(10,99)

temp = (kar.index(P[i]) + BilRand_key)% n result = result + kar[temp]

return result

3.1.5. Flowchart

a. Flowchart Sistem

Flowchart sistem yang menunjukkan alur kerja sistem secara sistematis ditampilkan

(11)

Gambar 3.5 Flowchart Sistem

(12)

b. Flowchart Algoritma Beaufort Cipher

Gambar 3.6 menunjukkan diagram alir algoritma Beaufort Cipher. Pada gambar dapat dilihat bahwa proses enkripsi diawali dengan input plaintext dan kunci Beaufort. Kedua input tersebut kemudian diproses dengan fungsi enkripsi Beaufort Cipher, dimana dari hasil enkripsi tersebut diperoleh ciphertext. Untuk mendapatkan plaintext kembali, dilakukan pendekripsian ciphertext dengan fungsi dekripsi.

Gambar 3.6 Flowchart Algoritma Beaufort Cipher

c. Flowchart Algoritma One Time Pad

(13)

Gambar 3.7 Flowchart Algoritma One Time Pad

d. Algoritma Pengacakan Kunci

Algoritma pengacakan kunci digunakan untuk proses enkripsi dan dekripsi kedua algoritma yang digunakan. Algoritma ini digunakan agar kunci yang dihasilkan acak, sehingga algoritma akan sulit diruntuhkan. Gambar 3.8 menunjukkan diagram alir pengacakan kunci yang akan digunakan.

(14)

Gambar 3.8 Diagram Alir Acak Kunci

Pada gambar 3.8 dapat dilihat bahwa pengacakan kunci dilakukan sesuai dengan

plaintext yang telah diinputkan sebelumnya. Selanjutnya panjang plaintext dijumlahkan

dengan bilangan acak untuk menghasilkan kunci acak dimana jumlah karakter kunci yang dihasilkan sama dengan jumlah karakter plaintext.

3.2.Perancangan Interface

Proses perancangan antarmuka sistem bertujuan untuk mendefinisikan bagaimana sistem akan berinteraksi dengan entitas dari luar sistem tersebut, contohnya adalah pengguna atau interaksi dengan sistem lain (Dennis, et al. 2012). Perancangan antarmuka sistem akan digambarkan melalui mock-up. Fauzana (2013) menyatakan bahwa mock-up adalah sebuah rancangan sistem yang tidak lengkap dan berskala kecil yang digunakan sebagai tampilan desain awal. Sistem dirancang memiliki empat

mock-up, yaitu halaman awal, teori singkat, enkripsi-dekripsi dan tentang aplikasi.

a. Halaman Awal

(15)

Gambar 3.9 Perancangan Antarmuka Halaman Awal Keterangan gambar:

1. Label digunakan untuk judul sistem.

2. Picturebox digunakan untuk logo universitas.

3. Button digunakan untuk masuk ke dalam sistem.

b. Halaman Teori Singkat

Halaman teori singkat berisi teori singkat mengenai algoritma Beaufort Cipher dan One

Time Pad serta mekanisme Three-Pass Protocol. Halaman teori singkat dapat dilihat

pada gambar 3.10.

Gambar 3.10 Perancangan Antarmuka Halaman Teori Singkat

1

2

3

Teori Singkat Enkripsi-Dekripsi Tentang Aplikasi

Beaufort Cipher One Time Pad Three-Pass Protocol

Informasi tentang

algoritma Beaufort

Cipher.

Informasi tentang

algoritma One Time

Pad.

Informasi tentang

mekanisme

Three-Pass Protocol. 1

2 3 4

5 6 7

(16)

Keterangan gambar:

1. TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada

sistem.

2. Label digunakan untuk judul algoritma Beaufort Cipher.

3. Label digunakan untuk judul algoritma One Time Pad.

4. Label digunakan untuk judul mekanisme Three-Pass Protocol.

5. Rich Text Box digunakan untuk teori singkat mengenai algoritma Beaufort Cipher.

6. Rich Text Box digunakan untuk teori singkat mengenai algoritma One Time Pad.

7. Rich Text Box digunakan untuk teori singkat mengenai mekanisme Three-Pass Protocol.

c. Halaman Enkripsi-Dekripsi

Halaman enkripsi-dekripsi merupakan halaman yang digunakan untuk melakukan proses enkripsi pesan dan mendekripsikannya kembali dengan menggunakan algoritma

Beaufort Cipher dan One Time Pad yang diimplementasikan pada mekanisme

Three-Pass Protocol. Gambar 3.11 merupakan rancangan antarmuka halaman

enkripsi-dekripsi.

Gambar 3.11 Perancangan Antarmuka Halaman Enkripsi Dekripsi

Teori Singkat Enkripsi-Dekripsi Tentang Aplikasi

(17)

Keterangan gambar:

1. TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada

sistem.

2. Textbox digunakan untuk menampilkan nama file yang digunakan untuk proses

enkripsi-dekripsi.

3. Button ini digunakan untuk mencari file yang akan digunakan.

4. Button ini digunakna untuk membuka file yang akan digunakan.

5. Rich Text Box digunakan untuk menampilkan isi file yang digunakan.

6. Text Box digunakan untuk menampilkan jumlah karakter pada file.

7. Label digunakan untuk menampilkan kata karakter.

8. Button digunakan untuk menghitung jumlah karakter yang digunakan pada rich text box nomor 6.

9. Rich Text Box untuk menampung kunci Beaufort.

10.Button digunakan untuk mengacak kunci Beaufort.

11.Button digunakan untuk memulai proses enkripsi dengan algoritma Beaufort Cipher.

12.Rich Text Box untuk menampung karakter hasil enkripsi dengan algoritma Beaufort Cipher.

13.Rich Text Box untuk menampung kunci One Time Pad.

14.Button digunakan untuk mengacak kunci One Time Pad.

15.Button digunakan untuk memulai proses enkripsi dengan algoritma Beaufort One Time Pad.

16.Rich Text Box untuk menampung karakter hasil enkripsi dengan algoritma One Time Pad.

17.Rich Text Box untuk menampung kunci Beaufort yang digunakan untuk enkripsi

sebelumnya.

18.Button digunakan untuk memulai proses dekripsi dengan algoritma Beaufort Cipher.

19.Rich Text Box untuk menampung karakter hasil dekripsi pertama dengan

algoritma Beaufort Cipher.

20.Rich Text Box untuk menampung kunci One Time Pad yang digunakan untuk

enkripsi sebelumnya.

(18)

21.Button digunakan untuk memulai proses dekripsi dengan algoritma One Time Pad.

22.Rich Text Box untuk menampung karakter hasil dekripsi dengan algoritma One Time Pad.

23.Button digunakan untuk mereset kembali halaman enkripsi-dekripsi.

d. Halaman Tentang Aplikasi

Halaman tentang aplikasi memberikan informasi umum mengenai sistem ini. Gambar 3.12 merupakan rancangan antarmuka halaman tentang sistem.

Gambar 3.12 Perancangan Antarmuka Halaman Tentang Sistem Keterangan gambar:

1. TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada

sistem.

2. Rich Text Box berfungsi untuk menampilkan informasi tentang aplikasi secara

umum.

3. Picture Box digunakan untuk logo universitas.

Teori Singkat Enkripsi-Dekripsi Tentang Aplikasi 1

2

(19)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1.Implementasi

4.1.1. Perhitungan dengan Algoritma Beaufort Cipher

Proses enkripsi dan dekripsi algortima Beaufort Cipher dirumuskan sebagai berikut: � − � ≡ �

� − ≡ � �

dimana � adalah rangkaian plaintext, adalah key, adalah ciphertext yang diperoleh dan adalah jumlah karakter yang digunakan (Mollin, 2007). Berikut adalah contoh proses enkripsi dan dekripsi pesan S dengan kunci m dengan jumlah karakater yang digunakan berjumlah 26 karakter:

≡ − �

≡ − �

≡ − � � ≡ ≡ �

Sedangkan proses dekripsi huruf U dengan kunci m adalah sebagai berikut:

� ≡ − �

≡ − �

≡ − � � ≡ � ≡ �

4.1.2. Perhitungan dengan Algoritma One Time Pad

Secara matematis proses enkripsi dan dekripsi One Time Pad dituliskan sebagai berikut:

�≡ ��+ �� � � �� ≡ �− �� � �

(20)

dimana � adalah rangkaian plaintext, adalah key, adalah ciphertext yang diperoleh dan � adalah jumlah karakter yang digunakan. Berikut adalah contoh proses enkripsi dan dekripsi pesan D dengan kunci m dengan jumlah karakater yang digunakan berjumlah 26 karakter:

≡ + �

≡ + �

≡ �

≡ ≡ �

Ciphertext yang diperoleh kemudian dienkripsi dengan kunci yang sama, menjadi:

� ≡ � − �

� ≡ − �

� ≡ � � ≡ ≡

4.2.Pengujian

Sistem implementasi algoritma Beaufort Cipher dan One Time Pad pada Three-Pass

Protocol ini diberi nama BeOnThee. Aplikasi ini dibangun dengan menggunakan

bahasa pemrograman Python untuk fungsi-fungsi algoritma utama dan bahasa pemrograman C# untuk desain antarmuka sistem. BeOnThee terdiri dari empat halaman utama, yaitu halaman awal, teori singkat, enkripsi-dekripsi dan tentang aplikasi.

4.2.1. Halaman Awal

(21)

Gambar 4.1 Antarmuka Halaman Utama Sistem

Pada gambar 4.1 dapat dilihat bahwa halaman utama terdiri dari judul sistem, logo universitas dan sebuah tombol next. Tombol ini digunakan untuk masuk ke dalam sistem.

4.2.2. Halaman Teori Singkat

Halaman teori singkat dapat dilihat pada gambar 4.2.

Gambar 4.2 Antarmuka Halaman Teori Singkat

Tab control pada bagian kiri atas kotak dialog menunjukkan halaman yang sedang

diakses oleh pengguna. Halaman ini adalah halaman pertama yang dapat dilihat oleh

(22)

pengguna setelah masuk ke dalam sistem. Halaman teori singkat berisi tentang informasi algoritma dan metode yang digunakan pada sistem.

4.2.3. Halaman Enkripsi-Dekripsi

Halaman enkripsi-dekripsi adalah halaman dimana fungsi utama dari sistem ini dapat diakses. Pada halaman ini pengguna dapat melakukan enkripsi dan dekripsi pesan dengan mekanisme Three-Pass Protocol. Pengguna akan memilih file teks berekstensi

.doc yang tersimpan pada perangkat atau dapat langsung melakukan input teks secara

manual pada text box yang telah disediakan. Selanjutnya, pengguna harus melakukan input kunci untuk masing-masing algoritma atau pengguna juga dapat melakukan pengacakan kunci secara otomatis dengan menekan button acak kunci. Proses enkripsi dan dekripsi akan dimulai ketika pengguna menekan tombol enkripsi atau dekripsi yang terdapat pada kotak dialog enkripsi-dekripsi. Pada halaman tersebut juga tersedia tombol reset untuk mengulang kembali proses enkripsi dan dekripsi. Halaman enkripsi-dekripsi dapat dilihat pada gambar 4.3.

Gambar 4.3 Antarmuka Halaman Enkripsi-Dekripsi

4.2.4. Halaman Tentang Aplikasi

(23)

Gambar 4.4 Antarmuka Halaman Tentang Aplikasi

4.2.5. Proses Pengujian Algoritma Pada Sistem

Pengujian dilakukan terhadap algoritma Beaufort Cipher dan One Time Pad pada mekanisme Three-Pass Protocol dengan melihat keberhasilan sistem melakukan enkripsi dan dekripsi plaintext. Parameter yang digunakan dalam pengujian ini adalah keutuhan data, kompleksitas algoritma dan waktu proses. Pengujian dilakukan dengan memperhatikan kriteria berikut:

1. Plaintext yang digunakan berupa kata atau kalimat dengan panjang 11, 26 dan 73

karakter. Plaintext dapat diinputkan melalui file berekstensi .doc atau secara manual melalui textbox yang tersedia.

2. Karakter yang digunakan adalah Ʃ = {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ., ,, !, &, *, #, ^, (, $, %, ), {, }, [, ],+, -, =, <, >, /, :, ;, _, ?, |, `, ~, \\, @, ‘ ‘}

|Ʃ| = 93

3. Kunci untuk kedua algoritma dapat diinputkan langsung oleh pengguna dengan syarat panjang kunci harus sama dengan panjang karakter plaintext yang digunakan. Selain itu, pengguna juga dapat melakukan pengacakan kunci secara otomatis dengan menekan tombol acak kunci pada halaman enkripsi-dekripsi. Kunci hasil pengacakan tersebut terdiri dari karakter ASCII printable character yang diacak menggunakan RandomNumber Python.

(24)

4. Penghitungan waktu proses dilakukan secara manual dengan menggunakan bahasa pemrograman Python.

Pengujian dimulai dengan melakukan input karakter melalui file berekstensi

.doc atau dapat melakukan input langsung melalui textbox yang tersedia. Selanjutnya

pengguna menginputkan karakter kunci untuk algoritma Beaufort Cipher atau menekan tombol acak kunci untuk mendapatkan kunci yang telah diacak menggunakan

RandomNumber Python. Setelah itu sistem akan melakukan proses enkripsi untuk

algoritma Beaufort Cipher. Proses yang sama juga berlaku untuk enkripsi algoritma

One Time Pad. Proses selanjutnya adalah dekripsi pesan dengan menggunakan kedua

algoritma tersebut. Setelah proses dekripsi untuk kedua algoritma selesai dilakukan maka dihasilkan plaintext awal yang telah diinputkan. Gambar 4.5 menunjukkan hasil pengujian untuk kata ‘universitas’.

Gambar 4.5 Hasil Pengujian

4.2.5.1.Keutuhan Data

(25)

a. Pengacakan Kunci

Langkah pertama yang dilakukan setelah pengguna melakukan input plaintext adalah menginputkan kunci. Kunci untuk masing-masing algoritma dapat diinputkan langsung oleh pengguna atau memanfaatkan fitur acak kunci yang telah disediakan sistem. Fitur acak kunci pada algoritma Beaufort Cipher sama dengan fitur acak kunci pada algoritma

One Time Pad. Fitur tersebut memanfaatkan fungsi RandomNumber pada bahasa

pemrograman Python.

Kunci hasil pengacakan dihasilkan melalui penjumlahan indeks masing-masing karakter plaintext dengan bilangan yang diacak dengan RandomNumber Python. Hasil penjumlahan tersebut kemudian dimodulo dengan jumlah karakter yang digunakan. Sehingga karakter hasil pengacakan kunci dipastikan tidak akan keluar dari list karakter yang digunakan. Berikut contoh hasil pengacakan kunci dengan plaintext D,

RandomNumber 95 dan jumlah karakter 93.

� = + �

� = �

� =

Dari hasil perhitungan pengacakan kunci, kunci yang diperoleh adalah karakter yang berada pada indeks ke-5, yaitu F. Hasil pengacakan kunci kedua algoritma untuk

plaintext universitas dapat dilihat pada gambar 4.6.

Gambar 4.6 Hasil Pengacakan Kunci

Informasi kunci untuk algoritma Beaufort Cipher dan One Time Pad yang diperoleh melalui proses pengacakan kunci dapat dilihat pada tabel 4.1.

(26)

Tabel 4.1 Informasi Kunci Beaufort dan One Time Pad

Beaufort Cipher One Time Pad

Plaintext Kunci Ciphertext 1 Kunci

Karakter Indeks Karakter Indeks Karakter Indeks Karakter Indeks

u 56 A 0 b 37 ( 69

n 49 , 63 O 14 y 60

i 44 S 54 K 10 d 39

v 57 V 21 v 57 8 34

e 40 U 56 Q 16 \ 90

r 53 J 45 _ 85 k 46

s 54 T 19 W 22 ^ 68

i 44 J 45 B 1 X 23

t 55 ) 72 R 17 > 81

a 36 I 8 & 65 f 41

s 54 1 26 * 66 j 45

b. Enkripsi Beaufort Cipher

Proses enkripsi yang pertama dilakukan dengan menggunakan algoritma Beaufort

Cipher. Plantext yang telah diinputkan oleh pengguna dienkripsi menggunakan kunci

Beaufort. Proses ini menghasilkan ciphertext yang pertama yang disebut sebagai C1.

Hasil enkripsi Beaufort Cipher dapat dilihat pada gambar 4.7.

Gambar 4.7 Hasil enkripsi Beaufort Cipher

Gambar 4.7 memperlihatkan hasil dari proses enkripsi yang pertama yang menghasilkan

ciphertext 1. Indeks Ciphertext 1 diperoleh melalui operasi pengurangan indeks kunci

(27)

Tabel 4.2 Hasil enkripsi Beaufort Cipher

Plaintext (P) Kunci (K) Ciphertext (C)

Karakter Indeks Karakter Indeks = � − � � Karakter

u 56 A 0 37 b

n 49 , 63 14 O

i 44 s 54 10 K

v 57 V 21 57 v

e 40 u 56 16 Q

r 53 j 45 85 _

s 54 T 19 58 w

i 44 j 45 1 B

t 55 ) 72 17 R

a 36 I 8 65 &

s 54 1 27 66 *

Pada tabel 4.2 dihasilkan ciphertext 1 melalui fungsi enkripsi Beaufort Cipher. Fungsi enkipsi Beaufort untuk menghasilkan ciphertext diperoleh dengan operasi pengurangan indeks kunci terhadap indeks plaintext.

c. Enkripsi One Time Pad

Proses yang dilakukan setelah enkripsi dengan algoritma Beaufort Cipher adalah enkripsi dengan algoritma One Time Pad. Enkripsi One Time Pad mengambil data

ciphertext 1 sebagai plaintext yang akan dienkripsi. Proses ini menghasilkan ciphertext

kedua yang disebut sebagai C2. Hasil enkripsi One Time Pad dapat dilihat pada gambar 4.8.

Gambar 4.8 Hasil enkripsi One Time Pad

Gambar 4.8 memperlihatkan hasil dari proses enkripsi kedua yang menghasilkan

ciphertext 2. Indeks Ciphertext 2 diperoleh melalui operasi penjumlahan indeks kunci

(28)

dengan indeks ciphertext 1. Hasil penjumlahan masing-masing karakter ciphertext 1 dapat dilihat pada tabel 4.3.

Tabel 4.3 Hasil enkripsi One Time Pad

Ciphertext 1 (C1) Kunci (K) Ciphertext 2 (C2)

Karakter Indeks Karakter Indeks = � + � Karakter

B 37 ( 69 13 N

O 14 y 60 74 }

K 10 d 39 49 n

V 57 8 34 91 @

Q 16 \ 90 13 N

_ 85 k 46 38 c

W 58 ^ 68 33 7

B 1 X 23 24 Y

R 17 > 81 5 F

& 65 f 41 13 N

* 66 j 45 18 S

Pada tabel 4.3 dihasilkan ciphertext 2 melalui fungsi enkripsi One Time Pad. Fungsi enkipsi One Time Pad untuk menghasilkan ciphertext 2 diperoleh dengan operasi penjumlahan indeks kunci dengan indeks plaintext.

d. Dekripsi Beaufort Cipher

Dekripsi dengan algoritma Beaufort Cipher dilakukan setelah proses enkripsi One Time

Pad selesai dikerjakan. Ciphertext 2 yang dihasilkan dari enkripsi dengan algoritma

One Time Pad didekripsi dengan algoritma Beaufort Cipher dengan kunci yang sama

(29)

Gambar 4.9 memperlihatkan hasil dekripsi C2 dengan kunci yang sama dengan kunci enkripsi Beaufort Cipher. C3 dihasilkan melalui pengoperasian fungsi dekripsi

Beaufort. Proses perhitungan dekripsi untuk masing-masing karakter C2 dapat dilihat

pada tabel 4.4.

Tabel 4.4 Hasil dekripsi Beaufort Cipher

Ciphertext 2 (C2) Kunci (K) Ciphertext 3 (C3) menggunakan fungsi dekripsi Beaufort Cipher. C3 diperoleh melalui operasi pengurangan indeks kunci terhadap indeks C2.

e. Dekripsi One Time Pad

Dekripsi dengan algoritma One Time Pad merupakan tahap terakhir dalam sistem. Hasil dekripsi ini akan menentukan apakah parameter keutuhan data terpenuhi atau tidak.

Ciphertext 3 yang dihasilkan dari dekripsi dengan algoritma Beaufort Cipher didekripsi

kembali dengan algoritma One Time Pad dengan kunci yang sama dengan kunci yang digunakan saat proses enkripsi. Proses dekripsi ini akan menghasilkan hasil akhir dari implementasi Three-Pass Protocol dengan kombinasi algoritma Beaufort Cipher dan

One Time Pad. Hasil dekripsi dapat dilihat pada gambar 4.10.

Gambar 4.10 Hasil enkripsi One Time Pad

Gambar 4.10 memperlihatkan hasil dekripsi C3 dengan kunci yang sama dengan kunci enkripsi One Time Pad. Hasil tersebut didapatkan melalui pengoperasian fungsi dekripsi One Time Pad. Proses perhitungan dekripsi untuk masing-masing karakter C3 dapat dilihat pada tabel 4.5.

(30)

Tabel 4.5 Hasil dekripsi One Time Pad

Kolom hasil pada tabel 4.5 menunjukkan hasil dekripsi C3 dengan menggunakan fungsi dekripsi One Time Pad. Hasil diperoleh melalui operasi pengurangan indeks C3 terhadap indeks kunci.

Hasil perhitungan keseluruhan proses enkripsi dan dekripsi plaintext ‘universitas’ dalam mekanisme Three-Pass Protocol menggunakan kombinasi

algoritma Beaufort Cipher dan One Time Pad menunjukkan ketidaksesuaian plaintext dengan hasil dekripsi C3. Hal tersebut membuktikan bahwa kombinasi kedua algoritma kriptografi klasik Beaufort Cipher dan One Time Pad tidak memenuhi parameter keutuhan data.

4.2.5.2.Kompleksitas Algoritma

Parameter pengujian yang kedua adalah kompleksitas algoritma. Kompleksitas algoritma dapat dihitung dari kode program yang digunakan. Kompleksitas algoritma enkripsi Beaufort Cipher dapat dilihat pada tabel 4.6.

Tabel 4.6 Kompleksitas Algoritma Enkripsi Beaufort Cipher

No. Kode Program � # � � #

(31)

= Σ �#� --- (7)

= + + + + + + + + + +

= + + + + + + + + + +

= Θ

Tabel 4.6 menunjukkan hasil perhitungan kompleksitas algoritma enkripsi Beaufort

Cipher. Kolom pada tabel 4.6 merupakan kolom yang menunjukkan berapa kali

processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung

pengerjaan satu baris program. Kolom � # menghitung hasil perkalian kolom dengan #. Hasil dari kolom � # dijumlahkan berdasarkan persamaan (7), sehingga diperoleh hasil kompleksitas algoritma enkripsi Beaufort Cipher, yaitu Θ . Selanjutnya kompleksitas algoritma enkripsi One Time Pad dapat dilihat pada tabel 4.7.

Tabel 4.7 Kompleksitas Algoritma Enkripsi One Time Pad

No. Kode Program � # � � #

Tabel 4.7 menunjukkan hasil perhitungan kompleksitas algoritma enkripsi One Time

Pad. Kolom pada tabel 4.7 merupakan kolom yang menunjukkan berapa kali

processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung

pengerjaan satu baris program. Kolom � # menghitung hasil perkalian kolom dengan #. Hasil dari kolom � # dijumlahkan berdasarkan persamaan (7), sehingga diperoleh hasil kompleksitas algoritma enkripsi One Time Pad, yaitu Θ . Selanjutnya kompleksitas algoritma dekripsi Beaufort Cipher dapat dilihat pada tabel 4.8.

(32)

Tabel 4.8 Kompleksitas Algoritma Dekripsi Beaufort Cipher

No. Kode Program � # � � #

1. def DekBeaufort(C,K): 2. result = ''

Tabel 4.8 menunjukkan hasil perhitungan kompleksitas algoritma dekripsi Beaufort

Cipher. Kolom pada tabel 4.8 merupakan kolom yang menunjukkan berapa kali

processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung

pengerjaan satu baris program. Kolom � # menghitung hasil perkalian kolom dengan #. Hasil dari kolom � # dijumlahkan berdasarkan persamaan (7), sehingga diperoleh hasil kompleksitas algoritma dekripsi Beaufort Cipher, yaitu Θ . Selanjutnya kompleksitas algoritma dekripsi One Time Pad dapat dilihat pada tabel 4.9.

Tabel 4.9 Kompleksitas Algoritma Dekripsi One Time Pad

(33)

= Σ �#�

= + + + + + + + + + +

= + + + + + + + + + +

= Θ

Tabel 4.9 menunjukkan hasil perhitungan kompleksitas algoritma dekripsi Beaufort

Cipher. Kolom pada tabel 4.9 merupakan kolom yang menunjukkan berapa kali

processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung

pengerjaan satu baris program. Kolom � # menghitung hasil perkalian kolom dengan #. Hasil dari kolom � # dijumlahkan berdasarkan persamaan (7), sehingga diperoleh hasil kompleksitas algoritma dekripsi Beaufort Cipher, yaitu Θ .

4.2.5.3.Waktu Proses

Pengujian ini dilakukan untuk memperoleh pengaruh panjang karakter uji dengan waktu proses algoritma. Pengujian dilakukan terhadap karakter dengan jumlah 11, 26 dan 73 karakter. Masing-masing karakter diuji sebanyak tiga kali kemudian dihitung nilai rata-rata waktu proses yang diperoleh. Pengujian dilakukan secara manual dengan menggunakan bahasa pemrograman Python. Hasil pengujian untuk karakter dengan jumlah 11 karakter dapat dilihat pada tabel 4.10.

Tabel 4.10 Waktu Proses pada Plaintext 11 karakter

Plaintext KBeaufort C1 KOTP C2 C3 Waktu

Tabel 4.10 menunjukkan waktu proses yang digunakan untuk kata ‘universitas’ dengan jumlah 11 karakter. Kolom KBeaufort pada tabel 4.10 merupakan kunci enkripsi dan dekripsi yang digunakan untuk algoritma Beaufort Cipher, kolom C1 merupakan hasil enkripsi pertama dengan menggunakan algoritma Beaufort Cipher, kolom KOTP merupakan kolom yang digunakan untuk enkripsi dan dekripsi algoritma One Time Pad,

(34)

kolom C2 merupakan hasil enkripsi kedua dengan menggunakan algoritma One Time

Pad dan kolom C3 adalah hasil dekripsi dengan algoritma Beaufort Cipher. Rata-rata

waktu yang diperoleh untuk plaintext ‘universitas’ adalah 0.0010512073256077 s. Selanjutnya untuk pengujian waktu proses karakter dengan jumlah 26 karakter dapat dilihat pada tabel 4.11.

Tabel 4.11 Waktu Proses pada Plaintext 26 karakter

Plaintext KBeaufort C1 KOTP C2 C3 Waktu

Tabel 4.11 menunjukkan waktu proses yang digunakan untuk kumpulan kata ‘universitas sumatera utara’ dengan jumlah 26 karakter. Kolom KBeaufort pada tabel 4.11 merupakan kunci enkripsi dan dekripsi yang digunakan untuk algoritma Beaufort

Cipher, kolom C1 merupakan hasil enkripsi pertama dengan menggunakan algoritma

Beaufort Cipher, kolom KOTP merupakan kolom yang digunakan untuk enkripsi dan

(35)

Tabel 4.12 Waktu Proses pada Plaintext 73 karakter

Tabel 4.12 menunjukkan waktu proses yang digunakan untuk kumpulan kata ‘Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara’ dengan jumlah 73 karakter. Kolom KBeaufort pada tabel 4.12 merupakan kunci enkripsi dan dekripsi yang digunakan untuk algoritma Beaufort Cipher, kolom C1 merupakan hasil enkripsi pertama dengan menggunakan algoritma Beaufort Cipher, kolom KOTP

(36)

merupakan kolom yang digunakan untuk enkripsi dan dekripsi algoritma One Time Pad, kolom C2 merupakan hasil enkripsi kedua dengan menggunakan algoritma One Time

Pad dan kolom C3 adalah hasil dekripsi dengan algoritma Beaufort Cipher. Rata-rata

waktu yang diperoleh untuk plaintext ‘Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara’ adalah 0.0051779735988333 s.

Hasil pengujian rata-rata waktu yang diperoleh untuk plaintext dengan jumlah karakter 11, 26 dan 73 berturut-turut adalah 0.0010512073256077 s, 0.0023467115015933 s dan 0.0051779735988333 s. Hasil tersebut dapat diillustrasikan dengan grafik seperti pada gambar 4.11.

Gambar 4.11 Grafik Panjang Karakter terhadap Waktu Proses

Pada gambar 4.11 dapat dilihat bahwa panjang karakter berbanding lurus dengan waktu proses. Semakin panjang karakter yang akan diproses, maka waktu proses yang dibutuhkan juga akan semakin lama.

0 0.001 0.002 0.003 0.004 0.005 0.006

11 karakter 26 karakter 73 karakter

(37)

BAB 5

KESIMPULAN DAN SARAN

5.1.Kesimpulan

Berdasarkan analisis, perancangan dan hasil pengujian implementasi algoritma

Beaufort Cipher dan One Time Pad dalam Three-Pass Protocol dapat disimpulkan

bahwa:

1. Kombinasi algoritma Beaufort Cipher dan One Time Pad pada Three-Pass

Protocol tidak memenuhi parameter keutuhan data. Data hasil dekripsi C3 tidak

sama dengan plaintext yang pertama kali dimasukkan oleh pengguna.

2. Nilai kompleksitas kedua algoritma yang digunakan yaitu algoritma Beaufort

Cipher dan algoritma One Time Pad adalah Θ . Kompleksitas ini berbanding lurus dengan input pengguna sehingga grafik yang terbentuk adalah grafik linear.

3. Waktu proses algoritma berbanding lurus dengan panjang karakter plaintext. Artinya semakin panjang plaintext yang digunakan maka akan semakin lama juga waktu yang dibutuhkan untuk melakukan enkripsi dan dekripsi plaintext.

4. Kombinasi algoritma Beaufort Cipher dan One Time Pad merupakan kombinasi yang tidak cocok diimplementasikan dengan mekanisme Three-Pass Protocol.

(38)

5.2.Saran

Pada penelitian ini, terdapat beberapa saran yang dapat dipertimbangkan untuk penelitian selanjutnya, yaitu:

1. Untuk penelitian selanjutnya diharapkan kombinasi One Time Pad dan Beaufort

Cipher pada Three-Pass Protocol dapat dilakukan.

2. Untuk penelitian selanjutnya diharapkan penggunaan list plaintext dapat ditambah agar list plaintext yang dapat dioperasikan menjadi lebih banyak.

(39)

BAB 2

LANDASAN TEORI

2.1. Kriptografi

2.1.1. Definisi Kriptografi

Kriptografi berasal dari bahasa Yunani yang terdiri dari dua kata yaitu cryto dan

graphia. Crypto berarti rahasia dan graphia berarti tulisan. Jadi secara etimologi

kriptografi adalah tulisan rahasia. Secara terminologi kriptografi didefinisikan sebagai seni dan ilmu dalam menyandikan pesan dan menjaga keamanannya ketika pesan tersebut dikirim sampai pesan tersebut diterima (Mollin, 2007).

Teknik kriptografi yang diterapkan dalam penyandian pesan dilakukan dengan menyembunyikan atau mengodekan pesan asli. Pengirim pesan akan melakukan penyandian pesan awal menjadi kode-kode yang hanya dapat dibaca oleh penerima pesan. Proses ini disebut dengan Enkripsi (encryption). Penerima pesan kemudian mengembalikan kode-kode yang telah diterima menjadi pesan asli dengan menggunakan kunci yang dikirimkan oleh pengirim pesan. Proses ini disebut dengan Dekripsi (decryption) (Schneier, 1996). Proses enkripsi dan dekripsi dapat diilustrasikan pada gambar 2.1 berikut:

Gambar 2.1 Enkripsi dan Dekripsi

Pesan awal dalam sistem kriptografi disebut juga sebagai plaintext (disimbolkan dengan P), yaitu pesan asli yang akan disampaikan pengirim kepada penerima pesan. Sedangkan pesan setelah dienkripsi disebut dengan Ciphertext (disimbolkan dengan C). Kunci yang dikirimkan pengirim kepada penerima pesan untuk proses dekripsi disebut dengan Key (disimbolkan dengan k). Fungsi enkripsi disimbolkan dengan E(p) dan secara matematis, fungsi enkripsi untuk memperoleh ciphertext dituliskan sebagai berikut:

ciphertext

plaintext plaintext

Enkripsi Dekripsi

(40)

� = ---(1)

Fungsi yang digunakan untuk memperoleh kembali plaintext yang telah dienkripsi disebut dengan fungsi dekripsi yang disimbolkan dengan D(C). Secara matematis dapat dituliskan sebagai berikut:

= � ---(2) (Schneier, 1996).

2.1.2. Tujuan Kriptografi

Ada beberapa tujuan kriptografi, diantaranya adalah sebagai berikut (Bellare & Rogaway, 2005):

1. Kerahasiaan (Secrecy)

Secrecy bermakna kerahasiaan atau privasi. Hal tersebut berarti setiap

informasi yang dikirim atau diterima hanya dapat diakses oleh pihak yang berkepentingan. Enkripsi pesan bertujuan untuk tetap merahasiakan pesan sampai kepada penerima dengan aman. Selanjutnya pesan yang telah diterima akan didekripsi oleh penerima dengan algoritma yang telah disepakati dan kunci yang telah dikirimkan dengan jalur yang lebih aman.

2. Integritas (Integrity)

Integritas dalam kriptografi berhubungan dengan menjaga keaslian data, artinya data yang diterima tidak rusak, berkurang, bertambah atau telah dimanipulasi oleh pihak lain sebelum diterima oleh penerima data. Oleh karena itu, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak bertanggung jawab.

3. Autentikasi (Authentication)

Autentikasi berkaitan dengan identifikasi dan verifikasi, baik secara sistem maupun informasi itu sendiri. Salah satu sarana proses autentikasi adalah melalui password. Apabila proses ini menggunakan password, maka protocol autentikasi harus aman dalam proses pengirimannya dan tidak digunakan oleh pihak-pihak yang tidak bertanggung jawab. Teknik kriptografi sangat diperlukan untuk permasalahan ini

4. Non-Repudiation

(41)

penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh pengirim pesan.

2.1.3. Sistem Kriptografi Klasik

Sistem kriptografi klasik adalah sistem kriptografi yang sudah ada sebelum adanya komputer. Penyandian pesan dilakukan karakter per karakter. Terdapat dua metode yang dilakukan untuk menyandikan pesan pada sistem kriptografi klasik, yaitu Cipher Substitusi (Subtitution Cipher) dan Cipher Transposisi (Transpotition Cipher). Cipher Substitusi diimplementasikan dengan mengganti karakter-karakter pesan dengan karakter lain. Sedangkan Cipher transposisi diimplementasikan dengan melakukan pengacakan urutan karakter tanpa mengganti karakter pada pesan tersebut (Sadikin, 2012).

2.1.4. Sistem Kriptografi Modern

Sistem kriptografi modern tidak lagi menggunakan mode karakter untuk proses enkripsi dan dekripsi, melainkan lebih memanfaatkan mode bit. Pengembangan sistem kriptografi modern didorong oleh perkembangan komputer digital yang merepresentasikan data dalam bentuk bilangan biner. Algoritma kriptografi dengan mode bit dapat dikelompokkan menjadi dua bagian, yaitu Cipher Aliran (Stream

Cipher) dan Cipher Block (Block Cipher). Stream Cipher mengenkripsi atau

mendekripsi pesan bit per bit. Sedangkan Block Cipher mengenkripsi atau mendekripsikan pesan dalam bentuk blok bit dengan panjang bit yang telah ditentukan sebelumnya (Sadikin, 2012).

2.1.5. Kriptografi Kunci Simetris

Kriptografi kunci simetris adalah suatu model kriptografi dengan sharing key. Artinya, kunci yang digunakan untuk enkripsi sama dengan yang digunakan untuk dekripsi (Kurniawan, 2008). Skema kriptografi kunci simetris dapat dilihat pada gambar 2.2.

(42)

Gambar 2.2 Skema Kriptografi Kunci Simetris (Sumber: Kurniawan, 2008)

2.1.6. Kriptografi Kunci Asimetris

Kriptografi kunci asimetris pertama kali diperkenalkan oleh Whitefield Diffie dan Martin Hellman pada tahun 1976 (Kurniawan, 2008).

Gambar 2.3 Skema Kriptografi Kunci Asimeteris (Sumber: Kurniawan, 2008) Pada gambar 2.3 dapat dilihat bahwa kriptografi kunci asimetris menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Kunci yang digunakan pada proses enkripsi disebut dengan public key, sedangkan kunci untuk proses dekripsi disebut dengan private key (Kurniawan, 2008).

2.2. Algoritma Beaufort Cipher

(43)

Tabel 2.1 Tabel Beaufort

Baris pertama pada tabel 2.1 menyatakan huruf dari plaintext. Proses enkripsi dilakukan dengan cara menarik garis vertikal dari plaintext sampai kepada karakter key yang telah ditentukan, selanjutnya tarik garis horizontal dari karakter key tersebut sampai kolom pertama. Karakter pada kolom pertama tersebut adalah ciphertext yang diperoleh. Proses dekripsi dilakukan berlawanan dengan proses enkripsi. Proses ini dimulai dengan memilih ciphertext dari kolom pertama kemudian tarik garis lurus sampai menemukan karakter key yang telah ditentukan, selanjutnya ditarik garis vertikal ke atas dari karakter key tersebut sampai ke baris pertama. Karakter pada baris pertama merupakan plaintext (Tassel, 1969).

Berikut adalah contoh proses enkripsi dengan menggunakan tabel 2.1:

Plaintext : S U M A T E R A Kunci : m e i l a d y a

Ciphertext : U K W L H Z H A

Proses enkripsi dan dekripsi algortima Beaufort Cipher dirumuskan sebagai berikut:

(44)

� − � ≡ � --- (3)

� − ≡ � � --- (4)

dimana � adalah rangkaian plaintext, adalah key, adalah ciphertext yang diperoleh dan adalah jumlah karakter yang digunakan (Mollin, 2007).

2.3.Algoritma One Time Pad

Algoritma One Time Pad ditemukan oleh Gilbert Vernam pada tahun 1917. One Time

Pad juga dikenal dengan algoritma Vernam Cipher sesuai dengan nama penemu

algoritma tersebut (Mollin, 2007). One Time Pad mendapatkan reputasi sebagai algoritma yang kuat namun sederhana dengan tingkat keamanan yang tinggi. Algoritma ini juga masih lebih baik dibandingkan dengan algoritma-algoritma kriptografi modern. (Widiasari, 2012).

Algoritma One Time Pad termasuk algoritma kriptografi kunci simetrik yaitu algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Secara matematis proses enkripsi dan dekripsi One Time Pad dituliskan sebagai berikut:

�≡ ��+ �� � � --- (5) �� ≡ �− �� � � --- (6)

dimana � adalah rangkaian plaintext, adalah key, adalah ciphertext yang diperoleh dan � adalah jumlah karakter yang digunakan. Key yang digunakan pada algoritma One

Time Pad diambil secara acak dan harus memiliki panjang karakter yang sama dengan

plaintext (Mollin, 2007).

2.4.Three-Pass Protocol

Three-Pass Protocol adalah sebuah skema kerja yang memungkinkan dua orang

melakukan pertukaran pesan tanpa melakukan pertukaran kunci enkripsi (Haramaini, 2014).

Haramaini (2014) menjelaskan bahawa terdapat tiga tahap pertukaran pesan dalam skema Three-Pass Protocol dimana setiap orang yang terlibat memiliki kunci masing-masing untuk melakukan enkripsi dan dekripsi pesan. Berikut adalah cara kerja

Three-Pass Protocol:

(45)

2. Bob menerima dan kemudian melakukan enkripsi menggunakan kunci pribadi miliknya. Bob kemudian mengirimkan pesan yang telah dienkripsi ( ) kepada Alice.

3. Alice yang menerima kemudian mendekripsikan pesan menggunakan kunci pribadi miliknya. Alice kemudian mengirimkan pesan yang telah didekripsi ( ) kepada Bob. Selanjutnya Bob melakukan dekripsi pesan . Hasil dekripsi pesan tersebut merupakan plaintext yang dikirimkan Alice. Cara kerja Three-Pass Protocol tersebut dapat diilustrasikan seperti pada gambar 2.4:

Gambar 2.4 Skema Kerja Three-Pass Protocol

2.5. Penelitian yang Relevan

Beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan oleh penulis antara lain adalah sebagai berikut:

- Arjana, dkk (2012) mengimplementasikan penggunaan algoritma Vignere

Cipher untuk mengamankan data pelanggan. Penelitian tersebut membuktikan

bahwa algoritma Vignere Cipher berhasil meningkatkan keamanan data dan keakuratan informasi.

- Haramaini (2014) telah berhasil mengimplementasikan algoritma One Time Pad dengan menggunakan Three-Pass Protocol. Pada penelitian tersebut dijelaskan bahwa algoritma One Time Pad tidak cukup aman jika diimplementasikan dengan Three-Pass Protocol sehingga diperlukan sedikit pengembangan yang dilakukan untuk meningkatkan keamanan algoritma ini. Pengembangan yang dilakukan peneliti adalah dengan menambah panjang range bilangan prima yang akan diacak, sehingga perulangan kunci yang digunakan akan semakin sulit untuk ditebak.

- Implementasi algoritma One Time Pad dapat menjaga keamanan dan kerahasiaan data yang tersimpan pada sebuah aplikasi berbasis web. Selain itu,

(46)

pengimplementasian algoritma ini juga mampu memastikan bahwa user yang menggunakan aplikasi adalah user yang benar-benar memiliki wewenang untuk mengakses informasi tersebut (Mulyono & Rodiah, 2013).

- Sebayang (2014) berhasil mengimplementasikan kombinasi dua algoritma kriptografi klasik pada Three-Pass Protocol, kedua algoritma tersebut adalah

Beaufort Cipher dan Affine Cipher. Penelitian ini membuktikan bahwa

mekanisme Three-Pass Protocol dapat diimplementasikan menggunakan dua algoritma sekaligus.

- Widiasari (2012) mengombinasikan algoritma kriptografi Advanced Encryption

Standard (AES) dan One Time Pad dalam mengamankan data. Kombinasi kedua

(47)

BAB 1 PENDAHULUAN

1.1.Latar Belakang

Informasi merupakan salah satu kebutuhan pokok yang dibutuhkan oleh manusia. Kebutuhan akan informasi dipenuhi melalui komunikasi yang dilakukan oleh pemberi ke penerima informasi. Seiring dengan perkembangan ilmu pengetahuan dan teknologi, pertukaran informasi tidak hanya dilakukan secara langsung melainkan juga dengan bantuan media komunikasi.

Media komunikasi memungkinkan pertukaran informasi tanpa batas. Setiap orang dapat bertukar informasi dengan mudah tanpa menghabiskan banyak waktu dan biaya. Namun, seiring dengan perkembangan teknologi media komunikasi tersebut, banyak pihak yang mencari celah untuk mencuri informasi dan digunakan untuk hal-hal yang tidak baik. Oleh karena itu, penyandian pesan sangat diperlukan untuk tetap menjaga kerahasiaan pesan agar pesan tersebut hanya dapat dibaca oleh penerima pesan yang dimaksud.

Kriptografi adalah ilmu dan seni yang digunakan untuk menyandikan pesan. Kriptografi sendiri dapat dibagi menjadi dua jenis, yaitu kriptografi klasik dan kriptografi modern. Secara umum, kriptografi modern lebih dipercaya oleh masyarakat, namun tidak sedikit juga masyarakat yang masih menggunakan kriptografi klasik dengan mengkombinasikan dua algoritma sekaligus. Dua algoritma kriptografi klasik yang akan digunakan untuk proses penyandian pesan ini adalah Beaufort Cipher dan

One Time Pad.

Beaufort Cipher merupakan salah satu varian dari metode Vigenere Cipher

(Widyastuti, 2014). Proses enkripsi dan dekripsi pada algoritma Beaufort Cipher menggunakan sebuah tabel yang disebut dengan tabel Beaufort (Tassel, 1969). Keamanan algoritma Vignere Cipher dan variannya yang termasuk juga Beaufort

Cipher bergantung pada penggunaan karakter acak pada tabel, semakin acak karakter

(48)

yang digunakan pada tabel tersebut, maka keamanan algoritma ini juga akan semakin baik (Singh, 2012).

Algoritma One Time Pad atau disebut juga algoritma Vernam Cipher dikenal sebagai algoritma yang memiliki kerahasiaan sempurna (perfect secrecy). Hal tersebut dikarenakan algoritma ini tidak memiliki hubungan statistik dengan plaintext sehingga tidak dapat dilakukan analisis statistik terhadap ciphertext yang diperoleh (Sadikin, 2012).

Keamanan algoritma Beaufort Cipher dan One Time Pad sangat bergantung kepada proses pertukaran kunci. Apabila terjadi kebocoran kunci, maka keamanan kedua algoritma ini akan otomatis runtuh. Oleh karena itu, diperlukan sebuah metode yang meminimalisir kebocoran kunci selama melakukan pertukaran pesan. Metode yang dipilih dikenal dengan sebutan Three-Pass Protocol. Protocol ini memungkinkan pengiriman pesan tanpa menggunakan pertukaran kunci. Sehingga pesan yang dikirimkan dapat sampai kepada penerima dengan aman tanpa takut terjadi kebocoran kunci (Haramaini, 2014). Berdasarkan uraian diatas, maka penulis mengambil tugas akhir dengan judul “Implementasi Three-Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk Pengamanan Data”.

1.2.Rumusan Masalah

Berdasarkan latar belakang di atas pengamanan informasi yang akan dipertukarkan merupakan sesuatu yang penting sehingga diperlukan sebuah mekanisme penyandian dengan menggunakan kriptografi. Selain itu didalam penggunaannya proses penyandian ini memerlukan pertukaran kunci yang juga harus dipastikan selalu aman. Oleh karena itu, dapat dirumuskan masalah yang akan dibahas adalah bagaimana mengamankan pesan yang terkirim sekaligus mengamankan kunci dengan sebuah mekanisme penyandian pesan dan pengamanan kunci yang lebih baik.

1.3.Tujuan Penelitian

(49)

1.4.Batasan Penelitian

Batasan masalah dalam penelitian ini antara lain adalah sebagai berikut: 1. Jenis file yang digunakan adalah file teks yang berekstensi .doc.

2. Plainteks dan cipherteks yang dapat dibuat berdasarkan ASCII printable character, dengan list karakter yang digunakan adalah Ʃ = {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ., ,, !, &, *, #, ^, (, $, %, ), {, }, [, ],+, -, =, <, >, /, :, ;, _, ?, |, `, ~, \\, @, ‘ ‘}

|Ʃ| = 93

3. Implementasi berupa enkripsi dan dekripsi pesan saja dan tidak melakukan kriptanalisis.

4. Bahasa pemrograman yang digunakan adalah Python dan C#.

5. Parameter yang akan digunakan adalah keutuhan data, kompleksitas Ө dan waktu proses.

1.5.Manfaat Penelitian

Penelitian ini diharapkan mampu memberikan kemudahan kepada masyarakat dalam merahasiakan pesan yang mereka kirimkan dan mendapatkan kembali pesan seperti semula.

1.6.Metodologi Penelitian

Metode penelitian yang dilakukan dalam penelitian ini adalah: 1. Studi Pustaka

Pada tahap ini penelitian dimulai dengan peninjauan pustaka berupa buku-buku, artikel-artikel ilmiah dan penelitian-penelitian yang didokumentasikan dalam bentuk jurnal yang berhubungan dengan Three Pass Protocol, Algoritma Beaufort

Cipher dan Algoritma One Time Pad.

2. Analisis dan Perancangan

Berkaitan dengan batasan masalah, pada tahap ini dianalisis apa saja yang dibutuhkan dalam penelitian ini dan selanjutnya dirancang dalam bentuk diagram alir dan diagram UML.

(50)

3. Implementasi

Pada tahap ini perancangan Diagram Alir diimplementasikan dengan menggunakan bahasa pemrograman Python dan C#.

4. Pengujian

Pada tahap ini prototipe yang telah dirancang dilakukan pengujian dengan menggunakan file teks berekstensi .doc.

5. Dokumentasi

Pada tahap ini dilakukan pendokumentasian penelitian yang telah dilakukan mulai dari tahap analisis sampai kepada pengujian dalam bentuk skripsi.

1.7.Sistematika Penulisan

Sistematika penulisan skripsi in iterdiri dari beberapa bagian utama, yaitu: BAB 1 PENDAHULUAN

Bab ini berisi latar belakang pemilihan judul skripsi “Implementasi Three-Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk Pengamanan Data”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini menjelaskan tentang sistem kriptografi secara umum, kriptografi klasik, teori dan dasar-dasar perhitungan serta contoh implementasi algoritma Beaufort Cipher, One Time Pad dan mekanisme Three-Pass Protocol.

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini berisi analisis terhadap masalah penelitian dan perancangan sistem yang akan dibangun sebagai solusi permasalahan tersebut.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

(51)

dibangun dengan beberapa sampel file teks serta pembahasan hasil pengujian dan analisisnya.

BAB 5 KESIMPULAN DAN SARAN

Bab ini memuat kesimpulan dari uraian penjelasan bab-bab sebelumnya dan saran berdasarkan hasil pengujian yang diharapkan dapat bermanfaat untuk pengembangan sistem selanjutnya,

(52)

ABSTRAK

Kriptografi dibagi menjadi dua jenis, yaitu kriptografi klasik dan kriptografi modern. Penggunaan kriptografi modern lebih dipercaya oleh kebanyakan orang dibandingkan dengan kriptografi klasik karena tingkat keamanan yang tinggi. Namun penggunaan kriptografi klasik dengan kombinasi dua algoritma atau lebih masih digunakan oleh sebagian orang karena keserhanaan implementasi dan keamanan yang cukup baik. Algoritma Beaufort Cipher dan One Time Pad termasuk bagian dari kriptografi klasik. Keamanan algoritma Beaufort Cipher bergantung pada penggunaan karakter kunci yang acak. Semakin acak kunci yang digunakan maka keamanan algoritma juga akan semakin baik. Algoritma One Time Pad dikenal sebagai algoritma dengan keamanan yang sempurna, bahkan lebih baik dibandingkan dengan algoritma kriptografi modern. Keamanan kedua algoritma tersebut sangat bergantung kepada pertukaran kunci.

Three-Pass Protocol adalah protokol yang memungkinkan pertukaran pesan tanpa pertukaran

kunci. Protokol ini akan meningkatkan keamanan dari kombinasi kedua algoritma tersebut. Implementasi dilakukan dengan menggunakan bahasa pemrograman Python dan C#. Hasil dari penelitian menunjukkan bahwa kombinasi algoritma Beaufort Cipher dan One Time Pad bukan kombinasi yang baik pada Three-Pass Protocol karena kombinasi tersebut tidak memenuhi parameter keutuhan data. Kompleksitas algoritma adalah θ(n). Hal tersebut berarti jumlah karakter yang digunakan berbanding lurus dengan waktu proses.

(53)

AN IMPLEMENTATION OF THREE-PASS PROTOCOL USING COMBINATION OF BEAUFORT CIPHER AND ONE TIME PAD ALGORITHM

IN DATA SECURITY

ABSTRACT

Cryptography can be divided into two types: classical cryptography and modern cryptography. In general, modern cryptography is more trusted than classical cryptography because it has a great security. But implementation of combination two or more classical cryptography algorithm is also used by some people because of their easiness and good security. Beaufort Cipher and One Time Pad algorithm are categorized into classical cryptography. The security of Beaufort Cipher algorithm depends on the key randomization. Increasingly random key is used then the security of algorithm is also increased. One Time Pad algorithm is a cryptography algorithm with perfect secrecy even safer than modern cryptography. The security of the two algorithm is depend on the key exchange. Three-Pass Protocol is a key distribution protocol with no exchange key. This protocol will improving the security of the two algorithms. The implementation using Python and C# programming language. The test is done for 11, 26 and 73 characters of plaintext. The result showed that the combination of Beaufort Cipher and One Time Pad algorithm in Three-Pass Protocol is not a good combination because it does not meet the data integrity parameter. The algorithm complexity is θ(n). It means that the number of character being used is directly proportional with processing time.

Keywords: Beaufort Cipher, One Time Pad, Three Pass Protocol

(54)

IMPLEMENTASI THREE-PASS PROTOCOL DENGAN

KOMBINASI ALGORITMA BEAUFORT CIPHER

DAN ONE TIME PAD UNTUK

PENGAMANAN DATA

SKRIPSI

DINA MEILADYA RIZKI SUJIONO

121401002

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(55)

ALGORITMA BEAUFORT CIPHER DAN ONE TIME PAD UNTUK PENGAMANAN DATA

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

DINA MEILADYA RIZKI SUJIONO 121401002

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2016

(56)

PERSETUJUAN

Judul : IMPLEMENTASI THREE-PASS PROTOCOL DENGAN

KOMBINASI ALGORITMA BEAUFORT CIPHER DAN ONE TIME PAD UNTUK PENGAMANAN DATA

Kategori : SKRIPSI

Nama : DINA MEILADYA RIZKI SUJIONO

Nomor Induk Mahasiswa : 121401002

Program Studi : SARJANA (S1) ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing:

Pembimbing 2 Pembimbing 1

M. Andri Budiman, ST, M.Comp.Sc, MEM Maya Silvi Lydia, B.Sc, M.Sc NIP. 197510082008011011 NIP. 197401272002122001

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(57)

PERNYATAAN

IMPLEMENTASI THREE-PASS PROTOCOL DENGAN KOMBINASI ALGORITMA BEAUFORT CIPHER DAN ONE TIME PAD

UNTUK PENGAMANAN DATA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, April 2016

Dina Meiladya Rizki Sujiono 121401002

(58)

UCAPAN TERIMA KASIH

Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada:

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Muhammad Zarlis, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara sekaligus Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini. 4. Ibu Maya Silvi Lydia, B.Sc., M. Sc selaku Dosen Pembimbing I yang telah

memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.

5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen Pembimbing II yang telah memotivasi dan senantiasa memberikan saran dan dukungan yang terbaik kepada penulis dalam pengerjaan skripsi ini.

6. Bapak Ade Candra, S.T., S.Kom., M.Kom selaku Dosen Pembanding II yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.

7. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI

USU.

(59)

serta teman seperjuangan Raisya, Dwi dan Hasbi yang juga senantiasa menjadi pengingat dan motivasi penulis..

10.Keluarga UKMI Al-Khuwarizmi, IKLC, IMILKOM dan PEMA Fasilkom-TI yang telah memberikan inspirasi serta dukungan kepada penulis.

11.Kakak, abang dan adik sumber inspirasi dan semangat penulis, Kak Gina, Kak Zizah, Kak Nana, Kak Tari, Bang Agung, Bang Mizfar, Bang Cholik, Ardan, Rudy, Ronaldi, Nadia, Meila, Ayu dll.

12.Dan semua pihak yang telah membantu dan tidak dapat disebutkan satu per satu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.

Medan, April 2016

Penulis

Gambar

Gambar 3.1 Diagram Ishikawa Masalah Penelitian
Gambar 3.2 Diagram Use Case Sistem
Gambar 3.5 Flowchart Sistem
Gambar 3.6 Flowchart Algoritma Beaufort Cipher
+7

Referensi

Dokumen terkait

Proses enkripsi yang dilakukan pada data teks melalui tahap enkripsi kriptografi Monoalphabetic Cipher setelah itu hasil enkripsi dari data teks tersebut di enkripsi dengan

Implementasi Algoritma Affine Cipher dan Algoritma Advanced Encryption Standard (AES) pada Aplikasi Short Message Service (SMS).. Universitas

Pada penelitian ini akan dilakukan enkripsi- dekripsi citra dengan Algoritma Affine Cipher dan enkripsi-dekripsi kunci dengan Algoritma RSA-CRT, parameter yang akan di

Implementasi Three Pass Protocol dengan Kombinasi Algoritma Beaufort Cipher dan One Time Pad untuk Pengamanan Data.. Medan: Universitas

Untuk lebih memahami teknik enkripsi pada algoritma Hill Cipher , berikut dijelaskan dengan menggunakan enkripsi pesan dan kunci yang digunakan

Skema Otimalisasi Pembangkitan Kunci pada Beaufort Cipher Berdasarkan gambar 1 di atas, terlihat bahwa kunci yang digunakan pada proses enkripsi maupun dekripsi bukan

Pada proses enkripsi, algoritma ini membagi masing-masing karakter plaintext menjadi beberapa blok/ kolom, dimana ciphertext yang merupakan hasil enkripsi

c1, maka enkripsi pada Beaufort cipher dapat dinyatakan sebagai berikut: Ci = Ki - Pi Mod n...1 dan untuk dekripsi menggunakan formula Pi = Ki - Ci Mod n...2 Keterangan : Ci = nilai