—— 完 ——
龍蜥開發者說:從入坑到入門 | 第 2 期
本期故事主角:
張天佳
,龍蜥社群 商密軟體棧 SIG
Maintainer,
安全技術開發,專注於國內商用密碼的技術開發以及推廣工作。
回想自己與程式設計的經歷,從最初的一通瞎折騰,到現在能
參與以及
貢獻基礎軟體社群,已經有十多年時間了
。很遺憾,這段經歷的大多半時間都是走在一個錯誤的方向上的,至少現在我是這麼認為的。確實沒有什麼精彩的故事,
藉著給龍蜥社群朋友們分享的契機講一講,
列
位看官權且當作教訓來看,當作吃別人一塹,長自己一智吧。
扯回正題,因為工作涉及系統開發的緣故,抱著很不情願的狀態開始使用 C 語言,也許是有彙編基礎,C 語言學習起來就順利了很多,對於許多人詬病的指標好像也沒說的那麼複雜。其實當時行業主流使用的是 C++ 語言,奈何一直沒有學會,直到現在也是一知半解。就這樣渾渾噩噩的六年多,分析過 CVE、寫過 POC、核心監控、各種 HOOK 信手拈來,開發語言也主要集中在 C、lua 和彙編。但是基本沒做什麼像樣的專案,隨著近幾年作業系統自身安全性提升和軟體分發的把控,作業系統安裝一個專門的主機安全軟體的必要性也越來越小。
我很喜歡我們公司內部的一句話 「一次性把事情做對」 ,拿國密來說,從開始的演算法標準制定到現在也有十多年的時間了,目前仍然沒有被廣泛使用是有原因的,工程上的碎片化是很重要的一點,這也是我們一開始堅持的原則,龍蜥的國密不是要做另一個碎片的國密實現,而是把國密的工程實現統一到日常使用的基礎軟體中去,避免以後國內大量的資源和人力重複投入,一次性把這個事情做好。
sm4-generic | 16 64 128 256 1024 1420 4096
ECB en c | 80.05 91.42 93.66 94.77 95.69 95.77 95.86
ECB dec | 79.98 91.41 93.64 94.76 95.66 95.77 95.85
CBC enc | 78.55 86.50 88.02 88.77 89.36 89.42 89.48
CBC dec | 76.82 89.06 91.52 92.77 93.75 93.83 93.96
CFB enc | 77.64 86.13 87.62 88.42 89.08 88.83 89.18
CFB dec | 77.57 88.34 90.36 91.45 92.34 92.00 92.44
CTR enc | 77.80 88.28 90.23 91.22 92.11 91.81 92.25
CTR dec | 77.83 88.22 90.22 91.22 92.04 91.82 92.28
ECB enc | 28.31 112.77 203.03 209.89 215.49 202.11 210.59
ECB dec | 28.36 113.45 203.23 210.00 215.52 202.13 210.65
CBC enc | 79.32 87.02 88.51 89.28 89.85 89.89 89.97
CBC dec | 28.29 112.20 203.30 209.82 214.99 201.51 209.95
CFB enc | 79.59 87.16 88.54 89.30 89.83 89.62 89.92
CFB dec | 28.12 111.05 202.47 209.02 214.21 210.90 209.12
CTR enc | 28.04 108.81 200.62 206.65 211.78 208.78 206.74
CTR dec | 28.02 108.82 200.45 206.62 211.78 208.74 206.70
sm4-ce-cipher
ECB enc | 336.79 587.13 682.70 747.37 803.75 811.52 818.06
E CB dec | 339.18 584.52 679.72 743.68 798.82 803.83 811.54
CBC enc | 316.63 521.47 597.00 647.14 690.82 695.21 700.55
CBC dec | 291.80 503.79 585.66 640.82 689.86 695.16 701.72
CFB enc | 294.79 482.31 552.13 594.71 631.60 628.91 638.92
CFB dec | 293.09 466.44 526.56 563.17 594.41 592.26 601.97
CTR enc | 309.61 506.13 576.86 620.47 656.38 654.51 665.10
CTR dec | 306.69 505.57 576.84 620.18 657.09 654.52 665.32
sm4-ce
ECB enc | 366.96 1329.81 2024.29 2755.50 3790.07 3861.91 4051.40
ECB dec | 367.30 1323.93 2018.72 2747.43 3787.39 3862.55 4052.62
CBC enc | 358.09 682.68 807.24 885.35 958.29 963.60 973.73
CBC dec | 366.51 1303.63 1978.64 2667.93 3624.53 3683.41 3856.08
CFB enc | 351.51 681.26 807.81 893.10 968.54 969.17 985.83
CFB dec | 354.98 1266.61 1929.63 2634.81 3614.23 3611.59 3841.68
CTR enc | 324.23 1121.25 1689.44 2256.70 2981.90 3007.79 3060.74
CTR dec | 324.18 1120.44 1694.31 2258.32 2982.01 3010.09 3060.99
程式語言世界素來有江湖門派之爭,文中難免涉及個人主觀判斷,只是代表個人想法和意見,僅供大家參考。
釘釘交流群:35789429
本期分享到這裡結束,期待下期精彩分享哦!
加入龍蜥社群
加入微信群:新增社群助理-龍蜥社群小龍(微信:openanolis_assis),備註【龍蜥】與你同在;加入釘釘群:掃描下方釘釘群二維碼。歡迎開發者/使用者加入龍蜥社群(OpenAnolis)交流,共同推進龍蜥社群的發展,一起打造一個活躍的、健康的開源作業系統生態!
龍蜥社群( OpenAnolis)是由 企事業單位、高等院校、科研單位、非營利性組織、個人等在自願、平等、開源、協作的基礎上組成的非盈利性開源社群。龍蜥社群成立於 2020 年 9 月,旨在構建一個開源、中立、開放的Linux 上游發行版社群及創新平臺。
龍蜥社群成立的短期目標是開發龍蜥作業系統(Anolis OS)作為 CentOS 停服後的應對方案,構建一個相容國際 Linux 主流廠商的社群發行版。中長期目標是探索打造一個面向未來的作業系統,建立統一的開源作業系統生態,孵化創新開源專案,繁榮開源生態。
目前, 龍蜥OS 8.4 已釋出,支援 X86_64 、Arm64、LoongArch 架構,完善適配飛騰、海光、兆芯、鯤鵬、龍芯等晶片,並提供全棧國密支援。
歡迎加入我們,一起打造面向未來的開源作業系統!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2871718/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 龍蜥開發者說:歷時三週,記錄如何從 0 到 1 構建龍蜥衍生版 | 第 18 期
- 龍蜥開發者說:不忘初心,方得始終 | 第 7 期
- 龍蜥開發者說:首次觸電,原來你是這樣的龍蜥社群? | 第 8 期
- 龍蜥開發者說:我眼裡的龍蜥社群:一個包容的大家庭 | 第 10 期
- 龍蜥開發者說:從零開始的創造,是動力也是挑戰 | 第5期
- 龍蜥開發者說:海納百川,有容乃大,我在龍蜥社群的升級之旅 | 第 11 期
- 「龍蜥開發者說」徵稿啦!
- 龍蜥開發者說:一人行快,眾人行遠!在龍蜥社群的日子,我想說這些 | 第 12 期
- 龍蜥開發者說:給晶片以系統、給系統以社群 | 第 17 期晶片
- 微信小程式從入坑到入門微信小程式
- Docker 從入門到掉坑Docker
- Angular 從入坑到挖坑 - Angular 使用入門Angular
- 正規表示式從入門到入坑
- 龍蜥開發者說:聊一聊我技術生涯的“三次迭代” | 第 3 期
- 龍蜥開發者說:為愛發電!當一個龍蜥社群打包 Contributor 是怎樣的體驗?| 第16期
- JavaWeb從入門到入土第10天JavaWeb
- scala 從入門到入門+
- makefile從入門到入門
- 龍蜥開發者說:眾人拾柴火焰高!聊一聊我在社群的所思所想 | 第 14期
- Minecraft 從入門到入坑(邊玩遊戲邊學程式設計)Raft遊戲程式設計
- 龍蜥開發者說:6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數 | 第 15 期
- 從放棄到入門-Yaf(細說目錄)
- 從放棄到入門-Yaf(從控制器說起)
- 從入門到放棄——快應用踩坑之路
- 《Python程式設計:從入門到實踐》第2章習題Python程式設計
- Rust從入坑到入土-入坑-String compared to strRust
- 龍蜥開發者說:學無止境的 Linux ,以及我的第一個定製版本釋出之路 | 第4期Linux
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- Java學習從入門到精通(2)(轉)Java
- kafka從入門到關門Kafka
- Elasticsearch從入門到放棄:瞎說MappingElasticsearchAPP
- Python程式設計:從入門到實踐(第2版)第1章習題答案Python程式設計
- Thymeleaf從入門到精通
- LESS從入門到精通
- Git 從入門到精通Git
- Shell從入門到精通
- Promise從入門到精通Promise
- babel從入門到跑路Babel