summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2026-05-09 07:11:05 +0000
committerjsing <>2026-05-09 07:11:05 +0000
commitc972ea47f3b19c39ca1608214558e6a934963752 (patch)
tree66cc76e9a992c6f162b2f3bb64b1edd061295e67 /src
parentb6077f1a28e4087c661209654a7fc1deabd9067b (diff)
downloadopenbsd-c972ea47f3b19c39ca1608214558e6a934963752.tar.gz
openbsd-c972ea47f3b19c39ca1608214558e6a934963752.tar.bz2
openbsd-c972ea47f3b19c39ca1608214558e6a934963752.zip
Use consistent variable names in the sha256 code.
Use 'ctx' rather than 'c' for the SHA256_CTX and use data/len rather than d/n. ok kenjiro@ tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/sha/sha256.c134
1 files changed, 67 insertions, 67 deletions
diff --git a/src/lib/libcrypto/sha/sha256.c b/src/lib/libcrypto/sha/sha256.c
index f03475e86d..984b084ca0 100644
--- a/src/lib/libcrypto/sha/sha256.c
+++ b/src/lib/libcrypto/sha/sha256.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sha256.c,v 1.35 2026/05/09 07:08:43 jsing Exp $ */ 1/* $OpenBSD: sha256.c,v 1.36 2026/05/09 07:11:05 jsing Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -290,78 +290,78 @@ sha256_block_data_order(SHA256_CTX *ctx, const void *_in, size_t num)
290#endif 290#endif
291 291
292int 292int
293SHA224_Init(SHA256_CTX *c) 293SHA224_Init(SHA256_CTX *ctx)
294{ 294{
295 memset(c, 0, sizeof(*c)); 295 memset(ctx, 0, sizeof(*ctx));
296 296
297 /* FIPS 180-4 section 5.3.2. */ 297 /* FIPS 180-4 section 5.3.2. */
298 c->h[0] = 0xc1059ed8UL; 298 ctx->h[0] = 0xc1059ed8UL;
299 c->h[1] = 0x367cd507UL; 299 ctx->h[1] = 0x367cd507UL;
300 c->h[2] = 0x3070dd17UL; 300 ctx->h[2] = 0x3070dd17UL;
301 c->h[3] = 0xf70e5939UL; 301 ctx->h[3] = 0xf70e5939UL;
302 c->h[4] = 0xffc00b31UL; 302 ctx->h[4] = 0xffc00b31UL;
303 c->h[5] = 0x68581511UL; 303 ctx->h[5] = 0x68581511UL;
304 c->h[6] = 0x64f98fa7UL; 304 ctx->h[6] = 0x64f98fa7UL;
305 c->h[7] = 0xbefa4fa4UL; 305 ctx->h[7] = 0xbefa4fa4UL;
306 306
307 c->md_len = SHA224_DIGEST_LENGTH; 307 ctx->md_len = SHA224_DIGEST_LENGTH;
308 308
309 return 1; 309 return 1;
310} 310}
311LCRYPTO_ALIAS(SHA224_Init); 311LCRYPTO_ALIAS(SHA224_Init);
312 312
313int 313int
314SHA224_Update(SHA256_CTX *c, const void *data, size_t len) 314SHA224_Update(SHA256_CTX *ctx, const void *data, size_t len)
315{ 315{
316 return SHA256_Update(c, data, len); 316 return SHA256_Update(ctx, data, len);
317} 317}
318LCRYPTO_ALIAS(SHA224_Update); 318LCRYPTO_ALIAS(SHA224_Update);
319 319
320int 320int
321SHA224_Final(unsigned char *md, SHA256_CTX *c) 321SHA224_Final(unsigned char *md, SHA256_CTX *ctx)
322{ 322{
323 return SHA256_Final(md, c); 323 return SHA256_Final(md, ctx);
324} 324}
325LCRYPTO_ALIAS(SHA224_Final); 325LCRYPTO_ALIAS(SHA224_Final);
326 326
327unsigned char * 327unsigned char *
328SHA224(const unsigned char *d, size_t n, unsigned char *md) 328SHA224(const unsigned char *data, size_t len, unsigned char *md)
329{ 329{
330 SHA256_CTX c; 330 SHA256_CTX ctx;
331 331
332 SHA224_Init(&c); 332 SHA224_Init(&ctx);
333 SHA256_Update(&c, d, n); 333 SHA256_Update(&ctx, data, len);
334 SHA256_Final(md, &c); 334 SHA256_Final(md, &ctx);
335 335
336 explicit_bzero(&c, sizeof(c)); 336 explicit_bzero(&ctx, sizeof(ctx));
337 337
338 return (md); 338 return (md);
339} 339}
340LCRYPTO_ALIAS(SHA224); 340LCRYPTO_ALIAS(SHA224);
341 341
342int 342int
343SHA256_Init(SHA256_CTX *c) 343SHA256_Init(SHA256_CTX *ctx)
344{ 344{
345 memset(c, 0, sizeof(*c)); 345 memset(ctx, 0, sizeof(*ctx));
346 346
347 /* FIPS 180-4 section 5.3.3. */ 347 /* FIPS 180-4 section 5.3.3. */
348 c->h[0] = 0x6a09e667UL; 348 ctx->h[0] = 0x6a09e667UL;
349 c->h[1] = 0xbb67ae85UL; 349 ctx->h[1] = 0xbb67ae85UL;
350 c->h[2] = 0x3c6ef372UL; 350 ctx->h[2] = 0x3c6ef372UL;
351 c->h[3] = 0xa54ff53aUL; 351 ctx->h[3] = 0xa54ff53aUL;
352 c->h[4] = 0x510e527fUL; 352 ctx->h[4] = 0x510e527fUL;
353 c->h[5] = 0x9b05688cUL; 353 ctx->h[5] = 0x9b05688cUL;
354 c->h[6] = 0x1f83d9abUL; 354 ctx->h[6] = 0x1f83d9abUL;
355 c->h[7] = 0x5be0cd19UL; 355 ctx->h[7] = 0x5be0cd19UL;
356 356
357 c->md_len = SHA256_DIGEST_LENGTH; 357 ctx->md_len = SHA256_DIGEST_LENGTH;
358 358
359 return 1; 359 return 1;
360} 360}
361LCRYPTO_ALIAS(SHA256_Init); 361LCRYPTO_ALIAS(SHA256_Init);
362 362
363int 363int
364SHA256_Update(SHA256_CTX *c, const void *data_, size_t len) 364SHA256_Update(SHA256_CTX *ctx, const void *data_, size_t len)
365{ 365{
366 const unsigned char *data = data_; 366 const unsigned char *data = data_;
367 unsigned char *p; 367 unsigned char *p;
@@ -371,38 +371,38 @@ SHA256_Update(SHA256_CTX *c, const void *data_, size_t len)
371 return 1; 371 return 1;
372 372
373 /* Update message bit counter. */ 373 /* Update message bit counter. */
374 crypto_add_u32dw_u64(&c->Nh, &c->Nl, (uint64_t)len << 3); 374 crypto_add_u32dw_u64(&ctx->Nh, &ctx->Nl, (uint64_t)len << 3);
375 375
376 n = c->num; 376 n = ctx->num;
377 if (n != 0) { 377 if (n != 0) {
378 p = (unsigned char *)c->data; 378 p = (unsigned char *)ctx->data;
379 379
380 if (len >= SHA_CBLOCK || len + n >= SHA_CBLOCK) { 380 if (len >= SHA_CBLOCK || len + n >= SHA_CBLOCK) {
381 memcpy(p + n, data, SHA_CBLOCK - n); 381 memcpy(p + n, data, SHA_CBLOCK - n);
382 sha256_block_data_order(c, p, 1); 382 sha256_block_data_order(ctx, p, 1);
383 n = SHA_CBLOCK - n; 383 n = SHA_CBLOCK - n;
384 data += n; 384 data += n;
385 len -= n; 385 len -= n;
386 c->num = 0; 386 ctx->num = 0;
387 memset(p, 0, SHA_CBLOCK); /* keep it zeroed */ 387 memset(p, 0, SHA_CBLOCK); /* keep it zeroed */
388 } else { 388 } else {
389 memcpy(p + n, data, len); 389 memcpy(p + n, data, len);
390 c->num += (unsigned int)len; 390 ctx->num += (unsigned int)len;
391 return 1; 391 return 1;
392 } 392 }
393 } 393 }
394 394
395 n = len/SHA_CBLOCK; 395 n = len/SHA_CBLOCK;
396 if (n > 0) { 396 if (n > 0) {
397 sha256_block_data_order(c, data, n); 397 sha256_block_data_order(ctx, data, n);
398 n *= SHA_CBLOCK; 398 n *= SHA_CBLOCK;
399 data += n; 399 data += n;
400 len -= n; 400 len -= n;
401 } 401 }
402 402
403 if (len != 0) { 403 if (len != 0) {
404 p = (unsigned char *)c->data; 404 p = (unsigned char *)ctx->data;
405 c->num = (unsigned int)len; 405 ctx->num = (unsigned int)len;
406 memcpy(p, data, len); 406 memcpy(p, data, len);
407 } 407 }
408 return 1; 408 return 1;
@@ -410,17 +410,17 @@ SHA256_Update(SHA256_CTX *c, const void *data_, size_t len)
410LCRYPTO_ALIAS(SHA256_Update); 410LCRYPTO_ALIAS(SHA256_Update);
411 411
412void 412void
413SHA256_Transform(SHA256_CTX *c, const unsigned char *data) 413SHA256_Transform(SHA256_CTX *ctx, const unsigned char *data)
414{ 414{
415 sha256_block_data_order(c, data, 1); 415 sha256_block_data_order(ctx, data, 1);
416} 416}
417LCRYPTO_ALIAS(SHA256_Transform); 417LCRYPTO_ALIAS(SHA256_Transform);
418 418
419int 419int
420SHA256_Final(unsigned char *md, SHA256_CTX *c) 420SHA256_Final(unsigned char *md, SHA256_CTX *ctx)
421{ 421{
422 unsigned char *p = (unsigned char *)c->data; 422 unsigned char *p = (unsigned char *)ctx->data;
423 size_t n = c->num; 423 size_t n = ctx->num;
424 unsigned int nn; 424 unsigned int nn;
425 425
426 p[n] = 0x80; /* there is always room for one */ 426 p[n] = 0x80; /* there is always room for one */
@@ -429,15 +429,15 @@ SHA256_Final(unsigned char *md, SHA256_CTX *c)
429 if (n > (SHA_CBLOCK - 8)) { 429 if (n > (SHA_CBLOCK - 8)) {
430 memset(p + n, 0, SHA_CBLOCK - n); 430 memset(p + n, 0, SHA_CBLOCK - n);
431 n = 0; 431 n = 0;
432 sha256_block_data_order(c, p, 1); 432 sha256_block_data_order(ctx, p, 1);
433 } 433 }
434 434
435 memset(p + n, 0, SHA_CBLOCK - 8 - n); 435 memset(p + n, 0, SHA_CBLOCK - 8 - n);
436 c->data[SHA_LBLOCK - 2] = htobe32(c->Nh); 436 ctx->data[SHA_LBLOCK - 2] = htobe32(ctx->Nh);
437 c->data[SHA_LBLOCK - 1] = htobe32(c->Nl); 437 ctx->data[SHA_LBLOCK - 1] = htobe32(ctx->Nl);
438 438
439 sha256_block_data_order(c, p, 1); 439 sha256_block_data_order(ctx, p, 1);
440 c->num = 0; 440 ctx->num = 0;
441 memset(p, 0, SHA_CBLOCK); 441 memset(p, 0, SHA_CBLOCK);
442 442
443 /* 443 /*
@@ -448,26 +448,26 @@ SHA256_Final(unsigned char *md, SHA256_CTX *c)
448 * Idea behind separate cases for pre-defined lengths is to let the 448 * Idea behind separate cases for pre-defined lengths is to let the
449 * compiler decide if it's appropriate to unroll small loops. 449 * compiler decide if it's appropriate to unroll small loops.
450 */ 450 */
451 switch (c->md_len) { 451 switch (ctx->md_len) {
452 case SHA224_DIGEST_LENGTH: 452 case SHA224_DIGEST_LENGTH:
453 for (nn = 0; nn < SHA224_DIGEST_LENGTH / 4; nn++) { 453 for (nn = 0; nn < SHA224_DIGEST_LENGTH / 4; nn++) {
454 crypto_store_htobe32(md, c->h[nn]); 454 crypto_store_htobe32(md, ctx->h[nn]);
455 md += 4; 455 md += 4;
456 } 456 }
457 break; 457 break;
458 458
459 case SHA256_DIGEST_LENGTH: 459 case SHA256_DIGEST_LENGTH:
460 for (nn = 0; nn < SHA256_DIGEST_LENGTH / 4; nn++) { 460 for (nn = 0; nn < SHA256_DIGEST_LENGTH / 4; nn++) {
461 crypto_store_htobe32(md, c->h[nn]); 461 crypto_store_htobe32(md, ctx->h[nn]);
462 md += 4; 462 md += 4;
463 } 463 }
464 break; 464 break;
465 465
466 default: 466 default:
467 if (c->md_len > SHA256_DIGEST_LENGTH) 467 if (ctx->md_len > SHA256_DIGEST_LENGTH)
468 return 0; 468 return 0;
469 for (nn = 0; nn < c->md_len / 4; nn++) { 469 for (nn = 0; nn < ctx->md_len / 4; nn++) {
470 crypto_store_htobe32(md, c->h[nn]); 470 crypto_store_htobe32(md, ctx->h[nn]);
471 md += 4; 471 md += 4;
472 } 472 }
473 break; 473 break;
@@ -478,15 +478,15 @@ SHA256_Final(unsigned char *md, SHA256_CTX *c)
478LCRYPTO_ALIAS(SHA256_Final); 478LCRYPTO_ALIAS(SHA256_Final);
479 479
480unsigned char * 480unsigned char *
481SHA256(const unsigned char *d, size_t n, unsigned char *md) 481SHA256(const unsigned char *data, size_t len, unsigned char *md)
482{ 482{
483 SHA256_CTX c; 483 SHA256_CTX ctx;
484 484
485 SHA256_Init(&c); 485 SHA256_Init(&ctx);
486 SHA256_Update(&c, d, n); 486 SHA256_Update(&ctx, data, len);
487 SHA256_Final(md, &c); 487 SHA256_Final(md, &ctx);
488 488
489 explicit_bzero(&c, sizeof(c)); 489 explicit_bzero(&ctx, sizeof(ctx));
490 490
491 return (md); 491 return (md);
492} 492}