AES nasıl çalışır?
Temel çalışma
AES, yinelemeli ve simetrik şifreli bir blok olarak tarif edilebilir. AES, tekrar tekrar veri yeniden düzenlemeleri veya permütasyonları gerçekleştirmek için bir döngü yapısı kullanır. Döngü, giriş verisi için bir veri ünitesini diğeriyle değiştirir. Şifreleme rutini, verileri şifrelemek ve şifresini çözmek için aynı anahtarı kullanır ve bu anahtarı sabit uzunlukta veri bloklarına uygular.
Anahtar program
AES şifreleme rutini birincil şifreleme anahtarını bir dizide saklar. Bir matris, ayrı ayrı ele alınabilecek aynı özelliklere sahip bir nesne grubudur. Matris, anahtarın boyutuna bağlı olarak her biri dört, altı veya sekiz bayt içeren dört sıradan oluşur. Perde arkasında, şifreleme rutini birkaç anahtar içeren bir anahtar program olarak bilinen bir tablo oluşturmak için bu matrisi kullanır. Bu anahtarlara, orijinal ana anahtardan ayırt etmek için yuvarlak tuşlar denir.
Durum matrisi
AES, 128, 192 veya 256 bit uzunlukta olabilen bir şifreleme anahtarı kullanır ve her biri 128 bit uzunluğunda olan bloklar olarak adlandırılan veri birimlerinde uygulanır. AES algoritması, her 16 bitlik bloğun, 4x4 baytlık bir dizi oluşturmak için Durum adı verilen iki boyutlu bir diziye kopyalanmasıyla başlar. Algoritma, bir veya diğer işlenenleri doğruysa "true" döndüren özel bir "O" işlemi gerçekleştirir. Bu, "AddRoundKey" olarak bilinir ve anahtar programın ilk dört satırı ile State matrisi arasındadır.
Matematiksel işlemler
Özel başlangıç işlemi "O" nun ardından, AES şifreleme algoritması ana döngüsüne girer ve burada Devlet matrisinde tekrar tekrar dört farklı matematiksel işlem gerçekleştirir: "SubBytes", "ShiftRows", "MixColumns" ve "AddRoundKey" . Bu işlemler, Devlet matrisindeki her bir baytı şifrelemek için toplama, çoğaltma, döndürme ve yer değiştirme kombinasyonunu kullanır. Ana döngü, şifreleme anahtarının boyutuna bağlı olarak 10, 12 veya 14 kez çalışır. Yürütme tamamlandıktan sonra, algoritma, durum matrisini çıktıya şifreli bir metin biçiminde kopyalar.