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

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

December 9, 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

OpenSSL 指令實作橢圓曲線 ECDH 金鑰交換與 AES 加密教學與範例

介紹如何以 OpenSSL 的指令實作橢圓曲線 ECDH 金鑰交換,並參考 ECIES 加密架構,搭配 AES 演算法加密資料。 本篇文章屬於個人學習記錄,內容可能有誤,僅供參考,請勿用於正式環境。 OpenSSL 指令實作 ECDH 金鑰交換 橢圓曲線迪菲-赫爾曼(Elliptic Curve Diffie–Hellman,簡稱 ECDH)金鑰交換方法是雙方利用由橢圓曲線密碼學建立的公鑰與私鑰對,在一個不安全的通道中,建立一組雙方共享的密鑰。 ...

December 4, 2022 · G. T. Wang