Pertemuan 5 Cryptography
Pertemuan 5 Cryptography
1. Menjelaskan Pengertian Kriptograffi
Kriptografi
sebagai
"seni
menulis
atau
memecahkan
kode."
Ini
secara historis
akurat
tetapi
tidak
menangkap
luasnya
bidang
ini
atau
fondasi
ilmiahnya saat
ini.
Definisi
tersebut
hanya
berfokus
pada
kode-kode
yang
telah
digunakan selama
berabad-abad
untuk
memungkinkan
komunikasi
rahasia.
Tetapi kriptografi
saat
ini
mencakup
lebih
dari
itu,
berkaitan
dengan
mekanisme
untuk memastikan
integritas,
teknik
untuk
bertukar
kunci
rahasia,
protokol
untuk mengautentikasi
pengguna,
lelang
dan
pemilihan
elektronik,
uang
digital,
dan banyak
lagi.
Definisi
kamus
juga
mengacu
pada
kriptografi
sebagai
seni.
Sampai
akhir abad
ke-20,
kriptografi
memang
sebagian
besar
merupakan
seni.
Membangun kode
yang
baik,
atau
memecahkan
kode
yang
sudah
ada,
bergantung
pada kreativitas
dan
pemahaman
yang
berkembang
tentang
cara
kerja
kode.
Hanya ada
sedikit
teori
yang
dapat
diandalkan
dan,
untuk
waktu
yang
lama,
tidak
ada definisi
yang
berfungsi
tentang
apa
yang
merupakan
kode
yang
baik.
Dimulai pada
1970-an
dan
1980-an,
gambaran
kriptografi
ini
berubah
secara
seluruhnya. Sebuah
teori
yang
kaya
mulai
muncul,
memungkinkan
studi
kriptografi
yang
ketat sebagai
ilmu
dan
disiplin
matematika.
Perbedaan
lain
yang
sangat
penting
antara
kriptografi
klasik
(katakanlah, sebelum
1980-an)
dan
kriptografi
modern
berkaitan
dengan
pengadopsiannya. Secara
historis,
konsumen
utama
kriptografi
adalah
organisasi
militer
dan pemerintah.
Hari
ini,
kriptografi
ada
dimana-mana,
Jika
anda
pernah mengautentikasi
diri
dengan
mengetik
sandi,
membeli
sesuatu
dengan
kartu kredit
melalui
Internet,
atau
mengunduh
pembaruan terverifikasi
untuk
sistem operasi
Anda.
Tidak
diragukan
lagi
Anda
telah menggunakan
kriptografi.
Dan, semakin
banyak,
programmer
dengan
pengalaman
yang
relatif
sedikit
diminta untuk
"mengamankan"
aplikasi
yang
mereka
tulis
dengan
memasukkan mekanisme
kriptografi.
Sistem kriptografi dicirikan oleh tiga mensi independen, yaitu:
a. The type of operations used for transforming plaintext to ciphertext, Semua algoritma
enkripsi
didasarkan
pada
dua
prinsip
umum:
substitusi,
di
mana setiap
elemen
dalam
teks
biasa
(bit,
huruf,
kelompok
bit
atau
huruf)
dipetakan menjadi
elemen
lain,
dan transposisi, di
mana
elemen
dalam
teks
biasa disusun
ulang.
b. The number of keys used, Jika
pengirim
dan
penerima
menggunakan
kunci yang
sama,
sistem
ini
disebut
enkripsi
simetris,
kunci
tunggal,
kunci
rahasia, atau
konvensional.
c. The way in which the plaintext is processed, Sebuah
block
cipher
memproses masukan
satu
blok
elemen
pada
satu
waktu,
menghasilkan
satu
blok
keluaran untuk
setiap
blok
masukan.
A. Cryptanalysis
and
Brute-Force
Attack
Biasanya, tujuan menyerang sistem enkripsi adalah untuk memulihakn kunci yang digunakan daripada hanya untuk memulihkan teks biasa dari satu teks sandi. Ada dua pendekatan umun untuk menyerang skema enkripsi konversilnya:
- Cryptanalysis
Serangan cryptanalysis bergantung pada sifat dari alogritma ditambahmungkin beberapa pengetahuan tentang karakteristik umun dari teks biasa atau bahkan beberapa contoh pasangan teks-teks. Jenis serangan ini memanfaatkan karakteristik algoritma untuk mencoba menyimpulkan teks biasa atau menyimpulkan kunci yang digunakan.
- Brute -force attack
Penyerangan mencoba setiap kunci yang mungkin pada sepotong teks sandi sampai terjemahan yang jelas ke dalam teks biasa diperoleh. Rata-rata, sampai setengah dari semua kunci yang mungkin harus coba untuk mencapai kesuksesan.
Tabel 1. Merangkum berbagai jenis cryptanalytic attacks berdasarkan jumlah informasi yang diketahui oleh kriptanalis. Masalah paling sulit disajikan ketika semua yang tersedia hanyaciphertext saja. Dalam beberapa kasus, bahkan algoritma enkripsi tidak diketahui, tetapi secara umum, kita dapat berasumsi bahwa lawan mengetahui algoritma yang digunakan untuk enkripsi. Satu kemungkinan serangan dibawah ini:
Tabel 2. Jenis Serangan Pada Pesan Terenkripsi
2. Memahami Symmetric Chipers Model
Symmetric
Chiper
Model
atau
skema
enkripsi
asimetris
adalah
algoritma untuk
kriptografi
yang
menggunakan
kunci
kriptografi
yang
sama
untuk
enkripsi teks
biasa
dan
dekripsi
teks
sandi
.
Kunci
mungkin
identik
atau
mungkin
ada transformasi
sederhana
di
antara dua
kunci.
Dalam
praktiknya,
kunci
mewakili rahasia
bersama
antara
dua
pihak
atau
lebih
yang
dapat
digunakan
untuk memelihara
tautan
informasi
pribadi.
Persyaratan
bahwa
kedua
belah
pihak memiliki
akses
ke
kunci
rahasia
adalah
salah
satu
kelemahan
utama
enkripsi kunci
simetris,
dibandingkan
dengan
enkripsi
kunci
publik
(juga
dikenal
sebagai enkripsi
kunci
asimetris).
a. Plaintext : Ini adalah pesan atau data asli yang dapat dipahami yang dimasukkan ke dalam algoritme sebagai input.
b. Encryption algorithm : Algoritme enkripsi melakukan berbagai subsitusi dan transformasi pada teks biasa.
c. Secret key : Kunci rahasia juga dimasukkan ke dalam algoritme enkripsi. Kunci adalah nilai yang tidak bergantung pada teks biasa dan algoritme. Algoritme akan menghasilkan keluaran yang berbeda tergantung pada kunci spesifik yang digunakan pada saat itu. Subsitusi dan transformasi persis yang dilakukan oleh algoritme bergantung pada kunci.
d. Chipertext : Ini adalah pesan acak yang dihasilkan sebagai informasi. itu tergantung pada teks biasa dan kunci rahasia.
e. Decryption algorithm : Pada dasarnya adalah algorithm enkripsi yang berjalan secara terbalik.
a. Kita
membutuhkan
algoritma
enkripsi
yang
kuat.
Paling
tidak,
kita
ingin algoritme
sedemikian
rupa
sehingga
siapapun tidak
akan
dapat
memecahkan ciphertext
atau
mengetahui
kuncinya.
Kondisi
ini
biasanya
dinyatakan
dalam bentuk
yang
lebih
kuat:
Lawan
harus
tidak
dapat
mendekripsi
ciphertext
atau menemukan
kuncinya
terlebih
jika
dia
memiliki
sejumlah
ciphertext
bersama dengan
plaintext
yang
menghasilkan
setiap
ciphertext.
b.Sender dan
receiver harus
mendapatkan
salinan
dari
kunci
dengan
cara
yang aman juga
mesti menyimpan
kunci
tersebut
dengan
aman.
Apabila seseorang mampu menemukan
dan
mengetahui
algoritma kunci
tersebut,
semua informasi/
komunikasi yang
menggunakan
kunci
tersebut mampu
untuk dibaca
Tidak
efektif
untuk
mendekripsi
pesan
berdasarkan
ciphertext
ditambah pengetahuan
tentang
algoritma
enkripsi
/
dekripsi.
Dengan
kata
lain,
kita
tidak perlu
merahasiakan
algoritme;
kita
hanya
perlu
merahasiakan
kuncinya.
Fitur enkripsi
simetris
inilah
yang
membuatnya
layak
untuk
digunakan
secara
luas. Fakta
bahwa
algoritme
tidak
perlu
dirahasiakan.
Mengembangkan
implementasi
chip berbiaya
rendah
dari
algoritma enkripsi
data.
chip
ini
banyak
tersedia
dan
dapat
digabungkan
ke
dalam
sejumlah produk.
Dengan
penggunaan
enkripsi
simetris,
masalah
keamanan
utama adalah
menjaga
kerahasiaan
kunci menghasilkan
pesan
dalam
teks
biasa,
X
= [X1,
X2,
c,
XM].
Unsur
M
dari
X
adalah
huruf
dalam
beberapa
alfabet
terbatas. Secara
tradisional,
alfabet
biasanya
terdiri
dari
26
huruf
kapital.
Saat ini,
alfabet biner
{0,
1}
biasanya
digunakan.
Untuk
enkripsi,
kunci
dalam
bentuk
K
=
[K1,
K2, c,
KJ]
dibuat.
Jika
kunci
dibuat
di
sumber
pesan,
maka
kunci
tersebut
juga
harus diberikan
ke
tujuan
melalui
beberapa
saluran
aman.
Alternatifnya,
pihak
ketiga dapat
membuat
kunci
dan
mengirimkannya
dengan
aman
ke
sumber
dan
tujuan. Dengan
pesan
X
dan
kunci
enkripsi
K
sebagai
input,
algoritma
enkripsi membentuk
ciphertext
Y
=
[Y1,
Y2,
c,
YN].
Y =
E (K,
X)
Notasi
ini
menunjukkan
bahwa Y
dihasilkan
dengan
menggunakan algoritma
enkripsi
E
sebagai
fungsi
dari
teks
biasa
X,
dengan
fungsi
spesifik.
X = D (K,Y)
Suatu yang berlawanan, mengamati Y tetapi tidak memiliki akses ke K atau X, dan dapat mencoba untuk memulihkan X atau K atau juga keduanya X dan K. diasumsikan bahwa lawan mengetahui algoritma (E) dan deskripsi (D). jika lawan hanya tertarik pada pesan khusus ini, maka fokus dari usahanya adalah untuk memulihkan X dengan membuat perkiraan teks biasa X n.
3. Memahami Teknik Substitusi
Teknik
substitusi
adalah
teknik
dimana
huruf-huruf
dalam
teks
biasa
diganti dengan
huruf
lain
atau
dengan
angka
atau
simbol.1
Jika
teks
biasa
dilihat sebagai
urutan
bit,
maka
substitusi
melibatkan
penggantian
pola
bit
teks
biasa dengan
pola
bit
teks
tersandi.
a. Caesar Cipher
Penggunaan sandi substitusi yang paling awal diketahui dan paling sederhana dilakukan oleh julius caesar. Sandi caesar melibatkan penggantian setiap huruf berdiri tiga temapt lebih jauh di bawah alfabet. sebagai contoh.
plain : temui aku setelah pesta toga
chiper : PHHW PH DIWHU WKH WRDJ SDUWB
Perhatikan bahwa alfabet diilitkan sehingga huruf setelah Z adalah A. kita dapat mendefinisikan transformasi dengan mendaftar semua kemungkinan, sebagai berikut:
plain : 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
chiper : 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
Mari kita tetapkan angka yang setara untuk setiap haruf :
Maka
algoritmanya
dapat
diekspresikan
sebagai
berikut.
Untuk
setiap huruf
p
teks
biasa,
gantikan
dengan
huruf
ciphertext
C:
2
C =
E (3,
p)
=
(p +
3)
mod
26
Pergeseran
bisa
berapapun
jumlahnya
sehingga
algoritma
Caesar umumnya
adalah:
C =
E (k,
p)
=
(p +
k)
mod
26
di
mana
k
mengambil
nilai
dalam
rentang
1
hingga
25.
Algoritme
dekripsi sederhana:
p =
D (k,
C)
=
(C - k)
mod
26
Jika
diketahui
bahwa
ciphertext
yang
diberikan
adalah
sandi
Caesar, maka
kriptanalisis
brute
force
mudah
dilakukan:
coba
saja
semua
25
kunci yang
mungkin.
Gambar
3
menunjukkan
hasil penerapan
strategi
ini
pada contoh
ciphertext.
Dalam
kasus
ini,
teks
biasa
muncul
sebagai
menempati baris
ketiga.
Tiga
karakteristik
penting
dari
masalah
ini
memungkinkan
kami
untuk menggunakan
kriptanalisis
brute
force:
1) Algoritma
enkripsi
dan
dekripsi
diketahui.
2) Hanya
ada
25
kunci
untuk
dicoba.
3) Bahasa
teks
biasa
dikenal
dan
mudah
dikenali.
Gambar 8. Brute-Force Cryptanalysis Of Caesar Chiper
b. Monoalphabethic Chiphers
Dengan
hanya
25
kemungkinan
kunci,
sandi
Caesar
jauh
dari
aman. Peningkatan
dramatis
dalam
ruang
kunci
dapat
dicapai
dengan
mengizinkan penggantian
yang
sewenang-wenang.
Sebelum
melanjutkan,
kami mendefinisikan
istilah
permutasi.
Permutasi
dari
himpunan
hingga
elemen
S adalah
urutan
terurut
dari
semua
elemen
S,
dengan setiap
elemen
muncul tepat
satu
kali.
Misalnya,
jika
S
=
{a,
b,
c},
ada
enam
permutasi
dari
S:
abc,
acb,
bac,
bca,
cab,
cba
Secara
umum,
terdapat
n!
permutasi
himpunan
n
elemen,
karena elemen
pertama
dapat dipilih
dengan
salah
satu
dari
n
cara,
yang
kedua dengan
n
- 1
cara,
yang
ketiga
dengan
n
- 2
cara,
dan
seterusnya.
Ingat
tugas untuk
sandi
Caesar:
plain:
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
cipher:
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
Sebaliknya,
jika
baris
"sandi"
dapat
berupa
permutasi
apa
pun
dari
26
karakter alfabet,
maka
ada
26!
atau
lebih
besar
dari
4
*
1026
kemungkinan
kunci.
Ini adalah
10
kali
lipat
lebih
besar
dari
ruang
kunci
untuk
DES
dan
tampaknya menghilangkan
teknik
brute
force
untuk
kriptanalisis.
Pendekatan
semacam itu
disebut
sebagai
sandi
substitusi
monoalphabetic,
karena
satu
alfabet
sandi (pemetaan
dari
alfabet
biasa
ke
alfabet
sandi)
digunakan
per
pesan.
Jika
kriptanailisis sifat
dari teks
biasa, maka
analis
dapat
memanfaatkan
keteraturan
bahasa
tersebut. Untuk
melihat
bagaimana
kriptanalisis
dapat
berjalan,
kami
memberikan contoh
parsial
di
sini
yang
diadaptasi
dari
salah
satu
di
[SINK09].
Ciphertext yang
harus
dipecahkan
adalah:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
Sebagai
langkah
pertama,
frekuensi
relatif
huruf
dapat
ditentukan
dan dibandingkan
dengan
distribusi
frekuensi
standar
untuk
bahasa
Inggris.
Gambar 9. Distribusi Frekuensi
Membandingkan
rincian
ini
dengan
Gambar
3 nampaknya
huruf
sandi
P dan
Z
setara
dengan
huruf
biasa
e
dan
t,
tetapi
tidak
pasti
yang
mana.
Huruf S,
U,
O,
M,
dan
H
semuanya
memiliki
frekuensi
yang
relatif
tinggi
dan
mungkin berhubungan
dengan
huruf
biasa
dari
himpunan
{a,
h,
i,
n,
o,
r,
s}.
Huruf-huruf dengan
frekuensi
terendah
(yaitu,
A,
B,
G,
Y,
I,
J)
kemungkinan
besar termasuk
dalam
himpunan
{b,
j,
k,
q,
v,
x,
z}.
alat
yang
ampuh
adalah
dengan
melihat
frekuensi
kombinasi
dua
huruf, yang
dikenal
sebagai
digram.
Tabel
yang
mirip
dengan
Gambar
3
dapat
dibuat untuk
menunjukkan
frekuensi
relatif
dari
digram.
Digram
seperti
itu
yang
paling umum
adalah
th.
Dalam
ciphertext
kami,
diagram
yang
paling
umum
adalah ZW,
yang
muncul
tiga
kali.
Jadi
kita
buat
korespondensi
Z
dengan
t
dan
W dengan
h.
Kemudian,
dengan
hipotesis
sebelumnya,
kita
dapat
menyamakan P
dengan
e.
Gambar 10. Relative Frequency Of Letters
c. Playfair
Cipher
Sandi
enkripsi
banyak
huruf
yang
paling
terkenal
adalah
Playfair,
yang memperlakukan
diagram
dalam
teks
biasa
sebagai
unit
tunggal
dan menerjemahkan
unit-unit
ini
menjadi
diagram
ciphertext. Algoritma Playfair didasarkan
pada
penggunaan
matriks
huruf
5
*
5
yang dibuat
menggunakan
kata
kunci.
Berikut
adalah
contoh
yang
dipecahkan
oleh LordPeterWimseydalamDorothySayers’sHaveHisCarcase.
Tabel 3.
Contoh
Matriks
Huruf
5*5
Dalam
hal
ini,
kata
kuncinya
adalah
monarki.
Matriks
dibuat
dengan mengisi
huruf-huruf
dari
kata
kunci
(minus
duplikat)
dari
kiri
ke
kanan
dan
dari atas
ke
bawah,
dan
kemudian
mengisi
sisa
matriks
dengan
huruf-huruf
yang tersisa
dalam
urutan
abjad.
Huruf
I
dan
J
dihitung
sebagai
satu
huruf.
Plaintext dienkripsi
dua
huruf
sekaligus,
menurut
aturan
berikut:
1) Huruf
teks
biasa
yang
berulang
dalam
pasangan
yang
sama
dipisahkan dengan
huruf
pengisi,
seperti
x,
sehingga
balon
akan
diperlakukan sebagai
ba
lx
lo
on.
2) Dua
huruf
teks
biasa
yang
berada
dalam
baris
matriks
yang
sama
masing-masing
diganti
dengan
huruf
di
sebelah
kanan,
dengan
elemen
pertama baris
secara
melingkar
mengikuti
yang
terakhir.
Misalnya,
ar
dienkripsi sebagai
RM.
3) Dua
huruf
teks
biasa
yang
berada
di
kolom
yang
sama
masing-masing diganti
dengan
huruf
di
bawahnya,
dengan
elemen
teratas
kolom
secara melingkar
mengikuti
yang
terakhir.
Misalnya,
mu
dienkripsi
sebagai
CM
.
4) Jika
tidak,
setiap
huruf
teks
biasa
berpasangan
diganti
dengan
huruf
yang ada
di
barisnya
sendiri
dan
kolom
yang
ditempati
oleh
huruf
teks
biasa lainnya.
Jadi,
hs
menjadi
BP
dan
ea
menjadi
IM
(atau
JM,
sesuai keinginan
pembuat
enkrip).
Komentar
Posting Komentar