Anda di halaman 1dari 17

MODUL KRIPTOGRAFI

(CTI 312)

MODUL 9
CHIPER – SYMETRICS DAN ASYMETRICS

DISUSUN OLEH
IR. NIZIRWAN ANWAR, M.T

UNIVERSITAS ESA UNGGUL


2020

Universitas Esa Unggul


http://esaunggul.ac.id
0 / 17
MODUL 9
ALGORITMA CHIPER –
SYMETRICS DAN ASYMETRICS

Konsep Algoritma Cipher (Review)

Enkripsi (Encryption) Dekripsi (Decryption)

Dokumen Chipertext (Cs)


Dokumen
(teks, gambar, suara) Chipertext (Cs) (teks, gambar, suara)
Plaintext (Ps)
Plaintext (Pr)

Kunci (Ksr) Kunci (Ksr)


Private/ Public Private/ Public

CIPHER SYMETRIC

Gambar Proses Cipher Symetrics

Algoritma cipher simetris (symmetric algorithm) adalah suatu algoritma


dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi
sehingga algoritma ini disebut juga sebagai single-key algorithm.
Kelebihan :
kriptografi simetri dirancang sehingga proses enkripsi/dekripsi
memiliki waktu yang singkat (real-time)
ukuran kunci simetri relatif pendek. kriptografi kunci simetri dapat
digunakan untuk membangkitkan bilangan acak.
kriptografi simetri dapat disusun untuk menghasilkan cipher yang
lebih kuat.
Otentikasi pengirim pesan langsung diketahui dari cipherteks
yang diterima, karena kunci hanya diketahui oleh pengirim dan
penerima pesan saja.

Universitas Esa Unggul


http://esaunggul.ac.id
1 / 17
Kelemahan :
Untuk tiap pengiriman pesan dengan pengguna yang berbeda
dibutuhkan kunci yang berbeda juga, sehingga akan terjadi
kesulitan dalam manajemen kunci tersebut.
Permasalahan dalam pengiriman kunci itu sendiri yang disebut
“key distribution problem”
Kunci rahasia harus dikirim melalui saluran yang aman. Kedua
entitas yang berkomunikasi harus menjaga kerahasiaan kunci ini.
Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.

Contoh algoritma simetris antara lain; Cipher Permutasi, Cipher Substitusi,


Cipher Hill, OTP, RC6, Twofish, Magenta, Rijndael (AES), Blowfish, A5,
RC4, GOST, Kasumi, DES dan IDEA.

Gambar Logo DES

Universitas Esa Unggul


http://esaunggul.ac.id
2 / 17
Gambar Logo IDEA

Gambar Logo AES

Enkripsi (Encryption) Dekripsi (Decryption)

Dokumen Chipertext (Cs)


Dokumen
(teks, gambar, suara) Chipertext (Cs) (teks, gambar, suara)
Plaintext (Ps)
Plaintext (Pr)

Kunci (Ksr) Kunci (Ksr)


Public / Private Private/ Public

CIPHER A-SYMETRIC

Gambar Proses Cipher Asymetrics

Algoritma cipher asimetris (asymmetric algorithm) pada umumnya


disebut dengan algoritma kunci rahasia atau sandi kunci rahasia. Algoritma
asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci
enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma
ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat
(private key). Kunci publik disebarkan secara umum sedangkan kunci privat
disimpan secara rahasia oleh end-user.
Kelebihan :
Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap
entitas yang berkomunikasi (tetapi, otentikasi kunci publik tetap

Universitas Esa Unggul


http://esaunggul.ac.id
3 / 17
harus terjamin). Tidak ada kebutuhan mengirim kunci privat
sebagaimana pada system simetri.
Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan
dalam periode waktu yang panjang.
Dapat digunakan untuk mengamankan pengiriman kunci simetri.
Beberapa algoritma kriptografi kunci publik dapat digunakan untuk
memberi tanda tangan digital pada pesan.
manajemen kunci yang lebih baik karena jumlah kunci yang lebih
sedikit
Kelemahan :
Kecepatan yang lebih rendah bila dibandingkan dengan
algoritma simetris
Enkripsi dan dekripsi data pada umumnya lebih lambat daripada
sistem simetri, karena enkripsi dan dekripsi menggunakan
bilangan yang besar dan melibatkan operasi perpangkatan yang
besar.
Ukuran cipherteks lebih besar daripada plainteks (bisa dua
hingga empat kali ukuran plainteks).
Ukuran kunci relatif lebih besar daripad ukuran kunci simetri,
karena kunci publik diketahui secara luas dan dapat digunakan
setiap orang, maka cipherteks tidak memberikan informasi
mengenai otentikasi pengirim.
Tidak ada algoritma kunci public yang terbukti aman (sama
seperti block cipher). Kebanyakan algoritma mendasarkan
keamanannya pada sulitnya memecahkan persoalanpersoalan
aritmetik (pemfaktoran, logaritmik, dan lain-lain) yang menjadi
dasar pembangkitan kunci. Kriptografi kunci publik juga tidak
aman dari serangan man-in-the middle attack. Orang di “tengah”
meng-intersepsi komunikasi lalu berpura-pura sebagai salah satu
pihak yang berkomunikasi untuk mengetahui informasi rahasia.
Untuk tingkat keamanan sama, kunci yang digunakan
lebih panjang dibandingkan dengan algoritma simetris.

Universitas Esa Unggul


http://esaunggul.ac.id
4 / 17
Contoh algoritma asimetris antara lain RSA, DSA, ElGamal, Diffie-Hellman,
dan Elliptic Curve

Gambar Logo RSA

Gambar Logo DSA

Operasi Logika Bit

Dalam kriptografi modern mempunyai karakteristik dalam memproses data


dalam bentuk blok-blok rangkaian bit dipecahkan menjadi blok-blok boit
yang diinterpretasikan dengan pendekatan cara bergantung pada panjang
blok. Sebagai contoh bila plainteks 1100110111101111 bila dibagi menjadi

8-bit per blok

11001101 11101111 BINER


205 239 DESIMAL
CD EF HEKSADESIMAL

Universitas Esa Unggul


http://esaunggul.ac.id
5 / 17
4-bit per blok

1100 1101 1110 1111 BINER


12 13 14 15 DESIMAL
C D E F HEKSADESIMAL

3-bit per blok

110 011 011 110 111 1 BINER


6 3 3 6 7 1 DESIMAL

110 011 011 110 111 001 BINER


6 3 3 6 7 1 DESIMAL

Enkripsi Operator Logika XOR

Misalkan a, b, c dan d adalah peubah Boolean dengan menggunakan logika


XOR,
Tabel Logika XOR 4-Peubah

A B A⊕ B
0 0 00
0 1 01
1 0 10
1 1 11

Tabel Logika XOR 3-Peubah

A B C A⊕ B⊕ C
0 0 0 000
0 0 1 001
0 1 0 010
0 1 1 011
1 0 0 100
1 0 1 101
1 1 0 110
1 1 1 111

Universitas Esa Unggul


http://esaunggul.ac.id
6 / 17
Tabel Logika XOR 4-Peubah

A B C D A⊕ B⊕ C⊕ D
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0

Hukum-hukum yang terkait dengan operator XOR;

A⊕A=0 Identitas
A⊕B=B⊕A Komutatif
A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C Asosiatif

Algoritma enkripsi dengan XOR secara sederhana plainteks (P) dengan


kunci (K) akan menghasilkan ciphertext (C),

C=P⊕K

apabila ciphertext (C) di-XOR-kan dengan kunci (K) yang sama saat
enkripsi, maka akan dihasilkan

P=C⊕K

Universitas Esa Unggul


http://esaunggul.ac.id
7 / 17
Catatan tabel ASCII (www.theasciicode.com.ar)

Contoh 1, proses enkripsi pada plainteks berkode ASCII


C=P⊕K
ASCII BINER
PLAINTEKS 164 P 10100100 1 0 1 0 0 1 0 0

KUNCI 78 K 01001110 0 1 0 0 1 1 1 0

= =

CIPHERTEKS 206 C 11001110 1 1 1 0 1 0 1 0

Untuk mengembalikan pesan kembali (data integrity), kita perlu melakukan


proses dekripsi,
P=C⊕K

Universitas Esa Unggul


http://esaunggul.ac.id
8 / 17
ASCII BINER
CIPHERTEKS 206 C 11001110 1 1 1 0 1 0 1 0

KUNCI 78 K 01001110 0 1 0 0 1 1 1 0

= =

PLAINTEKS 164 P 10100100 1 0 1 0 0 1 0 0

Contoh 2, proses enkripsi pada plainteks berkode ASCII


C=P⊕K
ASCII BINER
PLAINTEKS 168 P 10101000 1 0 1 0 1 0 0 0

KUNCI 84 K 01010100 0 1 0 1 0 1 0 0

= =

CIPHERTEKS 212 C 11010100 1 1 1 1 1 1 0 0

Proses cipherteks,

ASCII BINER
CIPHERTEKS 212 C 11010100 1 1 1 1 1 1 0 0

KUNCI 84 K 01010100 0 1 0 1 0 1 0 0

= =

PLAINTEKS 168 P 10101000 1 0 1 0 1 0 0 0

Algoritma Kriptografi Simetrik

Algoritma Kriptografi simetrik beroperasi dalam mode bit dapat


dikelompokan menjadi dua kategori, yaitu :

Universitas Esa Unggul


http://esaunggul.ac.id
9 / 17
Stream Cipher (Cipher Aliran)

Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit


tunggal, yag dalam hal ini rangkaian rangkaian bit dienkripsikan /
dideskripsikan bit per bit. Stream Chiper atau Stream Encryption
merupakan suatu teknik enkripsi data dengan cara melakukan transformasi
dari tiap bit secara terpisah berdasarkan posisi tiap bit dalam aliran data
yang biasanya dikendalikan menggunakan operasi XOR. Enkripsi aliran
data merupakan hasil dari operasi XOR setiap bit plainteks dengan setiap
bit kuncinya. Pada stream chiper bila terjadi kesalahan selama transisi
maka kesalahan pada teks enkripsi penerima akan terjadi tepat ditempat
kesalahan tersebut terjadi. Dalam praktek pertimbangan kesalahan yang
mungkin terjadi sangatlah penting untuk penentuan teknik enkripsi yang
akan digunakan. Kebanyakan stream cipher menggunakan pembangkit
bilangan acak untuk menghasilkan keystream. Pembangkit bilangan acak
terdapat pada dua sisi, sisi pengirim dan sisi penerima. Dalam hal ini, chaos
dapat digunakan untuk membangkitkan keystream, selanjutnya kesytream
ini digunakan untuk me-“mask” plainteks. Kriptografl stream cipher
mencoba menggunakan konsep ini tetapi dengan keystream yang
mempunyai periode dan menggunakan generator yang relatif pendek
berupa kunci. Baik enkripsi OTP maupun stream cipher mendapatkan
naskah acak dari exclusive or (XOR) naskah asli dengan keystream, jadi
keduanya merupakan apa yang dinamakan Vernam cipher (modul 2) 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 dengan menggunakan kunci enkripsi.

Universitas Esa Unggul


http://esaunggul.ac.id
10 / 17
Satu stream cipher menghasilkan apa yang disebut suatu keystream (suatu
barisan bit yang digunakan sebagai kunci). Proses enkripsi dicapai dengan
menggabungkan keystream dengan plaintext biasanya dengan operasi
bitwise XOR. Pembentukan keystream dapat dibuat independen terhadap
plaintext dan ciphertext, menghasilkan apa disebut dengan synchronous
stream cipher, atau dapat dibuat tergantung pada data dan enkripsinya,
dalam hal mana stream cipher disebut sebagai self-synchronizing.
Kebanyakan bentuk stream cipher adalah synchronous stream ciphers.
Sebagaimana dijelaskan oleh Schneier (1996), salah satu
dari dua prinsip Shannon yang dijadikan panduan dalam perancangan
algoritma kriptografi adalah difusi (diffusion), yaitu menyebar pengaruh 1 bit
(atau digit) data (plainteks atau kunci) ke seluruh bit cipherteks dengan
maksud untuk menyembunyikan hubungan statistik antara plainteks dan
cipherteks. Prinsip difusi ini relevan dengan properti chaos di atas, sebab
jika nilai awal yang digunakan untuk membangkitkan nilai acak diubah
sedikit, misalnya 1 bit, lalu nilai-nilai acak itu digunakan untuk mengenkripsi
plainteks, maka cipherteks yang dihasilkan akan berbeda secara signifikan.
Sifat peka menjamin bahwa jika pihak lawan mencoba mendekripsi data
dengan kondisi awal berbeda dan mencari pola hubungan plainteks dan
cipherteks, cara itu akan gagal (Roskin, 1999). Pada dasarnya, terdapat
dua cara umum untuk merancang algoritma kriptografi dengan chaos (Li,
2003):
Menggunakan chaos untuk membangkitkan barisan kunci
bilangan acak, yang digunakan untuk me-“mask” plainteks. Cara
ini berhubungan erat dengan stream cipher
Menggunakan plainteks dan/atau kunci rahasia sebagai kondisi
awal dan/atau parameter kendali, dengan mengiterasikan sistem
chaos sejumlah kali untuk memperoleh cipherteks. Cara ini
berhubungan erat dengan block cipher.
Kebanyakan stream cipher menggunakan pembangkit bilangan acak untuk
menghasilkan keystream. Pembangkit bilangan acak terdapat pada dua sisi,
sisi pengirim dan sisi penerima. Dalam hal ini, chaos dapat digunakan untuk

Universitas Esa Unggul


http://esaunggul.ac.id
11 / 17
membangkitkan keystream, selanjutnya kesytream ini digunakan untuk me-
“mask” plainteks. Kriptografl stream cipher mencoba menggunakan konsep
ini tetapi dengan keystream yang mempunyai periode dan menggunakan
generator yang relatif pendek berupa kunci. Baik enkripsi OTP maupun
stream cipher mendapatkan naskah acak dari exclusive or (XOR) naskah
asli dengan keystream, jadi keduanya merupakan apa yang dinamakan
Vernam cipher (modul 2) 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 dengan menggunakan kunci enkripsi.

Stream cipher adalah jenis algoritma enkripsi simetri. Stream cipher dapat
dibuat sangat cepat sekali, jauh lebih cepat dibandingkan dengan algoritma
block cipher yang manapun. Algoritma block cipher secara umum
digunakan untuk unit plaintext yang besar sedangkan stream cipher
digunakan untuk blok data yang lebih kecil, biasanya ukuran bit. Proses
enkripsi terhadap plaintext tertentu dengan algoritma block cipher akan
menghasilkan ciphertext yang sama jika kunci yang sama digunakan.
Dengan stream cipher, transformasi dari unit plaintext yang lebih kecil ini
berbeda antara satu dengan lainnya, tergantung pada kapan unit tersebut
ditemukan selama proses enkripsi.
Satu stream cipher menghasilkan apa yang disebut suatu keystream (suatu
barisan bit yang digunakan sebagai kunci). Proses enkripsi dicapai dengan
menggabungkan keystream dengan plaintext biasanya dengan operasi
bitwise XOR. Pembentukan keystream dapat dibuat independen terhadap
plaintext dan ciphertext, menghasilkan apa disebut dengan synchronous
stream cipher, atau dapat dibuat tergantung pada data dan enkripsinya,
dalam hal mana stream cipher disebut sebagai self-synchronizing.
Kebanyakan bentuk stream cipher adalah synchronous stream ciphers.

Universitas Esa Unggul


http://esaunggul.ac.id
12 / 17
Konsentrasi dalam stream ciphers pada umumnya berkaitan dengan sifat
sifat teoritis yang menarik dari one-time pad. Suatu one-time pad, kadang-
kadang disebut Vernam cipher, menggunakan sebuah string dari bit yang
dihasilkan murni secara random. Keystream memiliki panjang sama dengan
pesan plaintext; string random digabungkan dengan menggunakan bitwise
XOR dengan plaintext untuk menghasilkan ciphertext. Karena keystream
seluruhnya adalah random, walaupun dengan sumber daya komputasi tak
terbatas seseorang hanya dapat menduga plaintext jika dia melihat
ciphertext. Metode cipher seperti ini disebut memberikan kerahasiaan yang
sempurna (perfect secrecy). Metode stream cipher yang umum digunakan
adalah RC4. Satu hal yang menarik bahwa mode operasi tertentu dari suatu
block cipher dapat mentransformasikan secara efektif hasil operasi tersebut
ke dalam satu keystream generator dan dalam hal ini, block cipher apa saja
dapat digunakan sebagai suatu stream cipher; seperti dalam DES, CFB
atau OFB. Akan tetapi, stream ciphers dengan desain khusus biasanya jauh
lebih cepat.

Key Stream Key Stream


Generator Generator
Kriptografi Bit Kriptografi Bit
Stream (ki) Stream (ki)

Plaintext (Pi) Plaintext (Pi)


Ciphertext (Ci)

Gambar Konsep Stream Cipher

Cipherteks dapat dihasilkan dengan melakukan penjumlahan modulo 2 satu


bit plainteks dengan satu bit kunci serta dirumuskan secara empiric sebagai
berikut ;

C i = P i + K i mod 2

Universitas Esa Unggul


http://esaunggul.ac.id
13 / 17
dimana
C i = bit cipherteks,
P i = bit plainteks, dan
K I = bit kunci.

Plainteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit


cipherteks dengan satu bit kunci,

P i = C i + K i mod 2

Dari kedua persamaan algoritma simetrik stream cipher, bahwa stream


cipher merupakan pendekatan dari unbreakable cipher yaitu one-time pad
cipher.
Keystream dibangkitkan dari pembangkit generator, dan beropersi dengan
logika XOR dengan stream bit-bit dari plainteks p1, p2 … pi untuk
menghasilkan stream bit cipher.

C i= P i ⊕ K i

dan plainteks,

P i= C i ⊕ K i

Contoh stream cipher (enkripsi dan dekripsi)

ASCII BINER
PLAINTEKS 24 P 00011000 0 0 0 1 1 0 0 0

KEYSTREAM 11 K 00001011 0 0 0 1 0 1 1 0

= =

CIPHERTEKS 22 C 00010110 0 0 0 0 1 1 1 0

Universitas Esa Unggul


http://esaunggul.ac.id
14 / 17
ASCII BINER
CIPHERTEKS 22 C 00010110 0 0 0 0 1 1 1 0

KEYSTREAM 11 K 00001011 0 0 0 1 0 1 1 0

= =

PLAINTEKS 24 P 00011000 0 0 0 1 1 0 0 0

Universitas Esa Unggul


http://esaunggul.ac.id
15 / 17
DAFTAR PUSTAKA

Ferguson, Niels; Schneier, Bruce; Kohno, Tadayoshi (2010). Cryptography


Engineering. p. 71.
A. Menezes, P. van Oorschot, and S. Vanstone, Handbook of Applied
Cryptography, CRC Press, New York, 1997, p. 81-83.
J. Nechvatal, et. al., Report on the Development of the Advanced Encryption
Standard (AES), National Institute of Standards and Technology, October
2, 2000, available at AES available http://www.nist.gov/CryptoToolkit.4

Universitas Esa Unggul


http://esaunggul.ac.id
16 / 17

Anda mungkin juga menyukai