美文网首页源码与文档分享
基于C++的分组密码加解密实现

基于C++的分组密码加解密实现

作者: UlricaLee | 来源:发表于2019-08-02 19:33 被阅读0次

// S 盒置换

BlockType SBox_Encode(BlockType x);

// S 盒逆变换

BlockType SBox_Decode(BlockType x); 

// P 盒置换

BlockType PBox_Encode(BlockType x); 

// P 盒逆变换

BlockType PBox_Decode(BlockType x); 

// 输出显示一个 16 位二进制数

void OutPut_Bin(BlockType p);

// 输出显示一个密钥

void OutPut_Key(KeyType key);

// 分组加密函数

void BlockEncryption(BlockType PlainText, BlockType

&CipherText, KeyType Key);

// 分组解密函数

void BlockDecryption(BlockType &PlainText, BlockType

CipherText, KeyType Key);

// 生成指定密钥

void Key_Engine();

// 随机生成密钥

void Key_Random();

// 文件加密

int FileEncryption(char *PlainFile,char *CipherFile,KeyType Key);

// 文件解密

int FileDecryption(char *PlainFile,char *CipherFile,KeyType Key);

// 加密函数的运行速度

unsigned long EncryptionTime(unsigned long Times);

// 线性密码分析

BlockType LinearCryptanalysis(unsigned long T,BlockType Text[][2]);

// 差分密码分析

BlockType DiffCryptanalysis(unsigned long T,BlockType Text[][4]);

// 测试分组加密与解密

void TestBlockEncrypt();

// 测试文件加密与解密

void TestFileEncrypt();

// 测试运行速度

void TestEncryptionTime();

// 测试线性密码分析

void TestLinearCryptanalysis();

// 测试差分密码分析

void TestDiffCryptanalysis();

// 测试线性分析函数成功时明密文对数

void TestLinearSucceedTimes();

// 测试差分分析函数成功时明密文对数

void TestDiffSucceedTimes();

// 暂停,按回车键继续

void Wait();

点击下载源码

相关文章

  • 基于C++的分组密码加解密实现

    // S 盒置换 BlockType SBox_Encode(BlockType x); // S 盒逆变换 Bl...

  • 基于Python实现凯撒密码的加解密

    一、凯撒密码原理   在密码学中,恺撒密码(英语:Caesar cipher),是一种最简单且最广为人知的加密技术...

  • Java分组密码算法DES

    Java分组密码算法DES 1实验内容 掌握分组密码算法DES方法,能用高级语言实现分组密码算法DES。DES算法...

  • 4.分组密码

    重点:分组密码的设计思想分组密码的基本特点AES、DES密码算法AES和DES各自组成、每部分的实现过程以及特点A...

  • Golang-AES加密(CBC模式,PKCS7填充)

    对称加密算法,即加密和解密使用一样的密钥的加解密算法。分组密码(block cipher),是每次只能处理特定长度...

  • 对称加密算法和分组密码的模式

    对称加密算法,即加密和解密使用一样的密钥的加解密算法。分组密码(block cipher),是每次只能处理特定长度...

  • 分组密码DES

    分组密码的原理 DES是分组密码,分组密码将消息进行等长分组,使用同一密钥对每个分组进行加密。 DES算法 DES...

  • 对称加密模式

    分组密码和流密码 分组密码:每次只能处理特定bit长度的一块数据的密码算法,这里的“一块”就是分组(block)。...

  • 3. 密码学专题 - 分组密码

    密码学专题 - 分组密码 分组密码是密码系统的基本组成部分这一。可以说分组密码是密码学最容易理解的部分,在大多数应...

  • iOS OC对象总结

    OC的实现 OC的对象、类主要是基于C、C++的结构体来实现的。编写的 OC代码,底层实现其实都是C、C++代码。...

网友评论

    本文标题:基于C++的分组密码加解密实现

    本文链接:https://www.haomeiwen.com/subject/tqyrdctx.html