本發明提供一種數據通信的加密方法、裝置、計算機設備和可讀存儲介質,所述方法包括:獲取公開密鑰和私有密鑰;根據所述公開密鑰,將待加密的通信明文數據加密成一階密文;根據所述私有密鑰和橢圓曲線加密方法,將所述一階密文加密成二階密文進行傳輸,使接收端根據所述私有密鑰對所述二階密文和所述一階密文進行解密,得到所述通信明文數據;本發明解決了現有技術中數據通信的加密方法單一的問題,提高算法的可靠性和加密效率,防止算法的暴力破解,進一步地提高數據通信的安全性。
技術領域
本發明涉及信息安全技術領域,具體涉及一種數據通信的加密方法、裝置、計算機設備和可讀存儲介質。
背景技術
隨著我國智慧工地的大力發展,智慧工地信息系統的安全性也不容忽視。在智慧工地的系統同大量使用各種傳感器和無線數據傳輸協議,這些數據如果不進行加密處理,會導致大量的工地數據外流,特別是設計到一些涉密建設工地。
目前,通常采用對關鍵數據進行加密或通過不同的加密方式對關鍵數據和所有同時進行加密;生成不同的秘鑰存儲在本地數據庫中,并為每個終端建立對應秘鑰的索引;終端接收傳輸的數據后根據索引查找對應的秘鑰后,通過秘鑰解密獲得最終數據,但是加密方式單一,導致數據在傳輸過程中存在安全隱患。
發明內容
針對現有技術中所存在的不足,本發明提供的數據通信的加密方法、裝置、計算機設備和可讀存儲介質,解決了現有技術中數據通信的加密方法單一的問題,提高算法的可靠性和加密效率,防止算法的暴力破解,進一步地提高數據通信的安全性。
第一方面,本發明提供一種數據通信的加密方法,所述方法包括:獲取公開密鑰和私有密鑰;根據所述公開密鑰,將待加密的通信明文數據加密成一階密文;根據所述私有密鑰和橢圓曲線加密方法,將所述一階密文加密成二階密文進行傳輸,使接收端根據所述私有密鑰對所述二階密文和所述一階密文進行解密,得到所述通信明文數據。
可選地,獲取公開密鑰和私有密鑰,包括:獲取第一素數和第二素數;根據所述第一素數和所述第二素數,獲取第一中間數的歐拉函數,所述第一中間數為所述第一素數和所述第二素數的乘積;根據所述第一中間數據的歐拉函數和最大公約函數,計算出第二中間數;將所述第一中間數和所述第二中間數作為公開密鑰,并根據所述第一中間數和所述第二中間數計算出私有密鑰。
可選地,根據所述第一中間數和所述第二中間數計算出私有密鑰的公式表達式為:
e·d≡1mod?s(n)
其中,n表示第一中間數,e表示第二中間數,d表示私有密鑰,s(n)表示第一中間數n的歐拉函數。
可選地,根據所述公開密鑰,將待加密的通信明文數據加密成一階密文的公式表達式為:
C=Me?mod?n
其中,C表示一階密文,M表示通信明文數據。
可選地,根據所述私有密鑰和橢圓曲線加密方法,將所述一階密文加密成二階密文,包括:選取一條橢圓曲線和所述橢圓曲線上一點作為基點;根據所述基點和所述私有密鑰,生成曲線公鑰;將所述一階密文編碼到所述橢圓曲線上,得到所述一階密文對應的目標點;根據所述曲線公鑰對所述目標點進行加密,得到所述二階密文。
可選地,根據所述曲線公鑰對所述目標點進行加密的公式表達式為:
其中,基點G的坐標為(x,y),目標點C′的坐標為(m1,m2),二階密文C″為(C0,C1,C2)。