系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

Linux为OpenSSL添加自定义加密算法的技巧

时间:2017-08-17来源:系统城装机大师作者:zhijie

  Linux系统OpenSSL是一套密码库系统,所以Linux系统使用OpenSSL的过程中,就一定会涉及给OpenSSL添加加密算法,本文就来介绍一下Linux为OpenSSL添加自定义加密算法的技巧。

  一、简介

  本文以添加自定义算法EVP_ssf33为例,介绍在OpenSSL中添加自定义加密算法的方法

  二、步骤

  1、修改crypto/object/objects.txt,注册算法OID,如下:

  rsadsi 3 255: SSF33: ssf33

  2、进入目录:crypto/object/,执行如下命令,生成算法的声明

  perl objects.pl objects.txt obj_mac.num obj_mac.h

  3、在crypto/evp/下添加e_ssf33.c,内容如下

  #include 《stdio.h》

  #include “cryptlib.h”

  #ifndef OPENSSL_NO_RC4

  #include 《openssl/evp.h》

  #include 《openssl/objects.h》

  #include 《openssl/rc4.h》

  /* FIXME: surely this is available elsewhere? */

  #define EVP_SSF33_KEY_SIZE 16

  typedef struct

  {

  RC4_KEY ks; /* working key */

  } EVP_SSF33_KEY;

  #define data(ctx) ((EVP_SSF33_KEY *)(ctx)-》cipher_data)

  static int ssf33_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv,int enc);

  static int ssf33_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl);

  static const EVP_CIPHER ssf33_evp_cipher=

  {

  NID_ssf33,

  1,

  EVP_SSF33_KEY_SIZE,

  0,

  EVP_CIPH_VARIABLE_LENGTH,

  ssf33_init_key,

  ssf33_cipher,

  NULL,

  sizeof(EVP_SSF33_KEY),

  NULL,

  NULL,

  NULL,

  NULL

  };

  const EVP_CIPHER *EVP_ssf33(void)

  {

  return(&ssf33_evp_cipher);

  }

  static int ssf33_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc)

  {

  RC4_set_key(&data(ctx)-》ks,EVP_CIPHER_CTX_key_length(ctx), key);

  return 1;

  }

  static int ssf33_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl)

  {

  RC4(&data(ctx)-》ks,inl,in,out);

  return 1;

  }

  #endif

上一页12 
分享到:

相关信息

  • linux 文件权限怎么解析

    常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...

    2024-07-07

  • 如何使用WPSeku找出 WordPress 安全问题?

    然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...

    2024-07-03

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载