Custom Turkish encryption and decryption library
Project description
Turkishgraphy
Turkishgraphy, Türkçe karakterler için özel olarak tasarlanmış, yerel alfabe tabanlı, çok‑karakterli blok dönüşümüne dayanan bir şifreleme şemasıdır.
Proje; klasik tek‑karakterli substitution şifrelerinden farklı olarak, Türkçe F dizilimini, UTF‑8 karakterleri ve değişken uzunluklu blokları merkeze alır.
✨ Temel Özellikler
- Türkçe F klavye dizilimi baz alınır
- 29 harflik Türkçe alfabe desteği
- Her harf için benzersiz çok‑karakterli blok
- UTF‑8 uyumlu (Türkçe ve özel semboller korunur)
- Deterministik ve geri çözülebilir yapı
- Streaming (buffer‑based) çözümleme
🧠 Tasarım Felsefesi
Bu sistemin amacı:
- İngilizce‑merkezli analiz araçlarını zorlamak
- Frekans analizini bulanıklaştırmak
- Tek byte = tek harf varsayımını bozmak
- Öğretici ama genişletilebilir bir şifreleme çekirdeği sunmak
Turkishgraphy, modern blok şifrelerin yerine geçme iddiasında değildir; ancak yerel alfabe odaklı özgün bir şifreleme yaklaşımı ortaya koyar.
🔐 Güvenlik İddiası
Turkishgraphy aşağıdaki iddiaya sahiptir:
Bu sistem, klasik mono‑alfabetik substitution şifrelerine kıyasla daha yüksek karmaşıklık sunar ve basit frekans analizlerine karşı dirençlidir.
Aşağıdakileri iddia etmez:
- Askerî seviye güvenlik
- AES / ChaCha20 eşdeğeri koruma
- Anahtarsız mutlak gizlilik
Bu iddia; tasarımın sınırları içinde dürüst, savunulabilir ve teknik olarak doğrudur.
⚙️ Nasıl Çalışır? (Yüksek Seviye)
Şifreleme
- Girdi metni büyük harfe çevrilir
- Her harf, yerel alfabe tablosundaki blok ile değiştirilir
- Tanımsız karakterler aynen bırakılır
- Çıktı, blokların birleşimidir
Çözme
- Şifreli metin karakter karakter okunur
- Bir buffer içinde blok eşleşmesi aranır
- Eşleşme bulunduğunda ilgili harf üretilir
- Akış sonuna kadar devam edilir
Detaylı eşleme tablosu ve iç yapı bilinçli olarak paylaşılmamıştır.
🧪 Saldırı Modeli (Threat Model)
Dayanıklı Olduğu Durumlar
- Basit frekans analizi
- Tek karakter varsayımına dayalı çözümler
- İngilizce odaklı kripto analiz araçları
- Regex‑tabanlı otomatik ayrıştırmalar
Dayanıklı Olmadığı Durumlar
- Alfabe tablosunun tamamen ele geçirilmesi
- Uzun miktarda bilinen düz metin (known‑plaintext)
- Anahtar eklenmemiş deterministik kullanım
- İleri seviye istatistiksel analizler
Bu zayıflıklar bilinçlidir ve tasarım gereği kabul edilmiştir.
🔧 Genişletilebilirlik
Turkishgraphy çekirdeği aşağıdaki katmanlarla güçlendirilebilir:
- Anahtar tabanlı alfabe permütasyonu
- Deterministik shuffle
- Anahtara bağlı noise/padding
- Runtime alfabe üretimi
Bu özellikler, çekirdek tasarımı bozmadan eklenebilir.
⚠️ Uyarı
Bu proje:
- Eğitsel
- Deneysel
- Tasarım odaklıdır
Gerçek dünyada hassas veriler için modern kriptografik standartlar kullanılmalıdır.
👤 Yazar
dreamtech.dev
Bu proje, öğrenme ve sistem tasarımı amacıyla geliştirilmiştir.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turkishgraphy-1.0.0.tar.gz.
File metadata
- Download URL: turkishgraphy-1.0.0.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75fce6e6c218408d6a174402accdffec941319b731456f8c7c52aca0ac15ca98
|
|
| MD5 |
91ee3b267ad28e6068d34b81224672b1
|
|
| BLAKE2b-256 |
8b3ff43d400df99aeb802a97c43ce5a0d2b9037aa8e391720876bf1a8a64f2dd
|
File details
Details for the file turkishgraphy-1.0.0-py3-none-any.whl.
File metadata
- Download URL: turkishgraphy-1.0.0-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb2861712f33058aaae21b208533f9909eef44975423e421720fe68697a2667d
|
|
| MD5 |
ceee7d7125daeefdf90dfa998f40b0fd
|
|
| BLAKE2b-256 |
20a2a84595804a6e0897ba328aac762751e67ce6d394f8096e6c3089db09632f
|