Entropi Şifreleme Sistemi
Detaylı Makale - eros.sh
Github Linki - entropy-encryption
Cloudflare'ın Lava Lamps'inden esinlenilmiş, fiziksel entropi tabanlı bir şifreleme sistemi. Bu sistem, YouTube canlı yayınlarından (hem video hem de ses) entropi toplayarak güçlü şifreleme anahtarları üretiyor ve şifreleme anahtarı üretimine benzersiz bir yaklaşım sunuyor.
🌟 Özellikler
- ✅ Fiziksel Entropi Kaynakları: YouTube canlı yayınlarından (video + ses) entropi toplar.
- ✅ Otomatik Yayın Keşfi: Mevcut yayınlar çevrimdışı olduğunda otomatik olarak yeni canlı yayınlar bulur.
- ✅ Hızlı Yanıt: Anında şifreleme için önceden oluşturulmuş anahtar önbellek sistemi
- ✅ REST API: 80 numaralı portta çalışan Express benzeri API
- ✅ P2P Şifreleme: Uçtan uca şifreleme için JSON formatında çıktı.
- ✅ Sürekli Yenileme: Arka planda sürekli olarak entropi üretimi çalışıyor.
- ✅ Şifrelenmiş JSON Çıktısı: JSON yanıtları şifrelenmiştir ve şifresi çözülebilir.
🔐 Güvenlik Özellikleri
- Çift Kaynaklı Entropi: Video + Ses verisi toplama
- AES-256-GCM: Kimlik doğrulamalı şifreleme
- PBKDF2-HMAC-SHA256: Güvenli anahtar türetme (100.000 yineleme)
- Benzersiz Nonce: Her şifreleme için yeni, entropi tabanlı nonce.
- Belirsiz: Fiziksel süreçlerden kaynaklanan gerçek rastgelelik
📋 Gereksinimler
Sistem Gereksinimleri
- Python 3.8+
- FFmpeg (ses yakalama için)
- İnternet bağlantısı (YouTube yayınları için)
4. Port 80 İzinleri (Windows)
80 numaralı bağlantı noktası yönetici ayrıcalıkları gerektirebilir:
# PowerShell'i Yönetici Olarak Çalıştır
netsh http add urlacl url=http://+:80/ user=Everyone
💻 Kullanım
REST API Sunucusunu Başlatma
python api_server.py
Sunucu şu tarihte başlayacaktır:
- Birincil: http://localhost/ (80 numaralı port)
- Yedek adres: http://localhost:8080/ (80 numaralı bağlantı noktası kullanılamıyorsa)
API Uç Noktaları
1. Mesajı Şifrele (GET)
curl "http://localhost/?text=Hello%20World"
2. Mesajı Şifrele (POST)
curl -X POST http://localhost/
-H "Content-Type: application/json"
-d '{"text": "Merhaba Dünya"}'
Cevap:
{
"başarı": doğru,
"şifrelenmiş_veri": "base64_şifrelenmiş_json...",
"json_key": "json şifre çözme için onaltılık anahtar...",
"mesaj": "Mesaj başarıyla şifrelendi (JSON şifrelenmiş)"
}
3. JSON'u Şifresini Çözme
Şifrelenmiş JSON verisini çözmek ve orijinal şifreleme verilerini elde etmek için:
curl -X POST http://localhost/decrypt
-H "Content-Type: application/json"
-D '{
"şifrelenmiş_veri": "base64_şifrelenmiş_json...",
"json_key": "hex_key..."
}'
Cevap:
{
"başarı": doğru,
"şifresi çözülmüş_json": {
"Şifrelenmiş": "base64_şifrelenmiş_mesaj...",
"nonce": "base64_nonce...",
"tuz": "base64_tuz...",
"anahtar": "hex_mesaj_anahtarı...",
"algoritma": "AES-256-GCM",
"anahtar_uzunluğu": 32,
"nonce_length": 12,
"Zaman damgası": 1234567890
},
"mesaj": "JSON başarıyla şifresi çözüldü"
}
4. Mesajın Şifresini Çözme
Şifresi çözülmüş JSON'daki anahtarı kullanarak asıl mesajın şifresini çözmek için:
curl -X POST http://localhost/decrypt
-H "Content-Type: application/json"
-D '{
"Şifrelenmiş": "base64_şifrelenmiş_mesaj...",
"nonce": "base64_nonce...",
"anahtar": "hex_mesaj_anahtarı..."
}'
Cevap:
{
"başarı": doğru,
"Şifresi çözüldü": "Merhaba Dünya",
"mesaj": "Mesaj başarıyla şifresi çözüldü"
}
5. Sistem Durumu
curl http://localhost/status
Cevap:
{
"durum": "çalışıyor",
"önbelleğe alınmış anahtarlar": 15,
"aktif_akışlar": 8,
"havuz_durumu": "aktif"
}
6. Sağlık Kontrolü
curl http://localhost/health