Skip to content

imamsayuti-dev/DataEncryptionStandard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enkripsi dan Dekripsi DES

Implementasi sederhana algoritma Data Encryption Standard (DES) menggunakan Python dan pustaka Tkinter untuk antarmuka pengguna grafis. Data Encryption Standard (DES) versi Education merupakan skrip yang dikembangkan untuk pembelajaran proses enkripsi dan dekripsi menggunakan DES.

Daftar Isi

Pendahuluan

Algoritma DES (Data Encryption Standard) adalah sebuah algoritma kriptografi kunci simetris yang pertama kali dikembangkan pada tahun 1970-an dan menjadi standar enkripsi yang digunakan secara luas. DES dirancang untuk mengamankan kerahasiaan data dengan mengubahnya menjadi bentuk yang tidak dapat dibaca tanpa kunci enkripsi yang sesuai. Meskipun DES saat ini dianggap kurang aman karena panjang kunci yang terbatas, memahami konsep dasarnya masih penting dalam memahami kriptografi dan sejarah perkembangan algoritma enkripsi. DES menggunakan kunci simetris, yang berarti kunci yang sama digunakan baik untuk enkripsi maupun dekripsi. DES menggunakan kunci enkripsi dengan panjang 56 bit, tetapi hanya 48 bit yang digunakan secara efektif dalam proses enkripsi. Kunci ini digunakan untuk menghasilkan subkunci putaran. DES mengenkripsi data dalam bentuk blok, di mana setiap blok pesan yang akan dienkripsi memiliki panjang 64 bit. Pesan yang lebih panjang dibagi menjadi blok-blok 64 bit dan kemudian dienkripsi secara terpisah. Proses enkripsi DES melibatkan 16 putaran enkripsi yang berulang. Pada setiap putaran, blok pesan diubah dengan menggunakan subkunci yang dihasilkan dari kunci utama. Setiap putaran melibatkan operasi-operasi seperti substitusi dan permutasi untuk mencampuradukkan data. Sebelum putaran pertama dan setelah putaran ke-16, terjadi inisialisasi awal (initial permutation) dan permutasi akhir (final permutation) pada blok pesan. Inisialisasi awal mengatur data awal ke dalam urutan tertentu, sedangkan permutasi akhir mengubahnya kembali ke urutan aslinya.

Fitur

  • Enkripsi dan Dekripsi menggunakan DES;

  • Input berupa 16 digit Heksadesimal;

  • Output berupa 16 digit Heksadesimal dan 64 bit dalam biner;

  • Tombol Salin untuk hasil biner Enkripsi/Dekripsi;

  • Validasi input key dan teks plaintext/ciphertext;

  • Menampilkan dan simpan hasil Debug Result Enkripsi dan Dekripsi (Khusus v2.0.beta setelahnya)

  • Reset input; dan

  • Tampilan modern menggunakan tkinter/antarmuka grafis yang ramah pengguna.

  • Contoh Input dan Output

    Plaintext:   0123456789ABCDEF
    Key:         6281377383082ABC
    Ciphertext:  A157D624401FAF07
    
    Plaintext:   0123456789ABCDEF
    Key:         133457799BBCDFF1
    Ciphertext:  85E813540F0AB405
    
    Plaintext:   434F4D5055544552
    Key:         133457799BBCDFF1
    Ciphertext:  56F1D5C852AF813F
    
    Plaintext:   675A69675E5A6B5A
    Key:         5B5A57676A56676E
    Ciphertext:  974AFFBF86022D1F

Instalasi

  1. Clone repositori ini:

    git clone https://github.com/BukanMakmum/DataEncryptionStandard.git
  2. Masuk ke direktori proyek:

    cd DataEncryptionStandard
  3. Instal pustaka yang diperlukan:

    pip install tk
    pip install ttkthemes
    

Penggunaan

  1. Jalankan aplikasinya:

    DESvx.x.py atau DESvx.x.exe
    x.x = nomor versi
  2. Masukkan 16 digit heksadesimal (64 bit) Plaintext/Ciphertext dan kunci.

  3. Klik tombol "Enkripsi" atau "Dekripsi" sesuai kebutuhan.

  4. Hasil akan ditampilkan di bidang "Hasil".

Tangkapan Layar

Hasil

Hasil2

Lisensi

Proyek ini dilisensikan di bawah Lisensi MIT - lihat berkas LICENSE untuk detailnya.

Kontak

Untuk pertanyaan atau umpan balik, silakan hubungi pengembang:

© 2023 BukanMakmum.

About

Implementasi sederhana algoritma Data Encryption Standard (DES) 64 bit menggunakan Python dan pustaka Tkinter untuk antarmuka pengguna grafis.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages