KRIPTOGRAFI

 Logo Kampus



Perkuliahan 6 (21 Oktober 2020),

Matakuliah       : Keamanan Sistem Komputer C31040319

Nama Dosen   : Desi Rose Hertina, S.T., M.Kom.

 

  Assalamu’alaikum Warahmatullahi Wabarakatuh, Teman-teman. Kenalkan nih nama saya Lilies Cahyanti NIM 201931272 dari Boyolali, Jawa Tengah. O iya Lilies sekarang di semester 3 ya Temen-temen pada tahun ajaran 2020/2021 ini. Nah Lilies juga ambil Teknik Informatika loh.. hehe

     Lilies berasal dari Boyolali Jawa Tengah. Pada tau daerah Boyolali kan ya? Yupss hehe jadi Boyolali itu dekat Surakarta. Di Boyolali terkenal akan susu sapi, buah papaya, nasi tumpang, dan masih banyak lagi loh. Lilies sekarang baru di Pondok Pesantren Nurush Shobah Boyolali sembari menunggu kuliah offline. Penasaran kan? Yuk main ke Boyolali.. hehe

     Yuk langsung aja kita ke pembahasan inti yang unik ini. Kita bakal membahas tentang Web Browser dan Sistem Web. Wah apa ya kira-kira? Yukk langsung cuss di bawah ini..

 

 

Kriptografi

Apa sih Kriptografi itu?

     Apakah sebenarnya kriptografi itu? Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi mendapatkan kembali data asli. Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter.

     Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan (parameter menjadi ekuivalen dengan kunci).

      Dalam kriptografi klasik, teknik enkripsi yang digunakan adalah enkripsi simetris dimana kunci dekripsi sama dengan kunci enkripsi. Untuk public key cryptography, diperlukan teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena enkripsi asimetris menggunakan bilanganbilangan yang sangat besar. Namun, walaupun enkripsi asimetris lebih “mahal” dibandingkan enkripsi simetris, public key cryptography sangat berguna untuk key management dan digital signature

     Jadi, Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst.

Bagaimana Sejarah dari Kriptografi?

     Kriptografi menurut catatan sejarah telah eksis sejak masa kejayaan Yunani atau kurang lebih sekitar tahun 400 Sebelum Masehi. Alat yang digunakan untuk membuat pesan tersembunyi di Yunani pada waktu itu disebut Scytale. Scytale berbentuk batangan silinder dengan kombinasi 18 huruf.

     Pada masa Romawi, di bawah kekuasaan Julius Caesar, penggunaan kriptografi semakin intens karena pertimbangan stabilitas negara. Meski teknik yang digunakan tak serumit Yunani, namun untuk memahami pesan kriptografi dari masa Romawi terbilang cukup sulit untuk dikerjakan.

     Berdasarkan aspek historis kriptografi di atas, baik kriptografi klasik maupun modern keduanya memiliki kesamaan prinsip yang besar dan tidak dapat disangsikan lagi, yakni tujuan kriptografi adalah keamanan. Itulah layanan yang disediakan kriptografi tanpa peduli dari masa mana kriptografi dibuat.

     Melalui layanan keamanan yang disediakan oleh jenis kriptografi tersebut, berbagai teks penting dapat terjaga kerahasiaannya dan keotentikannya, sehingga antar pihak yang berkorespondensi bisa saling menaruh kepercayaan. Kecuali apabila teknik pembuatan kriptografi bocor ke pihak yang tidak dikehendaki.

Nah, Apasih Tujuan dari Kriptografi?

Kriptografi bertujuan untuk memberikan layanan keamanan informasi (Aspek-aspek Keamanan Informasi), yaitu:

1.      Kerahasiaan (Confidentiality)

Merupakan layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.

2.      Integritas Data (Integrity)

Merupakan layanan yang menjamin bahwa pesan masih utuh/asli atau belum pernah dimanipulasi selama pengiriman.

3.      Otentikasi (Authentication)

Merupakan layanan yang berhubungan dengan identifikasi, hak mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication)

4.      Nir Penyangkalan (non repudiation)

Merupakan layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

Bagaimana Proses dari Kriptografi?

 

     Untuk public key cryptography, diperlukan teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena enkripsi asimetris menggunakan bilanganbilangan yang sangat besar. Namun, walaupun enkripsi asimetris lebih “mahal” dibandingkan enkripsi simetris, public key cryptography sangat berguna untuk key management dan digital signature.

     Secara garis besar, proses enkripsi adalah proses pengacakan “naskah asli” (plaintext) menjadi “naskah acak” (ciphertext) yang “sulit untuk dibaca” oleh seseorang yang tidak mempunyai kunci dekripsi. Yang dimaksud dengan “sulit untuk dibaca” disini adalah probabilitas mendapat kembali naskah asli oleh seseorang yang tidak mempunyai kunci dekripsi dalam waktu yang tidak terlalu lama adalah sangat kecil.

     Jadi suatu proses enkripsi yang baik menghasilkan naskah acak yang memerlukan waktu yang lama (contohnya satu juta tahun)1 untuk didekripsi oleh seseorang yang tidak mempunyai kunci dekripsi. Satu cara untuk mendapatkan kembali naskah asli tentunya dengan menerka kunci dekripsi, jadi proses menerka kunci dekripsi harus menjadi sesuatu yang sulit. Tentunya naskah acak harus dapat didekripsi oleh seseorang yang mempunyai kunci dekripsi untuk mendapatkan kembali naskah asli. Walaupun awalnya kriptografi digunakan untuk merahasiakan naskah teks, kini kriptografi digunakan untuk data apa saja yang berbentuk digital.

Bagaimana Kunci pada Algoritma Kriptografi?

Kriptografi Stream Cipher

     Deretan kunci untuk enkripsi one-time pad dapat dipandang sebagai suatu keystream yang tidak mempunyai periode. Kriptografi stream cipher mencoba menggunakan konsep ini tetapi dengan keystream yang mempunyai periode dan menggunakan generator yang relatif pendek berupa kunci. Baik enkripsi onetime pad maupun stream cipher mendapatkan naskah acak dari exclusive or (XOR) naskah asli dengan keystream, jadi keduanya merupakan apa yang dinamakan Vernam cipher (lihat tabel 6.1) yang ditemukan oleh Gilbert Vernam tahun 1917. Bedanya hanya pada pembuatan keystream:

• Untuk one-time pad, keystream didapat langsung dari key generation (random number generation).

• Untuk stream cipher, keystream didapat dari pseudo-random number generation menggunakan kunci enkripsi.

10010111001011101001. . . naskah asli

01001110001101001101. . . keystream

--------------------------------------------------

11011001000110100100. . . naskah acak

Tabel 6.1: Vernam Cipher

     Berbeda dengan keystream untuk one-time pad yang tidak mempunyai periode, keystream untuk stream cipher mempunyai periode (kecuali jika naskah acak dijadikan feedback), meskipun periode sangat panjang. Ini karena pseudorandom number generator adalah suatu deterministic finite state automaton, jadi karena jumlah state finite dan kunci juga finite, maka setelah seluruh kunci diproses, banyaknya state yang dapat dikunjungi terbatas dan automaton akan kembali ke state yang pernah dikunjungi, dan karena automaton bersifat deterministic, maka siklus akan diulang. Beberapa cara pseudo-random number generation untuk mendapatkan keystream antara lain:

• menggunakan linear feedback shift register (LFSR),

• menggunakan block cipher dalam feedback mode (lihat bagian 7.2), dan

• menggunakan state automaton dalam software (contohnya RC4). Gambar 6.1 memperlihatkan suatu linear feedback shift register (LFSR). 


     Setiap stage i, 0 ≤ i ≤ L − 1 dipisahkan menggunakan delay flip-flop, atau disebut juga latch. Setiap cL − i dimana 0 ≤ i ≤ L − 1 menentukan apakah stage i ditambahkan ke feedback s (modulo 2), jika cL − i mempunyai nilai 1 maka stage i ditambahkan, sedangkan jika cL − i mempunyai nilai 0 maka stage i tidak ditambahkan. Setiap clock cycle, output 1 bit didapat dari stage 0. Untuk membuat pseudo-random number generator, beberapa LFSR biasanya dikombinasikan menggunakan fungsi non-linear. Gambar 6.2 memperlihatkan kombinasi LFSR menggunakan fungsi non-linear f. Beberapa kelemahan stream cipher antara lain:

 • Jika naskah asli dan naskah acak diketahui, maka menggunakan xor kita bisa dapatkan keystream.

 • Stream cipher rentan terhadap tampering. Seseorang yang mengetahui posisi data tertentu dalam naskah acak dan mengetahui nilai data tersebut bisa mengubahnya menggunakan xor.

Contohnya, angka 50 bisa diubah menjadi angka 99 dengan melakukan x (50 99), dimana x merepresentasikan 50 dalam naskah acak. Efek serupa dengan penggunaan kunci secara berulang pada enkripsi one-time pad juga mudah terjadi. Penggunaan stream cipher memang harus dengan sangat hati-hati, oleh sebab itu buku ini tidak merekomendasikan penggunaan stream cipher.


6.1 RC4 
     RC4 adalah stream cipher yang dirancang di RSA Security oleh Ron Rivest tahun 1987. Pada mulanya cara kerja RC4 dirahasiakan oleh RSA Security, akan tetapi ini dibocorkan di internet tahun 1994 di milis Cypherpunks. RSA Security tidak pernah merilis RC4 secara resmi, akibatnya banyak yang menyebutnya sebagai ARC4 (alleged RC4 atau tersangka RC4) untuk menghindari masalah trademark. Berbeda dengan mayoritas stream cipher sebelumnya yang implementasinya dioptimalkan untuk hardware menggunakan linear feedback shift registers, RC4 dirancang agar dapat diimplementasikan di software secara sangat efisien. Ini membuat RC4 sangat populer untuk aplikasi internet, antara lain RC4 digunakan dalam standard TLS (transport layer security) dan WEP (wireless equivalent privacy). 
     Cara membuat keystream dalam RC4 adalah dengan state automaton dan terdiri dari dua tahap: 
1. Tahap key scheduling dimana state automaton diberi nilai awal berdasarkan kunci enkripsi. 
2. Tahap pseudo-random generation dimana state automaton beroperasi dan outputnya menghasilkan keystream. 
    Tahap pertama dilakukan menggunakan key scheduling algorithm (KSA). State yang diberi nilai awal berupa array yang merepresentasikan suatu permutasi dengan 256 elemen, jadi hasil dari algoritma KSA adalah permutasi awal. Array yang mempunyai 256 elemen ini (dengan indeks 0 sampai dengan 255) dinamakan S. 
     Berikut adalah algoritma KSA dalam bentuk pseudo-code dimana key adalah kunci enkripsi dan keylength adalah besar kunci enkripsi dalam bytes (untuk kunci 128 bit, keylength = 16): 
for i = 0 to 255 
     S[i] := i j := 0 
for i = 0 to 255 
   j := (j + S[i] + key[i mod keylength]) mod 256 
  swap(S[i],S[j]) 
   Tahap kedua menggunakan algoritma yang dinamakan pseudo-random generation algorithm (PRGA). Setiap putaran, bagian keystream sebesar 1 byte (dengan nilai antara 0 sampai dengan 255) dioutput oleh PRGA berdasarkan state S. Berikut adalah algoritma PRGA dalam bentuk pseudo-code: 
i := 0 
j := 0 
loop 
     i := (i + 1) mod 256 
     j := (j + S[i]) mod 256 swap(S[i],S[j]) 
   output S[(S[i] + S[j]) mod 256] 
    Permutasi dengan 255 elemen mempunyai 255! kemungkinan. Ditambah dua indeks (i dan j) yang masing-masing dapat mempunyai nilai antara 0 dan 255, maka state automaton yang digunakan untuk membuat keystream mempunyai kemungkinan internal states. 
 255! × 255^2 ≈ 2^1700

     Karena banyaknya jumlah kemungkinan untuk internal state, sukar untuk memecahkan RC4 dengan menganalisa PRGA (teknik paling efisien saat ini harus menjajagi > 2 700 kemungkinan). Karena algoritma KSA relatif sangat sederhana, banyak ahli kriptografi yang fokus pada KSA dalam mencari kelemahan enkripsi RC4. Fokus ini membuahkan hasil dengan ditemukannya beberapa kelemahan KSA yang dapat digunakan untuk memecahkan aplikasi RC4, termasuk memecahkan penggunaan RC4 dalam protokol WEP. 
     Metode pertama yang digunakan untuk memecahkan WEP dikembangkan oleh Fluhrer, Mantin dan Shamir [flu01], kita sebut saja FMS attack. Implementasi pertama FMS attack dilaporkan di [stu01]. Berikut kita bahas enkripsi RC4 dalam WEP dan metode FMS attack yang dapat digunakan untuk memecahkannya. 
    WEP menggunakan gabungan initialization vector (IV) dan kunci rahasia (yang diketahui oleh pengirim dan penerima) untuk mendapatkan kunci RC4 (kunci enkripsi dimulai dengan IV diikuti oleh kunci rahasia). Untuk setiap paket, IV sebesar 3 byte digunakan bersama kunci rahasia untuk mengenkripsi paket. IV dikirim tanpa terenkripsi bersama paket yang dienkripsi, jadi IV dapat diketahui oleh pemecah. Byte pertama dalam paket yang dienkripsi juga selalu diketahui, yaitu byte dengan nilai 0xAA (10101010) di-XOR dengan byte pertama output dari PRGA.
     Stream cipher sebagai teknik enkripsi yang menyerupai enkripsi one-time pad dengan keystream yang dibuat menggunakan kunci enkripsi. Contoh yang dibahas adalah RC4 karena merupakan stream cipher yang banyak digunakan. Sangat mudah untuk menggunakan stream cipher secara tidak aman, contohnya penggunaan RC4 dalam WEP. Oleh sebab itu buku ini tidak merekomendasikan penggunaan stream cipher.

Kriptografi Block Cipher
     Kita melihat bagaimana enkripsi yang bersifat linear (termasuk affine transformation) rentan terhadap analisa statistik. Claude Shannon [sha49], yang dianggap bapak dari teori informasi, dalam paper yang diterbitkannya tahun 1949, menganjurkan dua metode untuk mempersulit analisa statistik: diffusion dan confusion. 
    Analisa statistik kerap berandalkan pengetahuan mengenai struktur statistik dari naskah asli dan “sisa” dari struktur ini dalam naskah acak. Untuk enkripsi sangat sederhana seperti Caesar cipher, “sisa” dari struktur1 ini masih sangat besar, bahkan masih utuh dan terlokalisir, jadi sangat mudah untuk mencari struktur dalam naskah acak. 
    Efek diffusion bertujuan memperlemah “sisa” struktur dengan menyebarnya secara merata ke bagian yang cukup besar dari naskah acak meliputi banyak karakter. Struktur statistik (dalam teori informasi kerap disebut redundancy) masih ada tetapi sudah tersebar. Satu-satunya cara menghilangkan struktur tanpa menghilangkan informasi adalah dengan kompresi. 
    Analisa statistik juga mencari hubungan antara kunci dengan naskah acak. Untuk simple substitution cipher, pengetahuan a priori mengenai statistik naskah asli memperkecil ruang kunci yang perlu diselidiki secara drastis, karena dapat digunakan untuk menghubungkan kunci dengan struktur statistik dari naskah acak. Efek confusion bertujuan untuk menghilangkan atau membuat tidak jelas hubungan antara naskah acak dengan kunci. 
    Block cipher seperti DES/3DES, CAST, IDEA dan AES menggunakan efek diffusion dan confusion untuk mempersulit analisa statistik. Ini dilakukan menggunakan apa yang disebut Feistel network atau substitution permutation network. Walaupun DES sudah dianggap lemah untuk ukuran sekarang, kita akan mulai dengan pembahasan DES karena DES merupakan standard enkripsi pertama yang menggunakan konsep Feistel network dan algoritma DES masih digunakan oleh 3DES yang dianggap masih cukup kuat untuk penggunaan masa kini.

DES 
    DES (Data Encryption Standard) [nis99] pertama dijadikan standard FIPS (Federal Information Processing Standards) oleh NIST (National Institute of Standards and Technology) tahun 1977 untuk digunakan oleh semua instansi pemerintahan Amerika Serikat, dan semua kontraktor dan penyedia jasa untuk pemerintahan Amerika Serikat. DES dirancang oleh tim IBM yang dipimpin Horst Feistel dengan bantuan dari NSA (National Security Agency). 
    DES adalah teknik enkripsi pertama (selain one-time pad) yang tahan terhadap linear cryptanalysis dan differential cryptanalysis. DES menggunakan kunci sebesar 64 bit untuk mengenkripsi blok juga sebesar 64 bit. Akan tetapi karena 8 bit dari kunci digunakan sebagai parity, kunci efektif hanya 56 bit. Gambar 7.1 secara garis besar menunjukkan proses enkripsi DES. Dalam DES, penomoran bit adalah dari kiri kekanan dengan bit 1 menjadi most significant bit, jadi untuk 64 bit, bit 1 mempunyai nilai 263.
    Permutasi menggunakan initial permutation dilakukan terhadap input sebesar 64 bit. Hasil permutasi dibagi menjadi dua blok L0 dan R0, masing-masing sebesar 32 bit, dimana L0 merupakan 32 bit pertama dari hasil permutasi dan R0 merupakan 32 bit sisanya (bit 33 hasil permutasi menjadi bit 1 R0). Sebanyak 16 putaran enkripsi dilakukan menggunakan fungsi cipher f dan setiap putaran menggunakan kunci 48 bit yang berbeda dan dibuat berdasarkan kunci DES. Efeknya adalah setiap blok secara bergantian dienkripsi, masing-masing sebanyak 8 kali. 

 AES 
    AES (Advanced Encryption Standard) [nis01] adalah teknik enkripsi yang dijadikan standard FIPS oleh NIST tahun 2001. AES dimaksudkan akan, secara bertahap, menggantikan DES sebagai standard enkripsi di Amerika Serikat untuk abad ke 21. (DES sebagai standard FIPS telah dicabut, Mei 2005.) AES menjadi standard melalui proses seleksi. 
    Dari beberapa teknik enkripsi yang dicalonkan untuk menjadi AES, yang terpilih adalah enkripsi Rijndael. Teknik enkripsi ini termasuk jenis block cipher seperti halnya dengan DES. Perbedaan utama antara teknik enkripsi AES dan teknik enkripsi DES adalah AES juga menggunakan substitusi (menggunakan S-boxes) secara langsung terhadap naskah, sedangkan substitusi S-box digunakan DES hanya dalam fungsi cipher f yang hasilnya kemudian dioperasikan terhadap naskah menggunakan exclusive or, jadi DES tidak menggunakan substitusi secara langsung terhadap naskah. AES juga menggunakan kunci enkripsi yang lebih besar yaitu 128 bit, 192 bit, atau 256 bit.

    Enkripsi block cipher antara lain DES dan AES. Meskipun dianggap sudah tidak memadai untuk ukuran sekarang, DES dibahas karena merupakan block cipher pertama yang menjadi standard internasional dan merupakan contoh dari enkripsi yang tahan terhadap differential cryptanalysis dan linear cryptanalysis. 
    Mode penggunaan DES juga dibahas, dengan mode CBC (cipher block chaining) sebagai mode yang direkomendasikan, sedangkan CFB dan OFB adalah mode-mode penggunaan DES sebagai building block dari suatu stream cipher. DES juga digunakan sebagai building block untuk 3DES (triple-DES). AES dibahas karena merupakan standard baru yang telah menggantikan DES. Berbeda dengan block cipher lainnya, AES menggunakan transformasi affine (tetapi dalam suatu polynomial field) untuk fungsi S-box.
    Enkripsi block cipher menggunakan fungsi cipher yang agak lemah berulang kali untuk mendapatkan fungsi cipher yang kuat. Setiap putaran menambahkan efek confusion dan diffusion terhadap proses enkripsi. Semakin banyak putaran yang digunakan, semakin besar efek confusion dan diffusion dalam proses enkripsi, selama efek confusion dan diffusion belum “jenuh.” Jadi, agar optimal, jumlah putaran adalah jumlah terkecil yang mengakibatkan efek confusion dan diffusion menjadi “jenuh.”

Bagaimana dengan Algoritma Kriptografi Hibrid?

Sistem Hibrid (Hybrid systems)
Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali. 

Pendistribusian Key
Dalam pendistribusian suatu key dapat dilakukan dengan bermacam cara misalnya download, diberikan secara langsung dsb. Untuk mencegah pemalsuan key oleh pihak ketiga maka diperlukan adanya certificate.

Protokol pernyetujuan key
Atau disebut juga protokol pertukaran key adalah suatu sistem dimana dua pihak bernegosiasi untuk menentukan secret value. Contohnya adalah SSL (secure socket layer).

Integritas data
Untuk meyakinkan kita akan suatu data yang diterima dari pihak ketiga apakah data tersebut bukan data asli atau data yang berbahaya kerna telah dirubah oleh pihak ketiga yang bermaksud tidak baik maka diperlukan adanya proses autentikasi. Autentikasi suatu data/dokuman dapat dilakukan dengan cara mengecek message digest-nya (MD). MD ini dibuat dengan cara memproses data/dokumen tersebut dengansuatu alghoritma tertentu. MD ini disertakan bersama data/dokumen tersebut.

Suatu MD dapat menjadi kuat jika dipergunakan bersama teknik kriptografi lainnya.
MAC (Message Authentication Method) /metode autentikasi data adalah contoh dari MD yang dipergunakan dengan suatu key. Teknik ini menghasilkan suatu nilai/data singkat berdasarkan data input dan key yang dipakai. Secara teori, hanya orang yang mempunyai key yang sama yang dapat membuat MAC yang sama dari suatu data input.

Cara autentikasi yang lain adalah misalnya dengan menggunakan kombinasi MD dan chiper asimetrik dimana MD dienkripsi lagi dengan private key. Hasil enkripsi MD dengan private key ini disebut dengan signature.

Autentikasi
Adalah proses untuk memeriksa kebenaran seseorang. Contohnya adalah penggunaan pasangan userid dan password.

Certificate
Certificate ini dikeluarkan oleh suatu badan yg terpercaya yang disebut dengan CA (certificate authority) seperti VeriSign, RSA dsb untuk seseorang bahwa orang tersebut dapat dipercaya atau diketahui data-datanya oleh CA sehingga dapat diminta pertanggungjawaban jika terjadi satu hal yang tidak diinginkan.
Certificate ini berisi informasi tentang CA, informasi tentang orang tsb dan public key orang tsb dan signature data-data diatas untuk verifikasi.

Proses verifikasi keaslian certificate dilakukan dengan urutan sbb:

  • Menghitung MD isi certificate (kecuali bagian signature-nya)
  • Mendekripsi signature menggunakan CA public key dan menghasilkan MD
  • Membandingkan MD hasil dekripsi dengan MD yang dihitung. Jika cocok maka certificate tersebut valid dan didapatkan public key subject certificate tsb.
Tahapan Kriptografi Hibrid
     Proses kriptografi hybrid yaitu melakukan proses enkripsi pada plainteks terlebih dahulu agar dapat mempertinggi daya tahan terhadap serangan penyerang attacker yang pada umumnya memanfaatkan pola-pola yang ada pada plainteks untuk memecahkan chiperteks menggunakan algoritma simetris. Setelah plainteks menjadi teks terenkripsi kemudian kunci privat algoritma simetris dienkripsi menggunakan.
     Pengenkripsian kunci ini disebut session key yaitu merupakan kunci privat yang terenkripsi yang bersifat tercipta hanya pada saat itu juga one-time only. Kunci yang terenkripsi bersama dengan chiperteks kemudian ditransmisikan kepada penerima. Untuk proses dekripsi, penerima menerima paket tersebut menggunakan pasangan kunci privat algoritma asimetris untuk mendekripsi session key terlebih dahulu. Lalu dengan session key tersebut, kunci privat algoritma simetris dapat dibuka dan penerima dapat mendekripsi chiperteks tersebut menjadi plainteks kembali. Algoritma yang akan digunakan untuk pengamanan data ini adalah algoritma Affine Cipher dan RSA dimana metode ini menggabungkan kelebihan masing-masing algoritma tersebut.

Teknik Dasar Kriptografi

Teknik Dasar Kriptografi Terdapat 5 teknik dasar kriptografi, yaitu :
1. Subtitusi 
2. Blocking 
3. Permutasi 
4. Ekspansi 
5. Pemampatan (Compaction)

Teknik Subtitusi 
Salah satu contoh teknik ini adalah Caesar cipher yang telah dicontohkan diatas. 
● Langkah pertama adalah membuat suatu tabel substitusi. 
● Tabel substitusi dapat dibuat sesuka hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan dekripsi. 
● Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahan ciphertext oleh orang yang tidak berhak.

Tabel Subtitusi 
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-1-2-3-4-5-6-7-8-9-0-.-, B-F-1-K-Q-G-A-T-P-J-6-H-Y-D-2-X-5-M-V-7-C-8-4-I-9-N-R-E-U-3-L-S-W-,-.-O-Z-0 

Tabel substitusi diatas dibuat secara acak 
● Dengan menggunakan tabel tersebut, dari plaintext "5 teknik dasar kriptografi" dihasilkan ciphertext "L 7Q6DP6 KBVBM 6MPX72AMBGP". 
● Dengan menggunakan tabel substitusi yang sama secara dengan arah yang terbalik (reverse), plaintext dapat diperoleh kembali dari ciphertext-nya.

ROT13

○ Pada sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi darinya.

○ Sebagai contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan seterusnya.

○ Secara matematis, hal ini dapat dituliskan sebagai:

C ROT13 = (M)

○ Untuk mengembalikan kembali ke bentuk semulanya dilakukan proses enkripsi ROT13 dua kali. M = ROT13(ROT13(M))

 

Teknik Blocking

Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara independen. Plaintext yang dienkripsikan dengan menggunakan teknik blocking adalah :

Plain text-nya : 5 TEKNIK DASAR KRIPTOGRAFI

Enkripsi-nya : 5KG KR TDRA EAIF KSPI NAT IRO

● 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.

● Ciphertext-nya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya. Jadi ciphertext yang dihasilkan dengan teknik ini adalah "5K G KRTDRAEAIFKSPINAT IRO".

● Plaintext dapat pula ditulis secara horizontal dan ciphertextnya adalah hasil pembacaan secara vertikal.

Teknik 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. Teknik Permutasi Untuk contoh sebelumnya, plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi sebagai berikut :


Teknik 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".


Teknik Pemampatan (Compaction)

● 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 plain text 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.

Alhamdulillah untuk pertemuan kita di tulisan sederhana ini sampai segini dulu ya, Teman-teman. Saya minta maaf bila banyak salah dan semoga bermanfaat untuk kita semua. Sampai jumpa di tulisan selanjutnya…

Wassalamu’alaikum Warahmatullahi Wabarakatuh

 

Sumber:

C:/Users/STT%20PLN/Downloads/Kriptografi.pdf

file:///C:/Users/STT%20PLN/Downloads/Modul_Kriptografi.pdf



1. Proses Pembentukan Kunci
hProses pembentukan kunci internal dapat dilakukan
sebelum atau bersamaan dengan proses enkripsi. Karena
ada 16 putaran, dibutuhkan kunci internal sebanyak 16
buah, yaitu K1, K2, K3, ..., K16. Kunci internal
dibangkitkan dari kunci eksternal yang panjangnya 64
bit atau 8 karakter. Ada dua pilihan untuk pemilihan
kunci eksternal algoritma Triple, yaitu:
Jumlah kunci yang digunakan pada Triple DES adalah 3
buah dengan panjang masing-masing kunci adalah 8
karakter.
Ada 3 kemungkinan pemilihan kunci yang digunakan:
1. K1 ≠ K2 ≠ K3
2. K1 = K3 ≠ K2
3. K1 = K2 = K3
Pemilihan kunci biasanya didasarkan atas metode Triple
DES mana yang akan digunakan:
1. Metode EEE atau EK3( EK2( EK1 (P))).
2. Metode EDE atau EK3( DK2( EK1 (P))).
Untuk metode pertama maka ketiga kemungkinan kunci
dapat digunakan dikarenakan proses yang terjadi adalah
Enkripsi sebanyak 3 kali, meskipun kunci yang paling
aman adalah K1 K2 K3 dikarenakan panjang kunci
adalah 168 bits (setelah mengalami proses permutasi PC-
1) .Untuk metode kedua maka kemungkinan yang dapat
dipakai adalah pilihan pertama dan kedua. Pilihan ketiga,
di mana semua kunci adalah sama, tidak dapat
digunakan karena akan mengubah Triple DES menjadi
DES. Dapat dilihat pada persamaan berikut:
EK3( DK2( EK1 (P))), dengan K1 = K2 = K3,
maka DK2( EK1 (P)) = P,
dan didapat EK3(P)
Pada proses pembentukan kunci internal ini dapat
dilakukan sebelum atau bersamaan dengan proses
enkripsi. Karena ada 16 putaran, dibutuhkan kunci
internal sebanyak 16 buah, yaitu K1, K2, K3, ...,
K16. Kunci internal dibangkitkan dari kunci
eksternal yang panjangnya 64 bit atau 8 karakter.
1. Proses Pembentukan Kunci
Proses pembentukan kunci internal dapat dilakukan
sebelum atau bersamaan dengan proses enkripsi. Karena
ada 16 putaran, dibutuhkan kunci internal sebanyak 16
buah, yaitu K1, K2, K3, ..., K16. Kunci internal
dibangkitkan dari kunci eksternal yang panjangnya 64
bit atau 8 karakter. Ada dua pilihan untuk pemilihan
kunci eksternal algoritma Triple, yaitu:
Jumlah kunci yang digunakan pada Triple DES adalah 3
buah dengan panjang masing-masing kunci adalah 8
karakter.
Ada 3 kemungkinan pemilihan kunci yang digunakan:
1. K1 ≠ K2 ≠ K3
2. K1 = K3 ≠ K2
3. K1 = K2 = K3
Pemilihan kunci biasanya didasarkan atas metode Triple
DES mana yang akan digunakan:
1. Metode EEE atau EK3( EK2( EK1 (P))).
2. Metode EDE atau EK3( DK2( EK1 (P))).
Untuk metode pertama maka ketiga kemungkinan kunci
dapat digunakan dikarenakan proses yang terjadi adalah
Enkripsi sebanyak 3 kali, meskipun kunci yang paling
aman adalah K1 K2 K3 dikarenakan panjang kunci
adalah 168 bits (setelah mengalami proses permutasi PC-
1) .Untuk metode kedua maka kemungkinan yang dapat
dipakai adalah pilihan pertama dan kedua. Pilihan ketiga,
di mana semua kunci adalah sama, tidak dapat
digunakan karena akan mengubah Triple DES menjadi
DES. Dapat dilihat pada persamaan berikut:
EK3( DK2( EK1 (P))), dengan K1 = K2 = K3,
maka DK2( EK1 (P)) = P,
dan didapat EK3(P)
Pada proses pembentukan kunci internal ini dapat
dilakukan sebelum atau bersamaan dengan proses
enkripsi. Karena ada 16 putaran, dibutuhkan kunci
internal sebanyak 16 buah, yaitu K1, K2, K3, ...,
K16. Kunci internal dibangkitkan dari kunci
eksternal yang panjangnya 64 bit atau 8 karakter.

Komentar

Postingan populer dari blog ini

Sistem Keamanan Jaringan Komputer