?未雨綢缪也是好的。
”
“嗯,有道理,畢竟這個事情馬虎不得。
”
還是那位應用數學大師說出了自己的分析:“按照我的判斷,從數學上來看,這個算法的作者應該是有能力提升加密強度的,但是現在這個算法,可能是他權衡折中了加密強度和加解密速度的結果。
”
另一位科學家笑道:“如果是這樣,那就好辦了,我們要的是加密強度,但是對加解密速度卻是沒有什麼高要求的。
就剛才那個加解密速度,就算多花十倍八倍的時間,其實也能接受。
”
大漠這邊的負責人拍了闆:“那我們馬上和防工委那邊聯系一下,把這個情況告訴他們,看看能不能再提升一下加密強度,我們不要速度。
”
這個要求當場就被反饋到了防工委這邊,防工委領導對這個事情非常重視。
實際上他也組織了相關數學家對高振東的GM-1加密算法進行了分析,在當前的環境下,的确是非常難以暴力破解,但是大漠那邊的想法,卻也不無道理,萬一計算機得到了極大發展了呢。
對于這個問題,他的解決辦法是——搖人,解鈴還須系鈴人,找高振東。
這個事情都不用隔夜,馬上,防工委一個電話打到了高振東這裡,高振東放下手中的單晶爐的事情趕了過去,反正單晶爐也沒那麼急迫。
趕到防工委,聽了對加密算法的要求,并沒有告訴他這個要求是哪裡提出來的。
不過高振東卻是能猜到一點,無非就是那幾個地方,特别是對加密速度沒要求,對加密強度卻是有很高要求的,那就更沒多少了。
高振東笑道:“這個好辦。
”
現場除了防工委的領導,還有負責重寫加解密程序的程序員。
高振東直接把3DES給搬了出來,不過他做了一點改動,并沒有限制3次,而是變化的。
“就用GM-1的算法,但是進行多次加解密就可以。
”
“就這麼簡單?”程序員總覺得這好像太糊弄事兒了。
高振東點點頭:“就這麼簡單,不過具體的順序有點特殊。
”
“首先,每次加解密的密鑰要不相同,每加密一次,要換一個密鑰,比如加密三次,那就是一共21個字節長度的密鑰,每一次用7個字節。
”
現場的數學方面的人員想了一會兒,點頭肯定:“嗯,高主任這個辦法不錯,實際上是利用現有算法,直接增加了密鑰的長度。
”
程序人員有點沒拐過彎來:“這樣也就是把暴力破解時間延長到原來的3倍而已,沒有質的變化啊。
”
數學人員笑道:“不不不,按照這個算法,時間的增加是指數級别的,不是線性按倍數增加。
”
程序員還是一時間沒想明白,不過專業數學家都這麼說了,想來沒有問題。
見他們明白了自己的想法,高振東又提出了第二個要求:“不論加密幾次,奇數次使用GM-1的加密算法進行加密,偶數次使用GM-1的解密算法進行加密,而且總的加密次數,應該是個奇數。
”
“簡單說就是,第一次用GM-1的加密算法進行加密,第二次就要用GM-1的解密算法進行加密,第三次還是用加密算法進行加密,以此類推。
”
以3次加密來說,整個過程是用Key1加密——用Key2解密(實際上也是加密)——用Key3加密。
這句話有點拗口,但是大家還是能聽懂要求,因為GM-1的解密算法,實際上也是一種加密操作,隻是它是加密算法的逆運算而已。
也就是說實際上還是進行了三次加密,但是高振東這個要求的目的是什麼,一時間卻是想不出來。
高振東笑道:“這個算法,我們可以叫它多道GM-1算法,至于用這種規定,是為了保持和單道GM-1算法的兼容性。
”
在場的人都陷入了思考,有點兒繞。
這次先反應過來的,是程序員,畢竟兼容性是他們的專業範疇。
“啊,我明白了,這樣一來,當每次使用的密鑰都是相同的時候,多道GM-1的加密結果就與單道GM-1是一緻的!!”
這下大家都聽懂了,都稱贊高振東這個規定太巧妙了。
整個多道GM-1的算法都很巧妙,利用多道加密,可以随心所欲的通過加密次數極大提升加密強度,同時又巧妙的在偶數次加密中利用解密算法進行加密,解決了單道加密與多道加密之間的兼容性問題。
聽懂了高振東的意思,防工委領導當即拍闆:“幹!”
對于這個結果,離開防工委的高振東心情極為高興,無需不遠千裡坐飛機送一些機密文件了,那有些意外也許就不會發生了。
雖然自己搞出了DJS-59并普及開來,肯定極大改變了大漠工程的進度和過程,有的遺憾應該不會再發生,但是能多加一層保險,總是好事。
(本章完)