• 对称加密,非对称加密


    对称加密RC2RC4IDEADESTriple DESAES以及Camellia

      DES(Data Encryption Standard), 1976, 容易被破解,不安全,密钥长度只有56bit

      AES(Advanced Encryption Standard or Rijndael), around 2001,目前最流行

         aes密钥长度有三种:128bit, 192bit, 256bit

         其实对称加密,其加密、解密密钥也是不一样的,但都基于同样的Seed,解密比加密费劲。

         AES是一个block一个block加密的,block size是16Byte。

         数据被切成N*16Byte分别加密,余下<16Byte的数据被加密后也变成了16Byte,有填充。

         用openssl crypto库加密代码参见:http://blog.csdn.net/xueyushenzhou/article/details/23281675

    非对称加密(public-key cryptography): RSADiffie-HellmanDSA;

      RSA: Rivest-Shamir-Adleman

      openssl rsa -out rsa_private_key.pem 2048, 生成的.pem文件既包括公钥,也包括私钥。

      提取对应的公钥: openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

      根据私钥文件得到私钥: RSA* pPrivateRsa = PEM_read_RSAPrivateKey(fp,NULL,NULL,NULL);

      根据公钥文件得到公钥: RSA* pPubRsa = PEM_read_RSA_PUBKEY(fp,NULL,NULL,NULL);

      RSA密钥长度: 1024bit, 2048bit, RSA_size(pRsa)可以得到长度

            明文长度: be less than RSA_size(rsa) - 11 for the PKCS #1 v1.5 based padding modes

                         less than RSA_size(rsa) - 41 for RSA_PKCS1_OAEP_PADDING

                         exactly RSA_size(rsa) for RSA_NO_PADDING

           密文长度: 分成多个block,每个block长度等于密钥长度

                         解密的时候RSA_public_encrypt(flen, in, out, pPubRsa, RSA_PKCS1_PADDING), 会返回block实际的明文长度。

    单向散列函数: MD5SHA1以及SHA256

      作用类似CRC,是用来做数据校验的。

      

    其他:

    IV:

    Nonce

  • 相关阅读:
    doker基础用法
    docker容器技术基础入门
    流模式
    装饰器模式
    适配器模式
    组合模式
    桥接模式
    观察者模式
    注册模式
    模板模式
  • 原文地址:https://www.cnblogs.com/zzSoftware/p/3758728.html
Copyright © 2020-2023  润新知