Lines Matching refs:mac
59 mac_setup_by_id(Mac *mac, int which) in mac_setup_by_id() argument
62 mac->type = macs[which].type; in mac_setup_by_id()
63 if (mac->type == SSH_EVP) { in mac_setup_by_id()
64 mac->evp_md = (*macs[which].mdfunc)(); in mac_setup_by_id()
65 if ((evp_len = EVP_MD_size(mac->evp_md)) <= 0) in mac_setup_by_id()
66 fatal("mac %s len %d", mac->name, evp_len); in mac_setup_by_id()
67 mac->key_len = mac->mac_len = (u_int)evp_len; in mac_setup_by_id()
69 fatal("wrong MAC type (%d)", mac->type); in mac_setup_by_id()
71 mac->mac_len = macs[which].truncatebits / 8; in mac_setup_by_id()
75 mac_setup(Mac *mac, char *name) in mac_setup() argument
81 if (mac != NULL) in mac_setup()
82 mac_setup_by_id(mac, i); in mac_setup()
92 mac_init(Mac *mac) in mac_init() argument
94 if (mac->key == NULL) in mac_init()
96 switch (mac->type) { in mac_init()
98 if (mac->evp_md == NULL) in mac_init()
100 HMAC_Init(&mac->evp_ctx, mac->key, mac->key_len, mac->evp_md); in mac_init()
108 mac_compute(Mac *mac, u_int32_t seqno, u_char *data, int datalen) in mac_compute() argument
113 if (mac->mac_len > sizeof(m)) in mac_compute()
115 mac->mac_len, (u_long)sizeof(m)); in mac_compute()
117 switch (mac->type) { in mac_compute()
121 HMAC_Init(&mac->evp_ctx, NULL, 0, NULL); in mac_compute()
122 HMAC_Update(&mac->evp_ctx, b, sizeof(b)); in mac_compute()
123 HMAC_Update(&mac->evp_ctx, data, datalen); in mac_compute()
124 HMAC_Final(&mac->evp_ctx, m, NULL); in mac_compute()
134 mac_clear(Mac *mac) in mac_clear() argument
136 if (mac->evp_md != NULL) in mac_clear()
137 HMAC_cleanup(&mac->evp_ctx); in mac_clear()
138 mac->evp_md = NULL; in mac_clear()