[Pkg-javascript-commits] [node-sha.js] 184/237: sha512: same branch extraction as #18
Bastien Roucariès
rouca at moszumanska.debian.org
Fri May 5 09:03:54 UTC 2017
This is an automated email from the git hooks/post-receive script.
rouca pushed a commit to branch master
in repository node-sha.js.
commit f9854264d841f7138f65eec36010f54043868fdd
Author: Daniel Cousens <github at dcousens.com>
Date: Tue Jan 13 16:55:12 2015 +1100
sha512: same branch extraction as #18
---
sha512.js | 81 +++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 45 insertions(+), 36 deletions(-)
diff --git a/sha512.js b/sha512.js
index e0eb901..0bfa0e0 100644
--- a/sha512.js
+++ b/sha512.js
@@ -110,43 +110,37 @@ Sha512.prototype._update = function(M) {
var gl = this._gl | 0
var hl = this._hl | 0
- for (var i = 0; i < 80; i++) {
- var j = i * 2
-
- var Wi, Wil
-
- if (i < 16) {
- Wi = W[j] = M.readInt32BE(j * 4)
- Wil = W[j + 1] = M.readInt32BE(j * 4 + 4)
-
- } else {
- var x = W[j - 15*2]
- var xl = W[j - 15*2 + 1]
- var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
- var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
-
- x = W[j - 2*2]
- xl = W[j - 2*2 + 1]
- var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
- var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
-
- // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
- var Wi7 = W[j - 7*2]
- var Wi7l = W[j - 7*2 + 1]
-
- var Wi16 = W[j - 16*2]
- var Wi16l = W[j - 16*2 + 1]
-
- Wil = gamma0l + Wi7l
- Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
- Wil = Wil + gamma1l
- Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
- Wil = Wil + Wi16l
- Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
+ var i = 0, j = 0
+ var Wi, Wil
+ function calcW() {
+ var x = W[j - 15*2]
+ var xl = W[j - 15*2 + 1]
+ var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
+ var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
+
+ x = W[j - 2*2]
+ xl = W[j - 2*2 + 1]
+ var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
+ var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
+
+ // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
+ var Wi7 = W[j - 7*2]
+ var Wi7l = W[j - 7*2 + 1]
+
+ var Wi16 = W[j - 16*2]
+ var Wi16l = W[j - 16*2 + 1]
+
+ Wil = gamma0l + Wi7l
+ Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
+ Wil = Wil + gamma1l
+ Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
+ Wil = Wil + Wi16l
+ Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
+ }
- W[j] = Wi
- W[j + 1] = Wil
- }
+ function loop() {
+ W[j] = Wi
+ W[j + 1] = Wil
var maj = Maj(a, b, c)
var majl = Maj(al, bl, cl)
@@ -192,6 +186,21 @@ Sha512.prototype._update = function(M) {
bl = al
al = (t1l + t2l) | 0
a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
+
+ i++
+ j += 2
+ }
+
+ while (i < 16) {
+ Wi = M.readInt32BE(j * 4)
+ Wil = M.readInt32BE(j * 4 + 4)
+
+ loop()
+ }
+
+ while (i < 80) {
+ calcW()
+ loop()
}
this._al = (this._al + al) | 0
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-sha.js.git
More information about the Pkg-javascript-commits
mailing list