AUTHENTICATED ENCRYPTION
Dibuat Oleh :
TRI WAHYU SAPUTRO (1461600115)
JURUSAN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS 17 AGUSTUS 1945 SURABAYA
KATA PENGANTAR
Segala puji bagi Allah SWT yang telah memberikan kami kemudahan sehingga kami
dapat menyelesaikan makalah ini dengan tepat waktu. Tanpa pertolongan-Nya tentunya kami
tidak akan sanggup untuk menyelesaikan makalah ini dengan baik. Shalawat serta salam
semoga terlimpah curahkan kepada baginda tercinta kita yaitu Nabi Muhammad SAW yang
kita nanti-natikan syafa’atnya di akhirat nanti.
Kami mengucapkan syukur kepada Allah SWT atas limpahan nikmat sehat-Nya, baik
itu berupa sehat fisik maupun akal pikiran, sehingga kami mampu untuk menyelesaikan
pembuatan makalah dari mata kuliah Sistem Keamanan Komputer dengan judul
“Authenticated Encryption”.
Kami tentu menyadari bahwa makalah ini masih jauh dari kata sempurna dan masih
banyak terdapat kesalahan serta kekurangan di dalamnya. Untuk itu, kami mengharapkan
kritik serta saran dari pembaca untuk makalah ini, supaya makalah ini nantinya dapat menjadi
makalah yang lebih baik lagi. Kemudian apabila terdapat banyak kesalahan pada makalah ini
kami mohon maaf yang sebesar-besarnya.
iii
BAB I
PENDAHULUAN
Seringkali ketika dua pihak berkomunikasi melalui suatu jaringan, ada dua tujuan
utama yang ingin mereka capai dalam menjaga keamanan data atau pesan, yaitu kerahasiaan
dan otentikasi pesan. Teknik kriptografi dapat digunakan untuk mencapai tujuan tersebut.
Tujuan kerahasiaan dapat dicapai dengan menggunakan teknik kriptografi berupa penyandian
pesan, sedangkan tujuan otentikasi dapat diraih dengan menggunakan teknik kriptografi
berupa otentikasi pesan yang secara implisit memberikan integritas data.
1.2 Tujuan
Tujuan di buatnya makalah ini adalah untuk memahami lebih dalam tentang authenticated
encryption.
BAB II
ISI
Enkripsi
o Input : plaintext, key, dan opsional header dalam plaintext yang tidak terenkripsi.
o Output : ciphertext dan tag otentikasi (Message Authentication Code).
Dekripsi
o Input : ciphertext, kunci, tag otentikasi, dan opsional header.
o Output : plaintext, atau error jika tag otentikasi tidak sesuai dengan ciphertext
disediakan.
v
Skema enkripsi secara semantik aman di bawah serangan plaintext yang dipilih .
Fungsi MAC tidak dapat dikalahkan di bawah serangan pesan yang dipilih .
Bellare dan Namprempre (2000) menganalisis tiga komposisi primitif ini, dan
menunjukkan bahwa mengenkripsi pesan dan kemudian menerapkan MAC ke ciphertext
(pendekatan Encrypt-then-MAC ) menyiratkan keamanan terhadap serangan ciphertext yang
dipilih secara adaptif , asalkan kedua fungsi memenuhi properti yang diperlukan. Katz dan
Yung menyelidiki gagasan tersebut dengan nama "enkripsi yang tidak bisa dimaafkan" dan
membuktikannya menyiratkan keamanan terhadap serangan ciphertext yang dipilih.
Gambar 1. EtM
Gambar 1. E&M
vii
2.3.3 MAC-then-Encrypt (MtE)
Gambar 3. MtE
Algoritma blok yang akan mendasari CCM pada penelitian ini adalah
algoritma AES. CCM hanya memerlukan fungsi forward cipher dari AES. Kunci
CCM, disimbolkan 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
1. Sebuah pesan atau data, yaitu suatu bitstring disebut payload (P), dengan
panjang bit Plen. P akan diotentikasi dan dienkripsi sehingga CCM
menyediakan jaminan keaslian dan kerahasiaan P.
2. Suatu bit string disebut associated data, (A). A bersifat opsional. A akan
diotentikasi tetapi tidak dienkripsi sehingga CCM hanya menyediakan jaminan
keaslian namun tidak memberikan jaminan kerahasiaan A.
3. Suatu bit string unik yang disebut nonce (N), diberikan pada pasangan data
yang akan dilindungi, yaitu P dan A. MAC yang dibangkitkan dalam CCM
dinyatakan dengan T. Panjang bit T, dinyatakan dengan Tlen, merupakan
suatu parameter yang akan ditetapkan untuk semua proses CCM dengan kunci
yang diberikan.
Pemformatan Input
dan (N, P', A') adalah input triplet yang berbeda dengan format B0, B1, …, Br
ix
dan B0', B1', …, Br'', maka Bi berbeda dari Bi' untuk indeks i sedemikian
3. Blok pertama, B0, berbeda dari sembarang blok counter yang digunakan untuk
semua proses CCM menggunakan kunci yang diberikan.
Fungsi Pemformatan
Panjang bit untuk setiap string input, yaitu N, A, dan P, merupakan kelipatan
dari 8 bit, 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 bilangan bulat p)
direpresentasikan dalam blok pertama dari data terformat sebagai sebuah string
oktet disimbolkan dengan Q. Panjang oktet Q yang dinyatakan dengan q, adalah
sebuah parameter untuk fungsi pemformatan. Jadi, Q ekuivalen dengan [p]8q,
representasi biner p dalam oktet q. Fungsi pemformatan yang digunakan dalam
penelitian ini mensyaratkan panjang dari peubah berikut:
Oktet awal blok pertama dari pemformatan, B0, berisi empat flag (lihat Tabel
1) untuk mengontrol informasi: yaitu dua bit tunggal (disebut Reserved dan
Adata) dan dua string terdiri dari tiga bit 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 bernilai ‘0’ jika a = 0 dan
‘1’ jika a > 0. Tabel 2 memperlihatkan pemformatan B0.
Bit 7 6 5 4 3 2 1 0
Isi Reserved Adata [(t-2)/2]3 [q-1]3
Tabel 2. Pemformatan B0
4. Pemformatan Payload
Payload digabungkan dengan jumlah minimum bit-bit ‘0’ (mungkin juga tidak
ada) sedemikian sehingga hasilnya bisa dipartisi menjadi 16-blok oktet. Blok-blok
ini dinyatakan dalam data yang telah diformat sebagai Bu+1, Bu+2, … Br, dengan
r = u + ⎡p/16⎤.
Blok-blok counter Ctri dibentuk seperti terlihat pada Tabel 3. Dalam setiap
blok Ctri, flag dibentuk seperti terlihat pada Tabel 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 bahwa semua blok counter berbeda
dari B0. Bit 0, 1, dan 2 berisi penyandian q yang sama seperti dalam B0.
xi
Oktet 0 1... 15-q 16-q ... 15
Isi Flags N [i]8q
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 blok-blok 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 pembangkitan counter untuk membangkitkan blok-blok 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)).
5. P = MSBClen-Tlen(C) ⊕ MSBClen-Tlen(S).
6. T = LSBTlen(C) ⊕ MSBTlen(S0).
xiii
Gambar 5. Proses decryption-verification CCM
Modus operasi GCM menggunakan NIST standar SP 800-38D. Modus ini dirancang
untuk model paralel sehingga dapat memberikan throughput yang tinggi dengan biaya
rendah. Pesan dienkripsi dalam varian modus CTR. Ciphertext yang dihasilkan dikalikan
dengan key material dan panjang pesan untuk menghasilkan authenticator tag.
1. GHASH
Fungsi GHASH membutuhkan input berupa hash key H dan bit string X. Plaintext
di-XOR-kan dengan inputan dan kemudian dikalikan dengan key pada fungsi
GF(2128) untuk menghasilkan authenticator tag. Gambar 6 berikut adalah langkah
algoritma GHASH. Sedangkan ilustrasi proses GHASH dapat dilihat pada Gambar 7.
2. GCTR
xv
Gambar 9. GCTR
BAB III
PENUTUP
3.1 Kesimpulan
Inti dari keamanan komputer adalah melindungi komputer dan jaringannya dengan
tujuan mengamankan informasi yang berada di dalamnya. Mencegah terjadinya suatu
serangan terhadap sistem. Dengan demikian kita perlu memperhatikan desain dari sistem,
aplikasi yang dipakai, dan human (admin). Ketiga faktor tersebut merupakan cara yang baik
untuk mencegah terjadinya kebocoran sistem, serangan, dan lain-lain.
Begitu banyak teknik dalam mengamankan data dan informasi yang tersimpan pada
sebuah media penyimpanan di komputer. Teknik tersebut patut diterapkan apabila kita tidak
menginginkan terjadinya resiko kehilangan data penting. Namun, pemilihan teknik tersebut
perlu dilakukan dengan cermat.
Untuk yang mempunyai password dalam jumlah yang banyak, lebih baik memakai
password management daripada ditulis disuatu tempat.
xvii