sm3摘要算法python_面向嵌入式系统的加密算法性能检测方法

1 嵌入式系统信息安全随着当代信息物理社会(CPS,cyber physical society)的不断融合发展,信息安全越来越受到社会各级主体的重视。自上个世纪计算硬件与密码学的发展,信息安全领域已经研发出多种新颖高效且安全的加密算法,如今各类加密算法已经被广泛应用于工业控制系统(ICS, industrial control system)、航天航空、国防军事、电子商务与通讯等领域。其中,工...
摘要由CSDN通过智能技术生成

1 嵌入式系统信息安全

随着当代信息物理社会(CPS,cyber physical society)的不断融合发展,信息安全越来越受到社会各级主体的重视。自上个世纪计算硬件与密码学的发展,信息安全领域已经研发出多种新颖高效且安全的加密算法,如今各类加密算法已经被广泛应用于工业控制系统(ICS, industrial control system)、航天航空、国防军事、电子商务与通讯等领域。其中,工控系统大量应用在中国关键基础设施上,关乎中国国家安全与国计民生。然而工控系统安全措施的落后,为其应对新型攻击手段与不断提高的信息安全需求带来挑战。各类嵌入式设备是工控系统的重要组成部分,承担大量运作与控制任务。嵌入式系统的信息安全关系着工控系统的整体安全。如何保证目前已有的各式加密算法或专为嵌入式设备与工控设备的新型加密算法,能有效部署移植到嵌入式系统中,在不过多影响系统固定运作的同时满足嵌入式系统的运行性能要求,并提供数据加密安全的能力,已经成为了新的挑战。

面向嵌入式系统的加密算法性能检测的研究是以工业控制系统安全作为研究的宏观背景,以工控系统中重要的组成部分嵌入式系统为具体研究对象,研究将帮助待测试加密算法在具体嵌入式设备中的性能测试,以完善面向嵌入式系统加密算法的设计。

1.1 嵌入式系统信息安全

嵌入式系统是一种为了处理特定任务,要求具有功能专一性,计算实时性的计算机系统[。嵌入式设备同传统计算设备相比具有更加丰富的硬件结构,更注重同外接设备的互操作。

嵌入式系统上的一个主要工程问题是应付有限的资源:有限的计算处理能力、能源与内存等,这带来了工程设计优化的挑战。在CPS中,嵌入式系统通常通过物理环境影响计算的反馈环路来监视和控制物理过程,在系统中任务执行所产生的延时对于系统功能正常作业的纠正至关重要。

嵌入式系统是工控系统的重要组成部分,大量的嵌入式设备部署于工业场景,负责实际的生产工作或协调控制外接设备的运行,嵌入式系统将是安全服务的重点应用对象[。

1.2 嵌入式系统密码测评的意义

面向传统信息系统的加密算法研究已经有十分成熟的应用,在以保密性、完整性、可用性为优先的前提下,目前流行的加密算法不一定适合处理嵌入式系统中的任务,不能有效支撑基于有限成本的硬件运行计算需求。

研究适合有特定资源的嵌入式系统的加密算法,需要完成对目标嵌入式系统的性能测试。如准备为当前设备挑选合适的加密算法,或检测当前准备的加密算法能否部署到目标嵌入式系统,或保障加密算法应用后的嵌入式系统本身作业任务能正常进行,从而反映出对嵌入式系统进行其加密算法运行上的性能检测需求。

研究关注工控系统信息安全,面向嵌入式系统加密算法应用的巨大测评需求。从嵌入式系统测评过程中,分系统侧与密码侧两方面展开工作,根据两侧模型不同的参数配置,寻找能反映加密算法对嵌入式系统性能影响的指标,研究加密算法与嵌入式系统性能的具体依赖关系,构建加密算法性能检测的理论框架,帮助嵌入式系统选择符合运行要求的加密算法。

2 相关工作

2.1 常用加密算法介绍

对称与非对称加密算法:对称加密算法是保护信息保密性、完整性与可用性的应用最广泛的手段。对称加密解决方案可用来加密任何大小的流数据或块数据,并以明文、加密算法、对称密钥、密文与解密算法构成其五个基本组成成分。对称加密使用相同的加密密钥与解密密钥,其加密算法与解密算法的流程也大体一致。常见的对称加密算法有DES、AES、Blowfish与RC5等算法。

非对称加密所属的公钥密码学的出现带来了整个信息密码学的一次重要的革命,将原本基于置换和替换的对称加密思想转变为基于数学函数互补运算的思想。非对称加密与对称加密的明显区别在于非对称加密的加密密钥与解密密钥不相同,但加解密后又能保持明文的一致。RSA是使用最广泛的非对称加密算法, 在相同安全强度要求下,椭圆曲线密码较其他公钥密码所需的密钥规模要小得多[。与RSA相比,其签名速度与秘钥生成速度都更好[。

国产加密算法:SM系列算法是中国自主研制的国产加密算法,又称国密算法。国密算法完整地包括了数据加密、信息摘要、身份认知、消息签名等各种基础密码算法部件。SM2算法是基域为素域和二元扩域的椭圆曲线公钥密码算法,可满足多种密码应用中身份认证和数据完整性、真实性的安全需求[。SM3杂凑算法可用作消息摘要,常应用于商业密码[。

轻量级加密算法:由于微处理器和芯片体积的不断缩减,因此有必要使施加的加密方案既安全又不计算昂贵。面向资源受限设备运行的性能需求与信息安全需求,轻量级密码被认为是一种有效的加密算法设计思路。作为密码学中的子领域,轻量级密码(lightweight cryptography)主要针对的是传感器网络、嵌入式系统与RFID等的资源受限设备

2.2 常用嵌入式系统性能指标

面向嵌入式系统的加密算法性能检测涉及多项性能指标,这些指标大多与传统计算机服务器相同,但嵌入式系统作为功能专业化与资源受限的设备,其性能指标同传统运维指标相比,仅会取到运维指标的子集。根据文献分析的性能指标,以与本文嵌入式系统类别相同的操作系统性能指标为例,系统性能指标可分为以下四类

1) CPU资源:包括CPU使用率、系统CPU总负载、CPU时间软中断百分比与CPU每秒上下文切换次数等指标;

2) 内存资源:包括物理内存可用量、缓冲区使用量、物理内存使用率与内存共享区域大小等指标;

3) 读写IO能力:包括磁盘写入量、磁盘读取次数、磁盘IO占比与磁盘IO服务时间等指标;

4) 网络通信资源:包括网络接口进出流量、TCP连接统计数量、网络接口收发的错误包数量与ipv4监听状态连接数量等指标。

3 面向嵌入式系统的加密算法性能检测方法

加密算法数据处理过程复杂,信息量大,其处理过程需要占用较多的内存、CPU使用率与能耗。加密算法应用对系统/设备侧的影响主要体现在性能、资源、可靠性与任务调度等指标上。其性能度量主要从硬件度量和软件度量考虑,分为能量消耗、延时、吞吐率3个维度。硬件平台的性能需求通常用等效门来表示;而软件应用的性能需求则从寄存器数目、RAM和ROM的字节数等来表示。加密算法性能检测是通过密码侧和系统侧融合应用完成的,密码侧指加密算法本身处理逻辑及配置,系统侧包含嵌入式本身结构与硬件相关的性能指标。测评工作可供研究的系统测元素如

图 1(Fig. 1)

f1f9489cf6059025c448ed18547a49f7.png

图 1 系统侧与密码侧关联图

Fig. 1 System side and the cry

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C知道:sm9是一种国密算法,用于椭圆曲线公钥密码学。如果你想在Python中实现sm9加密算法,可以使用Crypto库中的Crypto.Util.number模块来处理大整数运算。 首先,你需要安装Crypto库。可以使用pip命令进行安装: ```shell pip install pycryptodome ``` 然后,你可以使用以下示例代码来实现sm9加密算法: ```python from Crypto.Util.number import bytes_to_long, long_to_bytes from sm9 import setup, extract_private_key, public_key_extract, encrypt, decrypt # 生成主密钥对 (master_secret_key, master_public_key) = setup() # 提取用户私钥 private_key = extract_private_key(master_secret_key, "user_id") # 提取用户公钥 public_key = public_key_extract(master_public_key, "user_id") # 加密消息 message = b"Hello, World!" ciphertext = encrypt(public_key, message) # 解密消息 decrypted_message = decrypt(private_key, ciphertext) plaintext = long_to_bytes(decrypted_message) print("Plaintext:", plaintext.decode()) ``` 以上代码中,我们首先使用`setup()`函数生成主密钥对。然后,我们使用`extract_private_key()`函数提取特定用户的私钥,并使用`public_key_extract()`函数提取用户的公钥。 接下来,我们使用`encrypt()`函数对消息进行加密,并使用`decrypt()`函数进行解密。 最后,我们使用`long_to_bytes()`函数将解密后的消息转换为字节形,并进行打印输出。 请注意,上述示例代码仅用于说明如何在Python中使用sm9加密算法。要实际使用sm9算法,你需要使用符合国密标准的实现,并按照相应的规范进行操作。 希望以上信息能对你有所帮助!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值