RSA学习1
对PEM文件(以前是一个邮件编码)进行编码,得到RSA公钥.国密的RSA标准,一般是tlv(tag-version)格式的.
明文hash后的数据进行BER编码再进行加密.-签名
对于RSA的结构,全部数据可以叫私钥,其中取N值和E值可以叫公钥.以下为RSA的结构,
algId 算法Id ,代表目前算法为RSA算法,如可取10000,即为65536
keyBitLen 密钥位长,1024或者2048
N值,合数模长modulus,一般为128,不过考虑兼容2048字节内容,会申请256个空间,当使用128字节的时候,填充到后面的位置.
E值,公开幂,可以定义4个字节,一般只有3个字节内容,从1到3,0字节置空
D值,私钥D值,模长,其余为一半模长
P值
Q值
DP值
DQ值
QP值
raw:
30820258020101028180bdbd35558e8594c9a52ad3a5adb1fb823ca2b5533d6f426a633c0c79dfb02a3d29f14837dcae1540bb3338306903477659daa46a6cb6b00f03ed4353c682f2e8f7baea6e95820daed6b913b1634c424af5e167d9cf13ea22fb1c5431bc3699ed2661f061cacf128b8a402692c236da6e5cfe82c40ef7e708686edf174475310f0203010001028180583650467fa561204296dfa14658da0a99b037c70467e6a3d9910067e4f45d1ee49215b64af5f05190f6e627b39adfad8966da4bd4513717340729e71802a775951b9d88266d1e8cd394234656a3f22790a4d0f679a1191e3c3ca737df82bb55ef7b8e50c9be07f7eb359f5366268cc67a733966d7fc40e897543f270ecd48590240e68e3a07ba47f5d3c80346bf43e383b84aee3a19a67f808bd4b6089be7a0b9b30331e5da9ffd4ab9b90155472ae9c9ce8cf46768e344c81afa64f4a6bbf3fe8b0240d2add052a88916bd1a72b1f688d16b04f1e051cf3a08c3e6898f8b8fdbdf900423b23084d4be1f5179c04106500b5415635a9b84f7a1bced943e70e08c804c0d0240cedda07ddc8bc2ab9254363f5937a3b151322d596486149de26eae8ccca8eed60b30d34f75abfc47661327242301fffbdf874fddd1c59e526e86f4e941cd6c7f0240949750fa2bb25cde4d5c1dd6a313092738ad9d25ca69ca39bc46090a12eaf0396b2fcf76b051d3e6f4373be586e92689db4459b203b2087d8c7429cac66deab502407700787c04703e8e1d72adfbea7203e81b949b849001908f3078adfd7c9f4cb775821671b4858701d2429d5c64b2a7d855d620cb43065351ac55cd6ef039f2be
30820258(30-tag,82-代表长度由2bytes表示,0258-lengh-2bytes) 020101
028180
(N值开始,公钥模)bdbd35558e8594c9a52ad3a5adb1fb823ca2b5533d6f426a633c0c79dfb02a3d29f14837dcae1540bb3338306903477659daa46a6cb6b00f03ed4353c682f2e8
f7baea6e95820daed6b913b1634c424af5e167d9cf13ea22fb1c5431bc3699ed2661f061cacf128b8a402692c236da6e5cfe82c40ef7e708686edf174475310f
(N值结束)
0203 (E值开始)010001(E值结束,公钥指数)
028180(tlv,v>=0x80,L为0x81,1个字节用来表示v的长度)
(D值开始)583650467fa561204296dfa14658da0a99b037c70467e6a3d9910067e4f45d1ee49215b64af5f05190f6e627b39adfad8966da4bd4513717340729e71802a775951b9d88266d1e8cd394234656a3f22790a4d0f679a1191e3c3ca737df82bb55ef7b8e50c9be07f7eb359f5366268cc67a733966d7fc40e897543f270ecd4859
(D值结束)
0240
(P值开始)e68e3a07ba47f5d3c80346bf43e383b84aee3a19a67f808bd4b6089be7a0b9b30331e5da9ffd4ab9b90155472ae9c9ce8cf46768e344c81afa64f4a6bbf3fe8b
(P值结束)
0240
(Q值开始)d2add052a88916bd1a72b1f688d16b04f1e051cf3a08c3e6898f8b8fdbdf900423b23084d4be1f5179c04106500b5415635a9b84f7a1bced943e70e08c804c0d
(Q值结束)
0240
(DP值开始)cedda07ddc8bc2ab9254363f5937a3b151322d596486149de26eae8ccca8eed60b30d34f75abfc47661327242301fffbdf874fddd1c59e526e86f4e941cd6c7f
(DP值结束)
0240
(DP值开始)949750fa2bb25cde4d5c1dd6a313092738ad9d25ca69ca39bc46090a12eaf0396b2fcf76b051d3e6f4373be586e92689db4459b203b2087d8c7429cac66deab5(DP值结束)
0240
(QP值开始)7700787c04703e8e1d72adfbea7203e81b949b849001908f3078adfd7c9f4cb775821671b4858701d2429d5c64b2a7d855d620cb43065351ac55cd6ef039f2be(QP值结束)
RSA学习1的更多相关文章
- RSA学习档案
RSA 学习档案 基本原理 随机选择两个质数p,q模数n=p*qφ(n)=(p−1)(q−1)选择加密指数e: 1 < e < φ(n)计算机密指数d: e*d % φ(n) = 1c = ...
- 非对称加密算法RSA 学习
非对称加密算法RSA 学习 RSA加密算法是一种非对称加密算法.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Ad ...
- C#加密与解密(DES\RSA)学习笔记
本笔记摘抄自:https://www.cnblogs.com/skylaugh/archive/2011/07/12/2103572.html,记录一下学习过程以备后续查用. 数据加密技术是网络中最基 ...
- WHM使用手册by lin
WebHost Manager 11使用手册(WHM使用手册) 本手册翻译自cpanel官方文档. 本翻译中文版本版权归美国主机侦探所有,未经允许,禁止复制. Overview(概述) 本用户手册主要 ...
- 关于原根的存在性及个数(Primitive Root Theorem)
我在RSA学习总结的第三部分关于Mille-Rabin素数测试的正确性证明里需要用到此定理,由于证明太长,故另开一章于此.(为啥我说话突然文绉绉了Orz,可能是这周辩论打多了) 结论是对素数p,mod ...
- 原根的存在性及个数证明(Primitive Root Theorem)
我在RSA学习总结的第三部分关于Mille-Rabin素数测试的正确性证明里需要用到此定理,由于证明太长,故另开一章于此.(为啥我说话突然文绉绉了Orz,可能是这周辩论打多了) 结论是对素数p,mod ...
- RSA算法学习
package com.test.rsa; /* * 为了选择公钥和私钥,Bob必须执行如下步骤: * 1)选择两个大素数p和q.那么p和q应该多大呢?该值越大,RSA越难于破解,但是执行加密和解密所 ...
- Crypto++入门学习笔记(DES、AES、RSA、SHA-256)(加解密)
转自http://www.cppblog.com/ArthasLee/archive/2010/12/01/135186.html 最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后 ...
- 轻松学习RSA加密算法原理 (转)
轻松学习RSA加密算法原理 (转) http://blog.csdn.net/q376420785/article/details/8557266 http://www.ruanyifeng.com/ ...
随机推荐
- 使用.NET Core创建Windows服务(二) - 使用Topshelf方式
原文:Creating Windows Services In .NET Core – Part 2 – The "Topshelf" Way 作者:Dotnet Core Tut ...
- MariaDB简单操作
RHEL7之后操作系统带的数据库都是mariadb,跟mysql一样用 1.安装客户端和服务端 [root@localhost ~]# yum install mariadb mariadb-serv ...
- vue解决刷新时闪烁
原文地址:原文地址 1.在vue容器的div里面加上 v-cloak <div id="app" v-cloak> 2.样式文件中加上 <style type=& ...
- 用深度学习做命名实体识别(六)-BERT介绍
什么是BERT? BERT,全称是Bidirectional Encoder Representations from Transformers.可以理解为一种以Transformers为主要框架的双 ...
- Linux被中断的系统调用
慢系统调用,指的是可能永远无法返回,从而使进程永远阻塞的系统调用,比如无客户连接时的accept.无输入时的read都属于慢速系统调用. 在Linux中,当阻塞于某个慢系统调用的进程捕获一个信号,则该 ...
- MySQLdb操作数据库
堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: + ...
- Xadmin查询
目录 深浅coopy运用 ModelForm的补充 提取模型当中相关属性 getattr和get_field的区别 __ str__,get_field,getattr初识 str ,当用getatt ...
- 02-28 scikit-learn库之线朴素贝叶斯
目录 scikit-learn库之朴素贝叶斯 一.MultinomialNB 1.1 使用场景 1.2 代码 1.3 参数详解 1.4 属性 1.5 方法 二.GaussianNB 三.Bernoul ...
- 6个Linux运维典型问题,看大牛的分析解决思路
问题1:文件系统破坏导致系统无法启动 Checking root filesystem /dev/sda6 contains a file system with errors, check forc ...
- MVC路径无匹配或请求api版本过低时处理
解决方案:RequestMappingHandlerMapping中重写handleNoMatch方法,springMVC和springboot中配置无区别. 另: 1.可搭配advice处理抛出的异 ...