对称加密,非对称加密

对称加密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

 

转载于:https://www.cnblogs.com/zzSoftware/p/3758728.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值