2019年3月29日,第十二期北大軟微-八分量協(xié)同實驗室學術(shù)沙龍活動如期展開。本次技術(shù)沙龍討論的主題是安全橢圓曲線加密算法的選取。北京大學的沈晴霓教授、方躍堅副教授、Trias胡志琳以及軟微學院眾位博士生、碩士生參與了此次沙龍,并由博士生馮新宇做出分享。
學術(shù)界已經(jīng)提出了很多不同的ECC選擇標準,每一個都試圖確保橢圓曲線離散對數(shù)問題(ECDLP)是困難的。而ECDLP是在給定用戶公鑰的情況下查找ECC用戶密鑰的問題。
但遺憾的是,雖然標準曲線在安全實現(xiàn)理論上可行,但實踐卻表明,ECDLP并不足以完全保障ECC的安全性。人們發(fā)現(xiàn),很多攻擊可以繞過困難問題,在不解決ECDLP的情況下破壞了現(xiàn)實中在使用的ECC。
因此,如何選擇更優(yōu)質(zhì)的曲線來保障安全,并能夠比較簡單的高效率實現(xiàn),就成了安全曲線相關(guān)課題擺在明面上的難題。
為了達到上述目的,許多解決方案通過各國的學術(shù)論文被提了出來。但隨后很多的研究表明,許多所謂能提高效率的決策都不靠譜,有的并沒有作用,還有的雖然有用,但是會損害安全性。
通過研究發(fā)現(xiàn),基于橢圓曲線的密碼系統(tǒng)主要有7個系統(tǒng)參數(shù)T=(q,F(xiàn)R,a,b,G,n,h),其中q表示所選擇的有限域;FR是有限域上的元素的表示方法;a和b表示橢圓曲線的參數(shù);G是在曲線上選擇的基點;n表示該基點的階,是一個足夠大的素數(shù);h是n的余因子,是一個小整數(shù)。
在所有橢圓曲線公鑰密碼體系的實現(xiàn)中,有兩種類型的基本運算:一類是在密碼體系設(shè)計階段要用到的基本運算,另一類是運行階段所要用到的。第一類是橢圓曲線密碼體系基本參數(shù)的選取,包括安全橢圓曲線的尋找和基點的選取兩部分;第二類是橢圓曲線有限域上的各種代數(shù)運算,包括點加、倍點和數(shù)乘三種運算。
另外,曲線系數(shù)的選取必須滿足判別式δ=4a3+27b2≠0,這是曲線選取的必要條件。異常曲線和超奇異曲線已經(jīng)被證明是不安全曲線,一定要避免使用。
在沙龍的后半段,大家提到安全快速的橢圓曲線密碼并行的實現(xiàn)方法。目前的實現(xiàn)方法都是串行的,而關(guān)于新的并行設(shè)計橢圓曲線加密方法的研究也為數(shù)不多,如果能在這個領(lǐng)域有所突破,無論理論上還是實踐中,都會是一件非常引人矚目的事。另外,倘若能在單點的基礎(chǔ)上,發(fā)展為多點并行,毫無疑問還會大大提升橢圓曲線加密的處理效率?;蛘?,通過軟硬件結(jié)合的方式來提高安全性,比如已經(jīng)有項目通過SGX與區(qū)塊鏈的結(jié)合來實現(xiàn)安全高效的方案。
下一期沙龍除了對有創(chuàng)新價值的學術(shù)論文進行分析,還將對并行的實現(xiàn)思路進行討論。Trias每周都會和北大舉辦沙龍活動,對區(qū)塊鏈技術(shù)以及Trias項目有疑問的小伙伴可以隨時將問題拋在技術(shù)交流群里,我們會及時作出回應噢。