qq_43339242
码龄6年
关注
提问 私信
  • 博客:80,324
    80,324
    总访问量
  • 23
    原创
  • 935,479
    排名
  • 86
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2018-10-05
博客简介:

qq_43339242的博客

查看详细资料
个人成就
  • 获得134次点赞
  • 内容获得63次评论
  • 获得399次收藏
  • 代码片获得2,658次分享
创作历程
  • 3篇
    2023年
  • 6篇
    2022年
  • 14篇
    2021年
成就勋章
TA的专栏
  • 国密算法
    9篇
  • 密码
    11篇
  • Python
    23篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

国密算法 SM9 公钥加密 数字签名 密钥交换 基于身份的密码算法(IBC)高效python代码

上篇SM9代码虽然集成了若干关于效率优化的文献研究成果,但毕竟是纯Python实现的,我还是放在了慢速版(/slow目录下),这显然是给自己挖了坑。出于个人研究学习的兴趣,纰漏在所难免,可继续改进提升的地方还很多,望各位不吝赐教,我会持续更新优化。SM9的两个椭圆曲线群G1、G2的生成元分别是P1、P2,还有用户签名私钥ds,算法中多次出现与这些固定点的点乘运算(k·P),类似SM2,可提前计算好k的每一个字节位置与P相乘的结果并保存,后续点乘运算则转变为31次点加法。但愿这不止是完结,而是全新的开始。
原创
发布博客 2023.11.11 ·
2476 阅读 ·
4 点赞 ·
5 评论 ·
12 收藏

国密算法 SM9 公钥加密 数字签名 密钥交换 基于身份的密码算法(IBC)完整高效的开源python代码

不像SM2、SM3、SM4、ZUC对着国标或教材的算法描述就能实现,SM9涉及的数学基础要厚实得多,把图书馆里椭圆曲线的书都借遍了,它们和国标描述差不多,数学上都是那么几条式子,可这其中暗藏着巨大的知识鸿沟,让我对代码实现一时无从下手。虽然和代码①实现的结果不一样,但手头也只有这一个Python的原生实现,但还是比较一下。
原创
发布博客 2023.10.26 ·
4138 阅读 ·
21 点赞 ·
2 评论 ·
52 收藏

国密算法 SM2 公钥加密 数字签名 密钥交换 更高效、依赖更少的开源python代码

当然,前版SM2代码虽然效率上来了,但对Crypto库的引用比较复杂,甚至还需要特定Crypto库版本,代码写得不完善,各种环境下的测试不够,导致小伙伴们各种报错调不通代码。” 华为的5G芯片都出来了👍,密码算法也没那么难写的,争取早日拿下SM9!
原创
发布博客 2023.09.18 ·
1408 阅读 ·
6 点赞 ·
0 评论 ·
11 收藏

国密算法 SM2 公钥加密 数字签名 密钥交换 全网最高效的开源python代码

国密算法 SM2 公钥加密 数字签名 密钥交换 全网最高效的开源python代码 采用预计算技术加速椭圆曲线基点点乘,SM2基点点乘效率追平PyCryptodome库的ECC-256
原创
发布博客 2022.07.12 ·
3482 阅读 ·
7 点赞 ·
9 评论 ·
30 收藏

国密算法 ZUC流密码 祖冲之密码 python代码完整实现

此前发布了包含SM2公钥密码、SM3杂凑算法和SM4分组密码的国密算法完整工具包,还是有些不完整,因为没有流密码。今天把我们自己的流密码——ZUC祖冲之密码补充上。其他国密算法如下:SM2:国密算法 SM2 公钥加密 非对称加密 数字签名 密钥协商 python实现完整代码_qq_43339242的博客-CSDN博客_python国密sm2SM3:国密算法 SM3 消息摘要 杂凑算法 哈希函数 散列函数 python实现完整代码_qq_43339242的博客-CSDN博客SM4:国密算法 SM4
原创
发布博客 2022.04.16 ·
6950 阅读 ·
7 点赞 ·
2 评论 ·
31 收藏

国密算法 SM2公钥密码 SM3杂凑算法 SM4分组密码 python代码完整实现

国密算法 SM2公钥密码 SM3杂凑算法 SM4分组密码 python代码完整实现 效率高于所有公开的python国密算法库
原创
发布博客 2022.04.06 ·
10644 阅读 ·
12 点赞 ·
10 评论 ·
19 收藏

国密算法 SM3 消息摘要 杂凑算法 哈希函数 散列函数 python实现完整代码

国密算法 SM2 公钥加密 非对称加密 数字签名 密钥协商 python实现完整代码依次分享完SM2和SM4的python实现代码,今天分享SM3
原创
发布博客 2022.03.24 ·
11363 阅读 ·
8 点赞 ·
8 评论 ·
36 收藏

国密算法 SM4 对称加密 分组密码 python实现完整代码

国密算法 SM4 对称加密 分组密码 python实现完整代码高效实现 效率超越现有python库
原创
发布博客 2022.03.20 ·
14788 阅读 ·
26 点赞 ·
6 评论 ·
68 收藏

国密算法 SM2 公钥加密 非对称加密 数字签名 密钥协商 python实现完整代码

国密SM2算法的Python工具包,实现SM2数字签名与验证、公钥加解密以及密钥协商等功能,也可基于本工具包提供的椭圆曲线运算相关函数自行设计算法和协议。代码完整,复制即用。
原创
发布博客 2022.03.02 ·
17362 阅读 ·
33 点赞 ·
20 评论 ·
123 收藏

Python AES加密

封装了一个AES加解密(电码本ECB模式)的类from Crypto.Cipher import AESimport hashlibimport base64import sysif sys.version_info > (3, 0): pad = lambda s, n: s + bytes(n * [n]) unpad = lambda s: s[0:-s[-1]]else: # py2没有bytes类型 pad = lambda s, n: s + n
原创
发布博客 2021.09.21 ·
348 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

Python pickle序列化

import pickle# 序列化(python2与python3兼容)def pickle_dump(data): return pickle.dumps(data, protocol=2)# 反序列化(python2与python3兼容)def pickle_load(data): return pickle.loads(data, encoding='utf-8')
原创
发布博客 2021.09.21 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python 判断素数、生成安全素数

import randomsmall_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 1.
原创
发布博客 2021.09.21 ·
600 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Python IP地址相关的判断

点分十进制IP地址转intimport sysif sys.version_info > (3, 0): from functools import reduce# 点分十进制IP地址转intdef ip_into_int(ip): return reduce(lambda x,y:(x<<8)+y,map(int,ip.split('.')))获取本机IP(点分十进制)import sysimport socket# 操作系统类型SYSTE
原创
发布博客 2021.09.21 ·
738 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

判断Python版本

不同的py版本运行的代码会有差别,尤其是当一份代码要同时在py2和py3运行的时候,坑很多,首先需要判断Python版本import sysif sys.version_info > (3, 0): from functools import reduce # 举个例子py3不再内置reduce,用到的话需要这一行...
原创
发布博客 2021.09.21 ·
460 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

Python 判断操作系统类型

因为有库和函数是针对特定操作系统的,如果要一个代码文件适配多种系统,就需要判断一下操作系统类型。import platformSYSTEM_PLATFORM = platform.system()if SYSTEM_PLATFORM == 'Linux': # 处理逻辑
原创
发布博客 2021.09.21 ·
1663 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Python 获取格式化的日期时间

import timedef get_datetime(): return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
原创
发布博客 2021.09.21 ·
156 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Python 用openpyxl库实现将实验数据自动生成excel

从控制台一个个复制粘贴输出数据到excel是不是很麻烦?代码稍作改动,openpyxl帮你减掉工作量。每多写一行代码,就少一些低效运算。每多学一点知识,就少写一行代码!看例子!import openpyxlimport timeimport numpyif __name__ == "__main__": TEST_TIME = 20 wb = openpyxl.Workbook() # 创建excel对象,可以理解为一个excel文件 sheet = w
原创
发布博客 2021.09.20 ·
397 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Python 生成随机文件

import randomdef create_random_file(filename, filesize): with open(filename, 'wb') as f: f.write(os.urandom(filesize))如果传入的filename没有指定路径,则存放在py代码所在的目录
原创
发布博客 2021.09.20 ·
568 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Python3 int和bytes类型互转

# 将字节转换为intdef to_int(byte): return int.from_bytes(byte, byteorder='big')# int转换为bytes,第二参数为位长def to_byte(num, bits=None): if bits is None: bits = 1024 # 给一个默认的的位长 return num.to_bytes(bits // 8, byteorder='big') # to_bytes函数第一个参数为.
原创
发布博客 2021.09.20 ·
1275 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Python 伪随机乱序

以种子k打乱0到n-1之间的整数或列表import randomdef prf_shuffle(k, n): # n可以是整数(0 ~ n-1)也可以是列表 if type(n) is int: n = list(range(n)) random.seed(k) random.shuffle(n) return n
原创
发布博客 2021.09.20 ·
178 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多