03 2017 档案

摘要:阻塞,blocking 一个方法被称为阻塞的,即这个方法在其演进过程中不能正常运行直到其他(占有锁的)线程释放。 也就是普通的synchronized方法,同一时间内只有一个线程占有了锁,其他线程只能等待。但是这个占有锁的线程并不一定真的在工作(可能被挂起了)。 无锁,lock-free An al 阅读全文
posted @ 2017-03-24 13:24 qeDVuHG 阅读(2377) 评论(0) 推荐(1) 编辑
摘要:在b站上大概的看完了Dan Boneh的密码学,对现代密码学总算有了一个粗浅的认识。 总算能在纸上手写RSA公式并且证明之了,蛤蛤。 总体的感触就是,现代密码学是一个非常博大精深的体系,我等程序员最重要的是学习正确的使用别人已经编写好的密码库,千万不要妄图自己实现一套密码体系。否则各种奇形怪状的攻击 阅读全文
posted @ 2017-03-23 23:29 qeDVuHG 阅读(610) 评论(0) 推荐(0) 编辑
摘要:1. Diffie-Hellman协议: 假定g是集合G的生成元,G有n个元素。 Alice随机选取1-n中的一个数a,并公布ga为公钥 Bob随机选取1-n中的一个数b,并公布gb为公钥 那么gab就是Alice与Bob之间的私钥 从公钥中提取私钥,是一个离散对数问题,难以解决。 裸的Diffie 阅读全文
posted @ 2017-03-23 23:16 qeDVuHG 阅读(681) 评论(0) 推荐(0) 编辑
摘要:古龙有《七种武器》,java里有四种引用。 下文主要是对 《understanding-weak-references》这一博文的重点进行翻译 强引用,strong references StringBuffer buffer = new StringBuffer() 像上面这样的就是强引用,只要某 阅读全文
posted @ 2017-03-22 14:53 qeDVuHG 阅读(878) 评论(0) 推荐(0) 编辑
摘要:分代gc java的堆内存主要分为young generation与old generation,这两块分开回收。这就是所谓的分代gc 其中young generation又分为一个eden space与两个survivor space(From与To)。默认情况下,eden space占young 阅读全文
posted @ 2017-03-21 18:20 qeDVuHG 阅读(878) 评论(0) 推荐(1) 编辑
摘要:RSA算法的工作流程 1. 生成公钥私钥 生成两个素数p和q,计算n=p*q,计算φ(n)=n-p-q+1,然后生成e与d,使 e * d = 1 mod φ(n)。 然后以(n, e)作为公钥,(n,d)作为私钥,其他的p,q,φ(n)可以舍弃。 2. 加密 明文为c 密文r = ce mod n 阅读全文
posted @ 2017-03-18 23:24 qeDVuHG 阅读(1831) 评论(0) 推荐(0) 编辑
摘要:参考资料:http://blog.csdn.net/youaremoon/article/details/47910971 主要思想:buddy allocation,jemalloc 阅读全文
posted @ 2017-03-15 09:02 qeDVuHG 阅读(441) 评论(0) 推荐(0) 编辑
摘要:0. Zn代表{0,1....n-1}的集合 1. 模运算符合交换律结合律 2. gcd(greatest common divisor),可以由扩展欧几里得算法快速得到。 3. 模逆(modular inversion),在Zn上,x的模逆为y,那么x*y=1 mod n 4. Zn上如果x有模逆 阅读全文
posted @ 2017-03-15 00:04 qeDVuHG 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-03-14 09:59 qeDVuHG 阅读(299) 评论(0) 推荐(0) 编辑
摘要:1. 使用可信第三方(Trusted third parties)进行密钥交换。 a. Alice与TTP之间的密钥是K1,Bob与TTP之间的密钥是K2。 b. Alice向TTP发起一个与Bob交换密钥的请求。TTP生成一个随机密钥Kab,然后将Kab用K1加密,得到E1,将Kab用K2加密,得 阅读全文
posted @ 2017-03-14 00:33 qeDVuHG 阅读(806) 评论(0) 推荐(0) 编辑
摘要:完结对<Cryptography I>的学习。预计时间:3月底。 实际完成时间:3月23日 读完<垃圾回收的算法与实现>。预计时间:4月底 勉强读完一半,发现功力不够,暂时封存 读完 《图解TCP/IP》 完成时间:5月16日 读完<TCP/IP详解 卷1:协议> 完成时间:5月17日(读完关键章节 阅读全文
posted @ 2017-03-13 14:54 qeDVuHG 阅读(329) 评论(0) 推荐(0) 编辑
摘要:转载于知乎 作者:Ted Mosby链接:https://www.zhihu.com/question/21535747/answer/144884632来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Hotspot JVM实现包括了Serial GC, Parall 阅读全文
posted @ 2017-03-12 21:58 qeDVuHG 阅读(983) 评论(0) 推荐(0) 编辑
摘要:1. KDF(密钥推导函数,key derivation function),根据用户输入的一个初始密钥来生成一系列的后续密钥。可以使用PRF来生成 2. 可以用salt与slow hash function来加强安全 3. 在数据库里存储密文,然后用加密后的密文来做查询,可以让数据保存者无法知道存 阅读全文
posted @ 2017-03-11 16:40 qeDVuHG 阅读(249) 评论(0) 推荐(0) 编辑
摘要:1. 认证加密,Alice与Bob共享一个密钥k,Alice可以发送密文E给Bob,Bob可以确定接收到的E一定是拥有密钥k的Alice产生的。而不是攻击者随便产生的。 2. 认证加密必须能抵挡住选择密文攻击 3. 认证加密无法抵挡重放攻击 4. tls,两边维护一个相同的自增计数器,可以抵挡重放攻 阅读全文
posted @ 2017-03-09 23:20 qeDVuHG 阅读(237) 评论(0) 推荐(0) 编辑
摘要:1. 生日攻击,如果hash函数可以产生n bit的结果,那么生日攻击的时间复杂度在O(nn/2)这个量级。以比特币使用的SHA256为例,其hash结果为256bit,那么如果想完成一次生日攻击,那么需要计算并保存2^128次SHA256计算的结果。而现在比特币的全网算力不到4E Hash/s,也 阅读全文
posted @ 2017-03-07 21:06 qeDVuHG 阅读(410) 评论(0) 推荐(0) 编辑
摘要:1. ECBC-MAC,需要一对密钥k与k1,然后将明文分组,用cbc模式对明文分块加密,将最后的密文块再用k1进行加密,即可得到结果 2. NMAC,需要一对密钥k与k1,然后将明文分组,用k加密第一组明文,得到k',然后用k'加密第二组明文,得到k'',依次类推,最后得到k(n) ,然后用k1对 阅读全文
posted @ 2017-03-07 21:02 qeDVuHG 阅读(451) 评论(0) 推荐(0) 编辑
摘要:1. 如果加密算法是确定性的(相同的明文产生相同的密文),那么它对于选择明文攻击是不安全的 2. 随机化加密,每次对相同的密文加密,会产生不同的结果 AES加密模式 ecb:明文分块计算,块与块之间没有影响,可以并发加密。但是可能暴露明文的模式 cbc:每个明文分块都与上一个密文分块异或,然后再行加 阅读全文
posted @ 2017-03-06 00:27 qeDVuHG 阅读(341) 评论(0) 推荐(0) 编辑
摘要:1. 伪随机置换(PRF,Rseudo Random Permutaion)3DES/AES,K*X -> X(a. 可以高效计算,b. PRF函数是一个一一映射的函数,c. 存在有效的逆向算法) 2. Feistel网络 3. 对于AES,Intel的CPU中内置了相关的指令集,可以在一个时钟周期 阅读全文
posted @ 2017-03-03 00:20 qeDVuHG 阅读(229) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示