在坛主kanxue,出版社编辑和看雪论坛众多朋友的关怀和帮助下,由机械工业出版社华章图文信息有限公司策划的《Cryptography for Developers》的中译本《程序员密码学》即将出版。在该书的翻译过程中,得到了许多密界朋友的帮助,尤其是iPB和RCT的众多兄弟们,在这里对他们表示由衷的感谢!
译者在翻译这本书的时候,读到精彩的地方,也不禁拍案叫绝,作者的知识面之广,密码学功底之深厚,都令人感到惊讶。对于从事软件授权保护相关工作的朋友,以及想在自己的软件中加入密码学保护的程序员和许多逆向工程人员来说,本书都是相当不错的一本介绍密码学理论知识和密码学程序设计的密码学专业书箱,弥补了国内外把密码学理论和实践相结合的空白,非常值得一读!
译者序
信息安全越来越受到人们的重视,而对信息安全的基石—密码学的研究也是如火如荼。但是,许多信息安全软硬件产品的开发者并不是专业的密码学研究人员。虽然他们擅长于程序设计,而且现在也有不少各种密码学算法库,如LibTomCrypt,Crypto++,但在实现各种复杂的密码学算法时,由于缺少一定的密码学理论知识以及对密码学算法理解上的偏差,造成了对算法的使用不当,这又往往导致其开发的产品中存在各种潜在的漏洞及安全风险。同时,译者注意到许多密码学理论工作者在实现密码学算法时,由于缺少程序设计技巧方面的知识,在算法实现的易用性和高效性上遇到了不少障碍,从而也会导致其实现上也存在不少安全缺陷。
译者研究密码学数年有余,现在正在一所学校攻读密码学方向的研究生,在国内知名的看雪软件安全论坛(bcbK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0T1M7#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4@1g2r3i4@1u0o6i4K6R3&6i4@1f1@1i4@1u0n7i4@1u0n7i4@1f1K6i4K6R3H3i4K6S2q4i4@1f1^5i4@1u0p5i4@1q4r3i4@1f1@1i4@1u0n7i4@1t1$3i4@1f1^5i4@1t1H3i4K6R3K6i4@1f1^5i4@1q4r3i4K6V1#2i4@1f1^5i4@1q4q4i4@1u0m8i4@1f1#2i4K6W2p5i4K6W2n7i4@1f1K6i4K6R3H3i4K6S2r3i4@1f1%4i4K6R3&6i4K6R3^5i4@1f1@1i4@1t1^5i4@1u0n7i4@1g2r3i4@1u0o6i4K6R3^5j5$3&6T1M7X3q4Y4L8$3&6Q4c8f1k6Q4b7V1y4Q4z5o6W2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0c8Q4b7U0S2Q4z5p5g2Q4c8e0S2Q4b7f1g2Q4b7V1q4Q4c8e0g2Q4z5f1c8Q4z5f1u0Q4c8e0c8Q4b7V1y4Q4z5e0N6Q4c8e0g2Q4b7e0c8Q4z5f1q4Q4c8e0g2Q4b7e0g2Q4b7V1c8Q4c8e0k6Q4z5o6W2Q4z5p5u0Q4c8e0k6Q4z5e0N6Q4b7U0k6Q4c8e0g2Q4b7U0S2Q4b7U0S2Q4c8e0S2Q4b7f1g2Q4b7e0S2Q4c8e0S2Q4b7f1g2Q4b7V1q4Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8e0g2Q4b7f1c8Q4b7e0k6Q4c8e0k6Q4z5e0k6Q4b7U0W2Q4c8e0W2Q4z5f1c8Q4b7e0u0Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0W2Q4z5e0N6Q4b7f1g2Q4c8e0W2Q4b7e0u0Q4z5e0S2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0k6Q4b7f1k6Q4z5e0c8Q4c8e0S2Q4b7V1g2Q4z5o6y4Q4c8e0c8Q4b7V1q4Q4z5o6k6Q4c8e0S2Q4b7e0N6Q4b7e0y4Q4c8e0g2Q4z5o6g2Q4b7U0k6Q4c8e0g2Q4z5f1y4Q4b7e0S2Q4c8e0S2Q4b7V1c8Q4b7f1k6Q4c8e0c8Q4b7V1u0Q4b7U0k6Q4c8e0c8Q4b7V1k6Q4z5f1c8Q4c8e0k6Q4z5p5q4Q4b7e0c8Q4c8e0c8Q4b7U0S2Q4b7f1c8Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0g2Q4b7V1q4Q4z5e0c8Q4c8e0N6Q4z5e0c8Q4b7e0S2Q4c8e0k6Q4z5o6y4Q4z5o6g2Q4c8e0g2Q4z5o6k6Q4b7U0g2Q4c8e0y4Q4z5o6m8Q4z5o6u0Q4c8e0S2Q4b7f1k6Q4z5e0q4Q4c8e0S2Q4z5o6m8Q4z5o6g2Q4c8e0c8Q4b7U0W2Q4z5f1k6Q4c8e0g2Q4z5o6k6Q4z5e0W2Q4c8e0c8Q4b7V1q4Q4z5o6k6Q4c8e0c8Q4b7U0S2Q4z5o6m8Q4c8e0c8Q4b7U0S2Q4b7f1q4Q4c8e0S2Q4z5o6N6Q4b7f1q4Q4c8e0g2Q4b7U0N6Q4b7U0q4Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0g2Q4z5p5q4Q4b7e0m8Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0N6Q4b7f1g2Q4z5e0N6Q4c8e0k6Q4b7U0y4Q4z5e0g2Q4c8e0g2Q4b7V1q4Q4z5e0y4o6M7Y4W2H3N6r3!0r3b7V1y4Q4c8e0y4Q4z5o6m8Q4z5o6u0Q4c8e0k6Q4b7f1c8Q4b7e0y4Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0N6Q4z5f1y4Q4z5p5u0Q4c8e0g2Q4z5o6S2Q4b7U0m8Q4c8e0N6Q4z5f1y4Q4z5p5u0Q4c8e0W2Q4z5f1u0Q4b7f1q4Q4c8e0S2Q4b7f1g2Q4b7V1q4Q4c8e0g2Q4z5f1c8Q4z5f1u0Q4c8e0S2Q4z5o6W2Q4b7f1k6Q4c8e0g2Q4b7e0g2Q4b7V1c8Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0k6Q4z5p5q4Q4z5o6m8Q4c8e0k6Q4z5f1y4Q4b7f1k6Q4c8e0k6Q4b7U0m8Q4z5f1u0Q4c8e0g2Q4z5f1u0Q4b7U0c8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5p5y4Q4z5e0N6Q4c8e0c8Q4b7V1q4Q4b7f1y4Q4c8e0g2Q4z5p5c8Q4z5p5g2Q4c8e0N6Q4b7f1u0Q4b7e0m8Q4c8e0g2Q4z5f1u0Q4b7V1g2Q4c8e0k6Q4z5e0k6Q4z5o6N6Q4c8e0c8Q4b7V1k6Q4b7e0q4Q4c8e0k6Q4z5o6q4Q4b7f1k6Q4c8e0k6Q4z5f1y4Q4z5o6W2Q4c8e0W2Q4z5e0W2Q4z5e0m8Q4c8e0g2Q4z5o6g2Q4b7f1y4Q4c8e0g2Q4z5p5k6Q4b7U0S2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0W2Q4z5e0W2Q4z5o6S2Q4c8e0g2Q4z5o6k6Q4z5o6m8Q4c8e0g2Q4b7V1q4Q4b7U0N6Q4c8e0c8Q4b7U0S2Q4b7V1u0Q4c8e0c8Q4b7V1u0Q4b7V1u0Q4c8e0S2Q4z5o6q4Q4z5e0c8Q4c8e0N6Q4b7U0y4Q4b7V1u0Q4c8e0c8Q4b7V1q4Q4z5o6k6Q4c8e0S2Q4b7f1g2Q4b7V1q4Q4c8e0g2Q4z5f1c8Q4z5f1u0Q4c8e0g2Q4z5o6S2Q4z5f1u0Q4c8e0g2Q4b7V1u0Q4b7V1q4Q4c8e0c8Q4b7V1q4Q4b7V1q4C8j5h3&6^5N6h3g2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4b7U0S2Q4z5p5y4Q4c8e0k6Q4z5f1y4Q4z5f1u0Q4c8e0k6Q4z5o6W2Q4b7V1g2Q4c8e0c8Q4b7U0S2Q4z5o6m8Q4c8e0c8Q4b7V1c8Q4z5p5c8Q4c8e0k6Q4z5e0y4Q4z5o6g2Q4c8e0W2Q4z5e0g2Q4b7V1k6Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8e0g2Q4b7f1c8Q4b7e0k6Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0c8Q4b7U0S2Q4z5e0y4Q4c8e0c8Q4b7U0S2Q4z5f1q4Q4c8e0c8Q4b7V1q4Q4b7V1q4Q4c8e0g2Q4b7e0y4Q4b7f1u0Q4c8e0k6Q4z5f1c8Q4b7e0g2Q4c8e0N6Q4b7V1k6Q4b7V1u0Q4c8e0S2Q4b7f1k6Q4z5e0q4Q4c8e0y4Q4z5o6m8Q4z5p5q4Q4c8e0N6Q4b7e0S2Q4z5p5u0Q4c8e0g2Q4b7V1q4Q4z5p5k6Q4c8e0g2Q4z5e0q4Q4z5e0S2Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8e0g2Q4b7f1c8Q4b7e0k6Q4c8e0y4Q4z5o6m8Q4z5p5u0Q4c8e0c8Q4b7U0S2Q4z5o6m8Q4c8e0c8Q4b7U0W2Q4b7e0k6Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4b7V1g2Q4z5o6S2Q4c8e0S2Q4z5p5c8Q4b7e0y4Q4c8e0g2Q4b7U0W2Q4b7U0S2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0S2Q4b7f1k6Q4z5e0q4Q4c8e0S2Q4z5o6m8Q4z5o6g2Q4c8e0k6Q4z5o6W2Q4b7V1k6Q4c8e0k6Q4z5p5g2Q4b7e0g2Q4c8e0c8Q4b7V1q4Q4z5o6k6Q4c8e0S2Q4b7V1k6Q4z5e0W2Q4c8e0k6Q4z5f1y4Q4b7f1y4Q4c8e0c8Q4b7U0W2Q4b7e0k6Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0N6Q4b7V1k6Q4b7V1u0Q4c8e0S2Q4b7f1k6Q4z5e0q4Q4c8e0g2Q4b7U0N6Q4b7e0g2Q4c8e0c8Q4b7V1c8Q4z5f1y4Q4c8e0y4Q4z5o6m8Q4z5o6t1`.
当译者拿到这本书的英文版时,发现它完美地解决了前面所提到的问题。其作者Tom St Denis既是一名密码学研究人员,也是一名开发人员,开发了各种软硬件安全产品,具有丰富的密码学相关产品的开发经验。同时,他自己也开发了LibTom系列密码学,数学算法库,如LibTomCrypt,LibTomMath,TomsFastMath。在这本书中,作者结合了LibTomCrypt和LibTomMath等算法库,既包含了实现各种密码学算法所必需的基本理论数学知识,也讨论了实现上的程序设计技巧;不仅仅有软件实现,也有硬件实现;不但从理论上分析了算法的安全性和性能,也从实现的角度讨论了如何正确并高效地使用和实现各种算法,比如各种优化算法的实现,各种性能上的比较。
它涉及到了密码学的各个研究方向,分组密码,散列函数,公钥密码以及相关的攻击,同时也讲解了密码学算法实现上所常用的ASN.1编码,大整数算术相关内容。这是目前市面上惟一一本把密码学算法的理论和实现结合在一起的书,也是惟一一本能够如此深入浅出地把这个方面融合到一起的一本书,没有深厚的程序设计功力和广泛的密码学理论知识是不可能写出这样一本书的。这无论对于需要开发安全产品的开发者,还是密码学相关研究人员来说,都非常值得一读,它会对你的安全产品开发工作以及密码学理论研究工作起到相当的辅助作用,可以起到事半功倍的作用。
在译者翻译本书的过程中,得到了许多人的帮助,尤其是北京华章图文信息有限公司的陈冀康主任、看雪论坛的坛主段钢所给予的指导、建议与批评,使得译者受益非浅,在此表示衷心的感谢!同时,我还要感谢iPB,RCT组织的成员以及看雪论坛上的其他朋友,他们总是在我最困难的时候给予无私和热情的帮助!我也要感谢我的导师,扬州大学信息工程学院殷新春教授,他对我的关怀,看重与鼓励,以及在密码学研究方向上的指导是我不断前进的动力!最后,我要感谢我的父母和我可爱的妹妹,他们总是给我无私地关怀,支持和理解!谨以此拙译献给所有帮助过我的人。
由于时间仓促,再加上译者水平有限,本书的翻译难免存在不妥甚至错误之处,敬请广大读者朋友不吝赐教和批评指正,译者深表谢意。
2007年初,经罗冀的牵线,与北京华章图文信息有限公司(机械工业出版社) 陈冀康 编辑认识了,这时,他们刚有一本书《Cryptography for Developers》需要翻译,看到看雪论坛有良好的技术氛围,他们希望看雪论坛能完成这个翻译项目。由于Cnbragon密码学基础不错,故将这本书推荐给Cnbragon翻译了。Cnbragon很尽职,为这本书的翻译付出了很多的精力和时间,相信这本由专业人士翻译的专业图书不会让读者失望的。