㈠ MATLAB數學建模作業:使用暴力攻擊,你能解開這個異或加密嗎
code=uint8(csvread('路徑\cipher1.txt'));
decode=zeros(size(code),class(code));
key=zeros(1,3,'uint8');
for ii=1:3
for ch=uint8('a':'z')
temp=bitxor(ch,code(ii:3:end));
if all((temp>=' '&temp<='Z')|temp>='a'&temp<='z')
key(ii)=ch;
decode(ii:3:end)=temp;
break;
end
end
char(key)
end
keytext=char(key); %破解密鑰的三個字元
codetext=char(decode); %破解的文本
n=sum(double(decode)); %破解文本ascii碼的和
破解得到密鑰是『god』
㈡ 數學建模的語言選擇問題。
我也是參加過數模的,個人覺得如果有能力的話最好學一下MATLAB,這個基本的數模軟體,MATLAB語言有點像C,功能非常強大,基本通殺。還有一個是lingo,因為你是財經專業的,所以到時候選題的時候很可能是選規劃類的(離散型的題目比較多),lingo在統計方面功能很強大。
C和C++的話個人感覺在數學建模比賽裡面顯得有點吃力,沒有MATLAB好,當然如果本身C比較厲害的話,也可以用C來處理,不過強烈建議是MATLAB,因為MATLAB裡面有不少很好用的模塊,很多演算法已經幫你做好了,不用自己再去寫,如果用C的話有些演算法要自己從新寫,比較耗費時間,數模只有3天,而且這3天裡面真正給你編程的時間不會太長的,想方案就會佔去你們至少一天左右,然後其他工作,寫文章什麼的又差不多一天,真正編程就1天,好點的情況會有1天半吧,差點的情況比如說要模擬的結果需要計算機運行很久的時候(有時有些演算法會讓計算機每次進行模擬都耗很長時間)就可能會使得時間很緊了。
四個月足夠掌握MATLAB和lingo的基本語言了,當然你得對電腦編程本身就有一定熟悉,邏輯思維要比較好(如果你想在數模里擔任編程員的話這個素質必須有)。入門的話去圖書館找下這方面的書看下吧,或者你可以拿一些已往的賽題,看他們的解答之後,想下那些解答應該怎麼轉化為演算法。(我們當時組內2個編程的,不過我們都學過C語言,所以MATLAB上手很快,MATLAB語言與c的邏輯很像,部分語句也很像,不過就多了很多打好包的演算法,而且擬合方面也非常給力)。多點用MATLAB去試著解決一下問題。
其實如果你想搞數模,我建議你還是先學好數學,數學的思想很重要,看看數模的書,看看人家是怎麼構建一個模型,掌握一些比較常見的數學建模方法。數模有兩道題,一道多是用到離散的知識,涉及統計比較多,一道是多用到連續的函數,涉及微分方程比較多。能雙攻當然最好。數模是3個人的數模,不是一個人的,還要看你搭檔的情況,不同的搭檔是需要你給予不同方面的支持的。
如果要舉例某些比較常見的數學模型的話,http://..com/question/18492935.html這個帖子裡面說的比較具體,書里也很多。我就不具體講。
數模關鍵是建立適合的模型,如果模型需要用計算機模擬,那就要找到相應的演算法(就是把你的模型轉變為計算機語言)。
如果你們學校有開數學建模課的話,強烈建議去聽一下,老師的意見是非常重要的。真正比賽的時候一般也是要有帶隊老師的。
還有補充一點,讓你對數模是一個怎樣的比賽有個概念:
數模最初始於美國,當時很多美國學生覺得奧數比賽太難,只是少數天才的娛樂,為了創造一種有趣的競賽模式,讓大多數大學生參加進來,一位美國教授第一次主持數學建模比賽。比賽非常的自由,不限制思路。給你一個題目,讓你天馬行空,只要不跑題就OK,要用什麼數學方法,要建立怎麼樣的模型完全自由。 比如說有一屆美國賽其中一題就是:分析恐龍的捕獵行為,給你一些生物學的數據,讓你自己建立捕獵模型。 好玩吧。
不知道你還想知道些什麼?
㈢ 數學建模研究生 上傳競賽論文md5碼 是什麼東東
數學建模研究生上傳競賽論文md5碼主要是為了防止論文的篡改。MD5碼,就是提交的論文和支撐材料的特徵碼,唯一識別作品的編碼。如果在提交了MD5之後再修改,就會被發現,這是為了杜絕作弊和調包的一種手段。
MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc 發明。MD5的實際應用是對一段Message(位元組串)產生fingerprint(指紋),可以防止被「篡改」。
MD5廣泛用於加密和解密技術上,在很多操作系統中,用戶的密碼是以MD5值(或類似的其它演算法)的方式保存的,用戶Login的時候,系統是把用戶輸入的密碼計算成MD5值,然後再去和系統中保存的MD5值進行比較,來驗證該用戶的合法性。
(3)數學建模比賽用什麼加密擴展閱讀
MD5碼特性
1、不可逆性
這個特徵碼有如下特性,首先它不可逆,經演算法變換後得到的MD5碼,把這個碼告訴其他人,根據這個MD5碼是沒有系統的方法可以知道原來的文字是什麼的。
離散性
其次,這個碼具有高度的離散性,也就是說,原信息的一點點變化就會導致MD5的巨大變化,而且MD5碼之間沒有任何關系,也就是說產生的MD5碼是不可預測的。
碼位性
最後由於這個碼有128位那麼長,所以任意信息之間具有相同MD5碼的可能性非常之低,通常被認為是不可能的。
參考資料來源:網路—MD5碼
㈣ 通訊加密 數學建模
有很多種方式,建議參考復旦出版社編的《數學模型》,綠色封皮