以前に作成した変数に手動で記述した配列を割り当てる方法。
例:
ああ
class PredefinedMatrices {
public:
PredefinedMatrices();
unsigned char getSBoxValue(unsigned char hexNumber) const;
private:
unsigned char sbox[256];
};
交流
PredefinedMatrices::PredefinedMatrices() {
sbox[256] = //Sure it won't work
{
0x34, 0x5b,
0x93, 0xc2
};
}
unsigned char PredefinedMatrices::getSBoxValue(unsigned char hexNumber) const {
return sbox[hexNumber];
}
クラスに値を直接割り当てることはできません。
それはうまくいきませんでした:
unsigned char *matrice;
matrice = new unsigned char[256]{...};
追加の割り当て時間とメモリ消費のために、必要な行列に一時行列のmemcpyを実行したくありません。
編集:手動で記述された配列は、AES暗号化のS-Boxです。私はそれを動的に計算することができますが、一定であり、の値がわかっているもののためにプロセッササイクルを無駄にしたくありません。