A system for hardware offloading, the system comprising: a plurality of processors; a network interface card; and at least one memory comprising computer program code, the at least one memory and the computer program code being configured to: program the network interface card with a mapping between (i) a connection identification for one or more QUIC data packets and (ii) a symmetric key and a crypto algorithm; receive one or more data packets over a network, parse the one or more data packets to identify the one or more data packets as QUIC data packets and then obtain the CID for the QUIC data packets, send the CID to the network interface card, wherein the network interface card is configured to: identify the symmetric key and the crypto algorithm based on the CID; select one or more processors of the plurality of processors to process the QUIC data packets, the one or more processors being selected using a mapping in a hash table based on the CID, process the QUIC data packets using the selected one or more processors, the processing comprising performing a crypto decrypt operation on the QUIC data packets, and reassembling the QUIC data packets, and receive the reassembled QUIC data packets from the network interface card. a plurality of processors; a network interface card; and at least one memory comprising computer program code, the at least one memory and the computer program code being configured to: program the network interface card with a mapping between (i) a connection identification for one or more QUIC data packets and (ii) a symmetric key and a crypto algorithm; receive one or more data packets over a network, parse the one or more data packets to identify the one or more data packets as QUIC data packets and then obtain the CID for the QUIC data packets, send the CID to the network interface card, wherein the network interface card is configured to: identify the symmetric key and the crypto algorithm based on the CID; select one or more processors of the plurality of processors to process the QUIC data packets, the one or more processors being selected using a mapping in a hash table based on the CID, process the QUIC data packets using the selected one or more processors, the processing comprising performing a crypto decrypt operation on the QUIC data packets, and reassembling the QUIC data packets, and receive the reassembled QUIC data packets from the network interface card. program the network interface card with a mapping between (i) a connection identification for one or more QUIC data packets and (ii) a symmetric key and a crypto algorithm; receive one or more data packets over a network, parse the one or more data packets to identify the one or more data packets as QUIC data packets and then obtain the CID for the QUIC data packets, send the CID to the network interface card, wherein the network interface card is configured to: identify the symmetric key and the crypto algorithm based on the CID; select one or more processors of the plurality of processors to process the QUIC data packets, the one or more processors being selected using a mapping in a hash table based on the CID, process the QUIC data packets using the selected one or more processors, the processing comprising performing a crypto decrypt operation on the QUIC data packets, and reassembling the QUIC data packets, and receive the reassembled QUIC data packets from the network interface card. identify the symmetric key and the crypto algorithm based on the CID; select one or more processors of the plurality of processors to process the QUIC data packets, the one or more processors being selected using a mapping in a hash table based on the CID, process the QUIC data packets using the selected one or more processors, the processing comprising performing a crypto decrypt operation on the QUIC data packets, and reassembling the QUIC data packets, and receive the reassembled QUIC data packets from the network interface card.