Oleh :
Oleh :
Aditiya Ramadhan Saputra
NIM : 09021181924003
Pembimbing I Pembimbing II
Mengetahui,
Ketua Jurusan Teknik Informatika
Halaman
Halaman
Tabel II-1. Nilai initial hash SHA-256.....................................................................8
Tabel III-1. Pengujian hasil penelitian.....................................................................9
Tabel III-2. Gantt Chart.........................................................................................12
DAFTAR GAMBAR
Halaman
Gambar III-1. Diagram Tahapan Penelitian.......................................................................2
Gambar III-2. Kerangka Kerja Pembuatan Tanda Tangan Digital.....................................4
Gambar III-3. Kerangka Kerja Verifikasi Tanda Tangan Digital.......................................6
BAB I
PENDAHULUAN
1.1 Pendahuluan
Pada bab pendahuluan ini membahas latar belakang, rumusan masalah, tujuan
Menggunakan Algoritma SHA-256 dan RSA pada File PDF” sebagai bahan
sangat mudah mengubah isi dari dokumen digital oleh pihak yang tidak
mengautentikasi sumber, keaslian pada dokumen digital, serta tidak ada jaminan
keamanan pada dokumen digital tersebut, salah satu cara yang dapat dilakukan
I-1
I-2
dan kriptografi kunci asimetris yaitu algoritma hash SHA-256 dan RSA yang
Dengan latar belakang yang telah diuraikan, maka rumusan masalah yang
1. Dokumen digital yang digunakan untuk tanda tangan digital berupa file
berekstensi pdf.
dokumen digital.
BAB I. PENDAHULUAN
SHA-256 dan algoritma RSA. Selain itu pada bab ini juga membahas hasil
secara rinci dengan mengacu pada suatu kerangka kerja. Pada bab ini juga berisi
1.8 Kesimpulan
keaslian dokumen digital yang berupa file pdf dengan tanda tangan digital.
KAJIAN LITERATUR
2.1 Pendahuluan
Pada bab dua atau kajian literatur ini membahas tentang landasan teori yang
SHA-256 dan algoritma RSA pada file pdf serta penelitian-penelitian sebelumnya
yang relevan dengan penelitian ini yang membahas tanda tangan digital pada file
pdf.
Tanda tangan digital (digital signature) adalah suatu tanda tangan yang
dilakukan dengan memakai alat elektronik yang berfungsi sama dengan tanda
tangan manual. Tanda tangan digital merupakan kumpulan bit yang bisa
melakukan fungsi elektronik yang memakai fungsi hash satu arah (Jamaludin et
al., 2022).
didigitasi dengan alat scanner, tetapi suatu nilai kriptografis yang bergantung
pada pesan dan pengirim pesan yang berbanding terbalik dengan tanda tangan
pada dokumen kertas yang bergantung hanya pada pengirim dan selalu sama
II-1
II-2
Menurut (Kaur & Kaur, 2012) tanda tangan digital menjamin 4 (empat)
repudiation:
yang memanipulasi informasi pada dokumen digital. Hal ini memiliki arti
dikirim adalah pesan yang sebenarnya dan tidak dimodifikasi pada saat
keasliannya.
2. Cuma berlaku untuk sekali pengiriman dokumen, yang berarti suatu tanda-
tangan hanya dapat diterapkan atau diaplikasikan pada satu pesan atau
dokumen saja, hal ini berarti suatu tanda-tangan digital tersebut tidak
dapat dipindahkan ke dokumen atau pesan lainnya, dan jika suatu pesan
3. Keabsahan tanda tangan digital itu dapat diperiksa oleh pihak yang
tangan digital di mana pun dan dapat dengan langsung kirim dokumen
tangan. Selain itu, dengan menggunakan tanda tangan digital juga dapat
II-5
suatu dokumen.
2.2.1.3 Tanda tangan digital dengan menggunakan fungsi hash dan enkripsi
Berikut ini merupakan garis besar dalam proses pemberian tanda tangan
digest dari suatu pesan. Message digest (MD) diperoleh dengan cara
arah (H).
MD = H(M)
S = ESK(MD)
menggunakan tanda tangan yang telah dilampirkan dengan garis besar sebagai
berikut:
MD = DPK(S)
digest (MD’) menggunakan fungsi hash satu arah yang sama dengan
sebelumnya. Jika MD’ = MD, berarti pesan yang diterima otentik yang
Fungsi hash atau yang juga dikenal dengan nama oneway function adalah
suatu algoritma kriptografi yang bertujuan untuk mengubah teks atau pesan
menjadi suatu deretan karakter acak yang memiliki karakter yang sama tanpa
Fungsi hash SHA-256 merupakan salah satu versi dari SHA (Secure Hash
Algorithm) versi dua yang memiliki ukuran digest 256 yang didasarkan pada hash
MD4 yang dibuat oleh Ronald L, Rivest dari MIT. Pada SHA-256 terdapat enam
logika yang menggunakan kombinasi dasar seperti AND, OR, XOR, pergeseran
bit kekanan (shift right), dan rotasi bit kekanan (rotate right). Pada algoritma ini
memiliki keluaran berupa message digest yang memiliki panjang 256 bit (Sulastri
yang telah diubah menjadi binary dan menambahkan bit 0 hingga panjang
pesan tersebut kongruen dengan 448 modulo 512. Panjang pesan yang
2. Parsing, pada tahapan ini pesan yang telah memiliki kelipatan 512 bit
dibagi menjadi N buah blok 512 bit : M(1), M(2), M(3), …, M(n).
II-8
3. Message Expansion, pada tahap ini memecah blok-blok yang telah dipecah
tadi menjadi 16 word 32 bit : M0(i), M1(i), M2(i), …, M15(i) yang kemudian
nantinya akan diperluas lagi menjadi 64 word yang kemudian diberi label
W0, W1, W2, …, W63 dengan aturan tertentu yang sudah ditentukan
{
(i)
Wt= Mt 0 ≤ t ≤15
σ ¿ ( W t−2 ) +W t −7 +σ 0 ( W t−15 ) +W t −16 16 ≤ t ≤63
17 19 10
σ 1 ( x )=ROTR ( X ) ⨁ ROTR ( X ) ⊖ SHR ( X)
A = H0(0) 6a09e667
B = H1(0) bb67ae85
C = H2(0) 3c6ef472
D = H3(0) a54ff53a
E = H4(0) 510e527f
F = H5(0) 9b05688c
G = H6(0) 1f83d9ab
H = H7(0) 5be0cd19
II-9
W0, W1, … , W63 tadi kemudian diproses dengan algoritma fungsi hash
adalah membuat 8 variabel yang diberikan nilai untuk nilai awal dari H 0(0)
– H7(0) di awal masing-masing fungsi hash. Dengan nilai hash awal yang
untuk setiap perhitungan blok. Delapan variabel yang diberi label A,B,C,
(3) H=G
(4) G=F
(5) F=E
(6) E = D + T1
II-10
(7) D=C
(8) C=B
(9) B=A
(10) A = T1 + T2
Ch ( X ,Y , Z ) =( X∧Y ) ⨁ ( Χ ∧Z )
2 13 22
∑ 0( x)=ROTR ( X ) ⨁ ROTR (X ) ⨁ ROTR (X )
6 11 25
∑1 ( x )=ROTR ( X ) ⨁ ROTR ( X ) ⨁ ROTR ( X)
6. Tahapan selanjutnya yaitu menghitung nilai hash H(i) dengan cara sebagai
berikut:
H0(i) = a + H0(i-1)
H1(i) = b + H1(i-1)
H2(i) = c + H2(i-1)
H3(i) = d + H3(i-1)
H4(i) = e + H4(i-1)
H5(i) = f + H5(i-1)
H6(i) = g + H6(i-1)
II-11
H7(i) = h + H7(i-1)
256.
H 0 || H 1 || H 2 ∨¿ H 3 || H 4 || H 5 || H 6 ∨¿ H 7
(N ) (N) ( N) ( N) ( N) (N ) (N ) (N)
Algoritma RSA ditemukan pada tahun 1977 oleh Ronald L. Riverst, Adi
Shamir, dan juga Leonard M. Adleman dengan membuat suatu algoritma praktis
merupakan suatu block cipher algorithm (algoritma yang bekerja per blok data)
Nilai p dan q ini bersifat rahasia. Semakin besar bilangan prima yang
n= p∗q
II-12
berikut
ϕ ( n )= ( p−1 )∗(q−1)
−1
d=e mod ϕ( n)
Keterangan :
m1 ,m2 , m3 , … m n
menggunakan rumus:
II-13
e
C i=mi mod n
algoritma yang sama dengan menggunakan kunci privat (d,n). berikut ini tahapan
C 1 , C 2 , C 3 , … , Cn
mi=c di mod n
dilakukan oleh peneliti lain yang memiliki keterkaitan atau relevan dengan
Penelitian ini dilakukan oleh Rafie Afif Andika, Aji Gautama Putradama,
algoritma RSA 2048 bit atau RSA 4096 bit dengan SHA-256 untuk digunakan
II-14
sebagai tanda tangan digital pada dokumen melalui aplikasi web untuk
kombinasi algoritma tersebut dapat diterapkan dan melalui uji integritas juga
aplikasi tersebut dapat mendeteksi jika suatu dokumen tersebut telah dimodifikasi.
2.3.2 Implementasi Algoritma RSA dan Hash SHA-256 untuk Tanda Tangan
data yang disimpan pada kode QR yang digunakan sebagai akses masuk kampus.
2.4 Kesimpulan
Pada bab dua atau kajian literatur ini telah membahas landasan teori yang
algoritma RSA. Pada bab ini juga telah membahas penelitian-penelitian lain yang
METODOLOGI PENELITIAN
3.1 Pendahuluan
proyek penelitian. Tahapan penelitian dijadikan sebagai acuan pada setiap fase
tujuan penelitian.
tersebut adalah data berjenis sekunder. Berupa data teks yang terdiri dari karakter
ASCII yang dibangkitkan secara otomatis berdasarkan jumlah kata atau bytes
data teks yang telah didapatkan tersebut diubah menjadi sebuah dokumen digital
penelitian antara lain yaitu menentukan kerangka kerja, kriteria pengujian, format
data pengujian, alat yang digunakan dalam penelitian, pengujian penelitian, dan
menganalisis hasil pengujian serta menarik kesimpulan dari hasil pengujian yang
III-1
III-2
berikut:
dari jurnal-jurnal ilmiah, buku-buku, dan juga tugas akhir atau skripsi yang
berorientasi objek.
kasus uji yang dibuat. Pada penelitian ini keberhasilan perangkat lunak
pada file pdf yang telah disiapkan terlebih dahulu dengan menghasilkan
tangan dan juga pada perangkat lunak ini dapat melakukan verifikasi file
yang telah ditanda tangani dengan file aslinya dengan menggunakan tanda
telah dilakukan.
III-4
pada File PDF. Kerangka kerja pada pembuatan tanda tangan menggunakan
kombinasi algoritma SHA-256 dan RSA pada file pdf adalah sebagai berikut:
1. Operasi hash pada pesan. Pada tahap ini melakukan proses hash pada
algoritma RSA.
1. Operasi hash pesan pada file pdf asli. Pada tahap ini file pdf dilakukan
2. Operasi Dekripsi tanda tangan digital. Pada tahap ini perangkat lunak
asli dengan hasil dekripsi tanda tangan digital yang telah didapatkan
mengautentikasi pengirim.
hasil keluaran dari proses hash pada file pdf asli dengan nilai message digest
berupa nilai hash SHA-256 yang didapatkan pada proses dekripsi tanda tangan
terjamin apabila nilai hash hasil dekripsi memiliki nilai yang sama dengan nilai
hash pada file pdf yang asli begitupun sebaliknya jika nilai hash hasil dekripsi
memiliki nilai yang berbeda dengan nilai hash pada file pdf maka keluaran
Data yang digunakan dalam pengujian adalah data berupa file dengan
Algoritma SHA-256 dan Algoritma RSA pada file PDF, penulis menggunakan
2. Memory (RAM) 8GB, Hard Disk 1TB, dan Solid State Drive 128GB
3. Node.js
memasukkan file dengan ekstensi pdf dan juga tanda tangan digital yang
didapatkan serta kunci yang digunakan untuk proses dekripsi, proses ini
Effect. Adapaun hasil dari pengujian tersebut ditampung pada tabel dengan format
Rata-rata
No. Nama File Ukuran File Kunci
Avalanche Effect
1
hasil dari pengujian yang telah dilakukan pada penelitian. Pada analisa hasil
pengujian ini dilakukan dengan cara menganalisa terhadap aspek integritas file
dengan cara membandingkan hasil dekripsi tanda tangan digital yang didapatkan
dengan message digest file aslinya, serta melakukan analisa terhadap aspek
yang digunakan. Hasil dari pengujian ini menampilkan tanda tangan tidak valid
apabila kunci deskripsi yang digunakan salah. Hal ini terjadi dikarenakan proses
ini yaitu menggunakan metode RUP (Rational Unified Process) yang memiliki 4
Fase insepsi pada metode RUP penulis menentukan ruang lingkup dalam
mengumpulkan data penelitian berupa file pdf. Tahapan analisis dan desain,
perangkat lunak dan use case diagram. Tahapan terakhir yaitu tahapan pengujian,
pada tahap ini penulis memastikan semua user requirements dan fungsionalitas
user requirements yang telah dirancang sebelumnya. Apabila dirasa masih kurang
kebutuhan. Pada tahap analisis dan desain, penulis membuat Activity diagram dan
dan sequence diagram kemudian menguji kevalidan semua yang telah dibuat pada
tahap pengujian.
pemrograman yang digunakan. Pada fase ini penulis membuat Class diagram dan
perangkat lunak akan diuji oleh penulis berdasarkan Unit Testing yang telah
dibuat.
2023
No. Kegiatan Februari Maret April Mei
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Menentukan Ruang Lingkup Penelitian
1 Menentukan masalah penelitian
Membuat latar belakang dan rumusan
2
masalah
3 Membuat tujuan dan manfaat penelitian
4 Membuat batasan masalah
Membuat sistematika penulisan dan
5
kesimpulan
Menentukan Dasar Landasan Teori
6
pada Penelitian
Mengumpulkan literatur paper dan buku
7
yang berkaitan dengan penelitian
Mempelajari metode tanda tangan digital,
8
SHA-256, dan RSA
Rekayasa Perangkat Lunak dengan
9
RUP
Insepsi
10 Menentukan pemodelan bisnis
11 Menentukan Kebutuhan sistem
III-13
3. 6 Kesimpulan
Pada bab III ini telah dijelaskan tahapan dan langkah-langkah yang
dilakukan dalam penelitian ini. Bab ini juga telah menguraikan secara rinci
Andi Rsiki Alvianto dan Darmaji. (2015). Pengaman Pengiriman Pesan Via SMS
dengan Algoritma RSA Berbasis Android. Jurnal Sains Dan Seni ITS, 4(1).
Informatika.Stei.Itb.Ac.Id, 18219065.
https://informatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi-dan-Koding/
2021-2022/Makalah2022/Makalah-II4031-Kripto-2022 (11).pdf
Jamaludin, J., Sulaiman, O. K., Tandungan, S., Putra, L. M., Yuswardi, Y.,
Yulianti, N., Sidabutar, J., Aisa, S., Tantriawan, H., Arizal, A., Mardalius,
https://www.google.co.id/books/edition/Kriptografi_Teknik_Keamanan_Dat
a/1W1tEAAAQBAJ?
hl=en&gbpv=1&dq=metode+AES&pg=PA53&printsec=frontcover
Kaur, R., & Kaur, A. (2012). Digital signature. Proceedings: Turing 100 -
https://doi.org/10.1109/ICCS.2012.25
vii
Munir, R. (2005). Penggunaan Tanda-Tangan Digital untuk Menjaga Integritas
Sulastri, S. (2019). … Data Message Digest Algorithm 5 (Md5) Dan Secure Hash
…. 5. https://lib.unnes.ac.id/35717/
Sulastri, S., & Putri, R. D. M. (2018). Implementasi Enkripsi Data Secure Hash
viii