Langsung ke konten utama

Catatan Kriptografi

Jenis Algoritma Kunci:
1. Simetris
Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan enkripsi maupun dekripsi.
algoritma yang memakai kunci simetri diantaranya:

  • Data Encryption Standard (DES)
  • RC2, RC4, RC5, RC 6
  • International Data Encryption Algorithm (IDEA)
  • Advanced Encryption Standard (AES)
  • On Time Pad (OTP)
  • A5, dan lain sebagainya.
Berdasarkan data yang diolah:

Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama.
Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
  • ECB, Electronic Code Book
  • CBC, Cipher Block Chaining
  • OFB, Output Feed Back
  • CFB, Cipher Feed Back
Stream-Cipher
Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data digunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.
Beberapa contoh algoritma yang menggunakan kunci-simetris:
  • DES - Data Encryption Standard
  • Blowfish
  • Twofish
  • MARS
  • IDEA
  • 3DES - DES diaplikasikan 3 kali
  • AES - Advanced Encryption Standard, yang bernama asli rijndael

2. Asimetris

Algoritma asimetris sering juga disebut dengan algoritma kunci public, dengan arti kata kunci yang digunakan melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu : public key dan private key.
Algoritma yang memakai kunci public di antaranya adalah :
  • Digital Signature Algorithm (DSA)
  • RSA
  • Diffle-Hellman (DH)
  • Elliptic Curve Cryptography (ECC)
  • Knapsack
  • Kriptografi Quantum, dan lain sebagainya.

Komentar

Postingan populer dari blog ini

Apa itu API

Bagaimana membuat aplikasi atau website dengan performa yang baik? Bagaimana membuat website yang mudah dikembangkan di berbagai platform? Bagaimana mengintegrasikan website dengan aplikasi yang berbeda bahasa pemrograman? Jawabannya adalah dengan membuat API. Untuk membuat API, arsitektur yang paling populer yaitu RESTful API.   Pada tutorial kali ini saya akan sharing bagaimana membuat RESTful API menggunakan node.js, express, dan MySQL secara step by step. Api itu RESTful API? RESTful API  merupakan implementasi dari API  ( Application Programming Interface ). REST (REpresentational State Transfer) adalah suatu arsitektur metode komunikasi yang menggunakan protocol HTTP untuk pertukaran data dan metode ini sering diterapkan dalam pengembangan aplikasi. Mungkin terdengar rumit tapi sebenarnya tidak. Tujuannya untuk menjadikan system dengan performa yang baik, cepat, dan mudah untuk dikembangkan ( scale ) terutama dalam pertukaran dan komunikasi data...

Latihan J2ME ChoiceGroup Tampil

import javax.microedition.lcdui.*; import javax.microedition.midlet.*;   public class Midlet_8 extends MIDlet implements CommandListener {     private Display display;     private Form frmInput;     private ChoiceGroup cgPilihan;     private TextField nama;     private Command cmdKeluar;     private Command cmdTampil;     private CommandListener listener;     private StringItem siPilih;     //private Alert alert;     public Midlet_8 () {  }     public void startApp() {         //Form         frmInput = new Form("Form Input Nama");         nama = new TextField("Nama: ", null, 35, TextField.ANY);         frmInput.append(nama);         cgPilihan = new ChoiceGroup("Pilih Jurusan : ", Choice.POPUP);         cgPilihan.append("Teknik Inf...
tugasAlgoLanjut HITUNG LUAS PERSEGI Nama kelompok : Aditya Dwi Saputra (111 0511 003) Syamsul Amin (111 0511 048) Studi Kasus Pada kesempatan kali ini kelompok kami ingin membuat aplikasi yang sederhana untuk menghitung luas persegi panjang. Yang terdiri dari: ADT (Abstract Data type), Struct, fungsi, array. Pseudecode mulai mendeklarasikan typedef int jumlah struct{ jumlah hasiluas; }persegi; menginisialisasi fungsi luas void luas (jumlah p, jumlah l){ persegi.hasiluas=p*l; } melakukan perulangan sebanyak data array input data persegi ke array input panjang input lebar pemanggilan fungsi luas tutup perulangan cetak data yang tersimpan didalam array finish Source Code #include //deklarasi ADT typedef int jumlah; //deklarasi struct struct{ jumlah hasiluas; }persegi; //Fungsi penghitung luas. void luas (jumlah p, jumlah l){ persegi.hasiluas = p * l; } //Fungsi utama. int main() { //Pendeklarasian variabel yang dibutuhkan. ...