网络安全系列之密码算法

1. 简介

1.1 密码算法作用

  1. 机密性:敏感信息不泄露给未经授权的实体。
  2. 完整性:保证信息在储存和传输过程中不被修改。如使用hash函数校验。
  3. 真是性:可以确定远程用户或系统的身份。
  4. 不可抵赖性:证明一个唯一的用户进行了交易请求。用户是不可能对他或她的行为进行否认的。

1.2 常用密码算法

  • 对称加密算法
  • 非对称加密算法
  • 哈希算法

2. 随机数

密码算法中的密钥、密钥材料、盐值、IV的生成都使用到随机数,应使用密码学安全的随机数发生器来产生。

可以使用哪些安全的随机数发生器?
如果产品支持使用硬件随机数接口则尽量使用硬件接口来产生随机数,如果不支持,可使用以下安全的随机数发生器或接口:
OpenSSL库的RAND_bytes( );
中软iPSI组件的CRYPT_random( );
JDK的java.security.SecureRandom( );
类Unix平台的/dev/random文件;
Windows平台的RtlGenRandom( );
VxWorks平台CCI组件的cciRand( )函数。
使用RAND_bytes()和CRYPT_random()前要在程序初始化时分别调用RAND_seed()和CRYPT_randSeed()设置随机数种子。可使用系统时间或程序运行时间(毫秒为单位)作为种子。

注意:C标准库函

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值