代码之家  ›  专栏  ›  技术社区  ›  Sandy

是否不安全地将初始化向量和salt与密文一起传递?

  •  16
  • Sandy  · 技术社区  · 14 年前

    我对实现加密是个新手,似乎我还在学习基础知识。

    我在我的开源代码库中需要对称加密功能。此系统有三个组件:

    • 存储一些用户数据的服务器,以及有关是否加密以及如何加密的信息。
    • 一种C客户机,允许用户在发送到服务器时使用简单的密码加密数据,并在接收时使用相同的密码解密。
    • 这样做的javascript客户机,因此必须与C客户机的加密方法兼容。

    在查看各种javascript库时,我遇到了sjcl,它有一个可爱的演示页面: http://bitwiseshiftleft.github.com/sjcl/demo/

    由此看来,客户机解密密文所需要知道的(除了使用的密码之外)是:

    • 初始化向量
    • 密码上使用的任何盐
    • 关键尺寸
    • 认证强度(我不完全确定这是什么)

    用密文保存所有这些数据相对安全吗?请记住,这是一个开源代码库,除非我要求用户记住这些变量(是的,对),否则我无法合理地隐藏这些变量。

    谢谢你的建议。

    1 回复  |  直到 14 年前
        1
  •  33
  •   Thomas Pornin    14 年前