資源簡介
ntru 加密算法開源C實(shí)現(xiàn);ntru加密系統(tǒng) 是一種基于格的公鑰密碼體制,可以抵抗量子攻擊,而且比RSA等傳統(tǒng)的公鑰密碼體制的效率高,上傳的代碼用c實(shí)現(xiàn)了該密碼體制。

代碼片段和文件信息
#ifndef?__KERNEL__
#??define?__KERNEL__
#endif
#ifndef?MODULE
#??define?MODULE
#endif
#include?
#include?
#include?
#include?“ntru_crypto.h“
/*?entropy?function
?*
?*?THIS?IS?AN?EXAMPLE?FOR?WORKING?SAMPLE?CODE?ONLY.
?*?IT?DOES?NOT?SUPPLY?REAL?ENTROPY?BECAUSE?THE?RANDOM?SEED?IS?FIXED.
?*
?*?IT?SHOULD?BE?CHANGED?SO?THAT?EACH?COMMAND?THAT?REQUESTS?A?BYTE
?*?OF?ENTROPY?RECEIVES?A?RANDOM?BYTE.
?*
?*?Returns?1?for?success?0?for?failure.
?*/
static?uint8_t
get_entropy(
????ENTROPY_CMD??cmd
????uint8_t?????*out)
{
????/*?21?bytes?of?entropy?are?needed?to?instantiate?a?DRBG?with?a
?????*?security?strength?of?112?bits.
?????*/
????static?uint8_t?seed[]?=?{
????????‘U‘‘s‘‘e‘‘?‘‘a(chǎn)‘‘?‘‘d‘‘i‘‘f‘‘f‘‘e‘‘r‘‘e‘‘n‘‘t‘‘?‘
????????‘s‘‘e‘‘e‘‘d‘‘!‘
????};
????static?size_t?index;
????if?(cmd?==?INIT)?{
????????/*?Any?initialization?for?a?real?entropy?source?goes?here.?*/
????????index?=?0;
????????return?1;
????}
????if?(out?==?NULL)
????????return?0;
????if?(cmd?==?GET_NUM_BYTES_PER_BYTE_OF_ENTROPY)?{
????????/*?Here?we?return?the?number?of?bytes?needed?from?the?entropy
?????????*?source?to?obtain?8?bits?of?entropy.??Maximum?is?8.
?????????*/
????????*out?=?1;???????????????????????/*?this?is?a?perfectly?random?source?*/
????????return?1;
????}
????if?(cmd?==?GET_BYTE_OF_ENTROPY)?{
????????if?(index?==?sizeof(seed))
????????????return?0;???????????????????/*?used?up?all?our?entropy?*/
????????*out?=?seed[index++];???????????/*?deliver?an?entropy?byte?*/
????????return?1;
????}
????return?0;
}
/*?Personalization?string?to?be?used?for?DRBG?instantiation.
?*?This?is?optional.
?*/
static?uint8_t?const?pers_str[]?=?{
????‘S‘?‘S‘?‘L‘?‘?‘?‘a(chǎn)‘?‘p‘?‘p‘?‘l‘?‘i‘?‘c‘?‘a(chǎn)‘?‘t‘?‘i‘?‘o‘?‘n‘
};
/*?AES-128?key?to?be?encrypted.?*/
static?uint8_t?const?aes_key[]?=?{
????0xf3?0xe9?0x87?0xbb?0x18?0x08?0x3c?0xaa
????0x7b?0x12?0x49?0x88?0xaf?0xb3?0x22?0xd8
};
static?void?__exit?ntru_exit_module(void)
{
????printk(KERN_DEBUG?“Shutting?down?NTRUEncrypt?Sample\n“);
}
/*?
?*
?*?This?sample?code?will:
?*???1)?generate?a?public-key?pair?for?the?EES401EP2?parameter?set
?*???2)?DER-encode?the?public?key?for?storage?in?a?certificate
?*???3)?DER-decode?the?public?key?from?a?certificate?for?use
?*???4)?encrypt?a?128-bit?AES?key
?*???5)?decrypt?the?128-bit?AES?key
?*/
static?int?__init?ntru_init_module(void)
{
????uint8_t?public_key[557];??????????/*?sized?for?EES401EP2?*/
????uint16_t?public_key_len;??????????/*?no.?of?octets?in?public?key?*/
????uint8_t?private_key[607];?????????/*?sized?for?EES401EP2?*/
????uint16_t?private_key_len;?????????/*?no.?of?octets?in?private?key?*/
????uint8_t?encoded_public_key[591];??/*?sized?for?EES401EP2?*/
????uint16_t?encoded_public_key_len;??/*?no.?of?octets?in?encoded?public?key?*/
????uint8_t?ciphertext[552];??????????/*?sized?fof?EES401EP2?*/
????uint16_t?ciphertext_len;??????????/*?no.?of?octets?in?ciphertext?*/
????uint8_t?plaintext[16];????????????/
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\
?????文件??????????64??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\AUTHORS
?????文件????????7049??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\CC0-Legal
?????文件?????????365??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\ChangeLog
?????文件????????1104??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\INSTALL
?????文件????????1792??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\LICENSE
?????文件????????4447??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\Makefile.am
?????文件?????????606??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\PATENTS
?????文件????????8811??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\README
?????文件??????????33??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\autogen.sh
?????文件????????1876??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\configure.ac
?????目錄???????????0??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\doc\
?????文件??????692900??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\doc\UserNotes-NTRUEncrypt.pdf
?????目錄???????????0??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\driver_test\
?????文件????????1300??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\driver_test\Makefile.old
?????文件???????12534??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\driver_test\__ntruEncrypt.c
?????目錄???????????0??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\include\
?????文件???????15278??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\include\ntru_crypto.h
?????文件????????7175??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\include\ntru_crypto_drbg.h
?????文件????????1661??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\include\ntru_crypto_error.h
?????文件????????2578??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\include\ntru_crypto_platform.h
?????文件?????????374??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\libntruencrypt.sym
?????目錄???????????0??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\sample\
?????文件???????16458??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\sample\sample_NTRUEncrypt.c
?????目錄???????????0??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\src\
?????文件???????25585??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\src\ntru_crypto_drbg.c
?????文件????????9911??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\src\ntru_crypto_hash.c
?????文件????????7191??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\src\ntru_crypto_hash.h
?????文件????????2177??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\src\ntru_crypto_hash_basics.h
?????文件????????9143??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\src\ntru_crypto_hmac.c
?????文件????????5750??2017-03-28?17:30??NTRUEncrypt-76b5bd112368ed39fb1fe10896a8d21189d75231\src\ntru_crypto_hmac.h
............此處省略43個(gè)文件信息
評(píng)論
共有 條評(píng)論