Skip to content

Kybfl/Classic_Encryption_Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Cryptology Project

This is a Windows Forms application built with C#, designed to demonstrate various classical encryption algorithms through a user-friendly graphical interface. The project serves as both an educational tool and a functional encryption demo platform.

🧩 Features

Login Screen:

Ekran görüntüsü 2025-05-09 231138

The application starts with a basic login form requiring a username and password. The information of users are located in the file “...\Cryptology_Project\bin\Debug\net8.0-windows\Accounts.txt”.

Main Page: Ekran görüntüsü 2025-05-09 231134

After login, users are greeted with a main menu offering 10 different encryption algorithm options, displayed in a clean and organized layout. Language support (TR/EN) is available for bilingual interaction.

Supported Algorithms:

  • Shift Cipher
  • Transposition Cipher
  • Numeric Key Cipher
  • Rail Fence Cipher
  • 4 Square Cipher
  • Linear Cipher
  • Permutation Cipher
  • Rotation Cipher
  • Vigenère Cipher
  • Hill Cipher

Each algorithm opens in its own form, allowing the user to input plaintext, specify keys (if needed), and view the encrypted result. Some algorithms also support decryption.

🧠 Technical Highlights

  • Turkish alphabet support is included for all algorithms.
  • Global character mapping dictionaries (Globals.cs) are used for consistency across ciphers.
  • Random key generation (e.g., for 4 Square) is implemented with GUI feedback via list boxes.
  • No external libraries are used—everything is written using pure C# and .NET Windows Forms.

🎓 Purpose

This project was developed for educational purposes in the field of classical cryptography. It helps users understand how each cipher manipulates the input text and demonstrates the importance of key management in secure communication.


🔐 Kriptoloji Projesi

Bu proje, klasik şifreleme algoritmalarını görsel arayüz ile tanıtan, C# ve Windows Forms kullanılarak geliştirilmiş bir uygulamadır. Hem öğretici hem de işlevsel bir şifreleme platformu olarak tasarlanmıştır.

🧩 Özellikler

Giriş Ekranı:

Ekran görüntüsü 2025-05-09 231138

Uygulama kullanıcı adı ve şifre isteyen basit bir giriş ekranıyla başlar. Kayıtlı kişilerin bilgileri "...\Cryptology_Project\bin\Debug\net8.0-windows\Accounts.txt" dosyasının içinde bulunmaktadır.

Ana Menü:

Ekran görüntüsü 2025-05-09 231134

Giriş sonrası kullanıcıyı, 10 farklı şifreleme algoritmasının bulunduğu şık ve düzenli bir ana ekran karşılar. TR ve EN dil desteği mevcuttur.

Desteklenen Algoritmalar:

  • Shift (Kaydırma)
  • Transposition (Yer Değiştirme)
  • Numeric Key (Sayısal Anahtar)
  • Rail Fence
  • 4 Square
  • Linear
  • Permutation (Permütasyon)
  • Rotation (Rotasyon)
  • Vigenère
  • Hill

Her algoritma için ayrı form ekranı bulunur. Kullanıcılar metin girip, gerekli anahtarları tanımlayarak şifreli çıktıyı elde edebilir. Bazı algoritmalarda şifre çözme işlemi de desteklenir.

🧠 Teknik Ayrıntılar

  • Tüm algoritmalarda Türk alfabesi desteği vardır.
  • Globals.cs sınıfında tanımlı sözlüklerle harf indeksleme işlemleri merkezi olarak yapılır.
  • 4 Kare gibi algoritmalarda rastgele anahtar üretimi ve görsel yansıtma (ListBox) desteği bulunur.
  • Her şey saf C# ve .NET Windows Forms ile yazılmıştır, dış kütüphane kullanılmaz.

🎓 Proje Amacı

Bu uygulama, klasik şifreleme yöntemlerini öğrenmek ve öğretmek için geliştirilmiştir. Şifreleme sürecini adım adım görmek isteyenler için interaktif bir eğitim aracıdır.

About

This Windows Forms application demonstrates classical encryption algorithms for educational purposes. After user authentication, they can select from various algorithms (Shift, Transposition, Numeric Key, Rail Fence, 4 Square, Linear, Permutation, Rotation, Vigenere, Hill) to encrypt text, supporting the Turkish alphabet.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages