您的位置:首页 > 其它

计科1111-1114班第二周讲义、课外作业(截止日期:2014年3月20日23点-周四晚,学委飞信通知同学)

2014-03-15 22:30 309 查看
    这一周,我们主要探讨了“加密”。密码学与我们生活休戚相关,但又隐于无形,如同空气对于我们,虽感觉不到但却片刻不能少。
    密码学是网络通信的基础。我们日常生活中使用网上银行、支付宝、购物、电子邮件、QQ交流等,如网上银行帐号等数据在传输到对方的服务器前,必须通过不安全的互联网,这时唯有对数据进行加密后再进行传输,才能够让我们安全放心的使用。

一:课件下载

   
TF-IDF应用及密码学初步(http://pan.baidu.com/s/1gdA84j5
   
RSA算法基础及计算(http://pan.baidu.com/s/1vP9d8
    计科1111-1114班《算法》课程学长面试经验调查http://pan.baidu.com/s/1c0qvNY4)——值得我们每个同学好好阅读。
   
TF-IDF程序(http://pan.baidu.com/s/1dDnBXeh

    其他资料:〖数学算法〗素性测试

二:作业要求

1. 请各班学委飞信通知同学完成作业。 
2. 作业计入平时成绩,计分依据为大家的完成程度——态度(做 / 未做)。老师会根据大家作业的质量选择若干学生进行评论,以及提供个性化教学的依据。请大家依据自身能力,尽可能提供高水平的作业,为提高自身能力全力以赴。
 

三:作业内容(作业总时长约为1小时-4小时)

1. 资料阅读。 (20分钟)
     查阅 百度百科(http://baike.baidu.com/ )中“RSA”、“数字签名”、“公钥”、“DES”等4个名词的解释。理解 公钥加密 与 数字签名 之间的联系与区别,能够用自己的话阐述两者的概念。

2. 程序编写。 (30分钟-3小时)
    实现RSA算法(书籍P40)。同学们至少实现2.1 与 2.2;实现RSA完整算法的同学,总成绩的基础上加10分。请大家把编程思想与程序实现(源码),发表在CSDN博文上。
2.1: 判断一个正整数是否为质数的算法。函数签名如下
     int isPrime(long a)
    输入:一个长整数a
    输出:返回1(为质数),返回0(非质数)
2.2: 随机生成一个n bit位的长整数。函数签名如下
    long createRndInteger(int n)
    输入:随机数bit位的长度为n(解释:3bit位,则最大为111,最小为100;n bit位,则该数字二进制长度为n)
    输出:返回该随机数
2.3:随机生成一个n bit位的长质数。函数前面如下
    long createRndPrime(int n)
    输入:随机质数的bit位长度为n
    输出:nbit位长度的质数
    关键为使用随机化算法判断一个长整数是否为素数(P33)。
2.4:公开密钥(N,e)的生成算法。 关键为怎样选择一个与(p-1)(q-1)互质的数e。
2.5:保密密钥(N,d)的生成算法。关键是运用扩展Euclid算法,生成e模(p-1)(q-1)的逆元,见书籍25页。
2.6:RSA加密算法。对消息m=25进行加密,生成密文c。
2.7:RSA解密算法。对密文c进行解密。
    老师在下周五会进行编程讲解(20分钟时间),请大家做好准备。有意向走程序员道路的同学,请完成完整RSA算法。
 
老师寄语
    实践,检验一切。有好多个同学反映博文发表不了,老师正在与csdn网站管理员联系。请不能发表博文的同学,把IP地址回复到评论中。大学最后一年,让我们一起努力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 RSA 加密 素数
相关文章推荐