RSA2048生成及使用

news/2024/11/29 14:50:08/文章来源:https://www.cnblogs.com/shimianxiang/p/18576734

RSA2048

小编最近裸辞了,以前工作中涉及到的RSA加密使用方法一直没有总结。
所以把RSA2048的密钥生成和使用方法写一写免得以后忘记(而且网上好多碎片化信息没有总结成一套)。
我选择的开源代码是包含了除N,P,Q,E,D之外还需要E1,E2,C的处理方式。其实大差不差,因为按照我的理解E1,E2和C也是从前几个参数搞出来(大家有不同想法请及时告知以免我误导大家)。
我是使用C代码进行加密和解密的。
本教程中还需要额外安装openssl哦。

RSA参数简述

RSA最主要的三个参数:N(公开密钥1),E(公开密钥2),D(私钥)
取两个大素数P和Q,所以就有了N:N=P*Q。
随机取密钥E(常用3个值:3,17,65537)。
D私钥:D=E^-1mod(P-1)(Q-1)。

有以上参数后即可加解密
设A为明文,B为密文,则:
​ A=B^d mod n;
​ B=A^e mod n;
参见文章:大神的RSA详解
大家有意的可以研究去,小编最近狂的很就不去研究啦。

RSA生成

首先需要安装一下openssl
1.OPENSSL下载地址
安装方法可以点击此处(另一位大神的文章)
然后最重要的来啦!
建立一个文件夹用来生成密钥对
在文件夹中新建 xxx.txt 文件随便你叫他什么。
往其中写入如下参数

openssl genrsa -out private_key.pem 2048
openssl rsa -in private_key.pem -pubout -out public_key.pem
openssl rsa -pubin -in public_key.pem -RSAPublicKey_out -out pkcs1_public_key.pem
openssl rsa -in private_key.pem -text -out private.txt

保存退出,然后将 xxx.txt 后缀改为 xxx.bat 双击将其运行,你就会得到密钥对喽。

使用C代码加解密

本次使用的开源代码RSA2048-master
网上就能查到资源,按道理在github上有很多人上传的
https://github.com/terrantsh/RSA2048.git
在这里插入图片描述将key.h中的参数替换成你生成的就可以。
rsa_private_encrypt(output, &outputLen, input, inputLen, &sk);中的output就是输出的加密信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/843443.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF从如何动态从本地文件加载界面

在前面的文章中,我介绍过一种报告模板的实现思路。就是用的XAML本地加载。 https://www.cnblogs.com/zhaotianff/p/18254574在另外一篇文章中,介绍了XAML是如何被转换成对象的。 https://www.cnblogs.com/zhaotianff/p/18363828在这篇文章中,简单介绍了InitializeComponent函…

Python 爬虫必备杀器,xpath 解析 HTML

最近工作上写了个爬虫,要爬取国家标准网上的一些信息,这自然离不了 Python,而在解析 HTML 方面,xpath 则可当仁不让的成为兵器谱第一。 你可能之前听说或用过其它的解析方式,像 Beautiful Soup,用的人好像也不少,但 xpath 与之相比,语法更简单,解析速度更快,就像正则…

视频调色 LUT 教程 All In One

视频调色 LUT 教程 All In One Lookup tables (LUTs) 在图像处理中,查找表通常称为 LUT(或 3DLUT),并为一系列索引值中的每一个提供输出值。一种常见的 LUT,称为颜色图或调色板,用于确定特定图像将显示的颜色和强度值。在计算机断层扫描中,“窗口化”是指用于确定如何显…

探索中国风水学与AI人工智能的融合之旅

在古老的东方智慧中,风水学一直是中国传统文化的重要组成部分。它不仅是一种哲学思想,更是一种生活方式,指导人们如何与自然和谐共存,寻求生活的平衡与和谐。随着科技的发展,人工智能(AI)技术的兴起为风水学带来了新的解读和应用方式。本文将带您走进中国风水学与AI结合…

『玩转Streamlit』--可编辑表格

之前介绍过两个数据展示的组件,st.dataframe和st.table。 今天介绍的st.data_editor组件,除了展示数据的功能更加强大之外,还可以编辑数据。 1. 概要 st.data_editor组件在数据展示和编辑中都发挥着独特且重要的作用。 首先,在数据展示方面,它的优势在于:直观性:以表格形…

【验证码逆向专栏】某多多验证码逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术…

使用静态html绘制流程图

方案一使用svg<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flowchart Example</title&g…

Vulnhub-Earth靶机笔记

Earth 靶机笔记 概述 这是一台 Vulnhub 的靶机,主要是 Earth 靶机地址:https://vulnhub.com/entry/the-planets-earth,755/#download 一、nmap 扫描 1、端口扫描 -sT 以 TCP 全连接扫描,--min-rate 10000 以最低 10000 速率进行扫描,-p-进行全端口扫描,-o ports 结果输出到…

hhdb数据库介绍(10-2)

集群管理 计算节点集群 集群管理主要为用户提供对计算节点集群的部署、添加、启停监控、删除等管理操作。 集群管理记录 集群管理页面显示已部署或已添加的计算节点集群信息。可以通过左上角搜索框模糊搜索计算节点集群名称进行快速查找。同时也可以通过右侧展开展开/隐藏更多按…

如何查看CUDA版本

在安装pytorch或TensorFlow等包时,需要和cuda版本匹配,此时需要查看cuda版本: 在终端输入命令nvidia-sim

hhdb数据库介绍(10-17)

配置 服务器 服务器菜单可配置集群中所有服务器的SSH信息,方便管理平台对服务器进行各种状态监控。此外也支持添加集群外的服务器到管理平台中进行监控。 自动获取服务器IP 服务器页面会自动显示集群内所有的服务器IP以及服务器中关联的服务程序。 单节点集群模式 管理平台自动…

hhdb数据库介绍(10-16)

配置 存储节点参数 存储节点参数通过可视化方式将部分无需重启的参数展示在管理平台上,方便运维人员进行管理。目前支持存储节点实例和计算节点配置库实例的参数管理。参数列表 参数列表展示存储节点信息、版本信息、参数名称、参数当前值、参数默认值、参数有效值范围、参数生…