第343章 FPGA震撼計算所!國產密碼火花!重點項目的敲門磚!
2004年四月二十一號。周三。
早上八點半。中科院計算所。信息安全組會議室。
林遠提前半小時到了。
會議室不大,能坐二十個人。橢圓形長桌,投影儀,白板。主題——"受限硬體環境下的密碼算法實現"。
劉教授已經在調試投影儀了。林遠把U盤插上,五頁幻燈片投射到白牆——數據都是現成的,從上月FPGA調研到現在積累的全部測試結果。
"人大概九點到。"劉教授看了看手錶,"信息安全組全組,加上陳偉東課題組的人。大概十五個。"
"陳偉東老師也來?"
"他專門來的。"劉教授說,"他對你在FPGA上做的橢圓曲線算法實現很感興趣。"
九點。人坐滿了。
林遠掃了一眼——大部分面孔在上月FPGA調研時見過。前排中間坐著陳偉東,四十出頭,圓臉,戴黑框眼鏡,手裡拿著一個筆記本。
劉教授簡單開場:"今天的報告由北大的林遠同學做。主題是他主導的CTIN引擎在FPGA上的實現——從算法設計到硬體部署,包括性能測試結果。下面交給林遠。"
林遠站起來,走到投影儀旁邊。
"各位老師好。我是林遠,今天報告的主題是——CTIN在FPGA上的實現。"
第一頁。背景。
"CTIN是一個基於信任網絡的加密通信引擎。核心運算包括橢圓曲線算法標量乘法、對稱加密、哈希運算。軟體版本在ARM XScale PXA255平台上,橢圓曲線算法標量乘法吞吐量是943次每秒。"
他頓了一下。
"943次每秒——對於嵌入式場景勉強夠用,但對於需要高吞吐量的安全網關和硬體加密模塊,這個速度不夠。"
第二頁。FPGA方案。
"Xilinx Virtex-II Pro平台。核心思路——將橢圓曲線算法標量乘法的關鍵運算映射到硬體資源。大數乘法用DSP48塊,Montgomery約減用流水線展開,標量乘法用Montgomery ladder算法在硬體上完整展開。"
第三頁。性能對比。
"測試結果——"
他指向屏幕上的數字。
"橢圓曲線算法 256位標量乘法吞吐量:35200次每秒。"
會議室里有人吸了口氣。
"對比ARM平台的943次每秒——提升了37.3倍。功耗方面,滿載8.2瓦,被動散熱。功耗效率4304次每秒每瓦。"
第四頁。甲方指標對比。
"如果目標指標是5000次每秒——FPGA方案的冗餘倍數是7倍。"
(由於緩存原因,請用戶直接瀏覽器訪問𝗧𝗪看書網→𝘀𝗵𝘂.𝘁𝘄網站,觀看最快的章節更新)
他停了兩秒。
"7倍冗餘意味著——即使後續增加側信道防護、加入抗干擾邏輯導致性能下降30%,仍然有4.9倍的裕量。"
第五頁。後續方向。
"兩個方向。第一,時序優化——通過進位保留加法器減少關鍵路徑延遲,預期吞吐量可以再提升40%到50%。第二——"
他看了一眼劉教授。
"國產密碼算法適配。"
報告結束。掌聲。
陳偉東第一個舉手。
"林遠,35200次每秒——這個數字是持續運行的穩定值,還是峰值?"
"穩定值。"林遠說,"八小時連續測試,標準差0.2%。正式報告由劉教授簽字。"
陳偉東點了點頭。"功耗8.2瓦——被動散熱能做到?"
"能。晶片表面溫度穩定在62度。加一個小散熱片就夠了,不需要風扇。"
"有意思。"陳偉東在筆記本上寫了幾個字。
劉教授也開口了:"林遠,你提到的國產密碼算法適配——具體說說你的思路。"
"國產密碼體系的核心是SM系列。SM2是橢圓曲線公鑰密碼,算法結構和橢圓曲線算法相似——我們現有的FPGA架構可以復用大部分模塊,只需要替換曲線參數和約減邏輯。SM3是哈希算法,類似SHA-256但壓縮函數不同——可以在FPGA上單獨實現一個哈希流水線。SM4是分組密碼,類似AES但輪函數結構不同——S盒實現方式需要調整。"
"工作量呢?"
"SM2——一個月。曲線參數不同,但硬體架構通用。SM3——兩周。SM4——兩周。總共一個半月可以出第一版。"
陳偉東放下筆。"一個半月——你是說,從開始到FPGA上跑通?"
"對。前提是現有Virtex-II Pro平台的資源夠用。初步評估——SM2需要的邏輯單元和橢圓曲線算法差不多,SM3和SM4的資源消耗遠小於橢圓曲線算法。總共大概需要額外30%的邏輯資源。當前板卡有33000個邏輯單元,橢圓曲線算法用了大約40%,剩餘足夠。"
陳偉東看了看劉教授。劉教授微微點頭。
"林遠。"陳偉東說,"你對SM系列的FPGA實現——有具體的技術路線嗎?"
"大方向有。"林遠說,"但具體到RTL級別的實現細節,還需要進一步研究。SM2的橢圓曲線選擇——目前國標推薦的是256位曲線,和我們現有的橢圓曲線算法曲線不同。 Montgomery約減的模數也要換。"
"那——"陳偉東頓了一下,"如果你有興趣,可以和我們課題組合作。我們正好在做一個方向——網絡安全態勢分析系統。系統需要處理大量加密流量,對加解密性能有硬需求。如果你的FPGA方案能集成進來——"
"什麼級別的項目?"
陳偉東看了他一眼。"863。"
林遠心跳快了一拍。
863——國家重點研究發展計劃。如果他的FPGA加密方案能進入863項目,就不只是學術研究了——是國家級的工程化驗證。
"具體方向是?"
"大規模網絡環境下的實時加密流量分析。"陳偉東說,"目前瓶頸在加解密速度——流量太大,軟體加解密跟不上。如果FPGA能做到線速加密——"
"線速?"
"千兆乙太網。線速加密意味著——每一幀數據包經過加密硬體的延遲不超過微秒級。你的FPGA方案——35200次每秒——如果優化到五萬次,單次運算延遲二十微秒。千兆乙太網的幀間隔是九點六微秒。"
"差一點。"林遠算了一下,"二十微秒 vs 九點六微秒——差一倍。"
"所以我說——如果優化到五萬次。"
"時序優化之後可以達到。"林遠說,"進位保留加法器+流水線深度優化——保守估計提升40%,樂觀估計50%。52800次每秒。單次延遲十九微秒。"
"十九微秒——還是差一點。"
"如果換更大的FPGA呢?"林遠說,"Virtex-II Pro是33000邏輯單元。如果換Virtex-4——85000邏輯單元。雙核並行,一個核加密,一個核做協議解析。"
陳偉東眼睛亮了。
"這個思路好。雙核並行——加密和解析流水線化。"
劉教授在旁邊插話:"Virtex-4的板卡計算所有幾塊。可以做。"
研討會結束。十一點半。
大部分人散了。陳偉東走到林遠面前。
"林遠,聊聊?"
兩個人走到走廊盡頭的窗邊。
"你剛才說的雙核並行——不是隨口說的吧?"
"不是。"林遠說,"CTIN引擎本身就是模塊化設計。加密模塊和協議解析模塊本來就是獨立的。放到FPGA上,天然適合雙核。"
"那你願不願意——把這個方向正式納入我們的863課題?"
"什麼形式?"
"你以聯合研究者的身份參與。"陳偉東說,"我們提供Virtex-4板卡、千兆乙太網測試環境、以及流量數據。你負責FPGA加密模塊的設計和實現。"
"和軟體所周老師那邊的課題衝突嗎?"
"不衝突。"陳偉東說,"周明哲做密碼算法理論,我做工程化應用。兩條線並行。你兩邊都參與——正好。"
"我需要和周老師商量一下。"
"當然。"陳偉東說,"如果決定參與,五月初給我一個初步方案。六月863中期檢查,FPGA加密模塊要作為亮點展示。"
"五月初——時間緊。但我可以。"
陳偉東拍了拍他的肩膀。"等你消息。"
中午。食堂。
劉教授和林遠坐在一起。
"陳偉東找你聊了?"
"聊了。863課題,FPGA加密模塊。"
"你怎麼想?"
"想參加。但時間壓力很大——遠望這邊2004年五月十八號要交付,德勤五月中旬要看演示。"
"我建議參加。"劉教授說,"863的平台比你想像的大。還有一點——"他壓低聲音,"陳偉東這個項目,和上面的重點項目有關係。"
林遠夾菜的手停了一下。
"具體不方便說。"劉教授說,"但你應該能猜到——網絡安全態勢分析,千兆線速加密,這些需求不僅僅是學術界的。"
"我明白。"林遠說,"從做CTIN的第一天起,我就知道——密碼學走到最後,一定會碰到那條線。"
劉教授看著他,搖了搖頭。"你這個年輕人——有時候比我想像的還清楚。"
下午兩點。回到工作室。
蘇明遠在等他。
"計算所怎麼樣?"
"報告做完了。反響不錯。"林遠坐下,"有個新情況——陳偉東想讓我參與他的863課題。FPGA加密模塊。"
"863?"蘇明遠坐直了,"國家級課題?"
"對。"
"好事啊。"蘇明遠說,"但這和你的公司有時間衝突吧?"
"有。"林遠說,"所以我需要你幫我把白皮書的進度再推一推。商務部分——你周五之前給我。我拿到之後周末整合,下周一給德勤初稿。"
"周五——"蘇明遠算了算,"還有四天。夠。"
"還有一件事。"林遠說,"德勤五月中旬來看演示——具體時間可能在2004年五月十二號前後。如果演示成功,平台公司的估值邏輯會完全不同。"
"所以演示必須成功。"
"必須。"
蘇明遠點頭。"我明白了。白皮書我來催。"
林遠打開墨鋒,在白板上更新進度。四標準開發——國際審計準則/美國政府會計/國際財報準則全部100%,安全標準體系還剩最後5%。集成測試未開始。白皮書技術部分前三章完成。
然後在白板最下方加了一行——
新增:863課題-陳偉東-FPGA加密模塊(待確認參與)
四條線變成五條線。時間越來越緊。但每一條都在往前推。
早上八點半。中科院計算所。信息安全組會議室。
林遠提前半小時到了。
會議室不大,能坐二十個人。橢圓形長桌,投影儀,白板。主題——"受限硬體環境下的密碼算法實現"。
劉教授已經在調試投影儀了。林遠把U盤插上,五頁幻燈片投射到白牆——數據都是現成的,從上月FPGA調研到現在積累的全部測試結果。
"人大概九點到。"劉教授看了看手錶,"信息安全組全組,加上陳偉東課題組的人。大概十五個。"
"陳偉東老師也來?"
"他專門來的。"劉教授說,"他對你在FPGA上做的橢圓曲線算法實現很感興趣。"
九點。人坐滿了。
林遠掃了一眼——大部分面孔在上月FPGA調研時見過。前排中間坐著陳偉東,四十出頭,圓臉,戴黑框眼鏡,手裡拿著一個筆記本。
劉教授簡單開場:"今天的報告由北大的林遠同學做。主題是他主導的CTIN引擎在FPGA上的實現——從算法設計到硬體部署,包括性能測試結果。下面交給林遠。"
林遠站起來,走到投影儀旁邊。
"各位老師好。我是林遠,今天報告的主題是——CTIN在FPGA上的實現。"
第一頁。背景。
"CTIN是一個基於信任網絡的加密通信引擎。核心運算包括橢圓曲線算法標量乘法、對稱加密、哈希運算。軟體版本在ARM XScale PXA255平台上,橢圓曲線算法標量乘法吞吐量是943次每秒。"
他頓了一下。
"943次每秒——對於嵌入式場景勉強夠用,但對於需要高吞吐量的安全網關和硬體加密模塊,這個速度不夠。"
第二頁。FPGA方案。
"Xilinx Virtex-II Pro平台。核心思路——將橢圓曲線算法標量乘法的關鍵運算映射到硬體資源。大數乘法用DSP48塊,Montgomery約減用流水線展開,標量乘法用Montgomery ladder算法在硬體上完整展開。"
第三頁。性能對比。
"測試結果——"
他指向屏幕上的數字。
"橢圓曲線算法 256位標量乘法吞吐量:35200次每秒。"
會議室里有人吸了口氣。
"對比ARM平台的943次每秒——提升了37.3倍。功耗方面,滿載8.2瓦,被動散熱。功耗效率4304次每秒每瓦。"
第四頁。甲方指標對比。
"如果目標指標是5000次每秒——FPGA方案的冗餘倍數是7倍。"
(由於緩存原因,請用戶直接瀏覽器訪問𝗧𝗪看書網→𝘀𝗵𝘂.𝘁𝘄網站,觀看最快的章節更新)
他停了兩秒。
"7倍冗餘意味著——即使後續增加側信道防護、加入抗干擾邏輯導致性能下降30%,仍然有4.9倍的裕量。"
第五頁。後續方向。
"兩個方向。第一,時序優化——通過進位保留加法器減少關鍵路徑延遲,預期吞吐量可以再提升40%到50%。第二——"
他看了一眼劉教授。
"國產密碼算法適配。"
報告結束。掌聲。
陳偉東第一個舉手。
"林遠,35200次每秒——這個數字是持續運行的穩定值,還是峰值?"
"穩定值。"林遠說,"八小時連續測試,標準差0.2%。正式報告由劉教授簽字。"
陳偉東點了點頭。"功耗8.2瓦——被動散熱能做到?"
"能。晶片表面溫度穩定在62度。加一個小散熱片就夠了,不需要風扇。"
"有意思。"陳偉東在筆記本上寫了幾個字。
劉教授也開口了:"林遠,你提到的國產密碼算法適配——具體說說你的思路。"
"國產密碼體系的核心是SM系列。SM2是橢圓曲線公鑰密碼,算法結構和橢圓曲線算法相似——我們現有的FPGA架構可以復用大部分模塊,只需要替換曲線參數和約減邏輯。SM3是哈希算法,類似SHA-256但壓縮函數不同——可以在FPGA上單獨實現一個哈希流水線。SM4是分組密碼,類似AES但輪函數結構不同——S盒實現方式需要調整。"
"工作量呢?"
"SM2——一個月。曲線參數不同,但硬體架構通用。SM3——兩周。SM4——兩周。總共一個半月可以出第一版。"
陳偉東放下筆。"一個半月——你是說,從開始到FPGA上跑通?"
"對。前提是現有Virtex-II Pro平台的資源夠用。初步評估——SM2需要的邏輯單元和橢圓曲線算法差不多,SM3和SM4的資源消耗遠小於橢圓曲線算法。總共大概需要額外30%的邏輯資源。當前板卡有33000個邏輯單元,橢圓曲線算法用了大約40%,剩餘足夠。"
陳偉東看了看劉教授。劉教授微微點頭。
"林遠。"陳偉東說,"你對SM系列的FPGA實現——有具體的技術路線嗎?"
"大方向有。"林遠說,"但具體到RTL級別的實現細節,還需要進一步研究。SM2的橢圓曲線選擇——目前國標推薦的是256位曲線,和我們現有的橢圓曲線算法曲線不同。 Montgomery約減的模數也要換。"
"那——"陳偉東頓了一下,"如果你有興趣,可以和我們課題組合作。我們正好在做一個方向——網絡安全態勢分析系統。系統需要處理大量加密流量,對加解密性能有硬需求。如果你的FPGA方案能集成進來——"
"什麼級別的項目?"
陳偉東看了他一眼。"863。"
林遠心跳快了一拍。
863——國家重點研究發展計劃。如果他的FPGA加密方案能進入863項目,就不只是學術研究了——是國家級的工程化驗證。
"具體方向是?"
"大規模網絡環境下的實時加密流量分析。"陳偉東說,"目前瓶頸在加解密速度——流量太大,軟體加解密跟不上。如果FPGA能做到線速加密——"
"線速?"
"千兆乙太網。線速加密意味著——每一幀數據包經過加密硬體的延遲不超過微秒級。你的FPGA方案——35200次每秒——如果優化到五萬次,單次運算延遲二十微秒。千兆乙太網的幀間隔是九點六微秒。"
"差一點。"林遠算了一下,"二十微秒 vs 九點六微秒——差一倍。"
"所以我說——如果優化到五萬次。"
"時序優化之後可以達到。"林遠說,"進位保留加法器+流水線深度優化——保守估計提升40%,樂觀估計50%。52800次每秒。單次延遲十九微秒。"
"十九微秒——還是差一點。"
"如果換更大的FPGA呢?"林遠說,"Virtex-II Pro是33000邏輯單元。如果換Virtex-4——85000邏輯單元。雙核並行,一個核加密,一個核做協議解析。"
陳偉東眼睛亮了。
"這個思路好。雙核並行——加密和解析流水線化。"
劉教授在旁邊插話:"Virtex-4的板卡計算所有幾塊。可以做。"
研討會結束。十一點半。
大部分人散了。陳偉東走到林遠面前。
"林遠,聊聊?"
兩個人走到走廊盡頭的窗邊。
"你剛才說的雙核並行——不是隨口說的吧?"
"不是。"林遠說,"CTIN引擎本身就是模塊化設計。加密模塊和協議解析模塊本來就是獨立的。放到FPGA上,天然適合雙核。"
"那你願不願意——把這個方向正式納入我們的863課題?"
"什麼形式?"
"你以聯合研究者的身份參與。"陳偉東說,"我們提供Virtex-4板卡、千兆乙太網測試環境、以及流量數據。你負責FPGA加密模塊的設計和實現。"
"和軟體所周老師那邊的課題衝突嗎?"
"不衝突。"陳偉東說,"周明哲做密碼算法理論,我做工程化應用。兩條線並行。你兩邊都參與——正好。"
"我需要和周老師商量一下。"
"當然。"陳偉東說,"如果決定參與,五月初給我一個初步方案。六月863中期檢查,FPGA加密模塊要作為亮點展示。"
"五月初——時間緊。但我可以。"
陳偉東拍了拍他的肩膀。"等你消息。"
中午。食堂。
劉教授和林遠坐在一起。
"陳偉東找你聊了?"
"聊了。863課題,FPGA加密模塊。"
"你怎麼想?"
"想參加。但時間壓力很大——遠望這邊2004年五月十八號要交付,德勤五月中旬要看演示。"
"我建議參加。"劉教授說,"863的平台比你想像的大。還有一點——"他壓低聲音,"陳偉東這個項目,和上面的重點項目有關係。"
林遠夾菜的手停了一下。
"具體不方便說。"劉教授說,"但你應該能猜到——網絡安全態勢分析,千兆線速加密,這些需求不僅僅是學術界的。"
"我明白。"林遠說,"從做CTIN的第一天起,我就知道——密碼學走到最後,一定會碰到那條線。"
劉教授看著他,搖了搖頭。"你這個年輕人——有時候比我想像的還清楚。"
下午兩點。回到工作室。
蘇明遠在等他。
"計算所怎麼樣?"
"報告做完了。反響不錯。"林遠坐下,"有個新情況——陳偉東想讓我參與他的863課題。FPGA加密模塊。"
"863?"蘇明遠坐直了,"國家級課題?"
"對。"
"好事啊。"蘇明遠說,"但這和你的公司有時間衝突吧?"
"有。"林遠說,"所以我需要你幫我把白皮書的進度再推一推。商務部分——你周五之前給我。我拿到之後周末整合,下周一給德勤初稿。"
"周五——"蘇明遠算了算,"還有四天。夠。"
"還有一件事。"林遠說,"德勤五月中旬來看演示——具體時間可能在2004年五月十二號前後。如果演示成功,平台公司的估值邏輯會完全不同。"
"所以演示必須成功。"
"必須。"
蘇明遠點頭。"我明白了。白皮書我來催。"
林遠打開墨鋒,在白板上更新進度。四標準開發——國際審計準則/美國政府會計/國際財報準則全部100%,安全標準體系還剩最後5%。集成測試未開始。白皮書技術部分前三章完成。
然後在白板最下方加了一行——
新增:863課題-陳偉東-FPGA加密模塊(待確認參與)
四條線變成五條線。時間越來越緊。但每一條都在往前推。