Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Turkhackteam Under Ground
> Kriptografi - Şifreleme

Kriptografi - Şifreleme Şifreleme Ve Şifreleme Sistemleri Hakkında Her şey.

Asimetrik Şifreleme ve Blockchain

Kriptografi - Şifreleme

Yeni Konu aç Cevapla
 
Seçenekler
Alt 09-09-2018 19:35   #1
  • Yüzbaşı
  • Üye Bilgileri
Üyelik tarihi
07/2018
Nereden
Nereye
Yaş
20
Mesajlar
Konular


  
Asimetrik Şifreleme ve Blockchain



ASimetrik Şifremele (Symmetric Encryption) konusuna hoş geldiniz

asimetrik şifrelemenin aksine asimetrik şifrelemede 2 farklı anahtar vardır ki zaten adını da buradan almıştır. Bu anahtarlar public yani herkese açık ve private yani sadece kişiye özel olmak üzere isimlendirilirler. Public anahtarlar networkteki(tüm katılımcıların oluşturduğu ağ) herkese dağıtılırlar, ancak private anahtarlar sadece ve sadece kişinin kendisi tarafından bilinmelidir. Asimetrik şifreleme 2 farklı şekilde kullanılırlar:




Public key ile encryption, private key ile decryption
Bu şekildeki kullanımda örneğin siz bir lokantasınız ve tedarik ağınız var. Tedarik ağınızdaki herkes size ait public keye sahipler, size günlük meyve ve sebzelerin fiyatlarını göndermeleri üzere bir kurgumuz olsun. Herkes size ait public key ile kendilerindeki malzemelerin fiyatlarını



şifreleyip size gönderebilirler. Bir şekilde birbirlerinin verilerini ele geçirseler bile içindeki fiyat bilgilerini göremezler çünkü public key ile şifrelenen veri sadece ve sadece private key tarafından açılabilir ve bu anahtar da sadece sizde bulunmaktadır[/COLOR].






Private key ile signing, public key ile verification
Hemen güncel bir blockchain örneğini Bitcoin üzerinden verirsek, bir blockchain networkünde peerların(katılımcıların) birbirlerine mesaj göndererek haberleştiklerini biliyoruz. Örneğin A katılımcısı networke bir mesaj broadcast ediyor, B katılımcısı bu mesajı alıyor. Ancak B bu mesajı gerçekten de A’nın gönderdiğinden nasıl emin olabilir? Az önceki cümlemizi tekrarlarsak, public key networkteki tüm katılımcılara dağıtılır, private key ise sadece kişinin kendisi tarafından bilinir. Yani A katılımcısına ait public key tüm networkte olduğundan B katılımcısında da bulunuyor. A katılımcısı kendi private keyi ile imzaladığı veriyi networke gönderdiğinde diğer tüm katılımcılar A’ya ait public key ile bu verinin gerçekten A tarafından imzalandığından emin olabilir.


Bunların haricinde encryption amacıyla kullanılmayan, sadece secret key paylaşımı amacıyla kullanılan bir yaklaşım daha mevcuttur, bütün bu yaklaşımlara örneklerimize başlayalım.







RSA:


Bir şifreleme standardıdır. RSA yaklaşımında Encryption-Decryption başarımı düşük olduğundan genellikle sign-verification amacıyla kullanılır. Private key mesajın imzalanması için kullanılır, oluşan özet veri mesajın açık halinin içerisine eklenerek bu şekilde gönderilir. Alıcı, kendisine gelen ana mesajı public key aracılığı ile imzalayarak kendi özetini oluşturur ve gelen mesajın içerisindeki özet veri ile karşılaştırır. Eğer iki özet veri birbirini tutuyorsa doğrulama gerçekleşmiş olur.







Kafalarda oluşabilecek bir soruyu giderebilmek için özellikle bir konuyu belirtmek istiyorum, burada mesajın açık gittiğinden, yanında oluşturulan özetin eklendiğini söyledik. Peki bu networkte dolaşan verinin güvenliğine zıt düşmüyor mu, çünkü herkes veriyi




görebiliyor diye akıllarda canlanmış olabilir. Evet bu doğrudur, işte bu yüzden genellikle özet verisi oluşturulmuş mesajımız özet veriyle birlikte bir kez de simetrik şifrelemeyle şifrelenip bu şekilde networkte dolaşıma çıkartılırlar. Alıcı öncelikle simetrik şifrelemeyi ortadan kaldırır, sonrasında mesaja ve özete ulaşır. Sonrasında da yukarıda bahsettiğimiz verificationı tamamlayarak işlemlerini tamamlarlar
.



RSA’de public ve private keyler iki çok büyük asal sayı tarafından oluşturulurlar. Bu şekilde kırılma olasılığı çok düşürülmektedir. Aşağıda Java ile örnek bir RSA gerçekleştirimi bulunmaktadır.

Alıntı:
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;

import javax.crypto.Cipher;

public class Sample {

public static **** main(String [] args) throws Exception {
// generate public and private keys
KeyPair keyPair = buildKeyPair();
PublicKey pubKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();

// encrypt the message
byte [] encrypted = encrypt(privateKey, "This is a secret message");
System.out.println(new String(encrypted)); // <<encrypted message>>

// decrypt the message
byte[] secret = decrypt(pubKey, encrypted);
System.out.println(new String(secret)); // This is a secret message
}

public static KeyPair buildKeyPair() throws NoSuchAlgorithmException {
final int keySize = 2048;
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(keySize);
return keyPairGenerator.genKeyPair();
}

public static byte[] encrypt(PrivateKey privateKey, String message) throws Exception {
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, privateKey);

return cipher.doFinal(message.getBytes());
}

public static byte[] decrypt(PublicKey publicKey, byte [] encrypted) throws Exception {
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, publicKey);

return cipher.doFinal(encrypted);
}
}


Digital Signature Algorithm (DSA):

Sadece sign-verification amacıyla kullanılır. DSA güvenlik prensiplerini Discrete Logarithm prensiplerine dayandırır. İmzalamada hızlı ancak doğrulamada yavaştır çünkü doğrulama aşamasında SHA hashi çözme adımına bağımlıdır. DSA RSA’den farklı olarak doğrudan private keyden oluşturulan iki sayı ve hash aracılığıyla veriyi imzalar. Karşılık gelen public key ise bu imzayı doğrulayabilir. DSA random sayılara ihtiyaç duyan bir algoritmadır, güçlü bir randomizera ihtiyaç duymaktadır. Aksi taktirde oluşan trafikle birlikte private key tahmin edilebilir hale gelmektedir.





Burada değinilmesi gerekliliğini hissettiğim bir nokta, DSA imzalamada hızlı doğrulamada yavaştır. RSA ise doğrulamada hızlı imzalamada yavaştır. Bu algoritmaların tercihlerini yaparken hangi cihazlarda bu işlemlerin gerçekleşeceğini iyi düşünmek gerekir, örneğin mobil bir cihazda gerçekleştirilecek doğrulamanın daha hızlı olması gerekir.








iptic Curve DSA(ECDSA):

Elliptic Curve Cryptography(ECC) kullanan bir DSA örneğidir. ECC, Elliptic Curve Discrete Logarithm Problem (ECDLP) olarak bilinen bir problemin çözümü olan Elliptic Curves Theory’e dayanmaktadır, bu da kırılmasını çok zor bir ihtimale sürüklemektedir. DSA gibi iyi randomize edilmiş sayılara ihtiyaç duymaktadır. RSA ve DSA’dan daha efektif anahtarlara sahiptir, 256 bitlik bir ECC 3248 bitlik bir RSA anahtarına eşdeğerdir. En güncel örneklerden Bitcoin bu algoritmayı kullanmaktadır.

Diffie-Hellman
(DH):






Diffie-Hellman anahtar değişiminde kullanılan bir yaklaşımdır. Bu yaklaşımda amaç public bir şifre aracılığıyla sadece iki kişinin bildiği anahtarı iki tarafa da ulaştırabilmektir.







yararlanılan kaynaklar :https://blog.cloudflare.com/ecdsa-th...tter-internet/


    


___________________________________________

Kod:
 0a6c3227eb1d7dbb05b27c5087c037fc

Konu Cheat Console tarafından (09-09-2018 20:01 Saat 20:01 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2018

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı



Google+
film izle

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.