rahasia yang hanya boleh diketahui oleh dirinya sendiri dan yang lain disebut kunci publik yang disebarkan ke orang lain. Metode enkripsi ini harus dijaga ketat
supaya tidak ada pihak luar mengetahuinya. Beberapa model enkripsi dengan kunci publik, diantaranya adalah : Knapsack, Rivert Shamir Adelman, Diffie-
Helman, Tree Past Protocol, Elgamal[3].
2.1.2 Tiny Encryption Algorithm
Tiny Encription Algorithm TEA merupakan suatu algoritma sandi yang diciptakan oleh David Wheeler dan Roger Needham dari Computer Laboratory,
Cambridge University, England pada bulan November 1994. Algoritma ini merupakan algoritma mengenkripsi suatu blok plaintext dengan jumlah bit
tertentu dan menghasilkan blok ciphertext yang dirancang untuk penggunaan memory yang seminimal mungkin dengan kecepatan proses yang maksimal.
Sistem penyandian TEA menggunakan proses feistel network dengan menambahkan fungsi matematik berupa penambahan dan pengurangan sebagai
operator pembalik selain XOR. Proses feistel network adalah membagi plaintext ke dalam beberapa blok dan melakukan penukaran letak blok dalam setiap round,
yang akan memberikan efek konsep konfusi dan difusi. Konfusi adalah mengaburkan hubungan plaintext dan ciphertext yang menimbulkan kesulitan
dalam usaha untuk mencari keteraturan plaintext dan ciphertext, sedangkan difusi adalah menyebarkan redudansi plaintext dengan menyebarkan masukan ke
seluruh ciphertext. Hal ini dimaksudkan untuk menciptakan Pergeseran dua arah ke kiri dan ke kanan menyebabkan semua bit kunci dan data bercampur secara
berulang ulang[5].
Universitas Sumatera Utara
Gambar 2.2 Satu Putaran Enkripsi Dalam Jaringan Feistel[9]
Bilangan delta berasal dari golden number, digunakan delta= √5-12
31
Suatu bilangan delta ganda yang berbeda digunakan dalam setiap roundnya sehingga tidak ada bit dari perkalian yang tidak berubah secara teratur. Berbeda
dengan sruktur feistel yang semula hanya mengoperasikan satu sisi yaitu sisi sebelah kanan dengan sebuah fungsi F, pada algoritma TEA kedua sisi
dioperasikan dengan sebuah fungsi yang sama. Proses diawali dengan input-bit plaintext sebanyak 64-bit[5]. Kemudian 64-bit plaintext tersebut dibagi menjadi
dua bagian, yaitu sisi kiri L0 sebanyak 32-bit dan sisi kanan R0 sebanyak 32- bit. Setiap bagian plaintext akan dioperasikan sendiri-sendiri. R0 z akan digeser
kekiri sebanyak empat kali dan ditambahkan dengan kunci k0. Sementara itu z ditambah dengan sum delta yang merupakan konstanta. Hasil penambahan ini
di-XOR-kan dengan penambahan sebelumnya. Kemudian di-XOR-kan dengan hasil penambahan antara z yang digeser kekanan sebanyak lima kali dengan kunci
k1. Hasil tersebut kemudian ditambahkan dengan L0 y yang akan menjadi R1. Sisi sebelah kiri akan mengalami proses yang sama dengan sisi sebelah kanan. L0
y akan digeser kekiri sebanyak empat kali lalu ditambahkan dengan kunci k2. Sementara itu, Y ditambah dengan sum delta[7]. Hasil penambahan ini di-XOR-
Universitas Sumatera Utara
kan dengan penambahan sebelumnya. Kemudian di-XOR-kan dengan hasil penambahan antara Y yang digeser ke kanan sebanyak lima kali dengan kunci
k3. Hasil tersebut kemudian ditambahkan dengan R0 Z yang akan menjadi L1. Struktur dari penyandian dengan algoritma untuk satu cycle dua round.
Berikut adalah langkah langkah penyandian dengan algoritma TEA dalam satu cycle dua round:
1. Pergeseran shift Blok plaintext pada kedua sisi yang masing masing sebanyak 32-bit akan digeser
kekiri sebanyak empat 4 kali dan digeser ke kanan sebanyak lima 5 kali. 2. Penambahan
Setelah digeser kekiri dan kekanan, maka Y dan Z yang telah digeser akan ditambahkan dengan kunci k0-k3. Sedangkan Y dan Z awal akan ditambahkan
dengan sum delta. 3. Peng-XOR-an
Setelah dioperasikan dengan penambahan pada masing-masing register maka akan dilakukan peng-XOR-an dengan rumus untuk satu round.
rumus untuk satu round : y = y + z4+k0z + sumz5+k1 .............................................
1 z = z + y4+k2y + sumy5+k3 ....................................... 2,
dalam hal ini sum = sum + delta. Rumus 1 dan 2 merupakan hasil penyandian dalam satu cycle satu blok
plaintext 64-bit menjadi 64-bit teks sandi adalah dengan menggabungkan y dan z. Untuk penyandian pada cycle berikutnya y dan z ditukar posisinya, sehingga y1
Universitas Sumatera Utara
menjadi z1 dan z1 menjadi y1 lalu dilanjutkan proses seperti langkah-langkah diatas sampai dengan 16 cycle 32 round[7].
4. Key Schedule Pada algoritma TEA, key schedule-nya sangat sederhana. Yaitu kunci k0 dan
k1 konstan digunakan untuk round ganjil sedangkan kunci k2 dan k3 konstan digunakan untuk round genap.
5. Dekripsi Dalam proses dekripsi sama halnya seperti pada proses penyandian yang berbasis
feiste cipher lainnya. Yaitu pada prinsipnya adalah sama pada saat proses enkripsi. Namun hal yang berbeda adalah penggunaan teks sandi sebagai input dan kunci
yang digunakan urutannya dibalik. Pada proses dekripsi semua round ganjil menggunakan k1 terlebih dahulu kemudian k0, demikian juga dengan semua
round genap digunakan k3 terlebih dahulu kemudian k2 [7].
Hasil Enkripsi sampel dalam heksadesimal
Tabel 2.1 Tabel enkripsi TEA [7]
Plaintext Key
Ciphertext 000000
000000 00000000 00000000
00000000 00000000 41sa3a0a
94baa940 000000
000000 00000000 00000000
00000000 00000000 414091a7
a27f9c32 000000
000000 00000000 00000000
00000000 00000001 0c6d2a1d
930c3 fab ffffffff
ffffffff ffffffff ffffffff
ffffffff ffffffff 319bbefb
016abdb2 efffffff
ffffffff ffffffff ffffffff
ffffffff ffffffff dd2617de
feS24008
Berdasarkan tabel 2.1 terlihat bahwa TEA mengimplementasikan prinsip diffusion milik Shanon dengan baik karena perbedaan 1 bit pada plaintext mengakibatkan
perubahan besar pada ciphertext.
Universitas Sumatera Utara
Rumus proses dekripsi : L0 = L0 + f R0 , k1, k0, sum dan R0 = R0 + f L0, k3, k2, sum ..... 3
Rumus 3 merupakan proses dekripsi semua round ganjil menggunakan k1 terlebih dahulu kemudian k0, demikian juga dengan semua round genap
digunakan k3 terlebih dahulu kemudian k2 [7] . 2.1.3 Citra Digital
Citra adalah suatu representasi gambaran, kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik
berupa foto, bersifat analog berupa sinyal-sinyal video, sedangkan digital adalah Digital merupakan penggambaran dari suatu keadaan bilangan yang terdiri dari
angka 0 dan 1 atau off dan on bilangan biner. Sehingga Definisi citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer
sebagai himpunan berhingga diskrit nilai digital yang disebut pixel picture elements. Didalam komputer, citra digital disimpan sebagai suatu file dengan
format tertentu. Format citra tersebut menunjukkan sebuah citra digital disimpan. Contoh format citra digital adalah .bmp, .gif, .img, .tif dan sebagainya. Berikut
merupakan tabel 2.2 format file citra untuk melihat fungsi dari format citra secara detail[4].
Tabel 2.2 Format File Citra
Nama Format Ekstensi
Kegunaan Microsfot Windows
Bitmap Format BMP
Format umum untuk menyimpan citra bitmap yang dikembangkan microsoft
Compuserve Graphics interchange Format
GIF Format umum citra yang dirancang untuk
keperluan transmisi melalui modern Aldus Tagged Image File
Format TIF
Format kompleks dan multiguna yang dikembangkan oleh Aldus bersama microsoft
Universitas Sumatera Utara
GEM Image Format IMG
Format bitmap yang dikembangkan untuk riset digital lingkungan GEM
2.1.4 Bitmap