SHA-256 algoritması şu şekilde çalışır:
- Giriş Hazırlığı: İlk olarak, herhangi bir uzunluktaki girdi verisi işlenmek üzere hazırlanır 12. Bu, veriye padding (doldurma) işlemi uygulanarak, sabit boyutlu parçalara bölünmesiyle yapılır 13.
- Bloklara Ayırma: Padded veri, her biri 512 bit uzunluğunda olan bloklara ayrılır 34.
- İlk Hash Değerleri: Algoritma, sekiz sabit hash değeri ile başlatılır 4. Bu değerler, ilk sekiz asal sayının kesirli kısımlarının karekökü ile ilgilidir 3.
- Mesaj Takvimi: Her blok, 16 32-bit kelimeye genişletilir ve bu kelimeler belirli bir programa göre 64 kelimeye dönüştürülür 34.
- Sıkıştırma Fonksiyonu: 64 tur boyunca, her turda mesaj programından bir kelime kullanılarak, sekiz çalışma değişkeni güncellenir 34. Bu turlar sırasında bitwise işlemler (AND, OR, XOR), modüler toplama ve bit kaydırma gibi işlemler uygulanır 13.
- Son Hash Değeri: Tüm bloklar işlendikten sonra, sekiz 32-bit kelime birleştirilerek 256-bit final hash değeri üretilir 34.
5 kaynaktan alınan bilgiyle göre: