我需要一个适用于PIC单片机的良好加密算法.经过一些谷歌搜索,似乎XXTEA是唯一的选择,但是,"XXTEA很容易受到选择明文攻击,需要2 ^ 59次查询和可忽略不计的工作".
我不擅长密码学,所以我想问:上述陈述有多准确?我可以在商业安全应用程序中使用XXTEA吗?如果不是,我的嵌入式系统可以使用任何可用的算法吗?
我想在我的游戏中使用xxtea进行数据加密/解密.
以下是库使用的示例:
#include <stdio.h>
#include <string.h>
#include <xxtea.h>
int main() {
const char *text = "Hello World! ??????";
const char *key = "1234567890";
size_t len;
unsigned char *encrypt_data = xxtea_encrypt(text, strlen(text), key, &len);
char *decrypt_data = xxtea_decrypt(encrypt_data, len, key, &len);
if (strncmp(text, decrypt_data, len) == 0) {
printf("success!\n");
}
else {
printf("fail!\n");
}
free(encrypt_data);
free(decrypt_data);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如何保持钥匙本身的安全呢?