Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Go to the documentation of this file. 52 #define AESx(x) ( ((SPH_C32(x) >> 24) & SPH_C32(0x000000FF)) \ 53 | ((SPH_C32(x) >> 8) & SPH_C32(0x0000FF00)) \ 54 | ((SPH_C32(x) << 8) & SPH_C32(0x00FF0000)) \ 55 | ((SPH_C32(x) << 24) & SPH_C32(0xFF000000))) 62 #define AES_ROUND_BE(X0, X1, X2, X3, K0, K1, K2, K3, Y0, Y1, Y2, Y3) do { \ 63 (Y0) = AES0[((X0) >> 24) & 0xFF] \ 64 ^ AES1[((X1) >> 16) & 0xFF] \ 65 ^ AES2[((X2) >> 8) & 0xFF] \ 66 ^ AES3[(X3) & 0xFF] ^ (K0); \ 67 (Y1) = AES0[((X1) >> 24) & 0xFF] \ 68 ^ AES1[((X2) >> 16) & 0xFF] \ 69 ^ AES2[((X3) >> 8) & 0xFF] \ 70 ^ AES3[(X0) & 0xFF] ^ (K1); \ 71 (Y2) = AES0[((X2) >> 24) & 0xFF] \ 72 ^ AES1[((X3) >> 16) & 0xFF] \ 73 ^ AES2[((X0) >> 8) & 0xFF] \ 74 ^ AES3[(X1) & 0xFF] ^ (K2); \ 75 (Y3) = AES0[((X3) >> 24) & 0xFF] \ 76 ^ AES1[((X0) >> 16) & 0xFF] \ 77 ^ AES2[((X1) >> 8) & 0xFF] \ 78 ^ AES3[(X2) & 0xFF] ^ (K3); \ 81 #define AES_ROUND_NOKEY_BE(X0, X1, X2, X3, Y0, Y1, Y2, Y3) \ 82 AES_ROUND_BE(X0, X1, X2, X3, 0, 0, 0, 0, Y0, Y1, Y2, Y3) 86 #define AESx(x) SPH_C32(x) 92 #define AES_ROUND_LE(X0, X1, X2, X3, K0, K1, K2, K3, Y0, Y1, Y2, Y3) do { \ 93 (Y0) = AES0[(X0) & 0xFF] \ 94 ^ AES1[((X1) >> 8) & 0xFF] \ 95 ^ AES2[((X2) >> 16) & 0xFF] \ 96 ^ AES3[((X3) >> 24) & 0xFF] ^ (K0); \ 97 (Y1) = AES0[(X1) & 0xFF] \ 98 ^ AES1[((X2) >> 8) & 0xFF] \ 99 ^ AES2[((X3) >> 16) & 0xFF] \ 100 ^ AES3[((X0) >> 24) & 0xFF] ^ (K1); \ 101 (Y2) = AES0[(X2) & 0xFF] \ 102 ^ AES1[((X3) >> 8) & 0xFF] \ 103 ^ AES2[((X0) >> 16) & 0xFF] \ 104 ^ AES3[((X1) >> 24) & 0xFF] ^ (K2); \ 105 (Y3) = AES0[(X3) & 0xFF] \ 106 ^ AES1[((X0) >> 8) & 0xFF] \ 107 ^ AES2[((X1) >> 16) & 0xFF] \ 108 ^ AES3[((X2) >> 24) & 0xFF] ^ (K3); \ 111 #define AES_ROUND_NOKEY_LE(X0, X1, X2, X3, Y0, Y1, Y2, Y3) \ 112 AES_ROUND_LE(X0, X1, X2, X3, 0, 0, 0, 0, Y0, Y1, Y2, Y3)