@@ -14,7 +14,7 @@ function crt(msg, priv) {
14
14
var blinds = blind ( priv ) ;
15
15
var len = priv . modulus . byteLength ( ) ;
16
16
var mod = bn . mont ( priv . modulus ) ;
17
- var blinded = new bn ( msg ) . mul ( blinds . blinder ) . mod ( priv . modulus ) ;
17
+ var blinded = new bn ( msg ) . mul ( blinds . blinder ) . umod ( priv . modulus ) ;
18
18
var c1 = blinded . toRed ( bn . mont ( priv . prime1 ) ) ;
19
19
var c2 = blinded . toRed ( bn . mont ( priv . prime2 ) ) ;
20
20
var qinv = priv . coefficient ;
@@ -24,23 +24,17 @@ function crt(msg, priv) {
24
24
var m2 = c2 . redPow ( priv . exponent2 ) ;
25
25
m1 = m1 . fromRed ( ) ;
26
26
m2 = m2 . fromRed ( ) ;
27
- var h = m1 . isub ( m2 ) . imul ( qinv ) . mod ( p ) ;
27
+ var h = m1 . isub ( m2 ) . imul ( qinv ) . umod ( p ) ;
28
28
h . imul ( q ) ;
29
29
m2 . iadd ( h ) ;
30
- var out = new Buffer ( m2 . imul ( blinds . unblinder ) . mod ( priv . modulus ) . toArray ( ) ) ;
31
- if ( out . length < len ) {
32
- var prefix = new Buffer ( len - out . length ) ;
33
- prefix . fill ( 0 ) ;
34
- out = Buffer . concat ( [ prefix , out ] , len ) ;
35
- }
36
- return out ;
30
+ return new Buffer ( m2 . imul ( blinds . unblinder ) . umod ( priv . modulus ) . toArray ( false , len ) ) ;
37
31
}
38
32
crt . getr = getr ;
39
33
function getr ( priv ) {
40
34
var len = priv . modulus . byteLength ( ) ;
41
35
var r = new bn ( randomBytes ( len ) ) ;
42
- while ( r . cmp ( priv . modulus ) >= 0 || ! r . mod ( priv . prime1 ) || ! r . mod ( priv . prime2 ) ) {
36
+ while ( r . cmp ( priv . modulus ) >= 0 || ! r . umod ( priv . prime1 ) || ! r . umod ( priv . prime2 ) ) {
43
37
r = new bn ( randomBytes ( len ) ) ;
44
38
}
45
39
return r ;
46
- }
40
+ }
0 commit comments