larabr
00c5f38689
Cipher-specific key validation ( #1116 )
...
Also, check binding signatures for decryption keys.
Also, do not always fallback on Web Crypto ECC errors.
2020-07-13 19:57:33 +02:00
Daniel Huigens
6e13604a64
Replace 'window' with 'global'
...
In order to use Web Crypto in application workers, among other things.
2020-01-24 17:58:04 +01:00
Daniel Huigens
ad0fdcc4da
Fix openpgp.config.use_native = false
for RSA sign/verify
2019-11-29 11:39:38 +01:00
Ilya Chesnokov
45c2e67624
Use native Node crypto for RSA encryption ( #1006 )
2019-11-26 16:06:49 +01:00
Ilya Chesnokov
6e7f399eb3
Use Web Crypto & Node crypto for RSA signing and verifying ( #999 )
...
Also, when generating RSA keys in JS, generate them with p < q, as per
the spec.
Also, when generating RSA keys using Web Crypto or Node crypto, swap the
generated p and q around, so that will satisfy p < q in most browsers
(but not old Microsoft Edge, 50% of the time) and so that we can use the
generated u coefficient (p^-1 mod q in OpenPGP, q^-1 mod p in RFC3447).
Then, when signing and verifying, swap p and q again, so that the key
hopefully satisfies Safari's requirement that p > q, and so that we can
keep using u again.
2019-11-18 14:59:01 +01:00
Tom J
d27060e508
Use native Node crypto for RSA key generation ( #947 )
2019-08-16 13:11:04 +02:00
Sanjana Rajan
0248604a96
more helpful error messages when rsa message and sig sizes exceed that of modulus
2018-06-13 13:06:07 +02:00
Mahrud Sayrafi
944dece506
Adds Brainpool Curves + tests + docs
2018-03-18 10:12:29 -07:00
Mahrud Sayrafi
a5e7562066
Many documentation improvements; more to come
2018-03-08 19:27:57 -08:00
Mahrud Sayrafi
08da24de27
documentation fixes
2018-03-08 10:55:58 -08:00
Bart Butler
f57888fe55
change all calls of getRandomBytes and getRandomBN to be async
2018-03-05 16:31:56 -08:00
Mahrud Sayrafi
9e1236c04c
Modernizes util.js
2018-02-28 15:49:41 -08:00
Mahrud Sayrafi
d529edfdda
Addresses @sanjanarajan's review comments
2018-02-27 13:04:45 -08:00
Mahrud Sayrafi
b518d27ff0
Added Fixed-Base Miller-Rabin
2018-02-27 00:23:51 -08:00
Mahrud Sayrafi
378fb85733
Optimizes getRandomBN, Brings back IE11 KeyOperation helper
2018-02-26 16:56:42 -05:00
Mahrud Sayrafi
2e95335825
millerRabin set to 40 iterations; doc fixes
2018-02-25 09:30:19 -05:00
Mahrud Sayrafi
7a3a75a7df
JavaScript RSA using bn.js, without asmcrypto.js
2018-02-25 00:11:29 -05:00
Mahrud Sayrafi
9943379cb7
Added Native RSA Key Generation
2018-02-24 22:10:36 -05:00
Mahrud Sayrafi
168a6b0bb8
New probabilistic random number generation algorithms; UNTESTED
2018-02-22 18:27:34 -08:00
Mahrud Sayrafi
3b912d2fae
Cleaning mpi.js; TODO: store MPI.data as Uint8Array instead of BN
...
Also improved asynchronousity in packet tests
2018-02-22 14:51:57 -08:00
Mahrud Sayrafi
d40e8fe428
Use asmcrypto.js directly + quickfix
2018-02-22 11:51:21 -08:00
Mahrud Sayrafi
a2868a5c14
Begone jsbn.js! I tell you begonegit status
2018-02-22 00:37:43 -08:00
Mahrud Sayrafi
1812166a53
RSA using asmcrypto with asmcrypto bignum
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
e1d85ba682
ElGamal and MPI use bn.js; TODO: RSA Key Generation
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
b126fd5be7
RSA encrypt/decrypt use asmcrypto as well
...
TODO: RSA key generation, removing jsbn from dsa, elgamal, mpi, etc.
2018-02-22 00:37:41 -08:00
Mahrud Sayrafi
aee8974ef5
RSA signatures now use asmcrypto.js; various fixes and tweaks
2018-02-22 00:37:41 -08:00
Bart Butler
3c2871a0e4
only access window.crypto.webkitSubtle in fallback
2018-02-15 15:34:32 -08:00
BafS
b672f1936a
Use let and const ES6 features.
...
Remove var, for let or const if possible, clean some syntax, enforce one var per declaration and semicolons
2018-02-13 23:33:09 +01:00
BafS
de6ffc2f76
Remove 'user strict'
...
'use strict' is unnecessary inside modules because module code is always strict mode code. Ref: https://www.ecma-international.org/ecma-262/6.0/#sec-strict-mode-code
2018-02-13 23:33:09 +01:00
Sanjana Rajan
b756d35b8f
use hash param in rsa key gen with webkit subtle
2017-09-20 18:28:37 +02:00
Tankred Hase
453a9cee07
Use web worker for encrypt/decrypt if no native gcm
2016-03-23 21:17:36 +08:00
Tankred Hase
dea42df209
Refactor src/crypto/**/*.js to use import & export
2016-02-05 10:36:09 +07:00
Tankred Hase
4d325ca65c
Cleanup RSA and util code
2016-02-03 20:24:54 +07:00
evilaliv3
a730d3f7ad
Replace check for detecting that an object is a promise
2016-01-07 18:28:40 +01:00
evilaliv3
9589fa0b52
Apply mixed code review thanks to webstorm inspector
2016-01-07 14:46:55 +01:00
Bart Butler
51dbbe2090
tanx update 2
2015-05-22 12:03:59 -07:00
Bart Butler
2a89baa837
tanx updates
2015-05-22 12:02:23 -07:00
Bart Butler
e8465350fc
Support for crypto API keygen in IE11 on Windows 7 and 8
2015-02-28 03:43:39 -08:00
Tankred Hase
cb3cc86a88
Add native RSA keygen (WebCrypto) support for Safari/iOS
2015-02-13 22:14:27 +01:00
Tankred Hase
0ac58356b5
Refactor keygen to use promises (Work in progress)
2014-10-01 13:13:09 +02:00
Tankred Hase
72cb1cfc49
Make WebCrypto optional with config.useWebCrypto
2014-10-01 11:17:48 +02:00
Tankred Hase
e6f66b9039
Cleanup promise error handling
2014-10-01 08:40:26 +02:00
Tankred Hase
0af12b81a3
Fix typo
2014-10-01 07:40:02 +02:00
Tankred Hase
7c2cf89589
Fix decoding of JWK. Webcrypto works.
2014-09-30 21:57:46 +02:00
Tankred Hase
85d2199971
Activate web crypto api (still fails tests)
...
* Remove api support for safari
* Fix error handling
2014-09-30 19:31:12 +02:00
Tankred Hase
cbe4a17ccb
Refactor key generation to use callback
...
* TODO: reactive native web crypto in rsa.js:142
* TODO: generate publicExponent Uint8Array from argument E in rsa.js:148
* TODO: signing with generated web crypto key fails with "Could not find valid key packet for signing in key"
2014-09-30 18:22:17 +02:00
Thomas Oberndörfer
d6963f2017
map JWK parameters to local BigInteger
2014-09-30 18:20:26 +02:00
Tankred Hase
15edf09972
Add RSA keygen example using WebCrypto Api
2014-09-30 18:20:26 +02:00
Tankred Hase
bbe174828f
Upgrade license to LGPL version 3.0 or later.
2014-09-30 18:16:58 +02:00
Thomas Oberndörfer
3f626f4bfb
OP-01-024 Random Range Bias in DSA/Elgamal (Low). Fix ranges, add TWO constant to BigInteger.
2014-03-21 17:12:02 +01:00