效率和性能都比较好的非对称加密算法有推荐的吗?

2015-04-07 22:04:02 +08:00
 Tianpu
API不想使用SSL,握手耗费时间

谢谢
10120 次点击
所在节点    PHP
25 条回复
wy315700
2015-04-07 22:05:57 +08:00
ECC 椭圆曲线。

SSL已经很快了,,,用ECC证书然后打开spdy或者keep-alive
Tianpu
2015-04-07 23:43:07 +08:00
我还是使用对称加密吧 非对称开销太大 真不如使用openssl

算法使用aes-256-cbc 15k的文本 加密解密千次约0.095s 系统瓶颈应该不会是这块了
wy315700
2015-04-07 23:48:31 +08:00
@Tianpu 你的密钥不会内置吧。。。
h4x3rotab
2015-04-08 00:21:36 +08:00
用非对称比如椭圆曲线传递密钥,然后用AES做实际加密
Tianpu
2015-04-08 01:33:24 +08:00
@wy315700 打算内置啊 iv倒是动态生的

两个服务器应该认为是安全的 如果两台服务器被干掉 即使使用公匙/私匙 也还是没用

也不是很核心的东西 简单加密下 能满足需要了
ryd994
2015-04-08 04:55:04 +08:00
有长连接的情况下开销应该不大啊
efi
2015-04-08 05:04:48 +08:00
没有
NeoAtlantis
2015-04-08 05:59:40 +08:00
curve25519
lingxi27
2015-04-08 09:12:04 +08:00
SSL可以选择加密算法,自创加密机制的行为比裸奔好不了多少
wy315700
2015-04-08 09:13:26 +08:00
LZ是两台服务间吧,开启SPDY和KEE-ALIVE SSL速度很快的
zhujinliang
2015-04-08 09:33:59 +08:00
两服务器之间架设VPN呢
janxin
2015-04-08 16:04:27 +08:00
国密算法看文档说比RSA会快...不过我猜你们不会用...
Tianpu
2015-04-08 22:52:19 +08:00
我造了俩脚本,target.php 输出连接信息 test.php通过curl读target.php

http 0.001s-
https 0.042s+

域名解析部分都放在hosts里
两个机器是配置一样的闲时状态

也就是说https握手需要42ms

诸位看这个页面最下面 慢成渣滓的v2ex我现在看到的时间都只有49ms

一个API读取耗费这么久 实在不能忍受

所以 我再三犹豫 默认一定要是http协议来连接API 只不过返回内容加密下

加密解密加一起也用不了0.001s API和WEB同机房 延迟大致可以认为是0.2ms左右
也就是API部分最多耗费0.002秒

这样的性能损耗是可以接受的
Tianpu
2015-04-08 22:52:51 +08:00
@wy315700 curl折腾下应该可以支持spdy 就是后续维护麻烦
Tianpu
2015-04-08 22:56:33 +08:00
[root@v2ex temp]# curl -w "@time.txt" -o /dev/null -s https://localhost/test.php

time_namelookup: 0.000
time_connect: 0.000
time_appconnect: 0.042
time_pretransfer: 0.042
time_redirect: 0.000
time_starttransfer: 0.042
----------
time_total: 0.042

典型的时间消耗
Tianpu
2015-04-08 23:00:10 +08:00
还有https是ssllabs a+评分的配置 应该不存在太大的改进余地了
wy315700
2015-04-08 23:14:36 +08:00
@Tianpu 换ECC证书看看
Tianpu
2015-04-09 01:13:44 +08:00
@wy315700 ECC支持不够广泛 只找到commdo支持 更重要的是 反而变成0.044s了

有更大的坑 curl 7.36才支持ECC https://bugzilla.redhat.com/show_bug.cgi?id=1058776
libcurl没有细查

坚守centos 6.x 反对systemctl 好像没有比较好多办法

我还是http裸奔吧
wanliang1221
2015-04-09 10:02:11 +08:00
直接非对称传递密钥,然后对称加密呗。
wengebin
2015-04-09 12:39:17 +08:00
自己用 private key 实现的加密,依旧走http协议的对称加密算法,不知道能不能帮到你,前后是这样的:
Encrypted str: BeQEmA3fAuZTyQHnVrgF8AbxVbtWxlWFWuQJyQXAUiEAZAF0AShSPFNyDmsBJFc1BmAE61TXANlU6QvCBf5W4wWOBIUNEwJDUxEBc1Y1BSAGIlUsVi9VO1ouCXsFM1J0AGABewEzUjxTPg49ASRXdAYzBGlUNgA1VHsLeAUyVmoFbwQrDSUCaFM9ASRWAgU2BiNVO1ZyVWJaZgk9BW5SaABjATwBa1JgU2cOZAE9VzEGYARhVDcANlRsCyMFI1ZpBeQEtg33AuZTzgHaVroF7wbQVbpWw1Wk
Decrypted str: 有更大的坑 curl 7.36才支持ECC https://bugzilla.redhat.com/show_bug.cgi?id=1058776libcurl没有细查
Consuming time: 0.00056600570678711 s

刚顺便整理了,需要摸这里:
https://github.com/woondroo/EncryptAndDecrypt_php

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/182204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX