939 public:
940 void sha512_AVX2(XMMRegister msg, XMMRegister state0, XMMRegister state1, XMMRegister msgtmp0,
941 XMMRegister msgtmp1, XMMRegister msgtmp2, XMMRegister msgtmp3, XMMRegister msgtmp4,
942 Register buf, Register state, Register ofs, Register limit, Register rsp, bool multi_block,
943 XMMRegister shuf_mask);
944 private:
945 void roundEnc(XMMRegister key, int rnum);
946 void lastroundEnc(XMMRegister key, int rnum);
947 void roundDec(XMMRegister key, int rnum);
948 void lastroundDec(XMMRegister key, int rnum);
949 void ev_load_key(XMMRegister xmmdst, Register key, int offset, XMMRegister xmm_shuf_mask);
950
951 public:
952 void aesecb_encrypt(Register source_addr, Register dest_addr, Register key, Register len);
953 void aesecb_decrypt(Register source_addr, Register dest_addr, Register key, Register len);
954 void aesctr_encrypt(Register src_addr, Register dest_addr, Register key, Register counter,
955 Register len_reg, Register used, Register used_addr, Register saved_encCounter_start);
956
957 #endif
958
959 void fast_sha1(XMMRegister abcd, XMMRegister e0, XMMRegister e1, XMMRegister msg0,
960 XMMRegister msg1, XMMRegister msg2, XMMRegister msg3, XMMRegister shuf_mask,
961 Register buf, Register state, Register ofs, Register limit, Register rsp,
962 bool multi_block);
963
964 #ifdef _LP64
965 void fast_sha256(XMMRegister msg, XMMRegister state0, XMMRegister state1, XMMRegister msgtmp0,
966 XMMRegister msgtmp1, XMMRegister msgtmp2, XMMRegister msgtmp3, XMMRegister msgtmp4,
967 Register buf, Register state, Register ofs, Register limit, Register rsp,
968 bool multi_block, XMMRegister shuf_mask);
969 #else
970 void fast_sha256(XMMRegister msg, XMMRegister state0, XMMRegister state1, XMMRegister msgtmp0,
971 XMMRegister msgtmp1, XMMRegister msgtmp2, XMMRegister msgtmp3, XMMRegister msgtmp4,
972 Register buf, Register state, Register ofs, Register limit, Register rsp,
973 bool multi_block);
974 #endif
975
976 void fast_exp(XMMRegister xmm0, XMMRegister xmm1, XMMRegister xmm2, XMMRegister xmm3,
977 XMMRegister xmm4, XMMRegister xmm5, XMMRegister xmm6, XMMRegister xmm7,
978 Register rax, Register rcx, Register rdx, Register tmp);
|
939 public:
940 void sha512_AVX2(XMMRegister msg, XMMRegister state0, XMMRegister state1, XMMRegister msgtmp0,
941 XMMRegister msgtmp1, XMMRegister msgtmp2, XMMRegister msgtmp3, XMMRegister msgtmp4,
942 Register buf, Register state, Register ofs, Register limit, Register rsp, bool multi_block,
943 XMMRegister shuf_mask);
944 private:
945 void roundEnc(XMMRegister key, int rnum);
946 void lastroundEnc(XMMRegister key, int rnum);
947 void roundDec(XMMRegister key, int rnum);
948 void lastroundDec(XMMRegister key, int rnum);
949 void ev_load_key(XMMRegister xmmdst, Register key, int offset, XMMRegister xmm_shuf_mask);
950
951 public:
952 void aesecb_encrypt(Register source_addr, Register dest_addr, Register key, Register len);
953 void aesecb_decrypt(Register source_addr, Register dest_addr, Register key, Register len);
954 void aesctr_encrypt(Register src_addr, Register dest_addr, Register key, Register counter,
955 Register len_reg, Register used, Register used_addr, Register saved_encCounter_start);
956
957 #endif
958
959 void fast_md5(Register buf, Address state, Address ofs, Address limit,
960 bool multi_block);
961
962 void fast_sha1(XMMRegister abcd, XMMRegister e0, XMMRegister e1, XMMRegister msg0,
963 XMMRegister msg1, XMMRegister msg2, XMMRegister msg3, XMMRegister shuf_mask,
964 Register buf, Register state, Register ofs, Register limit, Register rsp,
965 bool multi_block);
966
967 #ifdef _LP64
968 void fast_sha256(XMMRegister msg, XMMRegister state0, XMMRegister state1, XMMRegister msgtmp0,
969 XMMRegister msgtmp1, XMMRegister msgtmp2, XMMRegister msgtmp3, XMMRegister msgtmp4,
970 Register buf, Register state, Register ofs, Register limit, Register rsp,
971 bool multi_block, XMMRegister shuf_mask);
972 #else
973 void fast_sha256(XMMRegister msg, XMMRegister state0, XMMRegister state1, XMMRegister msgtmp0,
974 XMMRegister msgtmp1, XMMRegister msgtmp2, XMMRegister msgtmp3, XMMRegister msgtmp4,
975 Register buf, Register state, Register ofs, Register limit, Register rsp,
976 bool multi_block);
977 #endif
978
979 void fast_exp(XMMRegister xmm0, XMMRegister xmm1, XMMRegister xmm2, XMMRegister xmm3,
980 XMMRegister xmm4, XMMRegister xmm5, XMMRegister xmm6, XMMRegister xmm7,
981 Register rax, Register rcx, Register rdx, Register tmp);
|