Sabtu, 29 Oktober 2016

KRIPTOGRAFI lanjutan....

Teknik - Teknik Kriptografi

Substitusi
  • Mengganti setiap unit  (karakter/kelompok karakter) dengan unit ciphertext
  • Tabel substitusi dapat dibuat sesuai hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan dekripsi. Tabel substitusi dibuat secara acak, akan semakin sulit pemecahan ciphertext oleh orang yang tidak berhak.
  • Terdapat dua jenis teknik substitusi yaitu
    1. Alfabet Tunggal : satu unit plaintext hanya diganti oleh satu unit ciphertext yang identik
    2. Alfabet Majemuk : satu unit plaintext dapat diganti lebih dari satu unit ciphertext
 
Misalkan setiap huruf dikodekan dengan angka:
A = 0, B = 1, C = 2, …, Z = 25 
Maka secara matematis enkripsi dan dekripsi pada Caesar cipher dirumuskan sebagai berikut:
Enkripsi: ci = E(pi) = (pi + 3) mod 26
Dekripsi: pi = D(ci) = (ci – 3) mod 26
Jika pergeseran huruf sejauh k, maka :
Enkripsi: ci = E(pi) = (pi + k) mod 26
Dekripsi: pi = D(ci) = (ci – k) mod 26
k = kunci rahasia
Pada Caesar Cipher, k = 3
Untuk alfabet ASCII 256 karakter  :
Enkripsi: ci = E(pi) = (pi + k) mod 256
Dekripsi: pi = D(ci) = (ci – k) mod 256
Contoh soal Alfabet Tunggal : 
Metode Caesar cipher
 
Contoh soal Alfabet Majemuk : 
Metode Vigenere cipher
Metode Autokey Vigenere cipher ----------------------------------->
      
 
1. Metode varian Beuford cipher
2. Metode Beuford cipher
 
Blocking
  • Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara independen. 
  • Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini. 
  • Plaintext dituliskan secara vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertextnya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya.

Jika plaintext adalah 5 TEKNIK DASAR KRIPTOGRAFI  maka hasil chipertext ) . Jika menggunakan teknik blocking dengan 1blok berisi 4 karakter.
Permutasi
  • Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu. Prinsipnya adalah berlawanan dengan teknik substitusi. 
  • Dalam teknik substitusi, karakter berada pada posisi yang tetap tapi identitasnya yang diacak. Pada teknik permutasi, identitas karakternya tetap, namun posisinya yang diacak. 
  • Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang sama.
  • Untuk contoh diatas, plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi sebagai berikut :

Dengan  menggunakan  aturan diatas, maka proses enkripsi dengan permutasi dari plaintext adalah  sebagai berikut  : 
Ciphertext  yang  dihasilkan  dengan  teknik  permutasi ini adalah  "N ETK5 
SKD AIIRK RAATGORPIF.
Ekspansi
Suatu  metode  sederhana  untuk  mengacak  pesan  adalah  dengan memelarkan  pesan  itu  dengan aturan  tertentu.  Salah  satu  contoh penggunaan teknik ini adalah  dengan meletakkan  huruf konsonan  atau bilangan  ganjil  yang  menjadi  awal  dari  suatu  kata  di  akhir  kata  itu  dan menambahkan akhiran "an". Bila suatu kata dimulai dengan huruf vokal atau  bilangan  genap, ditambahkan  akhiran  "i".  Proses  enkripsi  dengan cara ekspansi  terhadap  plaintext  terjadi sebagai berikut  :
Ciphertextnya  adalah  "5AN  EKNIKTAN  ASARDAN RIPTOGRAFIKAN".  Aturan  ekspansi dapat  dibuat  lebih  kompleks. Terkadang teknik  ekspansi  digabungkan  dengan teknik lainnya, karena teknik  ini bila berdiri sendiri terlalu mudah untuk  dipecahkan.

Pemampatan
Mengurangi panjang pesan  atau jumlah bloknya  adalah cara lain untuk menyembunyikan  isi  pesan. Contoh  sederhana  ini  menggunakan  cara menghilangkan  setiap  karakter  ke‐tiga  secara berurutan. Karakter‐karakter  yang  dihilangkan  disatukan  kembali  dan  disusulkan sebagai "lampiran"  dari  pesan  utama,  dengan  diawali  oleh  suatu karakter  khusus,  dalam  contoh  ini  digunakan  "&".  Proses  yang  terjadi untuk  plaintext  kita adalah :
  • Aturan  penghilangan  karakter  dan  karakter  khusus  yang  berfungsi sebagai  pemisah  menjadi  dasar  untuk  proses  dekripsi  ciphertext menjadi plaintext  kembali. 
  • Dengan menggunakan  kelima teknik dasar kriptografi diatas, dapat diciptakan  kombinasi  teknik  kriptografi  yang  amat  banyak,  dengan faktor  yang  membatasi  semata‐mata  hanyalah  kreativitas  dan imajinasi  kita.  Walaupun  sekilas  terlihat  sederhana,  kombinasi teknik  dasar  kriptografi  dapat  menghasilkan  teknik  kriptografi turunan  yang  cukup  kompleks,  dan  beberapa  teknik  dasar kriptografi masih digunakan  dalam teknik  kriptografi  modern.
Belajar menyelesaian soal latihan-latihan Kriptografi



Sabtu, 22 Oktober 2016

KRIPTOGRAFI





Apa sih itu KRIPOGRAFI ???

Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data.

Terdapat istilah-istilah yang biasa yang umum ditemui di dunia kriptografi adalah sebagai berikut:
a.  Pesan, Plaintext dan Ciphertext
Pesan (messages) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plaintext. Pesan dapat berupa data atau informasi yang dikirim melalui kurir atau media telekomunikasi lain atau yang di dalam media penyimpan (storage). Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan harus disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandikan disebut ciphertextCiphertext harus dapat dikembalikan ke bentuk awal atau dikembalikan menjadi plaintext semula agar pesan dapat dibaca oleh orang yang seharusnya menerima pesan.

b.  Pengirim dan Penerima
Komunikasi data yang menggunakan kriptografi selalu melibatkan dua pihak atau dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lain. Penerima (receiver) adalah entitas yang menerima pesan entitas, dapat berupa orang atau komputer (machine).

c.  Enkripsi dan Dekripsi
Enkripsi (encryption) atau enciphering (standar nama menurut ISO 7498-2) merupakan proses menyandikan plaintext menjadi ciphertext. Dekripsi (decryption) atau deciphering (standar nama menurut ISO 7498-2) merupakan proses mengembalikan ciphertext menjadi plaintext semula. Enkripsi dan dekripsi bisa diterapkan pada pesan yang dikirimkan melalui media transmisi atau pesan yang disimpan di media simpan (storage media).dan ada juga yang disebut code breaker : Orang yang memecahkan kode (untuk menemukan plainteks)

d.  Cipher
Algoritma kriptografi disebut juga cipher, yaitu aturan untuk enciphering dandeciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algortima kriptografi adalah relasi antara dua buah himpunan, yaitu himpunan yang berisi elemen–elemen plaintextdan himpunan yang berisi ciphertext. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut. Misalnya P menyatakan plaintext dan C menyatakan ciphertext, maka fungsi enkripsi E memetakan P ke C :
E(P) = C
Dan fungsi dekripsi D memetakan C ke P :
D(C) = P
Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan awal, maka kesamaan berikut harus benar :
D(E(P)) = P
Keamanan algoritma kriptografi sering diukur dari banyaknya kerja (work) yang dibutuhkan untuk memecahkan ciphertext menjadi plaintext-nya tanpa mengetahui kunci yang digunakan.

e.   Kriptanalisis dan Kriptologi
Kriptanalisis atau cryptanalysis adalah ilmu dan seni untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci dan algoritma yang digunakan. Orang yang melakukan kriptanalisis disebut kriptanalis. Jika seorang kriptografer (cryptografer) mengubah plaintext menjadi ciphertext dengan algoritma dan kunci tertentu, maka seorang kriptanalis mengubah ciphertext menjadi plaintext tanpa mengetahui kunci dan algoritmanya terlebih dahulu. Tujuan kriptanalisis adalah menemukan plaintext atau menemukan kunci atau algoritmanya. Kriptologi (cryptology) merupakan studi mengenai kriptografi dan kriptanalisis, dan keduanya saling berkaitan.



Jenis-jenis Kriptografi

Berdasarkan Perkembangan :

a. Algoritma Kriptografi Klasik 
Algoritma ini digunakan sejak sebelum era komputerisasi dan kebanyakan menggunakan teknik kunci simetris. Metode menyembunyikan pesannya adalah dengan teknik substitusi atau transposisi atau perpaduan dari keduanya yaitu teknik super enkripsi. Teknik substitusi adalah menggantikan karakter dalam plaintext menjadi karakter lain yang hasilnya adalah ciphertext. Sedangkan transposisi adalah teknik mengubah plaintext menjadi ciphertext dengan cara permutasi karakter. Kombinasi keduanya secara kompleks adalah yang melatarbelakangi terbentuknya berbagai macam algoritma kriptografi modern .

b. Algoritma Kriptografi Modern 
Algoritma ini memiliki tingkat kesulitan yang kompleks, dan kekuatan kriptografinya ada pada key atau kuncinya. Algoritma ini menggunakan pengolahan simbol biner karena berjalan mengikuti operasi komputer digital. Sehingga membutuhkan dasar berupa pengetahuan terhadap matematika untuk menguasainya .

Macam kriptografi berdasarkan kunci :

a. Algoritma Simetris 
Algoritma ini disebut simetris karena memiliki key atau kunci yang sama dalam proses enkripsi dan dekripsi sehingga algoritma ini juga sering disebut algoritma kunci tunggal atau algoritma satu kunci. Key dalam algoritma ini bersifat rahasia atau private key sehingga algoritma ini juga disebut dengan algoritma kunci rahasia .

  • Kelebihan  algoritma  simetris :
    Kecepatan operasi lebih tinggi bila dibandingkan  dengan algoritma asimetrik.Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time
  • Kelemahan algoritma  simetris :
    Untuk t
    iap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut. Permasalahan dalam pengiriman kunci itu sendiri yang disebut key distribution problem
b. Algoritma Asimetris 
Algoritma ini disebut asimetris karena kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. Kunci yang digunakan untuk enkripsi adalah kunci publik atau public key sehingga algoritma ini juga disebut dengan algoritma kunci publik. Sedangkan kunci untuk dekripsi menggunakan kunci rahasia atau private key.

 
  • Kelebihan algoritma asimetris : Masalah keamanan pada distribusi kunci dapat lebih baikMasalah manajemen kuci lebih baik karena jumlah kunci yang lebih sedikit
  • Kelemahan algoritma asimetris :
    Kece
    patan yang lebih rendah bila dibandingkan dengan algoritma simetrisUntuk   tingkat   keamanan sama,   kunc yang digunakan lebih panjang daripada algoritma simetris..
Berdasarkan besar data yang diolah :

a. Algoritma block cipher : Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64 bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia yang berukuran sama juga. Contoh : RC4, Seal, A5, Oryx.
b. Algoritma stream cipher : Informasi/data yang hendak dikirim dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan waktu, menggunakan transformasi enkripsi yang berubah setiap waktu. Contoh : Blowfish, DEs, Idea, Gost, RC5, Safer, Twofish, Loki97,RC6.


Teknik Dasar Kriptografi


1.  Substitusi
2.  Blocking
3.  Permutasi
4.  Ekspansi
5.  Pemampatan (Compaction)


KRIPTOGRAFI





Apa sih itu KRIPOGRAFI ???

Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data.

Terdapat istilah-istilah yang biasa yang umum ditemui di dunia kriptografi adalah sebagai berikut:
a.  Pesan, Plaintext dan Ciphertext
Pesan (messages) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plaintext. Pesan dapat berupa data atau informasi yang dikirim melalui kurir atau media telekomunikasi lain atau yang di dalam media penyimpan (storage). Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan harus disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandikan disebut ciphertextCiphertext harus dapat dikembalikan ke bentuk awal atau dikembalikan menjadi plaintext semula agar pesan dapat dibaca oleh orang yang seharusnya menerima pesan.

b.  Pengirim dan Penerima
Komunikasi data yang menggunakan kriptografi selalu melibatkan dua pihak atau dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lain. Penerima (receiver) adalah entitas yang menerima pesan entitas, dapat berupa orang atau komputer (machine).

c.  Enkripsi dan Dekripsi
Enkripsi (encryption) atau enciphering (standar nama menurut ISO 7498-2) merupakan proses menyandikan plaintext menjadi ciphertext. Dekripsi (decryption) atau deciphering (standar nama menurut ISO 7498-2) merupakan proses mengembalikan ciphertext menjadi plaintext semula. Enkripsi dan dekripsi bisa diterapkan pada pesan yang dikirimkan melalui media transmisi atau pesan yang disimpan di media simpan (storage media).dan ada juga yang disebut code breaker : Orang yang memecahkan kode (untuk menemukan plainteks)

d.  Cipher
Algoritma kriptografi disebut juga cipher, yaitu aturan untuk enciphering dandeciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algortima kriptografi adalah relasi antara dua buah himpunan, yaitu himpunan yang berisi elemen–elemen plaintextdan himpunan yang berisi ciphertext. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut. Misalnya P menyatakan plaintext dan C menyatakan ciphertext, maka fungsi enkripsi E memetakan P ke C :
E(P) = C
Dan fungsi dekripsi D memetakan C ke P :
D(C) = P
Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan awal, maka kesamaan berikut harus benar :
D(E(P)) = P
Keamanan algoritma kriptografi sering diukur dari banyaknya kerja (work) yang dibutuhkan untuk memecahkan ciphertext menjadi plaintext-nya tanpa mengetahui kunci yang digunakan.

e.   Kriptanalisis dan Kriptologi
Kriptanalisis atau cryptanalysis adalah ilmu dan seni untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci dan algoritma yang digunakan. Orang yang melakukan kriptanalisis disebut kriptanalis. Jika seorang kriptografer (cryptografer) mengubah plaintext menjadi ciphertext dengan algoritma dan kunci tertentu, maka seorang kriptanalis mengubah ciphertext menjadi plaintext tanpa mengetahui kunci dan algoritmanya terlebih dahulu. Tujuan kriptanalisis adalah menemukan plaintext atau menemukan kunci atau algoritmanya. Kriptologi (cryptology) merupakan studi mengenai kriptografi dan kriptanalisis, dan keduanya saling berkaitan.



Jenis-jenis Kriptografi

Berdasarkan Perkembangan :

a. Algoritma Kriptografi Klasik 
Algoritma ini digunakan sejak sebelum era komputerisasi dan kebanyakan menggunakan teknik kunci simetris. Metode menyembunyikan pesannya adalah dengan teknik substitusi atau transposisi atau perpaduan dari keduanya yaitu teknik super enkripsi. Teknik substitusi adalah menggantikan karakter dalam plaintext menjadi karakter lain yang hasilnya adalah ciphertext. Sedangkan transposisi adalah teknik mengubah plaintext menjadi ciphertext dengan cara permutasi karakter. Kombinasi keduanya secara kompleks adalah yang melatarbelakangi terbentuknya berbagai macam algoritma kriptografi modern .

b. Algoritma Kriptografi Modern 
Algoritma ini memiliki tingkat kesulitan yang kompleks, dan kekuatan kriptografinya ada pada key atau kuncinya. Algoritma ini menggunakan pengolahan simbol biner karena berjalan mengikuti operasi komputer digital. Sehingga membutuhkan dasar berupa pengetahuan terhadap matematika untuk menguasainya .

Macam kriptografi berdasarkan kunci :

a. Algoritma Simetris 
Algoritma ini disebut simetris karena memiliki key atau kunci yang sama dalam proses enkripsi dan dekripsi sehingga algoritma ini juga sering disebut algoritma kunci tunggal atau algoritma satu kunci. Key dalam algoritma ini bersifat rahasia atau private key sehingga algoritma ini juga disebut dengan algoritma kunci rahasia .

  • Kelebihan  algoritma  simetris :
    Kecepatan operasi lebih tinggi bila dibandingkan  dengan algoritma asimetrik.Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time
  • Kelemahan algoritma  simetris :
    Untuk t
    iap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut. Permasalahan dalam pengiriman kunci itu sendiri yang disebut key distribution problem
b. Algoritma Asimetris 
Algoritma ini disebut asimetris karena kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. Kunci yang digunakan untuk enkripsi adalah kunci publik atau public key sehingga algoritma ini juga disebut dengan algoritma kunci publik. Sedangkan kunci untuk dekripsi menggunakan kunci rahasia atau private key.

 
  • Kelebihan algoritma asimetris : Masalah keamanan pada distribusi kunci dapat lebih baikMasalah manajemen kuci lebih baik karena jumlah kunci yang lebih sedikit
  • Kelemahan algoritma asimetris :
    Kece
    patan yang lebih rendah bila dibandingkan dengan algoritma simetrisUntuk   tingkat   keamanan sama,   kunci   yang digunakan lebih panjang daripada algoritma simetris..
Berdasarkan besar data yang diolah :

a. Algoritma block cipher : Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64 bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia yang berukuran sama juga. Contoh : RC4, Seal, A5, Oryx.
b. Algoritma stream cipher : Informasi/data yang hendak dikirim dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan waktu, menggunakan transformasi enkripsi yang berubah setiap waktu. Contoh : Blowfish, DEs, Idea, Gost, RC5, Safer, Twofish, Loki97,RC6.


Teknik Dasar Kriptografi

1.  Substitusi
2.  Blocking
3.  Permutasi
4.  Ekspansi
5.  Pemampatan (Compaction)