Kriptografi Elgamal With Java

Jumpa lagi kawan,,,

Setelah kita memahami konsep kriptografi Elgamal (baca disini dan disini), maka saatnya kita mengimplementasikan pemahaman kita pada sebuah bahasa pemrograman. Dalam hal in kita akan mengimplementasikannya ke bahasa pemrograman Java. Baiklah, mari ikuti langkah-langkah berikut.

  1. Buka Netbeans kesayangan kawan-kawan dan buat project baru.
    Capture1 Selengkapnya

Kriptografi Elgamal (Part Dekripsi)

Pada episode sebelumnya kita telah memahami konsep pembentukan kunci dan enkripsi menggunakan algoritma elgamal. Kali ini kita akan membahas proses dekripsinya. Untuk lebih jelasnya ikuti langkah berikut.

  • Proses Dekripsi
    Langkah-langkah  penyelesaian  proses  dekripsi  secara manual adalah sebagai berikut :Diketahui :Ciphertext  :  197, 158, 122, 2, 85, 300, 379, 336, 340, 250, 269, 98, 339, 99, 31, 153, 168, 292, 37, 113, 38, 367, 356, 345, 144, 8Nilai p = 383, x = 338.

    1. Pisahkan nilai  gamma  dan  delta  pada  pesan  rahasia (ciphertext).
      γ = Ciphertext urutan ganjil.
      δ = Ciphertext urutan genap. Selengkapnya

Kriptografi Elgamal (Part Enkripsi)

Algoritma ElGamal ditemukan oleh ilmuwan Mesir, yaitu Taher ElGamal  pada  tahun 1985,  merupakan algoritma kriptografi kunci publik. Algoritma ElGamal terdiri  atas  tiga  proses,  yaitu  proses  pembentukan  kunci, enkripsi,  dan  dekripsi. Algoritma  ElGamal mendasarkan kekuatannya  pada  fakta matematis  kesulitan menghitung logaritma diskret.

  1. Pembentukan Kunci
    Skema ElGamal memerlukan sepasang kunci yang dibangkitkan dengan memilih sebuah bilangan prima p dan dua buah bilangan random g dan x. Nilai g dan x lebih kecil dari p yang memenuhi persamaan :

    y = gx mod p

    Dari persamaan tersebut y, g dan p merupakan kunci publik dan x adalah kunci rahasia. Selengkapnya

Kriptografi Vigenere with Java

Oke kawan, setelah kita memahami konsep enkripsi dan dekripsi menggunakan Vigenere maka saatnya kita menginplementasikannya kedalam sebuah bahasa pemrograman, dalam episode ini ane akan mengimplementasikannya ke bahasa Java.

Oke tanpa basa-basi lagi buatlah sebuah project di netbeans kesayangan kawan-kawan. Berikut struktural projectnya.

5-26-2013 12-50-08 PM

Setelah membuat project maka langkah selanjutnya buat sebuah class untuk menampung proses enkripsi dan dekripsinya. Dalam hal ini ane berinama EnkripDekrip.java. Selengkapnya

Kriptografi (Vigenere) Part 2

Pada episode sebelumnya kita telah membahas tentang enkripsi dengan Vigenere (baca disini). Sekarang kita akan membahas proses dekripsinya. Untuk memudahkan pemahaman kawan-kawan mari kita lihat contoh kasus berikut.

Enkripsi
Jumlah Data Huruf : a-z index 0-25 jumlah 26
Chiper : zfbv
Kunci : abc
Pesan : roni

Rumus Dekripsi :

Pi = Ci – Ki Selengkapnya

Kriptografi (Vigenere)

Sandi Vigenère merupakan pengembangan dari sandi Caesar. Pada sandi Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran 3, A menjadi DB menjadi E and dan seterusnya. Sandi Vigenère terdiri dari beberapa sandi Caesar dengan nilai geseran yang berbeda.

Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut tabel Vigenère. Tabel Vigenère berisi alfabet yang dituliskan dalam 26 baris atau lebih, masing-masing baris digeser satu urutan ke kiri dari baris sebelumnya, membentuk ke-26 atau lebih kemungkinan sandi Caesar. Setiap huruf disandikan dengan menggunakan baris yang berbeda-beda, sesuai kata kunci yang diulang. Selengkapnya

Menghitung Luas Dan Keliling Bangun Datar C#

Pagi kawan-kawan BMS.

Kali ini kita akan membahas tentang bagaimana menggunakan konsep OOP dalam menghitung luas dan keliling bangun datar. Kita akan menggunakan konsep abstract class, inheritance dan polimorfisme.

Baiklah berikut contoh sourcenya.

Pertama buat sebuah project baru console aplication. Dan buat parent class berupa class abstract. Dalam hal ini ane berinama BangunDatar.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BangunDatar
{
    abstract class BangunDatar
    {
        public double _hitung;

        public double Hitung
        {
            get { return _hitung; }
            set { _hitung = value; }
        }

        public abstract double hitungLuas();

        public abstract double hitungKeliling();
    }
}

Selengkapnya