MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / Transform512

Function Transform512

extra/yassl/taocrypt/src/sha.cpp:567–599  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

565
566
567static void Transform512(word64* digest_, word64* buffer_)
568{
569 const word64* K = K512;
570
571 word64 W[16];
572 word64 T[8];
573
574 // Copy digest to working vars
575 memcpy(T, digest_, sizeof(T));
576
577 // 64 operations, partially loop unrolled
578 for (unsigned int j = 0; j < 80; j += 16) {
579 R( 0); R( 1); R( 2); R( 3);
580 R( 4); R( 5); R( 6); R( 7);
581 R( 8); R( 9); R(10); R(11);
582 R(12); R(13); R(14); R(15);
583 }
584
585 // Add the working vars back into digest
586
587 digest_[0] += a(0);
588 digest_[1] += b(0);
589 digest_[2] += c(0);
590 digest_[3] += d(0);
591 digest_[4] += e(0);
592 digest_[5] += f(0);
593 digest_[6] += g(0);
594 digest_[7] += h(0);
595
596 // Wipe variables
597 memset(W, 0, sizeof(W));
598 memset(T, 0, sizeof(T));
599}
600
601
602void SHA512::Transform()

Callers 1

TransformMethod · 0.85

Calls 1

fFunction · 0.85

Tested by

no test coverage detected