KEAMANAN INFORMASI DAN JARINGAN Authen

MATA KULIAH KEAMANAN INFORMASI DAN JARINGAN
KELAS : C

AUTHENTICATED ENCRYPTION: CCM AND GCM
PSEUDORANDOM NUMBER GENERATION
USING HASH FUNCTIONS AND MACS
DIGITAL SIGNATURES

Kelompok 12 :
Madis Saralita
Shoffi Izza Sabiiilla
Otniel Yehezkiel B. Hutabiiarat

NRP. 5112100038
NRP. 5112100132
NRP. 5112100212

Dosen :
Henning Titi Ciptaningtyas, S.Kom, M.Kom

JURUSAN INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
2015

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
Anggota 3......................................................................................................... 15


i

DAFTAR GAMBAR
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar
Gambiiar

1. MtE....................................................................................................... 2
2. EtM....................................................................................................... 2

3. E&M...................................................................................................... 2
4. Proses generation-encryption CCM......................................................5
5. Proses decryption-verifcation CCM......................................................6
6. Algoritma GHASH................................................................................. 7
7. GHASH................................................................................................. 7
8. Algoritma GCTR....................................................................................8
9. GCTR.................................................................................................... 8
10. Pseudocode PRNG menggunakan a Hash Function............................9
11. PRNG menggunakan Cryptographic Hash Function...........................9
12. PRNG using HMAC..............................................................................9
13. Tanda Tangan Digitisasi.....................................................................2
14. Proses Pembiiuatan Digital Signature..................................................3

ii

DAFTAR TABEL
Tabiiel
Tabiiel
Tabiiel
Tabiiel


1.
2.
3.
4.

Pemformatan
Pemformatan
Pemformatan
Pemformatan

oktet fag dalam B0............................................................4
B0...................................................................................... 4
Ctri..................................................................................... 5
oktet flag dalam Ctri..........................................................5

iii

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
dengan istilah “combined modes” atau istilah yang lebiiih sering digunakan
adalah “authenticated-encryption modes”.
Authenticated
encryption
adalah

istilah
yang
digunakan
untuk
mengGambiiarkan sistem enkripsi dimana sistem enkripsi ini melindungi
kerahasiaan dan keaslian (integrasi) suatu komunikasi [ CITATION Wil11 \l
1057 ]. Untuk menggunakan modus AE, terdapat fungsi-fungsi yang harus
dijalankan sebiiagai biierikut:
 Enkripsi
Input : plaintext, key, dan opsional header dalam plaintext yang
tidak terenkripsi.
Output : ciphertext dan tag otentikasi (Message Authentication
Code).
 Dekripsi
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

Hitung fungsi hash kriptograf M dengan fungsi h = H(M). Kemudian
pesan M tersebiiut dienkripsi dengan menambiiahkan fungsi hash E(K,
(M||h).
1

 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
MAC dihasilkan biierdasarkan plaintext, tetapi plaintext dienkripsi
tanpa MAC. Plaintext dari MAC dan ciphertext kemudian dikirim
biiersama-sama. Contoh dari EtM misalnya SSH. Ilustrasi penggunaan
MtE dapat dilihat pada Gambiiar 3.

2

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:
1. Blok pertama, B0, secara unik menentukan nonce N.
3

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
sebiiuah parameter untuk fungsi pemformatan. Jadi, Q ekuivalen
dengan [p]8q, representasi biiiner p dalam oktet q. Fungsi
pemformatan yang digunakan dalam penelitian ini mensyaratkan
panjang dari peubiiah biierikut:
o t adalah elemen dari {4, 6, 8, 10, 12, 14, 16}
o q adalah elemen dari {2, 3, 4, 5, 6, 7, 8}
o n adalah elemen dari {7, 8, 9, 10, 11, 12, 13}
o n + q = 15
o a < 264.
 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 [(t2)/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 B 0.
Tabel 1. Pemformatan oktet fag dalam B0

Bit
Isi

7
Reserv
ed

6

5

Adata

4

3

[(t-2)/2]3

2

1

0

[q-1]3

Tabel 2. Pemformatan B0

Oktet
Isi

0
Flags

1... 15-q
N

16-q ... 15
Q

 Pemformatan Associated Data
Jika a = 0 maka tidak ada biilok yang disediakan untuk associated data
dalam data yang diformat. Jika a > 0, maka a disandikan seperti
dijelaskan di biiawah ini, dan sandi dari a digabiiung dengan associated
4

data A, diikuti oleh jumlah minimum biiit-biiit ‘0’ (mungkin juga tidak)
sedemikian sehingga string yang dihasilkan biiisa dipartisi ke dalam 16biilok oktet. Blok-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] 16, yaitu dua
oktet.
o Jika 216-28 ≤ a < 232, maka a disandikan sebiiagai 0xf || 0xfe ||
[a]32, yaitu enam oktet.
o Jika 232 ≤ a < 264, maka a disandikan sebiiagai 0xf || 0xf || [a]64,
yaitu sepuluh oktet.
 Pemformatan Payload
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
Isi

0
Flags

1... 15-q
N

16-q ... 15
[i]8q

Tabel 4. Pemformatan oktet flag dalam Ctri

Bit
Isi

7
Reserve
d

6
Reserve
d

5

4

3

0

0

0

2

1

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)).
Ilustrasi proses generation-encryption dapat dilihat pada Gambiiar 4.

5

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).
10.Jika T ≠ MSBTlen(Yr), maka kembiialikan INVALID, selainnya kembiialikan P.
Ilustrasi proses decryption-verifcation dapat dilihat pada Gambiiar 5.

6

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 GHASH membiiutuhkan input biierupa hash key H dan biiit string X.
Plaintext di-XOR-kan dengan inputan dan kemudian dikalikan dengan key pada
7

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
Langkah algoritma GHASH dapat dilihat pada Gambiiar 8. Sedangkan
ilustrasi proses GCTR dapat dilihat pada Gambiiar 9.

8

Gambar 8. Algoritma GCTR

Gambar 9. GCTR

9

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. PRNG menggunakan
Cryptographic Hash Function

PRNG using a MAC
Metode ini menggunakan standar SP800-90, IEEE 802.11i dan TLS. PRNG
dengan MAC menggunakan key dan mendapatkan inputan biierdasarkan fungsi
hash terakhir. Ilustrasi prosesnya dapat dilihat pada Gambiiar 12.

10

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).
Fungsi tanda tangan pada dokumen kertas juga diterapkan untuk
otentikasi pada data digital (pesan, dokumen elektronik). Tanda-tangan untuk
data digital dinamakan tanda tangan digital (digital signature). Tanda tangan
digital biiukanlah tulisan tanda-tangan yang di-digitisasi (di-scan) seperti pada
Gambiiar 13. Tanda tangan digital adalah nilai kriptografs yang biiergantung pada
isi pesan dan kunci. Tanda tangan pada dokumen cetak selalu sama, apa pun isi
dokumennya. Tanda tangan digital selalu biierbiieda-biieda antara satu isi dokumen
dengan dokumen lain.

11

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.
Cara kerja Digital Signature adalah dengan memanfaatkan dua biiuah
kunci, yaitu kunci pubiilik dan kunci privat. Kunci pubiilik digunakan untuk
mengenkripsi data, sedangkan kunci privat digunakan untuk mendekripsi data.
Pertama, dokumen di-hash dan menghasilkan Message Digest. Kemudian,
Message Digest dienkripsi oleh kunci pubiilik menjadi Digital Signature. Proses
pembiiuatan digital signature dapat dilihat pada Gambiiar 14.

12

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
Meskipun pesan seringkali dapat mencakup informasi tentang entitas
mengirim pesan, biiahwa informasi mungkin tidak akurat. Tanda tangan digital
dapat digunakan untuk otentikasi sumbiier pesan. Ketika kepemilikan kunci
rahasia tanda tangan digital terikat kepada pengguna tertentu, tanda tangan
yang sah menunjukkan biiahwa pesan yang dikirim oleh pengguna tersebiiut.
Pentingnya kepercayaan yang tinggi dalam otentisitas pengirim ini terutama
jelas dalam konteks keuangan. Misalnya, kantor cabiiang biiank mengirimkan
13

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
dianggap layak oleh sebiiagian biiesar komputasi fungsi hash kriptograf (lihat
resistensi tabiirakan ).
Non-repudiation
Non-repudiation, merupakan aspek penting dari tanda tangan digital.
Dengan properti ini suatu entitas yang telah menandatangani biiebiierapa
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 Kunci

14

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 = ga mod p
= 76 mod 23
=4
Public Key (p, g, A) = (23, 7, 4)
Private Key a = 6
ii. Pembiiuatan Tanda Tangan
Pesan akan dibiieri tanda tangan
15

r = gk mod p
= 75 mod 23
= 17
Mencari

k −1=Invers k mod ( p−1 )
= Invers 5 mod (23-1)
=9
Hitung
s = k −1 ( h(m)- ar ) mod (p-1)
= 9 (87 – 6 . 17) mod 22
=3
Tanda tangan pesan (r, s) = (17, 3)
iii. Verifkasi Tanda Tangan
Pesan akan diverifkasi

Ar r s mod p
= 4 17 17 3 mod 23
=5

Pesan akan dicek

g

h (m )

mod p

= 77 mod 23
=5
Karena 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 2 t, 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:
a. Bilangan q adalah faktor prima dari (p-1). Ini biierarti GCD(q, p-1) tidak
biioleh biiernilai 1.
16

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
v = (a-1)s mod p
v = ((a-1 mod p)s mod p)
v = ((40433-1 mod 816961)15 mod 816961)
v = 578423
4. Kunci privat: s = 15.
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 2 t
– 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).(ve)) mod p
17

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.
Hasil penggabiiungan M (100) dan x (402127) = 100402127
Misalkan fungsi hash H(z) = (z * 2) + 1,
maka e = H(M, x) = (100402127 * 2) + 1 = 200804255.
3. Seha menghitung:
y = (r + se) mod q
y = (17 + 15 . 200804255) mod 23
y = 11
Tanda tangan digital adalah e (200804255) dan y (11). Seha
mengirimkannya kepada Fandi.
4. Fandi menghitung:
x’ = ((ay).(ve)) mod p
x’ = ((ay) mod p . (ve) mod p) mod p
x’ = (4043311 mod 816961) . (578423200804255 mod 816961) mod
816961
x’ = (131633 . 501222) mod 816961
18

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.
3. Tentukan kunci rahasia x, yang dalam hal ini x < q.
4. Hitung kunci pubiilik y = gx mod p.
19

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
a.

Pembentukan Sepasang Kunci
1. Pilih biiilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.
p = 59419
q = 3301 (memenuhi 3301 * 18 = 59419 – 1)
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.
g = 18870 (dengan h = 100)
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)
3. Hitung r dan s sebiiagai biierikut:
r = (gk mod p) mod q = 848
20

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 2 32. 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

Sedang

Paling kecil

Lebiiih biiesar

Pembiiuatan Key

Lama

Sedang

Cepat

Pembiiuatan TTD

Lama

Cepat

Sedang

Proses Verifkasi

Lama

Cepat

Sedang

Panjang TTD

Sehingga dapat disimpulkan biiahwa ElGamal < DSA < Schnorr.

21

DAFTAR PENANYA SAAT PRESENTASI
(Tidak Ada Pertanyaan)

Sesi 1
1

2

3

Nama /
NRP
Pertanyaa
n
Jawabiian
Nama /
NRP
Pertanyaa
n
Jawabiian
Nama /
NRP
Pertanyaa
n
Jawabiian

Sesi 2
1

2

3

Nama /
NRP
Pertanyaa
n
Jawabiian
Nama /
NRP
Pertanyaa
n
Jawabiian
Nama /
NRP
Pertanyaa
n
Jawabiian

22

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.
3.
4.
5.
6.

Pertanyaan nomor 2
Pertanyaan nomor 3
Pertanyaan nomor 4
Pertanyaan nomor 5
Dst hingga minimal 15 soal

B. ESSAY
SOAL 1
Uraian soal
Tingkat
Kesulitan
Sumbiier Soal
Kunci Jawabiian
Pembiiahasan
SOAL 2
Uraian soal 2 dst hingga minimal 5 soal.

23

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.
Stallings, William. 2011. Cryptography And Network Security Principles And
Practice Fifth Edition. New York : Prentice Hall, 2011.

24

LAMPIRAN ANGGOTA KELP DAN PEMBAGIAN TUGAS
Anggota 1
NRP
Nama
Email
HP
Tugas

5112100038
Madis Saralita
madis.saralita@gmail.com
085658383000

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
Nama
Email
HP
Tugas

5112100132
Shoffi Izza Sabiiilla
shoffi.izza@gmail.com
08563122152

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
Nama
Email
HP
Tugas

5112100212
Otniel Yehezkiel B Hutabiiarat
biiraincreativelife@gmail.com
085668507003

Membiiuat presentasi subiibiiabii authenticated encryption dan
PRNG using hash function and MACS

Membiiuat materi makalah subiibiiabii authenticated
encryption dan PRNG using hash function and MACS
25



Mengintegrasikan makalah

Foto

26