You are on page 1of 57

Kriptografi

Pengantar Teknologi Informasi


Definisi
 Kriptografi adalah :
ilmu yang mempelajari teknik-teknik
matematika yang berhubungan dengan aspek
keamanan informasi seperti kerahasiaan data,
keabsahan data, integritas data serta autentikasi
data

Pengantar Teknologi Informasi 1


Aspek Keamanan Informasi
1. Kerahasiaan
layanan yang digunakan untuk menjaga isi informasi dari siapapun
kecuali yang memiliki otoritas atau kunci rahasia untuk
membuka/mengupas informasi yang telah disandi.
2. Integritas data
berhubungan dengan penjagaan dari perubahan data secara tidak sah,
sistem harus memiliki kemampuan untuk mendeteksi manipulasi
data oleh pihak-pihak yang tidak berhak (seperti penyisipan,
penghapusan, dan pensubsitusian data lain kedalam data yang
sebenarnya)
3. Autentikasi
berhubungan dengan identifikasi/pengenalan, baik secara kesatuan
sistem maupun informasi itu sendiri. Dua pihak yang saling
berkomunikasi harus saling memperkenalkan diri. Informasi yang
dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya,
waktu pengiriman, dan lain-lain.
4. Non-repudiasi atau nirpenyangkalan
usaha untuk mencegah terjadinya penyangkalan terhadap
pengiriman/terciptanya suatu informasi oleh yang
mengirimkan/membuat.
Pengantar Teknologi Informasi 2
Kriptografi
 Kriptografi adalah ;
Ilmu yang mempelajari seluk beluk enkripsi dan
deskripsi
 Kriptoanalis adalah :
Orang yang berusaha memecahkan kode
enkripsi tanpa kuncinya

Pengantar Teknologi Informasi 3


Komponen Kriptografi
 Plain text
Sumber berita/pesan/teks asli
 Cipher text
Teks yang sudah diproses (diacak, digantikan)
 Algoritma & kunci
 Misal: subsitusi (algoritma) & number of shift
(kunci)
 Pemisahan alg & kunci ditemukan oleh Auguste
Kerckhoffs von Niewenhof (1883)

Pengantar Teknologi Informasi 4


Enkripsi
 Enkripsi adalah :
Proses yang mengubah data menjadi kode yang tidak
dimengerti (tidak terbaca)
 Enkripsi digunakan untuk menyandikan data-data
atau informasi sehingga tidak dapat dibaca oleh
orang yang tidak berhak
 Enkripsi menggunakan algoritma untuk
mengubah data atau pesan asli (plain text)
menjadi bentuk yang terenkripsi (cipher text)
 Deskripsi adalah :
Proses untuk mengubah cipher text menjadi plain text

Pengantar Teknologi Informasi 5


Outline
 Algoritma sandi
Algoritama sandi kunci simetris
 Block-Cipher
 Stream-Cipher
 Algoritma-algoritma sandi kunci simetris
Algoritma Sandi Kunci Asimetris
 Fungsi Enkripsi dan Dekripsi Algoritma Sandi Kunci
Asimetris
 Algoritma-algoritma sandi kunci asimetris
 Fungsi Hash Kriptografis
Sifat-sifat fungsi Hash kriptografi
Algoritma-algoritma fungsi hash kriptografi

Pengantar Teknologi Informasi 6


i goritma Sandi
 Algoritma sandi adalah
algoritma yang berfungsi untuk melakukan tujuan
kriptografis
 Algoritma tersebut harus memiliki kekuatan
untuk melakukan :
konfusi/pembingungan (confusion), dari teks terang sehingga
sulit untuk direkonstruksikan secara langsung tanpa
menggunakan algoritma dekripsinya
difusi/peleburan (difusion), dari teks terang sehingga
karakteristik dari teks terang tersebut hilang
 Kriptanalisa adalah :
teknik dan metode untuk menguji kehandalan algoritma
sandi

Pengantar Teknologi Informasi 7


Klasifikasi Algoritma Sandi
 Berdasarkan kesamaan kuncinya :
 Kunci-simetris (symetric key), sering disebut juga
algoritma sandi konvensional karena umumnya
diterapkan pada algoritma sandi klasik
 Kunci-asimetris (asymetric key)
 Berdasarkan arah implementasi dan pembabakan
jamannya :
 Algoritma sandi klasik (classic cryptography)
 Algoritma sandi modern (modern cryptography)
 Berdasarkan kerahasiaan kuncinya :
 Algoritma sandi kunci rahasia (secret key)
 Algoritma sandi kunci publik (public key)

Pengantar Teknologi Informasi 8


Kunci Simetris
 Pada skema kunci-simetris, digunakan sebuah
kunci rahasia yang sama untuk melakukan proses
enkripsi dan dekripsinya
 Skema ini berdasarkan jumlah data per proses dan
alur pengolahan data didalamnya dibedakan
menjadi dua kelas, yaitu
 block-cipher
 stream-cipher

Pengantar Teknologi Informasi 9


Kripto Kunci Privat
(secret key, symmetric cryptosystem)

Pengantar Teknologi Informasi 10


Kripto Kunci Privat
 Menggunakan satu kunci
 Masalah dalam distribusi kunci
 Pengiriman kunci membutuhkan saluran khusus
 Jumlah kunci meledak secara eksponensial:
n (n-1)/2
 Keuntungan: operasi yang cepat
 Contoh: DES, IDEA, AES

Pengantar Teknologi Informasi 11


þe edaknya Jum ah Kunci

Pengantar Teknologi Informasi 12


Block-Cipher
 Block-cipher adalah
skema algoritma sandi yang akan membagi-bagi teks terang
yang akan dikirimkan dengan ukuran tertentu (disebut blok)
dengan panjang t, dan setiap blok dienkripsi dengan
menggunakan kunci yang sama.
 Block-cipher memproses teks terang dengan blok yang relatif
panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-
pola serangan yang ada untuk membongkar kunci.
 Untuk menambah kehandalan model algoritma sandi ini,
dikembangkan beberapa tipe proses enkripsi
 Electronic Code Block (ECB)
 Cipher Block Chaining (CBC)
 Output Feed Back (OFB)
 Cipher Feed Back (CFB)

Pengantar Teknologi Informasi 13


Stream-Chiper
 Stream-cipher adalah
Algoritma sandi yang mengenkripsi data
persatuan data, seperti bit, byte, nible atau per
lima bit (saat data yang di enkripsi berupa data
Boudout).
 Setiap mengenkripsi satu satuan data di
gunakan kunci yang merupakan hasil
pembangkitan dari kunci sebelum

Pengantar Teknologi Informasi 14


Algoritma-algoritma Sandi Kunci Simetris

 Data Encryption Standard (DES)


 Blowfish
 Twofish
 MARS
 IDEA
 DES diaplikasikan 3 kali (3DES)
 Advanced Encryption Standard (AES), yang
bernama asli - 

Pengantar Teknologi Informasi 15


Kunci Asimetris
 Sistem kunci-asimentris digunakan sepasang kunci yang
berbeda, umumnya disebut kunci publik(public key) dan
kunci pribadi (private key), digunakan untuk proses
enkripsi dan proses dekripsinya.
 Bila elemen teks terang dienkripsi dengan menggunakan
kunci pribadi maka elemen teks sandi yang dihasilkannya
hanya bisa didekripsikan dengan menggunakan pasangan
kunci pribadinya.
 Begitu juga sebaliknya, jika kunci publik digunakan untuk
proses enkripsi maka proses dekripsi harus menggunakan
kunci publik pasangannya.

Pengantar Teknologi Informasi 16


Kripto Kunci Publik

Pengantar Teknologi Informasi 17


Kripto Kunci Publik
 Menggunakan kunci yang berbeda untuk
enkripsi dan dekripsi
 Jumlah kunci yang lebih sedikit
dibandingkan enkripsi dengan kunci privat
 Membutuhkan komputasi yang tinggi
(membutuhkan waktu yang lebih lama)
 Contoh: RSA, ECC

Pengantar Teknologi Informasi 18


Algoritma Kriptografi
 Algoritma Modern
 Algoritma Klasik

Pengantar Teknologi Informasi 19


Algoritma Modern
 Beroperasi dalam mode bit (algoritma
kriptografi klasik beroperasi dalam mode
karakter)
kunci, plainteks, cipher teks, diproses
dalam rangkaian bit
operasi bit ïor paling banyak digunakan

Pengantar Teknologi Informasi 20


 Tetap menggunakan gagasan pada algoritma
klasik : substitusi dan transposisi, tetapi lebih
rumit (sangat sulit dipecahkan)

 Perkembangan algoritma kriptografi modern


didorong oleh penggunaan komputer digital
untuk keamanan pesan.

 Komputer digital merepresentasikan data dalam


biner.

Pengantar Teknologi Informasi 21


Diagram Blok Kriptografi Modern
Secure Network Protocols

Data Non-
Confidentiality Authentication
Integrity Repudiation

MACs Challenge Smart Digital


Encryption
MICs Responses Cards Signatures

Symmetric Key Message Secret Public Key


IVs Nonces
Cryptography Digest Keys Cryptography

Block Stream Hash Pseudo Random Elliptic DH


Cipher Cipher Function Random Source Curve RSA

Pengantar Teknologi Informasi 22


Rangkaian bit
 Pesan (dalam bentuk rangkaian bit) dipecah
menjadi beberapa blok
 Contoh :
Plain teks Ê ÊÊÊ Ê ÊÊ
Bila dibagi menjadi blok 4-bit
Ê Ê ÊÊ Ê ÊÊ
 Ê 
setiap blok dinyatakan sampai Ê

Pengantar Teknologi Informasi 23


Bila plain teks dibagi menjadi blok 3-bit:
Ê ÊÊÊ Ê ÊÊ
   
setiap blok dinyatakan sampai 

Pengantar Teknologi Informasi 24


  
:
bit-bit tambahan jika ukuran blok terakhir tidak
mencukupi panjang blok
 Contoh :
Plain teks Ê ÊÊÊ Ê ÊÊ
Bila dibagi menjadi blok 5-bit:
Ê ÊÊÊ Ê Ê±±±Ê
  
mengakibatkan ukuran
plainteks hasil dekripsi lebih besar daripada
ukuran plainteks semula.

Pengantar Teknologi Informasi 25


Representasi dalam Heksadesimal
 Pada beberapa algoritma kriptografi, pesan
dinyatakan dalam kode Hex:
   Ê Ê Ê   ÊÊ 
Ê   Ê Ê  ÊÊ  ÊÊÊ 
Ê  
Ê ÊÊ  Ê Ê   Ê ÊÊ 
ÊÊ   ÊÊ Ê  ÊÊ Ê  ÊÊÊÊ 
 Contoh :
Plain teks Ê ÊÊÊ Ê ÊÊ dibagi menjadi blok 4-bit:
Ê ÊÊÊ Ê ÊÊ
dalam notasi HEX adalah


Pengantar Teknologi Informasi 26


Operasi XOR
 Notasi:  
 Operasi:
0 0=0
0 1=1
1 0=1
1 1=0
 Operasi XOR = penjumlahan modulo 2:
0 0=0 0 + 0 (mod 2) = 0
0 1=1 0 + 1 (mod 2) = 1
1 0=1 0 + 1 (mod 2) = 1
1 1=1 1 + 1 (mod 2) = 0
Pengantar Teknologi Informasi 27
 Hukum-hukum yang terkait dengan
operator XOR:
(i)     = 0
(ii)    =   
 (iii)    (  
) = (   )  

Pengantar Teknologi Informasi 28


Operasi XOR (

2 Jika dua rangkaian dioperasikan dengan ‰ -, maka
operasinya dilakukan dengan meng-‰ --kan setiap bit yang
berkoresponden dari kedua rangkaian bit tersebut.

Contoh: 10011   11001 = 01010


yang dalam hal ini, hasilnya diperoleh sebagai berikut:

1 0 0 1 1
1 1 0 0 1  
1   1 0   1 0   0 1  0 1   1
0 1 0 1 0

Pengantar Teknologi Informasi 29


Algoritma Enkripsi dengan XOR
 Enkripsi: ð =   
 Dekripsi: = ð   
ðontoh: plainteks 01100101 (karakter µe¶)
kunci 00110101   (karakter µ5¶)

cipherteks 01010000 (karakter µ ¶)


kunci 00110101   (karakter µ5¶)

plainteks 01100101 (karakter µe¶)

Pengantar Teknologi Informasi 30


 Algoritma enkripsi ‰ - sederhana pada
prinsipnya sama seperti 

dengan penggunaan kunci yang berulang
secara periodik. Setiap bit plainteks di-
‰ --kan dengan setiap bit kunci.

Pengantar Teknologi Informasi 31


p p
pp
 p
p
 p p p
p
 p
p
 p p
ppp   pp

   p ppp   pp

   p
ppp
 p 
p   p ppp
 p 
p
  p
ppp
 p

p
  p ppp
 p

p   p
 p  p
 
   
 
!"#  !"# 
$ $
%&'(')  %&'(') 
!*+( (,- .)  !*+( (,- .) 
()  () 
 
 /0"10!21(1*1#)   /0"10*21(1*1#) 
 /0" 10*21(131#)   /0"1 0!21(131#) 
 
0*/"1,!!451#)6",#)  0*/"1,!!451#)6",#) 
 *",#)   p p  *",#)   p 
  )    ) 
3""+ 6"##7 8#  3""  6"##7 8# 
$ $
  +9,-.) p
 pp  +  9,-.) p
 pp 
0" (#)  0"+(#) 
::)/" ;Ê#  )  ::)/" ;Ê#  ) 
< <
/"#)  /"#) 
/"#)  /"#) 
< <
 

4=2*     4=2*
Pengantar Teknologi Informasi 32
 Program komersil yang berbasis ÷  atau


  menggunakan algoritma ‰ -
sederhana
 Algoritma ‰ - sederhana tidak aman
karena cipherteksnya mudah dipecahkan.

Pengantar Teknologi Informasi 33


Algoritma Kriptografi Klasik
 Algoritma kriptografi klasik berbasis karakter
 Menggunakan pena dan kertas saja, belum ada komputer
 Termasuk ke dalam kriptografi kunci-simetri
 Tiga alasan mempelajari algoritma klasik:
1. Memahami konsep dasar kriptografi.
2. Dasar algoritma kriptografi modern.
3. Memahami kelemahan sistem
.

Pengantar Teknologi Informasi 34


Algoritma kriptografi klasik
Ê ð  Substitusi (


ð  )
 ð  Transposisi ( 

ð  )

Pengantar Teknologi Informasi 35


ð  Substitusi
 Contoh: ð ð 
 Tiap huruf alfabet digeser 3 huruf ke kanan

 5    > ? % @ , & A B 8 + C D E F G H I J K L
 5 ÷        
          

 Contoh:
Plainteks: I E% EFD%J  B FA BBK 8 &%J
Cipherteks: ÷÷ ÷ ÷  ÷  


Pengantar Teknologi Informasi 36


 Dalam praktek, cipherteks dikelompokkan ke dalam
kelompok n-huruf, misalnya kelompok 4-huruf :
÷÷ ÷  ÷   ÷  
 

 Atau membuang semua spasi:


÷÷÷÷  ÷  


 Tujuannya agar kriptanalisis menjadi lebih sulit

Pengantar Teknologi Informasi 37


ð  
Pengantar Teknologi Informasi 38
 Misalkan i = 0, ( = 1, «,  = 25, maka
secara matematis caesar
 dirumuskan
sebagai berikut:
Enkripsi :

= ( ) = ( + 3) mod 26
Dekripsi :
 = ÷(
) = (
± 3) mod 26

Pengantar Teknologi Informasi 39


 Jika pergeseran huruf sejauh V, maka:
Enkripsi :

= ( ) = ( + V) mod 26
Dekripsi :
 = ÷(
) = (
± V) mod 26
V = kunci rahasia
 Untuk 256 karakter ASCII, maka:
Enkripsi :

= ( ) = ( + V) mod 256
Dekripsi :
 = ÷(
) = (
± V) mod 256
V = kunci rahasia

Pengantar Teknologi Informasi 40


p p
p 
p
 p!
 p
p


!"!*6(!*'!*6M-.#
$
%&'(')
!*0()
4)

 /0"!*6M-Ê.(1*N1#)
/" BG&&#
0*/"1,!!!!!   N4!ON!6!N*4! !4!P1(!*6M-Ê.#)
 /0"!*6M-.(13N1#)
0*/"1Q4*0O R!OQ1(!*6M-Ê.(!*6M-.#)
0*/"1Q1#)
0*/"1451#)
!/"1O1(S4#)
3""0 6"##7 8#
$
 "0:4#O)
0"(#)
<

/"#)
/"#)
<

Pengantar Teknologi Informasi 41


p p
p 
p
 p!
 p
p



!"!*6(!*'!*6M-.#
$
%&'(')
!*0()
((4)

 /0"!*6M-Ê.(1*N1#)
/" BG&&#
0*/"1,!!!!!   N4!ON!6!N*4! !4!P1(!*6M-Ê.#)
 /0"!*6M-.(13N1#)
0*/"1Q4*0O R!OQ1(!*6M-Ê.(!*6M-.#)
0*/"1Q1#)
0*/"1451#)
!/"1O1(S4#)
3"" 6"##7 8#
$
0 "; 4#O)
0"0(#)
<
/"#)
/"#)
<

Pengantar Teknologi Informasi 42


Kelemahan:
ð 
 mudah dipecahkan dengan

V 
karena jumlah
kuncinya sangat sedikit (hanya ada 26
kunci).

Pengantar Teknologi Informasi 43


Contoh: kriptogram JALH?
?abe 1. Contoh 
V 
 terhadap cipherteks JALH?

Kunci (V) µPesan¶ hasil Kunci (V) µPesan¶ hasil Kunci (V) µPesan¶ hasil

  dekripsi
  dekripsi
  dekripsi
0  17   8 
25   16   7 

24 
 15  6  
23   14  5  
22  ÷ 13  4  ÷
21   12   3  
20 ÷  11 
 2 
19 
 10   1 
18 ÷ 9
÷ 

Plainteks yang potensial adalah D A dengan V = 21.


Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.

Pengantar Teknologi Informasi 44


+??I+?%I?GI,?ID@EGI
,K
Ê 66M6M6MR6MT*M!
 ///N6//0NTNU
 › ›   
 &UT6/UUT2
 4*4V*0*/* VV0*3
 W
Ê N N UN0 N32UN6
! !V!!M3V!/
44U46U42U4U 6M62U
*RRV*R/4VR3V RV//3V
T2TR2M224M2

Pengantar Teknologi Informasi 45


Contoh:
Kriptogram   menghasilkan dua
kemungkinan kunci yang potensial, yaitu V =
4 menghasilkan pesan 8&&E dan V = 11
menghasilkan I?&.

Jika kasusnya demikian, maka lakukan


dekripsi terhadap potongan cipherteks lain
tetapi cukup menggunakan V = 4 dan V = 11
agar dapat disimpulkan kunci yang benar.

Pengantar Teknologi Informasi 46


 Di dalam sistem operasi Unix, D8FÊ
adalah fungsi menggunakan ð 

dengan pergeseran V = 13

Pengantar Teknologi Informasi 47


 Contoh: D8FÊ"D8F F#  >B>D
 Nama ³ROT13´ berasal dari 
V
(
 

V ) (tahun 1980)

 ROT13 biasanya digunakan di dalam forum   untuk


menyandikan jawaban teka-teki, kuis, canda, dsb

 Enkripsi arsip dua kali dengan D8FÊ menghasilkan


pesan semula:
+ D8FÊ"D8FÊ"+##
sebab D8FÊ"D8FÊ"## D8F"# 

 Jadi dekripsi cukup dilakukan dengan mengenkripsi


cipherteks kembali dengan D8FÊ

Pengantar Teknologi Informasi 48


Message Digest
 Menghasilkan summary (digest) dari
sebuah pesan (file, stream data)
 Menggunakan hash function untuk
menghasilkan digest tersebut

Pengantar Teknologi Informasi 49


Fungsi Hash (Hash Function)

 Merupakan fungsi satu arah (one way


function) yang dapat menghasilkan ciri
(signature) dari data (berkas, stream)
 Perubahan satu bit saja akan mengubah
keluaran hash secara drastis
 Digunakan untuk menjamin integritas dan
digital signature

Pengantar Teknologi Informasi 50


 Contoh :
MD4, MD5, SHA-1
unix$ md5sum /bin/ ogin
af005c0810eeca2d50f2904d87d9ba1c /bin/login
 Program md5sum untuk windows merupakan bagian dari
ð 
 
yang dapat diperoleh dari :
http://sunsite.bilkent.edu.tr/pub/cygwin/cygwinb20/full.exe

Pengantar Teknologi Informasi 51


Penggunaan Hash : Pengirim

Pengantar Teknologi Informasi 52


Sisi Penerima

Pengantar Teknologi Informasi 53


Contoh Penggunaan Hash
 Hasil hash dienkripsi untuk menjamin keamanannya
(integritas)
 Ukuran hasil hash yang lebih kecil dibandingkan ukuran
pesan asalnya membutuhkan waktu enkripsi yang lebih
singkat (dibandingkan jika mengenkripsi seluruh pesan)

 Digital Signature
 Pesan juga dapat dienkripsi jika diinginkan kerahasiaan

 Contoh aplikasi lain: hash encrypted password

Pengantar Teknologi Informasi 54


Permasalahan Hash
 Karena range (space) dari hasil hash lebih kecil (dalam
jumlah bit) dari sumber informasinya, maka
dimungkinkan adanya ³
 ´ ± yaitu dua data
dipetakan ke hash yang sama
 Ini sudah dibuktikan dengan pecahnya MD5 dan SHA-1
 http://www.schneier.com/blog/archives/2005/02/cryptanalysis_
o.html
 MD5 (1992) merupakan penyempurnaan dari MD4 (1990)
 SHA merupakan buatan NSA (1993) yang mirip dengan MD5
 Meskipun dua data yang dipetakan itu tidak mudah dibuat
dan kadang-kadang

 

Pengantar Teknologi Informasi 55


Masalah Seputar Kripto
 Memastikan keamanan algoritma enkripsi
Algoritma harus dievaluasi oleh pakar
Algoritma yang tertutup (tidak dibuka kepada
publik) dianggap tidak aman
Membuat algoritma yang aman tidak mudah
ðV 
 V akan terus
berlangsung

Pengantar Teknologi Informasi 56

You might also like