精华内容
下载资源
问答
  • 混合加密算法
    2020-05-09 19:45:15

    最近在项目中写了一种异或混合加密算法,特此记录便于日后查阅。

    #include "com_openailab_oascloud_security_jni_eaidk_EaidkAuthJNI.h"
    #include <stdio.h>
    #include <string.h>
    #include <stdint.h>
    #include <stdlib.h>
    #include <sys/time.h>
    
    //正向扰动
    int reoder(uint8_t *src, uint8_t *dst, int len) {
        int i;
        int m = 0;
        int n = len - 1;
        for (i = 0; i < len; i++) {
            if (i % 3 == 0) {
                dst[m++] = src[i];
            } else {
                dst[n--] = src[i];
            }
        }
        return 0;
    }
    
    //反向扰动
    int recover(uint8_t *src, uint8_t *dst, int len) {
        int i;
        int m = 0;
        int n = len - 1;
        for (i = 0; i < len; i++) {
            if (i % 3 == 0) {
                dst[i] = src[m++];
            } else {
                dst[i] = src[n--];
            }
        }
        return 0;
    }
    
    //异或混合加密算法
    int mixEncrypt(
            const unsigned char* plaintext,
            unsigned int plaintext_size,
            unsigned char *ciphertext,
            size_t *ciphertext_size)
    {
        struct timeval time;
        gettimeofday(&time, NULL);
        // microsecond has 1 000 000
        // Assuming you did not need quite that accuracy
        // Also do not assume the system clock has that accuracy.
        srand((time.tv_sec * 1000) + (time.tv_usec / 1000));
        if ((plaintext_size < 128) && (!(plaintext_size & 3))) {
            int i, j;
            for (i = 0; i < (int)(128 - plaintext_size); i += 4) {
                long rdm = random();
                ciphertext[i + 0] = (rdm >> 24) & 0xff;
                ciphertext[i + 1] = (rdm >> 16) & 0xff;
                ciphertext[i + 2] = (rdm >> 8) & 0xff;
                ciphertext[i + 3] = (rdm)& 0xff;
            }
            for (i = 128 - plaintext_size, j = 0; i < 128; ++i, ++j) {
                ciphertext[i] = plaintext[j] ^ ciphertext[j];
            }
        }
        else {
            return -1;
        }
        *ciphertext_size = 128;
        return 0;
    }
    
    //异或混合解密算法
    int fake_rsa_decrypt(
            const unsigned char *ciphertext,
            unsigned char *plaintext,
            size_t *plaintext_size) {
        *plaintext_size = 64;
        if (((*plaintext_size) < 128) && (!((*plaintext_size) & 3))) {
            int i;
            for (i = 0; i < (int) (*plaintext_size); i++) {
                plaintext[i] = ciphertext[128 - (*plaintext_size) + i] ^ ciphertext[i];
            }
        } else {
            return -1;
        }
        return 0;
    }

    到此C语言异或混合通用加密算法介绍完成。

    更多相关内容
  • 分析了对称加密算法AES和非对称加密算法ECC的加密过程和特点,并结合两种算法的特点设计了一种混合的加密体制,在避免了对称加密算法复杂的密钥分配体制的同时保证了加密的效率和强度。同时引入了改进的数字签名算法...
  • VC 混合加密算法应用实例,代码由东北大学信息科学与工程学院安全与保密小组编写,系统实现了一个基本的混合密码系统。它使用DES作为对称密钥算法,RSA作为公开密钥算法。  VC 混合加密系统特点如下:1:提供了俩...
  • 基于YUV的混合加密算法的研究
  • 文中提出一种新的授权加密方法, 即DPAPI加密算法和RSA数字签名算法的混合加密算法. 该算法利用DPAPI加密算法加密客户端申请授权的信息, 在实现加密的同时保证软件授权的正确性, 再利用RSA数字签名算法对服务器端的...
  • 采用了分析与比较的方法,首先研究了目前常用的对称加密算法DES以及非对称加密算法RSA,然后分析比较了它们的优缺点,进而综合安全性和效率设计出适合于在实际工程中应用的RSA、DES混合加密算法,最后结合实际JAVA...
  • 针对云存储服务中数据传输和存储过程对数据的保密性、完整性和不可抵赖性等安全需求,根据云存储的特点,结合AES和RSA传统加密算法特性,提出一种具有身份认证的带干扰混合加密算法。从多个角度对算法进行了安全性...
  • 一种基于混合加密算法的文件安全传输方案,郭雅林,马兆丰,针对提供商上传文件到互动多媒体平台过程中文件安全传输的问题,提出了一种混合加密方法。在综合分析了对称加密算法、非对称加密
  • 互联网时代的到来给现代科学...粗取精,提出了基于 Logistic 混沌方程和 ECC 的混合加密算法。该算法以 Logistic 混沌映射的初始参数作为 ECC 的密钥,来加.强加密效率和安全性能。实验结果表明,该算法安全性能极高。
  • 云计算-云计算环境下混合加密算法研究与实现.pdf
  • 为了使存储在云中的数据更加安全,根据云计算的特点,采用混合加密的方式对传统加密算法进行重新设计。在设计过程中,主要利用云计算存储容量大、...实验结果表明,在云计算中3种混合加密算法均比传统加密算法有显著优势。
  • #资源达人分享计划#
  • 对密码技术采用加密算法进行深入研究,通过对比各种算法提出混合加密算法
  • des和rsa混合加密算法的研究.pdf
  • AES和MD5混合加密算法的硬件实现.pdf
  • 基于混合加密算法的通信网络密文防丢失传输系统设计.docx
  • 一、混合加密的理由  a、前面提及了RSA加解密算法和DES加解密算法这两种加解密算法,由于随着计算机系统能力的不断发展,DES的安全性比它刚出现时会弱得多,追溯历史破解DES的案例层出不穷,一台实际的机器可以在...

    一、混合加密的理由

      a、前面提及了RSA加解密算法DES加解密算法这两种加解密算法,由于随着计算机系统能力的不断发展,DES的安全性比它刚出现时会弱得多,追溯历史破解DES的案例层出不穷,一台实际的机器可以在数天内破解DES是让某些人相信他们不能依赖DES的安全性的唯一方法。而相对于DES,RSA的安全性则相对高些,虽然破解RSA的案例也有,但其所付出的代价是相对大的(相对DES),如今RSA的密钥也在升级,这说明破解RSA的难度也在增大。

      b、在RSA加解密算法中提及到RSA加密明文会受密钥的长度限制,这就说明用RSA加密的话明文长度是有限制的,而在实际情况我们要进行加密的明文长度或许会大于密钥长度,这样一来我们就不得不舍去RSA加密了。对此,DES加密则没有此限制。

      鉴于以上两点(个人观点),单独的使用DES或RSA加密可能没有办法满足实际需求,所以就采用了RSA和DES加密方法相结合的方式来实现数据的加密。

      其实现方式即:

      1、信息(明文)采用DES密钥加密。

      2、使用RSA加密前面的DES密钥信息。

      最终将混合信息进行传递。

      而接收方接收到信息后:

      1、用RSA解密DES密钥信息。

      2、再用RSA解密获取到的密钥信息解密密文信息。

      最终就可以得到我们要的信息(明文)。

    二、实现例子:

    结合前面RSA和DES加密:

    /// <summary>
    /// RSA和DES混合加密
    /// </summary>
    /// <param name="data">待加密数据</param>
    /// <param name="publicKey">RSA公钥</param>
    /// <returns></returns>
    public Param Encrypt(string data, string publicKey)
    {
        //加密数据
        DESSecurity DES = new DESSecurity();
        string DESKey = DES.GenerateKey();
        string encryptData = DES.Encrypt(data, DESKey);
    
        //加密DESkey
        RSASecurity RSA = new RSASecurity();
        string encryptDESKey = RSA.Encrypt(DESKey, publicKey);
    
        Param mixParam = new Param();
        mixParam.DESKey = encryptDESKey;
        mixParam.Data = encryptData;
        return mixParam;
    }
    
    /// <summary>
    /// RSA和DES混合解密
    /// </summary>
    /// <param name="data">待解密数据</param>
    /// <param name="key">带解密的DESKey</param>
    /// <param name="privateKey">RSA私钥</param>
    /// <returns></returns>
    public string Decrypt(string data, string key, string privateKey)
    {
        //解密DESKey
        RSASecurity RSA = new RSASecurity();
        string DESKey = RSA.Decrypt(key, privateKey);
    
        //解密数据
        DESSecurity DES = new DESSecurity();
        return DES.Decrypt(data, DESKey);
    }

    Demo下载:MixCrypto.rar

    转载于:https://www.cnblogs.com/chenyt/archive/2012/10/10/2718043.html

    展开全文
  • 混合加密算法在云计算环境下的实现.pdf
  • 云计算环境下混合加密算法研究与实现.pdf
  • 文提出了一种分块Java类文件的RSA加密算法,可有效地对较长数据进行加解 密操作,节约加解密时间,提高算法的效率,具有重要的研究意义。 在一个相对比较安全的网络环境下,程序员往往会忽视对自己...
  • 使用混合加密算法,同时在移动终端使用软件加密方法来保证数据传输的安全性,并且在WAP网关和服务器间设置数据传输规则,从而有效地解决了此问题。
  • 云计算中基于Tent映射的混沌混合加密算法研究.pdf
  • 面向云计算中隐私保护的混沌混合加密算法研究.pdf
  • #资源达人分享计划#
  • 基于椭圆曲线密码的数据集中器通信报文混合加密算法,佟为明,张希栋,针对数据集中器通信的信息安全需求,分析数据集中器通信受到的主动攻击和被动攻击行为,建立数据集中器通信安全需求模型,提出一
  • 一种网络文件安全传输的一种很有效的实现方案
  • ECC与AES混合加密算法在射频CPU卡安全机制中的应用.pdf
  • 混合加密算法

    2011-12-20 19:45:05
    ADS,DES等加密算法的。分享给大家看看
  • 在本文中,我们提出了一种基于RSA(Rivest-Shamir-Adleman),AES(高级加密标准)和TwoFish的新颖的三重算法,以进一步提高目前仅使用128位AES进行加密的蓝牙的安全性。的最新版本(蓝牙4.0-5.0)。 此外,较旧的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,205
精华内容 12,082
关键字:

混合加密算法