课程设计题目题一:公钥的加密算法RSA与椭圆曲线加密算法效率比较【问题描述】:用C/C++语言,对于如下的明文:“友情提醒:1.请遵守国家的法律法规,不发布违法违规信息,并对自己的行为承担全部民事和刑事责任。2.请尊重网络道德,不污言秽语,不侵犯他人的权利和个人隐私。3.请遵守社区规则和版规,不进行刷屏、恶意顶贴、恶意灌水等影响他人阅读的行为。广告发布到分类信息。4.所有帖子仅代表作者本人意见,不代表本社区立场。”分别采用RSA算法和椭圆曲线加密算法进行加密。要求:1.RSA算法的公钥参数n至少512比特;而椭圆曲线的参数P至少128比特;2.比较两个算法的运行效率。题二:公钥密码算法的加密与解密(RSA-OAEP)【问题描述】:基本的RSA算法由于同态性,所以在实际的应用中,并不采用基本的RSA算法进行加密。本程序要求利用C/C++语言,利用RSA-OAEP算法对给定的消息进行加密。其中RSA-OAEP的加解密示意图如上(大家编程时,自己选择合适的长度)。下面就是加密、解密过程的过程:加密1)Alice填充信息来制成一个m比特的信息,我们称之为M。加密2)Alice选择一个k比特的随机数r(注意r只能使用一次然后就要销毁)。Alice运用MD4函数G,用r生成一个m比特的整数,创建部分明文)(1rGMP。然后创建部分明文rPHP)(12。这里函数H也选用MD4,将m比特的输入生成k比特的输出。加密3)Alice创建密文eePPPC)||(21,并且把C发送给Bob。解密1)Bob创建21||PPCPd。解密2)Bob首先运用rPPH21)(,重新创建r的值。然后运用MPrG1)(重新创建填充信息的值。解密3)从M当中取消填充后,Bob得到了原信息。题三:安全网络身份认证系统【问题描述】:实现一个安全的网络身份系统,用于身份认证,能够抵抗大多数的攻击。参考功能要求:1.能抵抗重放攻击,可以采用序列号、时间戳、应答响应、流密码、密码反馈机制等机制;2.认证消息在网络中可以应当进行加密;3.可以利用公钥机制共享身份验证信息。题四:数字签名算法的设计(Schnorr)【问题描述】:本程序要求利用C/C++语言,利用Schnorr签名算法对任意的消息进行签名,并给出相应的验证算法。其中Schnorr签名算法中的hash函数要求采用SHA-1算法。相关的参数可以在相关资料上寻找,也可以利用如下给出的参数。其中p和q是两个素数,q是p-1的因子,g是生成元,x是用户的私钥,y是相关公钥。签名算法和验证算法查阅相关的书籍。P:6233588875466341566113630330275552873486878881674315000002391717203321165179184214016765668971399206470119049322960064240805978144781601456277748229517456259470647256047322405573206363800989129316236832607243718624184346100338941861715113988130251202574293338708575332978108008918240726077115306442121q:903569344808636464092554330241160515973915296479g:1790280416633283691024656667553831515509379601966536379609622193784265347750992685294786283074032431990483382660794741449452697905240380032247426972245376314961319619940551686559535555710850888797350763947257978363297675331290475120987389290807548518382474677239002809417088237196403049028357341663344x:782159191612971075573697422869323625442262251798y:428662872613907949904392807134053168832414726802217938446245276305001200081744237890469501753334989755048852344631371576877868294217441080715251214169309375504847087351208653750897014193771018725958242609964883327073175436981360290377344334846799556150281115624613815338348282996480828438366398894855题五:端到端的密钥协商协议)||||(,BABrrrggkHMACg)||||(ABrrggkHMAC【问题描述】:本程序要求利用C/C++语言,利用端到端的密钥协商协议生成相同的密钥K。其中协议的过程如上图所示,这里消息的传送可以通过文件传输的方式。其中签名算法要求采用HMAC算法,这里的k等于A和B之间协商好的密钥ABrrgk)(,具体的算法和参数的选取查阅相关的教材。题六:CA系统合4【问题描述】:实现一个CA系统,可以接受用户的认证请求,安全存储用户的信息,记录存储存对用户的一些认证信息,给用户颁发证书,可以吊销证书。要求:1.接受用户的提交申请,提交时让用户自己产生公钥对;2.接受用户的申请,包括用户信息的表单提交,公钥的提交;3.对用户生成并颁发相应的证书;4.用户密钥丢失时,可以吊销证书,密钥作废。题七:入侵检测系统【问题描述】:实现一个入侵检测系统。要求:1.具有嗅探功能;2.能够分析数据包;3.设定检测的规则,可以根据用户自己设置的规则进行报警、记录、甚至响应。如对ping数据包的过滤等题八:网络内容安全过滤系统合7【问题描述】:设计针对邮件、网页以及文件进行过滤的软件。要求:1.对文本内容、URL、网址、ip进行过滤;2.软件本身可以设置一定的安全保护措施,防止被篡改、非法访问等;3.可以根据需要增加其他的过滤功能设置,比如限时上网、超时下线、黑屏警告一些非法行为等4.ABArg