数据仓库服务 GAUSSDB(DWS)-实现数据列的加解密:技术背景

时间:2023-11-01 16:48:56

技术背景

  • 哈希函数

    哈希函数又称为摘要算法,对于数据data,Hash函数会生成固定长度的数据,即Hash(data)=result。这个过程是不可逆的,即Hash函数不存在反函数,无法由result得到data。在不应保存明文场景(比如口令password属于敏感信息),系统管理员用户也不应该知道用户的明文口令,就应该使用哈希算法存储口令的单向哈希值。

    实际使用中会加入盐值和迭代次数,避免相同口令生成相同的哈希值,以防止彩虹表攻击。

    图1 哈希函数
  • 对称密码算法

    对称密码算法使用相同的密钥来加密和解密数据。对称密码算法分为分组密码算法和流密码算法。

    分组密码算法将明文分成固定长度的分组,用密钥对每个分组加密。由于分组长度固定,当明文长度不是分组长度的整数倍时,会对明文做填充处理。由于填充的存在,分组密码算法得到的密文长度会大于明文长度。

    流加密算法是指加密和解密双方使用相同伪随机加密数据流作为密钥,明文数据依次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)并用异或(xor)操作加密。流密码算法不需要填充,得到的密文长度等于明文长度。

    图2 对称密码算法
support.huaweicloud.com/bestpractice-dws/dws_05_0092.html