2.4. Sistem Kriptografi Affine Cipher
Affine cipher adalah perluasan dari Caesar cipher yaitu sistem persandian klasik berbasis substitusi yang sederhana. Enkripsi dan dekripsi pada sistem persandian
Caesar menggunakan operasi shift. Operasi Shift adalah mensubtitusi suatu huruf menjadi huruf pada daftar alfabet berada di-k sebelah kanan atau kiri huruf itu.
Skema sandi Affine cipher diilustrasikan pada gambar 2.4 Sadikin, 2012.
p, c ∈Z¬26 K=|a,b ∈Z26|
Gambar 2.4 Skema Sandi Affine
2.4.1. Enkripsi Affine Cipher
Secara sistematis enkripsi plainteks P lalu menghasilkan C dinyatakan dengan fungsi kongruen :
C≡ mP
+ bmod
n ...………………………………………….8.4.
1
Berdasarkan persamaaan 2, plainteks dapat dihitung sebagai berikut : Plainteks : I L K O M
n = 26, m = 5, b = 2 I = 8.5 + 2 = 42 mod 26 = 16 P
L = 11.5 + 2 =57 mod 26 = 5 F K = 10.5 + 2 = 52 mod 26 = 0 A
O = 14.5 + 2 = 72 mod 26 = 20 U
Universitas Sumatera Utara
M = 12.5 + 2 = 62 mod 26 = 10 K Cipherteks : P F A U K
2.4.2. Dekripsi Affine Cipher
Dalam melakukan dekripsi diperlukan m
-1
, jika syarat terpenuhi maka dekripsi dilakukan dengan persamaan :
P≡ m
-1
C - b mod n ………………………………….8.4.2
Berdasarkan persamaan 3, Cipherteks dapat dikembalikan sebagai berikut : Cipherteks : P F A U K
n = 26, m = 5, b = 2, m
-1
= 21 P = 2116
– 2mod 26 = 8 I F = 215
– 2mod 26 = 11L A = 210
– 2mod 26 = 10K U = 2120
– 2mod 26= 14O K = 2110-2mod 26= 12M
2.5. Sistem Kriptografi Advanced Encryption Standard AES
Pada tahun 90-an, setelah beberapa tahun standar penyandian simetris dianggap tidak lagi aman, lembaga standar Amerika Serikat NIST National Institute of
Standards and Technology membuat sayembara untuk menggantikan DES dengan sebuah sistem penyandian yang disebut Advanced encryption Standard
pada tanggal 12 September 1997. Setelah beberapa seleksi, NIST memilih sistem penyadian Rijndael yang
dikembangkan oleh Joan Daemen dan Vincent Rijment sebagai sistem penyandian AES pada tahun 2000. Pemilihan Rijndael berdasarkan pada kriteria :
1.
Keamanan. Sistem penyandian harus tahan terhadap serangan analisis
sandi serangan secara brute force.
Universitas Sumatera Utara
2.
Biaya. Sistem penyandian harus memiliki biaya komputasi dan memori
yang efisien sehingga dapat diimplementasikan secara perangkat keras maupun perangkat lunak.
3.
Karakteristik algoritma dan implementasi. Sistem penyandian harus
bersifat terbuka, fleksibel, dan sederhana Sadikin, 2012.
2.5.1. Enkripsi AES
Jumlah putaran Nr tergantung pada besar kunci yang digunakan. Tabel 2.1 menunjukkan jumlah putaran Nr untuk kunci sebesar 128 bit, 192 bit dan 256
bit. Jadi untuk kunci sebesar 128 bit, besar kunci Nk adalah 4 word setiap word mempunyai 32 bit, besar blok Nb adalah 4 word, dan jumlah putaran Nr
adalah 10 Kromodimoeljo, 2010.
Tabel 2.1 Tabel Jumlah Putaran
Dari tabel 2.1 AES-128 bit menggunakan panjang kunci N
k
= 4 word kata yang setiap katanya terdiri dari 32 bit sehingga total kunci 128 bit, ukuran blok teks-asli
128 bit den memiliki 10 putaran. Sedangkan putaran untuk kunci terdiri dari K
i
= 4 kata dan total putaran kunci 128 bit dan kunci yang diperluas mempunyai
ukuran 44 kata dan 176 byte Ariyus, 2008.
Enkripsi AES diilustrasikan pada gambar 2.5 berikut
Universitas Sumatera Utara
Gambar 2.5 Sturktur enkripsi AES
Terjadinya proses enkripsi pada algoritma AES ada empat transformasi, yaitu : 1.
Transformasi Substitusi Byte: Operasi ini merupkan suatu operasi
substitusi tak linier yang beroperasi secara mandiri pada setiap byte dengan menggunakan kotak-S Ariyus, 2008 seperti gambar 2.6 :
Universitas Sumatera Utara
Gambar 2.6 Operasi Transformasi Substitusi Byte dengan Kotak-S 2.
Transformasi Penggeseran Kunci : pada operasi ini byte-byte yang ada
pada baris terakhir state digeser secara memutar dengan jumlah pergeseran acak., tetapi baris pertama tidak digeser. Pada operasi ini baris pertama
tidak mengalami penggeseran, baris yang kedua digeser dari 27 ke 41 dan baris ketiga digeser dari 11 dan 98 ke 5d dan 52, baris terakhir dari ae, f1,
dan e5 ke f1, 35 dan 30 Ariyus, 2008. Coba perhatikan gambar 2.7.
Universitas Sumatera Utara
Gambar 2.7 Operasi Transformasi Shiftrow
3.
Transformasi Pencampuran kolom: operasi ini beroperasi pada state
kolom, dengan memperlakukan setiap kolom sebagai polynomial. Kolom dianggap sebagai polonomial pada GF 2
8
Ariyus, 2008. Tranformasi pencampuran kolom dapat digambarkan dengan perkalian matriks seperti
gambar 2.8 :
Gambar 2.8 Operasi Tranformasi MixColomns
4.
Tranformasi Penambahan kunci: Operasi ini merupakan suatu operasi
penambahan kunci dengan operasi XOR dan setiap kunci putaran terdiri dari w[i] di mana w[i] merupakan upa-kunci yang diturunkan dari kunci
primer.
Universitas Sumatera Utara
Gambar 2.9 Tranformasi Penambahan Kunci dengan Operasi XOR
Matriks yang pertama adalah state dan yang kedua adalah merupakan perputaran kunci. Inversi dari transformasi perputaran kunci menambah perputaran kunci
karena adanya operasi XOR. Setiap penambahan kunci memberikan efek untuk setiap bit state. Kompleksitas dari penambahan kunci membuat algoritma AES
lebih aman dari yang lain Ariyus, 2008.
2.5.2. Dekripsi AES
Secara ringkas dekripsi AES merupakan kebalikan enkripsi. Dekripsi AES menggunakan transformasi invers semua tansformasi dasar yang digunakan pada
enkripsi AES. Setiap transformasi dasar AES memiliki transformasi invers, yaitu : InversSubByte, InversShiftRows, dan InvMixColomns. AddRoundKey merupakan
tranformasi bersifat self-invers dengan syarat menggunakan kunci yang sama. Dekripsi AES diilustrasikan pada gambar 3.10 berikut:
Universitas Sumatera Utara
Gambar 3.10 Sturktur dekripsi AES
2.5.3. Ekspansi Kunci AES
Algoritma AES melaksanakan kunci-kode dan membuat suatu kunci ekspansi untuk menghasilkan suatu kunci skedul. Kunci ekspansi yang diperlukan AES
NbNr+1 kata sehingga bisa digunakan AES 128 bit sehingga 410+1= 40 kata = 44 x 32 bit = 1408 bit upa-kunci. Ekspansi dari 128 bit menjadi 1408 bit upa-
kunci. Proses ini disebut dengan kunci skedul. Upa-kunci ini siperlukan karena setiap putaran merupakan suatu inisial dari Nb kata untuk Nr = 0 dan 2 Nb untuk
Nr = 1,3 Nb untukNr = 2,…, 11 Nb untuk Nr = 10. Dari Operasi ini didapatkan kunci skedul yang berisi larik linier empat byte kata w
i
, 0=i Nb Nr + 1.
Tahap dari kunci ekspansi seperti berikut ini : 1.
RotWord mengambil masukan empat byte kata [a0, a1, a2, a3] dan membentuk cyclic permutasi seperti [a1, a2, a3, a0].
Universitas Sumatera Utara
2. Subword mengambil masukan empat byte kata dan menggunakan Kotak-S
sehingga di dapat empat byte prosedur keluaran kata. 3.
Rcon menghasilkan putaran yang tetap dari larik kata dan berisi nilai yang
diberikan oleh [[xi-1, {00}, {00}, {00}] dengan xi-1 dari i ke 1.
Rcon [i] adalah suatu komponen dari putaran tetap larik kata dalam perhitungan kunci ekspansi routine Ariyus, 2008.
2.6. Android