C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例

介紹如何在 C 語言中使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換。 產生橢圓曲線金鑰對 在實作橢圓曲線 ECDH 金鑰交換之前,要先產生兩對橢圓曲線的金鑰對,以下是以 C 語言程式的方式來產生金鑰的範例: ...

December 9, 2022 · G. T. Wang

Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例

介紹如何在 Python 中使用 eciespy 模組產生 ECC 金鑰,並對資料進行加密與解密。 橢圓曲線密碼學(Elliptic Curve Cryptography,縮寫為 ECC)是一種新興的公鑰加密方式,跟 RSA 加密演算法相較之下,ECC 只需要較小的密鑰長度即可提供相當等級的安全性,所需要的 CPU 計算與記憶體資源也相對較低。 ...

December 8, 2022 · G. T. Wang

C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

介紹如何在 C 語言中使用 OpenSSL 函式庫實作各種 PBKDF2 密鑰延伸演算法。 PBKDF2(Password-Based Key Derivation Function)是一種密鑰延伸(key stretching)演算法,透過反覆的大量運算,降低密鑰產生的速度,讓暴力破解的難度變高。實務上 PBKDF2 會搭配 SHA1、SHA256、SHA512 等雜湊演算法,以下是以 OpenSSL 函式庫實作的 C 語言範例。 ...

December 8, 2022 · G. T. Wang

C 語言使用 OpenSSL 實作 AES 加密、解密教學與範例

介紹如何在 C 語言程式中使用 OpenSSL 函式庫,以 AES 對稱式加密演算法實作資料的加密與解密。 安裝 OpenSSL 函式庫 若在 Ubuntu Linux 中,可以使用 apt 安裝 OpenSSL 函式庫與編譯相關套件: ...

December 6, 2022 · G. T. Wang

OpenSSL 指令產生、驗證 ECDSA 橢圓曲線數位簽章教學與範例

介紹如何使用 OpenSSL 指令產生橢圓曲線加密金鑰,以 ECDSA 對檔案進行數位簽章,並驗證簽章有效性。 OpenSSL 指令實作 ECDSA 橢圓曲線數位簽章 在實作 ECDSA 之前,要先決定採用的橢圓曲線,我們可以使用已下指令查詢 OpenSSL 中支援的橢圓曲線: ...

December 5, 2022 · G. T. Wang