0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RSA算法的JNI封装步骤

电子工程师 2020-06-04 17:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

RSA算法的JNI封装思路

JNI(Java Native Interface)是一组API和标准,作用是实现Java和其他语言(主要是C/C++)的通信。出于运算速度等方面的考虑,一些对运算性能要求较高的算法往往是基于C/C++语言(与硬件关联性更强)实现的。如果应用程序需要基于JAVA编程实现时,这就会有一些矛盾。此时,通过JNI技术,Java开发者可以在不了解算法内容的情况下,方便快捷的使用C/C++加密算法的动态库,实现跨语言调用。例如有如下的应用场景:嵌入式终端要基于RSA非对称算法完成与服务器之间的身份认证。终端通过加入加密芯片,可以快速安全实现基于RSA算法的签名验签工作,但是服务器端往往不会外加加密模块,往往会基于Openssl等开源库来移植RSA算法,进而实现高效运算的目的。这些库源码大多基于C语言实现,此时Java开发者就可以借助JNI技术来封装实现签名等功能。

封装步骤如下:

1. 使用java编译器生成调用RSA 加解密,签名验签的API头文件。

2. 根据生成的头文件和RSA的C源码库开源库,生成一个供JNI接口调用的静态库

3. 在JAVA源码中使用Native方法引入动态库的API,编译java程序

最终生成的文件结构如下图:

SC7A{~%%4{J]%(30C9R2SL4.png

注意事项:

1. Java数据类型和本地数据类型需要做适当的转换,对应关系如下表:

O1BDS0ZG7ER{I80@@N3JN_3.png

2.若在windows下直接使用命令行的形式,注意JDK的版本,较新的版本已经不支持javah 命令,而是使用java -h代替了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 封装
    +关注

    关注

    128

    文章

    9150

    浏览量

    147919
  • RSA算法
    +关注

    关注

    0

    文章

    14

    浏览量

    8058
  • JNI
    JNI
    +关注

    关注

    0

    文章

    8

    浏览量

    8107
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    蜂鸟E203内核和RSA的SOC设计

    逻辑,配合RSA加解算法核,完成从RISC-V核存储器中获取明文、密钥、模数、参数A和参数C数据的任务,并根据custom指令,控制RSA加解密算法核完成加解密,并把加解密完成后的数据
    发表于 10-30 06:53

    RSA加速实现思路

    1 关于RSA算法 RSA为非对称加密算法(也称为公开密钥算法),是当前比较普遍使用的非对称加密算法
    发表于 10-28 07:28

    加密算法的应用

    ,加密和解密速度相对较慢,适用于数据量较小的场景,所以常用来传输对称加密的密钥。常见的非对称加密算法包括RSA、ECC等。 4. 加密算法的应用场景 加密技术的应用场景非常广泛,主要包括通信
    发表于 10-24 08:03

    关于蜂鸟E203内核运算算子K扩展的基础知识分享

    的加密协议和算法,包括RSA、DSA、ECC、AES、ARC4等等,还提供了支持X.509证书的功能。在SSL/TLS协议中,mbedTLS库扮演了一个端点的角色,用于处理所有的加密和解密操作,以保证数据在
    发表于 10-23 07:47

    NTT设计介绍

    NTT(Number Theoretical Transform) 大数乘法是公钥加密系统中最为核心的模块,同时,也是RSA、全同态等加密方案里最耗时的模块,传统的按位乘法需要将一个输入数据的每一位
    发表于 10-22 06:05

    数据滤波算法的具体实现步骤是怎样的?

    (高频电磁、瞬时脉冲等),选择适配的滤波算法并落地。以下以电能质量监测中最常用的 IIR 低通滤波(抗高频干扰)、滑动平均滤波(抗瞬时脉冲)、卡尔曼滤波(抗动态波动) 为例,详解具体实现步骤: 一、前置准备:明确滤波目标与硬件基
    的头像 发表于 10-10 16:45 467次阅读

    非对称密钥生成和转换规格详解

    。 对于每种算法采用哪种方式,将会在具体的每个算法规格中介绍。 RSA RSA(Rivest–Shamir–Adleman),当前支持使用字符串参数和密钥参数两种方式生成
    发表于 09-01 07:50

    详解芯片封装的工艺步骤

    芯片封装是半导体制造过程中至关重要的一步,它不仅保护了精密的硅芯片免受外界环境的影响,还提供了与外部电路连接的方式。通过一系列复杂的工艺步骤,芯片从晶圆上被切割下来,经过处理和封装,最终成为可以安装在各种电子设备中的组件。
    的头像 发表于 08-25 11:23 2002次阅读
    详解芯片<b class='flag-5'>封装</b>的工艺<b class='flag-5'>步骤</b>

    harmony-utils之RSARSA加解密

    harmony-utils之RSARSA加解密 harmony-utils 简介与说明 [harmony-utils] 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于
    的头像 发表于 06-30 16:52 672次阅读

    安芯半导体发布全新防复制加密芯片RJGT28E30

    ECC椭圆曲线加密算法是一种非对称加密算法,相对于对称加密算法,更便于密钥的管理,且相对于等密钥长度的RSA算法更安全。
    的头像 发表于 06-10 17:53 1121次阅读
    安芯半导体发布全新防复制加密芯片RJGT28E30

    部署WoSign SSL国密RSA双证书,实现国密HTTPS加密

    “网络与通信安全”合规需求。通过部署WoSign SSL国密RSA双证书方案,实现国际和国密算法自适应兼容,确保信息系统全球通用性与安全性。
    的头像 发表于 03-26 10:58 702次阅读
    部署WoSign SSL国密<b class='flag-5'>RSA</b>双证书,实现国密HTTPS加密

    云平台如何部署WoSign SSL“国密RSA双证书”

    阿里云WoSign品牌SSL证书是阿里云平台热销的国产品牌证书之一,支持签发国密合规的SM2算法SSL证书以及全球信任的RSA算法SSL证书,能够满足平台用户不同的SSL证书应用需求,同时为用户提供国密模块支持,实现“国密/
    的头像 发表于 03-18 17:03 678次阅读
    云平台如何部署WoSign SSL“国密<b class='flag-5'>RSA</b>双证书”

    封装基板设计的详细步骤

    封装基板设计是集成电路封装工程中的核心步骤之一,涉及将芯片与外部电路连接的基板(substrate)设计工作。基板设计不仅决定了芯片与外部电路之间的电气连接,还影响着封装的可靠性、性能
    的头像 发表于 03-12 17:30 1710次阅读

    FOC 算法实现永磁同步电机调整指南

    本文档介绍了使用 FOC 算法实现永磁同步电机 (Permanent Magnet SynchronousMotor,PMSM)调整所需的步骤和设置,该算法如 AN1078《PMSM 电机的无传感器
    发表于 03-03 01:53

    设计SO-8封装的详细步骤和注意事项

    设计 SO-8(Small Outline-8)芯片的 PCB 封装需要遵循一定的规范和步骤。SO-8 是一种常见的表面贴装封装,具有 8 个引脚,引脚间距通常为 1.27mm(50 mil)。以下是设计 SO-8
    的头像 发表于 02-06 15:24 4852次阅读
    设计SO-8<b class='flag-5'>封装</b>的详细<b class='flag-5'>步骤</b>和注意事项