What's up bro? hehe. kali ini dokter matematika mau sharing salah satu ilmu matematika yaitu kriptografi yang bisa menggunakan software matematika yaitu MAPLE.
APAKAH KRIPTOGRAFI (CRYPTOGRAPHY)
ITU ????
Kriptografi
merupakan seni dan ilmu menyembunyikan informasi dari penerima yang tidak
berhak. Kata cryptography berasal dari kata Yunani kryptos (tersembunyi) dan graphein
(menulis). Kriptografi tak lepas dari matematika. Kriptografi merupakan
aplikasi dari aljabar yang merupakan suatu cabang dari matematika. Aljabar yang
selama ini dianggap abstrak ternyata mempunyai peranan penting dalam kehidupan
kita sehari-hari. Tujuan dari kriptografi adalah membuat suatu pesan agar tidak
mudah terbaca oleh orang lain.
Sebagai contoh : surat cinta, surat intelijen,
dll.
Istilah2 dalam kriptografi
Plaintext : teks asli (pesan yang akan dienkripsi)
Key : kunci yang akan digunakan untuk kriptografi
Algoritma : metode yang digunakan dalam kriptografi
Chipertext : teks (pesan) yang sudah dienkripsi
Enkripsi : mengubah plaintext menjadi chipertext
Deskripsi : mengkonfersi atau mengembalikan chipertext menjadi plaintext
Encoding : mengubah kode menjadi kode acak.
Decoding : mengmbalikan kode acak menjadi kode awal.
Berikut merupakan contoh sederhana dari kriptografi
menggunakan software maple untuk menulis
[K,E,S,U,K,S,E,S,A,N,M,E,M,B,U,T,U,H,K,A,N,K,O,M,I,T,M,E,N,Y,A,N,G,K,U,A,T]
Silahkan mencoba :)
CRYPTOGRAPHY
WITH MAPLE
>
letters := array(0..25, [A, B, C, D, E, F, G, H, I, J, K, L, M, N,
O, P, Q, R, S, T, U, V, W, X, Y, Z]):
# mengkonfersi
dari alphabet ke dalam bentuk angka disini digunakan modulo 26 (hasil bagi 26)
dimana setiap angka dalam alphabet mempunyai tepat satu kawan dengan modulo 26
>
letters[2];
>
ltable := table():
>
for i from 0 to 25 do
ltable[ letters[i] ] := i:
od:
>
ltable[C];
>
with(linalg):
Warning, the
protected names norm and trace have been redefined and unprotected
>
A := matrix( [ [11,6,8], [0,3,14], [24,0,9] ] );
>
d := det(A) mod 26;
>
gcd(d, 26);
>
ptext := vector([K, E, S, U, K, S, E, S, A, N, M, E, M, B, U, T, U,
H, K, A, N, K, O, M, M, I, T, M, E, N, T, Y, A, N, G, K, U, A, T]);
>
vectdim(ptext);
>
for i from 1 to vectdim(ptext) do
ptext[i] := ltable[ ptext[i] ]:
od:
>
evalm(ptext);
>
blocksize := rowdim(A);
>
numblocks := vectdim(ptext)/blocksize;
>
pmatrix := matrix(numblocks, blocksize, ptext);
>
cmatrix := map(m -> m mod 26, evalm(pmatrix &* A));
>
ctext := convert(cmatrix, vector);
>
for i from 1 to vectdim(ctext) do
ctext[i] :=
letters[ ctext[i] ]:
od:
>
evalm(ctext);
>
for i from 1 to vectdim(ctext) do
ctext[i] :=
ltable[ ctext[i] ]:
od:
>
evalm(ctext);
>
cmatrix := matrix(numblocks, blocksize, ctext);
>
pmatrix := map(m -> m mod 26, evalm(cmatrix &* A^(-1)));
>
ptext := convert(pmatrix, vector);
>
for i from 1 to vectdim(ptext) do
ptext[i] :=
letters[ ptext[i] ]:
od:
>
evalm(ptext);
Kami juga mempunyai artikel yang terkait implementasi kriptografi, bisa di download disini:
BalasHapushttp://repository.gunadarma.ac.id/bitstream/123456789/3116/1/IMG_0041.pdf
semoga bermanfaat :D