过去,多重代理是网速的主要原因,I2P感觉像乌龟爬一样,Tor也比较慢,但是现在不是了。因为光纤宽带普及了,网络数据采用光子传递,多重代理完全明文传输(也就是不加密)是很快的。但是I2P和Tor是匿名网络,不能明文传输,需要把数据都加密再解密,RSA比较慢,ECC比较快,AES比较慢,ChaCha20比较快;因此网速的主要因素是加密算法,而不是多重代理,传输协议也有影响。如果Tor采用RSA,握手过程就很慢。后量子算法McEliece也比较慢,Kyber水晶算法更快,所以如果要抵抗量子计算机的话,选择Kyber不太可能影响网速,McEliece会严重影响网速,完全明文传输就感觉不到开了代理;用光纤宽带,在256个代理之间明文传输,理论上也很快,加密以后才慢,二百多重代理也不太可能影响网速,说不定二百多重、一千重代理明文传输还不如一层代理加密传输那么慢。
恭喜楼主注意到各种加密算法的性能问题,请继续深究这些数学问题哟~加油!
RSA的性能是在1024~4096位随机挑选一个素数进去参与运算,而整体算法又是乘法为主。所以性能差距是AES的1000倍,Wireguard作者用了日本登大游的SoftEther之后忍不住那个糟糕的传输速度才投入 Daniel J. Bernstein的全家桶怀抱。
应该用一万多位,差不多16384位,才相当于对称加密256位,对称加密AES和ChaCha20的256位。RSA4096位远远不够AES256位。
看来你还不知道科学计数法,当然这些知识在美国也是大学课程的内容。而素数在AES算法里面也发挥着重要作用,当然你这样盲目追求所谓的安全性是不可取的行为。理论上一次性密码的安全性最佳,但是计算机科学里没有真随机数。也就无法实现了,现实条件限制总得有些妥协以至于顺利完成项目。
有些后量子算法的速度比RSA快,Wikipedia提到的McEliece也比RSA快。RSA既慢,又无法抵抗量子计算机,所以选McEliece、Kyber这些都是只有好处没有坏处,McEliece、Kyber比RSA快意味着网速会快一些,同时是对抗量子计算机的。主题贴提到的“严重影响网速”只是McEliece相对于Kyber来说的,其实都比RSA快,所谓的“McEliece影响网速”只是相对Kyber而不是RSA,所以请勿恐慌。
说了那么多其实我想知道 SIKE – Supersingular Isogeny Key Encapsulation的性能会不会更好一些,毕竟不是很了解格密码学的数学原理。而有些守旧的思想存在心里,毕竟PQC标准化还在第4轮筛选中。
不跟你抬杠这个问题了,说说你用了什么hash算法吧!毕竟国内的互联网环境下贩卖DDos流量攻击的交易很频繁,你的信息验证算法必须会分辨出真假用户。以及抵抗中间人篡改而成假信号,算一下能抵抗多大的流量而服务器没有崩溃,还有生日碰撞的成功概率有多少?
SHA256生日攻击难度是2的128次方。我用SHA256,但是把哈希值也加密传输了,也就是说必需把密文都解密了才能看见哈希值。所以为了碰撞,还得把密文解密以后再计算用什么信息能产生相同哈希值,最后把篡改后的信息加密回到密文再发给通信双方。虽然SHA256只有2的128次方的碰撞难度,但是我连哈希值也加密传输了,所以最终碰撞的难度理论上不止2的128次方。加密方式是Kyber1024协商得到三把AES密钥,用三把AES密钥来加密的,碰撞SHA256首先得把三把AES密钥猜对。
我不想抵抗DDoS,万一有的用户想在Tor出口节点之后连接我的代理呢?Google已经完全拒绝Tor流量了,误杀很多善良的民众,所以我一开始就不是很想抵抗DDoS,抵抗会误杀Tor出口节点,那就变成Google那样邪恶了。Google很有钱,应该可以买很多硬件来为Tor用户服务,所以它封杀Tor节点体现出了Google的邪恶。
你的程序设计挺烂,因为还得耗费服务器的资源去解密才能进行一次hash完整性校验。假如我是中共的防火墙维护工作组,一次潜伏获得公钥后向服务器大量发空包弹来榨干性能。不懂零知识证明来快速判断虚假信息之后进行丢弃,会出现现在的这款软件那样重复出现error sync info:too many request.这也是DDos攻击的一种方式哟~
后量子算法还没有硬件加速,虽然可以用后量子签名(Dilithium、SPHINCS+、FALCON)来验证,但是CPU还没有加速指令。主流的CPU都有SHA256加速指令,因此解密之后校验SHA256可能已是最快的方案。如果采用Dilithium、SPHINCS+、FALCON,目前没有硬件级加速指令,恐怕还要慢,而且占用宽带,SHA256不仅节省宽带,还有硬件加速。
我认为不应该明文传输SHA512,而是要加密传输SHA256。针对哈希函数有preimage attack,目的是猜出原文,量子计算机的preimage attack相对于把哈希值长度减到三分之一,所以SHA512减到三分之一就剩170到171位了。因为我采用三个256位AES,量子计算机破解对称加密是开平方根,三个256位AES密钥可以达到256位甚至更高安全性,Kyber1024据说提供230位安全性。如果明文传输SHA512,preimage attack猜出原文的难度根本就不够Kyber1024或三把256位AES密钥,因此我认为要加密传输SHA256。虽然哈希值只有256位,但是加密了就没关系。就是考虑到SHA512被量子计算机猜测原文的难度大概才2的170次方左右,必需加密传输哈希值,那么我想加密以后传个256位哈希值就行了。
什么v2ex前端程序员发言?根据hash值反向推算出原文,什么逆天算力才可以把彩虹表用到炉火纯青。你莫不是学对称密码学模糊掉了意识,才说出这个话来?说了,为了校验是不是真实用户。再说成千上万的数据包,都有一个hash值。要做一个布尔判断罢了,除非中国境内大规模部署量子计算机。你的这个担心纯粹多余,那时候也是量子加密算法时代。轮不到pqc有多大发挥空间,目前是液氦冷却系统体积太大又耗电很多。用于量子纠缠的计算的消耗反而小的多,能把这套系统压缩到冰箱大小起码2050年之后。QKD才是未来,小子。
美国国安局不推荐QKD,参见 Post-Quantum Cybersecurity Resources 有一句 NSA does not recommend the usage of quantum key distribution and quantum cryptography for securing the transmission of data in National Security Systems (NSS) unless the limitations below are overcome.
这个攻击是数据库管理员才担心的问题,比如编程随想的登陆密钥在逮捕过程被毁。而国安局老同志仅仅知道账号却不知道密钥的情况下,借助量子计算机的神威强行撞库输入另一个密钥而撞库成功对应了Google blog系统存储的密钥hash值。这样才有实际意义,而对于互联网流量的数据包。并没有这样做的价值,谁对你浏览了那些网站会花费不惜一切代价的解密?
给你那个设想是:2050年之后成熟量子计算机遍布中国和美国的情况下,阅读理解的时候有点上下文联系好不好。况且你发那个链接里的第二条明写着: Quantum key distribution requires special purpose equipment.。并不是我所发帖那个时空条件下的设想,当下还处在实验室研究阶段并不难理解。
维基百科上不是介绍了吗?英文版Wikipedia写了 preimage resistance: for essentially all pre-specified outputs, it is computationally infeasible to find any input that hashes to that output; i.e., given y, it is difficult to find an x such that h(x) = y.但是量子计算机能更容易恢复出原文。因此需要加密传输SHA256校验值。如果明文传输SHA512校验值,反而比Kyber1024还要容易恢复出明文,因为Kyber1024更安全。哈希算法最长只有512位,不如1024维Kyber安全。必需加密传输哈希值。碰撞攻击和原像攻击有区别: second-preimage resistance: for a specified input, it is computationally infeasible to find another input which produces the same output; i.e., given x, it is difficult to find a second input x′ ≠ x such that h(x) = h(x′).维基百科用second-preimage,前面加上second-以区分原像攻击和碰撞攻击。
如果你继续混淆原像攻击和碰撞攻击,请看Wikipedia这段话:Collision resistance implies second-preimage resistance, but does not guarantee preimage resistance.也就是说,preimage和second-preimage有区别,前面加上second-来表示碰撞攻击。Wikipedia已经明确这两种攻击是不同的。