⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 Vovida 社区开源的 SIP 协议源码
💻
字号:
Yarrow - Secure Pseudo-Random Number Generator==============================================This is an implementation of the cryptographic pseudo-random numbergenerator Yarrow.  You are encouraged to use, modify, and incorporatethis code.  Please see the accompanying LICENSE file for more details.Yarrow can be used with OpenSSL 0.9.5a (http://www.openssl.org) andother cryptographic libraries.The Yarrow design is described in "Yarrow-160: Notes on the Design andAnalysis of the Yarrow Cryptographic Pseudorandom Number Generator" byJohn Kelsey, Bruce Schneier and Niels Ferguson of Counterpane Systems,available from http://www.counterpane.com/yarrow.htmlThe Yarrow function calls are described in the yarrow(3) manpage.Installation============By default, Yarrow is built with OpenSSL. If the OpenSSL headers arenot installed in the standard directory /usr/local/ssl/include,set the path in the Makefile.If it is possible that an application using Yarrow will fork(), Yarrowmust be compiled with -DYARROW_DETECT_FORK (then the child processwill have to seed Yarrow again), or the Yarrow_CTX must be allocatedin shared memory.If compiled with -DYARROW_SAVE_STATE, Yarrow will use a seed filespecified in the Yarrow_Init call.When the settings in the Makefile are correct, run "make".Yarrow with OpenSSL:-------------------The macros YARROW_CIPHER_3DES (default), YARROW_CIPHER_BLOWFISH andYARROW_CIPHER_IDEA for ciphers and YARROW_HASH_SHA1 (default) andYARROW_HASH_MD5 for hash functions are available to select algorithmsfrom OpenSSL.CRYPTO_set_locking_callback() is required in multithreaded applications.Yarrow with other cryptographic libraries:-----------------------------------------The Yarrow implementation uses a symmetric cipher, a cryptographichash function and a mutex. By default, Yarrow calls OpenSSL. For usewith other cryptographic libraries, the following types and macrosshould be defined:Symmetric cipher - ycipher.h:  typedef struct { ... } CIPHER_CTX;  #define CIPHER_BLOCK_SIZE ...  #define CIPHER_KEY_SIZE ...  void CIPHER_Init(CIPHER_CTX *ctx, void *key);  void CIPHER_Encrypt_Block(CIPHER_CTX *ctx, void *in, void *out);Hash function - yhash.h:  typedef struct { ... } HASH_CTX;  #define HASH_DIGEST_SIZE ...  #define HASH_STATE_SIZE ...  void HASH_Init(HASH_CTX *ctx);  void HASH_Update(HASH_CTX *ctx, const void *data, unsigned long size);  void HASH_Final(HASH_CTX *ctx, unsigned char *md);Mutex - ylock.h:  int LOCK(void);  int UNLOCK(void);Learn More:----------It is Zero-Knowledge's hope that third party developers of yarrow willcollaborate to derive test vectors for yarrow.  In an effort to furtherthis discussion, we have created a mailing list for developers andinterested parties.  To subscribe, send an email to"yarrow-request@zeroknowledge.com" with "subscribe" in the body of themessage.For more information, or if you have questions or comments regarding opensource at Zero-Knowledge Systems, please visithttp://opensource.zeroknowledge.com

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -