安全实验课程大纲 南京大学计算机科学与技术系
安全实验课程大纲目标:通过实验加深对安全基础知识及其运用的理解。安全基础知识:密码技术、安全模型;安全基础知识描述:原理、算法和编程;安全基础知识运用:代码、操作系统、网络、应用系统;安全基础知识运用描述:攻击、防护、检测、响应。实验题目、要求突出:原理、算法关键步骤;性能关键参数;运用范围对比;使用管理关键;常用平台技术对比。
密码学DES加密算法的实现目标理解DES加密、解密的基本原理类型编程环境Windows系统、C/C++语言内容编程实现DES加密、解密算法要求1.在加密、解密算法代码中,分别做如下标注并输出每步中间结果:1)明文、密钥的输入和位数;2)初始置换;3)16轮置换和代换;4)预输出;5)结果输出;6)S盒代换计算。2.计算加密效率。参考资料胡予濮,张玉清,肖国镇(著),对称密码学,机械工业出版社,2002年8月。BruceSscheier, HYPERLINK "/94" \t "_blank" 应用密码学(协议算法与c源程序),机械工业出版社,2000年1月。b)AES加密算法的实现目标理解AES算法的基本原理类型编程环境Windows系统、C/C++语言内容编程实现AES算法要求1.在加密、解密算法代码中,分别做如下标注并输出每步中间结果:1)密钥扩展;2)1-10轮迭代运算;3)每轮标注以下四个阶段:●字节代换;●行移位;●列混淆;●轮密钥加。2.计算加密效率。参考资料胡予濮,张玉清,肖国镇(著),对称密码学,机械工业出版社,2002年8月。BruceSscheier, HYPERLINK "/94" \t "_blank" 应用密码学(协议算法与c源程序),机械工业出版社,2000年1月。c)RSA加密算法的实现目标理解RSA算法基本原理类型编程环境Windows系统、C/C++语言内容编程实现RSA参数生成与加密、解密算法要求1.用Solovay-strassen算法或Miller-Rabin算法生成RSA参数,标注两个大数以及公约和私钥生成代码。2.用上述结果,加密、解密文件,计算加密、解密效率。参考资料BruceSscheier, HYPERLINK "/94" \t "_blank" 应用密码学(协议算法与c源程序),机械工业出版社,2000年1月。周玉洁,冯登国,公开密钥密码算法及其快速实现,国防工业出版社,2002年9月。d)ECC加密算法的实现目标理解ECC算法的基本原理类型编程环境Linux系统、libecc、C/C++语言内容编程实现ECC加密、解密要求1.在用户A加密、用户B解密算法代码中,分别做如下标注并输出每步中间结果:1)Eq(a,b)参数a,b,q计算;2)参数G计算;3)用户A密钥生成;4)用户A明文编码;5)用户A加密;6)用户B密钥生成;7)用户B解密。2.对比libecc、计算加密、解密效率。参考资料1.William Stallings,孟庆树等译,密码编码学与网络安全----原理与实践,电子工业出版社,2011.2.Douglas R. Stinson,冯登国等译,密码学原理与实践,电子工业出版社,2009.e)多表替代分析算法的实现目标掌握多表替代分析的方法与步骤类型编程环境Windows系统、C/C++语言内容编程实现多表替代分析算法要求1.在分析代码中做如下标注:1)猜测密钥字长度;2)使用重合指数法确认猜测;3)对密钥字计算对应的Mg值,寻找密钥。2.计算分析效率。参考资料Darrel Hankerson,AlfredMenezes,Scott Vanstone,椭圆曲线密码学导论,电子工业出版社,2005年8月。f)PKCS 接口目标掌握Linux系统PKCS接口的使用,并通过Windows 平台的CryptoAPI 中的函数对其进行认证类型编程环境Linux系统、C/C++语言、PKCS接口内容利用PKCS接口制作数字签名要求在数字签名代码中做如下标注:Linux系统:信息摘要生成;摘要加密;signerInfo的封装;Signed-data 的封装;Windows 平台:1.CryptoAPI 中的函数对其进行认证。参考资料Atul Kahate著 金名等译, HYPERLINK ":8080/opac/openlink.php?title=%E5%AF%86%E7%A0%81%E5%AD%A6%E4%B8