我对实现加密是个新手,似乎我还在学习基础知识。
我在我的开源代码库中需要对称加密功能。此系统有三个组件:
-
存储一些用户数据的服务器,以及有关是否加密以及如何加密的信息。
-
一种C客户机,允许用户在发送到服务器时使用简单的密码加密数据,并在接收时使用相同的密码解密。
-
这样做的javascript客户机,因此必须与C客户机的加密方法兼容。
在查看各种javascript库时,我遇到了sjcl,它有一个可爱的演示页面:
http://bitwiseshiftleft.github.com/sjcl/demo/
由此看来,客户机解密密文所需要知道的(除了使用的密码之外)是:
-
初始化向量
-
密码上使用的任何盐
-
关键尺寸
-
认证强度(我不完全确定这是什么)
用密文保存所有这些数据相对安全吗?请记住,这是一个开源代码库,除非我要求用户记住这些变量(是的,对),否则我无法合理地隐藏这些变量。
谢谢你的建议。