Daniel Huigens
e055d86062
Update documentation
2018-08-14 17:50:26 +02:00
Daniel Huigens
e5a3095894
Fix GCM and EAX in Edge
...
Web Crypto AES-GCM in Edge seems to require non-empty ADATA and an
explicit tagLength.
AES-CTR doesn't seem to be supported at all, so this disables Web Crypto
for EAX in Edge.
2018-08-14 17:24:41 +02:00
Daniel Huigens
c705f475b7
Switch back to hash.js SHA512
...
asmcrypto.js SHA512 is huge (75kB, 7kB gzipped).
This partially reverts fadcc4b5.
2018-08-14 17:24:40 +02:00
Daniel Huigens
a2f53b2ce2
Speed up initial builds
2018-08-14 17:24:40 +02:00
Daniel Huigens
52c4fa9639
Move streams library to a separate package
2018-08-14 16:35:40 +02:00
Daniel Huigens
ca537e439d
Comments & code style
2018-08-14 16:35:38 +02:00
Daniel Huigens
d489f3369f
Update to asmcrypto.js 2
2018-08-10 14:46:30 +02:00
Daniel Huigens
eb72d4dd63
Don't use asmcrypto's streaming API when not necessary
...
Optimization for Firefox
2018-08-10 14:46:26 +02:00
Daniel Huigens
56ec5b3a8d
Don't keep extra copies of streams in memory
2018-08-10 14:46:22 +02:00
Daniel Huigens
253e1c572b
Switch to asmcrypto for hashing where available
2018-08-10 14:44:01 +02:00
Daniel Huigens
ade2627bca
Streaming verify one-pass signatures
2018-08-10 14:44:01 +02:00
Daniel Huigens
fb155ffae0
Streaming support on Node
2018-08-10 14:44:01 +02:00
Daniel Huigens
05479e6e6b
Don't warn about await in loops
2018-08-10 14:44:01 +02:00
Daniel Huigens
1f30556674
Split stream.transform into using two helper functions
2018-08-10 14:44:01 +02:00
Daniel Huigens
4ada3fa590
Don't mutate prototypes of Uint8Array, ReadableStream and ReadableStreamDefaultWriter
2018-08-10 14:44:01 +02:00
Daniel Huigens
0372bf78f1
Make (de)armoring and packet reading asynchronous
2018-08-10 14:44:01 +02:00
Daniel Huigens
403bdc5346
Streaming decryption (Web)
2018-08-10 14:44:01 +02:00
Daniel Huigens
9853d3d830
Streaming encryption (Web)
2018-08-10 14:44:01 +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
Daniel Huigens
4afaae13ca
Remove unused variables
2018-05-03 13:07:52 +02:00
Daniel Huigens
6e27e3145c
Micro-optimize DSA signing
2018-05-03 13:07:52 +02:00
Daniel Huigens
95b9e5188a
Remove some ESLint silencers
2018-05-01 17:36:15 +02:00
Daniel Huigens
a16d1a6a1d
iOS does not support GCM-en/decrypting empty messages
2018-04-30 19:09:48 +02:00
Daniel Huigens
a7fce27424
Safari 8 compatibility
2018-04-30 16:58:37 +02:00
Daniel Huigens
550b758d57
Fall back to asm for CTR and CBC in old Safari
2018-04-30 16:58:35 +02:00
Daniel Huigens
04651e359a
Rename enums.aead.gcm to experimental_gcm
...
So that (1) if the spec ever defines GCM differently than we do, we have a
clean upgrade path and (2) it makes it clear that it's experimental.
2018-04-30 15:55:37 +02:00
Daniel Huigens
bbf71d149b
Deduplicate OCB encrypt / decrypt
2018-04-30 15:55:37 +02:00
Daniel Huigens
310d8dd9b9
Fix V5 key fingerprint in ECDH parameters
2018-04-30 15:55:36 +02:00
Daniel Huigens
485cb17e95
Deduplicate SymEncryptedAEADProtected encrypt / decrypt
2018-04-30 15:55:34 +02:00
Daniel Huigens
e061df113c
Implement GCM mode in the new draft
...
Also, implement additional data for GCM
2018-04-30 15:55:31 +02:00
Daniel Huigens
d5a7cb3037
Constant-time double() in OCB
2018-04-27 14:06:20 +02:00
Daniel Huigens
69762f95de
Code style
2018-04-27 14:06:20 +02:00
Daniel Huigens
51d7860622
Native CMAC
2018-04-27 14:06:19 +02:00
Daniel Huigens
2f849063f9
Allow reusing EAX/OCB instances with the same key
...
This is useful for chunked encryption in draft04
2018-04-27 14:06:19 +02:00
Daniel Huigens
d5d4c97228
Fix config.use_native
2018-04-27 14:06:17 +02:00
Daniel Huigens
53d6f20b72
Reduce allocations in OCB mode
2018-04-27 14:06:17 +02:00
Daniel Huigens
93f75f398f
Reuse CMAC in EAX mode
2018-04-27 14:06:16 +02:00
Daniel Huigens
627a6ef46e
Only calculate AES key schedules once in cipher/aes.js
2018-04-27 14:06:15 +02:00
Daniel Huigens
ba2b761da4
Implement OCB mode
2018-04-27 14:06:15 +02:00
Daniel Huigens
f40489aa43
Implement getLeftNBits, shiftLeft and shiftRight for Uint8Arrays
2018-04-27 14:06:14 +02:00
Daniel Huigens
5f891d28d6
Switch cipher/aes.js to Uint8Arrays
2018-04-27 14:06:14 +02:00
Daniel Huigens
85a1b9859b
Implement EAX mode
2018-04-25 20:12:10 +02:00
Daniel Huigens
59b608f0a6
Enable native Brainpool crypto on Node
2018-03-26 16:18:21 +02:00
Mahrud Sayrafi
944dece506
Adds Brainpool Curves + tests + docs
2018-03-18 10:12:29 -07:00
Mahrud Sayrafi
96c9cd0d73
Fixes dead links in the documentation
2018-03-13 00:13:04 -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
Mahrud Sayrafi
ec22dabac3
Slightly simplifies key.js; adds key.verifyKeyPackets which should be run before getEncryption/SigningKeyPacket
2018-03-08 10:01:54 +01:00
Sanjana Rajan
354b961b67
primegen bugfix, recalculate i
2018-03-07 08:32:52 +01:00
KAYLukas
59d2973c05
ESLint
2018-03-07 00:50:26 +01:00