一种基于AES-NI指令集的SM4快速软件实现方法

    公开(公告)号:CN116566587A

    公开(公告)日:2023-08-08

    申请号:CN202310025456.2

    申请日:2023-01-09

    Abstract: 本发明公开了一种基于AES‑NI指令集的SM4快速软件实现方法,该方法包括:基于AVX2(Advanced Vector Extensions)指令集以及AES‑NI(Advanced Encryption Standard New Instructions)指令集对SM4算法进行优化,实现了8组明文并行加密,通过找到有限域间的同构关系,将SM4算法中的S盒映射到AES算法的S盒上,使用AES‑NI扩展指令完成SM4算法的S盒运算;在算法实现中,使用AVX2指令集中的shuffle指令提高了轮函数中的矩阵运算效率。

    一种低时延的蒙哥马利模乘器
    2.
    发明公开

    公开(公告)号:CN120085833A

    公开(公告)日:2025-06-03

    申请号:CN202411843198.X

    申请日:2024-12-13

    Abstract: 本发明公开了一种低时延的蒙哥马利模乘器,该模乘器包括迭代控制单元、并行部分和生成单元、多级流水的商运算单元、输出移位单元、部分和压缩单元以及最终约简单元。本发明的模乘器将每轮迭代的中间结果表示为三元组形式,在规避长位宽加法的同时降低了压缩级数。通过引入移位操作,将商运算的流程分散到多个周期中流水实现,以引入若干个额外周期为代价,大幅缩短了每轮迭代的关键路径,大幅降低了模乘器的整体输出延迟,适用于存在高速运算需求的场景中,模数长度越长,加速效果越明显。

    一种基于寄存器优化的SM4快速软件实现方法

    公开(公告)号:CN115499152B

    公开(公告)日:2025-01-03

    申请号:CN202210893613.7

    申请日:2022-07-27

    Abstract: 本发明公开了一种基于寄存器优化的SM4快速软件实现方法,该方法包括:基于比特切片方法和AVX2(Advanced Vector Extension 2)指令集,对64组明文数据并行加解密,在明文数据编排中,引入了数据打包的过程,并在寄存器内部进行数据转置与轮函数操作;通过对密钥编排进行分离,将密钥编排划分为扩展和复制操作,在密钥生成函数中对扩展操作进行预处理,在算法执行过程中进行复制操作,减少了密钥编排所需的时间。

    一种基于寄存器优化的SM4快速软件实现方法

    公开(公告)号:CN115499152A

    公开(公告)日:2022-12-20

    申请号:CN202210893613.7

    申请日:2022-07-27

    Abstract: 本发明公开了一种基于寄存器优化的SM4快速软件实现方法,该方法包括:基于比特切片方法和AVX2(Advanced Vector Extension 2)指令集,对64组明文数据并行加解密,在明文数据编排中,引入了数据打包的过程,并在寄存器内部进行数据转置与轮函数操作;通过对密钥编排进行分离,将密钥编排划分为扩展和复制操作,在密钥生成函数中对扩展操作进行预处理,在算法执行过程中进行复制操作,减少了密钥编排所需的时间。

    一种基于字节切片的SM4快速软件实现方法

    公开(公告)号:CN116260569A

    公开(公告)日:2023-06-13

    申请号:CN202310025457.7

    申请日:2023-01-09

    Abstract: 本发明公开了一种基于字节切片的SM4快速软件实现方法,该方法将根据采用的指令集构造用于实现S盒的参数f、M1、M2、C1和C2,并包括密钥预处理、数据编排、数据处理、迭代计算、数据逆处理、反序变换和数据逆编排的步骤。本发明将计算S盒过程中的仿射变换与后续的线性变换合并,构造了新的SM4函数结构,并使用字节切片技术和单指令多数据(SIMD)技术优化SM4算法,实现了SM4高性能并行加解密。

Patent Agency Ranking