Perkuliahan6 (Kamis, 23 Oktober 2020)

 


  1. Perkuliahan6 (23 Oktober 2020),
  2. Matakuliah: Keamanan Sistem Komputer C31040319

Kriptografi

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

Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Pada prinsipnya, Kriptografi memiliki 4 komponen utama yaitu:

·       Plaintext, yaitu pesan yang dapat dibaca

·       Ciphertext, yaitu pesan acak yang tidka dapat dibaca

·       Key, yaitu kunci untuk melakukan teknik kriptografi

·       Algorithm, yaitu metode untuk melakukan enkrispi dan dekripsi

Ada empat tujuan dari ilmu kriptografi, yaitu :

·       Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami.

·       Data integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain).

·       Authentication   (keotentikan)   yaitu   layanan   yang   berhubungan   dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi.

·       Non-repudiasi, yang berarti begitu pesan terkirim, maka tidak akan dapat dibatalkan.

Kemudian, proses yang akan dibahas dalam artikel ini meliputi 2 proses dasar pada Kriptografi yaitu:

·       Enkripsi (Encryption)

·       Dekripsi (Decryption)

Dengan key yang digunakan sama untuk kedua proses diatas. Penggunakan key yang sama untuk kedua proses enkripsi dan dekripsi ini disebut juga dengan Secret Key, Shared Key atau Symetric Key Cryptosystems.Berikut adalah ilustrasi 4 komponen dan 2 proses yang digunakan dalam teknik kriptografi.

Enkripsi

Proses utama dalam suatu algoritma kriptografi adalah enkripsi dan dekripsi. Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Pada metode ECB (Elekctronic Codebook), sebuah blok pada plaintext dienkripsi ke dalam sebuah blok ciphertext dengan panjang blok yang sama.

Blok cipher memiliki sifat bhahwa setiap blok harus memiliki panjang yang sama (misalnya 128 bit). Namun apabila pesan yang dienkripsi memiliki panjang blok terakhir tidak tepat 128 bit, maka diperlukan mekanisme padding, yaitu penambahan bit-bit dummies untuk menggenapi menjadi panjang blok yang sesuai; biasanya padding dilakukan pada blok terakhir plaintext.

Padding bada blok terakhir bisa dilakukan dengan berbagai macam cara, misalnya dengan penambahan bit-bit tertentu. Salah satu contoh penerapan padding dengan cara menambahkan jumlah total padding sebagai byte terakhir pada blok terakhir plaintext. Misalnya panjang blok adalah 128 bit (16 byte) dan pada blok terakhir terdiri dari 88 bit (11 byte) sehingga jumlah padding yang diperlukan adalah 5 byte, yaitu dengan menambahkan angka nol sebanyak 4 byte, kemudian menambahkan angka 5 sebanyak satu byte. Cara lain dapat juga menggunakan penambahan karakter end-of-file pada byte terakhir lalu diberi padding setelahnya.

Berikut adalah contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan mengganti masing-masing huruf dengan 3 huruf selanjutnya (disebut juga Additive/Substitution Cipher):

Plaintext Ciphertext

rumah         xasgn

motor         suzux

kompor         qusvux

dst…

Dekripsi

Dekripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algortima 'pembalik' dan key yang sama. Untuk menghilangkan padding yang diberikan pada saat proses enkripsi, dilakukan berdasarkan informasi jumlah padding yaitu angka pada byte terakhir. Contoh:

Ciphertext Plaintext

xasgn         rumah

suzux         motor

qusvux        kompor

dst

 

 

 

 

 

Contoh Kriptografi Substitution :

UTRTGZ UTRTGZ FTLT ETEN

LTTM DNMXKFXGNGZ LXGWN

IHFHUN INFHUNTB TLUNBZPR RHSIBRB

AHR ALYAUSHR

AHR AIYOUPUKHYRHU

KHU ZLSHSB TIUNLTIHSPRHU PUNHAHURB RLWHKHTB

TLTIBHARB NLTLAHY

TLTIBHARB ILYNLAHY

HSSHO

HRB PUNPU TLUNLTIHSPRHU RLZHKHYHURB

HRB PUNPU TLULAHWRHU ABQPHURB

IHODH

OHUFH RHB FHUN RBABQB

OHUFH RHB WLUFLSHTHARB

YVIIHUH HHAPUH MPKKBUFH ROHZHUHA DHMPS HROUPHAP OHZHUHAHD DHXPUUH

HKGHIHUUHHY

RHBSHO KBUPH KHU HROPYHARB

Kriptografi Substitution di atas asalnya dari :

Bayang-bayang masa lalu

saat kutermenung sendu

baying-bayangmu mengusik kalbuku

tak tertolak

tak terhindarkan

dan selalu mengembalikan ingatanku kepadamu

membuatku gemetar

membuatku bergetar

Allah…

aku ingin mengembalikan kesadaranku

aku ingin menetapkan tujuanku

bahwa

hanya Kau yang kutuju

hanya Kau penyelamatku

robbana aatina fiddunya khasanat wafil akhoirati hasanataw waqinna

adzabannaar

Kaulah dunia dan akhiratku

Untuk contoh Kriptografi Substitution ini memakai metode Caesar Cipher dengan geser 7 huruf.

Berikut tabel Caesar Cipher geser 7 huruf :

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

T

U

V

W

X

Y

Z

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

1.1.3 Teknik Kriptografi

Pada umumnya terdapat dua teknik yang digunakan dalam kriptografi, yakni: kunci simetrik dan kunci asimetrik (public-key).

a.      Kunci Simetrik

Skema enkripsi akan disebut symmetric-key apabila pasangan kunci untuk proses enkripsi dan dekripsinya sama. Pada skema enkripsi kunci simetrik dibedakan lagi menjadi dua kelas, yaitu block-cipher dan stream-cipher.

Block-cipher adalah skema enkripsi yang akan membagi-bagi plaintext yang akan dikirimkan menjadi sting-string (disebut blok) dengan panjang t, dan mengenkripsinya per-blok. Pada umumnya block-cipher memproses plaintext dengan blok yang relatif panjang lebih dari 64 bit dengan tujuan untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Sedangkan skema stream cipher pada dasarnya juga block-cipher, hanya dengan panjang bloknya adalah satu bit.

·       Kelebihan Algoritma Simetris

Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik, karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time.

·       Kelemahan Algoritma Simetris

Untuk setiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kuncu yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut, biasa disebut key distribution problem.

b.     Kunci Asimetrik

Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi Public-key karena kunci untuk enkripsi dibuat secara umum (public-key) atau dapat diketahui oleh siapa saja, tetapi untuk proses dekripsinya yang dibuat satu saja, yakini hanya oleh yang berwenang untuk mendekripsinya (disebut private-key),.

Kelebihan Algoritma Asimetris :

·       Masalah keamanan pada distribusi kunci dapat lebih baik

·       Masalah manajemen kunci lebih baik karena jumlah kunci yang lebih sedikit.

Kelemahan Algoritma Asimetris :

·       Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris.

·       Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.

 

c.      Kriptografi Block Cipher

Block cipher merupakan sebuah fungsi yang memetakan n-bit blok plaintext ke n-bit blok ciphertext, dengan n adalah panjang blok. Blok cipher umumnya memproses plaintext ke dalam blok-blok yang cukup besar ( 64).

d.     Cipher Berulang

Pada teknik cipher berulang (iterated cipher), blok plaintext mengalami pengulangan fungsi transformasi beberapa kali untuk mendapatkan blok ciphertext. Fungsi transformasi pada umumnya merupakan gabungan proses subtitusi, permutasi, kompresi, atau ekspansi terhadap blok plaintext. Sebuah kunci pada setiap putaran akan dikombinasikan dengan plaintext. Parameter dalam cipher ini adalah jumlah putaran r, besar blok n dan besar kunci k. Sub-kunci Ki pada setiap putaran diperoleh dari penurunan kunci input K.

e.      Feistel Cipher

Feistel cipher beroperasi terhadap panjang blok data tetap sepanjang n (genap), kemudian membagi 2 blok tersebut dengan panjang masing-masing n/2, yang dinotasikan dengan L dan R. Feistel cipher menerapkan metode cipher berulang dengan masukan pada putaran ke-I yang didapat dari keluaran sebelumnya, yang secara matematis dapat dinyatakan sebagai berikut :

Li=Ri-1

Ri=Li-1 f(Ri-1,Ki); i=1,2,3,…,r

Ki adalah kunci untuk putaran ke-i dan f adalah fungsi transformasi.

Blok plaintext adalah gabungan L dan R awal atau secara formal plaintext dinyatakan dengan (Lo, Ro). Sedangkan blok ciphertext didapatkan dari L dan R hasil putaran terakhir setelah terlebih dahulu dipertukarkan atau dinyatakan dengan (Rr, Lr).

f.      Avalanche

Pada blok cipher perubahan satu buah bit dapat menghasilkan perubahan lebih dari satu bit setelah satu putaran, lebih banyak lagi bit berubah untuk putaran berikutnya. Hasil perubahan tersebut dinamakan sebagai avalanche effect. Sebuah algoritma kriptografi memenuhi kriteria avalanche effect apabila satu buah bit input mengalami perubahan, maka probabilitas semua bit berubah adalah setengahnya.

Avalanche effect merupakan salah satu karakteristik yang menjadi acuan untuk menentukan baik atau tidaknya sebuah algoritma kriptografi.

Metode Operasi

Ada beberapa metode operasi yang digunakan dalam kriptografi, seperti :

a.      Electronic codebook (ECB)

Pada metode ini blok-blok plaintext (x) yang identik (yang menggunakan kunci sama) akan menghasilkan ciphertext (c) yang identik pula, yang secara matematis dapat dinyatakan :

Enkripsi : cj EK(xj); 1 j t

Dekripsi : xj EK-1(cj); 1 j t

 

 

b.     Cipher block chaining (CBC)

Pada prosesnya, koded ini melibatkan penggunaan initializing vector (IV) yang menyebabkan blok-blok ciphertext yang identik apabila dienkripsi menggunakan kunci dan IV yang sama. Berubahnya IV, kunci atau blok plaintext pertama akan menghasilkan ciphertext yang berbeda. Secara matematis dapat dinyatakan :

Enkripsi : co IV, untuk 1 j t, cj EK(cj-1 xj)

c.      Cipher feedback (CFB)

Jika pada metode CBC, plaintext sebesar n bit diproses dalam sekali waktu (menggunakan sebuah n bit cipher blok), beberapa aplikasi mengharuskan r bit plaintext untuk dienkripsi terlebih dahulu dan ditransmisikan bebas delay, untuk r < n (biasanya r = 1 atau r = 8); dalam kasus ini CBF digunakan. Dalam metode ini juga melibatkan penggunaan initializing vector (IV).

d.     Output feedback (OFB)

metode operasi ini digunakan apabila kesalahan propagasi sama sekali harus dihindari. Hampir mirip dengan CFB, dan juga memungkinkan enkripsi menggunakan besar blok yang berfariasi.

Kunci Lemah dan Kunci Setengah Lemah

Dalam kriptografi dikenal istilah kunci lemah (weak-key) dan kunci setengah lemah (semi weak-key). Kunci lemah adalah kunci yang apabila mengenkripsi suatu plaintext kemudian dienkripsi lagi menggunakna kunci yang sama, maka ciphertextnya adalah plaintext itu sendiri. Sedangkan yang disebut dengan kunci setengah lemah adalah sepasang kunci yang memiliki sifat jika sebuah plaintext dienkripsi dengan suatu kunci, akan dapat dienkripsi dengan kunci yang lain.


1.Blocking

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

P : 5 Teknik Dasar Kriptografi


2. Transposisi

Cipertext diperoleh dengan mengubah posisi huruf didalam plainteks 
- Dengan kata lain, algoritma ini melakukan transpose terhadadap huruf didalam plaintext
-Nam alain utnuk metode ini adalah permutasi

3. Super-enkripsi

- Menggabungkan ciper subtitusi dengan cipher transposisi



Teknik Dasar Kriptografi Terbagi 5 Jenis, yaitu :

1. Substitusi
2. Blocking
3. Permutasi
4. Ekspansi
5. Pemampatan

1. SUBSTITUSI

Dalam kriptografi, sandi substitusi adalah jenis metode enkripsi dimana setiap satuan pada teks terang digantikan oleh teks tersandi dengan sistem yang teratur. Metode penyandian substitusi telah dipakai dari zaman dulu (kriptografi klasik) hingga kini (kriptografi modern),

Langkah pertama adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan decrypt.  Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahan ciphertext oleh orang yang tidak berhak.

Metode ini dilakukan dengan mengganti setiap huruf dari teks asli dengan huruf lain sebagai huruf sandi yang telah didefinisikan sebelumnya oleh algoritma kunci.

Contoh:

Metode Penyandian Substitusi Sederhana

  • Caesar Cipher

2. BLOCKING

Sistem enkripsi ini terkadang membagi plaintext menjadi beberapa blok yang terdiri dari beberapa karakter, kemudian di enkripsikan secara independen.
Caranya :
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.

Contoh :



3. 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.
Caranya
Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang sama.

Plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi, sebagai berikut :



Dengan menggunakan aturan diatas, maka proses enkripsi dengan permutasi dari plaintext adalah sebagai berikut :





4. 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”. Jika suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran “i”.

Contoh :



5. PEMAMPATAN

Mengurangi panjang pesan atau jumlah bloknya dengan 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 menggunakan “  * “.

Contoh :



 


Komentar

Postingan populer dari blog ini

Tugas Kemanan Sistem Komputer Perkuliahan 1