• Home
  • Raw
  • Download

Lines Matching refs:mac

75 mac_setup_by_id(Mac *mac, int which)  in mac_setup_by_id()  argument
78 mac->type = macs[which].type; in mac_setup_by_id()
79 if (mac->type == SSH_EVP) { in mac_setup_by_id()
80 mac->evp_md = (*macs[which].mdfunc)(); in mac_setup_by_id()
81 if ((evp_len = EVP_MD_size(mac->evp_md)) <= 0) in mac_setup_by_id()
82 fatal("mac %s len %d", mac->name, evp_len); in mac_setup_by_id()
83 mac->key_len = mac->mac_len = (u_int)evp_len; in mac_setup_by_id()
85 mac->mac_len = macs[which].len / 8; in mac_setup_by_id()
86 mac->key_len = macs[which].key_len / 8; in mac_setup_by_id()
87 mac->umac_ctx = NULL; in mac_setup_by_id()
90 mac->mac_len = macs[which].truncatebits / 8; in mac_setup_by_id()
94 mac_setup(Mac *mac, char *name) in mac_setup() argument
100 if (mac != NULL) in mac_setup()
101 mac_setup_by_id(mac, i); in mac_setup()
111 mac_init(Mac *mac) in mac_init() argument
113 if (mac->key == NULL) in mac_init()
115 switch (mac->type) { in mac_init()
117 if (mac->evp_md == NULL) in mac_init()
119 HMAC_Init(&mac->evp_ctx, mac->key, mac->key_len, mac->evp_md); in mac_init()
122 mac->umac_ctx = umac_new(mac->key); in mac_init()
130 mac_compute(Mac *mac, u_int32_t seqno, u_char *data, int datalen) in mac_compute() argument
135 if (mac->mac_len > sizeof(m)) in mac_compute()
137 mac->mac_len, (u_long)sizeof(m)); in mac_compute()
139 switch (mac->type) { in mac_compute()
143 HMAC_Init(&mac->evp_ctx, NULL, 0, NULL); in mac_compute()
144 HMAC_Update(&mac->evp_ctx, b, sizeof(b)); in mac_compute()
145 HMAC_Update(&mac->evp_ctx, data, datalen); in mac_compute()
146 HMAC_Final(&mac->evp_ctx, m, NULL); in mac_compute()
150 umac_update(mac->umac_ctx, data, datalen); in mac_compute()
151 umac_final(mac->umac_ctx, m, nonce); in mac_compute()
160 mac_clear(Mac *mac) in mac_clear() argument
162 if (mac->type == SSH_UMAC) { in mac_clear()
163 if (mac->umac_ctx != NULL) in mac_clear()
164 umac_delete(mac->umac_ctx); in mac_clear()
165 } else if (mac->evp_md != NULL) in mac_clear()
166 HMAC_cleanup(&mac->evp_ctx); in mac_clear()
167 mac->evp_md = NULL; in mac_clear()
168 mac->umac_ctx = NULL; in mac_clear()