Anda di halaman 1dari 41

Tanda Tangan Digital Menggunakan Algoritma SHA-256 dan

RSA pada File PDF

Diajukan Sebagai Syarat Untuk Menyelesaikan


Pendidikan Program Strata-1 pada
Jurusan Teknik Informatika

Oleh :

Aditiya Ramadhan Saputra


NIM : 09021181924003

Jurusan Teknik Informatika


FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA
2023
LEMBAR PENGESAHAN PROPOSAL SKRIPSI

TANDA TANGAN DIGITAL MENGGUNAKAN ALGORITMA


SHA-256 dan RSA pada FILE PDF

Oleh :
Aditiya Ramadhan Saputra
NIM : 09021181924003

Palembang, xx Maret 2023

Pembimbing I Pembimbing II

Al Farissi, M.Comp., Sc. Osvari Arsalan, S.Kom., M.Kom.


NIP. 198512152014041001 NIP. 198806282018031001

Mengetahui,
Ketua Jurusan Teknik Informatika

Alvi Syahrini Utami, M.Kom.


NIP. 197812222006042003
DAFTAR ISI

Halaman

HALAMAN JUDUL ..............................................................................................i


LEMBAR PENGESAHAN PROPOSAL SKRIPSI...........................................ii
DAFTAR ISI.........................................................................................................iii
DAFTAR TABEL..................................................................................................v
DAFTAR GAMBAR.............................................................................................vi
BAB I PENDAHULUAN.......................................................................................1
1.1 Pendahuluan..............................................................................................1
1.2 Latar Belakang..........................................................................................1
1.3 Rumusan Masalah.....................................................................................2
1.4 Tujuan Penelitian.......................................................................................2
1.5 Manfaat Penelitian.....................................................................................3
1.6 Batasan Masalah........................................................................................3
1.7 Sistematika Penulisan................................................................................3
1.8 Kesimpulan................................................................................................4
BAB II KAJIAN LITERATUR............................................................................1
2.1 Pendahuluan...................................................................................................1
2.2 Landasan Teori...............................................................................................1
2.2.1 Tanda Tangan Digital..........................................................................1
2.2.2 Algoritma SHA-256............................................................................6
2.2.3 Algoritma RSA.................................................................................11
2.3 Penelitian Lain yang Relevan.......................................................................13
2.3.1 Aplikasi Enterprise Document Digital Signature menggunakan RSA
dan SHA256 untuk WFH di Era Pandemi.................................................13
2.3.2 Implementasi Algoritma RSA dan Hash SHA-256 untuk Tanda
Tangan Digital dalam Membangkitkan Kode QR Akses Masuk Kampus 13
2.4 Kesimpulan...................................................................................................14
BAB III METODOLOGI PENELITIAN............................................................1
3.1 Pendahuluan...................................................................................................1
3.2 Pengumpulan Data.........................................................................................1
3.3 Tahapan Penelitian.........................................................................................1
3.3.1 Kerangka Kerja...................................................................................4
3.3.2 Kriteria Pengujian...............................................................................7
3.3.3 Format Data Pengujian........................................................................7
3.3.4 Alat yang Digunakan dalam Pelaksanaan Penelitian..........................8
3.3.5 Pengujian Penelitian............................................................................8
3.3.6 Analisis Hasil Pengujian dan Kesimpulan..........................................9
3.4 Metode Pengembangan Perangkat Lunak....................................................10
3.4.1 Fase Insepsi.......................................................................................10
3.4.2 Fase Elaborasi...................................................................................10
3.4.3 Fase Konstruksi.................................................................................11
3.4.4 Fase Transisi.....................................................................................11
3.5 Manajemen Proyek Penelitian......................................................................11
3. 6 Kesimpulan..................................................................................................15
DAFTAR PUSTAKA...........................................................................................vii
DAFTAR TABEL

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

penelitian, manfaat penelitian, batasan masalah, sistematika penulisan, serta

kesimpulan mengenai pengangkatan topik mengenai “Tanda Tangan Digital

Menggunakan Algoritma SHA-256 dan RSA pada File PDF” sebagai bahan

penelitian yang dilaksanakan.

1.2 Latar Belakang

Kemajuan teknologi dan transformasi digital (digital transformation) yang

semakin pesat meningkatkan efisiensi dan efektifitas dalam melakukan distribusi

informasi digital, seperti memperoleh dan menyebarkan informasi yang dapat

dilakukan dengan sangat mudah dan cepat (Danuri, 2019).

Mudah dan cepatnya pertukaran informasi membuat dokumen digital dengan

sangat mudah mengubah isi dari dokumen digital oleh pihak yang tidak

bertanggung jawab. Hal ini kemudian menimbulkan masalah berupa sulitnya

mengautentikasi sumber, keaslian pada dokumen digital, serta tidak ada jaminan

bahwa dokumen digital tersebut tidak dirusak atau diubah.

Untuk mengatasi masalah yang ditimbulkan diperlukan upaya untuk menjamin

keamanan pada dokumen digital tersebut, salah satu cara yang dapat dilakukan

yaitu dengan melakukan autentikasi pada dokumen digital untuk menjamin

keamanannya. Autentikasi dokumen digital dapat dilakukan dengan kriptografi

I-1
I-2

yaitu dengan cara menandatangani dokumen digital tersebut dengan menggunakan

tanda tangan digital (digital signature). Tanda tangan digital menjamin

kerahasiaan, autentifikasi, non-repudiation, dan integritas pada dokumen digital

yang sesuai dengan konsep kriptografi (Azzahra, 2022).

Berdasarkan latar belakang tersebut mendorong penulis untuk melakukan

penelitian terhadap tanda tangan digital dengan mengkombinasikan fungsi hash

dan kriptografi kunci asimetris yaitu algoritma hash SHA-256 dan RSA yang

digunakan untuk membuat tanda tangan digital.

1.3 Rumusan Masalah

Dengan latar belakang yang telah diuraikan, maka rumusan masalah yang

dibahas adalah sebagai berikut :

1. Bagaimana mengembangkan perangkat lunak tanda tangan digital

menggunakan algoritma SHA-256 dan RSA?

2. Bagaimana kualitas kekuatan dan tingkat keamanan tanda tangan digital

dengan algoritma SHA-256 dan RSA?

1.4 Tujuan Penelitian

Tujuan penelitian ini dilakukan adalah :

1. Mengembangkan perangkat lunak tanda tangan digital menggunakan

algoritma SHA-256 dan RSA.

2. Melakukan pengukuran kualitas dan tingkat keamanan tanda tangan digital

menggunakan Avalanche Effect.


I-3

1.5 Manfaat Penelitian

Adapun manfaat penelitian ini adalah sebagai berikut :

1. Memberikan informasi, menambah wawasan dan ilmu pengetahuan, serta

sumbangan literatur untuk pembaca khususnya yang berkaitan dengan

tanda tangan digital pada dokumen digital dengan ekstensi pdf

2. Membantu perkembangan teknologi terutama dalam hal keamanan

khusunya pada autentikasi suatu dokumen digital.

1.6 Batasan Masalah

Adapun batasan-batasan masalah pada penelitian ini adalah sebagai berikut :

1. Dokumen digital yang digunakan untuk tanda tangan digital berupa file

berekstensi pdf.

2. Pengamanan dokumen digital hanya sebatas pada autentikasi keaslian file

dokumen digital.

3. Tidak melihat proses pertukaran informasi pada file dokumen digital.

1.7 Sistematika Penulisan

Sistematika penulisan penelitian ini adalah :

BAB I. PENDAHULUAN

Pada bab ini membahas mengenai latar belakang, perumusan masalah,

tujuan penelitian, manfaat penelitian, batasan masalah/ruang lingkup penelitian,

dan sistematika penulisan.


I-4

BAB II. KAJIAN LITERATUR

Pada bab ini membahas dasar-dasar teori yang relevan dengan

permasalahan penelitian yang juga digunakan dalam penelitian, seperti algoritma

SHA-256 dan algoritma RSA. Selain itu pada bab ini juga membahas hasil

penelitian terdahulu yang sejenis.

BAB III. METODOLOGI PENELITIAN

Pada bab ini membahas mengenai tahapan-tahapan yang dilakukan pada

penelitian. Rencana-rencana pada tahapan penelitian ini juga dideskripsikan

secara rinci dengan mengacu pada suatu kerangka kerja. Pada bab ini juga berisi

perancangan manajemen proyek pada pelaksanaan penelitian.

1.8 Kesimpulan

Berdasarkan uraian dari latar belakang masalah dengan mengautentikasi

keaslian dokumen digital yang berupa file pdf dengan tanda tangan digital.

Penelitian ini mengimplementasikan algoritma SHA-256 dan juga algoritma RSA.


BAB II

KAJIAN LITERATUR

2.1 Pendahuluan

Pada bab dua atau kajian literatur ini membahas tentang landasan teori yang

berkaitan dengan tanda tangan digital (digital signature) menggunakan algoritma

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.

2.2 Landasan Teori

2.2.1 Tanda Tangan Digital

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

Tanda tangan digital (digital signature) bukanlah tanda tangan yang

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

untuk setiap dokumen yang ditanda tangani (Munir, 2005).

II-1
II-2

Menurut (Kaur & Kaur, 2012) tanda tangan digital menjamin 4 (empat)

faktor untuk mencampai keamanan informasi pada dokumen yang

ditandatanganinya yaitu dalam aspek privacy, integrity, authentication, serta non-

repudiation:

1. Privacy : Tanda tangan digital menjamin keamanan data dari pihak-pihak

yang memanipulasi informasi pada dokumen digital. Hal ini memiliki arti

bahwa pihak ketiga tidak dapat menginterferensi dokumen digital yang

telah dilakukan proses tanda tangan digital.

2. Integrity : Tanda tangan digital dapat memastikan bahwa pesan yang

dikirim adalah pesan yang sebenarnya dan tidak dimodifikasi pada saat

transmisi. Keaslian pesan dapat diperoleh dengan membandingkan

message digest dari dokumen asli dengan plaintext hasil verifikasi

tandatangan digital. Jika hasilnya sama, maka dokumen telah terjamin

keasliannya.

3. Authentication : Tanda tangan digital dibuat dengan mengenkripsi

message digest dari pesan asli menggunkaan kunci publik pengirim.

Ciphertext ini hanya bisa didekripsi menggunakan pasangan kunci privat

dari kunci publik tersebut, sehingga jika hasil verifikasi membuktikan

bahwa message digest dokumen sama dengan hasil dekripsi dari

ciphertext, maka dapat dipastikan bahwa pengirim adalah benar orang

yang memiliki kunci privat tersebut.


II-3

4. Non-repudiation : Tanda tangan digital tidak dapat menyangkal bahwa

pemilik kunci publiklah yang telah menulis dokumen tersebut.

2.2.1.1 Sifat Tanda Tangan digital

Menurut Jamaludin et al. (2022). Suatu tanda-tangan digital memiliki

sifat-sifat sebagai berikut :

1. Authentification, yang berarti suatu tanda-tangan digital memiliki

kemampuan untuk menjaga atau memberikan jaminan terhadap suatu

pesan atau dokumen terhadap keaslian pesan atau integritas pesan.

Sehingga penerima dapat memastikan keaslian pesan atau dokumen

dengan tanda-tangan digital

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

atau dokumen digital tersebut dimodifikasi maka tanda-tangan digital pada

dokumen atau pesan tersebut tidak berlaku lagi.

3. Keabsahan tanda tangan digital itu dapat diperiksa oleh pihak yang

menerima pesan, walaupun belum pernah saling bertemu sekalipun.

2.2.1.2 Manfaat Tanda Tangan digital

Menurut Jamaludin et al. (2022). Manfaat-manfaat tanda-tangan digital antara

lain sebagai berikut :


II-4

1. Hemat waktu, dengan menggunakan tanda-tangan digital dapat

menghemat waktu dalam proses pencetakan dokumen, memindai dokumen

yang telah ditandatangani, serta proses pengiriman dokumen oleh pihak

ketiga. Dengan menggunakan tanda-tangan digital dapat melakukan tanda-

tangan digital di mana pun dan dapat dengan langsung kirim dokumen

tersebut secara langsung.

2. Hemat biaya, dengan menggunakan tanda-tangan digital tidak lagi

memerlukan biaya dalam melakukan pencetakan dokumen, membeli

pulpen, hingga biaya ekspedisi dan penyimpanan. Dibandingkan dengan

tanda-tangan digital yang hanya memerlukan internet saja.

3. Sah di mata hukum, tanda-tangan digital memiliki kekuatan dan akibat

hukum yang sah selayaknya tanda-tangan manual. Legalitas suatu tanda-

tangan digital sudah diatur pada Undang-Undang Republik Indonesia No

11 Tahun 2008 Pasal 11 Ayat 1 tentang Informasi dan Transaksi

Elektronik, serta Peraturan Pemerintah Republik Indonesia Nomor 82

Tahun 2012 Pasal 52 Ayat 1 dan 2 tentang Penyelenggaraan Sistem dan

Transaksi Elektronik. Sehingga dengan menggunakan tanda-tangan digital

dapat digunakan sebagai persetujuan penandatangan atas informasi

elektronik dan dokumen yang ditandatangani dengan tanda-tangan digital.

4. Lebih aman, dengan menggunakan tanda-tangan digital dapat

menghilangkan risiko pemalsuan dokumen dan juga pemalsuan tanda

tangan. Selain itu, dengan menggunakan tanda tangan digital juga dapat
II-5

meminimalisir rusaknya atau hilangnya suatu dokumen. Sehingga dengan

menggunakan tanda tangan digital dapat meningkatkan keamanan pada

suatu dokumen.

5. Ramah lingkungan, dengan menghilangkan proses pencetakan dan proses

pengiriman dokumen secara manual dapat melakukan kontribusi dalam

melestarikan lingkungan, dengan cara mengurangi penggunaan bahan

bakar dan kertas dalam kehidupan sehari-hari seiring dengan penggunaan

tanda tangan digital.

6. Mengembangkan cakupan bisnis di tingkat global, dengan menggunakan

tanda tangan digital menciptakan bisnis bergaya modern. Dengan

mengikatnya secara hukum tanda tangan digital dapat membuka peluang

untuk mengembangkan bisnis perusahaan ke kancah internasional.

2.2.1.3 Tanda tangan digital dengan menggunakan fungsi hash dan enkripsi

Berikut ini merupakan garis besar dalam proses pemberian tanda tangan

digital menggunakan fungsi hash :

 Langkah pertama yaitu pengirim menghitung terlebih dahulu message

digest dari suatu pesan. Message digest (MD) diperoleh dengan cara

mentransformasikan pesan (M) dengan menggunakan fungsi hash satu

arah (H).

MD = H(M)

 Langkah kedua yaitu mengenkripsi Message digest (MD) yang telah

didapatkan sebelumnya dengan menggunakan kriptografi kunci-publik dan


II-6

menggunakan kunci-privat (SK) pengirim. Yang kemudian hasil enkripsi

inilah yang dinamakan dengan tanda tangan digital (S).

S = ESK(MD)

 Langkah ketiga yaitu melampirkan tanda tangan digital yang telah

didapatkan (S) ke pesan (M).

Pada sisi penerima pesan, pesan dapat dicek otentikasinya dengan

menggunakan tanda tangan yang telah dilampirkan dengan garis besar sebagai

berikut:

 Langkah pertama yaitu penerima melakukan dekripsi pada tanda tangan

digital yang telah didapatkan dengan menggunakan kunci-publik (PK)

yang dikirim oleh pengirim pesan, sehingga menghasilkan message digest

(MD) seperti semula

MD = DPK(S)

 Langkah kedua yaitu penerima mengubah pesan M menjadi message

digest (MD’) menggunakan fungsi hash satu arah yang sama dengan

fungsi hash yang digunakan pengirim.

 Langkah ketiga yaitu penerima membandingkan message digest pada

pesan (MD’) dengan message digest (MD) yang telah didekripsi

sebelumnya. Jika MD’ = MD, berarti pesan yang diterima otentik yang

berasal dari pengirim yang benar.


II-7

2.2.2 Algoritma SHA-256

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

menggunakan kunci atau unkeyed cryptosystem. (Suharya & Widia, 2020)

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

& Putri, 2018)

Menurut (Sulastri, 2019) pada SHA-256 untuk menghasilkan message

digest melalui tahapan-tahapan sebagai berikut:

1. Penambahan bit-bit pengganjal (Message Padding), pada tahap ini

dilakukan penambahan bit-bit pengganjal berupa bit 1 pada akhir pesan

yang telah diubah menjadi binary dan menambahkan bit 0 hingga panjang

pesan tersebut kongruen dengan 448 modulo 512. Panjang pesan yang

kemudian ditambahkan sebagai angka biner 64 bit. Sehingga panjang

pesan sekarang menjadi kelipatan 512 bit.

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

sebelumnya oleh standar SHA-2.

{
(i)
Wt= Mt 0 ≤ t ≤15
σ ¿ ( W t−2 ) +W t −7 +σ 0 ( W t−15 ) +W t −16 16 ≤ t ≤63

Dengan fungsi σ0 dan dirumuskan sebagai berikut:

σ 0 ( x )=ROTR 7 ( X ) ⨁ ROTR18 ( X ) ⊖ SHR 3 (X )

17 19 10
σ 1 ( x )=ROTR ( X ) ⨁ ROTR ( X ) ⊖ SHR ( X)

Pada hash SHA-256 memiliki nilai initial hash sebagai berikut:

Tabel II-1. Nilai initial hash SHA-256

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

ROTRn(X) merupakan suatu operasi geser kanan putra melingkar, dengan

x adalah sebuah penjadwalan pesan (w) dan n adalah bilangan bulat (0 ≤ n

< w) yang dapat didefinisikan ROTRn(X) = ((x >> n) v (x << w - n)) =

ROTLw-n(X). Dalam hal ini SHRn(X) merupakan suatu operasi yang

bertujuan untuk menggeser x sebanyak n posisi ke kanan.

4. Message Compression : Masing-masing dari 64 word yang diberi label

W0, W1, … , W63 tadi kemudian diproses dengan algoritma fungsi hash

SHA-256. Dalam proses tersebut, inti utama dari algoritma SHA-256

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

telah ditentukan sebelumnya.

5. Pada algoritma tersebut dilakukan perhitungan sebanyak 64 kali putaran

untuk setiap perhitungan blok. Delapan variabel yang diberi label A,B,C,

…,H tersebut nilainya terus berganti selama perputaran sebanyak 64 kali

putaran sebagai berikut:

(1) T1 = H + Σ1(E) + Ch(E,F,G)[1] + Kt + Wt

(2) T2 = Σ0(A) = Maj(A,B,C)[1]

(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

Dengan fungsi Σ0, Σ1, Ch, Maj dirumuskan sebagai berikut:

Ch ( X ,Y , Z ) =( X∧Y ) ⨁ ( Χ ∧Z )

Maj ( X , Y , Z )=( X ∧Y ) ⨁(X ∧Z )⨁(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)

7. Langkah terakhir yaitu menggabungkan delapan variabel yang telah

dilakukan komputasi sebelumnya yang menghasilkan hasil akhir SHA-

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)

2.2.3 Algoritma RSA

Algoritma RSA ditemukan pada tahun 1977 oleh Ronald L. Riverst, Adi

Shamir, dan juga Leonard M. Adleman dengan membuat suatu algoritma praktis

dengan mengimplementasikan sistem kriptografi kunci publik. Algoritma RSA

merupakan suatu block cipher algorithm (algoritma yang bekerja per blok data)

yang bekerja dengan cara mengelompokkan plaintext menjadi blok-blok terlebih

dahulu sebelum dilakukan enkripsi sehingga menjadi ciphertext (Andi Rsiki

Alvianto dan Darmaji, 2015)

Untuk membangkitkan kunci menggunakan algoritma RSA dapat

dilakukan dengan cara seperti berikut :

1. Memberikan bilangan prima acak yang disimpan ke variabel p dan q.

Nilai p dan q ini bersifat rahasia. Semakin besar bilangan prima yang

diberikan maka semakin sulit untuk ditebak.

2. Selanjutnya yaitu menghitung nilai n dengan menggunakan rumus :

n= p∗q
II-12

3. Kemudian menghitung nilai Totient Euler dengan rumus sebagai

berikut

ϕ ( n )= ( p−1 )∗(q−1)

Hasil dari Totient Euler ini bersifat rahasia

4. Lalu, hitung nilai d yang digunakan sebagai kunci privat. Untuk

menghitung nilai d dapat dihitung menggukan rumus sebagai berikut:

−1
d=e mod ϕ( n)

Keterangan :

 Kunci publik terdiri dari (e,n)

 Kunci privat terdiri dari (d,n)

Setelah mendapatkan kunci publik dan kunci privat menggunakan

algoritma tersebut langkah selanjutnya yaitu melakukan enkripsi pada pesan

dengan cara sebagai berikut :

1. Langkah pertama yaitu, memisahkan plaintext atau pesan yang

selanjutnya dienkripsi menjadi blok-blok plaintext atau data.

m1 ,m2 , m3 , … m n

2. Langkah kedua yaitu, menghitung blok ciphertext Ci untuk setiap blok

plaintext dengan menggunakan kunci publik (e,n) dengan

menggunakan rumus:
II-13

e
C i=mi mod n

Untuk mengembalikan nilai plaintext dari ciphertext dapat menggunakan

algoritma yang sama dengan menggunakan kunci privat (d,n). berikut ini tahapan

dalam melakukan dekripsi pada algoritma RSA :

1. Langkah pertama yaitu, memisahkan ciphertext yang kemudian didekripsi

menjadi blok-blok ciphertext.

C 1 , C 2 , C 3 , … , Cn

2. Kemudian blok-blok ciphertext tersebut digunakan untuk menghitung

blok-blok plaintext mi menggunakan blok-blok ciphertext Ci dengan

menggunakan kunci privat (d,n) dengan menggunakan rumus:

mi=c di mod n

2.3 Penelitian Lain yang Relevan

Pada sub bab ini menjabarkan penelitian-penelitian lain yang pernah

dilakukan oleh peneliti lain yang memiliki keterkaitan atau relevan dengan

penelitian yang dilakukan yaitu “Tanda Tangan Digital Menggunakan Algoritma

SHA-256 dan RSA pada File PDF”.

2.3.1 Aplikasi Enterprise Document Digital Signature menggunakan RSA dan

SHA256 untuk WFH di Era Pandemi

Penelitian ini dilakukan oleh Rafie Afif Andika, Aji Gautama Putradama,

dan Rizka Reza Pahlevi (2021) menjelaskan tentang penerapan kombinasi

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

penggunaan perusahaan. Pada penelitian tersebut dapat disimpulkan bahwa

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

Digital dalam Membangkitkan Kode QR Akses Masuk Kampus

Penelitian ini dilakukan oleh Justin Dermawan Ikhsan (2022) menjelaskan

tentang pengimplementasian algoritma RSA dan fungsi algoritma hash SHA-256

untuk membangkitkan tanda tangan digital yang digunakan untuk memverifikasi

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

berkaitan dengan tanda-tangan digital menggunakan algoritma SHA-256 dan juga

algoritma RSA. Pada bab ini juga telah membahas penelitian-penelitian lain yang

berkaitan dengan penelitian ini yang dilakukan oleh peneliti sebelumnya.


BAB III

METODOLOGI PENELITIAN

3.1 Pendahuluan

Pada bab tiga atau metodologi penelitian ini menjelaskan tahapan

penelitian yang diimplementasikan, metodologi penelitian serta manajemen

proyek penelitian. Tahapan penelitian dijadikan sebagai acuan pada setiap fase

pengembangan dan memberikan solusi untuk rumusan masalah dan mencapai

tujuan penelitian.

3.2 Pengumpulan Data

Pada penelitian yang dilakukan data yang digunakan untuk penelitian

tersebut adalah data berjenis sekunder. Berupa data teks yang terdiri dari karakter

ASCII yang dibangkitkan secara otomatis berdasarkan jumlah kata atau bytes

yang diinginkan yang berasal dari situs https://www.lipsum.com yang kemudian

data teks yang telah didapatkan tersebut diubah menjadi sebuah dokumen digital

berupa file pdf.

3.3 Tahapan Penelitian

Tahapan penelitian merupakan tahapan-tahapan kegiatan yang dilakukan

penulis selama penelitian. Adapun tahapan-tahapan yang dilakukan selama

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

telah dilakukan tersebut.

III-1
III-2

Gambar III-1. Diagram Tahapan Penelitian

Berdasarkan Gambar III-1 di atas tahapan penelitian ini adalah sebagai

berikut:

1. Studi Literatur mengenai Tanda Tangan Digital dan Kriptografi. Pada

tahap ini peneliti melakukan pencarian literatur yang memiliki keterkaitan

dengan penelitian yang dilakukan dengan penelitian yang telah dilakukan

terlebih dahulu oleh peneliti lain. Literatur yang didapatkan bersumber

dari jurnal-jurnal ilmiah, buku-buku, dan juga tugas akhir atau skripsi yang

telah dilakukan sebelumnya oleh peneliti lain yang berkaitan dengan

penelitian yang dilakukan.


III-3

2. Menganalisis dan Merumusukan Masalah Penelitian. Pada tahap ini

peneliti menganalisa serta merumuskan masalah yang mendorong penulis

untuk melakukan penelitian ini yang dirumuskan pada bab I.

3. Melakukan Pengembangan Perangkat Lunak. Pada tahap ini peneliti

melakukan pengembangan perangkat lunak dengan menggunakan metode

Rational Unified Process dikarenakan perangkat lunak yang dibangun ini

berorientasi objek.

4. Melakukan Pengujian Perangkat Lunak. Pada tahap ini peneliti melakukan

penelitian terhadap perangkat lunak yang telah dibangun berdasarkan

kasus uji yang dibuat. Pada penelitian ini keberhasilan perangkat lunak

jika perangkat lunak tersebut mampu melakukan penandatangannan digital

pada file pdf yang telah disiapkan terlebih dahulu dengan menghasilkan

message digest yang telah dienkripsi menggunakan kunci privat penanda

tangan dan juga pada perangkat lunak ini dapat melakukan verifikasi file

yang telah ditanda tangani dengan file aslinya dengan menggunakan tanda

tangan digital yang didapatkan dengan menggunakan kunci dekripsi yang

diberikan penanda tangan.

5. Menganalisa Hasil Pengujian Perangkat Lunak. Pada tahap ini peneliti

melakukan analisa berdasarkan hasil dari pengujian perangkat lunak yang

telah dilakukan.
III-4

6. Menarik Kesimpulan dan Saran Penelitian. Pada tahap ini dilakukan

penarikan kesimpulan dan saran penelitian berdasarkan hasil analisa

pengujian yang diharapkan berguna untuk penelitian selanjutnya.

3.3.1 Kerangka Kerja

Kerangka kerja merupakan tahapan-tahapan yang berlangsung pada

penelitian Tanda Tangan Digital Menggunakan Algoritma SHA-256 dan RSA

pada File PDF. Kerangka kerja pada pembuatan tanda tangan menggunakan

kombinasi algoritma SHA-256 dan RSA pada file pdf adalah sebagai berikut:

Gambar III-2. Kerangka Kerja Pembuatan Tanda Tangan Digital


III-5

Berdasarkan kerangka kerja di atas, pembuatan tanda digital pada

penelitian ini memiliki 3 proses utama, yaitu sebagai berikut:

1. Operasi hash pada pesan. Pada tahap ini melakukan proses hash pada

file pdf dengan menggunakan fungsi hash dengan algoritma SHA-256.

2. Operasi enkripsi message digest menggunakan algoritma RSA. Pada

tahap ini melakukan proses enkripsi terhadap message digest yang

didapatkan dari operasi hash pada pesan dengan menggunakan

algoritma RSA.

3. Operasi membangkitkan file txt. Pada proses ini bertujuan untuk

menyimpan hasil enkripsi tanda tangan digital yang telah dilakukan

pada proses sebelumnya.


III-6

Gambar III-3. Kerangka Kerja Verifikasi Tanda Tangan Digital

Berdasarkan kerangka kerja di atas pada autentikasi file pdf dengan

menggunakan tanda tangan digital memiliki beberapa proses sebagai berikut:

1. Operasi hash pesan pada file pdf asli. Pada tahap ini file pdf dilakukan

hash menggunakan algoritma SHA-256 untuk menghasilkan message

digest yang digunakan sebagai perbandingan dengan tanda tangan

digital yang diberikan

2. Operasi Dekripsi tanda tangan digital. Pada tahap ini perangkat lunak

melakukan dekripsi tanda tangan digital dengan menggunakan


III-7

algoritma RSA dengan kunci privat yang diberikan sehingga

menghasilkan message digest berupa nilai hash SHA-256

3. Operasi membandingkan message digest yang didapatkan dari file pdf

asli dengan hasil dekripsi tanda tangan digital yang telah didapatkan

sebelumnya untuk memastikan keaslian dari file pdf dan juga

mengautentikasi pengirim.

3.3.2 Kriteria Pengujian

Proses pengambilan keputusan dalam pengujian integritas file yang telah

dilakukan operasi tanda tangan digital dilakukan dengan cara membandingkan

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

digital menggunakan algoritma RSA. Adapun kriteria pengujian yang dilakukan

adalah sebagai berikut:

1. Keluaran integritas dan autentikasi pengirim file pdf dinyatakan

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

menyatakan integritas file tersebut tidak terjamin.

3.3.3 Format Data Pengujian

Data yang digunakan dalam pengujian adalah data berupa file dengan

ekstensi file .pdf.


III-8

3.3.4 Alat yang Digunakan dalam Pelaksanaan Penelitian

Pada pelaksanaan penelitian dalam Tanda Tangan Digital menggunakan

Algoritma SHA-256 dan Algoritma RSA pada file PDF, penulis menggunakan

alat atau perangkat keras dengan spesifikasi sebagai berikut:

1. Processor AMD Ryzen 5 2500U (8 CPUs), ~2.0GHz

2. Memory (RAM) 8GB, Hard Disk 1TB, dan Solid State Drive 128GB

Adapun Perangkat Lunak yang digunakan penulis yaitu sebagai berikut:

1. Sistem Operasi Windows 10 Pro 64-bit

2. IDE Visual Studio Code

3. Node.js

4. Aplikasi berbasis website Lipsum

5. Microsoft Word 2019

3.3.5 Pengujian Penelitian

Adapun metode pengujian yang dilakukan pada penelitian ini

menggunakan metode Avalanche Effect. Pengujian dilakukan dengan cara

memasukkan file dengan ekstensi pdf dan juga tanda tangan digital yang

didapatkan serta kunci yang digunakan untuk proses dekripsi, proses ini

menghasilkan keluaran berupa nilai persen pengujian menggunakan Avalanche

Effect. Adapaun hasil dari pengujian tersebut ditampung pada tabel dengan format

seperti di bawah ini :


III-9

Tabel III-2. Pengujian hasil penelitian

Rata-rata
No. Nama File Ukuran File Kunci
Avalanche Effect
1

3.3.6 Analisis Hasil Pengujian dan Kesimpulan

Analisis hasil pengujian serta menarik kesimpulan didapatkan berdasarkan

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

autentikasi pengirim yang dilakukan dengan cara memasukkan kunci deskripsi

yang digunakan. Hasil dari pengujian ini menampilkan tanda tangan tidak valid

apabila kunci deskripsi yang digunakan salah. Hal ini terjadi dikarenakan proses

dekripsi menghasilkan message digest yang berbeda jika menggunakan kunci

dekripsi yang salah.


III-10

3.4 Metode Pengembangan Perangkat Lunak

Metode pengembangan perangkat lunak yang digunakan pada penelitian

ini yaitu menggunakan metode RUP (Rational Unified Process) yang memiliki 4

proses yaitu sebagai berikut:

3.4.1 Fase Insepsi

Fase insepsi pada metode RUP penulis menentukan ruang lingkup dalam

penelitian, user requirements, dan fitur-fitur yang dibutuhkan dalam

pengembangan perangkat lunak. Pada tahapan pengumpulan kebutuhan, penulis

mengumpulkan data penelitian berupa file pdf. Tahapan analisis dan desain,

penulis membuat rancangan use case diagram. Kemudian pada tahap

implementasi penulis mendokumentasikan user requirements, fungsionalitas

perangkat lunak dan use case diagram. Tahapan terakhir yaitu tahapan pengujian,

pada tahap ini penulis memastikan semua user requirements dan fungsionalitas

dari perangkat lunak sudah selesai.

3.4.2 Fase Elaborasi

Fase elabroasi pada metode RUP penulis menentukan rancangan arsitektur

sistem, kemudian merancang tampilan antarmuka (interface) sistem sebagaimana

user requirements yang telah dirancang sebelumnya. Apabila dirasa masih kurang

lengkap, penulis dapat menambahkan user requirements pada tahap pengumpulan

kebutuhan. Pada tahap analisis dan desain, penulis membuat Activity diagram dan

sequence diagram. Selanjutnya pada tahap implementasi, penulis

mendokumentasikan arsitektur perangkat lunak, user interface, activity diagram,


III-11

dan sequence diagram kemudian menguji kevalidan semua yang telah dibuat pada

tahap pengujian.

3.4.3 Fase Konstruksi

Fase konstruksi pada metode RUP penulis menentukan kelas-kelas yang

dibutuhkan pada perangkat lunak, kemudian penulis menentukan bahasa

pemrograman yang digunakan. Pada fase ini penulis membuat Class diagram dan

menerapkan kelas-kelas yang telah dibuat ke dalam kode program. Selanjutnya

perangkat lunak akan diuji oleh penulis berdasarkan Unit Testing yang telah

dibuat.

3.4.4 Fase Transisi

Fase transisi pada metode RUP penulis membuat rencana pengujian

perangkat lunak dan menentukan perangkat yang akan digunakan untuk

melakukan pengujian perangkat lunak.

3.5 Manajemen Proyek Penelitian

Pada manajemen proyek penelitian ini menjelaskan secara rinci rencana

susunan pekerjaan yang mencakup seluruh tahapan ketika melakukan penelitian.


III-12

Tabel III-3. Gantt Chart

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

Menentukan Kebutuhan fungsional dan


12
non-fungsional perangkat lunak                                
13 Melakukan analisis kebutuhan                                
Merancang usecase diagram dan scenario
14
usecase                                
  Elaborasi                                
15 Menentukan rancangan arsitektur sistem                                
16 Merancang tampilan antarmuka                                
17 Merancang Activity diagram                                
18 Merancang Sequence Diagram                                
  Kontruksi                                
19 Pengujian hasil analisis dan desain                                
20 Pembuatan program perangkat lunak                                
  Transisi                                
21 Membuat rencana pengujian dan kasus uji                                
Melakukan pengujian berdasarkan rencana
22
pengujian dan kasus uji                                
  Melakukan Pengujian Penelitian                                
Membuat rancangan hasil pengujian dalam
23
penelitian                                
Melakukan pengujian penelitian
24 menggunakan perangkat lunak yang telah
dibuat                                
III-14

Melakukan Analisa Hasil Pengujian dan


 
Sintesis Kesimpulan                                
Melakukan analisa terhadap hasil
25
pengujian penelitian                                
Menarik kesimpulan dan saran berdasarkan
26
analisa terhadap hasil pengujian                                
III-15

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

terhadap metodologi penelitian yang diperlukan dalam membangun perangkat

lunak yang dikembangkan.


DAFTAR PUSTAKA

Andi Rsiki Alvianto dan Darmaji. (2015). Pengaman Pengiriman Pesan Via SMS

dengan Algoritma RSA Berbasis Android. Jurnal Sains Dan Seni ITS, 4(1).

Azzahra, N. J. (2022). Implementasi Tanda Tangan Digital untuk Pengamananan

Dokumen Digital pada Pelaksanaan Smart Governance.

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

Danuri, M. (2019). Development and transformation of digital technology.

Infokam, XV(II), 116–123.

Jamaludin, J., Sulaiman, O. K., Tandungan, S., Putra, L. M., Yuswardi, Y.,

Yulianti, N., Sidabutar, J., Aisa, S., Tantriawan, H., Arizal, A., Mardalius,

M., & Pakpahan, A. F. (2022). Kriptografi: Teknik Keamanan Data.

Yayasan Kita Menulis.

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 -

International Conference on Computing Sciences, ICCS 2012, 295–301.

https://doi.org/10.1109/ICCS.2012.25

vii
Munir, R. (2005). Penggunaan Tanda-Tangan Digital untuk Menjaga Integritas

Berkas Perangkat Lunak. 2005(Snati), 6–9.

Suharya, Y., & Widia, H. (2020). Implementasi Digital Signature Menggunakan

Algoritma Kriftografi RSA Untuk Pengamanan Data Di Smk Wirakarya 1

Ciparay. Jurnal Informatika (Computing), 07(01), 20–29.

Sulastri, S. (2019). … Data Message Digest Algorithm 5 (Md5) Dan Secure Hash

Algorithm (Sha-256) Pada Sistem Penjadwalan Karyawan Agrowisata Setya

…. 5. https://lib.unnes.ac.id/35717/

Sulastri, S., & Putri, R. D. M. (2018). Implementasi Enkripsi Data Secure Hash

Algorithm (SHA-256) dan Message Digest Algorithm (MD5) pada Proses

Pengamanan Kata Sandi Sistem Penjadwalan Karyawan. Jurnal Teknik

Elektro, 10(2), 70–74. https://doi.org/10.15294/jte.v10i2.18628

viii

Anda mungkin juga menyukai