Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxは、プロセスにOpenSSLを使用したLinuxシステムは、彼らはOpenSSLの暗号化アルゴリズムに追加すること含むことになるので、OpenSSLは、暗号化ライブラリシステムであるOpenSSLのスキルのために

Linuxは、プロセスにOpenSSLを使用したLinuxシステムは、彼らはOpenSSLの暗号化アルゴリズムに追加すること含むことになるので、OpenSSLは、暗号化ライブラリシステムであるOpenSSLのスキルのために

  

Linuxシステムをカスタム暗号化アルゴリズムを追加し、この論文では、Linuxを導入することですOpenSSLはカスタム暗号化アルゴリズムのスキルを追加します。

I.はじめ

ここでは、OpenSSLの中

2段階
1、次のように、暗号化/オブジェクト/objects.txt、OID登録アルゴリズムを変更します。

RSADSI 3 255:SSF33:ssf33

2、ディレクトリを入力:暗号/オブジェクト/を、次のコマンドを実行し

のPerl objects.pl objects.txt obj_mac.num obj_mac.h

3、でe_ssf33.c暗号/EVP /で添加
、文生成アルゴリズム、
を次のように

の#include "stdio.hの"

の#include' cryptlib.h'

#ifndefのOPENSSL_NO_RC4

の#include "のopenssl /evp.h"

の#include "のopenssl /objects.h"

の#include "のopenssl /rc4.h"

/* FIXME:確かに、これは他の場所で入手できますか? * /

の#define EVP_SSF33_KEY_SIZE 16

のtypedef構造体

{

RC4_KEYのKS; /*キー作業* /

} EVP_SSF33_KEY;

の#defineデータ(CTX)((EVP_SSF33_KEY *)(CTX) - 「cipher_data)

静的int型ssf33_init_key(EVP_CIPHER_CTX * CTX、constのはunsigned char *キー、のconst unsigned char型の*静脈、INT ENC);

静的INT ssf33_cipher(EVP_CIPHER_CTX * CTX、unsigned char型*うち、CONSTはunsigned char *に、unsigned int型INL);

静的定数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)

{

リターン(& ssf33_evp_cipher);

}

静的INT ssf33_init_key(EVP_CIPHER_CTX * CTX、CONSTはunsigned char *キー、CONSTはunsigned char *の静脈、int型ENC)

{

RC4_set_key(&データ(CTX) - 「KS、EVP_CIPHER_CTX_key_length(CTX)、鍵);

リターン1;

} < BR>

静的INT ssf33_cipher(EVP_CIPHER_CTX * CTX、unsigned char型*うち、CONSTはunsigned char *に、unsigned int型INL)

{

RC4(&#038;データ(CTX) - 》 ks、inl、in、out);

return 1;

}

#endif前へ12次へ合計2ページ

Copyright © Windowsの知識 All Rights Reserved