• <small id="u6moa"><li id="u6moa"></li></small><small id="u6moa"><li id="u6moa"></li></small>
  • <li id="u6moa"></li>
  • <li id="u6moa"><button id="u6moa"></button></li>
  • <small id="u6moa"><li id="u6moa"></li></small>
  • <td id="u6moa"><button id="u6moa"></button></td><li id="u6moa"><li id="u6moa"></li></li>
  • <small id="u6moa"></small><xmp id="u6moa">
  • <menu id="u6moa"></menu>
  • <menu id="u6moa"></menu>
  • <menu id="u6moa"></menu><small id="u6moa"><td id="u6moa"></td></small>
    畢業設計網
    畢業設計論文 | 畢業設計任務書 | 計算機外文翻譯 | 文獻綜述 | 機械模具類 | 課程設計 |

    基于國產加密算法OpenVPN的研究與實現

    OpenVPN是基于OpenSSL開發的VPN軟件,在政府、企業中被廣泛使用。其通過調用SSL庫完成數據加密、會話建立等功能,繼承了OpenSSL的眾多機制。在OpenSSL中,EVP封裝給密碼算法提供了一種通用統一的API,而引擎機制可快捷的加載自定義算法。因此,通過使用這兩種機制,能夠實現對自定義算法的加載調用,這為在OpenVPN中替換國產加密算法提供了可能性。本文通過介紹國產橢圓曲線公鑰密碼算法SM2、雜湊算法SM3以及分組密碼SM4算法;研究OpenSSL加密庫中的EVP、引擎機制,完成用自定義算法替換SSL庫中的密碼算法;調用動態庫來加載SM2、SM3、SM4算法,并將算法應用到OpenVPN的數據加密中。這不僅加快OpenVPN在我國政府部門的普及,同時對信息產品支持國產密碼算法的開發和應用具有指導意義。
     
    論文結構安排
    本文共分為五章,具體內容安排如下:
    第一章是緒論。本章主要介紹課題選題背景、研究內容和論文結構安排。
    第二章是國密算法基礎。本章介紹了國產密碼算法,重點介紹了SM2、SM3、SM4算法的特點以及其與國際流行密碼的比對,同時還詳細研究了分組密碼的加密模式。
    第三章是VPN基礎。介紹了常用VPN的分類SSL和IPSec VPN,同時還對OpenVPN的原理、概述做了詳細的研究。
    第四章是OpenSSL函數庫。介紹了EVP、引擎機制的特點以及工作原理。
    第五章是SM動態庫。介紹了動態庫sm是如何生成,以及對庫sm進行功能測試。并將該庫應用在OpenVPN中。
     
    用國產密碼來逐步替換洋密碼,既響應國家提出的密碼國有化思想,同時也是信息化時代發展的迫切需要。國產加密算法在理論上具有很高的安全性,并且從使用效果來看,其加密效率也很出色,因此完全可以和國際流行算法相媲美。同時,應該相應一點,采用國產算法加密就意味著更安全。本畢設用到的國密算法主要是SM2、SM3、SM4算法。
    本畢設最為核心的內容莫過于sm.c代碼的生成,通過對OpenSSL提供的兩大重要機制—EVP機制和引擎機制的研究,本人以一種極為簡單的方式實現了在OpenSSL中使用國產密碼算法,相較于將國密算法注冊至SSL加密庫中來實現國密算法增添的方法而言,通過引擎的方式更為高效,且不需要再編譯OpenSSL庫。
    EVP機制不僅可以將SSL庫中的所有密碼算法進行封裝,也可以封裝自定義密碼算法,并提供一個幾乎通用的API接口,使得應用開發者可以以更為透明的方式的調用庫中的密碼算法,極大的提高了開發效率。
    以上是一部分介紹,如需要完整的資料或者如不符合您的要求,請聯系技術人員qq:242219979咨詢

    上一篇:《大學信息技術基礎》精品課程網站設計
    下一篇:基于USB Key文件加密方案的設計與實現


    版權所有 畢業設計網聯系qq:242219979 © 2007-2022

    蝴蝶中文综合娱乐网
  • <small id="u6moa"><li id="u6moa"></li></small><small id="u6moa"><li id="u6moa"></li></small>
  • <li id="u6moa"></li>
  • <li id="u6moa"><button id="u6moa"></button></li>
  • <small id="u6moa"><li id="u6moa"></li></small>
  • <td id="u6moa"><button id="u6moa"></button></td><li id="u6moa"><li id="u6moa"></li></li>
  • <small id="u6moa"></small><xmp id="u6moa">
  • <menu id="u6moa"></menu>
  • <menu id="u6moa"></menu>
  • <menu id="u6moa"></menu><small id="u6moa"><td id="u6moa"></td></small>