DSA多功能數(shù)字簽名課設(shè)說明書_第1頁
DSA多功能數(shù)字簽名課設(shè)說明書_第2頁
DSA多功能數(shù)字簽名課設(shè)說明書_第3頁
DSA多功能數(shù)字簽名課設(shè)說明書_第4頁
DSA多功能數(shù)字簽名課設(shè)說明書_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、GUILINUNIVERSITYOFELECTRONICTECHNOLOGY信息安全課程設(shè)計說明書題目:DSA多功能數(shù)字簽名院(系):計算機科學(xué)與工程學(xué)院專業(yè):信息安全姓名:學(xué)號:指導(dǎo)教師:2014年1月5日桂林電子科技大學(xué)綜合設(shè)計說明書用紙第 頁摘要隨著計算機網(wǎng)絡(luò)和信息技術(shù)的發(fā)展,信息安全在各領(lǐng)域發(fā)揮著越來越重要的作用,其中密碼學(xué)已成為信息安全技術(shù)的核心,為了確保數(shù)據(jù)傳輸?shù)陌踩裕坏貌徊扇∫幌盗械陌踩夹g(shù),如加密技術(shù)、數(shù)字簽名、身份認證、密鑰管理、防火墻、安全協(xié)議等。其中數(shù)字簽名就是實現(xiàn)網(wǎng)上交易安全的核心技術(shù)之一,它可以保證信息傳輸?shù)谋C苄?、?shù)據(jù)交換的完整性、發(fā)送信息的不可否認性、交易者身

2、份的確定性等。DSA(DigitalSignatureAlgorithm,數(shù)字簽名算法,用作數(shù)字簽名標準的一部分),它是另一種公開密鑰算法,它不能用作加密,只用作數(shù)字簽名。DSA使用公開密鑰,為接受者驗證數(shù)據(jù)的完整性和數(shù)據(jù)發(fā)送者的身份。它也可用于由第三方去確定簽名和所簽數(shù)據(jù)的真實性。DSA算法的安全性基于解離散對數(shù)的困難性,這類簽字標準具有較大的兼容性和適用性,成為網(wǎng)絡(luò)安全體系的基本構(gòu)件之一。本文主要是介紹使用DSA算法完成的一個數(shù)字簽名與驗證的過程,可以導(dǎo)入導(dǎo)出密鑰,進行哈希計算獲取摘要,完成簽名文件的并導(dǎo)出簽名并可以在源文件的后面追加簽名的信息,對于摘要的計算這里介紹了兩種算法MD5和SH

3、A-1。這次的的課設(shè)主要是為了能夠更好的了解和學(xué)習(xí)數(shù)字簽名這方面的知識。關(guān)鍵字:DSA算法數(shù)字簽名密鑰目錄TOC o 1-5 h z HYPERLINK l bookmark8 引言3 HYPERLINK l bookmark10 1系統(tǒng)的需求3軟件建設(shè)目標3系統(tǒng)功能需求3 HYPERLINK l bookmark12 使用范圍4 HYPERLINK l bookmark14 故障處理4硬件環(huán)境4 HYPERLINK l bookmark16 2系統(tǒng)的開發(fā)相關(guān)原理介紹4數(shù)字簽名的介紹4 HYPERLINK l bookmark18 DSA數(shù)字簽名原理5 HYPERLINK l bookmark

4、20 SHA-1和MD5的介紹6 HYPERLINK l bookmark22 3系統(tǒng)詳細設(shè)計7 HYPERLINK l bookmark24 3.1系統(tǒng)結(jié)構(gòu)7 HYPERLINK l bookmark26 公鑰和私鑰的計算8 HYPERLINK l bookmark28 摘要值的計算10 HYPERLINK l bookmark30 文件的數(shù)字簽名與驗證12 HYPERLINK l bookmark32 文件、密鑰的導(dǎo)入導(dǎo)出15 HYPERLINK l bookmark34 源文件和簽名信息的提取16 HYPERLINK l bookmark36 開發(fā)環(huán)境18194所遇到的問題和分析解決 H

5、YPERLINK l bookmark40 5結(jié)論與心得20 HYPERLINK l bookmark42 參考文獻22引言隨著電子商務(wù)的發(fā)展,網(wǎng)絡(luò)上資金的電子交換日益頻繁,如何防止信息的偽造和欺騙成為非常重要的問題。在計算機通信系統(tǒng)中,維護電子文檔的安全也成為至關(guān)重要和非常敏感的問題。為保護信息的安全,數(shù)字簽名應(yīng)運而生,它是現(xiàn)代密碼學(xué)主要研究的內(nèi)容之一。目前關(guān)于數(shù)字簽名的研究主要集中點是基于公鑰密碼體制的數(shù)字簽名。在公鑰密碼體制中,解密和加密密鑰不同,解密和加密可分離,通信雙方無須事先交換密鑰就可建立起保密通信,因此它較好地解決了傳統(tǒng)密碼體制在網(wǎng)絡(luò)通信中出現(xiàn)的問題。手寫簽名的每一項業(yè)務(wù)都是數(shù)

6、字簽名的潛在用場。數(shù)字簽名可以提供數(shù)據(jù)完整性、真實性和不可否認性。因而當需要對某一實體進行認證、傳輸具有有效性的密鑰以及進行密鑰分配時,便可以借助數(shù)字簽名來完成任務(wù)。數(shù)字簽名技術(shù)在身份識別和認證、數(shù)據(jù)完整性、抵賴等方面具有其它技術(shù)無法替代的作用,它在軍事、電子商務(wù)和電子政務(wù)等領(lǐng)域有著極廣泛的應(yīng)用。而在公鑰體制中,DSA算法的安全性基于解離散對數(shù)的困難性,這類簽字標準具有較大的兼容性和適用性,成為網(wǎng)絡(luò)安全體系的基本構(gòu)件之一。1系統(tǒng)的需求1.1軟件建設(shè)目標計算機網(wǎng)絡(luò)安全問題已引起了人類的高度重視。無論是在局域網(wǎng)還是在廣域網(wǎng)中,都存在著自然和人為等諸多因素的脆弱性和潛在威脅。故此,網(wǎng)絡(luò)的安全措施應(yīng)是

7、能全方位地針對各種不同的威脅和脆弱性,然而,數(shù)字簽名它起到了身份認證、核準數(shù)據(jù)完整性,確保了網(wǎng)絡(luò)信息的保密性、完整性和可用性。1.2系統(tǒng)功能需求1對文件進行簽名,生成一個獨立于原文的簽名文件;可以對文件進行簽名,在文件后追加簽名信息;3具有密鑰管理的功能,比如密鑰的生成、導(dǎo)入、導(dǎo)出;可以對word文檔實施操作,對word文檔的內(nèi)容進行簽名;能夠比對已經(jīng)實施的簽名,防止進行重復(fù)的簽名,以防止重放攻擊;可以對已經(jīng)簽名的文件進行單獨的源文件和簽名信息的分離操作。1.3使用范這個多功能數(shù)字簽名軟件,可以提供給任何電子商務(wù)的賣家使用、網(wǎng)上交易的買家使用或者網(wǎng)上金融交易的個人,本次設(shè)計的多功能數(shù)字簽名要求

8、電腦不高,使用的是vc6.0和MFC來制作的,特別適合于電腦配置要求不高的電腦使用,占用內(nèi)存空間非常小,速度快,用起來非常便捷。適合一些小型的文件簽名。1.4故障處理在使用的過程中,或因為電腦的配置和兼容性問題,若出現(xiàn)軟件按鈕失控,只需關(guān)閉程序,重新打開軟件即可。1.5硬件環(huán)境服務(wù)器:CPU:PIII500以上;內(nèi)存:512M以上;硬盤:15G以上;操作系統(tǒng):Windows98/2000/2003/XP/WIN7;2系統(tǒng)的開發(fā)相關(guān)原理介紹2.1數(shù)字簽名的介紹數(shù)字簽名是由Diffie和Hellman在他們的著名的論文“NewDirectioninCryptography”中第一次提出來的。數(shù)字簽

9、名是指附加在數(shù)據(jù)單元上的一些數(shù)據(jù),或是對數(shù)據(jù)單元所作的密碼變換,這種數(shù)據(jù)或變換能使數(shù)據(jù)單元的接收者確認數(shù)據(jù)單元的來源和數(shù)據(jù)的完整性,并保護數(shù)據(jù),防止被人(如接收者)進行偽造。簽名機制的本質(zhì)特征是該簽名只有通過簽名者的私有信息才能產(chǎn)生,也就是說,一個簽名者的簽名只能唯一地由他自己產(chǎn)生。當收發(fā)雙方發(fā)生爭議時,第三方(仲裁機構(gòu))就能夠根據(jù)消息上的數(shù)字簽名來裁定這條消息是否確實由發(fā)送方發(fā)出,從而實現(xiàn)抵賴性安全服務(wù)。手寫簽名一直是紙介質(zhì)文件簽發(fā)者的身份證明,而數(shù)字簽名則是電子信息世界中信息簽發(fā)者不可否認的標記。數(shù)字簽名通過單向散列(HASH)函數(shù)對要傳送的消息M進行處理得到消息摘要(MessageDig

10、est)H(M),然后使用消息發(fā)送者的私有密鑰D對摘要加密得到簽名D(H(M)。數(shù)字簽名中的HASH函數(shù)是一類特殊的散列函數(shù),具有以下特點:(1)對接受的輸入消息數(shù)據(jù)沒有長度限制。(2)對輸入任何長度的消息數(shù)據(jù)能夠生成固定長度的消息摘要H(M)。(3)易于計算,對于給定的任何消息M將能夠快速地得出H(M)。單向函數(shù),即給出一HASH值h,難以計算出一特定輸人M,使得h=H(M)。免沖突,又可分為弱免沖突和強免沖突兩種。弱免沖突指給出一消息Ml,找出一消息M2與M1相似且H(M1)=H(M2)是計算不可行的,而強免沖突指找出任意兩條消息M1、M2使H(M1)=H(M2)也是計算不可行的。22DS

11、A數(shù)字簽名原理p:Lbits長的素數(shù)。L是64的倍數(shù),范圍是512到1024;q:p-1的160bits的素因子;g:g=hA(p-1)/q)modp,h滿足h1;x:xq,x為私鑰;y:y=gAxmodp,(p,q,g,y)為公鑰;H(x):One-WayHash函數(shù)。DSS中選用SHA(SecureHashAlgorithm)。p,q,g可由一組用戶共享,但在實際應(yīng)用中,使用公共模數(shù)可能會帶來一定的威脅。簽名及驗證協(xié)議如下:P產(chǎn)生隨機數(shù)k,krued嚴)將”的憤高位和赧低位矍1形底豈A=A+1叫=4-rf+AOmodr)M屮=町十嚴”片+42晌匕.十2叫必mud26)p=Ji-(Arnod

12、2)-1)NNs2+1d-=”、“SetWindowText(m_FileName);特整宮的文件:|cAUzerEA.dministratorDe5ktopii:$:(3J.txtf瀏覽.二1圖3.3(0)文件打開獲取示意圖oOnShalRadio()和OnMd5Radio()兩個函數(shù)主要是用來響應(yīng)用戶所選的用來計算摘要值的算法,然后再通過OnChangeEditfile()定義一個參數(shù)來獲取用戶的選擇,hashradio二GetCheckedRadioButton(IDC_MD5_RADI0,IDC_SHAl_RADI0);然后通過判斷if(hashradio=IDC_MD5_RADI0)

13、來選擇算法計算摘要值,最后把摘要值通過字符的轉(zhuǎn)換為十六進制輸出。實現(xiàn)的代碼為:hashradio二GetCheckedRadioButton(IDC_MD5_RADI0,IDC_SHAl_RADI0);if(hashradio=IDC_MD5_RADIO)/MD5inti;unsignedchardigest16,output16;FILE*file;unsignedcharbuffer16384;MD5Init(&md5_ctx);file=fopen(open,rb);i=fread(buffer,1,16384,file);MD5Update(&md5_ctx,buffer,i);MD5

14、Final(digest,&md5_ctx);fclose(file);byte2strhash(digest,16,output);CStringstr(output);SetDlgltemText(IDC_INPUT,str);else/SHA-1inti;unsignedchardigest20,output20;FILE*file;unsignedcharbuffer16384;SHA1Init(&sha1_ctx);file=fopen(open,rb);i=fread(buffer,1,16384,file);SHA1Update(&sha1_ctx,buffer,i);SHA1F

15、inal(digest,&sha1_ctx);fclose(file);byte2strhash(digest,20,output);CStringstr(output);SetDlgltemText(IDC_INPUT,str);請迭擇摘要算法;用MD5M法C算法摘娶結(jié)果學(xué)符串:|1AE5L10364F461E564EE94F2AB88636E圖3.3(1)摘要計算結(jié)果示意圖3.4文件的數(shù)字簽名與驗證DSA算法實現(xiàn)的數(shù)字簽名,主要依賴于整數(shù)有限域離散對數(shù)難題。素數(shù)P必須足夠大,且p-1至少包含一個大素數(shù)因子以抵抗Pohlig&Hellman算法的攻擊,DSA的安全性要次于ECC與RSA不相上

16、下。但是有一點,就是DSA算法的驗證過程R,S是以明文形式出現(xiàn)的,這點很容易被利用。系統(tǒng)的設(shè)計使用了界面兩個按鈕來實現(xiàn):ON_BN_CLICKED(IDC_ENCRYPT,OnEncrypt)ON_BN_CLICKED(IDC_DECRYPT,OnDecrypt)兩個按鈕中的響應(yīng)簽名和驗證的函數(shù)OnEncrypt()和OnDecrypt(),只要通過按鈕的點擊就可以執(zhí)行簽名和驗證。在簽名之前,首先要產(chǎn)生隨機數(shù)k,k256)m_OUT=_T(N不得大于256位);UpdateData(FALSE);return;K.Mov(makerandnumber(160);/隨機生成一個kR.Mov(G.

17、RsaTrans(K,P);R.Mov(R.Mod(Q);S.Mov(K.Euc(Q);g.Get(:m_IN);t.Mov(X.Mul(R);t.Mov(t.Mod(Q);t.Mov(t.Add(g);S.Mov(S.Mul(t);S.Mov(S.Mod(Q);R.Put(:m_OUT);S.Put(m_S);UpdateData(FALSE);0AE5A5ESBO339DgCEFECA07E3E4BF0BFDB22BOEJkT49BF94AB0C31D9EE11SE8FDF12TE8C196A4C53r5圖3.4(0)數(shù)字簽名結(jié)果示意圖如果對已經(jīng)簽名的文件,并且源文件后面已經(jīng)追加了簽名信息

18、,那么如果想要再一次的想進行簽名,那么系統(tǒng)會彈出提示框說,說明文件已經(jīng)簽過名了,不能在重新的簽名。這個主要是防止文件在傳送的過程中,防止別人重新的簽名,然后實施重放攻擊。系統(tǒng)如果檢測到文件已經(jīng)簽名了,那就會彈出提示框提醒,并且結(jié)束整個程序。其主要的實現(xiàn)代碼:/打開文件,讀取內(nèi)容到CFilefileSource(m_FileName,CFile:modeRead);/CStringstrSource;char*buf;intlen=fileSource.GetLength();/獲取文件的長度buf二newcharlen+1;fileSource.Read(buf,len);/一一的讀取文件的內(nèi)

19、容/fileSource.Find(_T(&);strSource二buf;buflen=0;deletebuf;if(-l!=strSource.Find(_T($)/需找判斷是否有字符$,如果有的話就彈出提示框MessageBox(文件已經(jīng)簽過名了!);exit(0);/直接退出程序丄|IZI-tJ-t1-1IJIJI-IJ_IL-1J丄丄1!_*II1-1I-私鑰:詩簽名的文件:卩汽源文件飛毗導(dǎo)出I刪I請選擇摘要算法:炸ND5g法摘要結(jié)果宇V-文樣了!不瞬數(shù)宇箜宮.*-IItCEC5冊1算法圖3.4(1)重復(fù)簽名的示意圖DSA數(shù)字簽名驗證的過程和RSA算法數(shù)字簽名驗證不一樣,他不需要明文

20、進行哈希計算得出的摘要進行比較,它需要計較的是在簽名過程中隨機生成的k來計算出來的r=(gkmodp)modq,在使用公鑰的計算出來了的簽名文件中,只要計算出rz=r,那么就說明簽名成功了。所以,DSA的安全性主要依賴于p和g,若選取不當則簽名容易偽造,應(yīng)保證g對于p-1的大素數(shù)因子不可約。驗證過程的實現(xiàn)代碼:voidDMyDlg:OnDecrypt()CBigIntW,U1,U2,t;/TODO:Addyourcontrolnotificationhandlercodehereif(ready=O)|(Q.m_ulValueO=O)m_OUT=_T(請先進行數(shù)字簽名);UpdateData(

21、FALSE);return;W.Mov(S.Euc(Q);Ul.Get(m_IN);U1.Mov(U1.Mul(W);U1.Mov(U1.Mod(Q);U2.Mov(R.Mul(W);U2.Mov(U2.Mod(Q);V.Mov(G.RsaTrans(U1,P);V.Mov(V.Mod(P);t.Mov(Y.RsaTrans(U2,P);t.Mov(t.Mod(P);V.Mov(V.Mul(t);V.Mov(V.Mod(P);V.Mov(V.Mod(Q);if(V.Cmp(R)=O)V.Put(m_V);R.Put(m_V);/Q.Get(m_OUT);/P.Mov(Q.RsaTrans(D,

22、N);/P.Put(m_OUT);UpdateData(FALSE);BAE5A59EBBO339DraFBCA87B3E4BF88FDB220OE圖3.4(2)驗證結(jié)果的示意圖3.5文件、密鑰的導(dǎo)入導(dǎo)出文件、密鑰的導(dǎo)入導(dǎo)出是通過編寫一個兩個函數(shù)voidDMyDlg:0utToFile(CString&str)和voidDMyDlg:InFromFile(CString&str)來實現(xiàn)的,后面的的操作就直接調(diào)用這兩個函數(shù)就可以實現(xiàn)文件、密鑰的導(dǎo)入和導(dǎo)出,這樣既可以減少了代碼的編寫又省了很多時間,提高了系統(tǒng)的性能。在界面里只要添加按鈕,通過按鈕來響應(yīng)某一個函數(shù),函數(shù)里編寫調(diào)用OutToFile(

23、CString&str)和InFromFile(CString&str)就可以進行導(dǎo)入導(dǎo)出。導(dǎo)入和導(dǎo)出的實現(xiàn)代碼:/將字符串導(dǎo)出文件voidDMyDlg:OutToFile(CString&str)CFileDialogdlg(FALSE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,AllF訂es(*.*)|*.*|);if(dlg.DoModal()!=IDOK)return;CStringfilePath二dlg.GetPathName();CFileout;out.Open(filePath,CFile:modeWrite|CFile:m

24、odeCreate);out.Write(str,str.GetLength();out.Close();/從文件導(dǎo)入至字符串voidDMyDlg:InFromFile(CString&str)CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,ALLFiles(*.*)|*.*|);if(dlg.DoModal()!=IDOK)return;CStringfilePath二dlg.GetPathName();CFilein;if(!in.Open(filePath,CFile:modeRead)MessageBox(指定文件不存在!);return;

25、DWORDdwFileLen二in.GetLength();char*buf=newchardwFileLen+l;bufdwFileLen=0;in.Read(buf,dwFileLen);in.Close();str=buf;deletebuf;3.6源文件和簽名信息的提取簽名文件的分離主要是對已經(jīng)簽名的文件并且文件的后面追加了簽名信息的。這樣就可以對它進行源文件和簽名信息的分離,把他們保存在不同的文件當中,這樣可以方便接收者對源文件的提取,然后就可以進一步的驗證過程。這里主要是先對簽名文件進行讀取路徑,然后根據(jù)CFilefileSource(strFileName,CFile:modeR

26、ead);函數(shù)來對文件的路徑來讀取文件的內(nèi)容。最后通過某個標識位來分離開源文件和簽名信息,最后寫入不同的文件里面。如果文件沒有進行簽名,那么它就會彈出提示框提示文件沒有簽名,不能進行分離操作。其主要實現(xiàn)的代碼:voidDMyDlg:On_Fw()/文件分離操作/TODO:AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);CStringstrFileName=m_ED;/打開文件,讀取內(nèi)容到strSourceCFilefileSource(strFileName,CFile:modeRead);char*buf;intlen二fi

27、leSource.GetLength();buf二newcharlen+1;fileSource.Read(buf,len);buflen=0;CStringstrSource,trSource;strSource二buf;trSource二buf;deletebuf;/截取&之前的內(nèi)容strSource=strSource.Left(strSource.Find(_T($);trSource=trSource.Mid(trSource.Find(_T($)+l);if(1!=strSource.Find(_T($)MessageBox(該文件沒有簽名,不能分離);else/打開文件并將str

28、Source寫入文件CStringfileSaveName=_T(d:/提取的原文.txt);CString訂eSaveName=_T(d:/提取簽名信息.txt);CFilefileSave(fileSaveName,CFile:modeCreate|CFile:modeWrite|CFile:shareDenyRead);/*ofstreamout(d:/提取簽名信息.txt,ios:out|ios:app);outtrSource;ofstreamoutl(d:/提取的原文.txt,ios:out|ios:app);outlGetWindowText(c_user);兩種方法都可以實現(xiàn)提

29、前編輯框的內(nèi)容。這個給后面自己的還寫入文本導(dǎo)出簽名信息和原文追加簽名信息提供的成功奠基。4源文件的導(dǎo)入那是最頭疼的,不僅要完成文本的導(dǎo)入還需要WORD的導(dǎo)入那是有一定的難度的,原本的想到的是用文件流,用流文件ofstreamout進行寫入寫出,但是這個有一個問題就是它寫進來都是文件里的內(nèi)容,而不是一個文件的地址,這樣就不會可能實現(xiàn)的,一個文件里面的數(shù)據(jù)都寫進來了,那得等多久得要多大的編輯框,簽名的時候也是會很久,所以失敗了。經(jīng)過自己查詢資料,盜用了別人了一段小代碼:/設(shè)置打開窗體的標題m_FileOpen.m_ofn.lpstrTitle=_T(打開文件);m_FileOpen.m_ofn.l

30、pstrFilter=_T(文件(*.*)0*.*00);/點擊瀏覽按鈕if(IDOK=m_FileOpen.DoModal()/獲取打開的文件路徑CStringm_FileName=m_FileOpen.GetPathName();CEdit*pEdit=(CEdit*)(GetDlgItem(IDC_EDITFILE);/將選擇的文件路徑名顯示到IDC_EDITFILE表識的EDIT中pEdit-SetWindowText(m_FileName);就是這段小代碼成功的解決了我的問題了。以上就是本次課設(shè)主要出現(xiàn)的大問題,由于算法都是一些公開的算法,出錯的概率是比較低,知識有些調(diào)用的小問題出現(xiàn),但是這個都是比較的容易的解決。通過這次的問題分析解決自己的有多學(xué)會以不少的知識。特別是在MFC界面的制做,那是又是一個新的認識。5結(jié)論與心得本文詳細討論了簡述了DSA數(shù)字簽名的基本原理,基本實現(xiàn)及如何利用RSA算法實現(xiàn)數(shù)字簽名。RSA算法是一種安全技術(shù),但是絕不是無條件的安全性,這是由他的理論基礎(chǔ)決定的。DSA主要依賴于整數(shù)有限域離散對數(shù)難題。素數(shù)P必須足夠大,且p-1至少包含一個大素

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論