当前位置:网站首页 > Python编程 > 正文

凯撒密码加密算法python作业(jmu-python-凯撒密码加密算法)



SM9算法C++实现系列目录:

  • 基于JPBC的SM9算法的java实现与测试
  • 国密SM9算法C++实现之0:源码下载地址
  • 国密SM9算法C++实现之一:算法简介
  • 国密SM9算法C++实现之二:测试工具
  • 国密SM9算法C++实现之三:椭圆曲线接口、参数初始化
  • 国密SM9算法C++实现之四:基本功能函数与KGC接口的实现
  • 国密SM9算法C++实现之五:签名验签算法
  • 国密SM9算法C++实现之六:密钥封装解封算法
  • 国密SM9算法C++实现之七:加密解密算法
  • 国密SM9算法C++实现之八:密钥交换算法
  • 国密SM9算法C++实现之九:算法功能与测试例子
  • 国密SM9算法C++实现之七:加密解密算法
  • @[toc]
  • 加密算法流程
  • 加密结果值
  • Cipher.h
  • 加密算法实现
  • 解密算法流程
  • 解密算法实现

python国密算法解密_ci

python国密算法解密_ci_02

根据算法描述,定义接口函数:

对于加密和解密算法中的明文加密方法,这里定义isBaseBlockCipher 参数来指示;同时,加解密算法中有两个长度,一个是用分组密码加密时的K1_len,因为使用的是SM4,所以是固定的16字节;另一个是K2_len,这个是MAC函数的密钥长度。按照MAC函数定义来说,这个长度是可以变的,但最好不小于MAC函数中的哈希函数的哈希值长度,这里因为使用的是SM3,所以默认是32字节。此处提供一个macKeyLen参数表示此K2_len长度,可以根据需要去掉该参数。

加密结果值

SM9加密结果内部包括C1、C2和C3三个部分,对此,也简单将其封装为一个类。这个封装是可取的,可以方便解密时的数据提取。

Cipher.h

加密算法实现

按照加密流程,实现加密算法:

python国密算法解密_SM9_03

python国密算法解密_ci_04

根据算法描述,定义接口函数:

这里的后两个参数在使用时应该和加密时保持一致。

解密算法实现

到此这篇凯撒密码加密算法python作业(jmu-python-凯撒密码加密算法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pythonprint占位符(python 占位符输出)2025-08-27 17:09:07
  • 编程入门教学零基础python(编程小白学python)2025-08-27 17:09:07
  • python函数图像绘制二次函数(python画一次函数图像)2025-08-27 17:09:07
  • python字典的增删改查(python字典扩充)2025-08-27 17:09:07
  • python中函数的类型(python 函数的类型)2025-08-27 17:09:07
  • onnx模型部署 python(onnx模型部署c语音)2025-08-27 17:09:07
  • python服务器部署上线流程(python3 服务器)2025-08-27 17:09:07
  • py文件闪退,怎么打开它(python文件打开后闪退)2025-08-27 17:09:07
  • pivot函数 python报错out of bound(python中pivot)2025-08-27 17:09:07
  • Python函数递归调用(python函数递归调用例子)2025-08-27 17:09:07
  • 全屏图片