KIF本地密钥注入验证步骤 RSA加解密 python JAVA

2024-03-12 01:28

本文主要是介绍KIF本地密钥注入验证步骤 RSA加解密 python JAVA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**验证步骤:**
# 终端随机生成一对RSA key pair pem文件
# 终端把sn及公钥发过去
# KIF返回公钥加密后的IPEK及明文IPEK的KCV (加密机处理加密等操作:把sn和Base Derivation Key分散生成IPEK用加密机的Local Master Key存入加密机,加密机再用公钥加密 用LMK解出来的IPEK 和 明文IPEK的KCV)
# 终端用私钥解密出IPEK明文
# 终端计算IPEK明文的KCV (3DES 对全0加密) 与发过来的KCV对比一致即OK。存入终端。

在这里插入图片描述

随机生成一对RSA key pair pem文件

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3W78rWYRcMiV7
dcj0iIg4gptJeT9wGZPTCtI2BXEsYxj33SVI0K3R4JPtclV4DfSIK3kuLuKzf3hL
BcvuMwlcZvLTUsTy/Ac5RE64Dhag8g2RQ4Q7ikBdgbws0W5ZuZFXuL8fGgI1K4Qf
25jlVx6VVfJVPT80JaYJcN/3R++XxXNZ/CSskobsXAuuoOwto5p/0EBljsr2LPqH
VSl/7OzfSPfacAxQWEXC7Sm91nNWtyKqYbU1k0FqehKCIxCWq6dr6aSizeRHjS3N
JFiynLBA7z0RKeC/fhdAHmeNtCRXMG35YgF+EfVtwangqYe/YYBv4jeYzAcD/gUo
JVbklRtLAgMBAAECggEAB/bBrmHUeGarLxoWENzvQbkWgpH0GevaelOhfrwsxrdF
KdremDOMIS4Gbs1E/hJpGRL+T+20ZgR21pdZXK61zOAh0uDo8f7VV3zqiF8AR5xL
z4/lqepe0lDkufOcvePr9qntDy5Dg0ixE+snUGrAxs61WFNxL9QkyosvByAGPYrA
kB4asMBzDu7QMfakB5Ygy/Nl5NQipYnKZRt3tWKtBeIfAjxeLml2aS+6cnM8Nqq6
42Lvfxf+slKFI5M8HZHBMJVF7bvAvnKa9hH6MvQ3tHxYaqqwpiID+n5i/A2lvQUY
z5nB+uWS2ruBiQI4dhJ+YZJvtOeCqRQkpA+Al60oBQKBgQDp7po4xPdoDhKyG5eJ
xbZpI9mqPZNdTk6qVXZKda+3VP+TPDGyGzf5qARLptKUgKmSmoKn+NC9OpeDveyC
4o3PLJSEJLwlN4YBH7YiAIXKNkRhSldovQyoUJNb9/+YqrFt3QfpNnl7DNX+Ntzz
YKkibInOeaHfNchJF/Oo2godhwKBgQDIp83FVeYNs4iylctf9RC6Rzc4BNCfGriX
brlXBsl4lNdR+DCOB6atFizvs3xS3HGFQmK6In/ktCjvcCKdo8KVFJ3iHzduX3RG
HQAb5rV8FHc+nTe1C98ZXJn59oIn4Dk54FBraSL0kp9KqsPy0gVbFZLX5BpSM6yb
5KcThErlHQKBgB9oYJ5km48F7K6rE7J0sCP3oz6/G6z4WYl3BfXDTT9BEztSZp2y
F9bWHxWFJVq414uOYSJqPqRZXIRcmIeOIVoCc0I2qGgax0wZVNvF1DCtDos9bvTq
BOwIPXCooFGAAWhtt6UxIihKNeT2ur2Wab7scageHoSYdPaTV6yA8cC7AoGAL8NB
x+dai4hg0aG2d3DuOmkZS8xZnIXPyrwgggarjnhfiLN7W1OW6TyOFcCzp0Wx//Z9
abEsoFQCKnyWwM9qUfJGYrzrhOpT0xy0GfAg4xg8CjuCNyZMRM02GboD4VoORSiP
/AFawLzmDe/4FKTJgZTxD1LMsSR7wd/7pTmoWkECgYEAxBexT+wP17G5cgML2mfc
t/ocLM15cOfm/oScC8groH8axm//6zghZASO4kt0xxpy9rhZnX92+6l+IsNgwBRn
5MZ/CDPp2k7M4teZzyS6hWaMNniPj97HbcKo7hy8kQBUsLtwqy8GlLE2LQQK4Fwc
nEQ5elAzAyvYMBOlqezithE=
-----END PRIVATE KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt1u/K1mEXDIle3XI9IiI
OIKbSXk/cBmT0wrSNgVxLGMY990lSNCt0eCT7XJVeA30iCt5Li7is394SwXL7jMJ
XGby01LE8vwHOUROuA4WoPINkUOEO4pAXYG8LNFuWbmRV7i/HxoCNSuEH9uY5Vce
lVXyVT0/NCWmCXDf90fvl8VzWfwkrJKG7FwLrqDsLaOaf9BAZY7K9iz6h1Upf+zs
30j32nAMUFhFwu0pvdZzVrciqmG1NZNBanoSgiMQlquna+mkos3kR40tzSRYspyw
QO89ESngv34XQB5njbQkVzBt+WIBfhH1bcGp4KmHv2GAb+I3mMwHA/4FKCVW5JUb
SwIDAQAB
-----END PUBLIC KEY-----

用公钥pem文件加密12 34 56 78 90得到密文

98 3F F5 80 0D 0A 99 3F B5 80 91 4D A8 E3 C5 92 98 B9 5C 4F BE 1F E9 2A 18 AF 76 18 C5 BE 51 73 F5 53 C7 CC 1A AE ED 95 A7 4B 78 4C C9 01 52 53 27 85 28 1F 13 EB A8 BE C1 AE A0 31 59 00 35 76 8B 1B 20 97 EE F7 CA 06 16 BE 3D FE A1 2F EE 0B AE DC 5E 01 9C 4F 55 0F 6A D7 BF EF 57 7A 3A 98 86 9F 01 22 26 4D 56 50 5A F0 E0 62 DE 9A AF BD B6 BF 01 E2 0E 79 D4 E2 C0 19 42 B7 F3 1A 7A 5E 06 17 94 41 D0 88 7A 46 26 19 6D 03 0C E4 9B 24 47 FF 0A 0B 3F 4B 69 CB 3D ED 3F 62 B4 77 91 C8 12 E8 73 0B 21 9C FA CA 95 AD 74 C2 B7 B7 79 23 80 EC B1 3C EB E1 D7 A9 41 03 C0 71 6F 5F 4E 81 E2 44 5F 5C 4E B4 57 6B F2 E8 F1 93 12 D6 9B 76 CD 05 F1 AF 2F 2A 18 1B 93 7A 1E 71 5A BE 61 5E 88 6B 52 0B 5D 5D 77 24 47 E7 E6 40 96 AD CC 49 EE 09 E6 A1 2D C8 2B FD 8D 37 0A 8F BE FD AA 4E

用私钥pem文件解密得到明文

测试RSA密钥对OK
在这里插入图片描述

公钥发过去(就是上面pem格式 ascii)

返回公钥加密后的IPEK及明文IPEK的KCV

在这里插入图片描述

用私钥解密出IPEK明文

在这里插入图片描述

计算IPEK明文的KCV (3DES 对全0加密) 与发过来的KCV对比一致即OK。

解密出明文IPEK:B6A9337BCF5757FA208B687B71AF5B1F
明文IPEK的KCV:43A01EF7164D7E92
在这里插入图片描述

这篇关于KIF本地密钥注入验证步骤 RSA加解密 python JAVA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/799719

相关文章

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group