A method for a first device to communicate efficiently and securely with a second device, comprising: generating, by the first device, a first message using a first algorithm associated with a first scheme and transmitting the first message to the second device, such that the second device responds by handling the first message by applying a first complementary algorithm associated with the first scheme to the received first message, and based on the handled first message, transmitting a second message generated using a second algorithm associated with a second scheme; receiving, by the first device, the second message from the second device; and handling, by the first device, the received second message by applying a second complementary algorithm associated with the second scheme to the received second message, wherein the first algorithm and the second complementary algorithm fulfils performance criteria for the first device, and whereby the first scheme is different from the second scheme, wherein before generating the first message using the first algorithm associated with the first scheme, the method comprises: obtaining, by the first device, performance data for a plurality of types of schemes, wherein each scheme comprises an algorithm and a complementary algorithm; and identifying from the obtained performance data a scheme having an algorithm that fulfils performance criteria for the first device and setting the identified scheme as the first scheme, further comprising: identifying, by the first device, from the obtained performance data another scheme having a complementary algorithm that fulfils performance criteria for the first device and setting the identified scheme as the second scheme, wherein the first device and the second device each comprise an Internet of Things, loT, enabled device, and wherein the first scheme comprises an RSA cryptographic scheme and the second scheme comprises a vDGHV cryptographic scheme. generating, by the first device, a first message using a first algorithm associated with a first scheme and transmitting the first message to the second device, such that the second device responds by handling the first message by applying a first complementary algorithm associated with the first scheme to the received first message, and based on the handled first message, transmitting a second message generated using a second algorithm associated with a second scheme; receiving, by the first device, the second message from the second device; and handling, by the first device, the received second message by applying a second complementary algorithm associated with the second scheme to the received second message, wherein the first algorithm and the second complementary algorithm fulfils performance criteria for the first device, and whereby the first scheme is different from the second scheme, wherein before generating the first message using the first algorithm associated with the first scheme, the method comprises: obtaining, by the first device, performance data for a plurality of types of schemes, wherein each scheme comprises an algorithm and a complementary algorithm; and identifying from the obtained performance data a scheme having an algorithm that fulfils performance criteria for the first device and setting the identified scheme as the first scheme, obtaining, by the first device, performance data for a plurality of types of schemes, wherein each scheme comprises an algorithm and a complementary algorithm; and identifying from the obtained performance data a scheme having an algorithm that fulfils performance criteria for the first device and setting the identified scheme as the first scheme, further comprising: identifying, by the first device, from the obtained performance data another scheme having a complementary algorithm that fulfils performance criteria for the first device and setting the identified scheme as the second scheme, wherein the first device and the second device each comprise an Internet of Things, loT, enabled device, and wherein the first scheme comprises an RSA cryptographic scheme and the second scheme comprises a vDGHV cryptographic scheme. identifying, by the first device, from the obtained performance data another scheme having a complementary algorithm that fulfils performance criteria for the first device and setting the identified scheme as the second scheme, wherein the first device and the second device each comprise an Internet of Things, loT, enabled device, and wherein the first scheme comprises an RSA cryptographic scheme and the second scheme comprises a vDGHV cryptographic scheme.