美文网首页源码与文档分享
基于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++的分组密码加解密实现

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