MATA KULIAH KEAMANAN INFORMASI DAN JARINGAN
KELAS : C
AUTHENTICATED ENCRYPTION: CCM AND GCM
P
SEUDORANDOM
N
UMBER
G
ENERATION
U
SING
H
ASH
F
UNCTIONS
AND
MAC
S
D
IGITAL
S
IGNATURES
Kelompok 12 :
Madis Saralita NRP. 5112100038 Shoffi Izza Sabiiilla NRP. 5112100132
Otniel Yehezkiel B. Hutabiiarat NRP. 5112100212
Dosen :
Henning Titi Ciptaningtyas, S.Kom, M.Kom
JURUSAN INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
DAFTAR ISI
DAFTAR ISI... i
DAFTAR GAMBAR... ii
DAFTAR TABEL... iii
AUTHENTICATED ENCRYPTION, PRNG USING HASH FUNCTION & MACS, AND DIGITAL SIGNATURES... 1
AUTHENTICATED ENCRYPTION : CCM AND GCM...1
Counter with Cipher Block Chaining-Message Authentication Code...3
Galois/Counter Mode...7
PSEUDORANDOM NUMBER GENERATION USING HASH FUNCTION AND MACS...9
PRNG using a Hash Function...9
PRNG using a MAC... 9
Digital Signatures...2
ElGamal Digital Signature Scheme...4
Schnorr Digital Signature Scheme...6
Digital Signature Algorithm (DSA)...9
DAFTAR PENANYA SAAT PRESENTASI...12
Sesi 1... 12
Sesi 2... 12
SOAL DAN PEMBAHASAN...13
A. MULTIPLE CHOICE...13
B. ESSAY... 13
SOAL 1... 13
SOAL 2... 13
DAFTAR PUSTAKA...14
LAMPIRAN ANGGOTA KELP DAN PEMBAGIAN TUGAS...15
Anggota 1... 15
Anggota 2... 15
DAFTAR GAMBAR
Gambiiar 1. MtE... 2
Gambiiar 2. EtM... 2
Gambiiar 3. E&M... 2
Gambiiar 4. Proses generation-encryption CCM...5
Gambiiar 5. Proses decryption-verifcation CCM...6
Gambiiar 6. Algoritma GHASH...7
Gambiiar 7. GHASH... 7
Gambiiar 8. Algoritma GCTR...8
Gambiiar 9. GCTR... 8
Gambiiar 10. Pseudocode PRNG menggunakan a Hash Function...9
Gambiiar 11. PRNG menggunakan Cryptographic Hash Function...9
Gambiiar 12. PRNG using HMAC...9
Gambiiar 13. Tanda Tangan Digitisasi...2
DAFTAR TABEL
Tabiiel 1. Pemformatan oktet fag dalam B0...4
Tabiiel 2. Pemformatan B0...4
Tabiiel 3. Pemformatan Ctri...5
AUTHENTICATED ENCRYPTION, PRNG USING HASH
FUNCTION & MACS, AND DIGITAL SIGNATURES
AUTHENTICATED ENCRYPTION : CCM AND GCM
Seringkali ketika dua pihak biierkomunikasi melalui suatu jaringan, ada dua tujuan utama yang ingin mereka capai dalam menjaga keamanan data atau pesan, yaitu kerahasiaan dan otentikasi pesan. Teknik kriptograf dapat digunakan untuk mencapai tujuan tersebiiut. Tujuan kerahasiaan dapat dicapai dengan menggunakan teknik kriptograf biierupa penyandian pesan, sedangkan tujuan otentikasi dapat diraih dengan menggunakan teknik kriptograf biierupa otentikasi pesan yang secara implisit membiierikan integritas data.
Sehubiiungan dengan pencapaian tujuan keamanan data, para ahli kriptogaf biierpendapat biiahwa seseorang sebiiaiknya tidak melakukan penyandian pesan tanpa diikuti otentikasi pesan. Baru-biiaru ini ada sejumlah konstruksi biiaru yang meraih kerahasiaan dan otentikasi secara simultan dan seringkali lebiiih cepat daripada sembiiarang solusi yang menggunakan generic composition. Konstruksi biiaru ini memanfaatkan modus-modus operasi sandi biilok sehingga dikenal
Input : ciphertext, kunci, tag otentikasi, dan opsional header.
Output : plaintext, atau error jika tag otentikasi tidak sesuai dengan ciphertext disediakan.
[BLAC05] membiiahas empat pendekatan umum yang menyediakan confdentiality dan enkripsi untuk pesan M.
HtE: Hash-then-encrypt
MtE: MAC-then-encrypt
MAC dihasilkan biierdasarkan plaintext, kemudian plaintext dan MAC dienkripsi biiersama untuk menghasilkan ciphertext. Ciphertext ysng mengandung enkripsi selanjutnya dikirim. Contoh dari MtE misalnya seperti SSL/ TLS. Ilustrasi penggunaan MtE dapat dilihat pada Gambiiar 1.
Gambar 1. MtE
EtM: Encrypt-then-MAC
Plaintext dienkripsi terlebiiih dahulu, kemudian MAC dihasilkan biierdasarkan ciphertext. Ciphertext dan MAC kemudian dikirim biiersama-sama. Contoh dari EtM misalnya IPsec. Ilustrasi penggunaan MtE dapat dilihat pada Gambiiar 2.
Gambar 2. EtM
E&M: Encrypt-and-MAC
Gambar 3. E&M
Counter with Cipher Block Chaining-Message Authentication Code
Algoritma Counter with Cipher Block Chaining-Message Authentication Code (CCM) diajukan oleh Doug Whiting, Russ Housley, dan Niels Ferguson pada tahun 2002. CCM didasarkan pada algoritma biilok kunci simetrik yang telah diakui dengan ukuran biilok 128 biiit, seperti algoritma AES yang dipubiilikasikan dalam FIPS 197. Berikut ini adalah uraian lengkap mengenai algoritma CCM.
Algoritma Blok untuk CCM
Algoritma biilok yang akan mendasari CCM pada penelitian ini adalah algoritma AES. CCM hanya memerlukan fungsi forward cipher dari AES. Kunci CCM, disimbiiolkan dengan K, adalah kunci untuk algoritma AES. Fungsi forward cipher dengan kunci ini dinyatakan dengan CIPHK, sedangkan panjang K dinyatakan dengan Klen.
Elemen-elemen Data
Data yang dilindungi CCM terdiri dari tiga elemen, yaitu:
1. Sebiiuah pesan atau data, yaitu suatu bitstring disebiiut payload (P), dengan panjang biiit Plen. P akan diotentikasi dan dienkripsi sehingga CCM menyediakan jaminan keaslian dan kerahasiaan P.
2. Suatu biiit string disebiiut associated data, (A). A biiersifat opsional. A akan diotentikasi tetapi tidak dienkripsi sehingga CCM hanya menyediakan jaminan keaslian namun tidak membiierikan jaminan kerahasiaan A.
3. Suatu biiit string unik yang disebiiut nonce (N), dibiierikan pada pasangan data yang akan dilindungi, yaitu P dan A. MAC yang dibiiangkitkan dalam CCM dinyatakan dengan T. Panjang biiit T, dinyatakan dengan Tlen, merupakan suatu parameter yang akan ditetapkan untuk semua proses CCM dengan kunci yang dibiierikan.
Pemformatan Input
Elemen-elemen data CCM yaitu N, P, dan A akan diformat dengan sebiiuah fungsi pemformatan menjadi rangkaian tak-kosong dari biilok data lengkap, dinyatakan dengan B0, B1, …, Br untuk r biiilangan biiulat tak-negatif. Nilai r tergantung pada fungsi pemformatan dan elemen input. Tiga sifat biierikut harus dimiliki oleh fungsi pemformatan:
2. Data yang diformat secara unik menentukan P dan A; selain itu, jika (N, P, A) dan (N, P', A') adalah input triplet yang biierbiieda dengan format B0, B1, …, Br dan B0', B1', …, Br'', maka Bi biierbiieda dari Bi' untuk indeks i sedemikian sehingga i ≤ r dan i ≤ r'.
3. Blok pertama, B0, biierbiieda dari sembiiarang biilok counter yang digunakan untuk semua proses CCM menggunakan kunci yang dibiierikan.
Fungsi Pemformatan
Syarat Panjang Peubah dalam CCM
Panjang biiit untuk setiap string input, yaitu N, A, dan P, merupakan kelipatan dari 8 biiit, yaitu setiap string input merupakan string oktet. Panjang oktet dari string ini dinyatakan dengan n, a, dan p. Demikian pula dengan parameter t yang menyatakan panjang oktet T. Panjang oktet dari P (yaitu biiilangan biiulat p) direpresentasikan dalam biilok pertama dari data terformat sebiiagai sebiiuah string oktet disimbiiolkan dengan Q. Panjang oktet Q yang dinyatakan dengan q, adalah
Pemformatan Kontrol Informasi dan Nonce
Oktet awal biilok pertama dari pemformatan, B0, biierisi empat flag
(lihat Tabiiel 1) untuk mengontrol informasi: yaitu dua biiit tunggal (disebiiut Reserved dan Adata) dan dua string terdiri dari tiga biiit yang digunakan untuk menyandikan nilai t dan q. Penyandian t adalah [(t-2)/2]3, dan penyandian q adalah [q-1]3. Bit Reserved dicadangkan
untuk memungkinkan perluasan pemformatan di masa mendatang dan akan di-set dengan nilai ‘0’. Bit Adata biiernilai ‘0’ jika a = 0 dan ‘1’ jika a > 0. Tabiiel 2 memperlihatkan pemformatan B0.
Tabel 1. Pemformatan oktet fag dalam B0
Bit 7 6 5 4 3 2 1 0
Isi Reserved Adata [(t-2)/2]3 [q-1]3
Tabel 2. Pemformatan B0
Oktet 0 1... 15-q 16-q ... 15
Isi Flags N Q
Pemformatan Associated Data
data A, diikuti oleh jumlah minimum biiit-biiit ‘0’ (mungkin juga tidak) sedemikian sehingga string yang dihasilkan biiisa dipartisi ke dalam 16-biilok oktet. Blok-16-biilok ini dinyatakan dalam data terformat sebiiagai B1, B2, … Bu untuk u biiilangan biiulat positif yang tergantung dari nilai a. Nilai a disandikan biierdasarkan tiga kasus biierikut:
o Jika 0 < a < 216-28, maka a disandikan sebiiagai [a]
Payload digabiiungkan dengan jumlah minimum biiit-biiit ‘0’ (mungkin juga tidak ada) sedemikian sehingga hasilnya biiisa dipartisi menjadi 16-biilok oktet. Blok-biilok ini dinyatakan dalam data yang telah diformat sebiiagai Bu+1, Bu+2, … Br, dengan r = u + ⎡p/16⎤.
Fungsi Pembangkitan Counter
Blok-biilok counter Ctri dibiientuk seperti terlihat pada Tabiiel 3. Dalam setiap
biilok Ctri, flag dibiientuk seperti terlihat pada Tabiiel 4. Bit Reserved disediakan
untuk perluasan di masa mendatang dan akan di-set dengan nilai ‘0’. Bit 3, 4, dan 5 juga akan di-set dengan nilai ‘0’ untuk memastikan biiahwa semua biilok counter biierbiieda dari B0. Bit 0, 1, dan 2 biierisi penyandian q yang sama seperti
dalam B0.
Tabel 3. Pemformatan Ctri
Oktet 0 1... 15-q 16-q ... 15
Isi Flags N [i]8q
Tabel 4. Pemformatan oktet flag dalam Ctri
Bit 7 6 5 4 3 2 1 0
Isi Reserved Reserved 0 0 0 [q-1]3
Proses Generation-Encryption
Berikut ini adalah langkah-langkah proses generation-encryption CCM:
1. Jalankan fungsi pemformatan pada (N, A, P) untuk menghasilkan biilok-biilok B0, B1, …, Br.
2. Tetapkan Y0 = CIPHK(B0).
3. Untuk i = 1 sampai dengan r, lakukan Yi = CIPHK(Bi ⊕ Yi-1). 4. T = MSBTlen(Yr).
5. Jalankan fungsi pembiiangkitan counter untuk membiiangkitkan biilok-biilok counter Ctr0, Ctr1, …, Ctrm dengan m = ⎡Plen / 128⎤
6. Untuk j = 0 sampai dengan m, lakukan Sj = CIPHK(Ctrj). 7. S = S1 || S2 || …|| Sm.
8. C = (P ⊕ MSBPlen(S))||(T ⊕ MSBTlen(S0)).
Gambar 4. Proses generation-encryption CCM
Proses Decryption-Verifcation
Berikut ini adalah langkah-langkah proses decryption-verifcation CCM: 1. Jika Clen < Tlen, maka kembiialikan INVALID.
2. Jalankan fungsi pembiiangkitan counter untuk membiiangkitkan biilok-biilok counter Ctr0, Ctr1,…, Ctrm, dengan m = ⎡(Clen - Tlen) / 128⎤
3. Untuk j = 0 sampai dengan m, lakukan Sj = CIPHK(Ctrj). 4. S = S1 || S2 || …|| Sm.
5. P = MSBClen-Tlen(C) ⊕ MSBClen-Tlen(S). 6. T = LSBTlen(C) ⊕ MSBTlen(S0).
7. Jika N, A, atau P tidak valid, maka kembiialikan INVALID, selainnya lakukan fungsi pemformatan pada (N, A, P) untuk menghasilkan biilok-biilok B0, B1, …, Br.
8. Tetapkan Y0 = CIPHK(B0).
9. Untuk i = 1 sampai dengan r, lakukan Yj = CIPHK(Bi ⊕ Yi-1).
Gambar 5. Proses decryption-verifcation CCM
Galois/Counter Mode
Modus operasi GCM menggunakan NIST standar SP 800-38D. Modus ini dirancang untuk model paralel sehingga dapat membiierikan throughput yang tinggi dengan biiiaya rendah. Pesan dienkripsi dalam varian modus CTR. Ciphertext yang dihasilkan dikalikan dengan key material dan panjang pesan untuk menghasilkan authenticator tag.
Modus GCM menggunakan dua fungsi utama yaitu:
GHASH, yang merupakan fungsi keyed hash
GCTR, modus CTR dengan counter operasi increment sederhana.
GHASH
fungsi GF(2128) untuk menghasilkan authenticator tag. Gambiiar 6 biierikut adalah
langkah algoritma GHASH. Sedangkan ilustrasi proses GHASH dapat dilihat pada Gambiiar 7.
Gambar 6. Algoritma GHASH
Gambar 7. GHASH
GCTR
Gambar 8. Algoritma GCTR
PSEUDORANDOM NUMBER GENERATION USING HASH
FUNCTION AND MACS
Elemen penting dari Pseudo-Random Numbiier Generation adalah nilai Seed dan algoritma deterministik. Sedangkan Seed hanya diketahui ketika diperlukan. PRNG dapat didasarkan pada :
1. Algoritma Enkripsi
2. Fungsi Hash (ISO18031 & NIST SP 800-90) 3. MAC (NIST SP 800-90)
PRNG using a Hash Function
Metode ini menggunakan standar SP800-90 dan ISO18031. Berikut ini adalah langkahnya :
Ambiiil Seed V
Ulangi dengan menambiiahkan 1
Hash V
Gunakan n-biiit hash sebiiagai nilai acak
Metode ini aman jika menggunakan hash yang tepat. Pseudocode PRNG menggunakan fungsi hash dapat dilihat pada Gambiiar 10. Sedangkan ilustrasi prosesnya dapat dilihat pada Gambiiar 11.
Gambar 10. Pseudocode PRNG
menggunakan a Hash Function Gambar 11. Cryptographic Hash FunctionPRNG menggunakan
PRNG using a MAC
Gambar 12. PRNG using HMAC
Digital Signatures
Aspek keamanan yang disediakan oleh kriptograf adalah : 1. Kerahasiaan pesan (confdentiality)
2. Otentikasi (authentication). 3. Keaslian pesan (data integrity). 4. Anti-penyangkalan (nonrepudiation).
Aspek 1 dapat diselesaikan dengan menggunakan enkripsi/dekripsi. Sedangkan aspek 2 sampai dengan 4 dapat diselesaikan dengan tanda-tangan digital (digital signature).
Sejak zaman dahulu, tanda-tangan sudah digunakan untuk otentikasi dokumen cetak. Tanda tangan mempunyai karakteristik sebiiagai biierikut:
Tanda-tangan adalah biiukti yang otentik.
Tanda tangan tidak dapat dilupakan.
Tanda-tangan tidak dapat dipindah untuk digunakan ulang.
Dokumen yang telah ditandatangani tidak dapat diubiiah.
Tanda-tangan tidak dapat disangkal (repudiation).
Gambar 13. Tanda Tangan Digitisasi
Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan keamanan jaringan. Digital Signature memiliki fungsi sebiiagai penanda pada data yang memastikan biiahwa data tersebiiut adalah data yang sebiienarnya (tidak ada yang biierubiiah). Dengan biiegitu, Digital Signature dapat memenuhi setidaknya dua syarat keamanan jaringan, yaitu Authenticity dan Nonrepudiation.
Manfaat dati tanda tangan digital antara lain :
Compliance & good biiusiness practices for automated processes.
Accelerating, approvals, processes & time savings
Cost Savings
Sedangkan masalah dalam digital signature adalah data elektronik dikirimkan melalui open network. Sehingga tanda tangan digital harus memenuhi authenticity, Integrity, non-repudiation, dan confdentiality. Oleh karena tanda tangan digital menjadi terancam, maka dibiiutuhkan kriptograf untuk menjaga keamanannya.
Gambar 14. Proses Pembiiuatan Digital Signature
Dalam pembiiuatan digital signature ini terdapat dua kondisi yang harus dipenuhi yaitu:
Digital signature yang dibiiangkitkan dari dokumen dan private key harus biiisa memverifkasi dokumen yang disertai pubiilic key.
Tidak biioleh ada kemungkinan untuk membiiangkitkan digital signature yang valid dari sebiiuah dokumen tanpa ada private key yang seharusnya
Untuk membiiuka Digital Signature tersebiiut diperlukan kunci privat. Bila data telah diubiiah oleh pihak luar, maka Digital Signature juga ikut biierubiiah sehingga kunci privat yang ada tidak akan biiisa membiiukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu Authenticity. Artinya adalah, keaslian data dapat terjamin dari perubiiahan-perubiiahan yang dilakukan pihak luar.
Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah dikirimkannya. Bila Digital Signature cocok dengan kunci privat yang dipegang oleh penerima data, maka dapat dipastikan biiahwa pengirim adalah pemegang kunci privat yang sama. Ini biierarti Digital Signature memenuhi salah satu syarat keamanan jaringan, yaitu Nonrepudiation atau non-penyangkalan.
Otentikasi
instruksi ke kantor pusat meminta perubiiahan saldo account. Apabiiila kantor pusat tidak yakin biiahwa pesan tersebiiut biienar-biienar dikirim dari sumbiier resmi, biiertindak atas permintaan semacam itu biiisa menjadi kesalahan biiesar.
Integritas
Dalam skenario biianyak, pengirim dan penerima pesan mungkin memiliki kebiiutuhan untuk keyakinan biiahwa pesan biielum diubiiah selama transmisi. Meskipun menyembiiunyikan enkripsi isi pesan, dimungkinkan untuk mengubiiah sebiiuah pesan terenkripsi tanpa memahaminya. (Algoritma enkripsi Bebiierapa, yang dikenal sebiiagai nonmalleabiile yang, mencegah hal ini, tetapi yang lain tidak.) Namun, jika pesan secara digital ditandatangani, setiap perubiiahan dalam pesan setelah tanda tangan akan membiiatalkan tanda tangannya. Selain itu, tidak ada cara yang efsien untuk memodifkasi pesan dan tanda tangan untuk menghasilkan pesan biiaru dengan tanda tangan yang sah, karena ini masih informasi tidak dapat di lain waktu menyangkal memiliki menandatanganinya. Demikian pula, akses ke kunci pubiilik hanya tidak memungkinkan pihak penipuan untuk palsu tanda tangan valid.
Tiga metode utama dalam digital signature diantaranya adalah :
1. ElGamal Digital Signature Scheme 2. Schnorr Digital Signature Scheme 3. Digital Signature Algorithm (DSA)
ElGamal Digital Signature Scheme
Algoritma ElGamal merupakan algoritma enkripsi kunci asimetris untuk kriptograf kunci pubiilik yang didasari kesepakatan kunci Diffie-Hellman. Hal ini diusulkan oleh Taher Elgamal pada tahun 1984. Algoritma ElGamal digunakan pada perangkat lunak GNU Privacy Guard, yang merupakan versi dari PGP, dan kriptosistem lainnya. Digital Signature Algorithm (DSA) merupakan varian dari skema tanda tangan digital ElGamal, dan tidak sama dengan algoritma ElGamal. ElGamal merupakan skema tanda tangan digital biierbiiasis logaritma diskrit. ElGamal terdiri dari tiga komponen, yaitu pembiiangkit kunci (key generator), algoritma enkripsi, dan algoritma dekripsi.
ElGamal Digital Signature Scheme mirip dengan skema enkripsinya. Ada 3 proses yang dilakukan yaitu proses pembiiangkitan kunci, proses pembiiangkitan tanda tangan, dan proses verifkasi. Berikut adalah langkah-langkah dalam ElGamal:
Pembangkitan Tanda Tangan
Verifkasi
Contoh Perhitungan
Diketahui
Bilangan prima p = 23 Elemen primitif g mod p = 7 Bilangan acak a = 6
Hash h(m) = 7 Penyelesaian
i. Hitung A =
g
a mod p =7
6mod
23
= 4Public Key (p, g, A) = (23, 7, 4) Private Key a = 6
r =
g
k mod pKarena sama-sama 5, maka pesan yang didapat adalah pesan asli dari pengirim otentiknya.
Schnorr Digital Signature Scheme
Skema otentikasi dan tanda tangan digital mengambiiil sekuritas dari permasalahan menghitung logaritma diskrit. Skema ini juga menggunakan biiilangan prima dan perpangkatan modulo dalam proses pembiientukan kuncinya. Tingkat kesulitan untuk memecahkan algoritma ini adalah sekitar 2t, dimana nilai
t ini dapat ditentukan sendiri.
Skema ini dipatenkan di Amerika Serikat dan akan biierakhir pada tanggal 19 Pebiiruari 2008. Skema otentikasi dapat dimodifkasi menjadi skema tanda tanda digital. Proses pembiientukan kunci privat dan pubiiliknya sama seperti skema otentikasi, hanya saja pada skema tanda tangan digital ditambiiahkan sebiiuah fungsi hash.
Key Generation
Pembiientukan kunci biierfungsi untuk menghasilkan kunci privat dan kunci pubiilik yang akan digunakan dalam skema otentikasi dan skema tanda tangan digital. Proses pembiientukan kunci adalah sebiiagai biierikut:
1. Pilih 2 biiuah biiilangan prima p dan q, dan sebiiuah nilai a yang memenuhi syarat biierikut:
bii. Harus memenuhi operasi: aq 1 (mod p).
2. Pilih sebiiuah nilai s, dimana s < q. (s adalah kunci privat) 3. Hitung nilai v dengan rumus biierikut:
v = a-s mod p
(v adalah kunci pubiilik).
Untuk lebiiih memahami proses pembiientukan kunci, perhatikan contoh biierikut: 1. Dipilih dua biiuah biiilangan prima p = 816961, q = 23 dan a = 40433 yang
memenuhi kedua syarat yang telah dijelaskan pada poin pertama proses pembiientukan kunci.
2. Pilih sebiiuah nilai s, s = 15 (s lebiiih kecil dari q yang biiernilai 23). 3. Hitung: v = a-s mod p 5. Kunci pubiilik: v = 578423.
Protokol Otentikasi
Misalkan, seha dan fandi sedang biierkomunikasi di dua tempat biierbiieda melalui aplikasi messenger (chatting). Permasalahan yang muncul adalah biiagaimana Seha dan Fandi dapat mengidentifkasi identitas satu sama lain untuk memastikan biiahwa orang yang sedang diajak komunikasi adalah biienar-biienar orang yang dimaksud. Dengan skema otentikasi schnorr, Seha dan Fandi dapat memverifkasi identitas masing-masing secara waktu yang real. Hal ini dapat dilakukan dengan mengirimkan biiebiierapa nilai matematis dimana hanya mereka biierdua yang dapat meresponnya secara tepat.
Protokol dari otentikasi schnorr dapat dijabiiarkan sebiiagai biierikut :
1. Seha mengambiiil sebiiuah biiilangan acak r, yang lebiiih kecil daripada q dan menghitung x = ar mod p.
2. Seha mengirimkan x kepada Fandi.
3. Fandi mengirimkan sebiiuah biiilangan acak e yang biierada di antara 0 dan 2t
– 1.
4. Seha menghitung y = (r + se) mod q dan mengirimkan y kepada Fandi. 5. Fandi memverifkasi biiahwa x = ayve mod p.
Dengan menggunakan contoh pada proses pembiientukan kunci, perhatikan contoh skema otentikasi di biiawah ini:
1. Seha memilih nilai r = 20 (r lebiiih kecil dari q yang biiernilai 23) dan menghitung:
x = ar mod p
x = 4043320 mod 816961
x = 738635
2. Seha mengirimkan x = 738635 kepada Fandi.
3. Fandi mengirimkan sebiiuah nilai e = 59195082 kepada seha. 4. Seha menghitung:
y = (r + se) mod q
y = (20 + 15 . 59195082) mod 23 y = 3
Seha mengirimkan y = 3 kepada Fandi. 5. Fandi memverifkasi biiahwa:
x = ((ay) mod p . (ve) mod p) mod p
x = (404333 mod 816961) . (57842359195082 mod 816961) mod 816961
x = (346483 . 402127) mod 816961
738635 = 738635 (True), Proses otentikasi biierhasil.
Protokol Tanda Tangan Digital (Digital Signature)
Protokol ini dapat dianalogikan seperti pengiriman surat yang menggunakan tanda tangan biiiasa. Fandi memang dapat merasa yakin biiahwa tanda tangan Seha adalah asli, tetapi biiagaimana Fandi dapat memastikan biiahwa isi pesan adalah asli dan tidak diganti oleh pihak ketiga. Untuk memastikan keaslian dan keutuhan pesan, Seha membiiubiiuhkan tanda tangan digitalnya pada pesan tersebiiut. Tanda tangan digital itu tidak mudah ditiru orang lain, hanya sah untuk pesan itu saja dan dapat diperiksa oleh Fandi.
Protokol dari skema tanda tangan digital Schnorr dapat dijabiiarkan sebiiagai biierikut:
1. Seha mengambiiil sebiiuah biiilangan acak, r, yang lebiiih kecil daripada q dan menghitung x = ar mod p.
2. Seha menggabiiungkan M dan x, dan menghitung nilai hash dari hasil penggabiiungan.
e = H(M, x).
3. Seha menghitung y = (r + se) mod q. Tandatangannya adalah e dan y. Seha mengirimkannya kepada Fandi.
4. Fandi menghitung x’ = ayve mod p dan memverifkasi nilai e dengan
nilai hash dari penggabiiungan dari M dan x’. e = H(M,x’).
Jika nilai e sesuai dengan nilai hash, maka tandatangan tersebiiut dianggap valid.
Dengan menggunakan contoh pada proses pembiientukan kunci pada subiibiiabii, perhatikan contoh skema tanda tangan digital di biiawah ini:
Misalkan nilai M (pesan) = 100
1. Seha memilih nilai r = 17 (r lebiiih kecil dari q yang biiernilai 23) dan menghitung:
x = ar mod p
x = 4043317 mod 816961
x = 402127
2. Seha menggabiiungkan M dan x, dan menghitung nilai hash dari hasil penggabiiungan.
x’ = 402127
Hasil penggabiiungan M (100) dan x’ (402127) = 100402127 Fandi memverifkasi: e = H(M, x’)
200804255 = (100402127 * 2) + 1 200804255 = 200804255 (True) Verifkasi tanda tangan sesuai. Digital Signature Algorithm (DSA)
Pada biiulan Agustus 1991, NIST (The National Institute of Standard and Technology) mengumumkan algoritma sidik digital yang disebiiut Digital Signature Algorithm (DSA). DSA dijadikan sebiiagai biiakuan (standard) dari Digital Signature Standard (DSS).
DSS adalah standard, sedangkan DSA adalah algoritma. Standard tersebiiut menggunakan algoritma ini, sedangkan algoritma adalah biiagian dari standard (selain DSA, DSS menggunakan Secure Hash Algorithm atau SHA sebiiagai fungsi hash).
DSA termasuk ke dalam sistem kriptograf kunci-pubiilik. Meskipun demikian, DSA tidak dapat digunakan untuk enkripsi. DSA mempunyai dua fungsi utama:
1. Pembiientukan sidik digital (signature generation), dan
2. Pemeriksaan keabiisahan sidik digital (signature verivication).
Sebiiagaimana halnya pada algoritma kriptograf kunci-pubiilik, DSA menggunakan dua biiuah kunci, yaitu kunci pubiilik dan kunci rahasia. Pembiientukan sidik digital menggunakan kunci rahasia pengirim, sedangkan verifkasi sidik digital menggunakan kunci pubiilik pengirim. DSA menggunakan fungsi hash SHA (Secure Hash Algorithm) untuk mengubiiah pesan menjadi message digest yang biierukuran 160 biiit (SHA akan dijelaskan pada kuliah selanjutnya).
Parameter DSA
DSA dikembiiangkan dari algoritma Elgamal. DSA menggunakan biiebiierapa parameter sebiiagai biierikut:
1. p, adalah biiilangan prima dengan panjang L biiit, yang dalam hal ini 512 L 1024 dan L harus kelipatan 64. Parameter p biiersifat pubiilik dan dapat
digunakan biiersama-sama oleh orang di dalam kelompok.
2. q, biiilangan prima 160 biiit, merupakan faktor dari p – 1. Dengan kata lain, (p – 1) mod q = 0. Parameter q biierisfat pubiilik.
3. g = h(p – 1)/q mod p, yang dalam hal ini h < p – 1 sedemikian sehingga h(p – 1)/
q mod p > 1. Parameter g biiersifat pubiilik.
4. x, adalah biiilangan biiulat kurang dari q. Parameter x adalah kunci rahasia. 5. y = gx mod p, adalah kunci pubiilik.
6. m, pesan yang akan dibiieri sidik digital.
Pembentukan Sepasang Kunci
1. Pilih biiilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.
2. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1 < h < p – 1 dan h(p – 1)/q mod
p > 1.
Pembentukan Sidik Digital (Signing)
1. Ubiiah pesan m menjadi message digest dengan fungsi hash SHA, H. 2. Tentukan biiilangan acak k < q.
3. Sidik digital dari pesan m adalah biiilangan r dan s. Hitung r dan s sebiiagai biierikut:
r = (gk mod p) mod q
s = (k– 1 (H(m) + x * r)) mod q
4. Kirim pesan m dan sidik digital r dan s.
Verifkasi Keabsahan Sidik Digital (Verifying)
1. Hitung
w = s– 1 mod q
u1= (H(m) * w) mod q
u2= (r * w) mod q
v = ((gu1 * yu2) mod p) mod q)
2. Jika v = r, maka sidik digital sah, yang biierarti biiahwa pesan masih asli dan dikirim oleh pengirim yang biienar.
Contoh Perhitungan DSA
3. Tentukan kunci rahasia x, yang dalam hal ini x < q. x = 3223
4. Hitung kunci pubiilik y = gx mod p.
y = 29245
b. Pembentukan Sidik Digital (Signing)
1. Hitung nilai hash dari pesan, misalkan H(m) = 4321 2. Tentukan biiilangan acak k < q.
k = 997
k– 1 = 2907 (mod 3301)
s = (k– 1 (H(m) + x * r)) mod q
= 7957694475 mod 3301 = 183 4. Kirim pesan m dan sidik digital r dan s.
c. Verifkasi Keabiisahan Sidik Digital
1. Hitung
s– 1 = 469 (mod 3301)
w = s– 1 mod q = 469
u1= (H(m) * w) mod q 2026549 mod 3301 = 3036
u2= (r * w) mod q = 397712 mod 3301 = 1592
v = ((gu1 * yu2) mod p) mod q) = 848 mod 3301 = 848
2. Karena v = r, maka sidik digital sah.
Implementasi DSA
Adanya biiatasan biiahwa nilai p mempunyai panjang 512 sampai 1024 biiit dan q 160-biiit, menyebiiabiikan DSA hampir tidak mungkin diimplementasikan dalam perangkat lunak. Panjang biiit yang biiesar ini dimaksudkan agar upaya untuk memecahkan parameter yang lain sangat sulit dilakukan.
Compiler C hanya sanggup menyatakan biiilangan biiulat hingga 232. Oleh
karena itu, biiila DSA diimplementasikan dalam perangkat lunak, biiatasan panjang biiit p dan q diubiiah hingga maksimum nilai p dan q adalah 232.
Perbandingan ElGamal, Schnorr, dan DSA
Tabel 5. Perbiiandingan ElGamal, Schnorr, dan DSA
Properti ElGAMAL DSA SCHNORR
Panjang TTD Sedang Paling kecil Lebiiih biiesar Pembiiuatan Key Lama Sedang Cepat Pembiiuatan TTD Lama Cepat Sedang Proses Verifkasi Lama Cepat Sedang
SOAL DAN PEMBAHASAN
A. MULTIPLE CHOICE
1. Pertanyaan nomor 1 A. Pilihan jawabiian A B. Pilihan jawabiian B C. Pilihan jawabiian C D. Pilihan jawabiian D E. Pilihan jawabiian E
Tingkat Kesulitan Sumbiier Soal Kunci Jawabiian Pembiiahasan
2. Pertanyaan nomor 2 3. Pertanyaan nomor 3 4. Pertanyaan nomor 4 5. Pertanyaan nomor 5
6. Dst hingga minimal 15 soal
B. ESSAY
SOAL 1
Uraian soal
Tingkat Kesulitan Sumbiier Soal Kunci Jawabiian Pembiiahasan
SOAL 2
DAFTAR PUSTAKA
[Online] [Dikutip: 8 May 2015.]
http://en.wikipedia.org/wiki/Authenticated_encryption.
Analisis Algoritma dan Kinerja pada Counter dengan Cbc-Mac (Ccm) sebagai Fungsi Enkripsi Terotentikasi. Sugi Guritman, dkk. s.l. : Institut Pertanian Bogor.
Catur Setiawan, dkk. Digital Signature Algorithm (DSA). [2013] s.l. : Jurusan Teknik Elektro dan Teknologi Informasi Universitas Jogjakarta.
Jain, Raj. Message Authentication Codes. s.l. : Washington University in Saint Louis.
Munir, Rinaldi. Bahan Kuliah IF3058 Kriptograf 'Tandatangan Digital'. 2005 : STEI ITB.
—. 2003. Digital Signature Algorithm (DSA). s.l. : Jurusan Teknik Informatika ITB, Program Studi Teknik Informatika ITB, 2003.
Mustika, Fandi Ali. 2012. Simulasi Skema Otentikasi dan Tanda Tangan Digital Schnorr Berbasis Web. Jakarta : Universitas Mercu Buana, 2012.
Perbandingan Algoritma Tanda Tangan Digital Rabin dan Schnorr. Setiawan, Rachmansyah Budi. 2010. s.l. : Program Studi Teknik Informatika STEI ITB, 2010.
Rancang Bangun Sistem Pengamanan Dokumen pada Sistem Informasi
Akademik dengan Menggunakan Digital Signature. Hadi, Ahmaddul. 2013. 2, Padang : Jurnal Teknologi Informasi & Pendidikan , 2013, Vol. 6. 2086 – 4981.
Serangan terhadap Skema Tanda Tangan Digital RSA, ElGamal, Schnorr, dan DSA beserta Teknik untuk Melawan Serangan. Ferdian, Edward. s.l. : Program Studi Teknik Informatika STEI ITB.
LAMPIRAN ANGGOTA KELP DAN PEMBAGIAN TUGAS
Anggota 1
NRP 5112100038 Nama Madis Saralita
Email madis.saralita@gmail.com HP 085658383000
Tugas Membiiuat presentasi pokok biiahasan umum digital signatures dan subiibiiabii Digital Signature Algorithm
Mengintegrasikan presentasi (PPT)
Membiiuat materi makalah pokok biiahasan umum digital signatures dan subiibiiabii DSA
Foto
Anggota 2
NRP 5112100132 Nama Shoffi Izza Sabiiilla Email shoffi.izza@gmail.com HP 08563122152
Tugas Membiiuat presentasi pokok biiahasan umum digital signatures, subiibiiabii ElGamal dan Schnorr
Membiiuat materi makalah biiabii digital signatures, subiibiiabii ElGamal dan Schnorr
Membiiuat soal Foto
Anggota 3
NRP 5112100212
Nama Otniel Yehezkiel B Hutabiiarat Email biiraincreativelife@gmail.com
HP 085668507003
Tugas Membiiuat presentasi subiibiiabii authenticated encryption dan PRNG using hash function and MACS