Kamis, 22 Agustus 2019

dari matematika menuju kriptografi

ketika kelas 8 SMP tentunya kita telah diajari tentang relasi dan fungsi. selain itu kita juga telah belajar tentang fungsi linier dan persamaan linear  2 variabel. kita telah mengenal himpunan, x, y, domain, kodomain, range, fungsi dan korespondensi satu-satu. waktu kelas 8 dulu aku pun mempelajari hal itu. kalau kurikulum tidak berubah, mungkin di kelas 8 masih diajarkan materi tersebut.

sekarang bagaimana kalau materi itu kita terapkan untuk membuat teks bersandi. misalkan A = 1, B =2, C = 3 dan seterusnya hingga Z = 26. kita misalkan ada fungsi f(x) = x + 13 dengan catatan setelah Z atau 26, maka fungsi kembali ke semula. jadi setelah 26, nilainya y bukan 27 tapi 1 lalu bagaimana hasilnya?

hasilnya seperti ini:





































































































































































XHURUFYHURUF
1A14N
2B15O
3C16P
4D17Q
5E18R
6F19S
7G20T
8H21U
9I22V
10J23W
11K24X
12L25Y
13M26Z
14N1A
15O2B
16P3C
17Q4D
18R5E
19S6F
20T7G
21U8H
22V9I
23W10J
24X11K
25Y12L
26Z13M

kalau diringkas tabel di atas menjadi seperti ini:

































ABCDEFGHIJKLM
NOPQRSTUVWXYZ

kode di atas disebut sandi AN. karena kata kuncinya adalah A= N. B = O dst. sebagai contoh coba artikan kode ini:

ENWVAYNU ORYNWNE FHCNLN XNH CVAGNE.

lalu, akan jadi bagaimana kalau kalimat  " kejujuran modal kepercayaan"?

kode di atas menggunakan fungsi y = x + 13. selain itu ada juga kebalikannya, yaitu kode AZ. di sini A = Z, maka B = Y, C= X dst. maka M = N. kodenya seperti ini:





































































































































































XHURUFYHURUF
1A26Z
2B25Y
3C24X
4D23W
5E22V
6F21U
7G20T
8H19S
9I18R
10J17Q
11K16P
12L15O
13M14N
14N13M
15O12L
16P11K
17Q10J
18R9I
19S8H
20T7G
21U6F
22V5E
23W4D
24X3C
25Y2B
26Z1A

secara sederhana kode di atas di singkat menjadi tabel berikut:

































ABCDEFGHIJKLM
ZYXWVUTSRQPON

kode di atas ditulis di dalam matematika dengan fungsi f(x) = 27 - x.
contoh: MATEMATIKA menjadi  NZGVNZGRPZ.

tak hanya itu, kalian juga bisa membuat kode di atas menjadi kode sendiri seperti yang kalian suka. misalnya A = B, maka fungsinya menjadi  f(x) = x + 1. hanya dengan begini tulisan yang mudah dipahami akan berubah menjadi teks yang tampak sulit dimengerti dan nyaris tanpa arti. misalnya: KETEMUAN DI KANTIN menjadi LFUFNVBO EJ LBOUJO.

kode di atas disebut sistem  cipher substitusi. Sistem cipher substitusi adalah sebuah algoritma enkripsi dan dekripsi yang mensubstitusi unit-unit sebuah text dengan unit-unit lain berdasarkan aturan tertentu. Unit-unit ini bisa saja sebuah huruf, sepasang huruf, sebuah kata, dan sebagainya. inti dari sistem ini adalah mengganti satu karakter dengan karakter yang lain untuk  menyembunyikan pesan yang asli untuk menjaga kerahasiaan dan keamanan pesan. sistem ini memiliki banyak variasi. misalnya  sistem sandi caesar dan atbash. sistem caesar menggeser setiap huruf menjadi 3 huruf setelahnya. jadi A = D, B = E, C = F dst. sistem atbash adalah mengganti huruf pertama dengan huruf terakhir. jadi contoh tabel  x dan y kedua di atas termasuk sandi atbash karena mengubah huruf pertama menjadi huruf terakhir.

kode-kode di atas bisa digunakan untuk main-main atau serius. yang main-main, misalnya bagaimana mengirim pesan kepada teman tanpa diketahui guru atau teman yang lain walau sebenarnya perbuatan ini tidak baik. misalnya membicarakan orang yang disukai tanpa diketahui teman-teman yang lain. atau membicarakan masalah pribadi, di mana kerahasiaan harus dijaga ketat. ini masalah aib  pribadi.

untuk masalah serius misalnya dalam perang, bagaimana berkomunikasi dengan pasukan tanpa diketahui musuh. selain itu bagaimana membongkar rahasia musuh untuk mengalahkan mereka. bagaimana mengetahui strategi mereka. untuk itu  pasukan perang harus bisa memecahkan sandi komunikasi musuh mereka. contohnya dalam perang dunia pasukan sekutu harus memecahkan kode mesin enigma supayabisa mengalahkan NAZI Jerman.

sebagai tambahan, teks yang telah disandikan disebut teks enkripsi sedangkan teks aslinya disebut dekripsi. misalnya whatsapp menggunakan enkripsi end to end. artinya hanya pengirim dan penerima pesan yang tahu pesan aslinya. pengirim tidak tahu pesan aslinya. saat ini sudah banyak layanan enkripsi di internet. kalian bisa cari di google dan mencobanya. saat ini algoritma pengkodean sudah sangat rumit, jadi tidak semudah dan sesederhana contoh di atas. contoh di atas hanya dasar sekali.

kalau kalian tertarik dengan pengkodean dan teka-teki pesan seperti ini kalian bisa mempelajarinya lebih lanjut. ada ilmu yang membahas pengkodean ini. ilmu itu adalah kriptografi. keahlian dan ilmu dari cara-cara untuk komunikasi aman pada kehadirannya di pihak ketiga. Secara umum, kriptografi ialah mengenai mengkonstruksi dan menganalisis protokol komunikasi yang dapat memblokir lawan; berbagai aspek dalam keamanan informasi seperti data rahasia, integritas data, autentikasi, dan non-repudansi merupakan pusat dari kriptografi modern. Kriptografi modern terjadi karena terdapat titik temu antara disiplin ilmu matematika, ilmu komputer, dan teknik elektro. Aplikasi dari kriptografi termasuk ATM, password komputer, dan E-commerce.

tulisan ini hanya berusaha mengenalkan salah satu penerapan fungsi aljabar pada pengkodean pesan. jadi jangan bilang lagi matematika cuma disuruh menghitung tanpa arti dan tanpa penerapan dalam kenyataan lo ya?

ada banyak sekali matematika dan ilmu pengetahuan yang belum kita tahu di dunia ini. jadi teruslah rajin beloajar dan belajar ilmu pengetahuan yang lain. oke? sampai jumpa.

Tidak ada komentar:

Posting Komentar