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

    这一周,我们主要探讨了“加密”。密码学与我们生活休戚相关,但又隐于无形,如同空气对于我们,虽感觉不到但却片刻不能少。
    密码学是网络通信的基础。我们日常生活中使用网上银行、支付宝、购物、电子邮件、QQ交流等,如网上银行帐号等数据在传输到对方的服务器前,必须通过不安全的互联网,这时唯有对数据进行加密后再进行传输,才能够让我们安全放心的使用。
一:课件下载
    计科1111-1114班《算法》课程 学长面试经验调查http://pan.baidu.com/s/1c0qvNY4)——值得我们每个同学好好阅读。
    其他资料: 〖数学算法〗素性测试
二:作业要求
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地址回复到评论中。大学最后一年,让我们一起努力。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值