Sabtu, 31 Maret 2018

Cryptography


Pengertian Cryptography adalah ilmu sekaligus seni untuk menjaga keamanan  pesan Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer).


-         Pengirim dan Penerima pesan.
-         Pesan รจ Plaintext atau Cleartext.
-         Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran komunikasi data, dsb).
-         Pesan dapat disimpan di dalam media perekaman (kertas, storage, dsb).
-         Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan disandikan ke bentuk lain.
-         Bentuk pesan yang tersandi  disebut ciphertext atau cryptogram. Tidak bergantung dengan suatu program.
-         


     Ciphertext harus dapat ditransformasi kembali menjadi plaintext.
Proses Cryptography :
-         menyandikan plaintext menjadi ciphertext disebut enkripsi (encryption) atau enciphering.
-        Proses mengembalikan ciphertext menjadi plaintextnya disebut dekripsi (decryption) atau deciphering.
     Algoritma kriptografi adalah :
-         Aturan/metode untuk enkripsi dan dekripsi.
-         Fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi.
Sistem kriptografi (atau cryptosystem) adalah algoritma kriptografi, plainteks, cipherteks, dan kunci.
Penyadap adalah orang yang mencoba menangkap  pesan selama ditransmisikan. Nama lain: enemyadversaryintruderinterceptorbad guy.
Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis.
Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis.
Aplikasi kriptografi :
-         Pengiriman data melalui saluran komunikasi.
-         Penyimpanan data di dalam disk storage.
Contoh - contoh pada pengiriman data melalui saluran komunikasi :
-         ATM tempat mengambil uang.
-         Internet.
-         Militer.
-         Wi-Fi.
-         Pay TV.
-         GSM.
Contoh-contoh pada data tersimpan :
-         Dokumen teks
Ketika saya berjalan-jalan di pantai, saya menemukan banyak sekali kepiting yang merangkak menuju laut. Mereka adalah anak-anak kepiting yang baru menetas dari dalam pasir. Naluri mereka mengatakan bahwa laut adalah tempat kehidupan mereka
Ztรขxzp/รฉpรชp/qtรผyp{p}<yp{p}/sx/p}รขpx;รฉpรชp/|t}t|รคzp}/qp}รชpz/รฉtzp{x/ztxรขx}vรชp}v/|tรผp}vzpz/|t}รคyรค/{pรครข=/\tรผtzppsp{pw/p}pz<p}pz/ztxรขx}v/รชp}v/qpรผรค|t}tรขpรฉ/spรผx/sp{p|/pรฉxรผ=/]p{รครผx|ttรผzp/|t}vpรขpzp}/qpwรฅp/{pรครข/psp{pwรขt|pรข/ztwxsรคp}/|tรผtzp=

Plainteks (plain.txt) :
Cipherteks (cipher.txt)


-         Dokumen gambar
plainteks (lena.bmp):                                   



Cipherteks (lena2.bmp):






-         Dokumen basis data
Plainteks (siswa.dbf):
NIM
Nama
Tinggi
Berat
000001
Yasmin
160
46
000002
Sachi
156
41
000003
Ben
165
55
000004
Kasih
170
62
Cipherteks (siswa2.dbf):
NIM
Nama
Tinggi
Berat
000001
tรผp}vzpz/| {รครข
|รคzp}
รฉpรชp
000002
tรขpรฉ/spรผx/sp
pรฉxรผ=
ztwx
000003
pรข/ztwxsรคp
}/|tรผ
spรผx
000004
|รคzp}/qp
qp}รช
wxsรค


Fungsi Enkripsi dan Dekripsi
E(P) = C
D(C) = P
D(E(P)) = P
P = Plainteks
C = Cipherteks

Contoh algoritma yang menggunakan model tersebut :
-         Stream Cipher.
Setiap huruf dari plain text dipetakan ke dalam cipher text

Algoritma Enkripsi dan Dekripsi :
1.     Kekuatan algoritma kriptografi TIDAK ditentukan dengan menjaga kerahasiaan algoritmanya.
2.     Cara tersebut tidak aman dan tidak cocok lagi di saat ini.
3.     Pada sistem kriptografi modern, kekuatan kriptografinya terletak pada kunci,  yang berupa deretan karakter atau bilangan bulat, dijaga kerahasiaannya.




Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi menjadi
          E(P,K) = C                                                 
          D(C,K) = P
dan kedua fungsi ini memenuhi
               D(E(P,K),K) = P
Plainteks               Cipherteks            plainteks
               Enkripsi                   Deskripsi

Jika kunci enkripsi sama dengan kunci dekripsi, maka sistem kriptografinya disebut sistem simetris atau sistemkonvensional. Algoritma kriptografinya disebut algoritma simetri atau algoritma konvensional atau algoritma kunci private/rahasia.
Kriptografi Dengan Kunci Simetris/Private
-         Bentuk kriptografi tradisional.
-         Kunci Simetris digunakan untuk mengenkrip dan mendekrip pesan.
-         Kunci Simetris juga berkaitan dengan otentikasi
Masalah utama :
-         Pengirim dan penerima menyetujui kunci simetris tanpa ada orang lain yang mengetahui
        -   Butuh metode dimana kedua pihak dapat berkomunikasi tanpa takut disadap.


Proses pengiriman pesan dari Bob ke Alice dengan Kunci Publik
1.     Alice membuat Kunci Publik dan Kunci private.
2.     Bob mengenkrip pesan dengan kunci publik Alice.
3.  Alice mengdekrip pesan dengan menggunakankan kunci private Alice.


Contoh Metode Kriptografi Dengan Kunci NirSimetris/Publik
-         Metode RSA (Ronald Rivest, Adi Shamir, Leonard Adleman).
-         Metode Diffie Hellman Key Exchange.
-         Metode El Gamal.
Kekuatan Algoritma Enkripsi dan Dekripsi
Algoritma kriptografi dikatakan aman bila memenuhi tiga kriteria berikut :
1.     Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik.
2.     Biaya untuk memecahkan cipherteks melampaui nilai informasi yang terkandung di dalam cipherteks tersebut.
3.     Waktu yang diperlukan untuk memecahkan cipherteks melampaui lamanya waktu informasi tersebut harus dijaga kerahasiaannya.
One-Way Function / Fungsi Hash
Merupakan fungsi satu arah yang dapat menghasilkan ciri (signature) dari data (berkas)Fungsi yang memproduksi output dengan panjang tetap dari input yang berukuran variabel, perubahan satu bit saja akan mengubah keluaran hash secara drastisdigunakan untuk menjamin integritas dan digital signature.
Contoh :
MD5 (Message Diggest)
Hasilnya 128-bit
SHA (Secure Hash Function)
Hasilnya 160-bit, 256-bit, 512-bit
-         Fungsi Hash diperoleh melalui persamaan.
h = H(M)
-         Fungsi Hash dapat diterapkan pada blok data berukuran berapa saja.
-         Fungsi H menghasilkan nilai (h) dengan panjang yang tetap.
-         Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai x sedemikian sehingga H(x) = h, maka itu disebut satu arah.
-         Untuk setiap x yang diberikan, tidak mungkin mencari x ¹ y, sedemikian sehingga H(x) = H(y).
-         Tidak mungkin mencari pasangan x dan y sedemikian sehingga
          H(x) = H(y)
Otentikasi dan Tanda Tangan Digital
Kriptografi juga menangani masalah keamanan berikut :
-         Keabsahan pengirim
Apakah pesan yang diterima benar-benar dari pengirim yang sesungguhnya?
-         Keaslian pesan
Apakah pesan yang diterima tidak mengalami perubahan(modifikasi)?
-         Anti penyanggahan
Pengirim tidak dapat menyanggah tentang isi pesan atau ia yang mengirim pesan
Ketiga masalah ini dapat diselesaikan dengan teknik otentikasiTeknik otentikasi adalah prosedur yang digunakan untuk membuktikan keaslian pesan atau identitas pemakai.

Tanda Tangan Digital
-         Tanda tangan digunakan untuk membuktikan otentikasi dokumen kertas.
-         Fungsi tanda tangan dapat diterapkan untuk otentikasi pada data digital.
-         Pada data digital, tanda tangan ini disebut tanda tangan digital (digital signature).
-         Bukan berupa tanda tangan yang di-scan, tetapi nilai kriptografi dari pesan dan pengirim pesan.
-         Beda dengan tanda tangan pada dokumen:
1.     Tanda tangan pada dokumen sama semua.
2.     Tanda tangan digital berbeda.
-         Integritas data dapat dijamin dan dapat juga membuktikan asal pesan(keabsahan pengirim dan anti penyanggahan).


Algoritma kunci publik dapat digunakan untuk membuat tanda tangan digitalMisalkan M adalah pesan yang akan dikirim. Tanda tangan digital S untuk pesan M diperoleh dengan mengenkripsi M dengan menggunakan kunci rahasia/private key (SK).
          S = E(M, SK)
          
E adalah algoritma enkripsi
S dikirim melalui saluran komunikasiOleh penerima, pesan dibuktikan kebenaran tanda tangan digital dengan menggunakan kunci publik (PK).
M = D(S, PK)
          
D adalah algoritma dekripsi
Tanda tangan digital dianggap absah apabila pesan M yang dihasilkan merupakan pesan yang mempunyai maknaAlgoritma yang sering digunakan adalah RSA dan El Gamal.
Dari pesan yang hendak dikirim, dibuatkan message digest(MD) dengan fungsi Hash
MD = H(M)
MD dienkrip dengan algoritma kunci publik dengan kunci rahasia (SK) pengirim menjadi tanda tangan digital (S)
          S = E(MD, SK)
Pesan M digabung dengan tanda tangan digital (S), lalu dikirim melalui saluran komunikasi (seolah-olah M sudah ditandatangani oleh pengirim)
Di tempat penerima, pesan diverifikasiTanda tangan digital S didekripsi dengan kunci publik (PK) pengirim pesan, sehingga menghasilkan message digest semula (MD)
MD = D(S, PK)
Pengirim membuat Message Digest (MD1) dari pesan M dengan menggunakan fungsi hash yang sama dengan fungsi hash yang digunakan pengirim. Jika MD1 = MD, berarti pesan yang diterima otentik dan berasal dari pengirim yang benar.


Serangan Terhadap Kriptografi
1.     Penyadap berusaha mendapatkan data yang digunakan untuk kegiatan kriptanalisis.
2.     Kriptanalis berusaha mengungkapkan plainteks atau kunci dari data yang disadap.
3.     Kriptanalis dapat juga menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkapkan plainteks.
4.     Penyadapan dapat dilakukan melalui saluran kabel komunikasi dan saluran wireless.

Jenis-jenis serangan:    
1.     Exhaustive attack atau brute force attack.
Percobaan yang dibuat untuk mengungkapkan plainteks atau kunci dengan mencoba semua kemungkinan kunci (trial and error)
Diasumsikan kriptanalis:
Memiliki sebagian plainteks dan cipherteks yang bersesuaian 
Caranya:
Plainteks yang diketahui dienkripsi dengan setiap kemungkinan kunci, lalu hasilnya dibandingkan dengan cipherteks yang bersesuaianJika hanya cipherteks yang tersedia, cipherteks tersebut didekripsi dengan setiap kemungkinan kunci dan plainteks hasilnya diperiksa apakah mengandung makna atau tidak.
Serangan ini membutuhkan waktu yang sangat lamaUntuk menghindari serangan ini, gunakan kunci yang panjang dan tidak mudah ditebak.
Ukuran Kunci
Jumlah Kemungkinan Kunci
Lama waktu untuk 106 percobaan per detik
Lama waktu untuk 1012percobaan per detik
16 bit
216 = 65536
32.7 milidetik
0.0327 mikrodetik
32 bit
232 = 4.3 X 109
35.8 menit
2.15 milidetik
56 bit
256 = 7.2  X 1016
1142 tahun
10.01 jam
128 bit
2128 = 4.3  X 101
5.4 ´ 1024 tahun
5.4 ´ 1018 tahun
Waktu yang diperlukan untuk exhaustive key search (Sumber: William Stallings, Data and Computer Communication Fourth Edition)

2.     Analytical attach
Kriptanalis tidak mencoba semua kemungkinan kunci, tetapi menganalisa kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak ada. Analisa yang dilakukan dengan memecahkan persamaan-persamaan matematika yang diperoleh dari definisi suatu algoritma kriptografi.
Diasumsikan kriptanalis mengetahui algoritma kriptografi. Metode analytical attack biasanya lebih cepat menemukan kunci dibandingkan dengan exhaustive attack. Untuk menghindari serangan ini, kriptografer harus membuat algoritma yang kompleks.



Memastikan keamanan dari algoritma kriptografi
1.     Algoritma harus dievaluasi oleh pakar.
2.     Algoritma yang tertutup (tidak dibuka kepada publik) dianggap tidak aman.
3.     Membuat algoritma yang aman tidak mudah.
4.     Code maker VS code breaker akan terus berlangsung.

Minggu, 25 Maret 2018

CARA INSTAL XAMPP Di Windows

XAMPP merupakan sebuah perangkat lunak yang berisi beberapa paket distribusi seperti mysql dan apache untuk keperluan web server. Web server sendiri sangat di butuhkan untuk menjalankan aplikasi-aplikasi berbasis web agar bisa dijalankan pada browser. Sebelum memulai belajar bahasa pemrograman khususnya web, tentunya kita perlu menyiapkan beberapa alat bantu yang dibutuhkan pada saat nanti melakukan koding, seperti database,web server dsb.  Dengan adanya XAMPP ini semua hal  tersebut (database,web server) sudah tersedia dalam satu paket. Jadi, anda tidak perlu repot-repot melakukan installasi paket-paket tersebut satu per satu.
Paket yang ada pada XAMPP diantaranya:
  • Apache
  • MySQL
  • PHP
  • phpMyAdmin
  • FileZilla FTP Server
  • Tomcat
  • XAMPP Control Panel
Lalu Bagaiman cara install xampp di windows?
Untuk itu disini saya akan membut tutorial tentang panduan installasi xampp di komputer.

Cara Install XAMPP Di Windows:

  1. Download aplikasi xampp terbaru. Download
  2. Double klik pada installer yang sudah di download tadi. Lalu pilih bahasa yang ingin anda gunakan klik OK.cara install xampp
  3. Apabila ada pesan error seperti pada gambar berikut, abaikan saja cukup klik OK. cara install xampplalu klik YEScara install xampp
  4.  Berikutnya akan muncul jendela yang isinya meminta Anda menutup semua aplikasi yang sedang berjalan. Jika semua aplikasi sudah ditutup, maka klik tombol Next.cara install xampp
  5. Selanjutnya Anda akan diminta untuk memilih aplikasi yang mau diinstal. Centang saja semua pilihan dan klik tombol Next.cara install xampp
  6. Kemudian Anda akan diminta untuk menentukan lokasi folder penyimpanan file-file dan folder XAMPP. Secara default akan diarahkan ke lokasi c:\xampp. Namun jika Anda ingin menyimpannya di folder lain bisa klik browse dan tentukan secara manual folder yang ingin digunakan. Jika sudah selesai, lanjutkan dan klik tombol Install.cara install xampp
  7. Tunggu beberapa menit hingga proses intalasi selesai. Jika sudah muncul jendela seperti di bawah ini, klik tombol Finish untuk menyelesaikannya. cara install xampp
  8. Berikutnya, akan muncul jendela dialog seperti gambar di bawah ini yang menanyakan Anda apakah mau langsung menjalankan aplikasi XAMPP atau tidak. Jika ya, maka klik YES. 
Dan berikut adalah XAMPP yang sudah kita install.
cara install xampp
Sampai pada tahap ini kita telah berhasil melakukan installasi xampp pada sistem operasi windows. Pada xampp versi terbaru, xampp sudah di bundling dengan apache tomcat. Yang mana fungsi dari apache tomcat ini untuk menjalankan aplikasi web yang di bangun dengan bahasa pemrograman java

Cara menjalankan XAMPP di windows:

  1. Buka aplikasi XAMPP anda melalui Start Menu.
  2. Setelah terbuka, silahkan klik tombol Start pada kolom Action sehingga tombol tersebut berubah menjadi Stop. Dengan mengklik tombol tersebut, artinya itulah aplikasi yang dijalankan. Apabila anda pengembang PHP, maka cukup jalankan apache dan mysql saja.
  3. Sekarang bukalah browser kesukaan Anda, dan coba ketikkan http://localhost/xampp di address bar. Jika muncul tampilan seperti gambar di bawah ini, anda telah berhasil menginstall dan juga menjalankan XAMPP pada windows.cara install xampp
Demikian tutorial sederhana cara install xampp diwindows. Sekarang komputer anda bisa digunakan untuk dijadikan sebagai server lokal untuk menjalankan aplikasi yang berbasis PHP.

Minggu, 04 Maret 2018

(2) Generic Proces Framework

Process Framework

A Process Framework membentuk pondasi untuk melengkapi software process dengan mengidentifikasi beberapa aktivitas framework yang dapat dipakai untuk untuk semua projek software tanpa memperhatikan ukuran atau kerumitan mereka.

Berikut ini merupakan generic process framework yang dapat digunakan untuk sebagian besar software projects:

1. Comunication
    kegiatan komunikasi dan kolaborasi dengan kostumer dan kegiatan lainnya yang sejenis.
2. Planning     
    segala aktivitas yang berhubungan dengan perencaan software engineering agar bekerja sesuai
    dengan apa yang direncanakan.
3. Modeling
    meliputi kegiatan untuk memmbuat model-model yang mengijinkan pengembang dan kostumer          untuk memehami secara lebih baik ketentuan software dan membuat design sesuai dengan           
    ketentuan.
4. Constraction
    Mengkombinasikan code generation dan mengetes agar bila terjadi error dapat code dapat segera        diperbaiki.
5. Deployment 
    Memberikan software yang telah dibuat kepada customer untuk dievaluasi dan agar customer     
    dapat  memberikan feedback

Berikut Ini ada beberapa jenis dari proses flow diantaranya :
  • Linear Process Flow

linear process flow

 Alur dari proses ini adalah dia mengeksekusi masing masing dari kelima kerangka kerja berurutan, dimulai dengan communication dan berpuncak pada deploymen/penyebaran.

  • Iterative Process Flow 
Aliran dari proses ini dia berulang berulang satu atau lebih kegiatan sebelum melanjutkan ke tahap berikutnya.


  • Evolutionary Process Flow



Aliran dari proses ini dia mengeksekusi aktivitas dengan cara "melingkar".


  • Parallel Process Flow


Aliran dari proses ini adalah dia menjalankan satu atau lebih kegiatan secara paralel dengan aktivitas yang lainnya.

Sekian terimakasih.

Multimedia Interaktif

                             Hasil gambar untuk multimedia interaktif
Multimedia Interaktif adalah media yang menggabungkan teks, grafik, video, animasi dan suara. Untuk menyampaikan suatu pesan dan informasi,  melalui media elektronik seperti komputer dan perangkat elektronik lainnya.

Pengertian Multimedia Interaktif menurut beberapa ahli dijelaskan sebagai berikut:

Menurut Robin dan Linda (seperti dikutip Benardo, 2011) Multimedia interaktif adalah alat yang dapat menciptakan persentasi yang dinamis dan interaktif, yang mengkombinasikan teks, grafik, animasi, audio dan gambar video.
Menurut Hofstetter (seperti dikutip Benardo, 2011) Multimedia interaktif adalah pemanfaatan komputer untuk membuat dan menggabungkan teks, grafik, audio, gambar bergerak (video dan animasi) dengan menggabungkan link dan tool yang memungkinkan pemakai melakukan navigasi, berintraksi, berkreasi dan berkomunikasi
Jenis Multimedia Interaktif
Menurut Suyanto (seperti dikutip Benardo, 2011) jenis multimedia interaktif terbagi menjadi dua bagian, yaitu:

Multimedia Interaktif Online Multimedia interaktif online adalah media interaktif yang cara penyampaiannya melalui jalur/kawat/saluran/jaringan.  Contohnya situs Web, Yahoo Messengers, dan lain sebagainya. Jenis media ini termasuk media lini atas, yang komunitas sasarannya luas, dan  mencakup masyarakat luas.
Multimedia Interaktif Offline Multimedia interaktif offline adalah media interaktif yang cara penyampainnya tidak melalui jalur/kawat/saluran/  jaringan. Contohnya CD interaktif : Company Profile, Media Pembelajaran. Media ini termasuk media lini bawah karena sasarannya, tidak terlalu luas dan hanya mencakup masyarakat pada daerah tertentu saja.
Fungsi Multimedia Interaktif
Dalam sebuah presentasi yang ditulis oleh Yanuar Rahman menyimpulkan beberapa fungsi dari multimedia interaktif adalah sebagai berikut:

Komunikasi antar bisnis: manajemen, absensi, keuangan.
Komunikasi bisnin dan konsumen: e-commerce.
Komunikasi antar konsumen: jejaring sosial.
E-Learning: training, alat bantu pengajaran, media pembelajaran.
Hiburan: games.
Komunikasi pemerintah: informasi publik, layanan masyarakat.
Komunikasi kebudayaan: informasi museum dan galeri.