Mata Kuliah terakhir sebelum liburan Natal...Cryptography....
Ternyata pak Profnya tahu jg kalo para studentnya pikirannya dah gak di tempat kuliah lagi....dah kemana2. Akhirnya dikasih lah video2 tentang penggunaan "Enigma" di jaman perang dunia. Seru sih, sayang cuman dikasih liat dikit.
Nah yg paling keren, dia kasih liat jg Animasi dan Komik yg membantu utk mengerti cara kerja AES, ini yg paling keren. Di Animasi kita hanya diberi penjelasan bagaimana cara kerja AES, sedangkan dalam Komik, ada sedikit cerita tentang sejarah Cryptography, dari yg DES...terus pake Triple DES....terus hasil penilaian dari "Lomba bikin algoritma Cryptography pengganti DES" yg akhirnya di menangkan oleh pasangan Joan Daemen dan Vincent Rijmen yg dikenal dg Rjindael-Algorithmus.
Seru dan menarik lah animasi dan Komiknya. Baca n liat sendiri ya!!!
kalo animasi downloadnya disini nih, nah kalo yg komik bisa dibaca disini nih.
Sedikit info tetapi semoga bisa membantu....
Tampilkan postingan dengan label Share bahan Kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label Share bahan Kuliah. Tampilkan semua postingan
Senin, 21 Desember 2009
Sabtu, 05 Desember 2009
Cryptography, Extended Euclidian Algorithm (Java)
Merasa banyak tertolong dari sharing2 segala macem di internet, sebagai Student yg akan selalu membutuhkan pertolongan dari Share2 di internet utk menunjang Kuliah akhirnya memutuskan utk share sesuatu jg.
Salah satu tugas dari matakuliah Cryptography tema Extended Euclidian Algorithm (EEA). Utk detail teori apa itu EEA bisa dibaca di banyak literatur, atau bisa tanya mas google yg mungkin nanti akan dilanjutkan ke alamat mbak Wikipedia. http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm
yg ingin saya share kali ini adalah EEA dlm program Java, sebagai alternativ lain dari yg sudah ada di internet...:-D
sssttt....ini salah satu bahan lab praktikum 1 di mata kuliah ini. sapa tau ada temen (adik kelas) yg kuliah di tempat dan jurusan yg sama dg saya (lihat profil).
monggo: (sebelumnya minta maaf dulu, saya cuman programmer amatir)
Program diatas saya formulasi berdasarkan Tabel berikut (dari Wikipedia):
Tabel diatas menyelesaikan masalah berikut:
a = 120
b = 23
gcd(a,b) = ax + by.
hasil yg dicapai adalah gcd(a,b), x dan y.
EEA diimplementasikan salah satunya di Chinese Remainder Theorem.
Semoga bisa membantu....
Salah satu tugas dari matakuliah Cryptography tema Extended Euclidian Algorithm (EEA). Utk detail teori apa itu EEA bisa dibaca di banyak literatur, atau bisa tanya mas google yg mungkin nanti akan dilanjutkan ke alamat mbak Wikipedia. http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm
yg ingin saya share kali ini adalah EEA dlm program Java, sebagai alternativ lain dari yg sudah ada di internet...:-D
sssttt....ini salah satu bahan lab praktikum 1 di mata kuliah ini. sapa tau ada temen (adik kelas) yg kuliah di tempat dan jurusan yg sama dg saya (lihat profil).
monggo: (sebelumnya minta maaf dulu, saya cuman programmer amatir)
import java.math.BigInteger;
public class EuclAlg{
BigInteger a;
BigInteger b;
BigInteger x;
BigInteger y;
//Konstruktor
public EuclAlg (BigInteger A, BigInteger B)
{
a = A;
b = B;
x = new BigInteger("0");
y = new BigInteger("0");
}
/**
* Methoden: Algoritma EEA jalan disini
* gcd(m,n) = mx + ny
* hasilnya adalah x dan y
* @param m
* @param n
*
*/
public void rechnen(BigInteger m, BigInteger n)
{
int c;
BigInteger Q = new BigInteger("0"); //Quotient
BigInteger R = new BigInteger("0"); //Rest
BigInteger B = new BigInteger("0"); //Var. Bilangan yg lebih besar
BigInteger S = new BigInteger("0"); //Var. Bilangan yg lebih kecil
//komponen x & y
BigInteger x1 = new BigInteger("1");
BigInteger y1 = new BigInteger("0");
BigInteger x2 = new BigInteger("0");
BigInteger y2 = new BigInteger("1");
BigInteger xR = new BigInteger("0");
BigInteger yR = new BigInteger("0");
// pendefinisian, bilangan mana yg lebih besar(B) atau kecil(S)
//*************************************************************
c = m.compareTo(n); // -1 -> (m (m>n)
if(c>=0)
{
B = m;
S = n;
}
if (c<0)
{
B = n;
S = m;
}
//***************************************************************
while(true)
{
Q = B.divide(S);
R = B.mod(S);
if (R.compareTo(new BigInteger("0")) == 0)
break;
B = S;
S = R;
xR = x1.subtract(Q.multiply(x2));
yR = y1.subtract(Q.multiply(y2));
x1 = x2;
x2 = xR;
y1 = y2;
y2 = yR;
}
if(c>=0)
{
x = x2;
y = y2;
}
if(c<0)
{
x = y2;
y = x2;
}
}
/**
*
* @return x
*
*/
public BigInteger getX()
{
return x;
}
/**
*
* @return y
*
*/
public BigInteger getY()
{
return y;
}
/**
*
* @return gcd(a,b)
*
*/
public BigInteger getGcd()
{
return a.gcd(b);
}
}
Program diatas saya formulasi berdasarkan Tabel berikut (dari Wikipedia):
Tabel diatas menyelesaikan masalah berikut:
a = 120
b = 23
gcd(a,b) = ax + by.
hasil yg dicapai adalah gcd(a,b), x dan y.
EEA diimplementasikan salah satunya di Chinese Remainder Theorem.
Semoga bisa membantu....
Labels:
Share bahan Kuliah
Langganan:
Postingan (Atom)