KRIPTOGRAFI
STEGANOGRAFI
KOMUNIKASI DATA
KOMPUTER GRAFIK
PENGOLAHAN CITRA DIGITAL
JARAK EUCLIDEAN UNTUK POLA
PENGENALAN POLA WAJAH
3.1. KRIPTOGRAFI
Kriptografi adalah seni untuk mempelajari teknik2 encoding
dan decoding dari pesan rahasia. Pesan-pesan yang belum di
kodekan disebut plainteks, dan pesan-pesan yang telah
dikodekan disebut chiperteks.
Proses konversi dari plainteks menjadi chiperteks disebut
encoding dan sebaliknya disebut decoding
N = 14
O = 15
P = 16
Q = 17
R = 18
S = 19
T = 20
U = 21
V = 22
W = 23
X = 24
Y = 25
Z = 26
Contoh:
Seseorang ingin mengirim pesan rahasia kepada temannya
dengan menggunakan teknik perkalian matriks sistem
poligrafi.
Misalkan matriks :
C=B*A
N = 13
O = 12
P = 11
Q = 10
R=9
S=8
T=7
U=6
V=5
W=4
X=3
Y=2
Z=1
12
8
7
9
15
2
1
15
3
1
11
7
9
15
15
10
13
13
5
15
15
15
Matriks C = B * A
C=
240 -169 -258 41 -171 -109 -7 -354
-121 134 159 44 132 -224 58 3
-315 150 225 -120 270 330 60 585
Proses DECODE
Si penerima pesan menerima pesan sederetan angka yang
dikirim oleh temannya seperti deretan angka diatas.
Pesan tersebut dipotong-potong dan dibuat dalam bentuk matrik
yaitu matriks C
C=
240 -169 -258 41 -171 -109 -7 -354
-121 134 159 44 132 -224 58 3
-315 150 225 -120 270 330 60 585
10
13
13
5
15
15
15
TUGAS LATIHAN:
Si Ali menerima pesan dari sahabatnya Udin berupa pesan
rahasia sbb;
-105 24 -101 145 -279 -189 261 57 -97 -32 -21 -278 -11 282
131 -59 -252 -171 -96 27 -234 24 -45 -246 -61 48 -73
Kunci : KOMPUTER
Apakah bunyi pesan yang ditulis oleh Udin ?
Dengan kode huruf dan angka seperti contoh
diatas
3.2. STEGANOGRAFI
Steganografi merupakan seni untuk menyembunyikan pesan
di dalam media digital sedemikian rupa sehingga orang lain
tidak menyadari ada pesan didalam media tersebut.
Dalam bidang keamanan komputer, steganografi digunakan
untuk menyembunyikan data rahasia.
Pada steganografi walaupun enkripsi berhasil dipecahkan
pesan atau rahasia tetap tidak terlihat, pada kriptografi pesan
disembunyikan secara acak sehingga pada kasus2 tertentu
dapat mengundang kecurigaan.
Wadah
penampung
Data rahasia
Stego
PESAN (MESSAGE)
1. Teks
Torang semua bersodara
3. Gambar (image)
2. Audio
4. Video
17
D E F
3 4
5 6
G H I
7
J K L M N O
8 9 10 11 12
P Q R S T U V W X Y Z
16 17 18 19 20 21 22 23 24 25 26
13 14 15
10
8
23
3
24
31
8
18
4
8
46
54
42
21
21
7
20
5
12
3
7
15
26
30
6
30
8
8
2 8
1 6 21
8 9 4
66 5 12
31 8 15
0 8 5
5 4 32
22 50 6
55 7 12
9
9
12
9
16
15
3
8
15
6
21
15
30
50
18
15
36
32
PROPERTI STEGANOGRAFI
1.
2.
3.
4.
c o v e rte x t
h id d e n t e x t
E n c o d in g
( e m b e d d in )
key
c o v e rte x t
s te g o te x t
D e c o d in g
( e x t r a c t io n )
key
h id d e n t e x t
CONTOH
Lupakan asal rumor itu, jaga aga matamu sehat atau
turunkan ubanmu
Covertext:
upakan sal umor tu aga aga atamu ehat tau turunkan
banmu
Hiddentext:
Lari jam satu
Stegotext:
Lupakan asal rumor itu, jaga aga matamu sehat atau
turunkan ubanmu
LSB
23
Encoding:
00110010
10100011
11100010
(pixel berwarna merah berubah sedikit, tidak dapat
dibedakan secara visual dengan citra aslinya)
10101010 00100110
10001001 10100011
METODE LSB
Ukuran
Citra
pixel.
Setiap
Setiap
Kode Hamming
Salah satu metode yang dipakai untuk deteksi kesalahan
(error detecting) dan mengkoreksi data dengan menggunakan
kode Hamming. Kode ini menggunakan matriks dengan data
biner sbb;
1 0 1 0 1 0 1
H= 0 1 1 0 0 1 1
0 0 0 1 1 1 1
Dan
1
0
G=
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
Proses Decode
Misalkan pesan yang diterima adalah w = (w1 w2 w3 w4),
dan wT adalah transpose matriks w
1.Hitung h*wT
2.Jika h*wT = 0, maka tidak terjadi kesalahan data, artinya
w=u
3.Jika h*wT = ki, maka terjadi kesalahan data pada kolom
ke i (ki = kolom ke-i dari matriks H)
Contoh:
Misalkan data yang dikirim u = (1 0 1 1), data ini harus diencode dahulu.
Prosen Encode
v = (u1 u2 u3 u4) * G
1
0
v = (1 0 1 1) 0
0
0
1
0
0
0
0
1
0
v = (1 0 1 1 0 1 0)
Data inilah yang dikirimkan
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
1
H*w =
T
1 0 1 0 1 0 1
0 1 1 0 0 1 1
0 0 0 1 1 1 1
1
0
1
1
0
1
0
0
0
0
H*w =
T
1 0 1 0 1 0 1
0 1 1 0 0 1 1
0 0 0 1 1 1 1
1
0
0
1
0
1
0
1
1
0
atau
x = x + 0y + m
y = 0x + y + n
0 x m
1 y n
Y
A(x,y)
n
A(x,y)
y
m
x
Contoh:
Tentukan posisi dari segitiga ABC yang dibentuk oleh titiktitik: A(20,20), B(100,20) dan C(60,120), jika dilakukan
translasi pada searah sumbu x, sejauh m = 80 dan searah
sumbu y, sejauh n = 70
Jawab:
xa ' xb ' xc ' 1 0
y ' y ' y ' 0 1
b
c
a
20 100 60 80 80 80
20 20 120 70 70 70
90
90
190
TRANSLASI (PERGESERAN)
300
250
200
150
C
100
50
A
0
B
50
100
150
200
250
300
y
b
x=m(x-a) + a
y=n(y-b) + b
atau
x=mx + a ma
y=ny + b - nb
y-b
P(a,b)
x-a
a
0
n
Contoh:
Tentukan posisi dari segitiga ABC yang dibentuk oleh titiktitik A(20,20), B(100,20), C(60,120), jika dilakukan penskalaan
dengan faktor skala : 4 terhadap titik pusat P(0,0)
2
Jawab:
xa ' xb ' xc ' 4 0 20 100 60 80 400 240
y ' y ' y ' 0 2 20 20 120 40 40 240
b
c
a
PENSKALAAN (PERGESERAN)
500
400
300
200
100
0
-100
-200
-300
-400
-500
-500
-400
-300
-200
-100
100
200
300
400
500
Y
A(x,y)
A(x,y)
y
b
P(a,b)
sin( )
Persamaan (3):
r sin( ) r sin( ). cos( ) r cos( ).sin( ) y 'b .......(5)
Persamaan (4):
r cos( ) r cos( ). cos( ) r sin( ).sin( ) x'a .......(7)
sin
cos
x a a cos b sin
y b b cos a sin
sin
cos
x
y
sin
cos
Contoh:
Tentukan posisi dari segitiga ABC yang dibentuk oleh titiktitik A(20,20), B(100,20), C(60,120), jika dilakukan pemutaran
dengan pusat sumbu koordinat dan rotasi putaran 180
berlawanan arah dengan arah jarum jam.
Jawab:
xa ' xb ' xc ' 1 0
y ' y ' y ' 0 1
b
c
a
20 100 60 20 100 60
20 20 120 20 20 120
300
200
100
-100
-200
-300
-300
-200
-100
100
200
300
3.4.4. Shearing
Shearing adalah suatu proses untuk mentransformasikan
obyek dengan cara membebani obyek tersebut pada arah
tertentu.
Misalnya pembentukan huruf italic (miring) dari
sembarang huruf.
Proses shearing dari suatu titik A(x,y) menjadi titik
A(x,y) ke arah sumbu x sebesar m dan sumbu y sebesar
n dinyatakan dalam persamaan:
m = x + my
y = nx + y
n
1
Contoh:
Tentukan posisi dari segitiga ABC yang dibentuk oleh titiktitik A(20,20), B(100,20), C(60,120), jika dilakukan shearing
dengan bobot kearah sumbu x adalah m = 2 dan bobot kearah
sumbu y adalah n = 3 yang pusatnya terletak disumbu pusat
koordinat.
Jawab:
xa ' xb ' xc ' 1 2 20 100 60 60 140 300
y ' y ' y ' 3 1 20 20 120 80 320 300
b
c
a
400
300
200
100
0
-100
-200
-300
-400
-400
-300
-200
-100
100
200
300
400
Contoh:
Tentukan posisi dari segitiga ABC yang dibentuk oleh titiktitik A(10,2), B(10,8), C(3,2), jika dilakukan pencerminan
terhadap sumbu x, sumbu y, dan garis y = x
Jawab:
1. Pencerminan terhadap sumbu x
xa ' xb ' xc ' 1 0 10 10 3 10 10 3
y ' y ' y ' 0 1 2 8 2 2
8
2
b
c
a
b
c
a
10 10 3 10 10 3
2 8 2 2 8 2
b
c
a
10
-5
-10
-15
-15
-10
-5
10
15
x
y
1
0 0 1
1 0 0 1
x
y
1
2. Scalling:
m 0 0
x ' m 0 0
T 0 n 0 y ' 0 n 0
0 0 1
1 0 0 1
x
y
1
0
1 0
0
1
0
4. Shearing:
1 m 0
x ' 1 m 0
T n 1 0 y ' n 1 0
0 0 1
1 0 0 1
x
y
1
0 0 1
1 0 0 1 1
0
0
x
y
1
0
1
0
0
x' 1
0 y ' 0
1 0
1
0
1
0
0
0
0
0
x
y
1
1
0
0
0
x' 0
0 y ' 1
1 0
1
1
0
0
x
y
1
f ( N ,1)
...
...
f (1, M )
f (2, M )
...
f ( N ,2) ...
f (N , M )
f (1,2)
...
...
...
e p ( xi ) log P ( xi )
Entropi:
Energi:
i 1
M N
1
Ej
[ P j ( x, y )]2
M xN
x 1 y 1
Homogeiniti:
Contrast:
Pd (i, j )
i j 1 i j
C (i j ) 2 Pd (i, j )
i
1 N
( xi xi ) 2
N i 1
Jarak Euclidean:
jika diketahui dua buah vektor:
a [a1, a2 , a3 , .........., an ] dan
b [b1 , b2 , b3 , ............, bn ]
Misal sebuah citra x yang akan diuji, citra mana yang paling
mirip dengan citra x, dengan metode Euclidean dapat
ditentukan besarnya jarak antar citra tsb.
Citra yang paling mirip adalah citra yang mempunyai nilai
jarak Euclidean paling kecil.
Contoh:
4 buah citra tekstur sebagai berikut
spot_1
spot_2
spot_3 spot_line
Normalisasi Input
Mencari covariance matriks
Mencari eigen vektor
dan eigen value
Mencari Principle
Component eigenface
STOP
( xi x ) ' ( y i y )
cov( x, y ) i
n 1
1
3
0
2
1
3
4
3
6
3
xi x * xi x
cov( x)
n 1
x=
2
1
3
9
1
5
7
3
4
2
8
5
3
6
2
4
ans =
12.9167
-1.6667
2.5833
-0.7500
%COVARIAN MATRIK
x=[2 1 4 3; 1 5 2 6; 3 7 8 2; 9 3 5 4];
%Langkah 1 (hitung rata2 kolom)
a=mean(x(1:4,1)); b=mean(x(1:4,2)); c=mean(x(1:4,3)); d=mean(x(1:4,4));
%Langkah ke-2 (kurangkan masing2 kolom sampai n dengan masing2
rata2nya)
x1=x(1:4,1)-a; x2=x(1:4,2)-b; x3=x(1:4,3)-c; x4=x(1:4,4)-d;
%Langkah ke-3
m=[x1 x2 x3 x4];
n=m';
%Langkah ke-4 (Covarian matiks)
C1=n*m/3
C2=m*n/3
6
2
Eigenvector
7 1 1 4
1
4
6
3 12
3
2
Eigenvalue
Dimana = 4 adalah eigen value dari matriks A yg
berhubungan dengan eigen vector
1
x
3
2
6
0 1
6
A I
7
6
1
2
1
2
(7 ) (2 ) 6 2 9 20
( 4) ( 5) 0
1 4
2 5
(A - I )x = 0
7
6
1 x1
0
2 x2
2
6
1 x1
0
3 x2
2 x1 x 2 0
6 x1 3 x2 0
atau x2 2 x1
1
xs
2
0 1 3
2
3 3
2 1 1
f ( N ,1)
I1 = citra ke-1
I2 = citra ke-2
dst.
f (1,2)
...
...
...
...
...
f ( N ,2) ...
f (1, N )
f (2, N )
...
f (N , N )
2
15 xn ....
....
....
15
15
i 1
...................
Diperoleh vektor : ...
...
...................
...................
...
15 15
15
( xi x ) ' ( y i y )
cov( x, y ) i
n 1
15
')
(
i i
A1 cov( ) i 1
n 1
dan
matriks 15 x15
15
' )
(
i i
A2 cov( ) i 1
n 1
matriks N 2 xN 2
1, 2 , 3 , .................., 15
Hitung eigenvektor untuk masing2 nilai , diurutkan dimulai
dari nilai yang terbesar sampai yang terkecil
A1 i I U i
...
U1 ...
...
...
u1
15
u2
1
2
u2
...
U 2 ...
...
...
u2
15
..................
u15
1
15
u2
...
U15 ...
...
...
u15
15
...
V1 ...
...
...
v1
N2
v2
1
2
v2
...
V2 ...
...
...
v2
N2
..................
v15
1
15
v2
...
V15 ...
...
...
v15
N2
dimana
15
Wi vi
i 1
wi j vi
...
1 ...
...
...
w1
15
dimana
15
Wi vi
i 1
wi vi
w
1
w2
...
...
...
...
w
15
5). Jika d<T, maka citra wajah dikenali sebagai wajah ke-k
dari sekumpulan training diatas
Dimana T = Threshold (didapat dari hasil percobaan)
av_3 = mean2(I3);
ent_3 = entropy(I3);
std_3 = std2(I3);
C3=[std_3, av_3, ent_3]'
av_4 = mean2(I4);
ent_4 = entropy(I4);
std_4 = std2(I4);
C4=[std_4, av_4, ent_4]'
% MENCARI CITRA YANG PALING MIRIP TERHADAP CITRA 4
dist_14=sqrt((C1(1,1)-C4(1,1))^2+(C1(2,1)-C4(2,1))^2+(C1(3,1)-C4(3,1))^2)
dist_24=sqrt((C2(1,1)-C4(1,1))^2+(C2(2,1)-C4(2,1))^2+(C2(3,1)-C4(3,1))^2)
dist_34=sqrt((C3(1,1)-C4(1,1))^2+(C3(2,1)-C4(2,1))^2+(C3(3,1)-C4(3,1))^2)
dist_44=sqrt((C4(1,1)-C4(1,1))^2+(C4(2,1)-C4(2,1))^2+(C4(3,1)-C4(3,1))^2)
clear all
clc
%PESAN YANG DIKIRIM: MAGISTER ILMU KOMPUTER
%KATA KUNCI: MADANI
%KODE HURUF DIBUAT:
% A B C D E F G H I J K L M
% -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
% N O P Q R S T U V W X Y Z
% 13 12 11 10 9 8 7 6 5 4 3 2 1
%Proses ENCODE
A=[ -1 -5 -9 -5 6 12 6 9;
-13 8 9 -2 15 -1 7 15;
-7 7 15 -1 -3 11 -9 15];
B=[ -1 -13 15;
-13 13 15;
-10 -5 15];
%Pesan yg dikirim
C=B*A;
%Proses DECODE
invers_B=inv(B);
%ISI PESAN
A_r=invers_B*C;
E=A_r;
%ISI PESAN
Pesan=[E(1:3,1); E(1:3,2); E(1:3,3); E(1:3,4); E(1:3,5);
E(1:3,6); E(1:3,7);
E(1:3,8)]';