Minggu, 11 April 2010

KRIPTOGRAFI

Kriptografi atau yang sering dikenal dengan Sebutan ilmu penyandian data, adalah suatu bidang ilmu dan seni (art and science) yang bertujuan untuk menjaga kerahasiaan suatu pesan yang berupa data data dari akses oleh orangorang atau pihak-pihak lain yang tidak berhak sehingga tidak menimbulkan kerugian. Bidang ilmu Kriptografiini semulahanya populer dibidang militer dan bidang intelijen untuk menyandikan pesan- pesan panglima perang kepada pasukan yang berada di garis depan, akan tetapi seiring dengan semakin berkembangnya teknologi utamanya teknologi informasi dan semakin padatnya lalu lintas informasi yang terjaidi tentu saja semakin menuntut adanya suatu komunikasi data yang aman , bidang ilmu ini menjadi semakin penting. Sekarang bidang ilmu ini menjadi salah satu isu suatu topik riset yang tidak habis-habisnya diteliti engan melibatkan banyak peneliti.
Ilmu Kriptografi sebenarnya sudah mulai dipelajari manusia sejak tahun 400 SM, yaitu pada zaman Yunani kuno. Dari catatan bahwa “Penyandian Transposisi” merupakan sistem kriptografi pertama yang digunakan atau dimanfaatkan. Bidang ilmu ini terus berkembang seiring dengan kemajuan peradaban manusia, dan memegang peranan penting dalam strategi peperangan yang terjadi dalam sejarah manusia, mulai dari sistem kriptografi “Caesar Chiper” ang terkenal pada zaman Romawi kuno, “Playfair Cipher” yang digunakan Inggris dan “ADFVGX Cipher” yang digunakan Jerman pada Perang Dunia I , hingga algoritma-algoritma kriptografi rotor yang populer pada Perang Dunia II , seperti Sigaba / M-134 (Amerika Serikat), Typex ( Inggris ), Purple (Jepang), dan mesin kriptografi legendaris Enigma (Jermn). Induk dari keilmuan dari kriptografi sebenarnya adalah matematika, khususnya teori aljabar yang mendasar ilmu bilangan . Oleh karena itu kriptografi semakin berkembang ketika komputer ditemukan. Sebab dengan penemuan komputer memungkinkan dilakukanya perhitungan yang rumit dan komplekdalam waktu yang relatif sangat singkat, suatu hal yang sebelumnya tidak dapat dilakukan. Dari hal tersebut lahirlah banyak teori dan algotitma penyandian data yang semakin kompleks dan sulit dipecahkan.
Dewasa ini bidang ilmu kriptografi memiliki kemungkinan aplikasi yang sangat luas, mulai dari bidang militer, telekomunikasi, jaringan komputer, keuangan dan perbakan, pendidikan dan singkatnya dimana suatu kerahasiaan data amat diperlukan disitulah kriptografi memegang peranan pentingh. Produk-produk yamg menggunakan kriptografi sebagai dasarnyapun cukup beragam, mulai dari kartu ATM, E-Commerce, secure e-mail dan lain-lain.

Contoh Komputansi Penggunaan Algoritma IDEA
Pada tabel berikut dapat dilihat data hasil enkripsi tiap putaran yang diproses dengan sebuah program yang mengimplementasikan algoritma IDEA utuk sebuah pesan terbuka dalam bentuk bilangan integer 11121314 yng telah dibagi-bagi menjadi empat yaitu X1 = Z11 11, X2 = 12, X3 = 13,dan X4 = 14 , dan kunci telah d Z11ibagi-bagi menjadi Z11 = 2, Z21 = 4, Z31 = 6, Z41 = 8, Z51 = 10, Z61 = 12, Z12 = 14, Z22 = 16 :



Data hasil enkripsi

Putaran X1=11 X2=12 X3=13 X4=14
1 1742 1739 1818 1914
2 7747 19997 6873 43941
3 17904 14848 38199 28280
4 19495 50387 56036 37729
5 50786 38066 65017 61306
6 8314 58477 18894 58477
7 33229 58903 41037 5557
8 59491 30519 33083 30571
9 25112 33467 31031 35414

Dari tabel diatas dapat dilihat data hasl enkripsi tiap putaran untuk pesan rahasia, yaitu :
Y1 = 25112, Y2 = 33467, Y3 = 3103, Y4 = 35414
Yang dihasilkan oleh proses enkripsi, dengan mnggunakan kunci yang diturunkan dari kunci enkripsi dan dengan menggunakan blok dekripsi yang sama dengan proses enkripsi.Terlihat bahwa pesan rahasia telah didekripsi menjadi pesan terbuka sebenarnya seperti tabel berikut:

Putaran Y1=25112 Y2=33467 Y3=31031 Y4=35414
1 16154 41038 42520 20552
2 11700 19054 58605 20757
3 15054 19054 54450 30993
4 6196 19172 9427 13904
5 7555 38263 14904 29629
6 17706 15065 27165 37202
7 23488 3866 1755 47015
8 22 19 16 112
9 11 12 13 14

Hasil dekripsi akan sesuai dengan pesan asli seperi terlihat pada tabel putaran kesembilan yaitu bilangan integer Y1 Y2 Y3 Y4 = X1 X2 X3 X4 = 11121314


Kutipan Dari :

http://www.docstoc.com/docs/20502165/SISTEM-KRIPTOGRAFI-IDEA-Oleh-Taufik-Hidayat-NIM-23202147-ABSTRAK

Senin, 05 April 2010

PLEND NICH LA RPL2 PERTEMUAN 1


• HelloMain.java
package gunadarma;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class HelloMain {
public static void main(String[] args){
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("Hello.xml"));
HelloWorld hw = (HelloWorld) bf.getBean("HelloBean");
hw.setNama("g0tch4");
hw.say();
}
}


• HelloWord.java
package gunadarma;
public class HelloWorld {
private String nama;
public String getNama() {
return nama;
}



public void setNama(String nama) {
this.nama = nama;
}
public void say(){
System.out.println("Hello "+nama);
}
}


• Hello.xml


HELLO TEMAN – TEMAN AFGANISME


nuiii jadwal afgan bulan april yach.........

6 APRIL : Live TransTV(ON LINE) jam 13.00 wib
6 APRIL : Live Trans7 (BUKAN 4 MATA) jam 21.30 wib
8 APRIL : Taping TransTV
9 APRIL : Live INDOSIAR (MAMAMIA) 18.30 - 22.00 wib
10 APRIL: OFF AIR @ Pacific PLace
11 APRIL: ROAD SHOW Bandung (Promo Film DILEMA CINTA 2 HATI)
12 APRIL: TransTV jam 21.00 wib
13 APRIL: OFF AIR @ PACIFIC PLACE
14 APRIL: ON THE SPOT jam 17.00 wib
15 APRIL: INSERT live jam 11.00 wib (tentative)
16 APRIL: OFF AIR BALIKPAPAN
17 APRIL: ROAD SHOW Surabaya (Promo Film DILEMA CINTA 2 HATI)
18 APRIL: ROAD SHOW Surabaya (Promo Film DILEMA CINTA 2 HATI)
20 APRIL: Press.con HONDA jam 13.00 - 16.00
22 APRIL: MANTAB
22 APRIL: Close Up GLOBAL TV (Tapping)
24 APRIL: OFF AIR JAKARTA
25 APRIL: ROAD SHOW Medan (Promo Film DILEMA CINTA 2 HATI)
26 APRIL: OFF AIR BOGOR
TEMAN - TEMAN NICH LA PEMROGRAMAN JARINGAN PERTEMUAN 4 YACH :

1. TCPCLIENT

/* TCPclient.c */
#include
#include
#include
#include
#include
#include
#include
#include

int main (int argc, char *argv[])
{
struct sockaddr_in alamat_ku;
struct sockaddr_in tujuan;
struct hostent *host_server;
int socketfd, connect_status, baca;
int no_port;
char buffer[256];

if (argc != 3) {
fprintf (stderr, "gunakan: %s \n", argv[0]);
exit(1);
}

if ((socketfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { fprintf (stderr, "tidak bisa memasang socket !\n"); exit(1); } if ((host_server = gethostbyname(argv[1])) == NULL) { fprintf (stderr, "Nama host mungkin salah :)\n"); exit(1); } no_port = atoi(argv[2]); bzero (&tujuan, sizeof(tujuan)); tujuan.sin_family = AF_INET; tujuan.sin_port = htons (no_port); memcpy ((char *)&tujuan.sin_addr.s_addr, host_server->h_addr_list[0], host_server->h_length);

if ((connect_status = connect (socketfd, (struct sockaddr *)&tujuan, sizeof(tujuan))) < 0) { fprintf(stderr, "%s: tidak dapat melakukan koneksi\n", argv[0]); exit(1); } while((baca = recv(socketfd, buffer, strlen(buffer), 0)) > 0) {
printf("%s", buffer);
}

close (socketfd);
return 0;
}

2. TCPSERVER

/* TCPserver.c */
#include
#include
#include
#include
#include
#include
#include

#define KONEKSI_MAKSIMAL 10

int main (int argc, char *argv[])
{
struct sockaddr_in alamat_serv;
struct sockaddr_in alamat_clie;
unsigned no_port;
int socketfd;

if (argc != 2) {
fprintf (stderr, "gunakan: %s \n", argv[0]);
exit(1);
}

no_port = atoi (argv[1]);

socketfd = socket (AF_INET, SOCK_STREAM, 0);

/* untuk membersihkan child process,
yang telah selesai */
signal(SIGCHLD, SIG_IGN);

/* kita reset terlebih dahulu variable alamat_serv */
bzero (&alamat_serv, sizeof(alamat_serv));
alamat_serv.sin_family = AF_INET;
alamat_serv.sin_port = htons (no_port);
/* macro INADDR_ANY menghasilkan current ip */
alamat_serv.sin_addr.s_addr = htonl (INADDR_ANY);

/* buka port */
if (bind (socketfd, (struct sockaddr *)&alamat_serv, sizeof (struct sockaddr)) < 0) {
fprintf (stderr, "maaf ya, tidak bisa memasang port !\n");
exit(1);
}

printf ("serverteman menunggu teman datang ...\n");

/* menuggu koneksi yang masuk,
* koneksi maksimal dilayani sebanyak KONEKSI_MAKSIMAL
*/
listen (socketfd, KONEKSI_MAKSIMAL);

while(1) {
int client_size = sizeof (struct sockaddr_in);
int newfd;

/* menerima koneksi yang datang */
newfd =accept (socketfd, (struct sockaddr *)&alamat_clie, &client_size);
if(newfd == -1) {
perror ("accept");
/* jika terjadi error akan looping lagi */
continue;
}

/* mengetahui siapa yang mengadakan koneksi */
printf("Teman dari %s telah datang\n", inet_ntoa (alamat_clie.sin_addr));

/* fork mengasilkan nilai return 0 pada child process,
pada parent process, fork() menghasilkan nilai pid dari child yang diciptakan*/

if (!fork ()) {
/* child process */

/* peringatan !, variabel buffer hanya menampung 255 karakter */
char buffer[256];

sprintf (buffer, "Halo Teman, selamat datang di Server.Teman\n");

/* kirim pesan */
if (send (newfd, buffer, strlen (buffer), 0) == -1) {
perror ("send");
continue;
}
close (newfd);
exit (0);
}
else
/* parent process,
disini tidak dibutuhkan newfd, jadi sebaiknya ditutup.
parent process akan looping lagi untuk menerima client yang lain*/
close (newfd);
}

return 0;
}
 
Copyright 2009 IceTea Zone. Powered by Blogger
Blogger Templates created by Deluxe Templates
Wordpress by Wpthemescreator
Blogger Showcase