BAB 2 TINJAUAN PUSTAKA

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB 2 TINJAUAN PUSTAKA"

Transkripsi

1 BAB 2 TINJAUAN PUSTAKA 2.. Kriptografi Kriptografi adalah ilmu mengenai teknik enkripsi, di mana naskah asli diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi mendapatkan kembali naskah asli (Kromodimoeljo, 2). Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan. Jadi, kunci ditentukan oleh parameter. Parameter penentu kunci dekripsi inilah yang harus dirahasiakan. Dalam kriptografi klasik, teknik enkripsi yang digunakan adalah enkripsi simetris, di mana kunci dekripsi sama dengan kunci enkripsi. Untuk teknik enkripsi asimetris atau biasa disebut public key cryptography, kunci dekripsi tidak sama dengan kunci enkripsi. Enkripsi, dekripsi, dan pembuatan kunci dalam kriptografi asimetris memerlukan komputasi yang lebih intensif dibandingkan dengan enkripsi simetris, karena enkripsi asimetris menggunakan bilangan-bilangan yang sangat besar. Namun, walaupun enkripsi asimetris lebih "mahal" dibandingkan enkripsi simetris, public key cryptography sangat bermanfaat untuk key management dan digital signature. Secara garis besar, proses enkripsi adalah proses pengacakan "naskah asli" (plain-text) menjadi "naskah acak" (cipher-text) yang "sulit untuk dibaca" oleh seseorang yang tidak memiliki kunci dekripsi. Yang dimaksud dengan "sulit untuk dibaca" di sini adalah, probabilitas mendapat kembali naskah asli oleh seseorang yang tidak memiliki kunci dekripsi dalam waktu yang tidak terlalu lama adalah sangat kecil. Jadi, suatu proses enkripsi yang baik menghasilkan naskah acak yang memerlukan waktu yang lama (contohnya satu juta tahun) untuk didekripsi oleh seseorang yang tidak memiliki kunci dekripsi. Satu cara untuk mendapatkan kembali naskah asli tentunya dengan menerka kunci dekripsi. Jadi, proses menerka kunci dekripsi harus menjadi

2 7 sesuatu yang sulit. Tentunya naskah acak harus dapat didekripsi oleh seseorang yang memiliki kunci dekripsi untuk mendapatkan kembali naskah asli. Walaupun awalnya kriptografi digunakan untuk merahasiakan naskah teks, kini kriptografi digunakan untuk data apa saja yang berbentuk digital (Kromodimoeljo, 2) Konsep acak (random) Sifat acak dalam kriptografi adalah sifat bebas dari kecenderungan sehingga tidak mudah untuk diterka. Dari segi matematika jika suatu variabel dianggap bersifat acak, maka teori probabilitas dapat digunakan untuk memrediksi "kelakuan" dari variabel tersebut, antara lain variabel akan memenuhi beberapa kriteria statistik. Metode statistika dapat digunakan berdasarkan apa yang sudah terjadi untuk menilai apakah variabel memenuhi kriteria statistik untuk variabel acak. Akan tetapi, jika kriteria statistik terpenuhi, belum tentu variabel benar acak, karena sesuatu yang deterministik seperti pseudo-random number generator dapat memenuhi kriteria statistik untuk variabel acak. Jadi, kriteria statistik bukan merupakan definisi untuk variabel acak. Sifat acak memang tidak dapat didefinisikan secara matematis, sebab sesuatu yang memiliki definisi matematis sudah pasti tidak bersifat acak. Apalagi jika definisi berupa rumus yang dapat digunakan untuk kalkulasi. Yang didefinisikan bukan saja mudah diterka, tetapi tidak perlu diterka. Sifat acak dapat dikaitkan dengan urutan events, dimana event berikutnya dalam suatu urutan tidak mudah untuk diterka berdasarkan apa yang sudah berlalu. Sifat ini diperlukan dalam pembuatan kunci (key generation), agar kunci dekripsi tidak mudah untuk diterka. Sifat acak juga dikaitkan dengan tidak adanya korelasi (atau korelasi yang mendekati nol). Dalam kriptografi, tidak diinginkan adanya korelasi antara naskah asli dengan naskah acak atau kunci dengan naskah acak. Ini untuk mempersulit analisa seperti analisa frekuensi (frequency analysis) atau analisa yang lebih canggih, seperti linear cryptanalysis atau differential cryptanalysis. Meskipun tidak sebenarnya acak, sesuatu yang pseudo-random bermanfaat dan digunakan dalam kriptografi, tetapi harus dikombinasikan dengan sesuatu yang benar acak. Sebagai contoh, pseudo-random number generator dikombinasikan dengan sumber entropi yang benar acak sebagai seed, untuk mendapatkan sesuatu yang praktis bersifat random number generator (Kromodimoeljo, 2).

3 Manajemen kunci Aspek manajemen kunci sangat penting dalam aplikasi kriptografi. Proses pembuatan kunci sangat penting dan sebaiknya dilakukan dengan acak. Sumber acak dapat diambil dari berbagai kejadian (events) yang muncul secara acak. Sistem operasi seperti unix menggunakan kombinasi system events termasuk interrupts sebagai sumber entropi yang kemudian dikombinasikan dengan algoritma pseudo-random number generator menjadi random number generator. Aplikasi kriptografi dapat menggunakan random number generator yang disediakan sistem operasi untuk pembuatan kunci, akan tetapi sebaiknya ini dilakukan hanya jika random number generator cukup acak. Distribusi kunci secara aman juga penting untuk keperluan pengamanan komunikasi. Sebagai contoh, untuk komunikasi yang diamankan dengan enkripsi simetris, tentunya kedua mitra dalam komunikasi harus menggunakan kunci yang sama. Kunci ini dapat dibuat oleh satu pihak dan dikirim secara aman ke mitra komunikasi. Pengiriman kunci dapat dilakukan out-of-band, yaitu menggunakan jalur khusus di luar jalur normal komunikasi, atau dilakukan in-band melalui jalur normal menggunakan sarana kriptografi kunci publik. Alternatif dari pengiriman kunci adalah key agreement, di mana kedua mitra berpartisipasi membuat kunci tanpa dapat diketahui oleh pihak ketiga. Key agreement juga menggunakan kriptografi kunci publik. Penyimpanan kunci jelas sangat penting untuk pengamanan sistem enkripsi secara menyeluruh. Kunci yang disimpan secara sembrono akan mudah untuk "dicuri" oleh pihak yang tidak diinginkan. Solusi untuk penyimpanan kunci beraneka ragam. Mulai dari penggunaan hardware khusus, di mana kunci dekripsi disimpan dan tidak dapat keluar dari hardware tersebut, sampai dengan penyimpanan dalam file yang dienkripsi menggunakan password atau passphrase (Kromodimoeljo, 2) Matematika Dasar dalam Kriptografi Aritmatika modular sangat berperan dalam kriptografi karena banyak digunakan dalam algoritma enkripsi, baik untuk kriptografi simetris maupun kriptografi kunci publik. Dalam aritmatika modular, konsep GCD (Greatest Common Divisors) digunakan antara lain untuk operasi invers yang dapat dikalkulasi secara efisien menggunakan algoritma Euclidean, algoritma sangat penting yang telah berusia lebih dari 2 tahun. Sebelum mempelajari kriptografi lebih mendalam, akan dibahas terlebih dahulu studi tentang teori bilangan.

4 Keterbagian dan GCD (Greatest Common Divisors) Sebagian besar kriptografi modern dibangun atas dasar-dasar aljabar dan teori bilangan. Pada tingkat yang paling dasar, teori bilangan adalah studi tentang bilangan asli, 2, 3, 4, 5,, atau lebih tepatnya, studi tentang bilangan bulat, 2,,,, 2,. Himpunan bilangan bulat dilambangkan dengan simbol Z. Jika a dan b adalah bilangan bulat, maka kedua bilangan bulat tersebut dapat ditambahkan a + b, dikurangi a b, dikalikan a b, dan memenuhi semua aturan umum aritmatika (hukum komutatif, asosiatif, distributif, dan lain-lain). Tetapi, suatu bilangan bulat tidak selalu bisa dibagi dengan bilangan bulat yang lain. Sebagai contoh, 3 tidak bisa dibagi dengan 2, karena tidak ada bilangan bulat 3. Hal inilah yang menjadi konsep dasar keterbagian. 2 Definisi 2.. Misalkan a dan b adalah bilangan bulat, dengan b. Maka dapat dikatakan b membagi a, atau a habis dibagi dengan b, jika ada bilangan bulat c sedemikian rupa sehingga a = bc. Untuk menunjukkan bahwa a habis dibagi dengan b, dapat dilambangkan dengan b a. Jika b tidak dapat membagi a, maka dapat dilambangkan dengan a b (Hoffstein, et al. 28). Contohnya , karena = Contoh lainnya, , karena ketika mencoba untuk membagi dengan 355, didapatkan sisa 83. Lebih tepatnya = Jadi, bukan kelipatan 355. Semua bilangan bulat habis dibagi dengan. Bilangan bulat yang habis dibagi 2 adalah bilangan bulat genap, dan bilangan bulat yang tidak habis dibagi 2 adalah bilangan bulat ganjil. Dan berikut adalah sifat-sifat dari keterbagian. Misalkan a, b, c Z, maka: a) Jika a b dan b c, maka a c. b) Jika a b dan b a, maka a = ±b. c) Jika a b dan a c, maka a (b + c) dan a (b c) (Hoffstein, et al. 28). Definisi 2.2. Faktor persekutuan terbesar dari a dan b adalah bilangan bulat positif d terbesar, sehingga d a dan d b. Faktor persekutuan terbesar dari a dan b dinotasikan dengan gcd(a, b) (dalam bahasa Indonesia disebut FPB). Jika kedua nilai a dan b adalah, maka gcd(a, b) tidak terdefinisi (Hoffstein, et al. 28). Contoh 2.. FPB dari 2 dan 8 adalah 6, karena 6 2 dan 6 8 dan tidak ada nilai lain yang lebih besar dari 6. Jadi, gcd(748, 224) = 44.

5 Algoritma yang efisien untuk menghitung FPB adalah division with remainder atau biasa disebut dengan metode pembagian panjang. Jika a dan b adalah bilangan bulat positif dan a dibagi dengan b, maka akan diperoleh hasil bagi q dan sisanya r, di mana sisa r lebih kecil dari b. Sebagai contoh, 23 dibagi dengan 7 memberikan hasil bagi 3 dengan sisa 9. Atau dapat ditulis sebagai 23 = , di mana sisanya 9 lebih kecil dari pembagi 7. Definisi 2.3 (Algoritma Pembagian). Misalkan a dan b adalah bilangan bulat positif. Kemudian a dibagi dengan b memiliki hasil bagi q dan sisanya r, berarti bahwa a = b q + r dengan r < b. () Jika d adalah pembagi untuk a dan b, maka jelas dari persamaan () bahwa d juga pembagi untuk r. Demikian pula, jika e adalah pembagi untuk b dan r, maka e juga pembagi untuk a. Dengan kata lain, pembagi a dan b adalah sama dengan pembagi untuk b dan r, karenanya gcd(a, b) = gcd (b, r) (Hoffstein, et al. 28). Dengan proses yang sama, membagi b dengan r untuk mendapatkan hasil bagi dan sisa lainnya, maka b = r q + r dengan r < r. Dan gcd(b, r) = gcd (r, r ). Jika proses ini terus berlanjut, maka sisanya akan terus menjadi lebih kecil sampai akhirnya mendapatkan sisa, di mana nilai akhir dari gcd(s, ) = s adalah sama dengan FPB dari a dan b. Melanjutkan Contoh 2. untuk mengetahui FPB dari 224 dan 748 dengan menggunakan algoritma division with remainder, 224 = = = = = Teorema 2. (Algoritma Euclidean). Misalkan a dan b adalah bilangan bulat positif dengan a b. Berikut adalah algoritma untuk menghitung gcd(a, b): ) Misalkan r = a dan r = b. 2) i =. 3) Bagi r i dengan r i untuk mendapatkan hasil bagi q i dan sisa r i+, r i = r i q i + r i+ dengan r i+ < r i. FPB = 44 4) Jika sisa r i+ =, maka r i = gcd (a, b) dan algoritma berakhir. 5) Jika tidak, r i+ >, sehingga i = i + dan lanjut ke Langkah 3.

6 Pembagian pada Langkah 3 dilakukan sebanyak 2log 2 (b) + kali. Teorema 2.2 (Algoritma Extended Euclidean). Misal a dan b adalah bilangan bulat positif. Maka persamaan au + bv = gcd(a, b) selalu memiliki solusi dalam bilangan bulat u dan v. Jika (u, v ) adalah salah satu solusinya, maka setiap solusi memiliki bentuk: u = u + v = v + b k gcd (a, b) a k gcd (a, b) Definisi 2.4. Misalkan a dan b adalah bilangan bulat. Dikatakan bahwa a dan b adalah relatif prima atau koprima, jika gcd(a, b) =. Secara umum, persamaan Au + Bv = gcd (A, B) dapat dijadikan relatif prima dengan membagi kedua sisi dengan gcd(a, B), sehingga A gcd (A, B) u + B gcd (A, B) v = di mana a = A/gcd(A, B) dan b = B/gcd(A, B) adalah relatif prima dan memenuhi au + bv = (Hoffstein, et al. 28). Berdasarkan Contoh 2., gcd(224,748) = 44 dan memenuhi = 44. Agar menjadi relatif prima, kedua sisi dibagi dengan 44. Sehingga persamaan sebelumnya menjadi =, dengan u = 7 dan v = 9 adalah koefisien kombinasi linear dari 46 dan 7 yang sama dengan. Contoh selanjutnya menjelaskan bagaimana menyubstitusi nilai-nilai dari algoritma Euclidean untuk menyelesaikan au + bv = gcd(a, b), serta menghitung u dan v jika a dan b relatif prima. Misalkan a = 73 dan b = 25. Dengan menggunakan algoritma Euclidean diperoleh hasil sebagai berikut: 73 = = = = 2 +. Berdasarkan hasil bagi 2,, dan 2, tercipta sebuah algoritma seperti berikut: 2 2 a c e g b d f h Untuk semua k Z

7 c e g a = 2 + = 2 d f h b = 2 + = e g c = 2 + = 3 f h d = + = g e = = 35 2 h f = + = g = = h = = 25 Terlihat bahwa kolom terakhir adalah masing-masing nilai untuk a dan b. Dan kolom di samping kolom terakhir adalah nilai v dan u. Jadi, dari contoh ini ditemukan bahwa = (Hoffstein, et al. 28). Secara umum, jika a dan b relatif prima dan jika q, q 2,, q t adalah sederetan hasil bagi dari penerapan algoritm Euclidean terhadap a dan b, maka q q 2 q t q t P P 2 P t a Q Q 2 Q t b Nilai-nilai pada kotak dihitung dengan terlebih dahulu melakukan inisialisasi sebagai berikut: P = q, Q =, P 2 = q 2 P +, Q 2 = q 2 Q lalu, selama i > 2, hitung P i = q i P i + P i 2 dan Q i = q i Q i + Q i 2. Empat nilai dari dua kolom terakhir memenuhi a Q t b P t = ( ) t. Dengan mengalikan kedua sisi dengan ( ) t memberikan penyelesaian: u = ( ) t Q t, v = ( ) t+ P t ke dalam persamaan au + bv = (Hoffstein, et al. 28) Aritmatika modular Setiap orang pasti pernah membaca jam, di mana terdapat perhitungan yang aneh. Misalnya, = 3 atau 2 3 =. Tetapi tidak ada yang salah dalam perhitungan

8 3 waktu tersebut, karena jam : adalah 3 jam sebelum jam 2:. Jadi, yang pertama sekali dilakukan adalah menghitung 2 3 =, lalu menambahkannya dengan 2. Demikian pula, 9 jam setelah jam 6: adalah jam 3:, karena = 3. Teori kongruen adalah metode paling tepat dalam perhitungan yang didasarkan pada gagasan sederhana jam aritmatika. Definisi 2.5: Misalkan bilangan bulat m, maka bilangan bulat a dan b disebut kongruen modulo m jika selisih keduanya habis dibagi m. Sehingga dapat ditulis a b (mod m), dan nilai m disebut modulus (Hoffstein, et al. 28). Contoh jam sebelumnya dapat ditulis sebagai kongruen menggunakan modulus m = 2, = 5 3 (mod 2) dan 2 3 = (mod 2). Angka-angka yang memenuhi a (mod m) adalah angka yang habis dibagi dengan m, yaitu kelipatan m. Teorema 2.3: Misalkan bilangan bulat m, a) Jika a a 2 (mod m) dan b b 2 (mod m), maka a ± b a 2 ± b 2 (mod m) dan a b a 2 b 2 (mod m). b) Misalkan bilangan bulat a, kemudian a b (mod m) untuk suatu bilangan bulat b jika dan hanya jika gcd(a, m) =. Jika bilangan bulat b ada, maka dapat dikatakan bahwa b adalah invers dari a modulo m (Hoffstein, et al. 28). Teorema 2.3(b) mengatakan bahwa jika gcd(a, m) =, maka ada invers b dari a modulo m. Misalkan m = 5 dan a = 2, jelas gcd(2, 5) =, sehingga ada invers untuk 2 modulo 5. Dan inversnya adalah 3, karena 2 3 (mod 5). Jadi, 2 3 (mod 5). Demikian pula, gcd(4, 5) = sehingga 4 ada dalam modulo 5. Dan karena 4 4 (mod 5), maka 4 adalah invers dalam modulo 5. Permasalahan modulo m dalam pecahan a/d dapat diselesaikan selama penyebut adalah relatif prima terhadap m. Sebagai contoh 5/7 modulo, dengan terlebih dahulu mengamati bahwa 7 8 (mod ), maka 7 8 (mod ). Selanjutnya: 5 7 = (mod ) Selanjutnya jika a dibagi dengan m memiliki hasil bagi q dan sisa bagi r, dapat ditulis sebagai a = m q + r dengan r < m. Hal ini menunjukkan bahwa a r (mod m) untuk suatu bilangan bulat r antara sampai m. Jadi, jika ingin

9 4 menghitung bilangan bulat modulo m, cukup menggunakan bilangan r < m. Dan definisi selanjutnya adalah: Z/mZ = {,, 2,, m } di mana Z/mZ disebut ring bilangan bulat modulo m. Perhatikan bahwa setiap kali dilakukan penambahan atau perkalian dalam Z/mZ, hasilnya selalu dibagi dengan m dan mengambil sisanya untuk mendapatkan sebuah elemen dalam Z/mZ. Tabel 2. memperlihatkan ring Z/5Z dengan tabel penjumlahan dan perkalian dalam modulo 5 secara lengkap Tabel 2.: Penjumlahan dan perkalian dalam modulo 5. Definisi 2.6: Teorema 2.3(b) menjelaskan bahwa a memiliki invers modulo m jika dan hanya jika gcd(a, m) =. Bilangan-bilangan yang memiliki invers disebut unit. Himpunan semua unit dinotasikan sebagai (Z/mZ) = {a Z/mZ gcd (a, m) = } = {a Z/mZ a memiliki invers modulo m}, himpunan (Z/mZ) disebut kumpulan unit (group of units) modulo m. Perhatikan bahwa jika a dan a 2 adalah unit modulo m, hasilnya adalah a a 2. Jadi, ketika dua unit dikalikan, hasilnya selalu unit. Sedangkan jika dua unit ditambahkan, hasilnya belum tentu adalah unit. Group of units modulo 24 adalah (Z/24Z) = {, 5, 7,, 3, 7, 9, 23}. Tabel perkalian untuk (Z/24Z) seperti ditunjukkan pada Tabel 2.2: Tabel 2.2: Perkalian group of units modulo 24.

10 5 Definisi 2.7: Fungsi phi Euler (sering juga disebut sebagai fungsi totient Euler) adalah fungsi φ(m) didefinisikan oleh aturan φ(m) = #(Z/mZ) = #{ a < m gcd(a, m) = }. Berdasarkan contoh sebelumnya, φ(24) = 8. Dengan kata lain hasil dari fungsi φ(m) adalah banyaknya bilangan bulat nonnegatif dan lebih kecil dari m yang relatif prima dengan m. Jadi, φ() = dan untuk bilangan prima p, φ(p) = p, karena, 2, 3,, p semua relatif prima terhadap p, sedangkan gcd(p, ) = p. Untuk bilangan prima p, φ(p a ) = p a p a (Hoffstein, et al. 28) Bilangan prima, faktorisasi prima, dan finite field Di bagian sebelumnya telah dipelajari aritmatika modular dalam operasi penambahan, pengurangan, dan perkalian bilangan bulat modulo m. Sedangkan pembagian, dapat menjadi masalah karena bilangan bulat dapat dibagi dengan a dalam Z/mZ hanya jika gcd(a, m) =. Jika bilangan bulat m adalah prima, maka m dapat dibagi dengan setiap elemen Z/mZ yang bukan nol. Maka, selanjutnya akan dipelajari ring Z/pZ dengan bilangan prima p. Definisi 2.8: Bilangan bulat p disebut prima jika p 2 dan bilangan bulat positif yang bisa membagi p hanya dan p (Hoffstein, et al. 28). Teorema 2.4 (Teorema Dasar Aritmatika). Misalkan bilangan bulat a 2, Maka a dapat difaktorkan sebagai hasil dari bilangan prima (Hoffstein, et al. 28) e a = p e p 2 e 2 p 3 e 3 p r r Definisi 2.9. Teorema dasar aritmatika mengatakan bahwa dalam faktorisasi bilangan bulat positif a ke bilangan prima p, setiap p memiliki pangkat tertentu. Pangkat ini dinotasikan dengan ord p (a). Untuk semua bilangan prima, ord p () = (Hoffstein, et al. 28). Contoh, faktorisasi 728 adalah 728 = , sehingga ord 2 (728) = 6, ord 3 (728) = 3, dan ord p (728) = untuk semua bilangan prima p 5. Jika p adalah prima, maka setiap bilangan bukan nol modulo p memiliki invers perkalian modulo p. Ini berarti bahwa operasi aritmatika modulo p, tidak hanya bisa menambah, mengurangi, mengalikan, tetapi juga bisa membagi dengan bilangan bukan nol, sama seperti operasi pada bilangan real.

11 6 Misalkan p adalah bilangan prima. Maka setiap anggota a dalam Z/pZ yang bukan nol memiliki invers perkalian, yaitu b yang memenuhi ab (mod p). Nilai b dinotasikan dengan a mod p. Definisi 2.. Jika p adalah bilangan prima, maka himpunan bilangan bulat Z/pZ modulo p dengan aturan penambahan, pengurangan, perkalian, dan pembagiannya adalah contoh dari sebuah field yang merupakan nama umum untuk (komutatif) ring, di mana setiap anggota bukan nol-nya memiliki invers perkalian. Beberapa contoh di antaranya adalah field untuk bilangan real R, field untuk bilangan rasional (pecahan) Q, dan field untuk bilangan kompleks C. Field Z/pZ dari bilangan bulat modulo p hanya memiliki jumlah anggota yang berhingga yang disebut sebagai finite field yang dilambangkan dengan F p. Jadi, F p dan Z/pZ adalah dua notasi yang berbeda untuk objek yang sama. Demikian pula, anggota dari group of units (Z/pZ) dilambangkan dengan F p. Finite field adalah aspek dasar yang paling penting dalam seluruh kriptografi (Hoffstein, et al. 28). Meskipun Z/pZ dan F p digunakan untuk menotasikan konsep yang sama, namun kesetaraan elemen di antaranya dinyatakan agak berbeda dalam dua aturan. Untuk a, b F p, kesetaraan a dan b dilambangkan dengan a = b. Sedangkan untuk a, b Z/pZ, kesetaraan a dan b dinotasikan dengan a b (mod p) Advanced Encryption Standard (AES) AES (Advanced Encryption Standard) adalah teknik enkripsi yang dijadikan standar FIPS oleh NIST pada tahun 2. AES dimaksudkan secara bertahap akan menggantikan DES (Data Encryption Standard) sebagai standar enkripsi di Amerika Serikat untuk abad ke-2 (DES sebagai standard FIPS telah dicabut, Mei 25). AES menjadi standar melalui proses seleksi. Dari beberapa teknik enkripsi yang dicalonkan untuk menjadi AES, yang terpilih adalah enkripsi Rijndael. Jadi, algoritma AES dikenal juga dengan algoritma Rijndael. Teknik enkripsi ini termasuk jenis block cipher seperti halnya dengan DES. Perbedaan utama antara teknik enkripsi DES dengan AES adalah dalam transformasi subbytes (menggunakan S-boxes). AES melakukan transformasi secara langsung terhadap naskah, sedangkan DES menggunakan substitusi S-box hanya dalam fungsi cipher f, yang hasilnya kemudian dioperasikan terhadap naskah menggunakan exclusive OR. AES juga menggunakan kunci enkripsi yang lebih besar yaitu 28 bit, 92 bit, atau 256 bit (Kromodimoeljo, 2).

12 7 Secara umum, transformasi dalam algoritma Rijndael terdiri dari: subbytes, shiftrows, mixcolumns, dan AddRoundKey. Algoritma Rijndael beroperasi terhadap state dari naskah yang dipandang sebagai matriks berukuran 4 N b. Setiap kolom dari state merepresentasikan word, dengan s.i sebagai most significant byte untuk kolom ke-i. Beberapa operasi pada algoritma Rijndael didefinisikan pada tingkat byte yang mewakili anggota dalam polynomial field GF(2 8 ). Operasi lainnya didefinisikan dalam istilah 4-byte word (Daemen & Rijmen, 22) Matematika pengantar Polinomial field GF(2 8 ) Setiap anggota dalam finite field dapat direpresentasikan dalam beberapa cara yang berbeda. Untuk setiap pangkat bilangan prima ada sebuah finite field yang karenanya semua representasi dari GF(2 8 ) adalah isomorfik. Representasi dalam persamaan ini memiliki dampak pada kompleksitas implementasi. Sebuah byte b, terdiri dari serangkaian bit b 7 b 6 b 5 b 4 b 3 b 2 b b yang dianggap sebagai polinomial dengan koefisien dalam {, } (Daemen & Rijmen, 22): b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b x + b x. Contoh, byte dengan dengan nilai heksadesimal 57 (biner: ) bersesuaian dengan polinomial: x 6 + x 4 + x 2 + x +. Penambahan Dalam representasi polinomial, jumlah dari dua elemen adalah polinomial dengan koefisien yang diberikan oleh penjumlahan dalam modulo 2 (yaitu, + = ) terhadap koefisien-koefisiennya. Contoh: = D4, atau dengan notasi polinomial: (x 6 + x 4 + x 2 + x + ) + (x 7 + x + ) = x 7 + x 6 + x 4 + x 2. Dalam notasi biner: + =. Operasi penambahan sesuai dengan bitwise XOR (dilambangkan dengan ) pada tingkat byte. Semua kondisi yang harus terpenuhi dalam kelompok Abelian adalah: internal, asosiatif, elemen netral (), elemen inverse dan komutatif (Daemen & Rijmen, 22). Perkalian Dalam representasi polinomial, perkalian dalam GF(2 8 ) bersesuaian dengan perkalian polinomial modulo suatu irreducible binary polynomial berderajat 8. Dalam Rijndael, polinomial ini adalah: m(x) = (x 8 + x 4 + x 3 + x + )

13 8 atau B dalam representasi heksadesimal. Contoh: = C, atau: (x 6 + x 4 + x 2 + x + ) (x 7 + x + ) = x 3 + x + x 9 + x 8 + x 7 + x 7 + x 5 + x 3 + x 2 + x + x 6 + x 4 + x 2 + x + = x 3 + x + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + x 7 + x 6 + mod (x 8 + x 4 + x 3 + x + ) Jelas, hasilnya akan menjadi polinomial biner berderajat di bawah 8. Tidak seperti penambahan, tidak ada penyederhanaan operasi perkalian pada tingkat byte. Perkalian seperti yang telah didefinisikan sebelumnya adalah asosiatif dan ada elemen netral (). Untuk setiap polinomial biner b(x) berderajat di bawah 8, algoritma extended Euclidean digunakan untuk menghitung polinomial a(x), c(x) sedemikian rupa sehingga a(x) b(x) + c(x) m(x) =, oleh karena itu, a(x) b(x) mod m(x) atau b (x) a(x) mod m(x). Selain itu, dapat dinyatakan bahwa a(x) (b(x) + c(x)) = a(x) b(x) + a(x) c(x). Ini memungkinkan himpunan byte sebesar 256 dengan XOR sebagai penambahan dan perkalian yang didefinisikan seperti pada struktur finite field GF(2 8 ) (Daemen & Rijmen, 22). Perkalian dengan x Jika b(x) dikalikan dengan polinomial x, hasilnya: b 7 x 8 + b 6 x 7 + b 5 x 6 + b 4 x 5 + b 3 x 4 + b 2 x 3 + b x 2 + b x dalam modulo m(x). Jika b 7 =, penyederhanaan ini disebut operasi identitas, jika b 7 =, maka m(x) harus dikurangi (dengan operasi XOR). Oleh karena itu, perkalian dengan x (heksadesimal 2) dapat diimplementasikan pada tingkat byte sebagai pergeseran ke kiri dan dengan kondisi tertentu di-xor-kan dengan B. Operasi ini dilambangkan dengan b = xtime(a). Dalam kondisi tertentu, xtime hanya membutuhkan 4 kali XOR. Perkalian dengan pangkat yang lebih tinggi dari x dapat diimplementasikan dengan xtime berulang kali. Dengan penambahan terpisah, perkalian dengan konstanta apapun dapat diimplementasikan dengan mudah (Daemen & Rijmen, 22). Contoh: 57 3 = FE = xtime(57) = AE 57 4 = xtime(ae) = = xtime(47) = 8E 57 = xtime(8e) = = 57 ( 2 ) = 57 AE 7 = FE

14 9 Polinomial dengan koefisien dalam GF(2 8 ) Polinomial dapat didefinisikan dengan koefisien dalam GF(2 8 ). Dengan cara ini, vektor 4-byte bersesuai dengan polinomial berderajat di bawah 4. Polinomial dapat ditambahkan dengan hanya menambahkan koefisien yang sesuai. Sebagaimana penambahan dalam GF(2 8 ) adalah operasi XOR, penambahan dua vektor juga menggunakan operasi XOR. Anggaplah dua polinomial dalam GF(2 8 ), yaitu: a(x) = a 3 x 3 + a 2 x 2 + a x + a dan b(x) = b 3 x 3 + b 2 x 2 + b x + b. Hasilnya adalah c(x) = a(x) b(x) c(x) = c 6 x 6 + c 5 x 5 + c 4 x 4 + c 3 x 3 + c 2 x 2 + c x + c di mana, c = a b c 4 = a 3 b a 2 b 2 a b 3 c = a b a b c 5 = a 3 b 2 a 2 b 3 c 2 = a 2 b a b a b 2 c 6 = a 3 b 3 c 3 = a 3 b a 2 b a b 2 a b 3 Jelas, c(x) tidak dapat lagi diwakili oleh vektor 4-byte. Dengan menjadikan c(x) dalam modulo polinomial berderajat 4 hasilnya dapat disederhanakan menjadi polinomial berderajat di bawah 4. Pada algoritma Rijndael, hal ini dilakukan dengan polinomial M(x) = x 4 +. Karena x i mod x 4 + = x i mod 4 adalah hasil modular dari a(x) dan b(x), dapat dinotasikan dengan d(x) = a (x) b(x) = d 3 x 3 + d 2 x 2 + d x + d. Di mana, d = a b a 3 b a 2 b 2 a b 3 d = a b a b a 3 b 2 a 2 b 3 d 2 = a 2 b a b a b 2 a 3 b 3 d 3 = a 3 b a 2 b a b 2 a b 3 Operasi perkalian dengan polinomial tetap a(x) dapat ditulis sebagai perkalian matriks sebagai berikut: [ d d d 2 d 3 ] = [ a a a 2 a 3 a 3 a a a 2 a 2 a 3 a a a b a 2 b a ] [ ] 3 b 2 a b 3 x 4 + bukan merupakan irreducible polynomial dalam GF(2 8 ), ini dikarenakan perkalian dengan polinomial tetap belum tentu memiliki invers. Dalam cipher Rijndael, harus menggunakan polinomial tetap yang memiliki invers (Daemen & Rijmen, 22).

15 2 Perkalian dengan x Jika b(x) dikalikan dengan x, maka hasilnya adalah b 3 x 4 + b 2 x 3 + b x 2 + b x. Hasil b(x) x diperoleh dengan mereduksi hasil di atas dengan modulo x 4 +. Sehingga menjadi b 2 x 3 + b x 2 + b x + b 3. Perkalian dengan x setara dengan perkalian dengan matriks seperti di atas di mana semua a i = kecuali a =. Misalkan c(x) = x b(x), maka: c c [ c ] = [ 2 c 3 b b ] [ ] b 2 b 3 Oleh karena itu, perkalian dengan x atau pemangkatan dengan x, sesuai dengan pergeseran siklik byte di dalam vektor (Daemen & Rijmen, 22) State, cipher key dan jumlah putaran Rijndael menghasilkan blok yang diacak berulang kali berdasarkan variabel panjang blok dan kunci yang masing-masing dapat berukuran 28, 92 atau 256 bit. Naskah asli atau naskah acak (cipher) yang belum selesai ditransformasi disebut state. Suatu state digambarkan sebagai array dua dimensi dalam byte. Array ini memiliki empat baris dan jumlah kolom dilambangkan dengan N b yang sama dengan panjang blok dibagi dengan 32. Cipher key juga digambarkan sebagai array dua dimensi dengan empat baris dan jumlah kolom dilambangkan dengan N k yang sama dengan panjang kunci dibagi dengan 32. Dalam beberapa kasus, blok ini juga dianggap sebagai array satu dimensi dari vektor 4-byte, di mana setiap vektor terdiri dari kolom yang sesuai dalam representasi array dua dimensi. Array ini memiliki panjang masing-masing 4, 6, atau 8, dan indeks dalam rentang..3,..5, atau..7. Vektor 4-byte ini disebut dengan word. Input yang diproses dan output yang dihasilkan oleh Rijndael adalah array satu dimensi berukuran 4 (N b ) byte atau setara dengan 6, 24 atau 32 byte dan indeks dalam rentang..5,..23 atau..3. Setiap input dalam satuan byte dipetakan ke dalam state dengan urutan b,, b,, b 2,, b 3,, b,, b,, b 2,, b 3,,, b 3,Nb, begitu juga dengan cipher key yang dipetakan dengan urutan k,, k,, k 2,, k 3,, k,, k,, k 2,, k 3,,, k 3,Nk. Di akhir operasi, output diekstrak kembali dari state dengan urutan yang sama (Daemen & Rijmen, 22).

16 2 b, b, b,2 b,3 b,4 b,5 k, k, k,2 k,3 b, b, b,2 b,3 b,4 b,5 k, k, k,2 k,3 b 2, b 2, b 2,2 b 2,3 b 2,4 b 2,5 k 2, k 2, k 2,2 k 2,3 b 3, b 3, b 3,2 b 3,3 b 3,4 b 3,5 k 3, k 3, k 3,2 k 3,3 Tabel 2.3: Contoh representasi state (N b = 6) dan cipher key (N k = 4). Jika indeks array satu dimensi dalam byte suatu blok adalah n dan indeks array dua dimensi adalah (i, j), maka: i = n mod 4, j = n/4, n = i + 4j Nilai i adalah jumlah vektor 4-byte atau word, sedangkan j menunjukkan indeks vektor atau word dalam blok. Banyaknya jumlah putaran N r bergantung pada panjang blok N b dan kunci N k (Daemen & Rijmen, 22), seperti ditunjukkan pada Tabel 2.3. N r N b = 4 N b = 6 N b = 8 N k = N k = N k = Tabel 2.4: Jumlah putaran N r sebagai fungsi blok terhadap panjang kunci Enkripsi Pada proses enkripsi AES dilakukan transformasi subbytes, shiftrows, mixcolumns, dan addroundkey berulang kali hingga N r. Di putaran ke-n r, transformasi yang dilakukan tetap sama, tetapi tanpa transformasi mixcolumns. Berikut pseudocode enkripsi AES: Round(state, roundkey). subbytes(state); 2. shiftrows(state); 3. mixcolumns(state); 4. addroundkey(state, roundkey); Transformasi subbytes Transformasi subbytes adalah substitusi byte non-linear, yang beroperasi pada setiap byte pada state secara independen. Tabel substitusi (S-box) dapat diinvers dan dibuat dengan dua transformasi. Pertama, menggunakan invers perkalian dalam GF(2 8 ), kemudian menerapkan transformasi affine dalam GF(2 8 ) (Daemen & Rijmen, 22) yang didefinisikan sebagai berikut:

17 22 Contoh: subbytes(a7) = 5C, subbytes(3f) = 75 (Paar, 2). y y y 2 y 3 y 4 y 5 y 6 [ y 7 ] [ A B C D E F 63 7C 77 7B F2 6B 6F C B FE D7 AB 76 CA 82 C9 7D FA F AD D4 A2 AF 9C A4 72 C 2 B7 FD F F7 CC 34 A5 E5 F 7 D C7 23 C A E2 EB 27 B C A B 6E 5A A 52 3B D6 B3 29 E3 2F D ED 2 FC B 5B 6A CB BE 39 4A 4C 58 CF 6 D EF AA FB 43 4D F9 2 7F 5 3C 9F A8 7 5 A3 4 8F 92 9D 38 F5 BC B6 DA 2 FF F3 D2 8 CD C 3 EC 5F C4 A7 7E 3D 64 5D F DC 22 2A EE B8 4 DE 5E B DB A E 32 3A A C C2 D3 AC E4 79 B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 8 C BA E C A6 B4 C6 E8 DD 74 F 4B BD 8B 8A D 7 3E B F6 E B9 86 C D 9E E E F D9 8E 94 9B E 87 E9 CE DF F 8C A 89 D BF E D F B 54 BB 6 Transformasi shiftrows Tabel 2.5: AES S-Box. Pada transformasi shiftrows, deretan baris pada state digeser ke kiri sebanyak n kali. Untuk N b < 8, baris pertama tidak bergeser, baris kedua digeser sekali ke kiri, baris ketiga digeser dua kali ke kiri, dan baris keempat digeser sebanyak tiga kali ke kiri atau digeser sekali ke kanan. Pergeseran ini dinotasikan dengan C, C 2, dan C 3 tergantung pada panjang blok N b (Daemen & Rijmen, 22) seperti pada Tabel 2.5: N b C C 2 C Tabel 2.6: Besarnya pergeseran baris pada shiftrows terhadap panjang blok. x x x 2 x 3 x 4 x 5 x 6 ] [ x 7 ] + mod 2 [ ]

18 23 S S 4 S 8 S 2 S S 5 S 9 S 3 S 2 S 6 S S 4 S 3 S 7 S S 5 Tidak digeser Digeser C kali Digeser C 2 kali Digeser C 3 kali S S 4 S 8 S 2 S 5 S 9 S 3 S S S 4 S 2 S 6 S 5 S 3 S 7 S mixcolumns(state, Nb). C = {,, 2, 3 }; 2. if(nb > 6) 3. C = {,, 2, 4 }; 4. for (i ; i < Nb; i i + ) 5. for (j ; j < 4; j j + ) 6. block[i][j] = state[(i + C[j]) % Nb][j]; 7. return block; Transformasi mixcolumns Pada transformasi mixcolumns, setiap kolom pada state dapat dipandang sebagai polinomial dalam GF(2 8 ) dan dikalikan dengan polinomial tetap modulo x 4 +, yaitu: c(x) = 3x 3 + x 2 + x + 2. Polinomial ini adalah relatif prima untuk x 4 + dan memiliki invers (Daemen & Rijmen, 22). Misalkan b(x) = c(x) a(x), maka perkalian matriksnya adalah: b b b 2 2 [ ] = [ b a a ] [ 3 a ] 2 2 a 3 Contoh: Misalkan state seperti berikut, dan akan dilakukan transformasi mixcolumns, D4 E B8 E E BF B D = 66 CB F D AE F E5 3 2 E5 9A 7A 4C S = (D4 2) (BF 3) (5D ) (3 ) = 4 S = (D4 ) (BF 2) (5D 3) (3 ) = 66 S 2 = (D4 ) (BF ) (5D 2) (3 3) = 8 S 3 = (D4 3) (BF ) (5D ) (3 2) = 5E S 5 = (E 3) (27 ) (98 ) (E5 2) = 4C

19 24 Transformasi addroundkey Transformasi ini cukup sederhana, yaitu dengan melakukan operasi XOR terhadap cipher key dengan state. Cipher key diperoleh melalui proses key schedule, sebagian menyebut proses ini dengan ekspansi kunci. Panjang cipher key bervariasi tergantung dengan panjang kuncinya (Daemen & Rijmen, 22). Untuk AES 28-bit dengan state sebesar 4 word, diperlukan cipher key dengan panjang 44 word. Hal ini dikarenakan jumlah putarannya sebanyak kali, dengan setiap putaran diperlukan N k sebesar 4 word untuk dilakukan XOR terhadap state dengan besar yang sama (N b = 4 word). Dengan demikian, total panjang kunci adalah 4 word = 4 word ditambah dengan addroundkey yang pertama kali, sehingga 4 word + 4 word = 44 word. Hal yang sama untuk AES 92-bit dan AES 256-bit, panjang cipher key yang diperlukan masing-masing 52 word dan 6 word. Panjang state N b harus sama dengan panjang kunci N k, seperti berikut: 4 E CB F D3 26 E5 9A 7A 4C A A FA 54 A3 6C = FE 2C B 39 5 A4 68 6B 2 9C 9F 5B 6A 7F 35 EA 5 F2 2B 43 49

20 25 Start Nr, key, message cipherkey = keyschedule(key) addroundkey(message, key) i = subbytes(state, cipherkey[i]) False i < Nr - True subbytes(state, cipherkey[i]) shiftrows(state, cipherkey[i]) shiftrows(state, cipherkey[i]) i = i + addroundkey(state, cipherkey[i]) mixcolumns(state, cipherkey[i]) cipher addroundkey(state, cipherkey[i]) End Gambar 2.: Flowchart algoritma enkripsi AES Dekripsi Algoritma dekripsi AES adalah kebalikan dari algoritma enkripsi AES. Jumlah putaran tetap sama, hanya saja pada putaran pertama transformasi yang dilakukan adalah addroundkey, shiftrows, dan subbytes yang sama dengan kebalikan dari transformasi pada proses enkripsi AES di putaran terakhir. Sisa putaran selanjutnya dilakukan transformasi dengan urutan sebagai berikut: addroundkey, mixcolumns, shiftrows, dan subbytes.

21 26 Start Nr, key, cipher cipherkey = keyschedule(key) addroundkey(cipher, cipherkey[nr - ]) shiftrows(state, cipherkey[nr - ]) subbytes(state, cipherkey[nr - ]) i = Nr - 2 addroundkey(state, key) False i > - True addroundkey(state, cipherkey[i]) cipher mixcolumns(state, cipherkey[i]) End i = i - shiftrows(state, cipherkey[i]) subbytes(state, cipherkey[i]) Gambar 2.2: Flowchart algoritma dekripsi AES. Transformasi subbytes invers Sama seperti proses enkripsi, hanya saja transformasi subbytes invers pada proses dekripsi menggunakan tabel S-box invers yang diperoleh dari invers pemetaan affine, diikuti perkalikan invers dalam GF(2 8 ). Tabel 2.6 adalah tabel S-Box.

22 A B C D E F A D A5 38 BF 4 A3 9E 8 F3 D7 FB 7C E B 2F FF E C4 DE E9 CB B A6 C2 23 3D EE 4C 95 B 42 FA C3 4E 3 8 2E A D9 24 B2 76 5B A2 49 6D 8B D F8 F D4 A4 5C CC 5D 65 B C FD ED B9 DA 5E A7 8D 9D D8 AB 8C BC D3 A F7 E B8 B D 2C E 8F CA 3F F 2 C AF BD 3 3 8A 6B 8 3A 9 4 4F 67 DC EA 97 F2 CF CE F B4 E AC E7 AD E2 F9 37 E8 C 75 DF 6E A 47 F A 7 D 29 C5 89 6F B7 62 E AA 8 BE B B FC 56 3E 4B C6 D A DB C FE 78 CD 5A F4 C F DD A C7 3 B EC 5F D 6 5 7F A9 9 B5 4A D 2D E5 7A 9F 93 C9 C9 EF E A E 3B 4D AE 2A F5 B C8 EB BB 3C F 7 2B 4 7E BA 77 D6 26 E C 7D Tabel 2.7: AES S-Box. Transformasi shiftrows invers Pada dekripsi, shiftrows invers ditransformasikan dengan arah yang berlawanan dengan shiftrows pada proses enkripsi. Jadi, arah pergeserannya adalah ke kanan. S S 4 S 8 S 2 S 5 S 9 S 3 S S S 4 S 2 S 6 S 5 S 3 S 7 S S S 4 S 8 S 2 S S 5 S 9 S 3 S 2 S 6 S S 4 S 3 S 7 S S 5 Transformasi mixcolumns invers Transformasi mixcolumns invers pada dekripsi sama seperti mixcolumns pada proses enkripsi, hanya saja setiap kolom state ditransformasikan dengan perkalian terhadap polinomial Bx 3 + Dx 2 + 9x + E. Yang memenuhi hukum invers: (3x 3 + x 2 + x + 2) (Bx 3 + Dx 2 + 9x + E) =, sehingga perkalian matriksnya adalah: b b b 2 E [ ] = [ 9 D b 3 B B E 9 D D B E 9 a 9 D a ] [ B a ] 2 E a 3

23 Key sechedule Round key berasal dari Cipher key dengan menggunakan proses Key schedule yang nantinya diperlukan pada transformasi addroundkey, di mana dilakukan proses XOR terhadap state dengan round key. Proses ini terdiri dari dua tahap, yaitu ekspansi kunci dan pemilihan round key. Prinsip dasarnya adalah sebagai berikut: Jumlah round key dalam bit adalah sama dengan panjang blok dikalikan dengan jumlah putaran ditambah satu. (Misalnya, untuk panjang blok 28 bit dan putaran, jumlah round key yang diperlukan sebesar 48 bit). Cipher key yang sudah diperbesar disebut Expanded key. Round key diambil dari expanded key dengan cara berikut: round key yang pertama diambil dari N b word pertama, round key yang kedua diambil dari N b word berikutnya, dan begitu seterusnya. Expanded key adalah array sebesar 4-byte word dan dilambangkan dengan W[N b (N r + )]. N k word pertama berisi cipher key, sementara word lainnya didefinisikan secara rekursif dalam word dengan indeks yang lebih kecil. Fungsi ekspansi kunci tergantung pada nilai N k. Dalam uraian ini, subbyte(w) adalah fungsi yang mengembalikan 4-byte word, di mana setiap byte adalah hasil dari penerapan Rijndael S-box terhadap byte yang posisinya sesuai dengan word masukan. Fungsi rotbyte(w) mengembalikan sebuah word di mana suatu word masukan (a, b, c, d) menghasilkan word keluaran (b, c, d, a). Pada N k pertama diisi dengan cipher key. Setiap word berikutnya W[i] adalah sama dengan XOR dengan word sebelumnya W[i ] dan N k word diposisikan dengan W[i N k ]. Untuk word dalam posisi yang merupakan kelipatan N k, transformasi dengan operasi XOR diterapkan terlebih dahulu terhadap W[i ] dengan dan konstanta putaran. Konstanta putaran ini didefinisikan dengan: Rcon[i] = [RC[i] ], di mana RC[i] mewakili elemen dalam GF(2 8 ) dengan nilai x i. Round key ke-i sama dengan word W[N b i] sampai W[N b (i + )] (Daemen & Rijmen, 22).

24 Algoritma Percobaan Bilangan Prima Miller-Rabin Teorema kecil Fermat menjelaskan bahwa jika p adalah bilangan prima, maka berlaku: a p (mod p), untuk setiap bilangan bulat a dan p a. Jika kedua sisi dikalikan dengan a, maka teorema Fermat akan menjadi a p a (mod p). Selanjutnya dikatakan bahwa a adalah witness terhadap n jika a n a (mod n). Witness terhadap n dikombinasikan dengan teorema Fermat cukup untuk membuktikan tanpa keraguan bahwa n adalah komposit. Sedangkan cara untuk menilai kemungkinan bahwa n adalah prima, dengan mencoba berbagai nilai a, a 2, a 3 dan seterusnya. Jika salah satunya adalah witness terhadap n, maka disimpulkan bahwa n adalah komposit. Akan tetapi jika di antaranya tidak ada witness terhadap n, maka n diduga adalah prima. Diketahui sebuah bilangan komposit 56 = 3 7, dan tentu saja bilangan ini memiliki witness. Dan ternyata setelah diteliti, bilangan tersebut tidak memiliki witness. Dengan kata lain a 56 a (mod 56), untuk setiap bilangan bulat a. Dialah R.D. Carmichael yang pada tahun 9 telah menemukan bilangan komposit yang tidak memiliki witness ini, dan dia menyebutnya dengan bilangan Carmichael. Dan pada tahun 984, Alford, Granville, dan Pomerance telah menemukan ada tak berhingga bilangan Carmichael. Jadi, teorema Fermat tidak lagi dapat mengungkap apakah n adalah (mungkin) prima atau komposit. Berikut adalah aturan-aturan dalam bilangan prima yang akan diformulasikan menjadi pengecekan bilangan prima Miller-Rabin dengan menyetujui bahwa setiap bilangan komposit memiliki sejumlah besar witness. Misalkan p adalah sebuah bilangan prima, maka p = 2 k q, q adalah bilangan ganjil. Misalkan a adalah bilangan bulat apapun yang tidak bisa dibagi dengan p, maka satu dari dua kondisi berikut adalah benar: a q (mod p). Salah satu dari a q, a 2q, a 4q,, a 2k q adalah kongruen modulo p. Definisi 2.2. Misalkan n adalah sebuah bilangan ganjil, maka n = 2 k q. Bilangan bulat a yang memenuhi gcd(a, n) = disebut witness Miller-Rabin terhadap n jika kedua kondisi berikut adalah benar:

25 3 a q (mod n). a 2iq (mod n), untuk setiap i =,, 2,, k (Hoffstein, et al. 28). Jika ada a yang merupakan witness Miller-Rabin terhadap n, maka dapat dipastikan n adalah bilangan komposit. Dan sedikitnya 75% bilangan antara dan - adalah witness Miller-Rabin terhadapa n. Miller-Rabin adalah algoritma pengecekan bilangan prima secara probabilistik terhadap n. Caranya adalah dengan menghitung n 2 k q (mod n). Lalu hitung a q (mod n), jika hasilnya kongruen, maka n mungkin prima. Tetapi, jika hasilnya tidak kongruen, maka hitung nilai dari setiap a q a 2q a 22q a 2k q (mod n). Jika pada salah satu nilai kongruen dengan, maka n mungkin prima. Dan jika sampai pada k tidak diperoleh nilai yang kongruen dengan, maka n adalah komposit. Misalkan bilangan ganjil n = akan diperiksa apakah (mungkin) prima atau komposit dengan a = 7, maka n = = Selanjutnya hitung (mod ), maka a = 7 bukan witness Miller-Rabin terhadap n. Ganti a = 3, diperoleh (mod ). Nilai a = 3 juga gagal menjadi witness Miller-Rabin terhadap n, ini berarti n mungkin prima. Akan tetapi jika dicoba dengan a = 23, (mod ), (mod ), (mod ), diperoleh hasil yang berarti a = 23 adalah witness Miller-Rabin terhadap n, sehingga dapat disimpulkan bahwa n adalah bilangan komposit. Dan faktanya n adalah bilangan Carmichael (Hoffstein, et al. 28).

26 Elliptic Curve (Kurva Eliptik) Kurva eliptik adalah himpunan solusi dalam bentuk persamaan: Y 2 = X 3 + AX + B. Persamaan jenis ini disebut persamaan Weierstrass, seorang ahli matematika yang telah mempelajarinya secara ekstensif selama abad ke-9. Gambar 2.3 adalah dua contoh kurva eliptik, E : Y 2 = X 3 3X + 3 dan E 2 : Y 2 = X 3 6X + 5. E : Y 2 = X 3 3X + 3 E 2 : Y 2 = X 3 6X + 5 Gambar 2.3: Dua contoh kurva eliptik Sebuah fitur yang mengagumkan dari kurva eliptik adalah bahwa ada cara alami untuk mengambil dua buah titik pada sebuah kurva eliptik dan "menambahkan"-nya untuk menghasilkan titik ketiga. Cara yang paling tepat untuk menggambarkan hukum "penambahan" pada kurva eliptik ini adalah dengan menggunakan geometri. Gambar 2.4: Hukum penambahan pada kurva eliptik. Misalkan P dan Q adalah dua titik pada kurva eliptik E, seperti yang diilustrasikan pada Gambar 2.4. Jika ada garis L melalui titik P dan Q, maka garis ini akan memotong E di tiga titik, yaitu P, Q, dan satu titik lainnya R. Selanjutnya, titik R ini dicerminkan terhadap sumbu X (dengan mengalikan koordinat Y dengan ) untuk mendapatkan titik yang baru, R. Titik R ini adalah hasil "penambahan" dari P dan Q

27 32 yang tidak sama seperti proses penambahan pada umumnya. Hukum penjumlahan ini dilambangkan dengan. Sehingga dapat ditulis P Q = R (Hoffstein, et al. 28). Contoh 2.2. Misalkan kurva eliptik E sebagai berikut: Y 2 = X 3 5X + 8 () Titik P = (7, 6) dan Q = (, 2) berada di kurva E. Persamaan garis L yang menghubungkan kedua titik itu adalah L Y = 7 3 X 3 (2) Untuk mencari titik-titik di mana kurva E dan garis L berpotongan, substitusikan persamaan (2) ke dalam persamaan (), sehingga: ( 7 3 X 3 ) 2 = X 3 5X X = X3 5X + 8 = X X2 2 6 X Selanjutnya, perlu ditemukan akar kubik dari persamaan polinomial ini. Secara umum, menemukan akar kubik sangat sulit. Namun, dalam hal ini dua akar sudah diketahui, yaitu X = 7 dan X =, karena P dan Q berada di perpotongan E L. Hal ini menjadi mudah untuk menemukan akar yang lain, X X2 2 6 X = (X 7) (X ) (X ) sehingga titik ketiga dari perpotongan garis L dan kurva E memiliki koordinat X sama dengan Selanjutnya mencari koordinat Y dengan menyubstitusikan X = 23 9 ke dalam persamaan (2), sehingga diketahui titik R = ( 23, 7 ). Terahir, refleksikan titik 9 R ini dengan sumbu X untuk mendapatkan P Q = ( 23 9, 7 27 ) Ada beberapa hal yang perlu diperhatikan pada penambahan kurva eliptik. Bayangkan apa yang terjadi pada garis L yang menghubungkan titik P dan Q, jika titik Q digeser sepanjang kurva dan semakin dekat ke titik P. Dalam limit Q mendekati P, garis L akan menjadi garis tangen pada kurva E di titik P. Jadi, dapat dikatakan titik P ditambahkan ke dirinya sendiri. Untuk menambahkan titik P dengan P, garis L harus menjadi garis tangen terhadap kurva E di titik P, seperti pada Gambar 2.5. Maka garis 27

28 33 L memotong E di titik P dan satu titik lainnya, R. Sama seperti sebelumnya, garis L tetap memotong kurva E di tiga titik, namun P dihitung sebagai dua di antaranya. L menjadi garis tangen kurva E di titik P Gambar 2.5: Penambahan titik P dengan dirinya sendiri. Melanjutkan dengan kurva E dan titik P pada Contoh 2.2 untuk menghitung P P, kemiringan λ dapat dihitung dengan diferensiasi dari persamaan (). 2Y dy dx = 3X2 5, dy dx = 3X2 5 2Y Dengan menyubstitusikan titik P = (7, 6), diperoleh kemiringan λ = Jadi, persamaan garis tangen E di titik P adalah: L: Y = 33 8 X 3 8 Sekarang substitusikan persamaan (3) ke dalam persamaan () untuk kurva E, sederhanakan, lalu faktorkan: ( X 8 8 ) = X 3 5X + 8 X X X = (X 7) 2 (X ) = Koordinat X pada titik P, yaitu X = 7, muncul sebagai akar kuadrat dari polinomial kubik, sehingga mudah untuk mencari akar ketiga. Akhirnya, substitusikan X = ke persamaan (3) pada garis L, sehingga didapatkan Y =, lalu ganti tanda pada Y untuk mendapatkan P P = ( 93 64, ) 52 (3)

29 34 Muncul permasalahan pada "hukum penambahan" jika mencoba untuk menambahkan titik P (a, b) dengan refleksinya dengan sumbu X, yaitu P (a, b). Garis L yang melalui titik P dan P adalah garis vertikal X = a, dan garis ini memotong kurva E hanya di dua titik, yaitu P dan P. Tidak ada titik ketiga yang memotong kurva, sehingga tampak terjebak dalam permasalahan ini. Tapi, sebenarnya inilah jalan keluarnya. Solusinya adalah dengan membuat titik tambahan, O yang ada di "tak terhingga". Lebih tepatnya titik O tidak ada dalam koordinat XY, tapi diandaikan bahwa titik ini terletak di sepanjang garis vertikal. Selanjutnya ditetapkan P P = O Garis L yang menghubungkan P ke O adalah garis vertikal yang melalui titik P dan O yang diandaikan ada dan terletak di sepanjang garis vertikal dan garis vertikal ini memotong kurva E pada titik-titik P, O, dan P (a, b). Untuk menambahkan P dengan O, refleksikan P pada sumbu X yang mendapat kembali titik P. Dengan kata lain, P O = P. Jadi, O bertindak seperti nol pada penjumlahan kurva. Gambar 2.6: Garis vertikal L yang melalui P(a, b) dan P (a, b). Maka dapat diambil kesimpulan baru, kurva eliptik E adalah himpunan solusi untuk persamaan Weierstrass E: Y 2 = X 3 + AX + B bersama dengan titik tambahan O, di mana konstanta A dan B harus memenuhi 4A B 2. Hukum penambahan pada kurva E didefinisikan sebagai berikut: misalkan P dan Q adalah dua titik pada kurva E, dan L adalah garis yang menghubungkan P dan Q, atau garis singgung terhadap E di titik P jika P = Q. Kemudian perpotongan E dengan L terdiri dari tiga titik P, Q, dan R, dan dengan pemahaman bahwa O diandaikan

30 35 ada dan terletak di sepanjang garis vertikal. Jika R (a, b) adalah hasil penjumlahan dari P dan Q yang didefinisikan sebagai pencerminan dari R terhadap sumbu X, yaitu R (a, b). Penjumlahan ini dinotasikan dengan P Q, atau hanya dengan P + Q (Hoffstein, et al. 28). Selanjutnya, jika P = (a, b), maka refleksi P terhadap sumbu X dapat dinotasikan dengan P = (a, b), atau hanya dengan P, dan dapat didefinisikan P Q (atau P Q) menjadi P ( Q). Demikian pula, penambahan berulang dapat direpresentasikan sebagai perkalian suatu titik dengan integer (Hoffstein, et al. 28), np = P + P + P + + P n kali Hasil dari E = 4A B 2 disebut diskriminan E. Kondisi E adalah setara dengan kondisi bahwa polinomial kubik X 3 + AX + B tidak memiliki akar yang diulang, yaitu jika X 3 + AX + B difaktorkan secara lengkap menjadi: X 3 + AX + B = (X e )(X e 2 )(X e 3 ) di mana e, e 2, e 3 adalah bilangan kompleks, kemudian 4A B 2 jika dan hanya jika e, e 2, dan e 3 semua berbeda. Kurva dengan E = memiliki titik tunggal. Hukum penambahan tidak bekerja dengan baik pada kurva tersebut. Itulah sebabnya mengapa diperlukan kondisi E dalam sebuah kurva eliptik. Teorema 2.5. Misalkan E menjadi kurva eliptik, maka hukum penambahan E memiliki sifat sebagai berikut: a) P + O = O + P = P untuk semua P E. (Identitas) b) P + ( P) = O untuk semua P E. (Invers) c) (P + Q) + R = P + (Q + R) untuk semua P, Q, R E. (Asosiatif) d) P + Q = Q + P untuk semua P, Q E. (Komutatif) Dengan kata lain, hukum penambahan menjadikan titik-titik pada E menjadi grup abelian (Hoffstein, et al. 28). Teorema 2.6: (Algoritma Penambahan pada Kurva Eliptik). Misalkan E: Y 2 = X 3 + AX + B adalah sebuah kurva eliptik, dan misalkan P dan P 2 adalah titik-titik pada E. Maka: a) Jika P = O, maka P + P 2 = P 2. b) Sebaliknya, jika P 2 = O, maka P + P 2 = P.

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi BAB II DASAR TEORI Pada bagian ini akan dibahas mengenai dasar teori yang digunakan dalam pembuatan sistem yang akan dirancang dalam skripsi ini. 2.1. Enkripsi dan Dekripsi Proses menyandikan plaintext

Lebih terperinci

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara 5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana mengirim pesan secara rahasia sehingga hanya orang yang dituju saja yang dapat membaca pesan rahasia tersebut.

Lebih terperinci

BAB IV PENGUJIAN DAN ANALISIS

BAB IV PENGUJIAN DAN ANALISIS BAB IV PENGUJIAN DAN ANALISIS Pada bagian ini merupakan pembahasan mengenai pengujian sistem dimana hasil pengujian yang akan dilakukan oleh sistem nantinya akan dibandingkan dengan perhitungan secara

Lebih terperinci

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone Amir Mahmud Hasibuan STMIK Budi Darma, Jl. Sisingamangaraja No.338 Medan, Sumatera Utara, Indonesia http : //www.stmik-budidarma.ac.id

Lebih terperinci

BAB III ANALISIS SISTEM

BAB III ANALISIS SISTEM BAB III ANALISIS SISTEM Analisis merupakan kegiatan berfikir untuk menguraikan suatu pokok menjadi bagian-bagian atau komponen sehingga dapat diketahui cirri atau tanda tiap bagian, kemudian hubungan satu

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Tol Tol adalah biaya yang ditarik oleh pihak yang berwenang kepada orang yang melewati suatu daerah/jalan di mana pendapatan tersebut digunakan untuk biaya pemeliharaan jalan/daerah

Lebih terperinci

Bab 2 Tinjauan Pustaka

Bab 2 Tinjauan Pustaka Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Telah dilakukan penelitian tentang permasalahan keamanan data di basis data yaitu akses ilegal ke sistem basis data. Akses ilegal yang dimaksud adalah pencurian

Lebih terperinci

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A. Latar Belakang Advanced Encryption Standard (AES) Rifqi Azhar Nugraha 1137050186 IF 6 A DES dianggap sudah tidak aman. rifqi.an@student.uinsgd.ac.id Perlu diusulkan standard algoritma baru sebagai pengganti

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1. Tinjauan Pustaka Menurut (Alyanto, 2016) dalam penelitiannya yang berjudul Penerapan Algoritma AES : Rijndael dalam Pengenkripsian Data Rahasia, melakukan

Lebih terperinci

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2: Kriptografi. Landasan Matematika. Fungsi Bab 2: Kriptografi Landasan Matematika Fungsi Misalkan A dan B adalah himpunan. Relasi f dari A ke B adalah sebuah fungsi apabila tiap elemen di A dihubungkan dengan tepat satu elemen di B. Fungsi juga

Lebih terperinci

PRESENTASI TUGAS AKHIR KI091391

PRESENTASI TUGAS AKHIR KI091391 PRESENTASI TUGAS AKHIR KI939 IMPLEMENTASI ALGORITMA RIJNDAEL DENGAN MENGGUNAKAN KUNCI ENKRIPSI YANG BERUKURAN MELEBIHI 256 BIT (Kata kunci: Advanced Encryption Standard, Algoritma Rijndael, cipher key,

Lebih terperinci

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Andreas Dwi Nugroho (13511051) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Penggunaan Timing Attack Sebagai Salah Satu Jenis Serangan pada Kriptografi

Penggunaan Timing Attack Sebagai Salah Satu Jenis Serangan pada Kriptografi Penggunaan Timing Attack Sebagai Salah Satu Jenis Serangan pada Kriptografi Widhi Ariandoko - 13508109 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna, II. TINJAUAN PUSTAKA Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna, square free, keterbagian bilangan bulat, modulo, bilangan prima, daerah integral, ring bilangan bulat

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Metode penulisan rahasia diketahui telah ada sejak 2500 tahun yang lalu. David Kahn, penulis buku The Code Breakers mengatakan bahwa kriptografi muncul secara spontan

Lebih terperinci

Algoritma Spiral shifting

Algoritma Spiral shifting Algoritma Spiral shifting Algoritma Gabungan Feistel Network dan Rijndael dengan Transformasi Spiral shifting dan Dependent SubBytes Muhammad Harits Shalahuddin Adil Haqqi Elfahmi Sekolah Teknik Elektro

Lebih terperinci

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang BAB II LANDASAN TEORI Pada bab ini akan diberikan beberapa definisi, penjelasan, dan teorema yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang diberikan diantaranya adalah definisi

Lebih terperinci

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna, 3 II. TINJAUAN PUSTAKA Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna, square free, keterbagian bilangan bulat, modulo, bilangan prima, ideal, daerah integral, ring quadratic.

Lebih terperinci

Algoritma Cipher Block EZPZ

Algoritma Cipher Block EZPZ Algoritma Cipher Block EZPZ easy to code hard to break Muhammad Visat Sutarno (13513037) Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganesha 10 Bandung

Lebih terperinci

Algoritma Enkripsi Baku Tingkat Lanjut

Algoritma Enkripsi Baku Tingkat Lanjut Algoritma Enkripsi Baku Tingkat Lanjut Anggrahita Bayu Sasmita 13507021 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung e-mail: if17021@students.if.itb.ac.id

Lebih terperinci

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda BAB II DASAR TEORI Pada Bab II ini akan disajikan beberapa teori yang akan digunakan untuk membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda tangan digital yang meliputi: keterbagian

Lebih terperinci

II. TINJAUAN PUSTAKA. Pada bab ini akan dibahas konsep-konsep yang mendasari konsep representasi

II. TINJAUAN PUSTAKA. Pada bab ini akan dibahas konsep-konsep yang mendasari konsep representasi 5 II. TINJAUAN PUSTAKA Pada bab ini akan dibahas konsep-konsep yang mendasari konsep representasi penjumlahan dua bilangan kuadrat sempurna. Seperti, teori keterbagian bilangan bulat, bilangan prima, kongruensi

Lebih terperinci

TINJAUAN PUSTAKA. Kriptografi

TINJAUAN PUSTAKA. Kriptografi 2 2 Penelitian ini berfokus pada poin a, yaitu pengembangan sistem mobile serta melakukan perlindungan komunikasi data. 3 Spesifikasi sistem dibuat berdasarkan pada alur proses penilangan yang berlaku

Lebih terperinci

MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL

MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL 32 INFOKAM Nomor I / Th. X/ Maret / 14 MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL SUGENG MURDOWO Dosen AMIK JTC Semarang ABSTRAKSI

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN BAB IV ANALISIS DAN PERANCANGAN 4.1 Analisa Algoritma AES Suatu file dalam media penyimpanan merupakan sebuah data yang tersusun atas bit stream. Agar dapat di enkripsi file tersebut harus diubah dalam

Lebih terperinci

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0 STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0 Herdyanto Soeryowardhana NIM : 13505095 Program Studi Teknik Informatika, Institut Teknologi

Lebih terperinci

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme Muhammad Aodyra Khaidir (13513063) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Insitut Teknologi Bandung

Lebih terperinci

TINJAUAN PUSTAKA. Pada bab ini akan diberikan beberapa definisi teori pendukung dalam proses

TINJAUAN PUSTAKA. Pada bab ini akan diberikan beberapa definisi teori pendukung dalam proses II. TINJAUAN PUSTAKA Pada bab ini akan diberikan beberapa definisi teori pendukung dalam proses penelitian untuk penyelesaian persamaan Diophantine dengan relasi kongruensi modulo m mengenai aljabar dan

Lebih terperinci

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL Ari Teknik Informatika STMIK ATMA LUHUR PANGKALPINANG Jl.Jend. Sudirman Selindung Lama Pangkalpinang Kepulauan Babel

Lebih terperinci

ELLIPTIC CURVE CRYPTOGRAPHY. Disarikan oleh: Dinisfu Sya ban ( )

ELLIPTIC CURVE CRYPTOGRAPHY. Disarikan oleh: Dinisfu Sya ban ( ) ELLIPTIC CURVE CRYPTOGRAPHY Disarikan oleh: Dinisfu Sya ban (0403100596) SEKOLAH TINGGI SANDI NEGARA BOGOR 007 A. Fungsi Elliptic Curves 1. Definisi Elliptic Curves Definisi 1. : Misalkan k merupakan field

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Bilangan 2.1.1 Keterbagian Jika a dan b Z (Z = himpunan bilangan bulat) dimana b 0, maka dapat dikatakan b habis dibagi dengan a atau b mod a = 0 dan dinotasikan dengan

Lebih terperinci

Blox: Algoritma Block Cipher

Blox: Algoritma Block Cipher Blox: Algoritma Block Cipher Fikri Aulia(13513050) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, 13513050@std.stei.itb.ac.id

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Proses Analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi yang didapat

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Dalam era teknologi yang semakin pesat saat ini, keamanan merupakan suatu prioritas utama. Banyak tindakan-tindakan kejahatan yang sudah marak dilakukan

Lebih terperinci

Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) Bahan Kuliah ke-13 IF5054 Kriptografi Advanced Encryption Standard (AES) Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 13. Advanced Encryption Standard

Lebih terperinci

Modifikasi Blok Cipher

Modifikasi Blok Cipher Modifikasi Blok Cipher TriTOLE Cipher Ivan Andrianto Teknik Informatika / Sekolah Tinggi Elektro dan Informatika Institut Teknologi Bandung Bandung, Indonesia andrianto.ivan@gmail.com Wilhelmus Andrian

Lebih terperinci

II. TINJAUAN PUSTAKA. bilangan yang mendukung proses penelitian. Dalam penyelesaian bilangan

II. TINJAUAN PUSTAKA. bilangan yang mendukung proses penelitian. Dalam penyelesaian bilangan II. TINJAUAN PUSTAKA Pada bab ini diberikan beberapa definisi mengenai teori dalam aljabar dan teori bilangan yang mendukung proses penelitian. Dalam penyelesaian bilangan carmichael akan dibutuhkan definisi

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA Pada bab ini dituliskan beberapa aspek teoritis berupa definisi teorema sifat-sifat yang berhubungan dengan teori bilangan integer modulo aljabar abstrak masalah logaritma diskret

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB TINJAUAN PUSTAKA.1 Kriptografi Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan

Lebih terperinci

KRIPTOGRAFI FILE MENGGUNAKAN METODE AES DUAL PASSWORD. Imron Abdul Ilyas 1 Suryarini Widodo 2. Abstrak

KRIPTOGRAFI FILE MENGGUNAKAN METODE AES DUAL PASSWORD. Imron Abdul Ilyas 1 Suryarini Widodo 2. Abstrak KRIPTOGRAFI FILE MENGGUNAKAN METODE AES DUAL PASSWORD Imron Abdul Ilyas 1 Suryarini Widodo 2 1 Jurusan Teknik Informatika, FTI, Universitas Gunadarma. 2 Jurusan Sistem Informasi, FIKTI, Universitas Gunadarma.

Lebih terperinci

Matematika Diskrit. Reza Pulungan. March 31, Jurusan Ilmu Komputer Universitas Gadjah Mada Yogyakarta

Matematika Diskrit. Reza Pulungan. March 31, Jurusan Ilmu Komputer Universitas Gadjah Mada Yogyakarta Matematika Diskrit Reza Pulungan Jurusan Ilmu Komputer Universitas Gadjah Mada Yogyakarta March 31, 2011 Teori Bilangan (Number Theory) Keterbagian (Divisibility) Pada bagian ini kita hanya akan berbicara

Lebih terperinci

OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5

OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5 OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5 Fahziar Riesad Wutono Teknik Informatika Institut Teknologi Bandung Bandung, Indonesia fahziar@gmail.com Ahmad Zaky Teknik Informatika

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Pengertian kriptografi kriptografi adalah seni atau ilmu yang digunakan untuk menjaga keamanan informasi atau pesan dengan mengubahnya menjadi suatu yang tidak memiliki arti.

Lebih terperinci

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone,

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone, BAB I PENDAHULUAN. Latar Belakang Sekarang ini teknologi untuk berkomunikasi sangatlah mudah. Penyampaian pesan dapat dilakukan dengan media telephone, handphone, internet, dan berbagai macam peralatan

Lebih terperinci

G a a = e = a a. b. Berdasarkan Contoh 1.2 bagian b diperoleh himpunan semua bilangan bulat Z. merupakan grup terhadap penjumlahan bilangan.

G a a = e = a a. b. Berdasarkan Contoh 1.2 bagian b diperoleh himpunan semua bilangan bulat Z. merupakan grup terhadap penjumlahan bilangan. 2. Grup Definisi 1.3 Suatu grup < G, > adalah himpunan tak-kosong G bersama-sama dengan operasi biner pada G sehingga memenuhi aksioma- aksioma berikut: a. operasi biner bersifat asosiatif, yaitu a, b,

Lebih terperinci

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. BAB I PENDAHULUAN 1.1 Latar Belakang Pada proses pengiriman data (pesan) terdapat beberapa hal yang harus diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. Oleh karenanya

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak

Lebih terperinci

Teori Bilangan (Number Theory)

Teori Bilangan (Number Theory) Bahan Kuliah ke-3 IF5054 Kriptografi Teori Bilangan (Number Theory) Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 3. Teori Bilangan Teori bilangan

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA 4 BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya(rinaldi,

Lebih terperinci

Algoritma AES sebagai Metode Enkripsi dalam Password Management

Algoritma AES sebagai Metode Enkripsi dalam Password Management Algoritma AES sebagai Metode Enkripsi dalam Password Management Disusun untuk memenuhi tugas mata kuliah Keamanan Jaringan Disusun Oleh: Yeni Wahyuningsih (0710960013) Septavia Prativi Sekar Sari (0710960047)

Lebih terperinci

Algoritma Kriptografi Modern (AES, RSA, MD5)

Algoritma Kriptografi Modern (AES, RSA, MD5) Algoritma Kriptografi Modern (AES, RSA, MD5) Muhammad Izzuddin Mahali, M.Cs. Izzudin@uny.ac.id / m.izzuddin.m@gmail.com Program Studi Pendidikan Teknik Informatika Jurusan Pendidikan Teknik Elektronika

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 32 BAB II LANDASAN TEORI Bab ini menjelaskan teori dan konsep yang menjadi landasan materi dari sistem yang akan dibuat. Beberapa teori dan konsep yang akan dibahas seperti konsep dasar kriptografi, konsep

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi digunakan sebagai alat untuk menjamin keamanan dan kerahasiaan informasi. Karena itu kriptografi menjadi ilmu yang berkembang pesat, terbukti dengan banyaknya

Lebih terperinci

BAB 3 METODOLOGI PENELITIAN

BAB 3 METODOLOGI PENELITIAN BAB 3 METODOLOGI PENELITIAN 3.1. Pengantar Metodologi penelitian merupakan sekumpulan proses terstruktur mengenai peraturan, kegiatan, dan prosedur yang digunakan oleh pelaku suatu disiplin ilmu dalam

Lebih terperinci

LANDASAN TEORI. bilangan coprima, bilangan kuadrat sempurna (perfect square), kuadrat bebas

LANDASAN TEORI. bilangan coprima, bilangan kuadrat sempurna (perfect square), kuadrat bebas II. LANDASAN TEORI Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan prima, bilangan coprima, bilangan kuadrat sempurna (perfect square), kuadrat bebas (square free), keterbagian,

Lebih terperinci

Dampak S-Box AES Terhadap Perancangan Kriptografi Simetris Berbasis Pola Teknik Putaran Kincir Angin Artikel Ilmiah

Dampak S-Box AES Terhadap Perancangan Kriptografi Simetris Berbasis Pola Teknik Putaran Kincir Angin Artikel Ilmiah Dampak S-Box AES Terhadap Perancangan Kriptografi Simetris Berbasis Pola Teknik Putaran Kincir Angin Artikel Ilmiah Peneliti : Frandy Valentino Ponto (672012079) Prof. Ir. Danny Manongga, M.Sc., Ph.D.

Lebih terperinci

BAB II KAJIAN TEORI. definisi mengenai grup, ring, dan lapangan serta teori-teori pengkodean yang

BAB II KAJIAN TEORI. definisi mengenai grup, ring, dan lapangan serta teori-teori pengkodean yang BAB II KAJIAN TEORI Pada Bab II ini berisi kajian teori. Di bab ini akan dijelaskan beberapa definisi mengenai grup, ring, dan lapangan serta teori-teori pengkodean yang mendasari teori kode BCH. A. Grup

Lebih terperinci

LAPORAN PENELITIAN EFISIENSI ALGORITME ARITMETIK ( ) DENGAN OPERASI DIBANGKITKAN DARI SIFAT GRUP SIKLIK PADA KRIPTOGRAFI KURVA ELIPTIK

LAPORAN PENELITIAN EFISIENSI ALGORITME ARITMETIK ( ) DENGAN OPERASI DIBANGKITKAN DARI SIFAT GRUP SIKLIK PADA KRIPTOGRAFI KURVA ELIPTIK LAPORAN PENELITIAN EFISIENSI ALGORITME ARITMETIK ( ) DENGAN OPERASI DIBANGKITKAN DARI SIFAT GRUP SIKLIK PADA KRIPTOGRAFI KURVA ELIPTIK Oleh : Dra. Eleonora Dwi W., M.Pd Ahmadi, M.Si FAKULTAS KEGURUAN DAN

Lebih terperinci

BAB IV KURVA ELIPTIK DAN ID BASED CRYPTOSYSTEM

BAB IV KURVA ELIPTIK DAN ID BASED CRYPTOSYSTEM BAB IV KURVA ELIPTIK DAN ID BASED CRYPTOSYSTEM 4.1. Kurva Eliptik Misalkan p adalah bilangan prima yang lebih besar dari 3. Sebuah kurva eliptik atas lapangan hingga dengan ukuran p dinotasikan dengan

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Banyak sekali transaksi-transaksi elektronik yang terjadi setiap detiknya di seluruh dunia, terutama melalui media internet yang dapat diakses kapanpun dan dari manapun.

Lebih terperinci

PENERAPAN FAKTOR PRIMA DALAM MENYELESAIKAN BENTUK ALJABAR (Andi Syamsuddin*)

PENERAPAN FAKTOR PRIMA DALAM MENYELESAIKAN BENTUK ALJABAR (Andi Syamsuddin*) PENERAPAN FAKTOR PRIMA DALAM MENYELESAIKAN BENTUK ALJABAR (Andi Syamsuddin*) A. Faktor Prima Dalam tulisan ini yang dimaksud dengan faktor prima sebuah bilangan adalah pembagi habis dari sebuah bilangan

Lebih terperinci

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA SEMINAR HASIL TUGAS AKHIR KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA Elliptic Curve ElGamal Cryptography For Encvryption- Decryption Process of Colored Digital

Lebih terperinci

Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-Permutasi Dan Fungsi Affine Atas Ring Komutatif Z n

Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-Permutasi Dan Fungsi Affine Atas Ring Komutatif Z n ROSIDING ISBN : 978 979 65 6 Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-ermutasi Dan ungsi Affine Atas Ring Komutatif n A Muhamad aki Riyanto endidikan Matematika, JMIA, KI Universitas

Lebih terperinci

Pembagi Persekutuan Terbesar dan Teorema Bezout

Pembagi Persekutuan Terbesar dan Teorema Bezout Latest Update: March 10, 2017 Pengantar Teori Bilangan (Bagian 3): Pembagi Persekutuan Terbesar dan Teorema Bezout M. Zaki Riyanto Program Studi Matematika Fakultas Sains dan Teknologi UIN Sunan Kalijaga

Lebih terperinci

II. TINJAUAN PUSTAKA. terkait dengan pokok bahasan. Berikut ini diberikan pengertian-pengertian dasar

II. TINJAUAN PUSTAKA. terkait dengan pokok bahasan. Berikut ini diberikan pengertian-pengertian dasar 4 II. TINJAUAN PUSTAKA Untuk melakukan penelitian ini terlebih dahulu harus memahami konsep yang terkait dengan pokok bahasan. Berikut ini diberikan pengertian-pengertian dasar yang menunjang dan disajikan

Lebih terperinci

POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING

POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING 1 Agus Winarno, 2 Eko Tulus Budi Cahyanto, 3 Mulyadi Sekolah Tinggi Sandi Negara, Jl. Raya

Lebih terperinci

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER Arga Dhahana Pramudianto 1, Rino 2 1,2 Sekolah Tinggi Sandi Negara arga.daywalker@gmail.com,

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA 4 BAB II TINJAUAN PUSTAKA Untuk mencapai tujuan penulisan penelitian diperlukan beberapa pengertian dan teori yang berkaitan dengan pembahasan. Dalam subbab ini akan diberikan beberapa teori berupa definisi,

Lebih terperinci

Adi Shamir, one of the authors of RSA: Rivest, Shamir and Adleman

Adi Shamir, one of the authors of RSA: Rivest, Shamir and Adleman Algoritma RSA 1 Pendahuluan Algoritma kunci-publik yang paling terkenal dan paling banyak aplikasinya. Ditemukan oleh tiga peneliti dari MIT (Massachussets Institute of Technology), yaitu Ron Rivest, Adi

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi merupakan salah satu ilmu pengkodean pesan memiliki definisi dan memilki teknik-tekniknya tersendiri. Hal itu dapat dilihat sebagai berikut: 2.1.1 Definisi

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisis III.1.1 Analisis Masalah Seiring dengan perkembangan teknologi, keamanan dalam berteknologi merupakan hal yang sangat penting. Salah satu cara mengamankan

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA IV.1. Uji Coba Proses uji coba dari aplikasi ini adalah dengan melakukan pengujian langsung dengan memasukkan teks yang nantinya akan di enkrip dan di dekrip dengan menggunakan

Lebih terperinci

SEKILAS TENTANG KONSEP. dengan grup faktor, dan masih banyak lagi. Oleh karenanya sebelum

SEKILAS TENTANG KONSEP. dengan grup faktor, dan masih banyak lagi. Oleh karenanya sebelum Bab I. Sekilas Tentang Konsep Dasar Grup antonius cp 2 1. Tertutup, yakni jika diambil sebarang dua elemen dalam G maka hasil operasinya juga akan merupakan elemen G dan hasil tersebut adalah tunggal.

Lebih terperinci

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS A. Latar Belakang Algoritma AES (Advanced Encryption Standard) muncul akibat penggunaan standart enkripsi kriptografi simetri terdahulu (DES) yang dianggap

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). Kata cryptography berasal dari kata Yunani yaitu kryptos yang artinya tersembunyi

Lebih terperinci

Diktat Kuliah. Oleh:

Diktat Kuliah. Oleh: Diktat Kuliah TEORI GRUP Oleh: Dr. Adi Setiawan UNIVERSITAS KRISTEN SATYA WACANA SALATIGA 2015 Kata Pengantar Aljabar abstrak atau struktur aljabar merupakan suatu mata kuliah yang menjadi kurikulum nasional

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 6 BAB 2 TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi berasal dari bahasa Yunani, cryptosdan graphein. Cryptosberarti rahasia dan graphein berarti tulisan. Menurut terminologinya kriptografi adalah ilmu

Lebih terperinci

APLIKASI ALGORITMA RIJNDAEL DALAM PENGAMANAN CITRA DIGITAL SKRIPSI FADHILAH HANIFAH

APLIKASI ALGORITMA RIJNDAEL DALAM PENGAMANAN CITRA DIGITAL SKRIPSI FADHILAH HANIFAH UNIVERSITAS INDONESIA APLIKASI ALGORITMA RIJNDAEL DALAM PENGAMANAN CITRA DIGITAL SKRIPSI HALAMAN JUDUL FADHILAH HANIFAH 0806452160 FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM PROGRAM STUDI SARJANA MATEMATIKA

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM Pada bab ini akan dibahas mengenai Aplikasi Pengamanan E-Mail Menggunakan Metode AES (Advanced Encryption Standard) yang meliputi analisa sistem dan desain sistem. III.1.

Lebih terperinci

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL SELEKSI OLIMPIADE TINGKAT KABUPATEN/KOTA 015 CALON TIM OLIMPIADE MATEMATIKA INDONESIA 016 Prestasi itu diraih bukan didapat!!! SOLUSI SOAL Bidang Matematika Disusun oleh : 1. 015 = 5 13 31 Banyaknya faktor

Lebih terperinci

METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA

METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA Buletin Ilmiah Mat Stat dan Terapannya (Bimaster) Volume 04, No 1 (2015), hal 85 94 METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA Sari Puspita, Evi Noviani, Bayu Prihandono INTISARI Bilangan prima

Lebih terperinci

PEMBERIAN TANDA AIR PADA CITRA DIGITAL DENGAN SKEMA TANDA AIR BERDASARKAN KUANTITASI WARNA DAN MENGGUNAKAN STANDARD ENKRIPSI TINGKAT LANJUT

PEMBERIAN TANDA AIR PADA CITRA DIGITAL DENGAN SKEMA TANDA AIR BERDASARKAN KUANTITASI WARNA DAN MENGGUNAKAN STANDARD ENKRIPSI TINGKAT LANJUT TUGAS AKHIR PEMBERIAN TANDA AIR PADA CITRA DIGITAL DENGAN SKEMA TANDA AIR BERDASARKAN KUANTITASI WARNA DAN MENGGUNAKAN STANDARD ENKRIPSI TINGKAT LANJUT Oleh : Hendra Dani Dewaji 1205 100 068 Pembimbing:

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi secara etimologi berasal dari bahasa Yunani kryptos yang artinya tersembunyi dan graphien yang artinya menulis, sehingga kriptografi merupakan metode

Lebih terperinci

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman Edmund Ophie - 13512095 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

BAB II KETERBAGIAN. 1. Mahasiswa bisa memahami pengertian keterbagian. 2. Mahasiswa bisa mengidentifikasi bilangan prima

BAB II KETERBAGIAN. 1. Mahasiswa bisa memahami pengertian keterbagian. 2. Mahasiswa bisa mengidentifikasi bilangan prima BAB II KETERBAGIAN 2.1 Pendahuluan Pada pertemuan minggu ke-3, dan 4 ini dibahas konsep keterbagian, algoritma pembagian dan bilangan prima pada bilangan bulat. Relasi keterbagian pada himpunan semua bilangan

Lebih terperinci

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti BAB II LANDASAN TEORI A. Teori Bilangan Teori bilangan adalah cabang dari matematika murni yang mempelajari sifat-sifat bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti sekalipun

Lebih terperinci

Enkripsi dengan Menggunakan Fungsi Polinom Rekursif

Enkripsi dengan Menggunakan Fungsi Polinom Rekursif Enkripsi dengan Menggunakan Fungsi Polinom Rekursif Irfan Kamil (13510001) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

Algoritma Cipher Block RG-1

Algoritma Cipher Block RG-1 Algoritma Cipher Block RG-1 Feryandi Nurdiantoro (13513042) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia feryandi@gmail.com

Lebih terperinci

Materi Pembinaan Olimpiade SMA I MAGELANG TEORI BILANGAN

Materi Pembinaan Olimpiade SMA I MAGELANG TEORI BILANGAN Materi Pembinaan Olimpiade SMA I MAGELANG TEORI BILANGAN Oleh. Nikenasih B 1.1 SIFAT HABIS DIBAGI PADA BILANGAN BULAT Untuk dapat memahami sifat habis dibagi pada bilangan bulat, sebelumnya perhatikan

Lebih terperinci

Abstrak. Kata Kunci : Rijndael, Serpent, Block Cipher

Abstrak. Kata Kunci : Rijndael, Serpent, Block Cipher Studi Block Cipher Serpent dan Rijndael Aulia Rahma Amin 13503009 Email : aulia@students.itb.ac.id Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Abstrak

Lebih terperinci

BAB MATRIKS. Tujuan Pembelajaran. Pengantar

BAB MATRIKS. Tujuan Pembelajaran. Pengantar BAB II MATRIKS Tujuan Pembelajaran Setelah mempelajari materi bab ini, Anda diharapkan dapat: 1. menggunakan sifat-sifat dan operasi matriks untuk menunjukkan bahwa suatu matriks persegi merupakan invers

Lebih terperinci

Perancangan Kriptografi Block Cipher 256 Bit Berbasis pada Pola Tuangan Air Artikel Ilmiah

Perancangan Kriptografi Block Cipher 256 Bit Berbasis pada Pola Tuangan Air Artikel Ilmiah Perancangan Kriptografi Block Cipher 256 Bit Berbasis pada Pola Tuangan Air Artikel Ilmiah Peneliti : Frellian Tuhumury (672014714) Magdalena A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs. Program

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Penelitian sebelumnya yang terkait dengan penelitian ini adalah penelitian yang dilakukan oleh Syaukani, (2003) yang berjudul Implementasi Sistem Kriptografi

Lebih terperinci

Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Tarian Liong (Naga) Artikel Ilmiah

Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Tarian Liong (Naga) Artikel Ilmiah Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Tarian Liong (Naga) Artikel Ilmiah Peneliti : Samuel Yonaftan (672012021) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika

Lebih terperinci

Distribusi Difference dari S-Box Berbasis Fungsi Balikan Pada GF(2 8 )

Distribusi Difference dari S-Box Berbasis Fungsi Balikan Pada GF(2 8 ) Distribusi Difference dari S-Box Berbasis Fungsi Balikan Pada GF(2 8 ) Andriani Adi Lestari Lembaga Sandi Negara e-mail: aaltari@gmail.com Nunik Yulianingsih Lembaga Sandi Negara e-mail: nunik.yulianingsih@lemsaneg.go.id

Lebih terperinci

Lembar Kerja Mahasiswa 1: Teori Bilangan

Lembar Kerja Mahasiswa 1: Teori Bilangan Lembar Kerja Mahasiswa 1: Teori Bilangan N a m a : NIM/Kelas : Waktu Kuliah : Kompetensi Dasar dan Indikator: 1. Memahami pengertian faktor dan kelipatan bilangan bulat. a) Menuliskan denisi faktor suatu

Lebih terperinci

Blok Cipher JUMT I. PENDAHULUAN

Blok Cipher JUMT I. PENDAHULUAN Blok Cipher JUMT Mario Tressa Juzar (13512016) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia mariotj.tj@gmail.com

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

Lebih terperinci

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Ratno Prasetyo Magister Ilmu Komputer Universitas Budi Luhur, Jakarta, 12260 Telp : (021) 5853753

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan

Lebih terperinci