Pages

Subscribe:

Ads 468x60px

Minggu, 03 Juni 2012

Arti Sahabat Sejati


Banyak orang bilang… sahabat sejati itu hanya datang sekali seumur hidup bahkan mungkin tidak akan pernah didapat selama hidup… apa itu benar?? silahkan anda sendiri yang menilainya
Ada satu perbedaan antara menjadi seorang KENALAN dan menjadi seorang SAHABAT.
Pertama, seorang kenalan adalah seorang yang namanya kamu ketahui, yang kamu lihat berkali-kali, yang dengannya mungkin kamu miliki persamaan, dan yang disekitarnya kamu merasa nyaman. Ia adalah orang yang dapat kamu undang ke rumahmu dan dengannya kamu berbagi.

Namun mereka adalah orang yang dengannya tidak akan kamu bagi hidupmu, yang tindakan-tindakannya kadang-kadang tidak kamu mengerti karena kamu tidak cukup tahu tentang mereka.
Sebaliknya, seorang sahabat adalah seseorang yang kamu cintai.. Bukan karena kamu jatuh cinta padanya, namun kamu peduli akan orang itu, dan kamu memikirkannya ketika mereka tidak ada.
Sahabat-sahabat adalah orang dimana kamu diingatkan ketika kamu melihat sesuatu yang mungkin mereka sukai, dan kamu tahu itu karena kamu mengenal mereka dengan baik.
Mereka adalah orang-orang yang fotonya kamu miliki dan wajahnya selalu ada di kepalamu.
Mereka adalah orang-orang yang kamu lihat dalam pikiran mu
Mereka adalah orang-orang yang diantaranya kamu merasa aman
karena kamu tahu mereka peduli terhadapmu.
Mereka menelpon hanya untuk mengetahui apa kabarmu,
karena sahabat sesungguhnya tidak butuh suatu alasanpun.
Mereka berkata jujur dan kamu melakukan hal yang sama.
Kamu tahu bahwa jika kamu memiliki masalah, mereka akan bersedia mendengar.
Mereka adalah orang-orang yang tidak akan menertawakanmu atau menyakitimu,
dan jika mereka benar-benar menyakitimu, mereka akan berusaha keras untuk memperbaikinya.
Mereka adalah orang-orang yang kamu cintai dengan sadar ataupun tidak.
Mereka adalah orang-orang dengan siapa kamu menagis ketika kamu tidak diterima di perguruan tinggi negeri dan orang-orang yang menangis lantaran berat untuk berpisah denganmu di pesta perpisahan kelas.
Mereka adalah orang-orang yang pada saat kamu peluk, kamu tak akan berpikir berapa lama memeluk dan siapa yang harus lebih dahulu mengakhiri.
Mungkin mereka adalah orang yang memegang cincin pernikahanmu, atau orang yang mengantarkan / mengiringmu pada saat pernikahanmu.

MAKALAH KRIPTOGRAFI


MAKALAH
KRIPTOGRAFI
 





Disusun Oleh :

Ayi Ruhiyat         (1210705025)


IF.A / IV
FAKULTAS SAINS DAN TEKHNOLOGI
UNIVERSITAS ISLAM NEGERI
SUNAN GUNUNG DJATI
BANDUNG
2012

    
      
KATA PENGANTAR


Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa atas segala rahmat dan karunia-Nya, sehingga dalam penyusunan Paper Makalah Kriptografi  ini dapat penulis selesaikan tepat pada waktunya.
Pada kesempatan yang baik ini penulis ingin menyampaikan ucapan terima kasih yang sebesar - besarnya kepada Bpk Kriptografi selaku dosen mata kuliah Kriptografi yang selama ini telah banyak membimbing dan memberi motivasi. Saya mendoakan semoga amal baik bapak mendapatkan balasan dari Allah SWT.
Penulis menyadari bahwa penulisan makalah ini masih jauh dari sempurna, oleh karena itu dengan besar hati penulis menerima saran dan kritik dari para pembaca demi perbaikan laporan ini.
Pada kesempatan ini pula penulis menyampaikan permohonan maaf kepada semua pihak atas segala kesalahan yang penulis sengaja maupun yang tidak disengaja selama penulisan laporan ini.
Penulis berharap semoga makalah ini dapat bermanfaat bagi pembaca dan khususnya bagi penulis sendiri.

Terima kasih.



                           Bandung, 22 Mei 2012




                             Penulis


Daftar Isi

Kata pengantar ............................................................................................................  i
daftar isi ......................................................................................................................  ii-v

BAB i. serangan terhadap kriptografi ............................................................................. 1
1.      kRIPTANALISIS .....................................................................................................  1
2.      kEAMANAN ALGORITMA KRIPTOGRAFI ....................................................... 2
3.      KOMPLEKSITAS SERANGAN .............................................................................. 3
4.      JENIS – JENIS SERANGAN .................................................................................... 4
BAB ii. LANDASAN MATEMATIKA ............................................................................. 5
1.      FUNGSI .....................................................................................................................  5
2.      PERMUTASI DAN KOMBINASI ........................................................................... 5
3.      TEORI PELUANG ..................................................................................................... 5
4.       TEORI INFORMASI ................................................................................................ 6
5.      TEORI BILANGAN .................................................................................................. 7
6.      ALJABAR ABSTRAK .............................................................................................. 8
BAB iii. ALGORITMA KRIPTOGRAFI KLASIK ........................................................ 9
1.      CIPHER SUBSTITUSI .............................................................................................  9
2.      JENIS – JENIS CIPHER SUBSTITUSI .................................................................. 10
3.      CIPHER TRANSPOSISI ......................................................................................... 13
4.      SUPER ENKRIPSI .................................................................................................. 13
5.      TEKNIK ANALISIS FREKUENSI ........................................................................ 13
6.      AFFINE CIPHER ..................................................................................................... 14
7.      VIGENERE CIPHER .............................................................................................. 15
8.       PLAYFAIR CIPHER .............................................................................................. 17
BAB iv. ALGORITMA KRIPTOGRAFI MODERN ................................................... 21
1.       RANGKAIAN BIT DAN OPERASINYA ...........................................................  21
2.       ALGORITMA ENKRIPSI DENGAN XOR SEDERHANA ............................... 21
3.      KATEGORI CIPHER KUNCI SIMETRI ............................................................... 21
4.       CIPHER ALIRAN .................................................................................................. 22
5.      PEMBANGKIT ALIRAN KUNCI ......................................................................... 23
6.      SERANGAN TERHADAP CIPHER ALIRAN ..................................................... 25
7.       CIPHER BLOK ....................................................................................................... 25
8.       ELECTRONIC CODE BOOK (ECB) .................................................................... 26
9.      CIPHER BLOCK CHAINING (CBC) .................................................................... 27
10.  CIPHER FEEDBACK (CFB)  ................................................................................. 30
11.  OUTPUT FEEDBACK (OFB)  ................................................................................ 31
12.   PRINSIP – PRINSIP PERANCANGAN CIPHER BLOK ................................... 31
BAB v. KRIPTOGRAFI KUNCI PUBLIK .................................................................... 33
1.      KONSEP KRIPTOGRAFI KUNCI PUBLIK  ......................................................  33
2.      SEJARAH KRIPTOGRAFI KUNCI PUBLIK ...................................................... 34
3.      PERBANDINGAN KRIPTOGRAFI KUNCI SIMETRI DENGAN KRIPTOGRAFI KUNCI PUBLIK  .................................................................................................................................... 35
4.      APLIKASI KRIPTOGRAFI KUNCI PUBLIC  ..................................................... 36
5.      RSA ........................................................................................................................... 36
6.       ELGAMAL............................................................................................................... 39
7.       ALGORITMA PERTUKARAN KUNCI DIFFIE-HELLMAN ........................... 41
8.      ALGORITMA KNAPSACK ................................................................................... 42
BAB vi. PEMBANGKIT BILANGAN ACAK SEMU ................................................. 43
1.      LINEAR CONGRUENTIAL GENERATOR (LCG) ............................................  43
2.       PEMBANGKIT BILANGAN ACAK YANG AMAN UNTUK KRIPTOGRAFI 44
3.      BLUM BLUM SHUT  .............................................................................................. 45
4.      CSPRNG BERBASIS RSA ..................................................................................... 45
5.      CSPRNG BERBASIS CHAOS ............................................................................... 45
BAB viI. FUNGSI HASH SATU ARAH DAN MAC .................................................... 47
1.      FUNGSI HASH SATU ARAH ..............................................................................  47
2.       ALGORITMA MD5................................................................................................. 48
3.      SECURE HASH ALGORITHM (SHA) .................................................................. 49
4.      MAC DAN APLIKASINYA ................................................................................... 50
5.      ALGORITMA MAC ................................................................................................ 51
BAB viII. TANDA TANGAN DIGITAL ....................................................................... 53
1.      KONSEP TANDA TANGAN DIGITAL ...............................................................  53
2.      PENANDATANGANAN DENGAN CARA MENGENKRIPSI PESAN............ 55
3.      TANDATANGAN DENGAN MENGGUNAKAN FUNGSI HASH ................... 56
4.       DIGITAL STANDARD ALGORITHM (DSA) ..................................................... 57
BAB IX. PROTOKOL KRIPTOGRAFI ......................................................................... 59
1.      PROTOKOL KOMUNIKASI DENGAN SISTEM KRIPTOGRAFI SIMETRI .  59
2.      PROTOKOL KOMUNIKASI DENGAN SISTEM KRIPTOGRAFI KUNCI PUBLIC   59
3.       PROTOKOL UNTUK TANDA TANGAN DIGITAL .......................................... 61
4.       PROTOKOL UNTUK TANDA TANGAN DIGITAL DENGAN ENKRIPSI ... 63
5.      OTENTIKASI ........................................................................................................... 65
BAB X. INFRASTRUKTUR KUNCI PUBLIK ............................................................. 68
1.      SERTIFIKAT DIGITAL .........................................................................................  68
2.      X.509 ......................................................................................................................... 68
3.      INFRASTRUKTUR KUNCI PUBLIK ................................................................... 68
4.      MICROSOFT AUTHENTICODE ........................................................................... 69
BAB XI. MANAJEMEN KUNCI ..................................................................................... 70
1.      PEMBANGKITAN KUNCI ...................................................................................  70
2.      PENYEBARAN KUNCI ......................................................................................... 70
3.      PENYIMPANAN KUNCI (KEY STORAGE) ....................................................... 71
4.      PENGGUNAAN KUNCI ........................................................................................ 71
5.      PERUBAHAN KUNCI ........................................................................................... 72
6.      PENGHANCURAN KUNCI (KEY DESTRUCTION)  ........................................ 72
BAB XII. KRIPTOGRAFI DALAM KEHIDUPAN SEHARI – HARI  ...................... 73
1.      KARTU CERDAS ...................................................................................................  73
2.       TRANSAKSI LEWAT ANJUNGAN TUNAI MANDIRI (ATM) ....................... 74
3.      PAY TV .................................................................................................................... 75
4.       KOMUNIKASI DENGAN TELEPON SELULER ............................................... 75
5.      E-COMMERCE DI INTERNET DAN SSL ............................................................ 76
6.      PENGAMANAN E-MAIL DENGAN PGP (PRETTY GOOD PRIVACY)  ........ 77
BAB XIII. STEGANOGRAFI DAN WATERMARKING ........................................... 78
1.      SEJARAH STEGANOGRAFI  ..............................................................................  78
2.      PERSOALAN TAHANAN PENJARA .................................................................. 79
3.      KONSEP DAN TERMINOLOGI  .......................................................................... 80
4.      TEKNIK PENYEMBUNYIAN DATA  ................................................................. 80
5.      WATERMARKING ................................................................................................. 82
6.      JENIS – JENIS IMAGE WATERMARKING......................................................... 84
7.       APLIKASI IMAGE WATERMARKING ............................................................. 85
8.      METODE IMAGE WATERMARKING ................................................................. 86
9.      WATERMARKING PADA MEDIA DIGITAL LAIN ......................................... 88
DAFTARPUSTAKA............................................................................................................90



BAB 1 
SERANGAN TERHADAP KRIPTOGRAFI

1.      Kriptanalisis
Kriptografi menyebabkan timbulnya kriptanalisis, yaitu ilmu pengetahuan dan seni untuk membongkar data acak. Praktisi dari kriptanalisis disebut kriptanalis. Kriptanalis berkembang sejalan dengan kriptografi. Setiap ada algoritma kriptografi baru yang dibuat oleh kriptografer, langsung diikuti oleh adanya upaya percobaan kriptanalisis. Percobaan kriptanalisis ini disebut attack (serangan).
Kriptanalisis mencoba megembalikan data jelas tanpa akses ke ke kunci kriptografi. Ukuran keberhasilan suatu upaya kriptanalisis adalah sampai sejauh mana keberhasilan diketahuinya data jelas atau kunci kriptografi.
Asumsi dasar dari suatu kriptosistem adalah bahwa seorang kriptanalis mengetahui keseluruhan mekanisme enkripsi kecuali kuncinya. Kriptanalisis adalah ilmu (sains) untuk membuka (recovering) suatu pesan tanpa akses ke kunci. Kriptanalisis yang sukses dapat memperoleh teks terang atau kunci. Juga dapat menemukan kelemahan suatu sistem kripto berdasarkan analisis sebelumnya (Schneier, Applied Cr., 1996).
Kriptanalisis adalah studi tentang prinsip2/metode2 pembukaan teks sandi tanpa mengetahui kuncinya. Stalling (Cr and Netsec, 2003).
Kriptanalisis adalah teknik matematik dalam upaya menggagalkan (defeat) suatu teknik kriptografik, dan lebih luas lagi suatu servis pengamanan informasi.(Menezes Cs, Handbook of Applied Cr., 1996)
Kriptanalis bertujuan untuk memcahkan cipherteks menjadi plainteks semula tanpa memiliki akses ke kunci ynag digunakan. Kriptanalis berusaha menemukan kelemahan dari system kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plainteks.
Dalam membahas serangan terhadap kriptografi, kita selalu menganggap bahwa kriptanalis mengetahui algoritma yang digunakan dalam penyandian plainteks., sehingga satu-satunya keamanan siste terdapat pada panjang kunci. Asumsi ini juga diungkapkan dalam prnsip Kerckhoff ynag berbumyi “ Semua algoritma kriptografi harus publik hanya kunci yang rahasia.”
Dengan kata lain kriptanalis mengetahui enkripsi dan dekripsi secara detil. Merahasiakan Algoritma Kriptografi bukan cara yang praktis tetapi malah cara yang pmborosan sebab bila algoritma sandi diketahui oleh pihak lawan, maka kita harus membuat algoritma baru. Oleh karena itu lebih baik uncinya yang rahasia. Jika kunci berhasil dicuri maka kriptografer cukup membangkitkan kunci baru dan seterusnya.
Ada saat ini tidak mengherankan bila semua algoritma kriptografi sudah dipublikasikan ke khalayak umum. Algoritma tersebut sudah dapat dipelajari secara umum oleh semua pihak termasuk di luar lingkubngan persandian. Menurut Scheiner [SCH96], algoritma yang terbaik adalah algoritma yang sudah dipublikasikan dan sudah dipecahkan.Dengan mempublikasikan algoritma baru, kriptografer memperoleh konsultasi gratis dari sejumlah kriptologis akademisi yang ingin sekali memecahkan algoritma sehingga mereka dapat mempublikasikan paper yang memperlihatkan kecerdasan mereka. Jadi banyak pakar yang mencoba mmecahkan suatu algoritma selama beberapa tahun setelah dipublikasikan dan tidak seorangpun berhasil, maka bisa disebut algoritma tersebut tangguh.
Karena keamanan sistem tergantung kunci, maka agar lebih aman maka kunci harus diperpanjang.
2.      Keamanan Algoritma Kriptografi
Lrs Knudsen mengelompokan hasil kriptanalis ke dalam beberqapa kategori berdasrkan jumlah dana kualitas informasiyang ditemukan :
1.      Pemecah total
Kriptanalis menemukan kunci K edemikian sehingga deskripsi DK© = P
2.      Deduksi ( Penarikan Kesimpulan ) global
Kriptanalis menemukan algoritma alternatif , A, yang ekuivalen dengan DK(C) tetapi tyidak mengetahuui kunci K
3.      Deduksi Lokal
Kriptanalis menemukan plainteks dari ciphereks ynag disadap
4.      Deduksi informasi
Kriptanalis menemukan beberapa informasi perihalk kunci atau plainteks. Misalnya kriptanalis mengetahui beberapa bit kunci, kriptanalis mengetahui bahasa yang digunakan untuk menulis plainteks, kriptanalis mengetahui format plainteks, dan sebagainya.
Sebuah algoritma dikatakan aman mutlak tanpa syarat bila cipherteksnya tidak mengandung cukup data yang dapat digunakan oleh kriptanalis untuk membukanya menjadi plainteks. Artinya sebanyak apapun cipherteks yang dimiliki moeh kriptanalis, tidak ada suatu hubungan yang dapat menyebabkan kriptanalis membukanya. Di dalamkriptografi hanya one time pad yang aman mutlak. Karena kunci yang digunakan benar-benar acak dan tiak mungkin dipecahkan.

Sebaliknya sebuah algoritma dikatakan aman secara komputasi bila memenuhi criteria berikut :
1.      Biaya untuk memecahkan cipherteks melampaui nilai yang terkandung di dalam cipherteksnya.
2.      Waktu yang dibutuhkan untuk memecahkan cipherteksya melampaui lamanya waktu informasi tersebut harus dijaga. Untuk menemukan kunci setidaknyua setengah darfi semua kmungkinan kunci harus dicoba, dan akan menghabiskan waktu yang lama. Adas yang mencapai 5,4 x 1024 tahun untuk satu juta percobaan per detik. Hal itu tidak mungkin karena umur bumi tidak saqmpai sekian.
3.      Kompleksitas Serangan
Kompleksitas serangan dapat diukur dengan berbagai cara yaitu :
1.      Kompleksitas Data
Jumlah data yang dibutuhkan sebagai input sebagai serangan yang dilakukan. Semakin banyak data ynag dibutuhkan untuk melakukan serangan maka semakin kompleks serangan itu, yang mengandung arti semakin algoritma kriptografi itu semakin berkualitas.
2.      Kompleksitas Waktu
Adalah waktu yang dibutuhkan dalam melakukan serangan. Semakin lama waktu untuk melakukan serangan maka semakin bagus system kriptografi itu.
3.      Kompleksitas Ruang Memori
Adalah junlah memori yang dibutuhkan untuk melakukan serangan. Semakin banyak memori yang dibutuhkan untuk melakukan serangan maka semakin bagus algoritma kriptografi yang dipakai.

4.      Jenis-jenis Serangan
Keseluruhan point dari kriptografi adalah menjaga kerahasiaan plainteks (atau kunci, atau keduanya) dari penyadap (eavesdropper) atau kriptanalis (cryptanalyst). Penyadap bisa juga merupakan seorang kriptanalis atau sebaliknya.
Nama lain penyadap: - penyusup (intruder)
a.       penyerang (attacker)
b.      musuh (enemyadversaries)
c.       pencegat (interceptor)
d.      lawan (opponent)
Penyadap berusaha mendapatkan data yang digunakan untuk kegiatan kriptanalisis (cryptanalysis). Kriptanalis berusaha mengungkap plainteks atau kunci dari data yang disadap. Kriptanalis juga dapat menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plainteks.
Beberapa metode penyadapan data:
1.      Wiretapping
Penyadap mencegat data yang ditransmisikan pada saluran kabel komunikasi dengan menggunakan sambungan perangkat keras.
2.      Electromagnetic eavesdropping
Penyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio dan microwive.
3.      Acoustic Eavesdropping.
Menangkap gelombang suara yang dihasilkan oleh suara manusia.
Yang dimaksud dengan serangan (attack) adalah usaha (attempt) atau percobaan yang dilakukan oleh kriptanalis.


BAB II
LANDASAN MATEMATIKA

1.      Fungsi
Fungsi, dalam istilah matematika adalah pemetaan setiap anggota sebuah himpunan (domain) kepada anggota himpunan yang lain (kodomain). Istilah ini berbeda pengertiannya dengan kata yang sama yang dipakai sehari-hari, seperti “alatnya berfungsi dengan baik.” Konsep fungsi adalah salah satu konsep dasar dari matematika dan setiap ilmu kuantitatif. Istilah "fungsi", "pemetaan", "peta", "transformasi", dan "operator" biasanya dipakai secara sinonim.
2.      Permutasi dan Kombinasi
Kombinasi adalah menggabungkan beberapa objek dari suatu grup tanpa memperhatikan urutan. Di dalam kombinasi, urutan tidak diperhatikan.
{1,2,3} adalah sama dengan {2,3,1} dan {3,1,2}.
Contoh: Seorang anak hanya diperbolehkan mengambil dua buah amplop dari tiga buah amplop yang disediakan yaitu amplop A, amplop B dan amplop C. Tentukan ada berapa banyak kombinasi untuk mengambil dua buah amplop dari tiga buah amplop yang disediakan?
Solusi: Ada 3 kombinasi yaitu; A-B, A-C dan B-C.
Sedangkan permutasi adalah menggabungkan beberapa objek dari suatu grup dengan memperhatikan urutan. Di dalam permutasi, urutan diperhatikan.
{1,2,3} tidak sama dengan {2,3,1} dan {3,1,2}
Contoh: Ada sebuah kotak berisi 3 bola masing-masing berwarna merah, hijau dan biru. Jika seorang anak ditugaskan untuk mengambil 2 bola secara acak dan urutan pengambilan diperhatikan, ada berapa permutasi yang terjadi?
Solusi: Ada 6 permutasi yaitu; M-H, M-B, H-M, H-B, B-M, B-H.
3.      Teori Peluang
Peluang diperlukan untuk mengetahui ukuran atau derajad ketidakpastian suatu peristiwa. Di dalam statistik, peluang dipakai antara lain terkait dengan cara pengambilan sampel dari suatu populasi.
Mengundi dengan sebuah mata uang logam atau sebuah dadu, membaca temperatur dengan termometer tiap hari, menghitung barang rusak yang dihasilkan tiap hari, mencatat banyak kendaraan yang melalui pertigaan jalan tertentu setiap jam, dan masih banyak contoh yang lain, merupakan eksperimen yang dapat diulangi. Semua hasil yang mungkin terjadi bisa dicatat. Segala bagian yang mungkin didapat dari hasil ini dinamakan peristiwa.
Contoh:
Eksperimen mencatat banyak kendaraan yang melalui sebuah tikungan X setiap jam. Hasilnya bisa didapat 0, 1, 2, 3, … buah kendaraan setiap jam yang melalui tikungan X.
Beberapa peristiwa yang didapat misalnya: tidak ada kendaraan selama satu jam, lebih dari tiga kendaraan selama satu jam, ada 6 kendaraan dalam satu jam, dsb.
Simbol untuk menyetakan peristiwa misalnya dengan huruf besar A, B, C, ….baik disertai indeks atu tidak. Misal: A berarti tidak ada kendaraan yang melalui tikungan dalam satu jam. B berarti ada 10 kendaraan yang melalui tikungan dalam satu jam, dsb.
Definisi: Dua peristiwa atau lebih dinamakan saling ekslusif jika terjadinya peristiwa yang satu mencegah terjadinya yang lain.
Contoh:
Sebuah kotak berisi 10 kelereng merah, 18 kelereng hijau, dan 22 kelereng kuning. Kecuali warna, lain-lainnya identik. Bila semua kelereng dimasukkan ke dalam kotak dan diaduk-aduk, maka berapakah peluang warna merah atau hijau yang terambil dari kotak jika kelereng diambil secara acak dengan mata tertutup?
Jawab:
Misal A = mengambil warna merah
          B = mengambil warna kuning
          C = mengambil warna hijau
          P(A) = 10/(10+18+22) = 0,2
          P(B) = 18/(10+18+22) = 0,36
          P(C) = 22/(10+18+22) = 0,44
Ketiga peristiwa di atas adalah saling eksklusif, sehingga berlaku:
P(A atau C) = P(A) + P(C) = 0,2 + 0,44 = 0,64
Hal itu berarti jika pengambilan kelereng dilakukan dalam jangka waktu lama, maka 64 dari setiap 100 kali mengambil akan terambil kelereng warna merah atau kuning.
4.      Teori Informasi
Teori informasi (Inggrisinformation theory) adalah disiplin ilmu dalam bidang matematika terapan yang berkaitan dengan kuantisasi data sehingga data atau informasi itu dapat disimpan dan dikirimkan tanpa kesalahan (error) melalui suatu kanal komunikasi. Entropi informasi (information entropy) sering dipakai sebagai alat untuk maksud ini, dan biasanya dinyatakan sebagai banyaknya bit rerata yang diperlukan untuk penyimpanan dan pengiriman informasi tersebut. Sebagai contoh, jika keadaan cuaca harian dinyatakan dengan entropi 3 bit, maka kita katakan bahwa cuaca itu mempunyai rata-rata 3 bit tiap harinya.
Aplikasi dari topik dasar dalam teori informasi meliputi kompresi data tanpa cacat (lossless data compression, pada file ZIP misalnya), kompresi data (lossy data compression, pada file MP3, misalnya), dan pengkodean kanal (channel coding, pada saluran DSL, ADSL dll). Biasanya teori informasi merupakan titik temu dari bidang –bidang matematika, statistika, ilmu komputer, fisika, neurobiologi, dan teknik listrik serta komputer. Implementasi dari teori ini berdampak langsung dengan misi ruang angkasa, pemahaman mengenai lubang hitam dalam galaksi, dengan penelitianlinguistika dan persepsi manusia, dengan jaringan komputer, jaringan Internet serta jaringan telepon genggam.
Fungsi entropi biner Bernoulli
Secara khusus, teori informasi adalah cabang dari matematika peluang dan statistik, yang berkaitan dengan konsep informasi dan entropi informasiseperti telah dijelaskan di atas. Claude E. Shannon (1916-2001) dikenal sebagai "bapak dari teori informasi". Shannon mendefinisikan pengukuran darientropi informasi (dalam bit) sebagai:

Rumus ini jika diterapkan pada suatu sumber informasi, dapat menentukan kapasitas dari saluran yang diperlukan untuk mengirim data yang diterjemahkan ke dalam digit biner.
5.      Teori Bilangan
Teori bilangan (number theory) adalah teori yang mendasar dalam memahami algoritma kriptografi Bilangan yang dimaksudkan adalah bilangan bulat (integer)
1.      Bilangan Bulat
Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal, misalnya 8, 21, 8765, -34, 0 Berlawanan dengan bilangan bulat adalah bilangan riil yang mempunyai titik desimal, seperti 8.0, 34.25, 0.02.
Sifat Pembagian pada Bilangan Bulat
Misalkan a dan b adalah dua buah bilangan bulat dengan syarat a ¹ 0. Kita menyatakan bahwa a habis membagi b (a divides b) jika terdapat bilangan bulat c sedemikian sehingga b = ac.
             Notasi: a | b jika b = ac, c Î Z dan a ¹ 0. (Z = himpunan bilangan bulat)
             Kadang-kadang pernyataan “a habis membagi b“ ditulis juga “b kelipatan a”.
            Contoh 1:
4 | 12 karena 12 ¸ 4 = 3 (bilangan bulat) atau 12 = 4 ´ 3. Tetapi 4 | 13 karena 13 ¸4 = 3.25 (bukan bilangan bulat).
6.      Aljabar Abstrak
Aljabar abstrak adalah bidang subjek matematika yang mempelajari struktur aljabar, seperti grup, ring, medan, modul, ruang vektor, dan aljabar medan. Frasa aljabar abstrak diciptakan pada awal abad ke-20 untuk membedakannya dengan bidang yang biasa disebut sebagai aljabar, yaitu studi aturan manipulasi rumus dan ekspresi aljabar yang melibatkan variabel dan bilangan riilatau kompleks, yang saat ini lebih sering disebut sebagai aljabar elementer. Perbedaan ini jarang dikemukakan pada tulisan-tulisan matematika yang lebih mutakhir.
Matematika kontemporer dan fisika matematika menggunakan aljabar abstrak secara intensif. Sebagai contoh, fisika teoretis mengandalkan aljabar Lie. Bidang subjek seperti teori bilangan aljabar, topologi aljabar dan geometri aljabar menerapkan metode aljabar terhadap bidang matematika lain. Secara kasar, dapat disebutkan bahwa teori representasi mengeluarkan istilah 'abstrak' dari 'aljabar abstrak', dan mempelajari sisi konkret dari suatu struktur (lihat pula teori model).
Dua bidang subjek matematika yang mempelajari sifat-sifat struktur aljabar yang dipandang secara keseluruhan adalah aljabar universal dan teori kategori. Struktur aljabar, bersama-sama denganhomomorfisme yang berkaitan, membentuk kategori. Teori kategori adalah formalisme ampuh untuk mempelajari dan membandingkan berbagai struktur aljabar yang berbeda-beda.

  
BAB III
ALGORITMA KRIPTOGRAFI KLASIK

1.      Cipher Substitusi
Subsitusi adalah penggantian setiap karakter plaintext dengan karakter lain. Beberapa istilah yang mungkin perlu diingat adalah KUR04:
a.       Monoalfabet : Setiap karakter ciphertext mengganti satu macam karakter plainteks tertentu. 
b.      Polyalfabet : Setiap karakter ciphertext dapat mengganti lebih dari satu karakter plaintext. 
c.       Monograf / unilateral : Satu enkripsi dilakukan terhadap satu karakter plaintext. 
d.      Polygraf / multilateral : Satu enkripsi dilakukan terhadap lebih dari satu karakter plaintext sekaligus.
Adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim kepada para gubernurnya.
Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain dalam susunan abjad (alfabet). Misalnya, tiap huruf disubstitusi dengan  huruf ketiga berikutnya dari susunan akjad. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu k = 3).
Tabel substitusi :
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Contoh 1. Pesan
AWASI ASTERIX DAN TEMANNYA OBELIX
disamarkan (enskripsi) menjadi
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Penerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga chiperteks
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
dapat dikembalikan menjadi plainteks semula:
AWASI ASTERIX DAN TEMANNYA OBELIX
Dengan mengkodekan setiap huruf abjad dengan integer sebagai berikut: A = 0, B = 1, …, Z = 25, maka secara matematis caesar chiper menyandikan plainteks pi menjadi ci dengan aturan:
ci = E(pi) = (pi + 3) mod 26                                                     (1)
dan dekripsi chiperteks ci menjadi pi dengan aturan:
pi = D(ci) = (ci – 3) mod 26                                                     (2)
Karena hanya ada 26 huruf abjad, maka pergeseran huruf yang mungkin dilakukan adalah dari 0 sampai 25. Secara umum, untuk pergeseran huruf sejauh k (dalam hal ini k adalah kunci enkripsi dan deksripsi), fungsi enkripsi adalah
ci = E(pi) = (pi + k) mod 26                                                     (3)
dan fungsi dekripsi adalah
pi = D(ci) = (ci k) mod 26                                                     (4)
Catatan:
  1. Pergeseran 0 sama dengan pergeseran 26 (susunan huruf tidak berubah)
  2. Pergeseran lain untuk k > 25 dapat juga dilakukan namun hasilnya akan kongruen dengan bilangan bulat dalam modulo 26. Misalnya k = 37 kongruen dengan 11 dalam modulo 26, atau 37 º 11 (mod 26).
  3. Karena ada operasi penjumlahan dalam persamaan (3) dan (4), maka caesar chiper kadang-kadang dinamakan juga additive chiper.
2.      Jenis-jenis Cipher Substitusi
Cipher subsitusi paling tua yang dikenal adalah subsitusi yang dilakukan Julius Caesar. Beberapa teknik subsitusi yang pernah dilakukan, antara lain [KUR04]:
a.      Subsitusi deret campuran kata kunci yaitu subsitusi yang kata kuncinya didapat dari mengumpulkan karakter yang sama dari sebuah plaintext dan pada ciphertextnya ditambahkan semua sisa karakter dalam abjad. 
b.      Subsitusi monomer-dinome-trinome.
Monome berarti setiap satu karakter plaintext akan disubsitusi oleh satu karakter ciphertext, dinome disubsitusi dua karakter ciphertext, tridome disubsitusi tiga karakter ciphertext. Jadi sistem ini adalah campuran. 
c.       Subsitusi multilateral variant.
Subsitusi ini masih termasuk jenis monoalfabet yang dalam mensubsitusi memanfaatkan huruf abjad a,b,c,…,z yang disusun dalam matrik 5 X 5. 
d.      Subsitusi digrafik.
Pada sistem ini, setiap huruf plaintext akan disubsitusi oleh dua huruf ciphertext. Pola huruf cipher text diambil dari sebuah matrik 26 X 26 yang berasal dari 26 abjad yang memiliki pola khusus. 
e.       Subsitusi persegi panjang.
Sistem digrafik terlalu memerlukan matrik yang besar. Untuk memperkecil matrik dengan keamanan yang setara dapat digunakan sistem empat persegi.
f.       Subsitusi kode playfair
Kode rahasia multi huruf yang paling terkenal adalah playfair. Playfair menggunakan 676 digraf. Selama waktu yang lama, kode ini dianggap tak dapat dipecahkan. Playfair dijadikan system standar oleh tentara Inggris dalam PD I dan masih digunakan secara luas oleh tentara Amerika dan sekutu selama PD II. Sistem ini menggunakan matrik 5 x 5
g.      Subsitusi Polialfabet periodik.
Dalam sistem polialfabet, setiap ciphertext dapat memiliki banyak kemungkinan plaintext. Dan sistem periodik itu sendiri dikarenakan adanya kunci yang berulang. Jenis polialfabet klasik yang terkenal adalah Vigenere.
Termasuk ke dalam cipher abjad-majemuk (polyalpabetic substitution cipher ). Ditemukan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigènere pada abad 16. Sudah berhasil dipecahkan pada Abad 19.Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar Cipher.
Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang secara periodik. Bila panjang kunci adalah m, maka periodenya dikatakan m.
Contoh: kunci = sony
Plainteks: THIS PLAINTEXT
Kunci: sony sonysonys
Huruf yang sama tidaks elalu dienkripsi menjadi huruf cipheteks yang sama pula. Contoh: huruf plainteks T dapat dienkripsi menjadi L atau H, dan huruf cipherteks V dapat merepresentasikan huruf plainteks H, I, dan X. Hal di atas merupakan karakteristik dari cipher abjad-majemuk: setiap huruf cipherteks dapat memiliki kemungkinan banyak huruf plainteks. Pada cipher substitusi sederhana, setiap huruf cipherteks selalu menggantikan huruf plainteks tertentu. Vigènere Cipher dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama seperti pada cipher abjad-tunggal. Jika periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat ditentukan dengan menulis program komputer untuk melakukan exhaustive key search.
h.      Enigma.
Merupakan mesin kriptografi yang digunakan oleh tentara NAZI Hitler pada masa PD II. Mesin ini menggunakan rotor. Enigma menggunakan tiga rotor untuk melakukan subsitusi. Tiga rotor berarti tiga kali subsitusi. 
Enigma adalah mesin yang digunakan Jerman selama Perang Dunia II untuk mengenkripsi/dekripsi pesan-pesan militer.
Enigma menggunakan sistem rotor (mesin berbentuk roda yang berputar) untuk membentuk huruf cipherteks yang berubah-ubah. Setelah setiap huruf dienkripsi, rotor kembali berputar untuk membentuk huruf cipherteks baru untuk huruf plainteks berikutnya. Enigma menggunakan 4 buah rotor untuk melakukan substitusi. Ini berarti terdapat 26 ´ 26´ 26 ´ 26 = 456.976 kemungkinan huruf cipherteks sebagai pengganti huruf plainteks sebelum terjadi perulangan urutan cipherteks.
Setiap kali sebuah huruf selesai disubstitusi, rotor pertama bergeser satu huruf ke atas. Setiap kali rotor pertama selesai bergeser 26 kali, rotor kedua juga melakukan hal yang sama, demikian untuk rotor ke-3 dan ke-4. Posisi awal keempat rotor dapat di-set; dan posisi awal ini menyatakan kunci dari Enigma. Jerman meyakini bahwa cipherteks yang dihasilkan Enigma tidak mungkin dipecahkan. Namun, sejarah membuktikan bahwa pihak Sekutu berhasil juga memecahkan kode Enigma. Keberhasilan memecahkan Enigma dianggap sebagai faktor yang memperpendek Perang Dunia II menjadi hanya 2 tahun.
3.      Cipher Transposisi
Beberapa model kriptografi yang menggunakan teknik transposisi, antara lain [KUR04]: 
1.      Algoritma transposisi kolom dengan kunci numerik. Teknik ini menggunakan permutasi karakter. Kunci dapat diperoleh dari kata yang mudah dibaca dan kemudian dikodekan menjadi bentuk bilangan.
2.       Masukan plaintext pola zig-zag, keluaran ciphertext berupa baris. 
3.      Masukan pola segitiga, keluaran berupa kolom, dibaca dari atas kebawah. 
4.      Masukan berpola spiral, dari luar kedalam, keluaran berupa kolom dibaca pembacaannya mengikuti pola yang berasal dari atas ke bawah. 
5.      Dimasukan secara diagonal dari kiri bawah ke kanan atas, keluaran baris. 
6.      Masukan spiral dari dalam ke luar, keluaran diagonal bergantian. 
Kombinasi subsitusi dan transposisi yang komplek menjadi dasar pembentukan algoritma-algoritma kriptografi modern. Salah satu algoritma klasik yang menggunakan kedua teknik ini adalah VIC yang tidak memerlukan komputer dalam penggunaannya
4.      Super Enkripsi
Super enkripsi adalah mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuanya memperoleh cipher yang lebih kuat daripada hanya satu cipher saja. Mula-mula enkripsi dengan cipher substitusi sederhana (cipher abjad-tunggal), lalu hasilnya dienkripsi lagi dengan cipher transposisi
Contoh:
Plainteks: HELLO WORLD
Enkripsi dengan caesar cipher menjadi:
KHOOR ZRUOG
     Kemudian enkripsi lagi dengan cipher transposisi (k = 4):
KHOO
RZRU
OGZZ
 Cipherteks akhir adalah: KROHZGORZOUZ
5.      Teknik Analisis Frekuensi
Kelemahan sandi substitusi adalah hubungan frekuensi kemunculan huruf pada plainteks dan cipherteks yang tidak berubah. Jika huruf a dienkripsi menjadi huruf X, dan a muncul sebanyak n kali, maka X juga muncul sebanyak n kali. Hal ini dimanfaatkan penyerang untuk menemukan kuncinya. Penyerang memanfaatkan data statistik peluang kemunculan huruf berikut ini. Teknik seperti ini disebut dengan teknik analisis frekuensi.



            Data di atas dapat dibagi menjadi lima kelompok, yaitu:
1.      E, mempunyai peluang 0.120.
2.      T, A, O, I, N, S, H, R, mempunyai peluang antara 0.06 dan 0.09.
3.       D, L, mempunyai peluang sekitar 0.04.
4.      C, U, M, W, F, G, Y, P, B, mempunyai peluang antara 0.015 dan 0.023.
5.      V, K, J, X, Q, Z, peluangnya kurang dari 0.01.
Selain itu juga ditemukan data mengenai frekuensi kemunculan digrams dan trigrams. 30 digram paling sering muncul dalam Bahasa Inggris berturut-turut dari yang peluang terbesar adalah:
TH, HE, IN, ER, AN, RE, ED, ON, ES, ST, EN,
AT, TO, NT, HA, ND, OU, EA, NG, AS, OR,
TI, IS, ET, IT, AR, TE, SE, HI, OF.
Sedangkan 12 trigram yang sering muncul dalam Bahasa Inggris berturut-turut dari peluang terbesar adalah:
THE, ING, AND, HER, ERE, ENT, THA, NTH,
WAS, ETH, FOR, DTH.
Untuk lebih jelasnya mengenai cara kerja teknik analisis frekuensi dalam memecahkan cipher substitusi.
6.      Affine Cipher
Salah satu kriptosistem klasik selain shift cipher adalah Affine Cipher. Ide awalnya hampir sama dengan shift cipher di mana tiap huruf direpresentasikan oleh nilai dari 0 ( yaitu a ) sampai 25 ( z ). Bedanya adalah jika pada shift cipher, tiap-tiap huruf digeser sejauh k, dan nilai k pada tiap huruf sama, pada Affine cipher, tiap huruf pada ciphertext merupakan hasil fungsi berikut :
X = α x + β (mod 26)
7.      Vigenere Cipher
Sandi Vigenère adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère merupakan bentuk sederhana dari sandi substitusi polialfabetik. Kelebihan sandi ini dibanding sandi Caesar dan sandi monoalfabetik lainnya adalah sandi ini tidak begitu rentan terhadap metode pemecahan sandi yang disebut analisis frekuensi. Giovan Batista Belaso menjelaskan metode ini dalam buku La cifra del. Sig. Giovan Batista Belaso (1553); dan disempurnakan oleh diplomat Perancis Blaise de Vigenère, pada 1586. Pada abat ke-19, banyak orang yang mengira Vigenère adalah penemu sandi ini, sehingga, sandi ini dikenal luas sebagai "sandi Vigenère".
Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para pemula sulit dipecahkan. Pada saat kejayaannya, sandi ini dijuluki le chiffre indéchiffrable (bahasa Prancis: 'sandi yang tak terpecahkan'). Metode pemecahan sandi ini baru ditemukan pada abad ke-19. Pada tahun 1854, Charles Babbage menemukan cara untuk memecahkan sandi Vigenère. Metode ini dinamakan tes Kasiski karena Friedrich Kasiski-lah yang pertama mempublikasikannya.
Sandi Vigenère sebenarnya merupakan pengembangan dari sandi Caesar. Pada sandi Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran 3, A menjadi D, B menjadi E and dan seterusnya. Sandi Vigenère terdiri dari beberapa sandi Caesar dengan nilai geseran yang berbeda.
Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut tabel Vigenère (gambar). Tabel Vigenère berisi alfabet yang dituliskan dalam 26 baris, masing-masing baris digeser satu urutan ke kiri dari baris sebelumnya, membentuk ke-26 kemungkinan sandi Caesar. Setiap huruf disandikan dengan menggunakan baris yang berbeda-beda, sesuai kata kunci yang diulang
Misalnya, teks terang yang hendak disandikan adalah perintah "Serbu Berlin":
serbuberlin
Sedangkan kata kunci antara pengirim dan tujuan adalah "Pizza"
"PIZZA" diulang sehingga jumlah hurufnya sama banyak dengan teks terang:
PIZZAPIZZAP
Huruf pertama pada teks terang, S, disandikan dengan menggunakan baris berjudul P, huruf pertama pada kata kunci. Pada baris Pdan kolom S di tabel Vigenère, terdapat huruf H. Demikian pula untuk huruf kedua, digunakan huruf yang terletak pada baris I (huruf kedua kata kunci) dan kolom E (huruf kedua teks terang), yaitu huruf M. Proses ini dijalankan terus sehingga
Teks terang:
serbuberlin
Kata kunci:
PIZZAPIZZAP
Teks bersandi:
HMQAUQMQKIC
Proses sebalinya (disebut dekripsi), dilakukan dengan mencari huruf teks bersandi pada baris berjudul huruf dari kata kunci. Misalnya, pada contoh di atas, untuk huruf pertama, kita mencari huruf H (huruf pertama teks tersandi) pada baris P (huruf pertama pada kata kunci), yang terdapat pada kolom S, sehingga huruf pertama adalah S. Lalu M terdapat pada baris I di kolom E, sehingga diketahui huruf kedua teks terang adalah E, dan seterusnya hingga didapat perintah "serbuberlin".
Enkripsi (penyandian) dengan sandi Vigenère juga dapat dituliskan secara matematis, dengan menggunakan penjumlahan dan operasi modulus, yaitu:
C_i \equiv (P_i + K_i) \mod 26
atau C = P + K kalau jumlah dibawah 26 & - 26 kalau hasil jumlah di atas 26 dan dekripsi,
P_i \equiv (C_i - K_i) \mod 26
atau P = C - K kalau hasilnya positif & + 26 kalau hasil pengurangan minus
Keterangan: C_i adalah huruf ke-i pada teks tersandi, P_i adalah huruf ke-i pada teks terang, K_i adalah huruf ke-i pada kata kunci, dan mod adalah operasi modulus (sisa pembagian).
Rumus enkripsi vigenere cipher :
P_i \equiv (C_i - K_i) \mod 26
atau
Ci = ( Pi + Ki ) – 26 kalau hasil penjumlahan Pi dan Ki lebih dari 26
Rumus dekripsi vigenere cipher :
P_i \equiv (C_i - K_i) \mod 26
atau
Pi = ( Ci – Ki ) + 26 kalau hasil pengurangan Ci dengan Ki minus
Dimana:
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i
Pada contoh kata kunci KAMPUS diulang sedemikian rupa hingga panjang kunci sama dengan panjang plainteksnya. Jika dihitung dengan rumus enkripsi vigenere  plainteks huruf pertamaS (yang memiliki nilai Pi=18) akan dilakukan pergeseran dengan huruf K (yang memiliki Ki=10) maka prosesnya sebagai berikut:
 Ci = ( Pi + Ki ) mod 26
    = (18 + 10) mod 26
    = 28 mod 26
    = 2   
Ci=2 maka huruf ciphertext dengan nilai 2 adalah C . Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua plainteks telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut:
 Pi = ( Ci – Ki ) + 26
    = ( 2 – 10 ) + 26
    = –8 + 26
    = 18

8.      Playfair Cipher
·         Termasuk ke dalam polygram cipher
·         Ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada tahun 1854
·         Kunci kriptografinya adalah 25 buah huruf yang disusun di dalam bujursangkat 5x5 dengan menghilangkan huruf J dari abjad.
Contoh kunci:
S
T
A
N
D
E
R
C
H
B
K
F
G
I
L
M
O
P
Q
U
V
W
X
Y
Z

Jumlah kemungkinan kunci:
25!=15.511.210.043.330.985.984.000.000
·         Susunan kunci di dalam bujursangkar diperluas dengan menambahkan kolom keenam dan baris keenam
S
T
A
N
D
S
E
R
C
H
B
E
K
F
G
I
L
K
M
O
P
Q
U
M
V
W
X
Y
Z
V
S
T
A
N
D








Baris ke-6 = baris ke-1
Kolom ke-6 = kolom ke-1

·         Pesan yang akan disamarkan diatur terlebih dahulu sebagai berikut:
1.      Ganti huruf dengan J (bila ada) dengan huruf I
2.      Tulis pesan dalam pasangan huruf
3.      Jangan sampai ada pasangan huruf yang sama. Jika ada, sisipkan Z di tengahnya
4.      Jika jumlah huruf ganjil,tambahkan huruf Z di akhir

Contoh: plainteks GOOD BROOMS SWEEP CLEAN
→ Tidak ada huruf J, maka langsung tulis pesan dalam pasangan huruf:
GO OD BR OZ OM SZ SW EZ EP CL EA NZ

·         Algoritma enkripsi sebagai berikut:
1.      Jika ada dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf di kanannya (pada kunci yang sudah diperluas)
2.      Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di bawahnya (pada kunci yang sudah diperluas)
3.      Jika dua huruf tidak pada baris yang sama atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang dibentuk dari 3 huruf yang digunakan sampai sejauh ini
Contoh: Kunci (yang sudah diperluas) ditulis kembali sebagai berikut:

S
T
A
N
D
S
E
R
C
H
B
E
K
F
G
I
L
K
M
O
P
Q
U
M
V
W
X
Y
Z
V
S
T
A
N
D


Plainteks (dalam pasangan huruf):
GO OD BR OZ OM SZ SW EZ EP CL EA NZ
Cipherteks:
FP UT EC UW PO DV TV BV CM BG CS DY

·         Algoritma dekripsi kebalikan dari algoritma enkripsi
·         Kunci dapat dipilih dari sebuah kalimat yang mudah diingat, misal
JALAN GANESHA SEPULUH
Buang huruf yang berulang dan huruf J jika ada:
ALNGESHPU
Lalu tambahkan huruf-huruf yang belum ada (kecuali J):
ALNGESHPUBCDFIKMOQRTVWXYZ
Masukkan ke dalam bujursangkar:
A
L
N
G
E
S
H
P
U
B
C
D
F
I
K
M
O
Q
R
T
V
W
X
Y
Z

SUPER ENKRIPSI

·         Menggunakan metode cipher substitusi dengan cipher transposisi
·         Tujuan: memperoleh cipher yang lebih kuat daripada hanya satu cipher saja.
·         Mula-mula enkripsi dengan cipher substitusi sederhana (cipher abjad-tunggal), lalu hasilnya dienkripsi lagi dengan cipher transposisi
Contoh:  Plainteks:  HELLO WORLD
Enkripsi dengan caesar cipher menjadi:
Chiperteks1: KHOOR ZRUOG
Kemudian enkripsi lagi dengan cipher transposisi (k=4):
KHOO
RZRU
OGZZ
Cipherteks akhir adalah:
Cipherteks2: KROHZGORZOUZ
·         Banyak dari algoritma kriptografi modern yang diacu sebagai hasil dari super enkripsi yang menggunakan sejumlah algoritma kriptografi yang secara komparatif lemah.



BAB IV
ALGORITMA KRIPTOGRAFI MODERN

1.      Rangkaian Bit dan Operasinya
Umumnya data diproses dalam bentuk blok-blok bit yang dituliskan dalam sejumlah cara tergantung pada panjang blok.
Misal P : 1 0 0 1 1 1 0 1 0 1  1 0 dibagi menjadi bit yang panjangnya 4 bit menjadi :
1001 1101 0110 alias 9  13  6
Bila panjang rangkaian bit tidak habis dibagi dengan ukuran blok yang ditetapkan, maka blok terakhir ditambahkan dengan bit-bit semu yang disebut PADDING BIT.
Misal : 1 0 0 1 1 1 0 1 0 1  1 0 dibagi dengan blok 5 bit menjadi : 10011 10101 00010
Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). Rangkaian dibagi menjadi blok yang berukuran 4 bit :
0000 = 0          0001    = 1       0010    = 2       0011    = 3
0100    = 4       0101    = 5       0110    = 6       0111    = 7
1000    = 8       1001    = 9       1010    = A      1011    = B
1100    = C      1101    = D      1110    = E      1111    = F
Misal P : 100111010110 dibagi menjadi 1001 1101 0110, dalam notasi HEX menjadi 9 D 6
Operator biner yang sering digunakan dalam cipher yang beroperasi dalam mode bit adalah XOR atau exclusive-OR. Notasi matematis XOR adalah
0          0          =          0
0          1          =          1
1          0          =          1
1          1          =          0
Jika dua rangkaian bit dioperasikan dengan XOR, maka operasinya dilakukan dengan meng-XOR-kan setiap bit yang berkoresponden dari kedua rangkaian bit.
Contoh :

2.      Algoritma Enkripsi dengan XOR Sederhana
Dengan cara meng-XOR-kan Plainteks (P) dengan Kunci (K) sehingga menghasilkan Cipherteks (C)
Karena meng-XOR-kan nilai yang sama dua kali berturut-turut menghasilkan nilai semula, maka dekripsi menggunakan persamaan :
3.      Kategori Cipher Kunci Simetri
Algoritma Kunci Simetri à Pengirim dan penerima memiliki kunci yang sama. Beroperasi dalam mode bit.
a.       Cipher Aliran (Stream Cipher)
Beroperasi pada plainteks/cipherteks dalam bentuk BIT TUNGGAL. Rangkaian bit dienkripsi / didekripsi bit per bit.
b.      Cipher Blok (Block Cipher)
Beroperasi pada plainteks/cipherteks dalam bentuk BLOK BIT. Rangkaian bit dibagi menjadi blok-blok dng ukuran tertentu. dienkripsi / didekripsi blok per blok.
4.      Cipher Aliran
Pada cipher aliran, bit hanya mempunyai dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit : berubah atau tidak berubah.
Dua keadaan tersebut ditentukan oleh ALIRAN-KUNCI (keystream) yang dibangkitkan oleh PEMBANGKIT ALIRAN KUNCI (keystream generator).
Keamanan sistem ini sepenuhnya bergantung pada keystream generator. Jika yang dibangkitkan hanya bit 0,maka cipherteks = plainteks à Tidak berguna
Jika keystream generator mengeluarkan aliran kunci dengan pola 16-bit yang berulang, maka algoritma enkripsinya menjadi sama persis dengan XOR sederhana dengan tingkat keamanan yang rendah.
Jika keystream generator mengeluarkan aliran kunci yang benar-benar acak (truly random), maka algoritma enkripsinya sama dengan one-time pad dengan tingkat keamanan yang sempurna. Dalam hal ini aliran kunci sama panjangnya dengan panjang plainteks sehingga akan didapatkan unbreakable cipher.
Kesimpulan : hanya dengan perhitungan XOR sederhana, KUNCI ACAK yang di-generate SEPANJANG plainteks dan metode enkripsi ONE-TIME PAD, akan didapatkan cipherteks yang sulit dipecahkan.
5.      Pembangkit Aliran-Kunci
·         Pembangkit bit-aliran-kunci dapat membangkitkan bit-aliran-kunci berbasis bit per bit atau dalam bentuk blok-blok bit. Untuk yang terakhir ini, cipher blok dapat digunakan untuk untuk memperoleh cipher aliran.
·         Untuk alasan praktis, pembangkit bit-aliran-kunci diimplementasikan sebagai prosedur algoritmik, sehingga bit-aliran-kunci dapat dibangkitkan secara simultan oleh pengirim dan penerima pesan. 
·         Prosedur algoritmik tersebut menerima masukan sebuah kunci U. Keluaran dari prosedur merupakan fungsi dari U (lihat Gambar 6.2). Pembangkit harus menghasilkan bit-aliran-kunci yang kuat secara kriptografi. 
Gambar 6.2 Cipher aliran dengan pembangkit bit-aliran-kunci yang bergantung pada kunci U.
·         Karena pengirim dan penerima harus menghasilkan bit-aliran-kunci yang sama , maka keduanya harus memiliki kunci U yang sama. Kunci U ini harus dijaga kerahasiaanya.  
·         Cipher aliran menggunakan kunci U  yang  relatif pendek untuk membangkitkan bit-aliran-kunci yang panjang.
Contoh: Misalkan U adalah kunci empat-bit yang dipilih sembarang, kecuali 0000. Bit-aliran-kunci yang dibangkitkan akan berulang setiap 15 bit. Misalkan
                        U = 1111
                              Barisan bit-bit aliran-kunci diperoleh dengan meng-XOR-kan bit pertama dengan bit terakhir dari empat bit sebelumnya, sehingga menghasilkan:
                                    111101011001000
dan akan berulang setiap 15 bit.
Secara umum, jika panjang kunci U adalah n bit, maka bit-aliran-kunci tidak akan berulang sampai 2n – 1 bit.
·         Karena U adalah besaran yang konstan, maka bit-aliran-kunci yang dihasilkan pada setiap lelaran tidak berubah jika bergantung hanya pada U.
·         Ini berarti pembangkit bit-aliran-kunci tidak boleh mulai dengan kondisi awal yang sama supaya tidak menghasilkan kembali bit-aliran-kunci yang sama pada setiap lelaran.
Oleh karena itu, beberapa pembangkit bit-aliran-kunci menggunakan besaran vektor inisialisasi atau umpan (seed), disimbolkan dengan Z, agar diperoleh kondisi awal yang berbeda pada setiap lelaran (lihat Gambar 6.3).
           
Gambar 6.3 Cipher aliran dengan pembangkit bit-aliran-kunci yang bergantung pada kunci U dan umpan Z.
·         Dengan demikian, bit-aliran-kunci K dapat dinyatakan sebagai hasil dari fungsi g dengan parameter kunci U dan masukan umpan Z:
K = gK(Z)
sehingga proses enkripsi dan dekripsi didefinisikan sebagai
C  = P Å K = P Å gK(Z)

P  = C Å K = C Å gK(Z)
·         Nilai Z yang berbeda-beda pada setiap lelaran menghasilkan bit-aliran-kunci yang berbeda pula.
·         Merancang pembangkit bit-aliran-kunci yang bagus cukup sulit karena membutuhkan pengujian statistik untuk menjamin bahwa keluaran dari pembangkit tersebut sangat mendekati barisan acak yang sebenarnya. 
6.      Serangan Terhadap Cipher Aliran
Serangan yang dapat dilakukan oleh kriptanalis terhadap cipher aliran adalah:
1.      Known-plaintext attack
Misalkan kriptanalis memiliki potongan plainteks (P) dan cipherteks (C) yang berkoresponden, maka ia dapat menemukan bagian bit-aliran-kunci (K) yang berkoresponden dengan meng-XOR-kan bit-bit plainteks dan cipherteks:
P Å C = P Å (P Å K)  = (P Å P) Å K = 0 Å K = K  
2.      Ciphertext-only attack
Misalkan kriptanalis memiliki dua potongan cipherteks berbeda (C1 dan C2) yang dienkripsi dengan bit-aliran-kunci yang sama. Ia meng-XOR-kan kedua cipherteks tersebut dan memperoleh dua buah plainteks yang ter-XOR satu sama lain:
 C1 Å C2 = (P1 Å K ) Å (P2 Å K)
                       =  (P1 Å P2 ) Å (K  Å K)
     =  (P1 Å P2 ) Å 0
          = (P1 Å P2 )
P1 dan P2 dapat diperoleh dengan mudah. Selanjutnya, XOR-kan salah satu plainteks dengan cipherteksnya untuk memperoleh bit-aliran-kunci K yang berkoresponden:
P1 Å C1 = P1 Å (P1 Å K) = K
Pesan dari dua serangan di atas adalah: pengguna cipher aliran harus mempunyai bit-aliran-kunci yang tidak dapat diprediksi sehingga mengetahui sebagian dari bit-aliran-kunci tidak memungkinkan kriptanalis dapat mendeduksi bagian sisanya. 
7.      Cipher Blok
Rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama, biasanya 64-bit atau lebih.
Kemudian setiap blok di-enkripsi dengan bit-bit kunci yang panjangnya sama dengan panjang bit dalam blok plainteks.
Algoritma cipher blok menggabungkan beberapa teknik kriptografi klasik dalam proses enkripsi sehingga dapat menjadi super-enkripsi.
a.      Substitusi
Menggantikan satu atau sekumpulan bit pada blok plainteks tanpa merubah urutannya.
b.      Transposisi atau permutasi
Memindahkan atau menggeser posisi bit pada blok plainteks berdasarkan aturan tertentu.
c.       Ekspansi
Memperbanyak jumlah bit pada blok plainteks berdasarkan aturan tertentu. Misal 32-bit menjadi 48-bit.
d.      Kompresi
Kebalikan dari ekspansi, jumlah bit pada blok plainteks dimampatkan berdasarkan aturan tertentu.
            Tahun 1949, Shannon mengemukakan dua prinsip (properties) penyandian (encoding) data dalam makalahnya yang berjudul Communication Theory of Secrecy Systems.  Kedua prinsip tersebut digunakan dalam perancangan cipher blok yang kuat.
1.      Confusion
Menyembunyikan hubungan apapun antara plainteks, cipherteks dan kunci. Hal ini akan membuat kriptanalis frustasi untuk mencari pola-pola yang muncul pada cipherteks. Confusion akan membuat hubungan statistik plainteks, cipherteks dan kunci menjadi rumit.
2.      Diffusion
Menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak mungkin cipherteks sehingga perubahan pada cipherteks tidak dapat diprediksi.
Untuk mendapatkan keamanan yang tinggi, prinsip confusion dan diffusion diulang berkali-kali pada tiap-tiap blok enkripsi dengan kombinasi yang berbeda.
8.      Electronic Code Book (ECB)
Setiap blok plainteks Pi dienkripsi secara individual dan independen menjadi blok cipherteks Ci. Secara matematis, enkripsi dengan mode ECB dinyatakan sebagai Ci = Ek(Pi) dan dekripsi sebagai Pi = Dk(Ci), yang dalam hal ini, Pi dan Ci masing masing block plainteks dan cipherteks ke- I Skema enkripsi.
Gambar. 2 .2 Electronic Code Book (ECB)

9.      Cipher Block Chaining (CBC)
Mode ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya diumpan balikkan ke dalam enkripsi blok yang current. Secara matematis, enkripsi dengan mode CBC dinyatakan sebagai Ci = Ek(P1 = Cií1) dan dekripsi sebagai Pi = Dk(Ci) = Ci-1 Yang dalam hal ini, C0 = IV ( initialization vector ). IV dapat diberikan oleh pengguna atau dibangkitkan secara acak oleh program. gambar enkripsi dengan mode CBC dapat dilihat pada Gambar 2.3 .
Gambar 2.3 Enkripsi dengan Mode CBC

10.  Cipher Feedback (CFB)
Jika mode CBC yang diterapkan pada aplikasi komunikasi data, maka enkripsi tidak dapat dilakukan bila blok plainteks yang diterima belum lengkap. Misalnya bila pengiriman data dilakukan setiap kali karakter di-enter dari terminal komputer ke host.
Pada mode CFB, data dienkripsikan dalam unit yang lebih kecil daripada ukuran blok, misalnya dienkripsikan satu karakter setiap kalinya (ini disebut CFB 8-bit). Unit yang dienkripsikan dapat berupa bit per bit (jadi seperti cipher aliran), 2 bit, dan seterusnya. Secara umum, CFB n-bit mengenkripsi plainteks sebanyak n bit setiap kalinya, yang mana n ≤ ukuran blok. Dengan kata lain, CFB mengenkripsikan cipher blok seperti pada cipher aliran.
Mode CFB membutuhkan sebuah antrian (queue) yang berukuran sama dengan ukuran blok masukan.
Tinjau mode CFB 8-bit yang bekerja pada blok cipher berukuran 64-bit (setara dengan 8 byte). Algoritma enkripsi dengan mode CFB adalah sbb (lihat Gambar 1):
1. Antrian diisi dengan IV (initialiazation vector) seperti pada mode CBC.
2. Enkripsikan antrian dengan kunci K. Delapan bit paling kiri dari hasil enkripsi berlaku sebagai keystream yang kemudian di-XOR-kan dengan karakter 8-bit dari plainteks menjadi karakter 8-bit pertama dari cipherteks. Karakter cipherteks ini dikirim (pada aplikasi komunikasi data) atau disimpan (pada aplikasi penyimpanan data). Salinan (copy) dari karakter cipherteks ini juga dimasukkan ke dalam antrian (menempati 8 posisi bit paling kanan antrian), dan semua bit bit-bit
lainnya di antrian digeser ke kiri menggantikan 8 bit pertama yang sudah digunakan.
3. Karakter plainteks berikutnya dienkripsikan dengan cara yang sama seperti pada langkah ke 2.
4. Dekripsi dilakukan sebagai kebalikan dari proses enkripsi.
Gambar 1 Mode CFB 8-bit
-          Secara formal, mode CFB dapat dinyatakan sebagai:
Proses Enkripsi: Ci = Pi MSBm(Ek (Xi))
Xi+1 = LSBm n(Xi) || Ci
Proses Dekripsi: Pi = Ci MSBm(Ek (Xi))
Xi+1 = LSBm n(Xi) || Ci

yang dalam hal ini,
Xi = isi antrian dengan X1adalah IV
E = fungsi enkripsi dengan algoritma cipher blok.
K = kunci
m = panjang blok enkripsi
n = panjang unit enkripsi
|| = operator penyambungan (concatenation)
MSB = Most Significant Byte
LSB = Least Significant Byte


-          Seperti pada mode CBC, mode CFB juga menggunakan skema umpan-balik dengan mengaitkan blok plainteks bersama-sama dengan blok cipherteks sebelumnya (Gambar 2).

Gambar 2. Skema umpan-balik yang diterapkan pada mode CFB
Dari Gambar 2 dapat dilihat bahwa:
Ci = Pi Ek (Ci – 1 )
Pi = Ci Ek (Ci – 1 )






Barudak IF.A

 
Free HTML Blog 4u