对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的更多相关文章

  1. RSA学习档案

    RSA 学习档案 基本原理 随机选择两个质数p,q模数n=p*qφ(n)=(p−1)(q−1)选择加密指数e: 1 < e < φ(n)计算机密指数d: e*d % φ(n) = 1c = ...

  2. 非对称加密算法RSA 学习

    非对称加密算法RSA 学习 RSA加密算法是一种非对称加密算法.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Ad ...

  3. C#加密与解密(DES\RSA)学习笔记

    本笔记摘抄自:https://www.cnblogs.com/skylaugh/archive/2011/07/12/2103572.html,记录一下学习过程以备后续查用. 数据加密技术是网络中最基 ...

  4. WHM使用手册by lin

    WebHost Manager 11使用手册(WHM使用手册) 本手册翻译自cpanel官方文档. 本翻译中文版本版权归美国主机侦探所有,未经允许,禁止复制. Overview(概述) 本用户手册主要 ...

  5. 关于原根的存在性及个数(Primitive Root Theorem)

    我在RSA学习总结的第三部分关于Mille-Rabin素数测试的正确性证明里需要用到此定理,由于证明太长,故另开一章于此.(为啥我说话突然文绉绉了Orz,可能是这周辩论打多了) 结论是对素数p,mod ...

  6. 原根的存在性及个数证明(Primitive Root Theorem)

    我在RSA学习总结的第三部分关于Mille-Rabin素数测试的正确性证明里需要用到此定理,由于证明太长,故另开一章于此.(为啥我说话突然文绉绉了Orz,可能是这周辩论打多了) 结论是对素数p,mod ...

  7. RSA算法学习

    package com.test.rsa; /* * 为了选择公钥和私钥,Bob必须执行如下步骤: * 1)选择两个大素数p和q.那么p和q应该多大呢?该值越大,RSA越难于破解,但是执行加密和解密所 ...

  8. Crypto++入门学习笔记(DES、AES、RSA、SHA-256)(加解密)

    转自http://www.cppblog.com/ArthasLee/archive/2010/12/01/135186.html 最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后 ...

  9. 轻松学习RSA加密算法原理 (转)

    轻松学习RSA加密算法原理 (转) http://blog.csdn.net/q376420785/article/details/8557266 http://www.ruanyifeng.com/ ...

随机推荐

  1. python3在word文档中查找多行文字是否存在

    工作中碰到这样一个情况:有多个关键词存在文本文档txt中,想查找下在某个较大的word文档中,这些关键词是否都含有,没有关键词的显示出来. 因为关键词比较多,并且这个工作还是经常会有的,这个情况我试着 ...

  2. ORM组件LogORM使用指北

    LogORM是一个对数据库进行对象关系映射的ORM组件.当对数据库进行增删改操作时,组件会自动进行日志记录. 该组件支持.Net平台和.NetCore平台,支持SQL Server.Oracle.My ...

  3. Spring boot 梳理 - 显示Springboot默认自动生成的bean

    @Autowired public ApplicationContext context; @Bean public ViewResolver freeMarkerViewResolver(){ St ...

  4. Ubuntu使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母解决方案

    原因是系统只装了vi,没有装vim.因为vi是不能直接按退格键删除字符的.所以重新装下vim指令即可: # sudo apt-get install vim 重新使用vi命令进行文件编辑.

  5. 主动降噪技术(ANC)的前生今世–行业分析

    一 原始玩家 1978年,创始人Amar G. Bose博士在从欧洲飞往波士顿的飞机上,发现飞机引擎的噪音扫净了他戴耳机欣赏音乐的兴致.这激发了他在BOSE公司进行一项消噪科技的研究.弹指之间,十年过 ...

  6. 面试官:你有m个鸡蛋,如何用最少的次数测出鸡蛋会在哪一层碎?

    假设你面前有一栋n层的大楼和m个鸡蛋,假设将鸡蛋从f层或更高的地方放扔下去,鸡蛋才会碎,否则就不会.你需要设计一种策略来确定f的值,求最坏情况下扔鸡蛋次数的最小值. leetcode原题链接 乍一看这 ...

  7. springboot之本地缓存(guava与caffeine)

    1. 场景描述 因项目要使用本地缓存,具体为啥不用redis等,就不讨论,记录下过程,希望能帮到需要的朋友. 2.解决方案 2.1 使用google的guava作为本地缓存 初步的想法是使用googl ...

  8. Activity初学乍练

    1.Activity的概念与Activity的生命周期图: 注意事项: onPause()和onStop()被调用的前提是: 打开了一个新的Activity!而前者是旧Activity还可见的状态:后 ...

  9. Spring Boot (十二): Spring Boot 邮件服务

    最早我们发邮件的时候是使用 JavaMail 来发送邮件,而在 Spring Boot 中, Spring Boot 帮我们将 JavaMail 封装好了,是可以直接拿来使用的. 1. 依赖文件 po ...

  10. 02-13 Softmax回归

    目录 Softmax回归 一.Softmax回归详解 1.1 让步比 1.2 不同类之间的概率分布 1.3 目标函数 1.4 目标函数最大化 二.Softmax回归优缺点 2.1 优点 2.2 缺点 ...