[Çözüldü] AES Şifreleme Hakkında

Başlatan marslı, 10 Nisan 2016 - 22:29:19

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

marslı

Merhaba arkadaşlar
Openssl ile dosya şifrelerken AES ile şifreliyorum fakat AES'nin bir sürü metodu var. aes-256-ecb aes-192-cbc aes-256-cbc gibi.
Bunların anlamı nedir? Yada hangisi daha güçlüdür? Bunlarla ilgili türkçe kaynak var mı bildiğiniz?

grayloop

hüzün ki en çok yakışandır bize
belki de en çok anladığımız
                                 H. Yavuz

marslı

Bunları okumuştum ama sorum tam anlaşılmadı herhalde.
Ben sonlarındaki ecb, cbc'lerin ne işe yaradığını soruyorum

yazilimci_adam

ECB dediği Electronic Code Book
CBC dediği ise Cipher Block Chaining

ECB'de olay şu alınan tüm blok aynı şekilde şifreleniyor. Yani hepsi aynı anahtara sahip. Giriş ve Çıkış (input / output) aynı anahtara sahip. Ayrıca CBC'ye göre bloklar arası bir ilişki yok. Bu yüzden korumasız kalıyorlar.

CBC ise her blok şifrelensin, daha sonra da XOR işleminden geçirilsin mantığına dayalı. Örneğin bu bloklardan herhangi birisini kırmanız tek başına işe yaramaz. Zira kendisinden öncekinin de kırılması lazım ki sonraki blokla anlamlı bir şey ortaya çıksın. Örneğin 4. blok, 3. blokta işlenen verinin xorlanmış hali. 3. blok bir öncekinin.

Eğer bu ikisinden birisi zorunlu ise CBC kullanmanı öneririm yok eğer değilse CTR öneririm sana.

CTR Counter Mode oluyor. Bu algoritmada hatırladığım kadarıyla her blok bir vektör. Vektörlerdeki sayılar bir sonraki vektörle bağımsız ancak benzer de değil. Bu üretilen sayılar görünürde rastgele ancak anlamlı türden oluyorlar.

Kaynaklar:

* http://www.bilgisayarkavramlari.com/2009/03/06/elektronik-kod-defteri-sekli-electronic-code-book-mode/
* http://www.bilgisayarkavramlari.com/2009/03/06/sifre-blok-zincirlemesi-cipher-block-chaining-cbc/

marslı

Teşekkür ederim açıklama için. Peki sizce en güvenlisi hangisi? CBC şuan için daha güvenli duruyor. Bunların haricinde daha güvenli metodlar var mı?

yazilimci_adam

Rica ederim. Yukarıdaki iletimde de söylemiştim aslında CBC daha güvenli diye. Eğer yapabiliyorsanız CTR kullanın. OpenSSL konusunda tam bir bilgim yok yani aslında sağladığı cipher list hakkında.

Ayrıca yine şu başlık işinizi görebilir:

https://security.stackexchange.com/questions/52665/which-is-the-best-cipher-mode-and-padding-mode-for-aes-encryption

marslı

CBC kullanayım o vakit. Vakit ayırdığınız için sağolun. Konuyu etiketleyeyim :)