BAB 2 LANDASAN TEORI. Microsystem yang dirilis pada tahun 1995 sebagai komponen utama dari Sun

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB 2 LANDASAN TEORI. Microsystem yang dirilis pada tahun 1995 sebagai komponen utama dari Sun"

Transkripsi

1 BAB 2 LANDASAN TEORI 2.1 JAVA JAVA merupakan bahasa pemograman yang dikembangkan Sun Microsystem yang dirilis pada tahun 1995 sebagai komponen utama dari Sun Microsystem Lingkungan (Platform) Java. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk pemograman di Internet sehingga dirancang agar aman dan portable. Proyek Java dimulai pada bulan Juni tahun 1991 oleh James Gosling. Pada mulanya bahasa ini disebut Oak yang berasal dari pohon oak yang berada di luar kantor Gosling, selain itu juga pernah berubah menjadi Greendon dan akhirnya dinamakan Java yang berasal dari kumpulan kata acak. Gosling bertujuan untuk mengimplementasikan sebuah mesin virtual dan bahasa yang mirip dengan notasi C / C++. Sun merilis implementasi publik pertamanya Java 1.0 di tahun 1995 yang menjanjikan Write Once, Run Anywhere (WORA) dimana dapat dijalankan 10

2 dengan baik pada platform popular, cukup aman, dan menyediakan fitur keamanan yang dapat dikonfigurasi. 11 Berdasarkan white paper resmi dari Sun, Java memiliki karakteristik sebagai berikut : 1. Sederhana (Simple) Bahasa pemrograman Java menggunakan sintaks mirip dengan C++, namun sintaks pada Java merupakan penyederhanaan dari bahasa C++. Penyederhanaan dilakukaan dengan menambahkan fitur-fitur pendukung yang belum terdapat dalam C++ dan menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java sederhana karena hanya memiliki 3 (tiga) tipe angka data primitive, boolean, dan array. Selebihnya, semua yang ada di dalam Java adalah kelas. Fitur yang tidak terdapat dalam C++, yang ditawarkan java, dua diantaranya automatic memori allocation dan memori garbage collection (pengumpulan sampah). Dengan mekanisme ini, user tidak perlu membebaskan memori yang dialokasikan, karena semua dilakukan oleh Mesin Virtual Java. Java juga mendukung penulisan program multi jalinan, yaitu suatu program yang dapat melakukan lebih dari satu pekerjaan dalam waktu yang bersamaan. 2. Berorientasi Objek (Object Oriented) Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali.

3 Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut Terdistribusi (Distributed) Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java. 4. Interpreted Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda. 5. Robust Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai Runtime-Exception handling untuk membantu mengatasi error pada pemrograman. 6. Secure Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut. 7. Architecture Neutral

4 13 Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine(JVM). 8. Portabel Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang. 9. Performance Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain. 10. Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan. 11. Dynamic Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properti ataupun metode dapat dilakukan tanpa menggangu program yang menggunakan class tersebut. Kode Java diproses melalui 2 (dua) tahap, yaitu fase kompilasi dan interpretasi. Dalam fase kompilasi, source code dari Java (file.java) akan diterjemahkan menjadi sebuah bahasa penengah (intermediate language) yang

5 14 disebut Java Bytecode (file.class). Setelah itu,bytecode siap untuk diinterpretasikan atau dijalankan dengan menggunakan Java Virtual Machine (JVM). ( Gambar : Proses Kompilasi dan Interpretasi Kode Java Teknologi Java Dengan berkembangnya versi terbaru dari Java yang disebut Java 2, teknologi Java dibagi menjadi 3 (tiga) macam edisi, yaitu : Teknologi Java pada perangkat mobile (J2ME) Micro edition dari platform Java memenuhi permintaan dari pengembang untuk menciptakan aplikasi guna memenuhi kebutuhan pasar dan konsumen. J2ME merupakan teknologi Java yang menyediakan aplikasi robust untuk berbagai tipe dan ukuran peralatan wireless dan wireline dari mobile phone, PDA dan sistem telematik pada kendaraan.

6 Teknologi Java pada PC Desktop (J2SE) Merupakan edisi standar dari platform Java yang didesain untuk mengembangkan keamanan, kemudahan, dan aplikasi berperforma tinggi untuk desktop dengan jangkauan yang luas meliputi sistem operasi seperti Apple Macintosh, Linux, Microsoft Windows, dan Sun Solaris. Kompatibel dengan desktop terutama pada lingkungan yang heterogen sehingga dapat menambah produktifitas pengguna, komunikasi, dan kolaborasi dengan biaya yang sesuai Teknologi Java untuk bisnis menengah dan besar (J2EE) Edisi Enterprise dari Platform Java ini dikhususkan untuk membantu perkembangan bisnis dengan keperluan pengembangan yang besar, sebagai contoh server dan aplikasi desktop dan juga aplikasi wireless mobile dan wireline. Hingga saat ini telah lebih dari 5 (lima) juta download teknologi Java Enterprise (J2EE) yang digunakan untuk kepentingan segala idustri dan tipe aplikasi dari proses manajemen bisnis, otomatisasi penjualan dan layanan serta produktifitas kantor. (

7 16 Gambar : Setiap Edisi Java untuk Perangkat Platform yang Berbeda ( Dari gambar di atas dapat dilihat bahwa setiap Virtual Machine digunakan pada lingkungan yang berbeda. Hotspot VM merupakan Virtual Machine default yang disediakan oleh Sun untuk mengeksekusi segala skala versi dari Java. CVM (Compact Virtual Machine) dan KVM (Kilobyte Virtual Machine) merupakan Virtual Machine yang lebih kecil yang digunakan untuk menjalankan perangkat mikro, sedangkan Card VM merupakan Virtual Machine yang digunakan pada kartu elektronik, sebagai contoh simcard pada mobile phone.

8 J2ME (Java 2 Micro Edition) J2ME yang didesain oleh Sun Microsystem, merupakan sekumpulan dari Java API untuk pengembangan software bagi perangkat kecil seperti PDA, Mobile Phone, dan aplikasi untuk konsumen lainnya. J2ME dibuat sebagai pengganti dari teknologi sejenis yang bernama Personal Java. J2ME menjadi pilihan populer dalam membuat aplikasi seperti games, instant messaging, dan aplikasi lainnya untuk mobile phone, J2ME juga bias diemulasikan pada PC selama tahap pengembangan dan dapat dengan mudah diaplikasikan di mobile phone. ( Arsitektur J2ME Arsitektur J2ME dibagi menjadi 2 (dua) lapisan, yaitu lapisan konfigurasi dan profile. Hal ini bertujuan untuk meningkatkan fleksibilitas dari desain. Pada lapisan konfigurasi, J2ME memiliki 2 (dua) lapisan, yaitu Connected Limited Device Configuration (CLDC) dan Connected Device Configuration (CDC). Pada lapisan profile, J2ME memiliki beberapa lapisan, yaitu Mobile Information Device Profile (MIDP), Foundation Profile (FP), Personal Profile, Personal Digital Assistance (PDA), Game Profile, Personal Basis Profile, RMI Profile.

9 18 Gambar : Arsitektur J2ME Dilihat pada Gambar di atas, J2ME mempunyai lapisan konfigurasi dan profile yang didukung oleh Java Virtual Machine (C- Virtual Machine dan K-Virtual Machine) Konfigurasi Sun memperkenalkan konfigurasi untuk mendukung jangkauan produk yang luas yang sesuai dengan scope dari J2ME. Konfigurasi mendefinisikan sebuah Platform Java untuk perangkat dengan jangkauan yang luas. Konfigurasi terikat erat dengan Java Virtual Machine. Kenyataannya, konfigurasi mendefinisikan fitur bahasa Java dan Library Java utama dari Java Virtual Machine khusus untuk konfigurasi yang berbasis pada memori, tampilan, konektifitas jaringan, dan kekuatan proses. Dua konfigurasi yang sudah didefinisikan sekarang ini

10 adalah Connected Device Configuration (CDC) dan Connected Limited Device Configuration(CLDC) Connected Device Configuration (CDC) CDC bertujuan untuk mengaplikasikan kemampuan-kemampuan utama dari tiap jenis device, dimana target CDC tersebut adalah memiliki minimal memori 2MB termasuk RAM dan ROM. CDC menspesifikasikan penggunaan Java 2 Platform Virtual Machine secara penuh disebut juga Compact Virtual Machine (CVM). Walaupun CVM mendukung fitur yang sama seperti J2SE Virtual Machine, CVM dirancang untuk konsumen dan embedded device. Ini berarti J2SE VM telah dikembangkan ulang untuk disesuaikan dengan batasan-batasan dari device yang memiliki sumber daya terbatas Connected Limited Device Configuration(CLDC) Menurut buku Advanced Java 2 Platform HOW TO PROGRAM karangan Deitel, Deitel, dan Santry (2002, p758), Connected Limited Device Configuration (CLDC) merupakan sekumpulan dari API yang memungkinkan pengembang untuk

11 20 membuat aplikasi pada peralatan yang memiliki sumber daya terbatas (keterbatasan besar layer, memori, power, dan bandwith). J2ME CLDC memiliki virtual machine dan penerjemah (interpreter) yang menjalankan aplikasi-aplikasi dan sekumpulan class yang bisa digunakan pengembang untuk mengembangkan dan menjalankan program pada peralatan yang memiliki sumber daya terbatas. Tujuan dari CLDC adalah untuk menggambarkan suatu Platform Java standart untuk device dengan spesifikasi memori kurang dari 512 KB. CLDC untuk Kilo VM (KVM), yang merupakan JVM yang sudah dioptimalisasi untuk battery operated devices (perangkat yang beroperasi dengan baterai) berdasarkan dari 16-bit atau 32-bit microprocessor dengan 160 s.d 512 KB memori untuk Java. Kebutuhan minimal sebagai tempat penyimpanan untuk KVM dan library yang berhubungan adalah sekitar 128 KB. Karena variasi sistem perangakat lunak yang luas pada berbagai personal divice, contoh : sebuah OS mungkin akan mendukung berbagai proses secara bersamaan

12 21 sedangakan OS yang lainnya mungkin atau tidak mungkin mendukung sistem file. Berikut persyaratan minimum hardware untuk menggunakan CLDC : o Setidaknya terdapat 160 kilobytes dari memorinonvolatile untuk library virtual machine dan CLDC. o Setidaknya terdapat 32 kilobytes dari memori volatile atau heap untuk proses menjalankan Virtual Machine. ( Requirements,-and-Scope/Requirements/) Profile Lapisan profile merupakan lapisan kedua dari arsitektur J2ME. Lapisan ini terdiri dari sekumpulan Application Programming Interface (API). Profile merupakan perpanjangan dari konfigurasi, yaitu mengatur segala hal yang spesifik untuk sebuah device. Profile terdiri dari kelas-kelas java yang menyediakan implementasi dari fitur-fitur untuk small computing device. Saat ini, terdapat tujuh profile dalam J2ME : Mobile Information Device Profile (MIDP) MIDP digunakan dengan Connected Limited Device Configuration (CLDC) dan berisi kelas-kelas

13 22 yang menyediakan penyimpanan lokal, sebuah user interface, dan kemampuan jaringan untuk sebuah aplikasi yang berjalan pada perangkat mobile Foundation Profile (FP) Foundation Profile (FP) digunakan dengan Connected Device Configuration (CDC). Terdapat keseluruhan dari kelas-kelas Java yang utama dan menjadi dasar hampir pada semua Connected Device Configuration (CDC) profile lain Personal Profile Personal profile digunakan dengan Connected Device Configuration (CDC) dan menambah fungsi user interface dasar untuk foundation profile. Profile ini menyediakan class yang mengimplementasikan user interface muktahir yang mampu menampilkan banyak windows pada waktu yang bersamaan Personal Digital Assistance (PDA) profile Personal digital assistance digunakan dengan Connected Limited Device Configuration (CLDC). PDA menyediakan user interface library yang lebih muktahir dan java-based API (Application Programming Interface) untuk mengakses fitur

14 23 penting dari Host Operating Sistem. PDA profile mirip dengan MIDP (Mobile Information Device Profile), namun PDA profile mengacu pada PDA yang memiliki lapisan yang lebih baik dan lebih banyak memori dari pada mobile phone Game Profile profile digunakan dengan Connected Device Configuration (CDC). Pada game profile disediakan platform untuk mengembangkan aplikasi game pada perangkat CDC Personal Basis Profile Profile ini mirip dengan personal profile. Pada profile ini disediakan RMI (Remote Invocation) classes untuk kelas-kelas utama yang terdapat pada Foundation Profile, digunakan dengan Connected Device Configuration (CDC) dan Foundation Profile (FP). Tetapi pada personal basis profile disediakan kelas-kelas untuk mengimplementasikan sebuah user interface yang sederhana yang mampu menampilkan sebuah windows pada satu waktu.

15 RMI Profile Profile ini juga digunakan dengan Connected Device Configuration (CDC). 2.3 Mobile Information Device Profile (MIDP) MIDP merupakan sekumpulan API (Application Programming Interface) yang mempermudah pengembang dalam menangani masalah-masalah khusus pada aplikasi mobile seperti membuat user interface, mengijinkan dalam penyimpanan lokal, dan mendefinisikan daur hidup dari aplikasi client MIDP (MIDlet). Alat yang digunakan untuk menjalankan aplikasi menggunakan MIDP disebut MIDP device. Alat tersebut termasuk mobilephone dan pager. MIDP merupakan versi dari platform java yang berdasarkan atas CLDC (Connected Limited Divice Configuration) dan KVM (Kilobyte Virtual Machine) yang mengacu untuk digunakan pada perangakat informasi mobile dengan tampilan dan storage (media penyimapanan) yang terbatas, seperti mobile phone dan beberapa jenis PDA. Oleh karena itu, MIDP menyediakan user interface yang sederhana dan jaringan. MIDP merupakan profile J2ME yang paling dikenal karena merupakan dasar bagi wireless java. Kebutuhan spesifikasi software dan hardware untuk menjalankan MIDP adalah sebagai berikut :

16 25 Syarat minimum spesifikasi hardware : Memori o 256 kilobyte dari non-volatile memori untuk komponen MIDP. Karena MIDP berjalan di atas CLDC, jadi ukuran statistik dari CLDC harus dimasukkan juga. o 8 kilobyte dari non-volatile memori untuk aplikasi data yang tetap. o 128 kilobyte dari volatile memori/heap untuk run time virtual. Display o Ukuran layar : 96 x 54 o Kedalaman tampilan : 1-bit o Ukuran pixel (aspect radio) : sekitar 1:1 Input o One handed keypad o Two handed keyboard o Touch screen Jaringan o Koneksi 2 arah (two - way), wireless, intermittent, dengan bandwidth terbatas. Suara o Kemampuan untuk memainkan nada, baik via hardware atau algoritma software. Syarat minimum spesifikasi software :

17 26 Kemampuan untuk menjalankan beberapa proses dalam waktu yang bersamaan, masing-masing dengan lokasi memori yang berbeda-beda. Kernel minimal untuk mendukung hardware (interupt handling, exception, dan minimal scheduling). Mekanisme untuk membaca dan menulis dari non-volatile memori untuk mendukung MIDP. Kemampuan untuk membaca dan menulis akses untuk jaringan perangkat wireless untu mendukung jaringan MIDP API. Mekanisme untuk menyediakan waktu untuk menulis ke media penyimpanan dan menyediakan timer dasar API (timer support). Kemampuan minimal untuk menulis tampilan grafik bitmap. Mekanisme untuk menerima input dari pengguna MIDlet (MIDP Application) MIDlet merupakan program yang ditulis untuk dieksekusikan pada micro information devices. MIDP memungkinkan eksekusi banyak MIDlet. MIDlet merupakan bagian dari javax.microedition.midlet. MIDlet yang terdapat pada MIDP, memiliki file descriptor bernama JAD pada setiap MIDlet-nya, yang memungkinkan software manejemen aplikasi pada perangkat mengidentifikasi apa yang diperlukan dalam instalasi terlebih dahulu.

18 27 Ada beberapa aturan MIDlet berdasarkan dari run time environment-nya. Pengatur aplikasi yang ada di dalam perangkat bertanggung jawab untuk memulai MIDlet. Sebuah aplikasi memiliki akses sumber daya hanya pada : Semua files dalam aplikasi file JAR. File JAR harus memiliki semua kelas-kelas yang dibutuhkan untuk menjalankan aplikasi dengan semua sumber daya, seperti file image dan data pengguna. Isi dari MIDlet descriptor file. Kelas-kelas yang ada sebagai bagian dari library CLDC dan MIDP Siklus hidup MIDlet Siklus hidup dari sebuah MIDlet ditangani oleh Application Management Software (AMS). AMS ini adalah sebuah lingkungan dimana siklus dari sebuah MIDlet mampu diciptakan, dijalankan, dihentikan, maupun dihilangkan. AMS sering pula dinamakan dengan Java Application Manager (JAM). MIDlet memiliki beberapa state atau keadaan yaitu pause, active, dan destroy. Ketika masing-masing state dipanggil, beberapa metodemetode standard yang bersesuaian dipanggil. Metode-metode ini merupakan bawaan dari J2ME.

19 28 Gambar : MIdlet Lifecycle Urutan eksekusi MIDlet : 1. Ketika MIDlet pertama kali diciptakan dan diinisialisasi, maka MIDlet akan barada dalam state pause. 2. Apabila terjadi kesalahan selama konstruksi MIDlet, maka MIDlet akan berpindah ke state destroy, dan MIDlet batal diciptakan dengan jalan memanggil fungsi standar destroyapp(). 3. Selanjutnya, ketika MIDlet dijalankan, maka MIDlet akan berada pada state active, dalam hal ini fungsi stnadar yang dipanggil adalah startapp(). 4. Akan terjadi jika di tengah jalan MIDlet dihentikan sementara, maka MIDlet akan berada dalam state pause dengan jalan memanggil fungsi standar pauseapp(). Pada state ini diperlukan proses cleanup terhadap garbage collector yang dihasilkan.

20 SMSLib SMSLib adalah pustaka java (java library) yang dapat digunakan untuk menerima atau mengirim SMS (Short Message Service) dengan menggunakan modem GSM atau seluler GSM yang sesuai. SMSLib juga mendukunga beberapa operator SMS besat (hanya untuk pesan outbound ). Secara umum, SMSLib mempunyai fungsi : Mendukung seluler GSM dan modem GSM yang dikoneksikan menggunakan serial port atau IP Bekerja pada PDU atau protokol teks Mendukung inbound dan outbound teks pesan sederhana Pesan kilat Pesan outbound dengan informasi atau alamat port Outbound pesan WAP PUSH SI Laporan status (pengiriman) pesan Informasi dasar GSM yang tersedia : modem, manufaktur, S/W revisi, level sinyal, dan lain-lain. SMSLib mempunyai konsep gateway, dimana antarmuka pada perangkat atau servis dapat mengirim dan atau menerima pesan SMS. Gateway dapat berupa modem GSM atau SMS provider. SMSLib dapat mengatasi beberapa gateway dalam waktu yang bersamaan. SMSLib menawarkan tanpa terbatas prioritas setiap pesan yang dapat digunakan untuk mengirim pesan. Ketika ini mungkin, prioritas

21 SMSLib dapat dipetakan secara langsung ke fungsi gateway, jika tidak mereka akan disimulasikan. 30 SMSLib memberikan dua pilihan untuk menerima pesan : Synchronously : kita dapat mengambil tanggung jawab dan secara periode memanggil metode baca()/read(). Asynchronously: menunggu SMSLib untuk memanggil sampai pesan diterima. SMSLib memberikan dua pilihan untuk mengirim pesan : Synchronously : ketika SMSLib dipanggil untk mengirim pesan, thread di blok sampai pesan diterima atau gagal terkirim. Asynchronously: ketika SMSLib dipanggil untuk mengirim pesan, thread tidak diblok dan SMSLib kembali secepatnya. SMSLib mengurutkan pesan dan mengirim pesan-pesan tersebut di belakang. SMSLib memberi pilihan untuk mendefinisikan metode callback dimana akan dipanggil ketika sesuatu terjadi : Inbound voice calls : SMSLib dapat diatur untuk memanggil saat diterima oleh voice call. Inbound message : Setiap pesan diterima, SMSLib dapat mengatur panggilan dalam metode yang spesifik. Outbound: ketika pesan yang dikirim diasynchronomiskan, SMSLib dapat diatur untuk memanggil metode spesifik dengan pesan dikirim.

22 31 Perubahan status gateway : SMSLib dapat memberitahukan setiap gateway mengubah status. Queque operasi mengirim:smslib dapat memberitahukan bahwa setiap saat untuk siap mengirim pesan dengan urutan background. 2.5 Keamanan (Security) Aspek-aspek yang berkaitan dengan ancaman keamanan yaitu : Interruption Data atau informasi yang berada pada sistemkomputer rusak atau dibuang sehingga menjadi tidak ada dan tidak berguna. Interception Orang yang tidak berhak berhasil mendapatkan akses informasi dari dalam sistem komputer. Modification Orang yang tidak berhak, tidak hanya berhasil mendapatkan akses informasi dari dalam sistem komputer, tetapi juga dapat melakukan perubahan terhadap informasi. Fabrication Orang yang tidak berhak, meniru atau memalsukan suatu objek ke dalam sistem.

23 32 Klasifikasi keamanan pada sistem informasi : Network Security Fokus kepada media pembawa informasi / data, seperti jaringan komputer. Komputer Security Fokus kepada komputer (server, workstation, terminal), termasuk masalah di dalamnya yang berhubungan dengan sistem operasi. Application Security Fokus kepada program aplikasi (software) dan database. 2.6 Kriptografi Serangan terhadap sistem jaringan komputer dan keamanan data membuat teknik untuk pengamanan data terhadap serangan tersebut pun semakin berkembang. Berbagai macam cara dikembangkan untuk menghindari serangan terhadap keamanan data dan sistem jaringan komputer, cara yang sering digunakan adalah dengan proses enkripsi dan dekripsi. Enkripsi adalah pengubahan bentuk dari data asli menjadi data yang tidak mudah dimengerti, sedangkan deskripsi adalah pengubahan dari data yang tidak mudah dimengerti dikembalikan menjadi data semula atau data asli. Pesan asli biasanya disebut plaintext, sedangkan pesan yang sudah disandikan disebut ciphertext. Proses enkripsi dan deskripsi ini disebut dengan kriptografi.

24 33 Gambar : Proses Enkripsi dan Dekripsi Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasian berita (bruce Schneier Applied Cryptography). Dalam ilmu ini, dipelajari bagaimana membuat suatu pesan yang dikirim oleh pengirim, dapat tersampaikan dengan aman pada penerima dengan cara menyamarkan dalam bentuk sandi yang tidak mempunyai makna. Kriptografi berfungsi untuk menjamin penerima bahwa data yang dikirim benar-benar dari pihak pengirim yang sah dan begitu juga sebaliknya menjamin pengirim bahwa data yang dikirim sampai pada penerima yang sah. Selain itu, kriptografi menjamin bahwa data yang mengalami modifikasi akan terdeteksi dan antara pengirim dan penerima masing-masing tidak dapat menyangkal bahwa telah mengirim atau menerima data. Dalam mengantisipasi ancaman keamanan terutama interception, modification, dan fabrication dalam literature telah diperkenalkan 3 jenis algoritma kriptografi yaitu : Algoritma kriptografi kunci rahasia (algoritma simetris) Algoritma yang menggunakan kunci yang sama pada enkripsi dan deskripsinya.

25 34 Gambar : Enkripsi dan Deskripsi Kunci Simetris Berdasarkan jumlah data per proses dan alur pengolahan data di dalamnya, algoritma kunci simetris ini dibedakan menjadi dua kelas, yaitu blockcipher dan stream-cipher. Block-cipher adalah algoritma yang akan membagibagi plaintext yang akan dikirim dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher memproses teks pada plaintext dengan blok yang relatif panjangnya lebih dari 64 bit. Hal ini dilakukan untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Sedangkan, stream-cipher adalah algoritma yang mengenkripsikan data persatuan data, seperti bit, byte, nible, atau per lima bit. Setiap mengenkripsikan satu satuan data, digunakan kunci yang merupakan hasil pembangkitan dari kunci sebelumnya. Penggunaan metode algoritma simetris ini membutuhkan persetujuan antara pengirim dan penerima tentang kunci sebelum mereka saling mengirim pesan. Keamanan dari kunci simetris tergantung pada kerahasiaan kunci, apabila

26 seorang penyusup dapat menemukan kunci maka dengan mudah dapat membaca pesan yang sudah dienkripsi. 35 Contoh algoritma kriptografi kunci rahasia (algoritma simetris) : DES, IDEA, AES (blok chiper), OTP, A5, RC4 (stream chiper). Algoritma kriptografi kunci publik (algoritma asimetris) Algoritma yang mempergunakan kunci yang berbeda-beda enkripsi dan deskripsinya. Gambar 2.6-3: Enkripsi dan Deskripsi Kunci Asimetris Pada metode ini, kunci untuk enkripsi boleh disebarluaskan kepada umum. Sedangkan, kunci untuk mendeskripsikan hanya disimpan oleh orang yang bersangkutan. Seperti pada gambar 2.6-3, bila seseorang ingin mengirim pesan kepada orang lain maka orang tersebut mengenkripsi pesan yang kita kirim kepadanya lalu orang tersebut akan mendeskripsikan pesan tersebut dengan

27 kunci privat miliknya. Contoh algoritma Asimetris : Knapsack, RSA(Rivert- Shamir-Adelman), Diffie-Hellman. 36 DSA Contoh algoritma kunci public (algoritma asimetris) : RSA, DH, ECC, Fungsi hash satu arah Fungsi ini biasanya digunakan bila kita menginginkan pengambilan sidik jari suatu pesan. Dinamakan juga sebagai fungsi kompresi karena biasanya, masukkan dari fungsi satu arah ini selalu lebih besar dari pada keluarannya. Hal inilah yang menyebabkan terjadinya kompresi. Namun, kompresi hasil fungsi ini tidak dapat dikembalikan ke asalnya. Hal inilah yang menyebabkan fungsi ini disebut fungsi satu arah.contoh algoritma fungsi hash antara lain, MD4, MD5, SHA-0, SHA-1, SHA-256, SHA-512. Terdapat empat tujuan dasar dari ilmu kriptografi yang juga merupakan aspek keamanan data yaitu : Authority Informasi yang berada pada sistem jaringan hanya dapat dimodifikasi oleh pihak yang memiliki otoritas atau kunci rahasia. Non-Repudiation Usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau membuat. Integrity

28 37 Berhubungan dengan penjagaan dari perubahan data secara tidak sah. Sistem dirancang untuk mampu mendeteksi menipulasi data oleh pihakpihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya. Authentication Berhubungan dengan indentifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentifikasi keaslian, isi data, waktu pengiriman, dan lain-lain. 2.7 Algoritma Twofish Pada tahun 1972 dan 1974, National of Standart (yang sekarang bernama NIST) mengumumkan adanya standar enkripsi, yaitu DES yang sangat beralasan karena penggunaannya yang luas dan merupakan algoritma yang sangat sukses di dunia. Dalam proses perkembangannya ternyata key-key dalam DES dirasa terlalu pendek bagi keamanan komersial sehingga membuat gusar para kriptografer yang menginginkan proses algoritma yang closed door. Akhirnya, NIST mengumumkan Advanced Encryption Standard (AES) pada tahun Salah satu kandidat AES adalah Twofish.

29 38 Twofish merupakan 128-bit block sandi/cipher yang bisa menerima panjang varibel kunci/key sebesar 256 bit. Cipher tersebut berasal 16-round jaringan Feitsel dengan fungsi bijektif F yang dilanjutkan dengan empat keydependent 8-by-b-bit S-boxes, satu fixed 4-by-4 maximum distance separable matrix over GF(2 8 ), satu pseudo-hadamard transform, satu rotasi bitwise dan satu desain key schedule Mekanisme Kerja Twofish Desain Twofish ditekankan pada kinerjanya. Implementasi dari Twofish sangat efisien pada beragam platform, yaitu CPU 32 bit, smart card 8 bit, dan perangkat VLSI. Desain twofish memungkinkan kinerja beberapa layer, tergantung pada kepentingan relative terhadap kecepatan enkripsi, key setup, penggunaan memori, hardware gate count, dan parameter implementasi yang lain. Hasilnya adalah algoritma yang sangat fleksibel yang dapat diimplementasikan secara efisien dalam beragam aplikasi kriptografi. Algoritma Twofish telah diimplementasikan empat macam pilihan keying yang berbeda. Terdapat beberapa pilihan keying yang mungkin, dimana masing masing mempunyai perbedaasn tipis dalam hal key setup. Empat macam keying tersebut adalah : 1. Full Keying

30 39 Pilihan ini melakukan parkomputasi terhadap kunci. Dalam menggunakan pilihan ini, suatu komputasi dari g berisi empat buah tabel pencarian, dan tiga buah operasi XOR. Sementara itu, kecepatan enkripsi dan deskripsinya bernilai konstan tanpa menghiraukan ukuran kunci. 2. Partial Keying Pada aplikasi yang sebagian kecil blok dienkripsikan dengan kunci tunggal tidak akan menjadi masalah dalam membangun key schedule yang lengkap. Pilihan ini melakukan prakomputasi terhadap empat S-boxes dalam tabel berukuran 8 x 8 bit, dan menggunakan empat buah tabel MDS 8 x 32 bita untuk melakukan perkalian MDS. Kecepatan deskripsi dan enkripsi tidak menghiraukan ukuran kunci. 3. Minimal Keying Pada aplikasi yang mengenkripsikan sangat sedikit bagian dari blok dengan kunci tunggal, terdapat kemungkinan optimasi yang lebih jauh. Penggunaan pilihan Minimal Keying ini hanya memerlukan sebuah tabel 1 Kb untuk menampung S-boxes yang diprakomputasi secara parsial. Pentingnya byte key dari S yang diprakomputasi adalah leyaknya mereka diperlukan dalam setiap round. 4. Zero Keying Pilihan ini tidak melakukan prakomputasi terhadap S-boxes, dan juga tidak memerlukan tabel ekstra. Sebagai gantinya, setiap entri di komputasi secara melayang. Waktu key setup secara murni digunakan untuk melakukan komputasi terhadap nilai K i dan S. Untuk

31 40 aplikasi yang tidak memiliki waktu key setup sama sekali, waktu yang digunakan untuk mengenkripsikan satu blok adalah penjumlahan dari waktu key setup dan waktu enkripsi zero keying Proses Algoritma Twofish Gambar : Struktur Algoritma Twofish Kriptanalis pada Twofish Lebih dari seribu jam telah dilakukan kriptanalis terhadap twofish. Sebuah catatan penting dari attack yang berhasil dilakukan terhadapnya adalah sebagai berikut:

32 41 a. 5- round twofish dengan 2 22,5 pasangan plaintext terpilih dan 2 51 komputasi fungsi g b. 10 round twofish dengan sebuah key attack terpilih,memerlukan 2 32 palintext terpilih dan sekitar 2 32 plaintext terpilih yang adaptif dan sekitar 2 32 usaha. Fakta bahwa twofish mampu menahan related key attack dengan baik merupakan fakta yang paling menarik dan beralasan, karena relatedkey memberikan kepada attacker hampir semua kontrol terhadap input cipher. Kriptanalis konvensional memungkinkan suatu attacker mengontrol input plaintext dan ciphertext didalam cipher, yaitu keyschedule. Berdasarkan hasil analisis ini, dapat diterka bahwa tidak lagi terdapat attack yang efisien terhadap twofish selain brute force yaitu attack yang paling efisien untuk melawan twofish dengan key 128 bit harus memiliki kompleksitas 2 128, sementara untuk twofish dengan key 192 bit harus menggunakan attack dengan kompleksitas dan untuk twofish dengan key 256 bit harus menggunakan attack dengan kompleksitas Salah satu attack yang dibahas disini adalah adalah Partial Key Guessing Attack. Sebuah key schedule yang bagus harus memiliki properti dimana ketika attacker menebak beberapa subset dari bit- bit key, attacker tidak memahami tentang urutan subkey atau operasi internal lainnya di dalam cipher tersebut. Dan twofish memiliki tipe key schedule yang seperti itu.

33 42 Misalnya, ada sebuah attacker yang menebak suatu kata genap dari key M c. Attacker tidak mempelajari apapun dari key S, untuk tiap round blok subkey, ia mengetahui A i. Jika ia menebak dengan suatu K o, ia dapat menghitung K 1 yang besesuaian. Ia dapat melakukan attack round subkey sebanyak yang dia suka, tapi tiap tebakan memakan 32 bit. Dapat dilihat bahwa tidak ada jalan bagi attacker untuk menguji tebakan 96 bit sekalipun hanya satu round subkey dengan cara ini terhadap full Twofish. Jalan lainnya adalah dengan menebak input key S terhadap G. Cara ini hanyalah setengah jalan dari full key M, tapi tidak memberikan informasi tentang round key A I. Dapat dilihat bahwa dengan cara ini pun tak ada jalan bagi attacker untuk menguji tebakan s terhadap twofish 16 round yang penuh sehingga analisis menyarankan bahwa attack terhadap full Twofish dengan menggunakan diferensial realeted key, adalah suatu pekerjaan yang sia- sia karena resistensi cipher Twofish yang handal terhadap attacker sejenis Keunggulan Twofish Keunggulan algoritma kriptografi Twofish adalah sebagai berikut : Memiliki varian dengan sebuah nomor variabel dari setiap round. Memiliki key schedule yang dapat diprakomputasikanuntuk kecepatan maksimum dan penggunaan memori manimum.

34 43 Cocok sebagai stream chipper, fungsi hash satu arah, MAC dan pseudo random number generator, dengan menggunakan metode konstruksi yang dapat dimengerti. Memiliki varian famili-key untuk memungkinkan versi chipper yang berbeda dan non-interrupterable. Selain itu, algoritma twofish memenuhi kriteria yang ditetapkan oleh NIST yaitu : Block chiper simetris 128-bit Memiliki panjang kunci antara lain : 128 bit, 192 bit, dan 256 bit. Tidak terdapat kunci kunci yang lemah. Memiliki efisiensi pada software dan hardware dari platform yang berbeda. Memiliki rancangan yang fleksibel, misalnya menerima panjang kunci tambahan, dapat diterapkan pada software dan hardware dari platform berbeda, cocok untuk stream chipper, fungsi hash dan MAC. Desain yang sederhana, memudahkan baik untuk analisa maupun implementasi. Pemenuhan Twofish terhadap kriteria yang dibutuhkan NIST, yaitu 128-bit block, 128 bit, dan 192 bit, dan 256 bit membuat Twofish efisien terhadap platform manapun. Twofish mampu melakukan : a. Melakukan enkripsi data pada 285 siklus per block di atas Pentium Pro setelah menjalankan key setup siklus clock.

35 b. Melakukan enkripsi data pada 860 siklus per block di atas Pentium Pro setelah menjalankan key setup 1250 siklus clock. 44 c. Melakukan enkripsi data pada siklus per block di atas sebuah 6805 smart card setelah mejalankan key setup 1750 siklus clock. 2.8 MD5 (Message Digest Algorithm) MD5 (Message-Digest algorithm) ialah fungsi hash kriptografik yang digunakan secara luas dengan nilai hash 128-bit. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Enkripsi MD5 memang irreversible namun penggunaannya adalah dengan membandingkan data yang tersimpan (sudah terenkripsi) dengan hasil enkripsi data yang akan dibandingkan. Sehingga pengujian dapat dilakukan tanpa harus mengembalikan (dekrip) data Algoritma MD5 Terdapat empat langkah pokok dalam proses pembuatan message digest pada algoritma MD5, yaitu : 1. Penambahan Bit-Bit Pengganjal

36 45 Pesan ditambah dengan bit-bit pengganjal hingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Hal ini berarti bahwa panjang pesan setelah ditambahi bit-bit pengganjal adalah 64 bit kurang dari kelipatan 512. Angka 512 muncul karena MD5 memproses pesan dalam blok-blok yang berukuran 512. Pesan dengan pankang 448 bit pun tetap ditambah dengan bit-bit pengganjal. Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512. Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya 0 bit. 2. Penambahan Nilai Panjang Pesan Semula Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Jika panjang pesan > 264 maka yang diambil adalah panjangnya dalam modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan K modulo 264. Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit. 3. Inisialisasi Penyangga (Buffer) MD Sebagai Nilai Awal MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya 32 bit. Total panjang penyangga adalah 4 x 32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir. Keempat penyangga ini diberi nama A, B, C, D.

37 Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut : 46 (Catatan : beberapa versi MD5 menggunakan nilai inisialisasi yang berbeda, yaitu : A = B = EF CD AB 89 C = 98 BA DC FE D = Pengolahan Pesan dalam Blok Berukuran 512 Bit Pesan dibagi menjadi L buah blok yang masingmasing panjangnya 512 bit (Y0 sampai YL-1). Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HMD5, Gambar proses HMD5 diperlihatkan pada Gambar

38 Gambar : Proses Manipulasi Blok 512 bit dalam MD5 47

39 48 Proses H terdiri dari 4 putaran, dan masing-masing putaran melakukan operasi dasar MD5 sebanyak 16 kali dan setiap kali operasi dasar memakai sebuah elemen T. Jadi setiap putaran memakai 16 elemen tabel T. Pada gambar, Y q di atas menyatakan blok 512 bit ke-q dari pesan yang telah ditambah bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan semula. MD q adalah nilai message digest 128 bit dari proses H ke-q. pada awal proses, MD q berisi nilai inisialisasi penyangga MD. Fungsi-fungsi f F, f G, f H, dan f I masing-maisng berisi 16 kali operasi dasar terhadap masukkan, setiap operasi dasar menggunakan elemen tabel T. a b c d g + + X[k] + T[i] CLS s + Gambar : Operasi Dasar MD5

40 49 Operasi dasar MD5 ditulis dengan sebuah persamaan sebagai berikut : a b + CLSs(a + g(b,c,d) + X[k] + T[i]) dimana, a,b,c,d = empat buah variable penyangga 32 bit (berisi nilai penyangga A,B,C,D) g = salah satu fungsi F,G,H,I CLS s = Circular Left Shift sebanyak s bit (notasi : <<<s) X[k] = kelompok 32 bit ke-k dari blok 512 bit message ke-q. Nilai k=0 sampai 15 T[i] = elemen Tabel T ke-i (32 bit) + = operasi penjumlahan modulo 2 32 Karena ada 16 kali operasi dasar, maka setiap kali selesai satu operasi dasar, penyangga-penyangga tersebut ke kanan secara sirkuler dengan cara pertukaran sebagai berikut : temp d d c c b b a a temp

41 Kelemahan MD5 kekurangan MD5 adalah proses perubahan data asli menjadi MD5 perlu waktu relatif lama, memerlukan hardware komputer yang cukup besar, semakin besar kemampuan komputer makin cepat kinerjanya Kelebihan MD5 Kelebihan dari MD5 adalah sulit untuk dipecahkan walaupun dengan serangan brute force, tingkat keamanan MD5 adalah salah satu yang terbaik, tidak bisa diubah kembali menjadi data asli (irreversible), hasil keluaran MD5 selalu 32 karakter. 2.9 SHA SHA adalah fungsi hash satu arah yang didesain oleh National Security Agency (NSA) dan dipublikasikan oleh National Institute of Standarts and Technology (NIST) sebagai Federal Information Processing Standard (FIPS) pada tahun Fungsi hash ini disebut SHA-0 yang pada dua tahun kemudian dipublikasikan SHA-1 sebagai generasi lanjutan yang juga merupakan revisi dan perbaikan dari SHA-0. Lalu pada tahun 2002 dipublikasikan empat variasi lainnya,

42 51 yaitu : SHA-224, SHA-256, SHA-384, dan SHA-512. Keempat variasi ini termasuk dalam keluarga SHA-2. Detail struktur dan algoritma keluarga SHA hampir sama. bawah ini : Perbedaan pada masing-masing variasi SHA dapat dilihat pada tabel di SHA-1 SHA-256 SHA-384 SHA-512 Ukuran message digest Ukuran pesan <2 64 <2 64 <2 128 <2 128 Ukuran block Ukuran huruf Number of steps Keamanan Catatan : 1. Satuan ukuran dalam bits. 2. Referensi keamanan merupakan fakta dari serangan birthd ay attack terhadap message digets dari ukuran n produces bertubrukan dengan workfaktor sekitar 2 n/2. Tabel : Perbandingan SHA

43 52 Keamanan SHA dinyatakan karena secara komputasi tidak dapat ditemukan isi pesan dari message digest yang dihasilkan, dan tidak dapat dihasilkan dua pesan yang berbeda menghasilkan message digest yang sama. Setiap perubahan yang terjadi pada pesan akan menghasilkan message digest yang berbeda SHA -1 SHA-1 menerima masukkan berupa pesan dengan ukuran maksimum adalah 264 bit dan menghasilkan message digest yang panjangnya 160 bit. Panjang message digest pada SHA-1 pebih panjang dari pada yang dihasilkan oleh MD5 yang menghasilkan panjang message digest 128 bit. Proses SHA-1 secara garis besar adalah sebagai berikut : 1. Penambahan bit-bit pengganjal (padding bits) Pesan ditambah dengan sejumlah bit pengganjal yang sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modul 512. Ini berarti, panjang pesan setelah ditambah dengan bit-bit pengganjal adalah 64 bit kurang sari kelipatan 512. Pesandengan panjang 448 bit pun tetapditambah dengan bitbitpengganjal.jika panjang pesan 448 bit, maka pesantersebut ditambah dengan 512 bitmenjadi 960 bit. Jadi, panjang bit-bitpengganjal adalah

44 antara 1 sam pai 512.Bit-bit pengganjal terdiri dari sebuah bit1 diikuti dengan sisanya Penambahan nilai panjang pesan semula Pesan yang telah diberi bit-bit pengganjal, selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semua. Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit. 3. Inisialisasi penyangga (buffer) MD SHA membutuhkan 5 buah penyangga (buffer) yang masingmasing panjangnya 32 bit. Total panjang penyangga adalah 5 x 32 bit = 160 bit. Kelima penyangga ini menampung hasil antara dan hasil akhir. Kelima penyangga tersebut diberi nama A, B, C, D, dan E. Dimana setiap penyangga diinisialisai dengan nilai-nilai (dalam notasi HEX) sebagai berikut : A = B = EFCDAB89 C = 98BADCFE D = E = C3D2E1F0

45 Sebagai 32 bit string, setiap penyangga diinisialisasikan dengan nilai-nilai (dalam notasi HEX) sebagai berikut : 54 Word A = Word B = EF CD AB 89 Word C = 98 BA DC FE Word D = Word E = C3 D2 E1 F0 4. Pengelolaan pesan dalam blok berukuran 512 bit Pseudocode untuk SHA-1 adalah sebagai berikut : Note 1: All variables are unsigned 32 bits and wrap modulo 2 32 when calculating Note 2: All constants in this pseudo code are in big endian. Within each word, the most significant byte is stored in the leftmost byte position Initialize variables: h0 = 0x h1 = 0xEFCDAB89 h2 = 0x98BADCFE

46 55 h3 = 0x h4 = 0xC3D2E1F0 Pre-processing: append the bit '1' to the message append 0 k < 512 bits '0', so that the resulting message length (in bits) is congruent to (mod 512) append length of message (before pre-processing), in bits, as 64-bit big-endian integer Process the message in successive 512-bit chunks: break message into 512-bit chunks for each chunk break chunk into sixteen 32-bit big-endian words w[i], 0 i 15 Extend the sixteen 32-bit words into eighty 32-bit words: for i from 16 to 79 w[i] = (w[i-3] xor w[i-8] xor w[i-14] xor w[i-16]) leftrotate 1 Initialize hash value for this chunk: a = h0 b = h1

47 56 c = h2 d = h3 e = h4 Main loop: for i from 0 to 79 if 0 i 19 then f = (b and c) or ((not b) and d) k = 0x5A else if 20 i 39 f = b xor c xor d k = 0x6ED9EBA1 else if 40 i 59 f = (b and c) or (b and d) or (c and d) k = 0x8F1BBCDC else if 60 i 79 f = b xor c xor d k = 0xCA62C1D6 temp = (a leftrotate 5) + f + e + k + w[i] e = d d = c c = b leftrotate 30

48 57 b = a a = temp Add this chunk's hash to result so far: h0 = h0 + a h1 = h1 + b h2 = h2 + c h3 = h3 + d h4 = h4 + e Produce the final hash value (big-endian): digest = hash = h0 append h1 append h2 append h3 append h4 Tabel : Psedeucode SHA-1 Contoh (SHA-1) : SHA1("The quick brown fox jumps over the lazy dog") = 2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12 // Efek ketika terdapat perubahan di akhir kata "cog" : SHA1("The quick brown fox jumps over the lazy cog") = de9f2c7f d25e1b3a fad3e85a 0bd17d9b 100db4b3 SHA1("")

49 58 = da39a3ee 5e6b4b0d 3255bfef afd SHA-256 dan SHA-512 Psedeucode untuk SHA-256 dan SHA-512 adalah sebagai berikut : Note 2: All constants in this pseudo code are in big endian Initialize variables (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19): h0 := 0x6a09e667 h1 := 0xbb67ae85 h2 := 0x3c6ef372 h3 := 0xa54ff53a h4 := 0x510e527f h5 := 0x9b05688c h6 := 0x1f83d9ab h7 := 0x5be0cd19 Initialize tabel of round constants (first 32 bits of the fractional parts of the cube roots of the first 64 primes ):

50 59 k[0..63] := 0x428a2f98, 0x , 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x , 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd , 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 Pre-processing: append the bit '1' to the message append k bits '0', where k is the minimum number >= 0 such that the resulting message length (in bits) is congruent to 448 (mod 512)

51 60 append length of message (before pre-processing), in bits, as 64-bit bigendian integer Process the message in successive 512-bit chunks: break message into 512-bit chunks for each chunk break chunk into sixteen 32-bit big-endian words w[0..15] Extend the sixteen 32-bit words into sixty-four 32-bit words: for i from 16 to 63 s0 := (w[i-15] rightrotate 7) xor (w[i-15] rightrotate 18) xor (w[i- 15] rightshift 3) s1 := (w[i-2] rightrotate 17) xor (w[i-2] rightrotate 19) xor (w[i-2] rightshift 10) w[i] := w[i-16] + s0 + w[i-7] + s1 Initialize hash value for this chunk: a := h0 b := h1 c := h2 d := h3 e := h4 f := h5

52 61 g := h6 h := h7 Main loop: for i from 0 to 63 s0 := (a rightrotate 2) xor (a rightrotate 13) xor (a rightrotate 22) maj := (a and b) xor (a and c) xor (b and c) t2 := s0 + maj s1 := (e rightrotate 6) xor (e rightrotate 11) xor (e rightrotate 25) ch := (e and f) xor ((not e) and g) t1 := h + s1 + ch + k[i] + w[i] h := g g := f f := e e := d + t1 d := c c := b b := a a := t1 + t2 Add this chunk's hash to result so far: h0 := h0 + a

53 62 h1 := h1 + b h2 := h2 + c h3 := h3 + d h4 := h4 + e h5 := h5 + f h6 := h6 + g h7 := h7 + h Produce the final hash value (big-endian): digest = hash = h0 append h1 append h2 append h3 append h4 append h5 append h6 append h7 Tabel : Psedeucode SHA , tetapi : Psedeucode pada SHA-512 identik dengan psedeucode pada SHA- Semua angka panjangnya 64-bit Terdapat 80 putaran bukan 64 putaran Nilai awal dan konstanta aditif diperluas menjadi 64-bit Shift dan jumlah putaran yang digunakan berbeda Perbedaan standar SHA, antara SHA versi 256 (SHA-256) dan SHA versi 512 (SHA-512) dapat dilihat pada tabel di bawah ini :

54 63 Konstanta SHA bit pertama dari pagian fraksional cube root dari 64 angka prima pertama SHA bit pertama dari pagian fraksional cube root dari 80 angka prima pertama Padding 448 mod mod 1024 Panjang Inisialisasi buffer Panjang pesan asli ditambah 64 bit 6A09E667 BB67AE85 3C6EF372 A54FF53A 510E527F 9B05688C 1F83D9AB 5BE0CDI9 Panjang pesan asli ditambah 128 bit 6A09E667F3BCC908 BB67AE8584CAA73B 3C6EF372FE94F82B A54FF53A5F1D36F1 510E527FADE682D1 9B05688C2B3E6C1F 1F83D9ABFB41BD6B 5BE0CDI913E2179 Tabel : Standar SHA-256 dan SHA-512 (Contoh SHA-256) SHA256("The quick brown fox jumps over the lazy dog") = d7a8fbb3 07d ca9abc b0082e4f 8d5651e4 6d3cdb76 2d02d0bf 37c9e592

55 64 // Efek ketika terdapat perubahan di akhir kata "cog" : SHA256("The quick brown fox jumps over the lazy cog") = e4c4d8f3 bf76b692 de791a17 3e f7a345 b46484fe 427f6acc 7ecc81be SHA256("") = e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855 (Contoh SHA-512 ) SHA512("The quick brown fox jumps over the lazy dog") = 07e547d9 586f6a73 f73fbac0 435ed fb7 d0c8d788 a309d bbb64 2e93a252 a954f d1e 8a3b5ed6 e1bfd f a0538f3d b854fee6 // Efek ketika terdapat perubahan di akhir kata "cog" : SHA512("The quick brown fox jumps over the lazy cog") = 3eeee1d0 e11733ef 152a6c29 503b3ae2 0c4f1f3c da4cb26f 1bc1a41f 91c7fe4a b3bd e201 c4bd5155 f31ecb7a 3c c4cc8df cab7da11 c8ae5045 SHA512("")

56 65 = cf83e135 7eefb8bd f d66d8007 d620e405 0b5715dc 83f4a921 d36ce9ce 47d0d13c 5d85f2b0 ff8318d2 877eec2f 63b931bd 47417a81 a538327a f927da3e 2.10 AES (Advanced Encryption Standard) Rijndael AES atau Advanced Encryption Standard merupakan Federal Information Proccess Standard (FIPS) yang baru. AES merupakan pengganti DES yang diumumkan usaha pembuatan algoritmanya pada tanggal 2 Januari 1997, oleh NIST yang merupakan badan penelitian milik pemerintah Amerika Serikat. Untuk menghindari kontoversi dari standar baru ini, NIST mengadakan lomba terbuka untuk membuat standart algoritma kriptografi yang baru sebagai pengganti DES. adalah : Persyaratan yang diajukan oleh NIST tentang algoritma yang baru tersebut 1. Algoritma yang ditawarka termasuk ke dalam kelompok algoritma kriptografi simetri berbasis chipper blok. 2. Seluruh rancangan algoritma harus bebas dari royalty. 3. Panjang kunci fleksibel : 128, 192, dan 256 bit. 4. Ukuran blok yang dienkripsi adalah 128 bit. NIST menerima 15 proposal algoritma yang masuk. Berdasarkan aspek keamanan algoritma, efisiensi, fleksibilitas, dan kebutuhan memori, pada bulan

57 Agustus 1998, NIST memilih lima finalis yaitu Rijndael, Twofish, Serpent, RC6, MARS. Dari ke lima finalis ditetapkan Rijndael sebagai AES. 66 Rijndael termasuk dalam jenis algoritma kriptografi yang sifatnya simetri dan chipper block. Dengan demikian algoritma ini mempergunakan kunci yang sama saat enkripsi dan dekripsi serta masukkan dan keluarannya berupa blok dengan jumlah bit tertentu. Algoritma Rijndael memiliki operasi dasar matematika yang meliputi penjumlahan, perkalian, dan perkalian dengan x. Operasi matematika ini berbeda dengan operasi inter biasa, karena diperasikan dalam operasi finite field. Rijndael mendukung berbagai variasi ukuran blok dan kunci yang akan digunakan. Rijndael mendukung panjang kunci 128 bit sampai 256 dengan kelipatan 32 bit. Namun Rijndael dalam versi AES mempunyai ukuran blok dan kunci yang tetap sebesar 128, 192, 256 bit. Pemilihan ukuran blok data dan kunci akan menentukan jumlah proses yang harus dilalui untuk proses enkripsi dan dekrispsi. Secara garis besar, operasi algoritma Rijndael pada blok 128-bit dengan kunci 128-bit adalah sebagai berikut : 1. ArrRoundKey : operasi untuk melakukan XOR antara state awal (plainteks) dengan chipper key. Tahap ini disebut juga initial round. 2. Putaran sebanyak Nr-1 kali. Proses yang dilakukan pada setiap putaran adalah : a. ByteSub : substitusi byte dengan menggunakan tabel substitusi (S-box).

PENGUJIAN IMPLEMENTASI DAN PERBANDINGAN FUNGSI HASH SATU ARAH SHA-1 dan SHA-2 Ivan Nugraha NIM :

PENGUJIAN IMPLEMENTASI DAN PERBANDINGAN FUNGSI HASH SATU ARAH SHA-1 dan SHA-2 Ivan Nugraha NIM : PENGUJIAN IMPLEMENTASI DAN PERBANDINGAN FUNGSI HASH SATU ARAH SHA-1 dan SHA-2 Ivan Nugraha NIM : 13506073 Abstrak Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail

Lebih terperinci

Modifikasi SHA-1 Untuk Mengurangi Hash collision

Modifikasi SHA-1 Untuk Mengurangi Hash collision Modifikasi SHA-1 Untuk Mengurangi Hash collision Odit Ekwardo 135 04 079 Jurusan Teknik Informatika ITB, Bandung, email: if14079@students.if.itb.ac.id Abstraksi Komunikasi merupakan faktor penting dalam

Lebih terperinci

Perkembangan Enkripsi Fungsi Hash pada SHA (Secure Hash Algorithm)

Perkembangan Enkripsi Fungsi Hash pada SHA (Secure Hash Algorithm) Perkembangan Enkripsi Fungsi Hash pada SHA (Secure Hash Algorithm) Muharram Huda W. Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Lebih terperinci

Digital Signature Standard (DSS)

Digital Signature Standard (DSS) Bahan Kuliah ke-19 IF5054 Kriptografi Digital Signature Standard (DSS) Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 19. Digital Signature Standard

Lebih terperinci

Algoritma Twofish : kinerja dan implementasinya sebagai salah satu kandidat algoritma AES (Advanced Encryption Standard)

Algoritma Twofish : kinerja dan implementasinya sebagai salah satu kandidat algoritma AES (Advanced Encryption Standard) Algoritma Twofish : kinerja dan implementasinya sebagai salah satu kandidat algoritma AES (Advanced Encryption Standard) Indra Mukmin NIM : 13506082 1) 1) Jurusan Teknik Informatika ITB, Bandung 40135,

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi BAB 2 LANDASAN TEORI 2.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri atas kata cryptos yang artinya rahasia, dan graphein yang artinya tulisan. Berdasarkan

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Dalam pembahasan tentang chatting menggunakan J2ME ini

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Dalam pembahasan tentang chatting menggunakan J2ME ini BAB II TINJAUAN PUSTAKA DAN DASAR TEORI 2.1. Tinjauan Pustaka Dalam pembahasan tentang chatting menggunakan J2ME ini pernah dibahas dalam skripsi yang berjudul APLIKASI CHATTING MENGGUNAKAN J2ME dengan

Lebih terperinci

IF5093 Java ME. Achmad Imam Kistijantoro Semester II 2006/2007. IF-ITB/AI/Mar 07. IF5093 Java ME

IF5093 Java ME. Achmad Imam Kistijantoro Semester II 2006/2007. IF-ITB/AI/Mar 07. IF5093 Java ME IF5093 Java ME Achmad Imam Kistijantoro Semester II 2006/2007 IF5093 Java ME 1 Java ME overview Java ME (Micro Edition) adalah java platform untuk consumer devices seperti handphone, PDA, TV set-top boxes

Lebih terperinci

Pengenalan JAVA. Farhat, ST., MMSI., MSc

Pengenalan JAVA. Farhat, ST., MMSI., MSc Pengenalan JAVA Tim sun Microsystems (dipimpin oleh James Gosling) bahasa komputer kecil (chipchip embedded) Proyek bernama Green. Pascal (diciptakkan oleh Niklaus Wirth) Bahasa yang portable kode intermediate

Lebih terperinci

BAB III JAVA 2 MICROEDITION (J2ME) definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan

BAB III JAVA 2 MICROEDITION (J2ME) definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan BAB III JAVA 2 MICROEDITION (J2ME) 3.3 Arsitektur Java Bahasa Java merupakan salah satu bahasa tingkat tinggi. Java berdasarkan definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan

Lebih terperinci

Pemanfaatan Metode Pembangkitan Parameter RSA untuk Modifikasi SHA-1

Pemanfaatan Metode Pembangkitan Parameter RSA untuk Modifikasi SHA-1 Pemanfaatan Metode Pembangkitan Parameter RSA untuk Modifikasi SHA-1 Miftah Mizan NIM : 13507064 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

Algoritma Kriptografi Modern (AES, RSA, MD5)

Algoritma Kriptografi Modern (AES, RSA, MD5) Algoritma Kriptografi Modern (AES, RSA, MD5) Muhammad Izzuddin Mahali, M.Cs. Izzudin@uny.ac.id / m.izzuddin.m@gmail.com Program Studi Pendidikan Teknik Informatika Jurusan Pendidikan Teknik Elektronika

Lebih terperinci

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java SEMINAR NASIONAL MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 16 Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java T - 8 Faizal Achmad Lembaga

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Pada penelitian Aplikasi Kamus Bahasa Jepang - Indonesia Pada Perangkat Genggam Mengunakan J2ME (Murthi, Tommy Adhi Kresna, 2010), perancangan sistem ini

Lebih terperinci

Modifikasi Proses SHA-1 Berdasarkan Pembangkitan Bilangan Acak

Modifikasi Proses SHA-1 Berdasarkan Pembangkitan Bilangan Acak Modifikasi Proses SHA-1 Berdasarkan Pembangkitan Bilangan Acak Austin Dini Gusli - 13506101 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Algoritma Fungsi Hash Baru dengan Menggabungkan MD5, SHA-1 dan Penyertaan Panjang Pesan Asli

Algoritma Fungsi Hash Baru dengan Menggabungkan MD5, SHA-1 dan Penyertaan Panjang Pesan Asli Algoritma Fungsi Hash Baru dengan Menggabungkan MD5, SHA-1 dan Penyertaan Panjang Pesan Asli Candra Alim Sutanto - 13508069 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Pemrograman Berbasis Objek. Pengenalan Java. Entin Martiana. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Pengenalan Java. Entin Martiana. Politeknik Elektronika Negeri Surabaya Pengenalan Java Entin Martiana Sejarah Java (1) 1991, Sun dipimpin Patric Naughton dan James Gosling ingin merancang bahasa computer untuk perangkat consumer seperti cable TV Box. Karena perangkat itu

Lebih terperinci

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A. Latar Belakang Advanced Encryption Standard (AES) Rifqi Azhar Nugraha 1137050186 IF 6 A DES dianggap sudah tidak aman. rifqi.an@student.uinsgd.ac.id Perlu diusulkan standard algoritma baru sebagai pengganti

Lebih terperinci

BAB 2 Pengenalan Bahasa JAVA

BAB 2 Pengenalan Bahasa JAVA BAB 2 Pengenalan Bahasa JAVA 2.1 Tujuan Pada bab ini akan dibahas secara singkat tentang sejarah JAVA dan definisi teknologi JAVA. Bab ini juga akan sedikit menyinggung tentang fase fase dalam program

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Pada bab ini, akan dibahas landasan teori mengenai teori-teori yang digunakan dan konsep yang mendukung pembahasan, serta penjelasan mengenai metode yang digunakan. 2.1. Pengenalan

Lebih terperinci

PENGENALAN BAHASA PEMROGRAMAN JAVA

PENGENALAN BAHASA PEMROGRAMAN JAVA Pertemuan 1 Halaman 1/1 PENGENALAN BAHASA PEMROGRAMAN JAVA Buku referensi : 1. Core Java, Gary Cornell dan Cay S. Horstmann. 2. Teach Yourself Java 1.1 in 21 Days, Laura Lemay dan Charles L. Perkins. 3.

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Dewasa ini keamanan data dirasakan semakin penting, Keamanan pengiriman informasi melalui komputer menjadi bagian yang tidak terpisahkan dalam kehidupan sehari-hari.

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Sistem yang Sedang Berjalan Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami

Lebih terperinci

Implementasi SHA, Algoritma HAJ, dan Algoritma RSA pada BlackBerry Messanger

Implementasi SHA, Algoritma HAJ, dan Algoritma RSA pada BlackBerry Messanger Implementasi SHA, Algoritma HAJ, dan Algoritma RSA pada BlackBerry Messanger Andara Livia Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jl. Ganesha

Lebih terperinci

MK. Pemrograman Berorientasi Objek PENGENALAN JAVA KARMILASARI

MK. Pemrograman Berorientasi Objek PENGENALAN JAVA KARMILASARI MK. Pemrograman Berorientasi Objek PENGENALAN JAVA KARMILASARI APA itu JAVA? 2 Dibuat pertama kali oleh James Goslig dkk (1991) sebagai bagian dari Sun Microsystem Java Platform Awalnya diberi nama Oak

Lebih terperinci

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN. Universitas Sumatera Utara BAB I PENDAHULUAN 1.1. Latar Belakang Masalah. Perkembangan teknologi saat ini telah mengubah cara masyarakat baik itu perusahaan militer dan swasta dalam berkomunikasi. Dengan adanya internet, pertukaran

Lebih terperinci

ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA

ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA Andi Hendra Jurusan Matematika MIPA Universitas Tadulako Abstrak Selain dokumen yang berupa teks, komunikasi

Lebih terperinci

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station Ultima Computing Husni Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station EMIR M. HUSNI Sekolah Teknik Elektro & Informatika, Institut

Lebih terperinci

Kriptoanalisis Pada Fungsi Hash Kriptografi MD5

Kriptoanalisis Pada Fungsi Hash Kriptografi MD5 Kriptoanalisis Pada Fungsi Hash Kriptografi MD5 Sibghatullah Mujaddid (13507124) Jurusan Teknik Informatika ITB, Bandung 40132, email: sibgha07@students.itb.ac.id Abstract Dalam ilmu komputer, fungsi hash

Lebih terperinci

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD Konferensi Nasional Ilmu Sosial & Teknologi (KNiST) Maret 2017, pp. 165~171 165 PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD Cahyani Budihartanti 1, Egi Bagus Wijoyo

Lebih terperinci

Bab I Pendahuluan 1 BAB I PENDAHULUAN

Bab I Pendahuluan 1 BAB I PENDAHULUAN Bab I Pendahuluan 1 BAB I PENDAHULUAN 1.1 Latar Belakang Secara umum, di Indonesia mobile internet masih merupakan potensi yang belum banyak tersentuh. Hal ini dikarenakan teknologi mobile internet memerlukan

Lebih terperinci

Analisis Cara Kerja Beragam Fungsi Hash Yang Ada. Christian Angga

Analisis Cara Kerja Beragam Fungsi Hash Yang Ada. Christian Angga Analisis Cara Kerja Beragam Fungsi Hash Yang Ada Christian Angga 13508008 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Keamanan Data Keamanan merupakan salah satu aspek yang sangat penting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan

Lebih terperinci

Blox: Algoritma Block Cipher

Blox: Algoritma Block Cipher Blox: Algoritma Block Cipher Fikri Aulia(13513050) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, 13513050@std.stei.itb.ac.id

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Masalah keamanan data merupakan salah satu aspek yang sangat penting

BAB II TINJAUAN PUSTAKA. Masalah keamanan data merupakan salah satu aspek yang sangat penting BAB II TINJAUAN PUSTAKA Masalah keamanan data merupakan salah satu aspek yang sangat penting dari sebuah sistem informasi. Tetapi, masalah ini kurang mendapat perhatian dari para pemilik dan pengelola

Lebih terperinci

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

Universitas Sumatera Utara BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Algoritma RC4 RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data pada satu saat. Dengan cara ini enkripsi maupun dekripsi dapat dilaksanakan pada

Lebih terperinci

PENGEMBANGAN APLIKASI MOBILE

PENGEMBANGAN APLIKASI MOBILE PENGEMBANGAN APLIKASI MOBILE Tujuan Mengidentifikasi karakteristik dari perangkat mobile Menjelaskan arsitektur J2ME Mengetahui peran atau aturan configuration dan profile Mengidentifikasi API yang disediakan

Lebih terperinci

Aplikasi Pesan dengan Algoritma Twofish pada Platform Android Messaging Application with Twofish Algorithm on Android Platform

Aplikasi Pesan dengan Algoritma Twofish pada Platform Android Messaging Application with Twofish Algorithm on Android Platform Aplikasi Pesan dengan Algoritma Twofish pada Platform Android Messaging Application with Twofish Algorithm on Android Platform Midian Octaviano Gurning Prodi S1 Sistem Komputer, Fakultas Teknik, Universitas

Lebih terperinci

Kata Kunci: Kriptografi, algoritma,security, pemrograman, pseucode.

Kata Kunci: Kriptografi, algoritma,security, pemrograman, pseucode. KRIPTOGRAFI MD 5 Muhammad Arba Adandi arba@raharja.info Abstrak Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit.

Lebih terperinci

TINJAUAN PUSTAKA. Kriptografi

TINJAUAN PUSTAKA. Kriptografi 2 2 Penelitian ini berfokus pada poin a, yaitu pengembangan sistem mobile serta melakukan perlindungan komunikasi data. 3 Spesifikasi sistem dibuat berdasarkan pada alur proses penilangan yang berlaku

Lebih terperinci

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya Pengenalan Java Yuliana Setiowati Kilas Balik Teknologi Java Bahasa Java awalnya bernama Oak, yakni bagian dari projek Green yang dikembangkan khusus oleh Sun Microsystem untuk memprogram perangkat-perangkat

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.

BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1. BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Lingkungan Perancangan Dalam perancangan program simulasi ini, penulis menggunakan komputer dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel

Lebih terperinci

APLIKASI ENKRIPSI PESAN TEKS (SMS) PADA PERANGKAT HANDPHONE DENGAN ALGORITMA CAESAR CIPHER

APLIKASI ENKRIPSI PESAN TEKS (SMS) PADA PERANGKAT HANDPHONE DENGAN ALGORITMA CAESAR CIPHER APLIKASI ENKRIPSI PESAN TEKS (SMS) PADA PERANGKAT HANDPHONE DENGAN ALGORITMA CAESAR CIPHER Tri Puji Rahayu 1, Yakub 2, Irwan Limiady 3 Program Studi Teknik Informatika, STMIK Dharma Putra Tangerang Jl.

Lebih terperinci

APLIKASI KAMUS MATEMATIKA UNTUK HANDPHONE

APLIKASI KAMUS MATEMATIKA UNTUK HANDPHONE APLIKASI KAMUS MATEMATIKA UNTUK HANDPHONE Ismi Amalia Jurusan Teknik Mesin, Politeknik Negeri Lhokseumawe Nanggroe Aceh Darussalam Email : ismiamalia@gmail.com ABSTRAKS Penelitian ini bertujuan untuk merancang

Lebih terperinci

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN Anggi Purwanto Program Studi Teknik Telekomunikasi, Fakultas Teknik Elektro dan Komunikasi Institut Teknologi Telkom Jl.

Lebih terperinci

II Bab II Dasar Teori

II Bab II Dasar Teori II Bab II Dasar Teori II.1 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan [SCH96]. Terdapat berbagai macam definisi mengenai kriptografi, namun pada intinya kriptografi adalah

Lebih terperinci

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD Mohammad Riftadi NIM : 13505029 Program Studi Informatika, Institut Teknologi Bandung Jl. Ganesha No. 10, Bandung E-mail :

Lebih terperinci

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station Emir M. Husni Sekolah Teknik Elektro & Informatika, Institut Teknologi Bandung Jl.

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam bentuknya yang konvensional di atas kertas. Dokumen-dokumen kini sudah disimpan sebagai

Lebih terperinci

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS JAVA FUNDAMENTAL Nama : Julian Chandra W Telp : 085647155605 Email : maeztro_87@yahoo.co.id Referensi : 1. Benny Hermawan. 2004. Menguasai Java 2 & Object Oriented Programming. Andi. 2. Bambang Hariyanto.

Lebih terperinci

Implementasi dan Analisis Perbandingan Algoritma MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher Block

Implementasi dan Analisis Perbandingan Algoritma MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher Block Implementasi dan Analisis Perbandingan Algoritma MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher Block Pudy Prima 13508047 Program Studi Teknik Informatika Sekolah Teknik Elektro

Lebih terperinci

Studi dan Implementasi Hashing untuk URL Shortening Service

Studi dan Implementasi Hashing untuk URL Shortening Service Studi dan Implementasi Hashing untuk URL Shortening Service Ricardo Pramana Suranta / 13509014 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Sistem keamanan data dipasang untuk mencegah pencurian, kerusakan dan penyalahgunaan data yang disimpan melalui smartphone. Dalam praktek, pencurian data berwujud pembacaan

Lebih terperinci

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA Mohamad Ihwani Universitas Negeri Medan Jl. Willem Iskandar Pasar v Medan Estate, Medan 20221 mohamadihwani@unimed.ac.id ABSTRAK

Lebih terperinci

mlab : Aplikasi Perangkat Bergerak untuk Mengakses Sistem Informasi Laboratorium berbasis SMS dan J2ME

mlab : Aplikasi Perangkat Bergerak untuk Mengakses Sistem Informasi Laboratorium berbasis SMS dan J2ME mlab : Aplikasi Perangkat Bergerak untuk Mengakses Sistem Informasi Laboratorium berbasis SMS dan J2ME Iwan Handoyo Putro 1, Indar Sugiarto 2, Hestin Kezia Octalina Klaas 3 1,2.3 Jurusan Teknik Elektro,

Lebih terperinci

TEKNIK DASAR KRIPTOGRAFI. Algoritma Kriptografi Modern (Bagian 1) Substitusi. Tabel Subsitusi. Substitusi Blocking Permutasi Ekspansi Pemampatan

TEKNIK DASAR KRIPTOGRAFI. Algoritma Kriptografi Modern (Bagian 1) Substitusi. Tabel Subsitusi. Substitusi Blocking Permutasi Ekspansi Pemampatan Algoritma Kriptografi Modern (Bagian 1) TEKNIK DASAR KRIPTOGRAFI Substitusi Blocking Permutasi Ekspansi Pemampatan 1 2 Substitusi Langkah pertama adalah membuat suatu tabel substitusi. Tabel substitusi

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Proses Analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi yang didapat

Lebih terperinci

Praktikum Pemograman Berorientasi Objek

Praktikum Pemograman Berorientasi Objek Praktikum Pemograman Berorientasi Objek Pertemuan ke-1 A. Konsep PBO Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan teknik pemograman dengan pendekatan berorientasi kelas dan objek.

Lebih terperinci

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah Junita Sinambela (13512023) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Pengertiaan Kriptografi Kata kriptografi berasal dari bahasa Yunani, yaitu kata kryptos, yang berarti rahasia dan kata graphein yang berarti menulis. Schineir (1996) mendefinisikan

Lebih terperinci

Studi dan Analisis Dua Jenis Algoritma Block Cipher: DES dan RC5

Studi dan Analisis Dua Jenis Algoritma Block Cipher: DES dan RC5 Studi dan Analisis Dua Jenis Algoritma Block Cipher: DES dan RC5 Zakiy Firdaus Alfikri - 13508042 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING

ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING Satya Fajar Pratama NIM : 13506021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha

Lebih terperinci

Vol. 3, No. 2, Juli 2007 ISSN PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER

Vol. 3, No. 2, Juli 2007 ISSN PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER Vol. 3, No. 2, Juli 2007 ISSN 0216-0544 PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER ABSTRAK Sigit Susanto Putro Sigitida_79@yahoo.com Jurusan Teknik Informatika Universitas Trunojoyo

Lebih terperinci

FUNGSI HASH BIOMETRIK SEBAGAI SISTEM KEAMANAN KARTU TANDA PENDUDUK

FUNGSI HASH BIOMETRIK SEBAGAI SISTEM KEAMANAN KARTU TANDA PENDUDUK KEAMANAN KARTU TANDA PENDUDUK Irfan Afif (13507099) a Mahasiswa Program Studi Teknik Informatika Institut Tenologi Bandung Jl. Ganesha no. 10, Bandung e-mail: irfan_afif@yahoo.com Abstrak Keamanan kartu

Lebih terperinci

Pada akhir pembahasan, peserta diharapkan dapat :

Pada akhir pembahasan, peserta diharapkan dapat : Pengenalan Java tujuan Pada akhir pembahasan, peserta diharapkan dapat : Menjelaskan fitur-fitur teknologi Java seperti, Java Virtual Machine(JVM), garbage collection, dan code security. Menjelaskan perbedaan

Lebih terperinci

29 Februari Introduction Of Java

29 Februari Introduction Of Java 29 Februari 2012 Introduction Of Java Sejarah Java Dikembangkan oleh tim Pemimpin: James Gosling Company: Sun Microsystem Agustus 1991, bernama Oak Januari 1995, berganti nama Java Dapat dijalankan di

Lebih terperinci

BAB I PENDAHULUAN. dari isinya, informasi dapat berupa penting atau tidak penting. Bila dilihat dari sifat

BAB I PENDAHULUAN. dari isinya, informasi dapat berupa penting atau tidak penting. Bila dilihat dari sifat BAB I PENDAHULUAN 1.1 Latar Belakang Informasi adalah inti yang dipertukarkan dalam proses berkomunikasi. Jenis informasi yang digunakan dalam komunikasi pun bermacam-macam. Jika dilihat dari isinya, informasi

Lebih terperinci

Analisis dan Studi Kriptografi TwoFish

Analisis dan Studi Kriptografi TwoFish Analisis dan Studi Kriptografi TwoFish Adi Nugraha Setiadi - 13508062 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256)

Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256) Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256) Sila Wiyanti Putri 1) 1) Program Studi Teknik Informatika ITB, Bandung 40132, email: silawp@gmail.com Abstract

Lebih terperinci

Analisis dan Perbandingan Algoritma Whirlpool dan SHA- 512 sebagai Fungsi Hash

Analisis dan Perbandingan Algoritma Whirlpool dan SHA- 512 sebagai Fungsi Hash Analisis dan Perbandingan Algoritma Whirlpool dan SHA- 512 sebagai Fungsi Hash Willy Setiawan - 13508043 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Bab 2 Tinjauan Pustaka

Bab 2 Tinjauan Pustaka Bab 2 Tinjauan Pustaka 2.1 Penelitian Sebelumnya Pada penelitian sebelumnya, yang berjudul Pembelajaran Berbantu komputer Algoritma Word Auto Key Encryption (WAKE). Didalamnya memuat mengenai langkah-langkah

Lebih terperinci

Diperkenalkan pertama oleh tim Sun System yang dipimpin Patrick Naughton dan James Gosling tahun 1991 dengan code

Diperkenalkan pertama oleh tim Sun System yang dipimpin Patrick Naughton dan James Gosling tahun 1991 dengan code PENGANTAR JAVA A. Asal Mula JAVA B. Kelebihan JAVA C. Ciri Khas JAVA D. Perangkat Lunak E. Penerapan JAVA F. Java Virtual Machine G. Pengembangan Program Java A. Asal Mula JAVA Diperkenalkan pertama oleh

Lebih terperinci

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS A. Latar Belakang Algoritma AES (Advanced Encryption Standard) muncul akibat penggunaan standart enkripsi kriptografi simetri terdahulu (DES) yang dianggap

Lebih terperinci

SISTEM OPERASI TERDISTRIBUSI

SISTEM OPERASI TERDISTRIBUSI SISTEM OPERASI TERDISTRIBUSI PENGANTAR DATA TERDISTRIBUSI Materi: 1. Pendahuluan 2. Manfaat Sistem Operasi Terdistribusi 3. Komponen Inti Sistem Operasi Pertemuan: 5 Pendahuluan Sistem operasi terdistribusi

Lebih terperinci

Nama : Julian Chandra W Telp :

Nama : Julian Chandra W Telp : JAVA FUNDAMENTAL Nama : Julian Chandra W Telp : 085647155605 Email : maeztro_87@yahoo.co.id julian.chand@gmail.com Referensi : 1. Benny Hermawan. 2004. Menguasai Java 2 & Object Oriented Programming. Andi.

Lebih terperinci

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA CESS (Journal Of Computer Engineering System And Science) p-issn :2502-7131 MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA Mohamad Ihwani Universitas Negeri Medan Jl. Willem Iskandar

Lebih terperinci

BAB I PENDAHULUAN. semua kalangan masyarakat memiliki telepon seluler, personal digital assistant

BAB I PENDAHULUAN. semua kalangan masyarakat memiliki telepon seluler, personal digital assistant BAB I PENDAHULUAN 1.1. Latar Belakang Teknologi mobile telah menjadi bagian kehidupan kita sehari-hari. Hampir semua kalangan masyarakat memiliki telepon seluler, personal digital assistant (PDA) atau

Lebih terperinci

PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL

PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL Semuil Tjiharjadi, Marvin Chandra Wijaya Universitas Kristen Maranatha Bandung semuiltj@gmail.com, marvinchw@gmail.com ABSTRACT Data security

Lebih terperinci

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi Gentisya Tri Mardiani, S.Kom.,M.Kom KRIPTOGRAFI Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Para pelaku

Lebih terperinci

Pengenalan J2ME (Java 2 Platform Micro Edition)

Pengenalan J2ME (Java 2 Platform Micro Edition) Pengenalan J2ME (Java 2 Platform Micro Edition) Wiranti Sri Utami whiranty68@gmail.com Abstrak Java merupakan sebuah bahasa pemrograman yang diciptakan oleh james gosling pada tahun 1996 dan mengklaim

Lebih terperinci

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Andreas Dwi Nugroho (13511051) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi Wulandari NIM : 13506001 Program Studi Teknik Informatika ITB, Jl Ganesha 10, Bandung, email: if16001@students.if.itb.ac.id Abstract

Lebih terperinci

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209 Review C/C++ & Intro to Java Pemrograman Berorientasi Obyek IT209 Pemrograman Terstruktur Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu

Lebih terperinci

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password Inayatullah STMIK MDP Palembang inayatullah@stmik-mdp.net Abstrak: Data password yang dimiliki oleh pengguna harus dapat dijaga keamanannya. Salah

Lebih terperinci

BAB II LANDASAN TEORI. Platform Java dibagi dalam 3 (tiga) edisi dimana masing-masing dari

BAB II LANDASAN TEORI. Platform Java dibagi dalam 3 (tiga) edisi dimana masing-masing dari BAB II LANDASAN TEORI 2.1 Java 2 Micro Edition (J2ME) Platform Java dibagi dalam 3 (tiga) edisi dimana masing-masing dari edisi tersebut mempunyai segmen pasar yang berbeda. Ketiga edisi dari Java tersebut

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 15 BAB 2 LANDASAN TEORI 2.1 Data dan Informasi Data dapat didefenisikan sebagai kenyataan yang digambarkan oleh nilai-nilai bilangan-bilangan, untaian karakter atau simbol-simbol yang membawa arti tertentu.

Lebih terperinci

Kriptografi. A. Kriptografi. B. Enkripsi

Kriptografi. A. Kriptografi. B. Enkripsi Kriptografi A. Kriptografi Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext) menjadi pesan

Lebih terperinci

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Ratno Prasetyo Magister Ilmu Komputer Universitas Budi Luhur, Jakarta, 12260 Telp : (021) 5853753

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). Kata cryptography berasal dari kata Yunani yaitu kryptos yang artinya tersembunyi

Lebih terperinci

OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5

OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5 OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5 Fahziar Riesad Wutono Teknik Informatika Institut Teknologi Bandung Bandung, Indonesia fahziar@gmail.com Ahmad Zaky Teknik Informatika

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 6 BAB II LANDASAN TEORI II.1 Pendahuluan Dalam bab ini akan dijelaskan tentang landasan teori yang akan digunakan sebagai acuan dalam analisis dan perancangan Pengembangan Aplikasi Mobile Ticketing untuk

Lebih terperinci

BAB Kriptografi

BAB Kriptografi BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, yakni kata kriptos dan graphia. Kriptos berarti secret (rahasia) dan graphia berarti writing (tulisan). Kriptografi merupakan

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1. Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1. Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1. Penelitian Terdahulu Pada penelitian berjudul Translucent Databases: A Precursor to Privacy Sensitive Databases, dibahas tentang penerapan translucent database untuk mengamankan

Lebih terperinci

Tanda Tangan Digital (Digital Signature)

Tanda Tangan Digital (Digital Signature) Tanda Tangan Digital (Digital Signature) RSA + SHA-1 Dyah Fajar Nur Rohmah Mulyanto Neng Ika Kurniati Rachmat Wahid Saleh Insani Semuel Hendricard Samadara Siti Puspita Hida Sakti MZ Sumiyatun Teotino

Lebih terperinci

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN Mohamad Ray Rizaldy - 13505073 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung, Jawa Barat e-mail: if15073@students.if.itb.ac.id

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, yaitu crypto dan graphia. Crypto berarti secret atau rahasia dan graphia berarti writing (tulisan). Terminologinya, kriptografi

Lebih terperinci

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik RSA, ElGamal, dan ECC Vincent Theophilus Ciputra (13513005) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Studi Perancangan Algoritma Fungsi Hash

Studi Perancangan Algoritma Fungsi Hash Studi Perancangan Algoritma Fungsi Hash Kevin Chandra Irwanto 13508063 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Wiwin Styorini 1), Dwi Harinitha 2) 1) Jurusan Teknik Elektro, Politeknik Caltex Riau, Pekanbaru 28265, email: wiwin@pcr.ac.id

Lebih terperinci

Bab 1 PENDAHULUAN Latar Belakang

Bab 1 PENDAHULUAN Latar Belakang Bab 1 PENDAHULUAN 1.1. Latar Belakang Sistem keamanan pengiriman data (komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan penyalahgunaan data yang terkirim melalui jaringan komputer.

Lebih terperinci