本文整理汇总了C++中burn函数的典型用法代码示例。如果您正苦于以下问题:C++ burn函数的具体用法?C++ burn怎么用?C++ burn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了burn函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: put_cycle
void put_cycle(t_struck *s)
{
char *tmp;
mlx_string_put(M, s->img.menu, 10, 20, black(900), "Cycle =");
tmp = ft_itoa(s->cycle);
mlx_string_put(M, s->img.menu, 270, 20, E(699), tmp);
free(tmp);
mlx_string_put(M, s->img.menu, 50, 40, black(900), "Cycles/turn");
mlx_string_put(M, s->img.menu, 170, 40, black(900), "=");
tmp = ft_itoa(s->turn);
mlx_string_put(M, s->img.menu, 280, 40, burn(999), tmp);
free(tmp);
mlx_string_put(M, s->img.menu, 10, 80, black(900), "Processes =");
tmp = ft_itoa(s->nb_proc);
mlx_string_put(M, s->img.menu, 270, 80, E(699), tmp);
mlx_string_put(M, s->img.menu, 20, 740, black(900), "Cycles_to_die");
mlx_string_put(M, s->img.menu, 170, 740, black(900), "=");
free(tmp);
tmp = ft_itoa(s->img.cycle_to_die);
mlx_string_put(M, s->img.menu, 280, 740, burn(999), tmp);
free(tmp);
mlx_string_put(M, s->img.menu, 20, 760, black(900), "Check =");
tmp = ft_itoa(s->img.check);
mlx_string_put(M, s->img.menu, 280, 760,
(s->img.check < 9) ? burn(999) : burn(200), tmp);
free(tmp);
}
开发者ID:ffredon,项目名称:corewar,代码行数:28,代码来源:second_window_next.c
示例2: crypto_aead_decrypt
int crypto_aead_decrypt(
unsigned char *m, size_t *mlen,
const unsigned char *h, size_t hlen,
const unsigned char *c, size_t clen,
const unsigned char *nonce,
const unsigned char *key
)
{
int result = -1;
unsigned char tag[BYTES(MRS_T)];
mrs_state_t state;
if (clen < BYTES(MRS_T)) { return -1; }
/* decryption phase */
mrs_init(state, key, c + clen - BYTES(MRS_T), WORDS(MRS_T), ENC_TAG); /* initialise with key and authentication tag */
mrs_decrypt_data(state, m, c, clen - BYTES(MRS_T));
*mlen = clen - BYTES(MRS_T);
/* absorption phase */
mrs_init(state, key, nonce, WORDS(MRS_N), ABS_TAG);
mrs_absorb_data(state, h, hlen);
mrs_absorb_data(state, m, *mlen);
mrs_finalise(state, hlen, *mlen, tag);
/* verification phase */
result = mrs_verify_tag(c + clen - BYTES(MRS_T), tag);
/* burn decrypted plaintext on authentication failure */
if(result != 0) { burn(m, 0, *mlen); }
burn(state, 0, sizeof(mrs_state_t));
return result;
}
开发者ID:0x64616E69656C,项目名称:mem-aead,代码行数:35,代码来源:mrs.c
示例3: derive_u_whirlpool
void derive_u_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b)
{
char j[WHIRLPOOL_DIGESTSIZE], k[WHIRLPOOL_DIGESTSIZE];
char init[128];
char counter[4];
int c, i;
/* iteration 1 */
memset (counter, 0, 4);
counter[3] = (char) b;
memcpy (init, salt, salt_len); /* salt */
memcpy (&init[salt_len], counter, 4); /* big-endian block number */
hmac_whirlpool (pwd, pwd_len, init, salt_len + 4, j, WHIRLPOOL_DIGESTSIZE);
memcpy (u, j, WHIRLPOOL_DIGESTSIZE);
/* remaining iterations */
for (c = 1; c < iterations; c++)
{
hmac_whirlpool (pwd, pwd_len, j, WHIRLPOOL_DIGESTSIZE, k, WHIRLPOOL_DIGESTSIZE);
for (i = 0; i < WHIRLPOOL_DIGESTSIZE; i++)
{
u[i] ^= k[i];
j[i] = k[i];
}
}
/* Prevent possible leaks. */
burn (j, sizeof(j));
burn (k, sizeof(k));
}
开发者ID:AntiRootkit,项目名称:TrueCrypt-7.1a,代码行数:30,代码来源:PKCS5.C
示例4: whirlpool
void hmac_whirlpool
(
char *k, /* secret key */
int lk, /* length of the key in bytes */
char *d, /* input data. d pointer is guaranteed to be at least 32-bytes long */
int ld /* length of data in bytes */
)
{
hmac_whirlpool_ctx hmac;
char key[WHIRLPOOL_DIGESTSIZE];
/* If the key is longer than the hash algorithm block size,
let key = whirlpool(key), as per HMAC specifications. */
if (lk > WHIRLPOOL_BLOCKSIZE)
{
WHIRLPOOL_CTX tctx;
WHIRLPOOL_init (&tctx);
WHIRLPOOL_add ((unsigned char *) k, lk * 8, &tctx);
WHIRLPOOL_finalize (&tctx, (unsigned char *) key);
k = key;
lk = WHIRLPOOL_DIGESTSIZE;
burn (&tctx, sizeof(tctx)); // Prevent leaks
}
hmac_whirlpool_internal(k, lk, d, ld, &hmac);
/* Prevent leaks */
burn(&hmac, sizeof(hmac));
}
开发者ID:goofwear,项目名称:VeraCrypt,代码行数:30,代码来源:Pkcs5.c
示例5: clean_cmd_line
void clean_cmd_line()
{
wchar_t *cmd_w = GetCommandLineW();
char *cmd_a = GetCommandLineA();
burn(cmd_w, wcslen(cmd_w) * sizeof(wchar_t));
burn(cmd_a, strlen(cmd_a) * sizeof(char));
}
开发者ID:hkerem,项目名称:dcrypt,代码行数:7,代码来源:console.c
示例6: sha256
void hmac_sha256
(
char *k, /* secret key */
int lk, /* length of the key in bytes */
char *d, /* data */
int ld /* length of data in bytes */
)
{
hmac_sha256_ctx hmac;
char key[SHA256_DIGESTSIZE];
/* If the key is longer than the hash algorithm block size,
let key = sha256(key), as per HMAC specifications. */
if (lk > SHA256_BLOCKSIZE)
{
sha256_ctx tctx;
sha256_begin (&tctx);
sha256_hash ((unsigned char *) k, lk, &tctx);
sha256_end ((unsigned char *) key, &tctx);
k = key;
lk = SHA256_DIGESTSIZE;
burn (&tctx, sizeof(tctx)); // Prevent leaks
}
hmac_sha256_internal(k, lk, d, ld, &hmac);
/* Prevent leaks */
burn(&hmac, sizeof(hmac));
burn(key, sizeof(key));
}
开发者ID:goofwear,项目名称:VeraCrypt,代码行数:30,代码来源:Pkcs5.c
示例7: blake2b_final
int blake2b_final(blake2b_state *S, void *out, size_t outlen) {
uint8_t buffer[BLAKE2B_OUTBYTES] = {0};
unsigned int i;
/* Sanity checks */
if (S == NULL || out == NULL || outlen < S->outlen) {
return -1;
}
/* Is this a reused state? */
if (S->f[0] != 0) {
return -1;
}
blake2b_increment_counter(S, S->buflen);
blake2b_set_lastblock(S);
memset(&S->buf[S->buflen], 0, BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */
blake2b_compress(S, S->buf);
for (i = 0; i < 8; ++i) { /* Output full hash to temp buffer */
store64(buffer + sizeof(S->h[i]) * i, S->h[i]);
}
memcpy(out, buffer, S->outlen);
burn(buffer, sizeof(buffer));
burn(S->buf, sizeof(S->buf));
burn(S->h, sizeof(S->h));
return 0;
}
开发者ID:alexmihajlovic,项目名称:MMXVI,代码行数:29,代码来源:blake2b.c
示例8: kbdint_free
static void kbdint_free(struct ssh_kbdint *kbd){
int i,n=kbd->nprompts;
if(kbd->name)
free(kbd->name);
if(kbd->instruction)
free(kbd->instruction);
if(kbd->prompts){
for(i=0;i<n;++i){
burn(kbd->prompts[i]);
free(kbd->prompts[i]);
}
free(kbd->prompts);
}
if(kbd->answers){
for(i=0;i<n;++i){
burn(kbd->answers[i]);
free(kbd->answers[i]);
}
free(kbd->answers);
}
if(kbd->echo){
free(kbd->echo);
}
free(kbd);
}
开发者ID:BackupTheBerlios,项目名称:libssh-svn,代码行数:25,代码来源:auth.c
示例9: WipeCache
void WipeCache ()
{
burn (CachedPasswords, sizeof (CachedPasswords));
burn (CachedPim, sizeof (CachedPim));
nPasswordIdx = 0;
cacheEmpty = 1;
}
开发者ID:ChiefGyk,项目名称:VeraCrypt,代码行数:7,代码来源:Cache.c
示例10: norx_aead_decrypt
int norx_aead_decrypt(
unsigned char *p, size_t *plen,
const unsigned char *h, size_t hlen,
const unsigned char *c, size_t clen,
const unsigned char *t, size_t tlen,
const unsigned char *nonce,
const unsigned char *key
)
{
unsigned char tag[BYTES(NORX_A)];
norx_state_t state;
int result = -1;
if (clen < BYTES(NORX_A))
return -1;
#if defined(DEBUG)
printf("DECRYPTION\n");
#endif
norx_init(state, key, nonce);
norx_process_header(state, h, hlen);
norx_decrypt_msg(state, p, c, clen - BYTES(NORX_A));
norx_process_trailer(state, t, tlen);
norx_output_tag(state, tag);
*plen = clen - BYTES(NORX_A);
result = norx_verify_tag(c + clen - BYTES(NORX_A), tag);
if(result != 0) /* burn decrypted plaintext on auth failure */
burn(p, 0, clen - BYTES(NORX_A));
burn(state, 0, sizeof(norx_state_t));
return result;
}
开发者ID:Vieteg,项目名称:EACirc,代码行数:32,代码来源:norx3261v1_norx.cpp
示例11: kbdint_clean
static void kbdint_clean(struct ssh_kbdint *kbd){
int i,n=kbd->nprompts;
if(kbd->name){
free(kbd->name);
kbd->name=NULL;
}
if(kbd->instruction){
free(kbd->instruction);
kbd->instruction=NULL;
}
if(kbd->prompts){
for(i=0;i<n;++i){
burn(kbd->prompts[i]);
free(kbd->prompts[i]);
}
free(kbd->prompts);
kbd->prompts=NULL;
}
if(kbd->answers){
for(i=0;i<n;++i){
burn(kbd->answers[i]);
free(kbd->answers[i]);
}
free(kbd->answers);
kbd->answers=NULL;
}
if(kbd->echo){
free(kbd->echo);
kbd->echo=NULL;
}
kbd->nprompts=0;
}
开发者ID:BackupTheBerlios,项目名称:libssh-svn,代码行数:32,代码来源:auth.c
示例12: norx_aead_decrypt
int norx_aead_decrypt(
unsigned char *m, size_t *mlen,
const unsigned char *a, size_t alen,
const unsigned char *c, size_t clen,
const unsigned char *z, size_t zlen,
const unsigned char *nonce,
const unsigned char *key
)
{
int result = -1;
unsigned char tag[BYTES(NORX_T)];
norx_state_t state;
if (clen < BYTES(NORX_T)) {
return -1;
}
norx_init(state, key, nonce);
norx_absorb_data(state, a, alen, HEADER_TAG);
norx_decrypt_data(state, m, c, clen - BYTES(NORX_T));
norx_absorb_data(state, z, zlen, TRAILER_TAG);
norx_finalise(state, tag);
*mlen = clen - BYTES(NORX_T);
result = norx_verify_tag(c + clen - BYTES(NORX_T), tag);
if (result != 0) { /* burn decrypted plaintext on auth failure */
burn(m, 0, clen - BYTES(NORX_T));
}
burn(state, 0, sizeof(norx_state_t));
return result;
}
开发者ID:0x64616E69656C,项目名称:supercop,代码行数:32,代码来源:norx.c
示例13: hmac_ripemd160
void hmac_ripemd160 (char *key, int keylen, char *input_digest, int len)
{
hmac_ripemd160_ctx hmac;
unsigned char tk[RIPEMD160_DIGESTSIZE];
/* If the key is longer than the hash algorithm block size,
let key = ripemd160(key), as per HMAC specifications. */
if (keylen > RIPEMD160_BLOCKSIZE)
{
RMD160_CTX tctx;
RMD160Init(&tctx);
RMD160Update(&tctx, (const unsigned char *) key, keylen);
RMD160Final(tk, &tctx);
key = (char *) tk;
keylen = RIPEMD160_DIGESTSIZE;
burn (&tctx, sizeof(tctx)); // Prevent leaks
}
hmac_ripemd160_internal (key, keylen, input_digest, len, &hmac);
burn (&hmac, sizeof(hmac));
burn (tk, sizeof(tk));
}
开发者ID:goofwear,项目名称:VeraCrypt,代码行数:26,代码来源:Pkcs5.c
示例14: burn
void burn(struct tree * tree) {
if (tree == NULL) { return; }
burn(tree->dot);
burn(tree->dash);
free(tree);
}
开发者ID:iamfelicio,项目名称:BI-PA1,代码行数:8,代码来源:lecture.c
示例15: norx_decrypt_data
void norx_decrypt_data(norx_state_t state, unsigned char *out, const unsigned char * in, size_t inlen)
{
if (inlen > 0)
{
size_t lane = 0;
norx_state_t sum;
norx_state_t state2;
memset(sum, 0, sizeof(norx_state_t));
while (inlen >= BYTES(NORX_R))
{
/* branch */
memcpy(state2, state, sizeof(norx_state_t));
norx_branch(state2, lane++);
/* decrypt */
norx_decrypt_block(state2, out, in);
#if defined(NORX_DEBUG)
printf("Decrypt block (lane: %lu)\n", lane - 1);
norx_debug(state2, in, BYTES(NORX_R), out, BYTES(NORX_R));
#endif
/* merge */
norx_merge(sum, state2);
inlen -= BYTES(NORX_R);
in += BYTES(NORX_R);
out += BYTES(NORX_R);
}
/* last block, 0 <= inlen < BYTES(NORX_R) */
/* branch */
memcpy(state2, state, sizeof(norx_state_t));
norx_branch(state2, lane++);
/* decrypt */
norx_decrypt_lastblock(state2, out, in, inlen);
#if defined(NORX_DEBUG)
printf("Decrypt lastblock (lane: %lu)\n", lane - 1);
norx_debug(state2, in, inlen, out, inlen);
#endif
/* merge */
norx_merge(sum, state2);
memcpy(state, sum, sizeof(norx_state_t));
burn(state2, 0, sizeof(norx_state_t));
burn(sum, 0, sizeof(norx_state_t));
#if defined(NORX_DEBUG)
printf("Decryption finalised\n");
norx_debug(state, NULL, 0, NULL, 0);
#endif
}
}
开发者ID:0x64616E69656C,项目名称:supercop,代码行数:58,代码来源:norx.c
示例16: derive_key_sha256
void derive_key_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, uint32 iterations, char *dk, int dklen)
{
hmac_sha256_ctx hmac;
int b, l, r;
#ifndef TC_WINDOWS_BOOT
char key[SHA256_DIGESTSIZE];
/* If the password is longer than the hash algorithm block size,
let pwd = sha256(pwd), as per HMAC specifications. */
if (pwd_len > SHA256_BLOCKSIZE)
{
sha256_ctx tctx;
sha256_begin (&tctx);
sha256_hash ((unsigned char *) pwd, pwd_len, &tctx);
sha256_end ((unsigned char *) key, &tctx);
pwd = key;
pwd_len = SHA256_DIGESTSIZE;
burn (&tctx, sizeof(tctx)); // Prevent leaks
}
#endif
if (dklen % SHA256_DIGESTSIZE)
{
l = 1 + dklen / SHA256_DIGESTSIZE;
}
else
{
l = dklen / SHA256_DIGESTSIZE;
}
r = dklen - (l - 1) * SHA256_DIGESTSIZE;
/* first l - 1 blocks */
for (b = 1; b < l; b++)
{
derive_u_sha256 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
memcpy (dk, hmac.u, SHA256_DIGESTSIZE);
dk += SHA256_DIGESTSIZE;
}
/* last block */
derive_u_sha256 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
memcpy (dk, hmac.u, r);
/* Prevent possible leaks. */
burn (&hmac, sizeof(hmac));
#ifndef TC_WINDOWS_BOOT
burn (key, sizeof(key));
#endif
}
开发者ID:goofwear,项目名称:VeraCrypt,代码行数:53,代码来源:Pkcs5.c
示例17: derive_key_ripemd160
void derive_key_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, uint32 iterations, char *dk, int dklen)
{
int b, l, r;
hmac_ripemd160_ctx hmac;
#ifndef TC_WINDOWS_BOOT
unsigned char tk[RIPEMD160_DIGESTSIZE];
/* If the password is longer than the hash algorithm block size,
let password = ripemd160(password), as per HMAC specifications. */
if (pwd_len > RIPEMD160_BLOCKSIZE)
{
RMD160_CTX tctx;
RMD160Init(&tctx);
RMD160Update(&tctx, (const unsigned char *) pwd, pwd_len);
RMD160Final(tk, &tctx);
pwd = (char *) tk;
pwd_len = RIPEMD160_DIGESTSIZE;
burn (&tctx, sizeof(tctx)); // Prevent leaks
}
#endif
if (dklen % RIPEMD160_DIGESTSIZE)
{
l = 1 + dklen / RIPEMD160_DIGESTSIZE;
}
else
{
l = dklen / RIPEMD160_DIGESTSIZE;
}
r = dklen - (l - 1) * RIPEMD160_DIGESTSIZE;
/* first l - 1 blocks */
for (b = 1; b < l; b++)
{
derive_u_ripemd160 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
memcpy (dk, hmac.u, RIPEMD160_DIGESTSIZE);
dk += RIPEMD160_DIGESTSIZE;
}
/* last block */
derive_u_ripemd160 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
memcpy (dk, hmac.u, r);
/* Prevent possible leaks. */
burn (&hmac, sizeof(hmac));
#ifndef TC_WINDOWS_BOOT
burn (tk, sizeof(tk));
#endif
}
开发者ID:goofwear,项目名称:VeraCrypt,代码行数:53,代码来源:Pkcs5.c
示例18: derive_key_whirlpool
void derive_key_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, uint32 iterations, char *dk, int dklen)
{
hmac_whirlpool_ctx hmac;
char key[WHIRLPOOL_DIGESTSIZE];
int b, l, r;
/* If the password is longer than the hash algorithm block size,
let pwd = whirlpool(pwd), as per HMAC specifications. */
if (pwd_len > WHIRLPOOL_BLOCKSIZE)
{
WHIRLPOOL_CTX tctx;
WHIRLPOOL_init (&tctx);
WHIRLPOOL_add ((unsigned char *) pwd, pwd_len * 8, &tctx);
WHIRLPOOL_finalize (&tctx, (unsigned char *) key);
pwd = key;
pwd_len = WHIRLPOOL_DIGESTSIZE;
burn (&tctx, sizeof(tctx)); // Prevent leaks
}
if (dklen % WHIRLPOOL_DIGESTSIZE)
{
l = 1 + dklen / WHIRLPOOL_DIGESTSIZE;
}
else
{
l = dklen / WHIRLPOOL_DIGESTSIZE;
}
r = dklen - (l - 1) * WHIRLPOOL_DIGESTSIZE;
/* first l - 1 blocks */
for (b = 1; b < l; b++)
{
derive_u_whirlpool (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
memcpy (dk, hmac.u, WHIRLPOOL_DIGESTSIZE);
dk += WHIRLPOOL_DIGESTSIZE;
}
/* last block */
derive_u_whirlpool (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
memcpy (dk, hmac.u, r);
/* Prevent possible leaks. */
burn (&hmac, sizeof(hmac));
burn (key, sizeof(key));
}
开发者ID:goofwear,项目名称:VeraCrypt,代码行数:49,代码来源:Pkcs5.c
示例19: norx_output_tag
void norx_output_tag(norx_state_t state, unsigned char * tag)
{
norx_word_t * S = state->S;
uint8_t lastblock[BYTES(RATE)];
size_t i;
norx_finalize(state);
for (i = 0; i < WORDS(RATE); ++i)
STORE(lastblock + i * BYTES(NORX_W), S[i]);
memcpy(tag, lastblock, BYTES(NORX_A));
burn(lastblock, 0, BYTES(RATE)); /* burn full state dump */
burn(state, 0, sizeof(norx_state_t)); /* at this point we can also burn the state */
}
开发者ID:Vieteg,项目名称:EACirc,代码行数:15,代码来源:norx3261v1_norx.cpp
示例20: norx_decrypt_lastblock
static NORX_INLINE void norx_decrypt_lastblock(norx_state_t state, uint8_t *out, const uint8_t * in, size_t inlen)
{
norx_word_t * S = state->S;
uint8_t lastblock[BYTES(NORX_R)];
size_t i;
S[15] ^= PAYLOAD_TAG;
norx_permute(state);
for(i = 0; i < WORDS(NORX_R); ++i) {
STORE(lastblock + i * BYTES(NORX_W), S[i]);
}
memcpy(lastblock, in, inlen);
lastblock[inlen] ^= 0x01;
lastblock[BYTES(NORX_R) - 1] ^= 0x80;
for (i = 0; i < WORDS(NORX_R); ++i) {
const norx_word_t c = LOAD(lastblock + i * BYTES(NORX_W));
STORE(lastblock + i * BYTES(NORX_W), S[i] ^ c);
S[i] = c;
}
memcpy(out, lastblock, inlen);
burn(lastblock, 0, sizeof lastblock);
}
开发者ID:0x64616E69656C,项目名称:supercop,代码行数:26,代码来源:norx.c
注:本文中的burn函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论