網頁

2003年4月28日 星期一

語言的藝術

呼~想一想好像很久沒寫文章了,每每上站一看,就發現日期離上一次發表文章越來越遠,總有些汗顏,心理真想寫點什麼,總提不起勁來,我想這就是所謂謂的倦怠吧~一件明明很有感觸的事,等打開電腦,卻突然不知如何下指(keyboard),整個人idle在螢幕前,努力想擠點什麼出來,但胸中已無半點墨水,煩亂心情、炎熱天氣與未完成的工作,也許正是扼殺靈感的元凶!

前些日子真的頗忙,工作進度壓力,讓我恨不得一天當兩天來用,明明覺得早上才剛到公司,怎麼一下就到下班時間了呢~忙碌拼命的寫一天程式,還是覺得時間不夠用呀~果然...有事情做,ㄡ~應該是說有事情必須在時間內做完,那日子真的過的特別快,才剛上班一下就下班,明明才星期一,怎麼一下就到週末放假了呢~看來之前不知哪位前輩説的對,上班閒的時後會覺得時間過的很慢,但一忙起來,時間可就飛快過去,連用都不夠用,之前還對這話不甚了解,現在可真深深感受到啦~說的也是,連工作的事都還沒做完,每天為五斗米折腰,那又怎麼會有心情靜下來寫文章呢~
說到文章,程式不也是文章的一種嗎~是人與機器間溝通的橋樑,有時我們不也會因為漂亮到幾乎藝術的程式碼而驚訝讚佩不已嗎~突然想起以前大學在上程式語言課時,老師也曾對一些課本上的程式表現出感佩,他說當一段程式可以寫到這樣,那就不叫程式了,我們應該稱它為藝術。當時年輕的我未能體會老師話中深義,只能報之以傻笑,沒辦法嘛~我就是功力未到呀~連看都看不懂,叫我如何把那段數字與符號的集合稱為藝術呢~現在工作每天與程式為伍,好像稍能體會老師當日話語,不敢期待自己能寫出藝術般的程式,但期待有朝一日,我的程式能被別人如藝術般看待呀~
以前我寫文章,以big-5碼寫與人交流,尋求心靈契合的文章,現在我也寫文章,以binary code與電腦對談,期待電腦能完成某些動作的文章,只是它常常有聽沒有懂呀 ^^"

2003年4月7日 星期一

四兩撥千斤的Montgomery's Algorithm

上班到現在一直在研究RSA的演算法,以軟體程式來說,RSA也許蠻好寫的,但要實現成硬體可就沒那麼簡單囉~因為RSA加密的方法牽扯到次方與模數,這些繁雜的運算要做成硬體,勢必得考慮到成本與效能,在設計上得多加小心,而在數個解決的方法裡,有一個叫做Montgomery’s Algorithm的,它將複雜的模數運算轉變為乘法與幾個簡單的加法,要知道以硬體設計來說,寧可要多幾個加法、乘法器,也不要一個除法器,看到前人想出的方法,此等以簡單的加法與乘法完成複雜的模數運算,衷心的佩服其智慧巧思,希望哪天我也能到達這樣的境界。
柔道講求以柔克鋼,太極可四兩撥千斤,誰說電腦就是硬邦邦的呢~看!這不正也是個四兩撥千斤的實例呀~所以說天地萬物運行自有其法則,只要細心體會,一理通,百理階通,且看古代的不世高人們,皆是精通此道的佼佼者呀~


MM[n]=A*B *2-2n (mod N)

MM(A, B, N)
S[0] = 0;
for (i=0;i qi = (S[i]+aiB) (mod 2);
S[i+1] = (S[i]+ aiB +qiN)/2;
return S[n];