0Pricing
Cryptology Academy · Ders

CMAC ve Poly1305: Blok Şifresi MAC'leri

CMAC ile Poly1305'i özet tabanlı MAC'lere alternatif olarak karşılaştırın.

CMAC ve Poly1305: Blok Şifresi MAC'leri, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

MAC Nedir?

Mesaj Kimlik Doğrulama Kodu (MAC), bir anahtar ve mesaj alarak bir etiket üretir. Bu etiket, mesajın değiştirilmediğini ve anahtarı elinde bulunduran biri tarafından üretildiğini kanıtlar.

HMAC ve Blok Şifreleme Tabanlı MAC'ler

HMAC, temel yapı taşı olarak bir hash işlevi kullanır. CMAC ve Poly1305 ise blok şifreleri veya polinom aritmetiği kullanır. Blok şifreleme tabanlı MAC'ler, hash işlevine olan bağımlılığı ortadan kaldırır ve AES donanımıyla doğal biçimde bütünleşir.

CMAC Yapısı

CMAC (Şifreleme Tabanlı MAC), NIST SP 800-38B'de tanımlanmıştır. Mesajı blok sınırına kadar doldurur, şifreleme işleminden iki alt anahtar K1/K2 türetir, bunları son bloğa XOR'lar ve ara şifreli metni saklamadan CBC kipini çalıştırır.

CMAC Alt Anahtarlarının Türetilmesi

K1 = AES_K(0^128), 1 bit sola kaydırılır ve MSB 1 ise bir sabitle XOR'lanır. K2 de benzer şekilde kaydırılır. Bu alt anahtarlar, son kısmi bloğu uzunluk genişletmesine karşı güvenli biçimde bağlar.

Poly1305'e Genel Bakış

Poly1305, Daniel Bernstein tarafından tasarlanmış tek kullanımlık bir kimlik doğrulayıcıdır. Mesajı polinom katsayıları olarak ele alıp 2^130-5 asal sayısı üzerinde bir polinom değerlendirir ve tek kullanımlık bir anahtar çifti (r, s) kullanır.

Poly1305 Matematiği

Tag = (sum of (m_i * r^i) mod 2^130-5) + s mod 2^128. r anahtarı, zamanlama saldırılarını önlemek için belirli 22 bite sabitlenir. s ise 16 baytlık tek kullanımlık bir toplama maskesidir.

ChaCha20-Poly1305

Poly1305 neredeyse her zaman ChaCha20 ile birlikte kullanılır. ChaCha20, akış şifresinin anahtar akışından tek kullanımlık (r, s) değerini üretir; böylece birleşik AEAD şeması kanıtlanabilir biçimde güvenli ve ARM/mobil işlemcilerde son derece hızlı olur.

AES-GCM ve AES-CMAC

AES-GCM, GF(2^128) üzerinde bir polinom MAC'i olan GHASH'i kullanarak kimlik doğrulaması yapar. AES-CMAC daha basittir ve IEEE 802.11i (WPA2) ile TLS 1.2 şifre takımlarında kullanılır. GCM, tek geçişte hem şifreleme hem de kimlik doğrulaması sağlar.

Performans Karşılaştırması

ARM Cortex-A üzerinde Poly1305, NEON iç bileşenlerini kullanarak bayt başına yaklaşık 1 döngüde çalışır. AES-CMAC, her 16 baytlık blok için bir AES blok işlemi gerektirir. Büyük veri miktarlarında Poly1305, AES-NI bulunmayan donanımlarda CMAC'ten daha iyi performans gösterir.

Güvenlik Özellikleri

CMAC, AES'in sözde rastgele bir permütasyon olduğu varsayımıyla seçilmiş mesaj saldırısı altında varoluşsal olarak sahtesi üretilemez bir yapıdır. Gerçekten rastgele tek kullanımlık bir anahtar verildiğinde Poly1305 bilgi kuramsal olarak güvenlidir; sahte üretme olasılığı en fazla 8*ceil(L/16)/2^106'dır.

Kullanım Alanları

CMAC: WPA2, S/MIME, dosya sistemi bütünlüğü. Poly1305: ChaCha20-Poly1305 aracılığıyla TLS 1.3, WireGuard VPN, Signal Protocol, Noise Protocol Framework. Her ikisi de yüksek güvenlikli modern sistemlerde yaygın olarak kullanılır.

Kısa Kontrol

ChaCha20-Poly1305 AEAD'de hangi MAC kullanılır?

Özet

CMAC'in CBC tabanlı yapısını ve Poly1305'in polinom aritmetiğini öğrendiniz. Her ikisi de gerçek dünya protokollerinde kullanılan sabit zamanlı, güvenli MAC'lerdir. Sırada TLS/HTTPS ve tüm bu temel yapı taşlarının nasıl birleştirildiği var.

Sıkça Sorulan Sorular

“CMAC ve Poly1305: Blok Şifresi MAC'leri” dersi ücretsiz mi?

Evet — “CMAC ve Poly1305: Blok Şifresi MAC'leri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“CMAC ve Poly1305: Blok Şifresi MAC'leri” dersinde ne öğreneceğim?

CMAC ile Poly1305'i özet tabanlı MAC'lere alternatif olarak karşılaştırın. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“CMAC ve Poly1305: Blok Şifresi MAC'leri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. MAC Kavramları ve Uzunluk Genişletme Saldırıları
  2. HMAC Yapısı ve Güvenlik İspatı
  3. API'lerde HMAC: İstek İmzalama
  4. CMAC ve Poly1305: Blok Şifresi MAC'leri
← Cryptology Academy Sayfasına Dön