ในการเข้ารหัสบล็อกเครือข่ายการแทนที่ เช่น AES เมื่อเข้ารหัสข้อความธรรมดาเป็นข้อความเข้ารหัส แต่ละบิตของข้อความเข้ารหัสจะเชื่อมโยงกับแต่ละบิตของ S-boxes ที่ตั้งไว้ในการเข้ารหัสหรือไม่
ฉันได้เห็น การดำเนินการอ้างอิง Kuznyechik และฉันสงสัยว่าแต่ละบิตของไซเฟอร์เท็กซ์จะเชื่อมโยงกับแต่ละบิตของชุด S-boxes หรือไม่:
#กำหนด LS(x1,x2,t1,t2) { \
t1 = T[0][(ไบต์)(x1)][0] ^ T[1][(ไบต์)(x1 >> 8)][0] ^ T[2][(ไบต์)(x1 >> 16 )][0] ^ T[3][(ไบต์)(x1 >> 24)][0] ^ T[4][(ไบต์)(x1 >> 32)][0] ^ T[5][( ไบต์)(x1 >> 40)][0] ^ \
T[6][(ไบต์)(x1 >> 48)][0] ^ T[7][(ไบต์)(x1 >> 56)][0] ^ T[8][(ไบต์)(x2)] [0] ^ T[9][(ไบต์)(x2 >> 8)][0] ^ T[10][(ไบต์)(x2 >> 16)][0] ^ T[11][(ไบต์) (x2 >> 24)][0] ^ \
T[12][(ไบต์)(x2 >> 32)][0] ^ T[13][(ไบต์)(x2 >> 40)][0] ^ T[14][(ไบต์)(x2 >> 48)][0] ^ T[15][(ไบต์)(x2 >> 56)][0]; \
t2 = T[0][(ไบต์)(x1)][1] ^ T[1][(ไบต์)(x1 >> 8)][1] ^ T[2][(ไบต์)(x1 >> 16 )][1] ^ T[3][(ไบต์)(x1 >> 24)][1] ^ T[4][(ไบต์)(x1 >> 32)][1] ^ T[5][( ไบต์)(x1 >> 40)][1] ^ \
T[6][(ไบต์)(x1 >> 48)][1] ^ T[7][(ไบต์)(x1 >> 56)][1] ^ T[8][(ไบต์)(x2)] [1] ^ T[9][(ไบต์)(x2 >> 8)][1] ^ T[10][(ไบต์)(x2 >> 16)][1] ^ T[11][(ไบต์) (x2 >> 24)][1] ^ \
T[12][(ไบต์)(x2 >> 32)][1] ^ T[13][(ไบต์)(x2 >> 40)][1] ^ T[14][(ไบต์)(x2 >> 48)][1] ^ T[15][(ไบต์)(x2 >> 56)][1]; \
}