Anda di halaman 1dari 9

MODUL 1

PENGENALAN KRIPTOGRAFI

Sami Nuari Ahmad 2210631110188

Praktikum Blokchain

Program Studi Pendidikan Agama Islam

Universitas Singaperbangsa Karawang

ABSTRAK

Kehadiran mata uang kripto, seperti bitcoin dan sejenisnya, menciptakan sebuah gangguan
digital yang mempermudah pengguna dalam melakukan transaksi. Meskipun masih banyak
aspek yang perlu diselesaikan, terutama dalam hal legalitas, teknologi yang digunakan dapat
diadopsi dan diterapkan untuk tujuan lain. Teknologi yang beroperasi di balik mata uang
kripto, seperti bitcoin, adalah blockchain.

1. Pendahuluan
Keamanan data menjadi aspek penting dalam dunia digital, terutama di era informasi
yang berubah dengan cepat. Dalam beberapa tahun terakhir, teknologi blockchain dan
kriptografi telah muncul sebagai solusi menjanjikan terhadap tantangan keamanan data.
Blockchain, yang merupakan teknologi yang mendasari mata uang kripto seperti Bitcoin,
menyediakan mekanisme manajemen data yang aman dan terdesentralisasi. Sementara itu,
kriptografi, sebagai teknik matematika untuk mengamankan komunikasi dan mengenkripsi
data, merupakan metode yang ampuh untuk melindungi data dari akses yang tidak sah. Pada
artikel ilmiah kali ini, kami akan merangkum keamanan data dan kriptografi berbasis
blockchain. Blockchain adalah basis data terdesentralisasi yang terdiri dari jaringan node
yang bekerja sama untuk memvalidasi transaksi dan membuat catatan baru dalam bentuk
“blok” yang terhubung secara kriptografis. Di sisi lain, kriptografi adalah ilmu dan teknik
yang digunakan untuk melindungi informasi dari akses tidak sah dengan mengenkripsi atau
mengenkripsinya.
Secara bersama-sama, blockchain dan kriptografi memberikan tingkat keamanan yang
tinggi dengan memastikan bahwa setiap transaksi atau perubahan data dicatat secara
permanen dan tidak dapat dimanipulasi oleh pihak yang tidak berkepentingan. Selain itu,
kriptografi yang digunakan untuk menyimpan data dienkripsi, memastikan bahwa hanya
orang yang berwenang yang memiliki akses ke data tersebut.
Keamanan data berdasarkan blockchain dan kriptografi memiliki banyak manfaat,
antara lain peningkatan privasi dan keamanan, pengurangan risiko penipuan dan penipuan,
serta pengurangan biaya transaksi. Hal ini membuat teknologi ini semakin populer dan
diadopsi secara luas di berbagai industri, seperti perbankan, logistik, dan kesehatan.
2. Studi Pustaka
A. Pengantar Replit
Replit digunakan sebagai IDE online yang lebih mudah penggunaan dan aksesnya
dibandingkan dengan melakukan instalasi Python karena pengguna tidak perlu melakukan
instalasi Python dan dependency-nya di computer dan dapat melakukan interpreting secara
online.
Pada percobaan ini pengguna akan diminta untuk melakukan sintaks sederhana pada
Replit dan cara mengirimkan tautan filenya untuk kebutuhan penilaian praktikum.
B. Hashing
Hashing atau hashing adalah istilah umum ketika kita berbicara tentang teknologi
blockchain. Hashing mengacu pada proses mengubah dan menghasilkan data masukan
dengan berbagai ukuran menjadi string berukuran tetap, yang dilakukan oleh algoritma
tertentu. Lebih khusus lagi, algoritma hashing Bitcoin disebut SHA-256 atau Algoritma
Hashing Aman 256-bit. Algoritma ini merupakan fungsi kriptografi satu arah karena tidak
ada yang dapat memulihkan data asli melalui dekripsi.
Menerapkan fungsi hash kriptografi berguna dalam mencegah transaksi penipuan,
pembelanjaan ganda pada blockchain, dan menyimpan kata sandi pengguna. Tapi apa itu
fungsi hash Bitcoin dan apa yang harus Anda lakukan dalam konteks ini? Singkatnya, hash
Bitcoin adalah nomor unik yang tidak dapat diduplikasi menurut algoritma. Oleh karena itu,
sering digunakan untuk memverifikasi keaslian file. Singkatnya, ketika hash file diubah,
hashnya juga akan otomatis berubah. Dan setiap hash berikutnya ditautkan ke hash
sebelumnya, memastikan konsistensi di semua blok.
Fungsi hash kriptografi dicirikan oleh sejumlah properti yang membuatnya sangat
berguna untuk digunakan dalam kriptografi.
Hasil dari fungsi hash selalu identik. Karakteristik ini disebut determinisme. Tidak
peduli berapa kali Anda mengetik pesan yang sama, hasilnya tetap sama setelah
menerapkan fungsi hash. Namun, perubahan terkecil sekalipun pada data masukan (mis.
Menulis “Artikel” dan bukan “artikel”) akan mengubah hasil sepenuhnya. Ini adalah
fitur yang membantu meningkatkan kecepatan perhitungan karena kecepatan rendah akan
menyebabkan sistem beroperasi secara tidak efisien.
Fungsi resistor pra-gambar pada fungsi hash membuat komputasi tidak dapat
menentukan nilai hash masukan.
Oleh karena itu, penambang dapat dengan mudah membandingkan hasil hingga
ditemukan kecocokan, memastikan konsistensi di semua blok.
C. MD5
MD5 (message-digest algorithm) adalah protokol kriptografi yang digunakan untuk
memastikan keaslian pesan serta memeriksa konten dan tanda tangan digital. MD5
berdasarkan pada fungsi hash yang memastikan bahwa berkas yang Anda kirim sesuai
dengan berkas yang diterima oleh penerima. Pada awalnya, MD5 digunakan untuk
mengenkripsi data, namun sekarang digunakan terutama untuk keperluan autentikasi. MD5
menjalankan seluruh berkas melalui algoritma hash matematis untuk menghasilkan tanda
tangan yang dapat dipadankan dengan berkas asli. Dengan cara ini, sebuah berkas yang
diterima dapat diotentikasi sebagai berkas asli yang telah dikirim, memastikan bahwa
berkas yang benar-benar sesuai dengan yang dibutuhkan. Algoritma hash MD5 mengubah
data menjadi rangkaian 32 karakter. Sebagai contoh, kata "katak" selalu menghasilkan hash
ini: 938c2cc0dcc05f2b68c4287040cfcf71. Begitu pula, sebuah berkas sebesar 1.2 GB juga
menghasilkan hash dengan jumlah karakter yang sama. Ketika Anda mengirim berkas
tersebut kepada seseorang, komputer mereka mengotentikasi hash-nya untuk memastikan
bahwa sesuai dengan yang Anda kirim. Jika Anda mengubah hanya satu bit dalam sebuah
berkas, tidak peduli seberapa besar berkas tersebut, keluaran hash akan sepenuhnya dan
tidak dapat dibalikkan berubah. Tidak ada yang kurang dari salinan persis yang akan lulus
uji MD5. MD5 digunakan utamanya untuk mengotentikasi berkas. Lebih mudah
menggunakan hash MD5 untuk memeriksa salinan berkas terhadap yang asli daripada
memeriksa bit demi bit untuk melihat apakah kedua salinan sesuai. MD5 pernah digunakan
untuk keamanan dan enkripsi data, tetapi saat ini penggunaan utamanya adalah autentikasi.
Karena seorang peretas dapat membuat berkas yang memiliki hash yang sama persis
dengan berkas yang benar-benar berbeda, MD5 tidak aman jika ada yang mencoba
mengubah berkas. Tetapi jika Anda hanya menyalin berkas dari satu tempat ke tempat lain,
MD5 akan melakukan tugasnya. MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron
Rivest. MD5 merupakan perbaikan dari MD4 setelah MD4 berhasil diserang oleh
kriptanalis.
D. SHA1
Secure Hash Algorithm, atau lebih dikenal sebagai SHA, adalah fungsi kriptografi
yang digunakan untuk menjaga keamanan data kita. Ini bekerja menggunakan fungsi hash
seperti algoritma yang terdiri dari operasi bitwise, penambahan modular, dan fungsi
kompresi. Algoritma ini dikembangkan oleh National Institute of Standards and
Technology bersama dengan NSA, sebelumnya dirilis sebagai Federal Information
Processing Standard, dan kemudian pada tahun 1995, dinamai algoritma SHA.
Ketahanan terhadap pre-image penting untuk menghindari serangan brute force dari
sekumpulan mesin yang besar dan kuat. Teknik kedua, ketahanan terhadap second pre-
image, membuat penyerang harus meluangkan waktu besar dalam mendekripsi pesan
kesalahan meskipun level pertama telah didekripsi. Dan yang terakhir namun tidak kalah
pentingnya, ketahanan terhadap collision yang merupakan hal paling sulit untuk
dipecahkan karena penyerang harus menemukan dua pesan yang benar-benar berbeda
tetapi menghasilkan hash yang sama.
Ada banyak jenis SHA, beberapa di antaranya adalah SHA-0, SHA-1, SHA-2, SHA-
3, dan SHA-256, yang masing-masing berhasil meningkatkan enkripsi yang lebih kuat dan
terus diperbarui sebagai respons terhadap serangan peretas. SHA-0, misalnya, jenis ini
sekarang sudah usang karena telah banyak diekspos ke publik.
Seperti kebanyakan fungsi hash yang digunakan saat ini, SHA-1 didasarkan pada
prinsip desain MD4. Pertama, pesan masukan dipadatkan dan dibagi menjadi blok pesan
512-bit. Fungsi kompresi dengan 80 langkah kemudian diterapkan pada setiap blok ini.
Fungsi ini memiliki dua jenis masukan, yang pertama adalah masukan rantai sepanjang
160 bit dan yang kedua adalah masukan pesan sepanjang 512 bit. Biarkan g(m,h)
menunjukkan fungsi kompresi dengan masukan pesan M dan masukan rantai h. Masukan
rantai h (n+1) untuk kompresi berikutnya dihitung dengan h (n) + g(m,h(n)), yang disebut
sebagai feed forward. Variabel rantai untuk iterasi pertama diatur dengan nilai tetap (yang
disebut sebagai IV ). Hasil dari pemanggilan terakhir ke fungsi kompresi adalah hasil dari
pesan tersebut. Fungsi kompresi pada dasarnya terdiri dari dua bagian: ekspansi pesan dan
transformasi pembaruan status. Dalam SHA-1, ekspansi pesan didefinisikan sebagai
berikut. Pesan direpresentasikan oleh 16 kata 32-bit, dinotasikan sebagai Mi, dengan 0 ≤ i
≤ 15. Dalam ekspansi pesan, masukan ini diperluas secara linear menjadi 80 kata 32-bit
Wi.
E. SHA256
SHA-256 adalah salah satu fungsi hash penerus SHA-1 (secara kolektif disebut
sebagai SHA-2), dan merupakan salah satu fungsi hash yang paling kuat yang tersedia.
SHA-256 tidak jauh lebih kompleks untuk dikodekan dibandingkan dengan SHA-1, dan
belum ada kompromi yang terjadi. Kunci 256-bit membuatnya menjadi pasangan fungsi
yang baik untuk AES. Ini didefinisikan dalam standar NIST (National Institute of
Standards and Technology) 'FIPS 180-4'. NIST juga menyediakan sejumlah vektor uji
untuk memverifikasi kebenaran implementasi. Algoritma SHA256 dapat dijelaskan
sebagai berikut:
1) FIPS 180-4 menentukan bahwa pesan memiliki bit '1' yang ditambahkan, dan
kemudian diisi dengan blok 512-bit yang merupakan bilangan bulat, termasuk panjang
pesan (dalam bit) dalam 64 bit terakhir dari blok terakhir.
2) Karena kita memiliki aliran byte daripada aliran bit, menambahkan byte '10000000
(0x80) menambahkan bit "1" yang diperlukan.
3) Untuk mengonversi pesan menjadi blok 512-bit, saya menghitung jumlah blok yang
diperlukan, N, lalu untuk masing-masing blok tersebut, saya membuat sebuah array 16-
integer (yaitu 512-bit). Untuk masing-masing integer ini, saya mengambil empat byte dari
pesan (menggunakan charCodeAt), dan melakukan pergeseran ke kiri sejumlah yang
sesuai untuk mengemasnya ke dalam integer 32-bit.
4) Metode charCodeAt() mengembalikan NaN jika keluar dari batas, tetapi operator ‘|’
mengonversinya menjadi nol, sehingga padding 0 dilakukan secara implisit saat
mengonversi menjadi blok.
5) Kemudian, panjang pesan (dalam bit) perlu ditambahkan pada 64 bit terakhir, yaitu
dua integer terakhir dari blok terakhir.
F. Kriptografi
Kriptografi merupakan ilmu dan seni untuk menjaga keamanan pesan dengan cara
menyandikannya kedalam bentuk yang tidak dapat dimengerti lagi maknannya ( bisa
dalam bentuk kode atau yang lain ). Keahlian dan ilmu dari cara untuk komunikasi aman
pada kehadirannya dipihak ketiga.
3. Hasil dan Analisis
Berikut adalah Hasil dan Analaisis dari praktikum kriptografi :
1.

Gambar 1.1 md5.py


2.

Gambar 1.2 sha1.py

3.

Gambar 1.3 sha 256.py


4.

Gambar 1.4 md.py

4. Kesimpulan
Hashing adalah fungsi satu arah, yang berarti Anda dapat menghasilkan hash dari data
input, tetapi Anda tidak dapat mengembalikan data input dari hash tersebut.Ini menciptakan
tautan yang kuat antara blok sebelumnya dan blok berikutnya, sehingga jika seseorang
mencoba mengubah data di dalam blok, hash-nya akan berubah, dan ini akan menjadi tanda
bahwa data telah dimanipulasi.Ketika Anda memasukkan kata sandi atau kunci privat,
sistem menghasilkan hash dari apa yang Anda masukkan dan membandingkannya dengan
hash yang ada di database. Hash adalah alat penting dalam teknologi blockchain karena
memberikan keamanan dan keandalan dalam menjaga integritas data dan menghasilkan
struktur yang tidak dapat diubah.MD5 berdasarkan pada fungsi hash yang memastikan
bahwa berkas yang Anda kirim sesuai dengan berkas yang diterima oleh penerima. Dengan
cara ini, sebuah berkas yang diterima dapat diotentikasi sebagai berkas asli yang telah
dikirim, memastikan bahwa berkas yang benar-benar sesuai dengan yang dibutuhkan.
Karena seorang peretas dapat membuat berkas yang memiliki hash yang sama persis
dengan berkas yang benar-benar berbeda, MD5 tidak aman jika ada yang mencoba
mengubah berkas. Dan yang terakhir namun tidak kalah pentingnya, ketahanan terhadap
collision yang merupakan hal paling sulit untuk dipecahkan karena penyerang harus
menemukan dua pesan yang benar-benar berbeda tetapi menghasilkan hash yang sama.
Fungsi ini memiliki dua jenis masukan, yang pertama adalah masukan rantai sepanjang 160
bit dan yang kedua adalah masukan pesan sepanjang 512 bit. SHA-256 adalah salah satu
fungsi hash penerus SHA-1 (secara kolektif disebut sebagai SHA-2), dan merupakan salah
satu fungsi hash yang paling kuat yang tersedia. Algoritma SHA256 dapat dijelaskan
sebagai berikut: 1) FIPS 180-4 menentukan bahwa pesan memiliki bit '1' yang
ditambahkan, dan kemudian diisi dengan blok 512-bit yang merupakan bilangan bulat,
termasuk panjang pesan (dalam bit) dalam 64 bit terakhir dari blok terakhir. Untuk masing-
masing integer ini, saya mengambil empat byte dari pesan (menggunakan charCodeAt), dan
melakukan pergeseran ke kiri sejumlah yang sesuai untuk mengemasnya ke dalam integer
32-bit. Kriptografi Kriptografi merupakan ilmu dan seni untuk menjaga keamanan pesan
dengan cara menyandikannya kedalam bentuk yang tidak dapat dimengerti lagi maknannya
( bisa dalam bentuk kode atau yang lain ).

Daftar Pustaka

Raharjo, B. (2022). UANG MASA DEPAN: Blockchain, Bitcoin, Cryptocurrencies.


Penerbit Yayasan Prima Agus Teknik, 1-68.
Katz, J., & Lindell, Y. (2020). Pengantar kriptografi modern . pers CRC.

Anda mungkin juga menyukai