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/ ...
随机推荐
- 每个人都要学的图片压缩终极奥义,有效解决 Android 程序 OOM
# 由来 在我们编写 Android 程序的时候,几乎永远逃避不了图片压缩的难题.除了应用图标之外,我们所要显示的图片基本上只有两个来源: 来自网络下载 本地相册中加载 不管是网上下载下来的也好,还是 ...
- ZK集群如何保证数据一致性源码阅读
什么是数据一致性? 只有当服务端的ZK存在多台时,才会出现数据一致性的问题, 服务端存在多台服务器,他们被划分成了不同的角色,只有一台Leader,多台Follower和多台Observer, 他们中 ...
- jar 命令使用
1.jar命令一般用来对jar包文件处理,jar包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool ...
- java @postconstruct初始化注解使用
1.从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion):@PostConstruct和@PreDestroy.这两个注解被用来修饰一个非静态的 ...
- Python celery和Redis入门安装使用(排难帖)
1.redis安装 下载地址 https://github.com/MicrosoftArchive/redis/releases,选择Redis-x64-3.2.100.msi5.8 MB下载就好了 ...
- js常用Matn函数的操练
Math.PI console.log(Math.PI); 随机数以及向下取整 这是一个能实现从a-b之间随机打印一个整数 function rand_s(a, b) { var x = a + (b ...
- SpringBoot 整合 MyBatis-Plus 入门体验
一.前言 本文小编将基于 SpringBoot 整合 MyBatis-Plus , MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上做增强并且不改变原本功能 ...
- 一道题考你对__autoreleasing和__block的理解
考虑下面的代码,有哪些问题,如何把他改成正确的形式? @interface TestObj : NSObject @end @implementation TestObj - (void)method ...
- java第4天:String static Arrays类,Math类
1 字符串的概述和特点 字符串一旦创建,是不可变的. 有双引号的就是字符串 *** 2 字符串的三种构造方法 2-1 第一种: 格式:String str = new String();| :-| 2 ...
- 前后端分离————VUE+node(express)
前后端分离----VUE+node(express) vue作为前端的框架,node(express)作为后端的框架.无数据库,使用端口保存数据. VUE: 使用vue-cli构建vue项目(vuea ...