历史上的今天
返回首页

历史上的今天

今天是:2026年03月07日(星期六)

2023年03月07日 | 【STM32安全技术导论之二】加解密技术

2023-03-07 来源:zhihu

无论通讯安全还是设备安全都离不开加解密技术。我们经常需要需要各种各样的密码,那么背后一定是加解密技术。 加解密技术说白了就是变换,加密变换和它的反变换---解密变换。加解密技术也有三个属性,也叫 CIA,保密性,完整性以及可认证性。注意,最后的这个A与信息安全三要素CIA中的可用性 A 不一样,一个是 Authentication, 一个是 Availability。能够提供保密服务的有对称密钥和非对称密钥。 能够提供狭义完整性服务的有单向散列函数。能够提供认证鉴别类服务有基于非对称密钥技术的数字签名技术, 以及基于对称密钥的技术的消息验证码 MAC。


1、加解密技术史



谈到加解密发展史,不得不提香农。克劳德·香农(Claude Shannon),美国数学家、电子工程师和密码学家,被誉为信息论的创始人。1948年,香农发表了划时代的论文《通信的数学原理》,奠定了现代信息论的基础。1949 年,香农又发表了《保密系统的通信理论》, 将加解密技术从艺术变成了科学,加解密的历史由此转折。1976年,两位美国计算机学家Dime(D)和Henman(H)提出 DH密钥交换协议,启发了Ron Rivest(R), Adi Shamir(S)和Leonard Adleman(A), RSA 非对称密钥的加解密技术。于是,加解密技术发展形成了三个阶段。




2、加解密的参数模型及三大典型算法


那么加解密技术的过程是怎么样的?




A 对一段明文,用一个密钥进行加密,形成密文。B 收到密文,用一个密钥进行解密,获得明文。密钥有三种情况,代表了三种典型算法:

  1. 密钥的个数为0,通过散列(又叫摘要或哈西)函数将很长的信息摘成很短的数据,这就是通过单向散列函数达成的无密钥技术。

  2. 密钥的个数为1,即 A 用的加密密钥和 B 用的解密密钥相同,这种加解密技术为对称加密

  3. 密钥的个数为2,即 A 用的加密密钥和 B 用的解密密钥不同,这就是非对称加密


3、数字签名与MAC


STM32加密库与算法工具


加解密技术三属性(CIA)中的“A”代表Authentication,即可认证性。如何实现认证服务?我们可以通过单向散列函数与加密技术结合来实现,主要有两种认证服务,一种基于对称加密技术,我们称之为消息认证码(MAC); 一种是基于非对称加密技术,就是我们这里要讲的数字签名


STM32 提供了加密库 X-Crypto-lib 对之前提到的三大类算法的支持,甚至包括一些近几年才出现的算法 ChaCha20 以及 Poly。STM32 加密库包括几乎所有的分组模式,例如 ECB, CBC,GCM等等。密码技术可以由软件实现,也可以由硬件加速。软件加密库可以运行在所有的 STM32 平台上。STM32 特定型号有常用的算法加速,可以减轻内核负载,降低功耗。


同时,在 STM32 MCU 安全开发过程中,有时候需要和确认自己对 MCU 加密库的调用是否正确,这时需要一个工具对他进行比较。STM32的算法工具OpenSSL 支持所有主流算法,很容易地用来进行结果比较,也可以用来理解算法参数。


推荐阅读

史海拾趣

D+H Mechatronic AG公司的发展小趣事

随着公司业务的不断发展,D+H Mechatronic AG开始寻求与国际知名企业的合作。通过多次洽谈和协商,公司成功与一家德国的汽车制造巨头签订了战略合作协议。双方共同研发出了一款高度智能化的生产线,大大提高了汽车制造的效率和质量。这次国际合作不仅为D+H Mechatronic AG带来了可观的收益,也使其在国际市场上的影响力得到了显著提升。

FerriShield公司的发展小趣事

FerriShield公司起源于一家小型电子材料研究实验室。创始人Dr. Smith是一位材料科学家,他发现了一种新型的铁磁屏蔽材料,能够有效减少电子设备中的电磁干扰。这一发现引起了业界的广泛关注。Dr. Smith决定将其商业化,并创立了FerriShield公司。凭借这种创新材料,FerriShield在成立初期就获得了多项专利,并成功吸引了第一轮风险投资。

鸿展光电(GPO)公司的发展小趣事

FerriShield公司起源于一家小型电子材料研究实验室。创始人Dr. Smith是一位材料科学家,他发现了一种新型的铁磁屏蔽材料,能够有效减少电子设备中的电磁干扰。这一发现引起了业界的广泛关注。Dr. Smith决定将其商业化,并创立了FerriShield公司。凭借这种创新材料,FerriShield在成立初期就获得了多项专利,并成功吸引了第一轮风险投资。

Control Sciences Inc公司的发展小趣事

作为一家有社会责任感的企业,Control Sciences Inc始终关注环境保护和社会公益。公司积极推广节能减排技术,减少生产过程中的环境污染。此外,公司还积极参与社会公益活动,为社会的发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也赢得了社会各界的广泛认可。


以上只是基于通用框架编写的示例故事,具体的内容需要您根据Control Sciences Inc公司的实际情况进行调整和补充。在编写过程中,请确保遵循事实,避免加入主观评价或猜测。

DESCO公司的发展小趣事

为了进一步提升竞争力,DESCO公司进行了多次收购和资源整合。例如,在XX年,公司成功收购了美国一家知名的防静电产品制造商,获得了其先进的生产技术和销售渠道。这次收购使DESCO公司的产品线更加丰富,市场覆盖面更加广泛。此外,公司还加强了与其他企业的战略合作,共同开发新产品、拓展新市场。

Advanced Energy公司的发展小趣事

在发展过程中,AE公司不断突破技术瓶颈,实现了多项重要技术的创新。这些技术突破不仅提升了公司产品的性能和质量,也推动了整个电子行业的发展。随着技术的不断进步,AE公司开始将业务拓展至全球市场。通过与各国客户的合作与交流,AE公司不断了解市场需求,优化产品设计,为全球客户提供更加优质的电源解决方案。

问答坊 | AI 解惑

几个硬件设计经验

鸡毛蒜皮之一:成本节约 现象一:这些拉高/拉低的电阻用多大的阻值关系不大,就选个整数5K吧 点评:市场上不存在5K的阻值,最接近的是4.99K(精度1%),其次是5.1K(精度5%),其 成本分别比精度为20%的4.7K高4倍和2倍。20%精度的电阻阻值只有1 ...…

查看全部问答>

求职英语(一):个人品质英语词汇大全

个人品质有用词汇able 有才干的,能干的 active 主动的,活跃的 adaptable 适应性强的 adroit 灵巧的,机敏的 aggressive 有进取心的 alert 机灵的 ambitious 有雄心壮志的 amiable 和蔼可亲的 amicable 友好的 analytical 善于分析的 ap ...…

查看全部问答>

viewdraw的库怎么加啊

想用viewdraw画电路导出网表作hspice住真,但是没有viewdraw的库  哪位大大给个库啊 谢谢了 fab100@163.com…

查看全部问答>

6401两通道LDO参数及其应用

台湾AnSC最新推出两通道LDO  AP6401系列, AP6401系列的高精确度,双,低噪声,低压差稳压器的CMOS与启用功能.在EN功能允许输出的每一稳压必须关闭独立,导致 大大降低了能耗.该AP6401系列的软启动功能,以抑制浪涌电流.该电流限制器\'倍 ...…

查看全部问答>

单片机时钟电路中的数码管驱动电路

.系统板上硬件连线 (1. 把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上; (2. 把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; 动态数码 ...…

查看全部问答>

如何确定器件参数

我做的是一个单片开关电源,如图所示。U1用的是NCP1000,我要VO输出12V、100mA. 该如何设计变压器T2的参数,反馈绕组电压电流该确定为多少? 望高手指教…

查看全部问答>

关于模电数电的问题

最近在疯狂学习模电数电,感觉数电还可以,就是逻辑设计。但是模电实在太让我头大了,各种放大电路太抽象了,原理倒是能搞懂,只是到底是干嘛的根本不清楚,还要用各种分析方法去分析,根本记不住。请教各位大大,各位学习模电数电的时候是如何学习 ...…

查看全部问答>

如何精确线程循环周期

有个线程 while(1) {     f1();     Sleep(100); } 本来初衷是使这个线程每100毫秒循环一次,但是由于Sleep函数的不精确,以及f1()的执行时间不确定,因此,次线程循环周期总是不能精确到100毫秒,有没有什么方法能使此线 ...…

查看全部问答>

MC-1000中,如何对背光进行控制

在开发MC-1000中,想在程序一开启就把背光灯打开,用什么函数来控制打开背光呢,各位老大,请赐教。在线等。。。急。我用的时evc4.0开发平台。…

查看全部问答>

MSP-EXP430FR5739是12位ADC?(已解决)

刚刚收到MSP-EXP430FR5739开发板,ADC转换是12bit的吗 [ 本帖最后由 xylq0826 于 2011-11-25 21:26 编辑 ]…

查看全部问答>