Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menambah dan Mengalih Keluar Padding PKCS#7 dalam Penyulitan AES?
Pertimbangan untuk Menambah dan Mengalih Keluar Padding PKCS#7 dalam Penyulitan AES
Dalam penyulitan AES-128 menggunakan mod ECB (Buku Kod Elektronik), Pelapik PKCS#7 (Public Key Cryptography Standard #7) biasanya digunakan untuk memastikan bahawa mesej yang akan disulitkan mematuhi saiz blok AES, iaitu 128 bit. Proses padding melibatkan penambahan bilangan bait tertentu pada mesej untuk menjadikan panjangnya boleh dibahagikan dengan 128.
Untuk menambah padding PKCS#7 pada mesej, tentukan bilangan bait padding yang diperlukan. Ini dikira dengan mengambil perbezaan antara panjang mesej semasa dan saiz blok, dan kemudian menambah 1. Bait padding yang ditambahkan akan terdiri daripada aksara berulang yang nilai ASCIInya ialah bilangan bait padding. Sebagai contoh, jika empat bait padding diperlukan, aksara 0x04 (kod ASCII untuk 4) akan diulang empat kali dan dilampirkan pada penghujung mesej.
Untuk mengalih keluar padding PKCS#7 daripada mesej yang dinyahsulit, periksa bait terakhir mesej yang dinyahsulit. Bait ini menunjukkan bilangan bait padding yang akan dialih keluar. Kurangkan nilai bait ini daripada panjang mesej yang dinyahsulit untuk menentukan panjang mesej sebenar. Kemudian, alih keluar beberapa bait terakhir daripada mesej, memastikan bahawa bilangan bait yang dialih keluar sepadan dengan nilai yang ditunjukkan oleh bait terakhir.
Untuk contoh pelaksanaan yang lebih terperinci, rujuk nota sumbangan pengguna yang disediakan dalam mcrypt dokumentasi, yang menunjukkan pelaksanaan khusus pelapik PKCS#7 untuk pelbagai algoritma penyulitan, termasuk AES. Adalah penting untuk ambil perhatian bahawa daripada hanya menanggalkan bait padding, adalah disyorkan untuk mengesahkan ketepatannya dengan mengesahkan bahawa semuanya mempunyai nilai yang sama dengan bait terakhir. Ini berfungsi sebagai semakan asas terhadap potensi rasuah atau manipulasi data.
Atas ialah kandungan terperinci Bagaimana untuk Menambah dan Mengalih Keluar Padding PKCS#7 dalam Penyulitan AES?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!