Skip to main content
edit 1
Source Link

byte cipher[16]; declares cipher as an array of 16 bytes. As such, cipher has no methods, much less ones called setKey() or encryptBlock().

Note, setKey() and encryptBlock() look like method names one would find in Crypto or Speck library code; however, I don't find them in the Crypto and Speck headers I looked at on github sites. Also, buffer, cipher, and keySize look like variables and parameters one would use in creating an object for use with encryption methods.

In short, it appears your code fails to set up an appropriate objectclass of objects that has have setKey() and encryptBlock() methodsmethods.

Note, while I am not familiar with their details, I question whether all of the header files Speck.h, SpeckSmall.h, and SpeckTiny.h should be included in your code. It seems more likely that you would choose one of them as appropriate to your needs.


Edit 1: Looking at TestSpeck.ino as mentioned in per1234 6's comment, one sees a function perfCipher(), with its first argument declared as BlockCipher *cipher. That is, cipher is declared as an object of a class that has setKey() and encryptBlock() methods.

The TestSpeck.ino sketch includes all three of the header files Speck.h, SpeckSmall.h, and SpeckTiny.h because it runs performance tests that compare results using different Speck implementations. In practice you usually won't need more than one of those headers.

byte cipher[16]; declares cipher as an array of 16 bytes. As such, cipher has no methods, much less ones called setKey() or encryptBlock().

Note, setKey() and encryptBlock() look like method names one would find in Crypto or Speck library code; however, I don't find them in the Crypto and Speck headers I looked at on github sites. Also, buffer, cipher, and keySize look like variables and parameters one would use in creating an object for use with encryption methods.

In short, it appears your code fails to set up an appropriate object that has setKey() and encryptBlock() methods.

Note, while I am not familiar with their details, I question whether all of the header files Speck.h, SpeckSmall.h, and SpeckTiny.h should be included in your code. It seems more likely that you would choose one of them as appropriate to your needs.

byte cipher[16]; declares cipher as an array of 16 bytes. As such, cipher has no methods, much less ones called setKey() or encryptBlock().

Note, setKey() and encryptBlock() look like method names one would find in Crypto or Speck library code; however, I don't find them in the Crypto and Speck headers I looked at on github sites. Also, buffer, cipher, and keySize look like variables and parameters one would use in creating an object for use with encryption methods.

In short, it appears your code fails to set up an appropriate class of objects that have setKey() and encryptBlock() methods.

Note, while I am not familiar with their details, I question whether all of the header files Speck.h, SpeckSmall.h, and SpeckTiny.h should be included in your code. It seems more likely that you would choose one of them as appropriate to your needs.


Edit 1: Looking at TestSpeck.ino as mentioned in per1234 6's comment, one sees a function perfCipher(), with its first argument declared as BlockCipher *cipher. That is, cipher is declared as an object of a class that has setKey() and encryptBlock() methods.

The TestSpeck.ino sketch includes all three of the header files Speck.h, SpeckSmall.h, and SpeckTiny.h because it runs performance tests that compare results using different Speck implementations. In practice you usually won't need more than one of those headers.

Source Link

byte cipher[16]; declares cipher as an array of 16 bytes. As such, cipher has no methods, much less ones called setKey() or encryptBlock().

Note, setKey() and encryptBlock() look like method names one would find in Crypto or Speck library code; however, I don't find them in the Crypto and Speck headers I looked at on github sites. Also, buffer, cipher, and keySize look like variables and parameters one would use in creating an object for use with encryption methods.

In short, it appears your code fails to set up an appropriate object that has setKey() and encryptBlock() methods.

Note, while I am not familiar with their details, I question whether all of the header files Speck.h, SpeckSmall.h, and SpeckTiny.h should be included in your code. It seems more likely that you would choose one of them as appropriate to your needs.