|
@@ -148,40 +148,48 @@ class Sha256 {
|
|
|
blks[nblk * 16 - 1] = b.length * 8;
|
|
|
return blks;
|
|
|
}
|
|
|
-
|
|
|
- function S(X, n) {
|
|
|
+ @:extern
|
|
|
+ inline function S(X, n) {
|
|
|
return ( X >>> n ) | (X << (32 - n));
|
|
|
}
|
|
|
|
|
|
- function R(X, n) {
|
|
|
+ @:extern
|
|
|
+ inline function R(X, n) {
|
|
|
return ( X >>> n );
|
|
|
}
|
|
|
|
|
|
- function Ch(x, y, z) {
|
|
|
+ @:extern
|
|
|
+ inline function Ch(x, y, z) {
|
|
|
return ((x & y) ^ ((~x) & z));
|
|
|
}
|
|
|
|
|
|
- function Maj(x, y, z) {
|
|
|
+ @:extern
|
|
|
+ inline function Maj(x, y, z) {
|
|
|
return ((x & y) ^ (x & z) ^ (y & z));
|
|
|
}
|
|
|
|
|
|
- function Sigma0256(x) {
|
|
|
+ @:extern
|
|
|
+ inline function Sigma0256(x) {
|
|
|
return (S(x, 2) ^ S(x, 13) ^ S(x, 22));
|
|
|
}
|
|
|
|
|
|
- function Sigma1256(x) {
|
|
|
+ @:extern
|
|
|
+ inline function Sigma1256(x) {
|
|
|
return (S(x, 6) ^ S(x, 11) ^ S(x, 25));
|
|
|
}
|
|
|
|
|
|
- function Gamma0256(x) {
|
|
|
+ @:extern
|
|
|
+ inline function Gamma0256(x) {
|
|
|
return (S(x, 7) ^ S(x, 18) ^ R(x, 3));
|
|
|
}
|
|
|
|
|
|
- function Gamma1256(x) {
|
|
|
+ @:extern
|
|
|
+ inline function Gamma1256(x) {
|
|
|
return (S(x, 17) ^ S(x, 19) ^ R(x, 10));
|
|
|
}
|
|
|
|
|
|
- function safeAdd(x, y) {
|
|
|
+ @:extern
|
|
|
+ inline function safeAdd(x, y) {
|
|
|
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
|
|
|
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
|
|
|
return (msw << 16) | (lsw & 0xFFFF);
|