小编mlp*_*mlp的帖子

GNU C中的__attribute__

为什么以及如何 __attribute__在GNU C程序中使用?

gcc declaration function

50
推荐指数
3
解决办法
4万
查看次数

保护嵌入式设备中的敏感数据?

在嵌入式设备上存储敏感数据最安全的方法是什么?

在我的工作中,我正在为消费者市场开发一种产品,它将有一张eMMC卡,其中包含非常有价值的数据.我想知道保护这些数据的最佳方法是什么,即让某人无法理解其内容.(ps:这不是代码,这是一个实际的数据集)

我想象设计的方法是将数据放在eMMC上,用AES加密它(128位密钥就够了吗?).密钥将存储在MCU的闪存中.我使用的MCU提供了防止闪存读出和闪存覆盖的功能.但是,如果eMMC只是将eMMC硬连接到计算机,那么带有数据(但没有加密密钥)的eMMC将可供黑客使用.因此,解密的数据将仅暂时存在于系统的RAM中.

因此,如果我正确使用我的MCU的功能来锁定闪存,它会安全吗?或者,如果受到保护,是否有其他方法可以获取闪存内容(嵌入到MCU中)?像硬件模块或类似的东西.或者即使我成功地将密钥隐藏在闪存中,也可以制作一些数据?

请避免像"...... 应该没问题"这样的答案.我想知道最糟糕的情况.

作为参考,这里是我们使用的MCU的读出/写保护功能,但我的问题有一个通用的目的,不一定与一个MCU相关. http://www.st.com/content/ccc/resource/technical/document/application_note/89/12/c5/e2/0d/0e/45/7f/DM00186528.pdf/files/DM00186528.pdf/jcr:内容/翻译/ en.DM00186528.pdf

security encryption embedded

6
推荐指数
1
解决办法
1071
查看次数

由空格分隔的两个字符串自动连接

我刚刚发现了一些非常有趣的东西,这是我的错字引入的.这是一个非常简单的代码脚本示例:

printf("A" "B");
Run Code Online (Sandbox Code Playgroud)

结果将是

$> AB
Run Code Online (Sandbox Code Playgroud)

有谁可以解释这是怎么发生的?

c

5
推荐指数
1
解决办法
608
查看次数

系统调用 open() 中的标志组合如何工作?

fd = open(pathname, O_WRONLY | O_CREAT | O_TRUNC, mode);
Run Code Online (Sandbox Code Playgroud)

我的学费告诉我,这O_WRONLY | O_CREAT | O_TRUNC意味着系统调用允许写入and创建(如果有)and截断文件(如果有)。

但它不是|按位运算符 和 之一吗OR

系统如何解释该组合?我尝试用我学到的按位运算来解释这个组合,但我只是迷失了方向。有人可以解释一下吗?

c posix

2
推荐指数
1
解决办法
1199
查看次数

SSE - 不存在的 haddsub 内在?

在浏览可用的内在函数时,我注意到无处可见可用的水平 addsub/subadd 指令。它在过时的 3DNow 中可用!扩展但是由于显而易见的原因,它的使用是不切实际的。在 SSE3 扩展中没有实现这种“基本”操作以及类似的水平和 addsub 操作的原因是什么?

顺便说一句,现代指令集(SSE3、SSE4、AVX……)中最快的替代方法是什么?(每个值有 2 个双打,即 __m128d)

sse simd intrinsics

2
推荐指数
1
解决办法
371
查看次数

标签 统计

c ×2

declaration ×1

embedded ×1

encryption ×1

function ×1

gcc ×1

intrinsics ×1

posix ×1

security ×1

simd ×1

sse ×1