確定目標(biāo)是置頂工作方案的重要環(huán)節(jié)。在公司計(jì)劃開展某項(xiàng)工作的時(shí)候,我們需要為領(lǐng)導(dǎo)提供多種工作方案。大家想知道怎么樣才能寫一篇比較優(yōu)質(zhì)的方案嗎?以下是小編精心整理的方案策劃范文,僅供參考,歡迎大家閱讀。
網(wǎng)絡(luò)課程教學(xué)設(shè)計(jì) 網(wǎng)絡(luò)課程設(shè)計(jì)方案篇一
網(wǎng) 絡(luò) 安
題目:rsa加解密算法 姓名 學(xué)號(hào):
導(dǎo)師: 全
非對(duì)稱加密算法的實(shí)現(xiàn)
非對(duì)稱密碼系統(tǒng)即公鑰密碼系統(tǒng),主流分為基于大整數(shù)分解難度,基于離散
一、設(shè)計(jì)內(nèi)容、算法原理
對(duì)數(shù)計(jì)算難度和橢圓曲線公鑰密碼三類。本次實(shí)驗(yàn)主要介紹rsa、elg加密。
二、rsa 1).rsa公鑰密碼算法原理和過(guò)程:
alice要求bob將信息m用rsa方法加密傳送回來(lái),alice找到大素?cái)?shù)p,q, 令n=pq, 取a>1滿足(a,?(n))?1,再找d使得da?1(mod?(n)),然后
alice將n、a作為加密密鑰(公鑰)發(fā)送給bob, 這里p,q,d,?(n)都是私鑰,要求保密,用作解密。
bob 將原文m
這里大素?cái)?shù)要求足夠大,通常要求是大于100位的十進(jìn)制數(shù)。有資料表明,幾十位的素?cái)?shù)構(gòu)造的rsa公鑰密碼系統(tǒng)是不安全的。因?yàn)槲粩?shù)較多,加密效率就不
dd并將密文?m(modn),aadadea傳送給 alice。
得到原文
da(ea)?ea?(m)?m?m?(n)k?1?m(modn)夠高,因此,通常用來(lái)加密對(duì)稱密碼的密鑰,例如,加密序列密碼的密鑰。
maple簡(jiǎn)介:maple是一個(gè)具有強(qiáng)大符號(hào)運(yùn)算能力、圖形處理能力的交互式計(jì)算機(jī)代數(shù)系統(tǒng),它可以進(jìn)行各種科學(xué)計(jì)算和數(shù)學(xué)推理,它的高精度數(shù)值計(jì)算能力對(duì)于處理大數(shù)的計(jì)算和素性判定有其獨(dú)特的功能。它適合于所有需要科學(xué)計(jì)算的人.。
rsa算法可以實(shí)現(xiàn)數(shù)字簽名。b向a進(jìn)行簽名,則
1、b不能否認(rèn)進(jìn)行了簽名
2、a不能篡改b的簽名
設(shè)a(如網(wǎng)站)的公鑰為ea,私鑰為da
b(簽名者)的公鑰為 eb,私鑰為db,b的原文m, b用db作用m , 得到db(m),再用a提供的ea作用,得到 ea(db(m))?c,b將c和eb發(fā)給a, a收到后,先用da作用于c再用eb作用
eb(da(c)?)b不能否認(rèn)進(jìn)行了簽名,因?yàn)閍eb(da(ea(db(m?))。)這時(shí),m用b提供的eb算出;a不能篡改b的簽名,因?yàn)閎可以用a提供的ea和db算出,而a不知道db,改動(dòng)后算不出上面等式。2)、rsa公鑰密碼算法程序流程
1、a的準(zhǔn)備工作
(1)產(chǎn)生兩個(gè)u到v位的隨機(jī)數(shù),如果是偶數(shù),則加1,然后判別是否是素?cái)?shù),如果是,賦值給p,q(2)令n=pq, t=(p-1)(q-1);(3)找1?a?min{p?1,q?1} 滿足(a,t)?1,找一個(gè)不能整除t的素?cái)?shù),依次試除。
(4)解ax?1(modt)相當(dāng)于求解
ty?ax?1,將 t,a輾轉(zhuǎn)相除,得到
n利用p0?1,p1?q1,pk?qkpk?1?pk?2,x?(?1)pn,再除以q1,q2,?,qn,給d(5)將公鑰 n,a發(fā)送給b
2、b的加密過(guò)程
t,再賦值(1)
原文m長(zhǎng)度設(shè)為56位,遠(yuǎn)小于n,保證了(m, n)=1, 加密得到密文s?m(modn),分am為十進(jìn)制數(shù)字和字符串兩種情況
(2)將密文s傳送給 a。
3、a的解密過(guò)程
a收到s后,計(jì)算 先分別求解 dm?s(modn)dd得到原文m。直接計(jì)算速度太慢,且溢出,b1?s(modp,)b2?s(modq),然后利用孫子定理解同余式組 x?b1(modp),x?b2(modq),它的解x?m1m1b1?m2m2b2(modn)就是原文。
2反復(fù)利用 d?[d]?r來(lái)計(jì)算 m(modp)可以大大加快運(yùn)行速度。
d3)、基于rsa算法的數(shù)字簽名程序流程
b向阿a進(jìn)行數(shù)字簽名。只需a和b都擁有密鑰生成、加密和解密程序。a運(yùn)行密鑰生成程序,將公鑰ea ={n,a}發(fā)給b, 將私鑰da密。
b運(yùn)行密鑰生成程序,將公鑰eb ={n1,a1}發(fā)給a, 將私鑰db保密。
b計(jì)算 簽名m
a收到后,先計(jì)算da(c)?(c)d(db)?(ma1d1?{p,q,d,?(n)}保
?{p1,q1,d1,?(n1)}再計(jì)算c?(db)(modn)并?m(modn1),d1a?((db))?dbadad?db?(n)k?1再計(jì)算 ?db(modn),)?ma1a1d1?m?(?n1k)得到簽名?m(modn1)1m。
三、
elg四、設(shè)計(jì)過(guò)程、設(shè)計(jì)的特點(diǎn)和結(jié)果、心得
1)、密鑰生成選出一個(gè)大素?cái)?shù) p
選出 d 作為群g ? 中的一個(gè)成員,使得 1 ??d ??p ??2 選出 e1作為群 g ? 中的一個(gè)本原根 e2 ? e1d mod p c
2???p ? e2r)mod p // c1和c2是密文
public_key ??(e1, e2, p)// 公開宣布 private_key ? d //保密
2)、解密
p ???c2(c1d)?1] mod p // p 是明文
3)、證明
?c2(c1d)?1] mod p =?p ? e2r)??(e1dr)?1 mod p = p
五、實(shí)現(xiàn)環(huán)境
windows xp maple13 + mapletoolbox+matlab 混合編程
六、編寫的源程序代碼
1、rsa_system rsa_system.m function varargout = rsa_system(varargin)
gui_singleton = 1;
gui_state = struct(gui_name, mfilename,...gui_singleton, gui_singleton,...gui_openingfcn, @rsa_system_openingfcn,...gui_outputfcn, @rsa_system_outputfcn,...gui_layoutfcn, [] ,...gui_callback, []);if nargin && ischar(varargin{1})
_callback = str2func(varargin{1});end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:});else
gui_mainfcn(gui_state, varargin{:});end
function rsa_system_openingfcn(hobject, eventdata, handles, varargin)
= hobject;x = imread();
subplot(position,[-0.00,-0.3,1.0,1.6]);imagesc(x);colormap(gray);axis image off;
guidata(hobject, handles);
function varargout = rsa_system_outputfcn(hobject, eventdata, handles)varargout{1} = ;
function primep_callback(hobject, eventdata, handles)
function primep_createfcn(hobject, eventdata, handles)if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
function primeq_callback(hobject, eventdata, handles)
function primeq_createfcn(hobject, eventdata, handles)if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
function phn_callback(hobject, eventdata, handles)
function phn_createfcn(hobject, eventdata, handles)if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
function publicn_callback(hobject, eventdata, handles)
function publicn_createfcn(hobject, eventdata, handles)if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
function pruducprime_callback(hobject, eventdata, handles)
p=maple(nextprime(rand(10^120)()));q=maple(nextprime(rand(10^120)()));n=p*q;
phn=(q-1)*(p-1);
set(,string,char(p))set(,string,char(q))set(n,string,char(n))set(,string,char(phn))set(e_key,enable,on);set(e_string,enable,on);set(enum,enable,on);%計(jì)算私鑰d global d e e=2^16+1;format rat e=1/e;setmaple(e,e);setmaple(e,e);setmaple(n2,phn);setmaple(n,n);
d=maple(convert(e,rational)mod n2);setmaple(d,d);
function selectenum_callback(hobject, eventdata, handles)
[filename,pathname,filterindex] = uigetfile;if filterindex~=0 global m
im=importdata(strcat(pathname,filename));is=isa(im,cell);if is==0
m=csvread(strcat(pathname,filename));set(_secret,enable,on);end if is==1
msgbox(請(qǐng)選擇數(shù)字型文件!,警告:);end end
function num_secret_callback(hobject, eventdata, handles)
fidout=fopen(,w);global m
for i=1:length(m)m=m(i);
setmaple(m,m);
c=maple(power(m,e)mod n);
fprintf(fidout,%snn,char(c));
end
msgbox(恭喜!你已成功加密,產(chǎn)生文件為"",溫馨提示:);set(_codebreak,enable,on);
function num_codebreak_callback(hobject, eventdata, handles)
%以下是解密過(guò)程
fidin=fopen();fidout=fopen(,w);
while ~feof(fidin)
% 判斷是否為文件末尾
tline=fgetl(fidin);
% 從文件讀行
if isempty(tline)==0
%若該行非空
midvar=canf(tline,%f);
setmaple(c,tline);
m=maple(power(c,d)mod n)
fprintf(fidout,%snn,char(m));
end
continue
% 如果是非數(shù)字繼續(xù)下一次循環(huán) end
fclose(fidout);
msgbox(恭喜!你已成功解密,產(chǎn)生文件為"",溫馨提示:);set(_codebreak,enable,off);set(_secret,enable,off);
function selecte_string_callback(hobject, eventdata, handles)
[filename,pathname,filterindex] = uigetfile;if filterindex~=0 global path
path=strcat(pathname,filename);
set(_secret,enable,on);end
function string_secret_callback(hobject, eventdata, handles)
global path
a=importdata(path,%s);is=isa(a,double);if is ~= 1 b=cell2mat(a);mm=double(b);
fidout1=fopen(,w);for i=1:length(mm)m=mm(i);
setmaple(m,m);
c=maple(convert((power(m,e)mod n),binary));fprintf(fidout1,%snn,char(c));
end
msgbox(恭喜!你已成功加密,產(chǎn)生文件為"",溫馨提示:);set(_codebreak,enable,on);end if is==1 msgbox(請(qǐng)選擇字符型文件!,警告:);set(_secret,enable,off);end
function string_codebreak_callback(hobject, eventdata, handles)
fidin=fopen();fidout=fopen(,w);
while ~feof(fidin)
% 判斷是否為文件末尾
tline=fgetl(fidin);
% 從文件讀行
if isempty(tline)==0
%若該行非空
midvar=canf(tline,%f);
setmaple(c,tline);
m=maple(power(convert(c,decimal,binary),d)mod n);
m=double(m);
m=char(m);
fprintf(fidout,%s,m);
end
continue
% 如果是非數(shù)字繼續(xù)下一次循環(huán) end
fclose(fidout);
msgbox(恭喜!你已成功解密,產(chǎn)生文件為"",溫馨提示:);set(_codebreak,enable,off);set(_secret,enable,off);
function private_key_callback(hobject, eventdata, handles)global d
set(ekey,string,char(d));
function privatekey_callback(hobject, eventdata, handles)
function privatekey_createfcn(hobject, eventdata, handles)if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
%------function open_callback(hobject, eventdata, handles)uiopen;
%------function close_callback(hobject, eventdata, handles)close(gcf);
%------function elg_callback(hobject, eventdata, handles)elg_system
delete(_system);
2、elg_system elg_system.m function varargout = elg_system(varargin)
gui_singleton = 1;
gui_state = struct(gui_name, mfilename,...gui_singleton, gui_singleton,...gui_openingfcn, @elg_system_openingfcn,...gui_outputfcn, @elg_system_outputfcn,...gui_layoutfcn, [] ,...gui_callback, []);if nargin && ischar(varargin{1})
_callback = str2func(varargin{1});end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:});else
gui_mainfcn(gui_state, varargin{:});end
function elg_system_openingfcn(hobject, eventdata, handles, varargin)
= hobject;x = imread();
subplot(position,[-0.00,-0.4,1.4,1.7]);imagesc(x);colormap(gray);axis image off;
guidata(hobject, handles);
function varargout = elg_system_outputfcn(hobject, eventdata, handles)
varargout{1} = ;
%------function open_callback(hobject, eventdata, handles)
uiopen;
%------function close_callback(hobject, eventdata, handles)
close(gcf);
%------function rsa_callback(hobject, eventdata, handles)
rsa_system
delete(_system);
function primep_callback(hobject, eventdata, handles)
function primep_createfcn(hobject, eventdata, handles)
if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
function public_ha_callback(hobject, eventdata, handles)
function public_ha_createfcn(hobject, eventdata, handles)
if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
function produce_publickey_callback(hobject, eventdata, handles)
function produecpublickey_callback(hobject, eventdata, handles)
global xa p ha
p=maple(m := proc(n)global a, q;for a do q := nextprime((rand(10^n))());if isprime(4*q+1)= true then break end if end do;4*q+1 end proc;m(150));setmaple(p,p);
set(,string,char(p));xa=maple(rand(10^100)());setmaple(xa,xa);
ha=maple(2 &^ xa mod p);setmaple(ha,ha);
set(_ha,string,char(ha));set(eout,enable,on);set(_string,enable,on);set(_num,enable,on);
function select_num_callback(hobject, eventdata, handles)
[filename,pathname,filterindex] = uigetfile;if filterindex~=0 global m
im=importdata(strcat(pathname,filename));is=isa(im,cell);if is==0
m=csvread(strcat(pathname,filename));set(_num,enable,on);end if is==1
msgbox(請(qǐng)選擇數(shù)字型文件!,警告:);end end
function code_num_callback(hobject, eventdata, handles)
fidout=fopen(,w);global m
for i=1:length(m)m=m(i);
setmaple(m,m);
k=maple(rand(10^150)());setmaple(k,k);u=maple(2 &^ k mod p);v=maple(ha &^ k mod p);setmaple(v,v);v=maple(m*v mod p);
fprintf(fidout,%sn,char(u));fprintf(fidout,%snn,char(v));end
msgbox(恭喜!你已成功加密,產(chǎn)生文件為"",溫馨提示:);set(_num,enable,on);
function break_num_callback(hobject, eventdata, handles)
%以下是解密過(guò)程
fidin=fopen();fidout=fopen(,w);
while ~feof(fidin)
% 判斷是否為文件末尾
tline=fgetl(fidin);
% 從文件讀行
if isempty(tline)==0
%若該行非空
t1line=;
midvar=canf(tline,%f);
t1line=tline;
tline=fgetl(fidin);
midvar=canf(tline,%f);
setmaple(c1,t1line);
setmaple(c2,tline);
m=maple(convert(c2/c1 &^ xa, rational)mod p);
fprintf(fidout,%snn,char(m));
end
continue
% 如果是非數(shù)字繼續(xù)下一次循環(huán) end
fclose(fidout);
msgbox(恭喜!你已成功解密,產(chǎn)生文件為"",溫馨提示:);set(_num,enable,off);set(_num,enable,off);
%---executes on button pre in on select_string_callback(hobject, eventdata, handles)
[filename,pathname,filterindex] = uigetfile;if filterindex~=0 global path
path=strcat(pathname,filename);
set(_string,enable,on);end
%---executes on button pre in on code_string_callback(hobject, eventdata, handles)
global path
a=importdata(path,%s);is=isa(a,double);if is ~= 1 b=cell2mat(a);mm=double(b);
fidout1=fopen(,w);for i=1:length(mm)m=mm(i);
setmaple(m,m);
k=maple(rand(10^150)());setmaple(k,k);
u=maple(convert(2 &^ k mod p,binary));v=maple(ha &^ k mod p);setmaple(v,v);
v=maple(convert(m*v mod p,binary));fprintf(fidout1,%sn,char(u));
fprintf(fidout1,%snn,char(v));
end
msgbox(恭喜!你已成功加密,產(chǎn)生文件為"",溫馨提示:);set(_string,enable,on);end if is==1
msgbox(請(qǐng)選擇字符型文件!,警告:);
set(_string,enable,off);end
%---executes on button pre in on break_string_callback(hobject, eventdata, handles)
fidin=fopen();fidout=fopen(,w);
while ~feof(fidin)
% 判斷是否為文件末尾
tline=fgetl(fidin);
% 從文件讀行
if isempty(tline)==0
%若該行非空
t1line=;
midvar=canf(tline,%f);
t1line=tline;
tline=fgetl(fidin);
midvar=canf(tline,%f);
setmaple(c1,t1line);
setmaple(c2,tline);
% m=maple(power(convert(c2,decimal,binary),d)mod n);
m=maple(convert(convert(c2,decimal,binary)/convert(c1,decimal,binary)&^ xa, rational)mod p);
m=double(m);
m=char(m);
fprintf(fidout,%s,m);
end
continue
% 如果是非數(shù)字繼續(xù)下一次循環(huán) end
fclose(fidout);
msgbox(恭喜!你已成功解密,產(chǎn)生文件為"",溫馨提示:);set(_string,enable,off);set(_string,enable,off);
%---executes on button pre in on privateout_callback(hobject, eventdata, handles)
global xa
set(e_key,string,char(xa));
function private_key_callback(hobject, eventdata, handles)
function private_key_createfcn(hobject, eventdata, handles)
if ispc && isequal(get(hobject,backgroundcolor), get(0,defaultuicontrolbackgroundcolor))set(hobject,backgroundcolor,white);end
附:rsa運(yùn)行演示(elg類似)
網(wǎng)絡(luò)課程教學(xué)設(shè)計(jì) 網(wǎng)絡(luò)課程設(shè)計(jì)方案篇二
南 華 大 學(xué)
絡(luò) 安
題目:rsa加解密算法 姓名: 學(xué)號(hào):
導(dǎo)師: 全 網(wǎng)
1.實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)c#語(yǔ)言編程實(shí)現(xiàn)rsa加密算法,加深對(duì)公開密碼體制的了解。
原理
2.1 rsa概述
當(dāng)前最著名、應(yīng)用最廣泛的公鑰系統(tǒng)rsa是在1978年,由美國(guó)麻省理工學(xué)院(mit)的rivest、shamir和adleman在題為《獲得數(shù)字簽名和公開鑰密碼系統(tǒng)的方法》的論文中提出的。它是一個(gè)基于數(shù)論的非對(duì)稱(公開鑰)密碼體制,是一種分組密碼體制。其名稱來(lái)自于三個(gè)發(fā)明者的姓名首字母。它的安全性是基于大整數(shù)素因子分解的困難性,而大整數(shù)因子分解問題是數(shù)學(xué)上的著名難題,至今沒有有效的方法予以解決,因此可以確保rsa算法的安全性。rsa系統(tǒng)是公鑰系統(tǒng)的最具有典型意義的方法,大多數(shù)使用公鑰密碼進(jìn)行加密和數(shù)字簽名的產(chǎn)品和標(biāo)準(zhǔn)使用的都是rsa算法。
rsa算法是第一個(gè)既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法,因此它為公用網(wǎng)絡(luò)上信息的加密和鑒別提供了一種基本的方法。它通常是先生成一對(duì)rsa 密鑰,其中之一是保密密鑰,由用戶保存;另一個(gè)為公開密鑰,可對(duì)外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊(cè),人們用公鑰加密文件發(fā)送給個(gè)人,個(gè)人就可以用私鑰解密接受。為提高保密強(qiáng)度,rsa密鑰至少為500位長(zhǎng),一般推薦使用1024位。
該算法基于下面的兩個(gè)事實(shí),這些事實(shí)保證了rsa算法的安全有效性: 1)已有確定一個(gè)數(shù)是不是質(zhì)數(shù)的快速算法; 2)尚未找到確定一個(gè)合數(shù)的質(zhì)因子的快速算法。
目前,日益激增的電子商務(wù)和其它因特網(wǎng)應(yīng)用需求使公鑰體系得以普及,這些需求量主要包括對(duì)服務(wù)器資源的訪問控制和對(duì)電子商務(wù)交易的保護(hù),以及權(quán)利保護(hù)、個(gè)人隱私、無(wú)線交易和內(nèi)容完整性(如保證新聞報(bào)道或股票行情的真實(shí)性)等方面。公鑰技術(shù)發(fā)展到今天,在市場(chǎng)上明顯的發(fā)展趨勢(shì)就是pki與操作系統(tǒng)的集成,pki是“public key infrastructure”的縮寫,意為“公鑰基礎(chǔ)設(shè)施”。公鑰體制廣泛地用于ca認(rèn)證、數(shù)字簽名和密鑰交換等領(lǐng)域。
公鑰加密算法中使用最廣的是rsa。rsa算法研制的最初理念與目標(biāo)是努力使互聯(lián)網(wǎng)安全可靠,旨在解決des算法秘密密鑰的利用公開信道傳輸分發(fā)的難題。而實(shí)際結(jié)果不但很好地解決了這個(gè)難題;還可利用rsa來(lái)完成對(duì)電文的數(shù)字簽名以抗對(duì)電文的否認(rèn)與抵賴;同時(shí)還可以利用數(shù)字簽名較容易地發(fā)現(xiàn)攻擊者對(duì)電文的非法篡改,以保護(hù)數(shù)據(jù)信息的完整性。目前為止,很多種加密技術(shù)采用了rsa算法,該算法也已經(jīng)在互聯(lián)網(wǎng)的許多方面得以廣泛應(yīng)用,包括在安全接口層(ssl)標(biāo)準(zhǔn)(該標(biāo)準(zhǔn)是網(wǎng)絡(luò)瀏覽器建立安全的互聯(lián)網(wǎng)連接時(shí)必須用到的)方面的應(yīng)用。此外,rsa加密系統(tǒng)還可應(yīng)用于智能ic卡和網(wǎng)絡(luò)安全產(chǎn)品。
2.2 rsa算法的編程思路
1)確定密鑰的寬度。
2)隨機(jī)選擇兩個(gè)不同的素?cái)?shù)p處q,它們的寬度是密鑰寬度的二分之一。3)計(jì)算出p和q的乘積n。
4)在2和φ(n)之間隨機(jī)選擇一個(gè)數(shù)e , e 必須和φ(n)互素,整數(shù)e用做加密密鑰(其中φ(n)=(p-1)*(q-1))。
5)從公式ed ≡ 1 mod φ(n)中求出解密密鑰d。6)得公鑰(e,n), 私鑰(d , n)。7)公開公鑰,但不公開私鑰。
8)將明文p(假設(shè)p是一個(gè)小于n的整數(shù))加密為密文c,計(jì)算方法為: c = pe mod n 9)將密文c解密為明文p,計(jì)算方法為:
p = cd mod n 然而只根據(jù)n和e(不是p和q)要計(jì)算出d是不可能的。因此,任何人都可對(duì)明文進(jìn)行加密,但只有授權(quán)用戶(知道d)才可對(duì)密文解密
3.程序?qū)崿F(xiàn)
本實(shí)驗(yàn)本采用c#語(yǔ)言,用visual studio下編程得到以下結(jié)果:
3.1
源程序如下:
using system;using c;using entmodel;using ;using g;using ;using ;
using ;using ;
namespace windowsformsapplication1 { public partial cla form1 : form { public form1(){ initializecomponent();}
private void button1_click(object sender, eventargs e){ form2 form = new form2();();} private void form1_load(object sender, eventargs e){ d = true;}
private void radiobutton1_checkedchanged(object sender, eventargs e){ if(d == true){ = "加密"; = "e"; = "請(qǐng)選擇加密文件"; = "加密";} else { = "解密"; = "d"; = "請(qǐng)選擇解密文件"; = "解密";}
}
private void button3_click(object sender, eventargs e){ alog(); = me;} private void button2_click(object sender, eventargs e){ if(d == true){
if(!= ""){ string pathstring = , s1 = @"d:";if((pathstring)){ filestream filestream = ad(pathstring);
try { streamreader reader = new streamreader(filestream, t);
while(!tream){ string s = ne();int i, j;int m = 32();int n = 32();char[] a = new char[];for(i = 0;i
else
{ ("你要讀的文件不存在");} }
} if(d == true){ = me;if(!= ""){ string pathstring = , s1 = @"d:";if((pathstring)){ filestream filestream = ad(pathstring);
try { streamreader reader = new streamreader(filestream, t);
while(!tream){ string s = ne();int i, j;int m = 32();int n = 32();char[] a = new char[];for(i = 0;i
}}} ();} catch(exception ex){ ();}}}}}}} 點(diǎn)擊
得
源代碼:
using system;using c;using entmodel;using ;using g;using ;using ;using ;
namespace windowsformsapplication1 { public partial cla form2 : form { public form2(){ initializecomponent();}
private void form2_load(object sender, eventargs e)
{
}
private void label10_click(object sender, eventargs e){
}
private void textbox2_textchanged(object sender, eventargs e){ = "";if(!= ""){ int m = 32();int i, j;for(i = 2;i
private void button1_click(object sender, eventargs e){ int p = 32();int q= 32();int n = p * q;int r =(p-1)*(q-1);int d = 32();int i, e=0;for(i=2;i
private void textbox1_textchanged(object sender, eventargs e){ = "";if(!= ""){ int m = 32();int i, j;for(i = 2;i
}
} } 3.2 加密過(guò)程:
選擇 為要加密的文件, 為密文, 為經(jīng)過(guò)解密的文件如圖:
原文:
密文:
經(jīng)過(guò)解密可得:
由上知該實(shí)驗(yàn)已順利完成!
4.心得和體會(huì)
以上這些是我根據(jù)rsa的加密原理,自已通過(guò)編程,親自體會(huì)而來(lái)。rsa算法本身比較簡(jiǎn)單,做一個(gè)實(shí)驗(yàn)的時(shí)候,遇到的困難主要是在編程,由于c#語(yǔ)言為面向?qū)ο蟮恼Z(yǔ)言,具有良好的與用戶接口,故采用這種語(yǔ)言。編程中在輸入輸出流這個(gè)地方出了一點(diǎn)問題,花了比較長(zhǎng)的時(shí)候才把原因找到,并最終將程序完成.由于條件所限,在選取加密鑰的時(shí)候,取數(shù)都比較小,實(shí)際應(yīng)用中,數(shù)字會(huì)很大,但基本原理算法是一樣的。
本實(shí)驗(yàn)仍有些不足,比如說(shuō),加密比較大的文件時(shí),比較吃力,花費(fèi)時(shí)間較多。
雖然有以上困難和問題,最終還是成功的將這個(gè)實(shí)驗(yàn)做成,在一定的程度上加強(qiáng)了編程能力和對(duì)rsa算法的認(rèn)識(shí)。
網(wǎng)絡(luò)課程教學(xué)設(shè)計(jì) 網(wǎng)絡(luò)課程設(shè)計(jì)方案篇三
湖南第一師范學(xué)院信息科學(xué)與工程系
題 目
學(xué)生姓名學(xué) 號(hào)專業(yè)班級(jí)指導(dǎo)教師 課程設(shè)計(jì)報(bào)告
中小型企業(yè)網(wǎng)絡(luò)搭建 王歡 計(jì)網(wǎng)(1)班 王建軍、李科峰
2010 年 6 月 8 日
03080130822 08
中小型企業(yè)網(wǎng)絡(luò)搭建
一.需求分析 1.二.網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)
1.網(wǎng)絡(luò)技術(shù)選型
根據(jù)需求,采用以太網(wǎng)技術(shù)(快速以太網(wǎng)、交換式以太網(wǎng)、千兆位以太網(wǎng))進(jìn)行組網(wǎng)。
以太網(wǎng)技術(shù):以太網(wǎng)的技術(shù)成熟、成本較低、互操作性強(qiáng)、易于使用和管理、可擴(kuò)充性強(qiáng).設(shè)計(jì)中利用到的其他技術(shù)如下:
vlan技術(shù):控制廣播風(fēng)暴、提高網(wǎng)絡(luò)整體安全性、網(wǎng)絡(luò)管理簡(jiǎn)單、提高性能等優(yōu)點(diǎn)。
第三層交換技術(shù):一方面支持vlan之間通信;另一方面交換技術(shù)減少了數(shù)據(jù)包的碰撞問題。支持vlan的交換機(jī)配合第三層功能不但具有很高的性能,而且具有充分的彈性,因此,是最好的選擇 網(wǎng)絡(luò)的冗余技術(shù):提高網(wǎng)絡(luò)的可靠性;鏈路冗余既可提高可靠性,又能均衡負(fù)載; 缺點(diǎn):不適應(yīng)重負(fù)荷應(yīng)用環(huán)境,實(shí)時(shí)性差,存在沖突域; 動(dòng)態(tài)路由協(xié)議ospf技術(shù): stp技術(shù):
以太網(wǎng)通道技術(shù):
廣域網(wǎng)技術(shù)(ppp協(xié)議):
2.網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)
3.命令配置
1.基本信息配置
sw1的基本信息配置(sw
2、rt
1、rt3的基本配置與sw1相同)switch>enable //進(jìn)入特權(quán)模式
switch#config terminal //進(jìn)入全局配置模式 switch(config)#hostname sw3 //配置主機(jī)名
sw1(config)#no ip domain-lookup //禁用域名查找
sw1(config)#line console 0 //進(jìn)入console線路模式
sw1(config-line)#logging synchronous //配置console信息顯示自動(dòng)換行 sw1(config-line)#no login //配置口console登錄不認(rèn)證 sw1(config-line)#privilege level 15 //配置為最高特權(quán)級(jí)別 sw1(config-line)#line vty 0 4 // 進(jìn)入vty線路模式 sw1(config-line)#no login //配置telnet登錄不認(rèn)證
sw1(config-line)#privilege level 15 //配置為最高特權(quán)級(jí)別,enable不需要密碼
//企業(yè)總部網(wǎng)絡(luò)
2.二層網(wǎng)絡(luò)全局配置 (1)sw1的vlan配置
sw1(config)#vtp mode transparent//配置為透明模式 sw1(config)#vlan 8-12 sw1(config-vlan)#exit sw1#show vlan //查看vlan信息
(2)stp根網(wǎng)橋配置
sw1(config)#spanning-tree vlan 8 priority 0 sw1(config)#spanning-tree vlan 10 priority 0 sw2(config)#spanning-tree vlan 11 priority 0
(3)stp備份根網(wǎng)橋配置
sw1(config)#spanning-tree vlan 8 priority 4096 sw1(config)#spanning-tree vlan 11 priority 4096 sw2(config)#spanning-tree vlan 10 priority 4096 //按vlan編號(hào)來(lái)部署stp實(shí)現(xiàn)負(fù)載分擔(dān):sw1為vlan 8和vlan10的根網(wǎng)橋,vlan 11的備份根網(wǎng)橋;sw2則為vlan8和vlan10的備份根網(wǎng)橋,vlan 11的根網(wǎng)橋。
3.二層網(wǎng)絡(luò)接口配置
(1)交換機(jī)sw1-sw2間鏈路捆綁
sw1(config)#interface range fa0/1-2 //以太網(wǎng)接口1和2,注意1后面要空格 sw1(config-if-range)#switchport trunk encapsulation dot1q sw1(config-if-range)#switchport mode trunk sw1(config-if-range)#switchport trunk allowed vlan all sw1(config-if-range)#channel-group 2 mode on//手動(dòng)捆綁:組2 sw2(config)#interface range fa0/1-2 //以太網(wǎng)接口1和2,注意1后面要空格 sw2(config-if-range)#switchport trunk encapsulation dot1q sw2(config-if-range)#switchport mode trunk sw2(config-if-range)#switchport trunk allowed vlan all sw2(config-if-range)#channel-group 2 mode on//手動(dòng)捆綁:組2
sw1#show etherchannel summary//查看以太網(wǎng)通道信息
(2)sw1的二層接口配置
sw1(config)#interface fa0/2 sw1(config-if)#switchport mode acce sw1(config-if)#switchport acce vlan 12 sw1(config-if)#spanning-tree portfast //配置成portfast端口,加快收斂速度。
(3)sw2的二層接口配置
sw2(config)#interface fa0/10 sw2(config-if)#switchport mode acce sw2(config-if)#switchport acce vlan 10 sw2(config-if)#spanning-tree portfast //配置成portfast端口,加快收斂速度。
sw2(config)#interface fa0/11 sw2(config-if)#switchport mode acce sw2(config-if)#switchport acce vlan 11 sw2(config-if)#spanning-tree portfast //配置成portfast端口,加快收斂速度。
sw2(config)#interface fa0/12 sw2(config-if)#switchport mode acce sw2(config-if)#switchport acce vlan 11 sw2(config-if)#spanning-tree portfast //配置成portfast端口,加快收斂速度。
(4)sw2的網(wǎng)管配置
sw2(config)#interface vlan 8 sw2(config-if)#ip addre 192.168.8.130 255.255.255.128 sw2(config-if)#no shutdown sw2(config-if)#exit sw2(config)#ip default-gateway 192.168.8.129
sw1#show spanning-tree brief//查看stp簡(jiǎn)要信息
4.三層網(wǎng)絡(luò)接口配置
(1)sw1的三層網(wǎng)絡(luò)接口配置
sw1(config)#ip routing //啟動(dòng)三層交換機(jī)的路由功能 sw1(config)#interface vlan 8 //vlan 8 的路由點(diǎn)
sw1(config-if)#ip addre 192.168.8.129 255.255.255.128 sw1(config-if)#no shutdown sw1(config-if)#exit sw1(config)#interface vlan 10 //vlan 10 的路由點(diǎn) sw1(config-if)#ip addre 192.168.10.1 255.255.255.0 sw1(config-if)#no shutdown sw1(config-if)#exit sw1(config)#interface vlan 11 //vlan 11的路由點(diǎn) sw1(config-if)#ip addre 192.168.11.1 255.255.255.0 sw1(config-if)#no shutdown sw1(config-if)#exit sw1(config)#interface vlan 12 //vlan 12的路由點(diǎn)
sw1(config-if)#ip addre 192.168.12.1 255.255.255.0 sw1(config-if)#no shutdown sw1(config-if)#exit
sw1#show ip int brief //查看接口簡(jiǎn)要信息
(2)sw1-rt1的三層鏈路配置
sw1(config)#interface fa0/3 //上連接口:上連rt的e0/0 sw1(config-if)#no switchport //配置接口為三層接口 sw1(config-if)#ip addre 192.168.1.1 255.255.255.248 sw1(config-if)#no shutdown
rt1(config)#interface ethernet 1/1 rt1(config-if)#ip addre 192.168.1.2 255.255.255.248
rt1(config-if)#no shutdown
sw1#show ip interface brief //查看接口簡(jiǎn)要信息,查看接口是否配置成功。rt1#show ip interface brief //查看接口簡(jiǎn)要信息,查看接口是否配置成功。sw1#ping 192.168.1.2//ping 對(duì)端,檢測(cè)鏈路是否連通。rt1#ping 192.168.1.1//ping 對(duì)端,檢測(cè)鏈路是否連通。
5.邊界網(wǎng)絡(luò)對(duì)接(靜態(tài)路由配置)
sw1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.2 rt1(config)#ip route 192.168.0.0 255.255.0.0 192.168.1.1
//企業(yè)分部網(wǎng)絡(luò)
1的loopback0配置、局域網(wǎng)接口配置及測(cè)試
rt1(config)#interface loopback 0 //配置回環(huán)接口 0 rt1(config-if)#ip addre 192.168.0.1 255.255.255.255//配置回環(huán)接口的ip地址
rt1(config)#interface ethernet 1/2//配置局域網(wǎng)接口 rt1(config-if)#ip addre 192.168.2.1 255.255.255.0 rt1(config-if)#no shutdown//開啟端口 rt1(config-if)#exit
rt1#show ip int brief //查看所有接口的信息
3的loopback0配置、局域網(wǎng)接口配置及測(cè)試
rt3(config)#interface loopback 0 //配置回環(huán)接口 0 rt3(config-if)#ip addre 192.168.0.3 255.255.255.255//配置回環(huán)接口的ip地址
rt3(config)#interface ethernet 1/3//配置局域網(wǎng)接口 rt3(config-if)#ip addre 192.168.3.1 255.255.255.0 rt3(config-if)#no shutdown//開啟端口 rt3(config-if)#exit
rt3show ip int brief //查看所有接口的信息
1-rt3的廣域網(wǎng)鏈路配置及測(cè)試 rt1(config)#interface serial 0/0 rt1(config-if)#clock rate 1000000 //dce端配置時(shí)鐘速率,1mbps rt1(config-if)#bandwith 1000 //接口邏輯帶寬,用于計(jì)算接口的開銷值,單位kbps;在實(shí)際項(xiàng)目中,接口邏輯帶 寬應(yīng)配置成與接口物理帶寬一致且兩端的bandwith 必須一致。rt1(config-if)#encapsulation ppp //配置數(shù)據(jù)鏈路層封裝 rt1(config-if)#ip addre 192.168.0.1 255.255.255.252 rt1(config-if)#no shutdown //打開接口
rt1(config-if)#end
rt3(config)#interface serial 0/0 rt3(config-if)#bandwith 1000 //接口邏輯帶寬,用于計(jì)算接口的開銷值,單位kbps;在實(shí)際項(xiàng)目中,接口邏輯帶 寬應(yīng)配置成與接口物理帶寬一致且兩端的bandwith 必須一致。rt3(config-if)#encapsulation ppp//配置數(shù)據(jù)鏈路層封裝 rt3(config-if)#ip addre 192.168.0.3 255.255.255.252 rt3(config-if)#no shutdown rt3(config-if)#end
rt1#show ip interface brief //查看接口簡(jiǎn)要信息 rt3#show ip interface brief //查看接口簡(jiǎn)要信息
路由配置
(1)rt1的ospf配置
rt1(config)#router ospf 1 //開啟ospf進(jìn)程1,標(biāo)識(shí)不同的ospf的進(jìn)程。rt1(config-router)#router-id 1.1.1.1 //手動(dòng)配置ospf router-id
rt1(config-router)#network 192.168.0.1 0.0.0.0 area 0//發(fā)布loopback 0。這里的0.0.0.0是采用的反掩碼形式表是,area 0表示骨干區(qū)域。rt1(config-router)#network 192.168.1.0 0.0.0.7 area 0 rt1(config-router)#network 192.168.0.4 0.0.0.3 area 0 rt1(config-router)#network 192.168.2.0 0.0.0.255 area 0 rt1(config-router)#paive-interface e2/1 //為業(yè)務(wù)網(wǎng)段配置被動(dòng)接口 rt1(config-router)#paive-interface e1/1
(2)rt3的ospf配置
rt3(config)#router ospf 1 //開啟ospf進(jìn)程1,標(biāo)識(shí)不同的ospf的進(jìn)程。rt3(config-router)#router-id 3.3.3.3 //手動(dòng)配置ospf router-id
rt3(config-router)#network 192.168.0.3 0.0.0.0 area 0//發(fā)布loopback 0。這里的0.0.0.0是采用的反掩碼形式表是,area 0表示骨干區(qū)域。rt3(config-router)#network 192.168.0.4 0.0.0.3 area 0 rt3(config-router)#network 192.168.3.0 0.0.0.255 area 0 rt3(config-router)#paive-interface e3/1 //為業(yè)務(wù)網(wǎng)段配置被動(dòng)接口
3.子網(wǎng)劃分及ip分配方案
4.網(wǎng)絡(luò)服務(wù)器規(guī)劃
三.網(wǎng)絡(luò)設(shè)備選型 四.網(wǎng)絡(luò)軟件選型
網(wǎng)絡(luò)課程教學(xué)設(shè)計(jì) 網(wǎng)絡(luò)課程設(shè)計(jì)方案篇四
網(wǎng)絡(luò)課程教學(xué)設(shè)計(jì)方案
課程主題:平臺(tái)的信息化課程設(shè)計(jì)
一、前期分析
(一)學(xué)習(xí)目標(biāo)
1、了解學(xué)習(xí)科學(xué)的課程理念;
2、的主要功能;
3、理解信息化課程設(shè)計(jì)的主要模式、原則、步驟、評(píng)價(jià)方法;
4、平臺(tái)的信息化課程;
5、參與網(wǎng)絡(luò)協(xié)作學(xué)習(xí)與商討,具備信息化課程設(shè)計(jì)理念與技能的持續(xù)化發(fā)展能力。
(二)學(xué)習(xí)者
1、希望運(yùn)用網(wǎng)絡(luò)開展信息化教學(xué)的高校教師;
2、具有某一科目的教學(xué)背景;
3、具備基本的計(jì)算機(jī)操作技能。
(三)學(xué)習(xí)內(nèi)容(主題)
平臺(tái)的信息化課程設(shè)計(jì)
1、關(guān)于學(xué)習(xí)科學(xué)的理論
2、平臺(tái)的架構(gòu)
3、創(chuàng)建學(xué)生中心、知識(shí)中心、評(píng)價(jià)中心、共同體中心的信息化學(xué)習(xí)環(huán)境 ? 信息化課程設(shè)計(jì)的模式 ? 信息化課程設(shè)計(jì)的主要原則 ? 信息化課程設(shè)計(jì)的基本步驟 ? 信息化課程設(shè)計(jì)的評(píng)價(jià)方法
4、平臺(tái)設(shè)計(jì)信息化課程
? 平臺(tái)的信息化課程設(shè)計(jì)案例探討(已有案例、學(xué)習(xí)者提交案例)注:在課程實(shí)施過(guò)程中依據(jù)學(xué)習(xí)者需求動(dòng)態(tài)添加主題
(四)學(xué)習(xí)策略
1、以問題為中心的小組協(xié)作學(xué)習(xí)。將每個(gè)學(xué)習(xí)內(nèi)容分解為學(xué)習(xí)者的具體問題,問題之間相互關(guān)聯(lián),程度由簡(jiǎn)到難,學(xué)習(xí)者圍繞問題解決進(jìn)行學(xué)習(xí)。問題分類可基于某一學(xué)習(xí)主題,或細(xì)分到某一學(xué)科的個(gè)別化問題,學(xué)習(xí)者依據(jù)自身感興趣的問題或?qū)W科加入學(xué)習(xí)小組,參與協(xié)作學(xué)習(xí)。
2、任務(wù)驅(qū)動(dòng)。依據(jù)學(xué)習(xí)主題設(shè)計(jì)學(xué)習(xí)任務(wù)促進(jìn)學(xué)習(xí)者運(yùn)用信息化課程設(shè)計(jì)的理念與方法,而非僅僅進(jìn)行知識(shí)記憶。
3、建立學(xué)習(xí)共同體。由于學(xué)習(xí)者為某一科目的大學(xué)教師,每個(gè)人都有自身獨(dú)特的教學(xué)經(jīng)驗(yàn)及對(duì)信息化課程設(shè)計(jì)的理解。以主題或?qū)W科為單位建立學(xué)習(xí)小組,在個(gè)體間知識(shí)的社會(huì)協(xié)商中,激發(fā)內(nèi)含在團(tuán)體或共同體中的知識(shí)建構(gòu)。
4、情境學(xué)習(xí)。以“資源+活動(dòng)”為課程內(nèi)容主線創(chuàng)設(shè)學(xué)習(xí)情境,使學(xué)習(xí)者在與實(shí)際教學(xué)相似的復(fù)雜情境中完成對(duì)資源的選擇、理解、互動(dòng),完成學(xué)習(xí)活動(dòng)。
5、建立互動(dòng)評(píng)價(jià)中心(體現(xiàn)在案例探討環(huán)節(jié)的動(dòng)態(tài)添加、評(píng)價(jià))。
6、自主選擇學(xué)習(xí)。學(xué)習(xí)者自主選擇學(xué)習(xí)主題、任務(wù)、科目組別。
(五)學(xué)習(xí)評(píng)價(jià)
1、診斷性評(píng)價(jià)。問卷、投票。
2、形成性評(píng)價(jià)。主題討論參與、作品提交、參與作品評(píng)價(jià)。
3、
總結(jié)
性評(píng)價(jià)(基于作品的評(píng)價(jià))二、模塊內(nèi)容設(shè)計(jì)與實(shí)施(體現(xiàn)學(xué)習(xí)活動(dòng)過(guò)程)
(一)課程介紹
(二)學(xué)習(xí)需求調(diào)查(用于動(dòng)態(tài)產(chǎn)生新的學(xué)習(xí)主題)
(三)任務(wù)-問題(問題設(shè)計(jì)、任務(wù)設(shè)計(jì)、情境設(shè)計(jì))
(四)小組-社區(qū)(發(fā)起主題相關(guān)投票、問卷、相關(guān)主題探討)
(五)內(nèi)容-資源(各種信息化資源的搜集、整理、歸納,word、ppt、powerpoint、flash、視頻、音頻、著名文章、書籍)
(六)活動(dòng)-評(píng)價(jià)(作品提交、對(duì)他人作品的建議與評(píng)價(jià)、參與主題討論的圖表信息搜集、個(gè)人初始需求與相關(guān)主題成果比較)
【本文地址:http://www.aiweibaby.com/zuowen/1060823.html】