Commit 573b766
committed
feat: Introduce Rust+WebAssembly cryptographic module
🔐 **Enhanced Security & Performance**
- Developed new crypto module in Rust to replace pure JavaScript implementation
- Leverages WebAssembly for near-native performance (~5-7x faster than JS)
- Provides memory safety and sandboxed execution environment
🛠️ **Technical Implementation**
- AES-256-GCM encryption with 100,000 PBKDF2 iterations
- ECDSA P-384 digital signatures with SHA-384
- Cryptographically secure random number generation
- Input sanitization and rate limiting
📦 **Module Structure**
- `/src/enhanced-secure-crypto/` - Rust source code
- `/pkg/` - Generated WASM binaries and JS bindings
- Integration examples and demo pages included
1 parent 5437bef commit 573b766
File tree
975 files changed
+3632
-0
lines changed- src/enhanced-secure-crypto
- scripts
- src
- target
- debug
- .fingerprint
- bumpalo-2b7f3ec8907f4997
- cc-ff517644d365adfd
- log-58207c008f16b668
- proc-macro2-07baaf3c5100903d
- proc-macro2-a3fd082d173b5d5c
- proc-macro2-bcf58ee349b62faf
- quote-c2d74ace09f6ca40
- ring-07948860d5b24606
- rustversion-6382b20f77509af5
- rustversion-8989a52b94b3f726
- rustversion-9e8fcb20d4573e46
- serde-96ea6d1d5e6f820c
- serde_derive-f5111e45b05bdd7e
- serde_json-87a042727abb4f94
- shlex-1fd72f322ec144b1
- syn-c72a58c3af4da851
- thiserror-cece736a540dddd4
- thiserror-impl-4f5f74feb47a7839
- unicode-ident-eda73e4e1b0bc17f
- wasm-bindgen-600419e81c06da02
- wasm-bindgen-backend-2b13feae6fdd8605
- wasm-bindgen-macro-5d7feef36cf324a3
- wasm-bindgen-macro-support-7337723c4c35cf12
- zerocopy-85f49c5d60eee9d5
- build
- proc-macro2-a3fd082d173b5d5c
- proc-macro2-bcf58ee349b62faf
- ring-07948860d5b24606
- rustversion-6382b20f77509af5
- rustversion-8989a52b94b3f726
- out
- serde-96ea6d1d5e6f820c
- serde_json-87a042727abb4f94
- thiserror-cece736a540dddd4
- wasm-bindgen-600419e81c06da02
- zerocopy-85f49c5d60eee9d5
- deps
- release
- .fingerprint
- bumpalo-09aabbb77dbc9db9
- cc-6f893e7609508ae8
- log-4c65ac0ef2f8fa95
- proc-macro2-2770628431460e0b
- proc-macro2-c193d18e703e90aa
- proc-macro2-f2ee58c37bbf67c3
- quote-6cdec5b5918843c2
- ring-387849b59858edf6
- rustversion-45a4e78d5c368b63
- rustversion-5ba77fb2747add25
- rustversion-7fc77a2d45800e46
- serde-5ab6efc801a08971
- serde_derive-834143631575516b
- serde_json-f2603c3fe5854728
- shlex-600e69eb33c63794
- syn-e40ce208e0db55c4
- thiserror-02fd1504d27c08cc
- thiserror-impl-e8ca6b9087e96353
- unicode-ident-a9a14d2ac0c5b804
- wasm-bindgen-7157b1746667dd1a
- wasm-bindgen-backend-15088d92a8703976
- wasm-bindgen-macro-6626cbc1dbe8829d
- wasm-bindgen-macro-support-492d03b4c4ec7b81
- zerocopy-2ea020179d380cad
- build
- proc-macro2-c193d18e703e90aa
- proc-macro2-f2ee58c37bbf67c3
- ring-387849b59858edf6
- rustversion-45a4e78d5c368b63
- rustversion-5ba77fb2747add25
- out
- serde-5ab6efc801a08971
- serde_json-f2603c3fe5854728
- thiserror-02fd1504d27c08cc
- wasm-bindgen-7157b1746667dd1a
- zerocopy-2ea020179d380cad
- deps
- wasm32-unknown-unknown
- debug
- .fingerprint
- base64-c39b2caf0bf6146e
- cfg-if-8de74fb5be3c185b
- console_error_panic_hook-8e1e4de90cee489f
- enhanced-secure-crypto-1c22815ea562c47e
- getrandom-66a4f4361d4e7854
- hex-aac68fa4cdb5a2bc
- itoa-2ca1212a60c129bd
- js-sys-52fa005aef82b678
- memchr-fb6b6ccd2b2321b1
- once_cell-63cc52698efbd5f5
- ppv-lite86-0651e2b130858fed
- rand-8692d1d4e9b0c7cc
- rand_chacha-95d59dcf5afdcf5e
- rand_core-438a75dbb4aff31b
- ring-e68d77f0c68f7bae
- ring-f4170080a9d6fcac
- ryu-a6233eb6e3ba1804
- serde-bbf3592440f6a6eb
- serde-e94e07a6dba85615
- serde-wasm-bindgen-b90ebba1a8b7241c
- serde_json-41f1376c8352a600
- serde_json-7698a0574ff48f8f
- thiserror-7469ef68ca028888
- thiserror-e579bd619122dc9a
- untrusted-49e32b8c4ca60262
- wasm-bindgen-58633cb8d174683f
- wasm-bindgen-c4fb98031610d2f4
- wasm-bindgen-futures-a5c68debeb14d90b
- web-sys-1b2ecd2bed5baeea
- zerocopy-06d44486a4635124
- zerocopy-c962dbcd589f3d24
- build
- ring-f4170080a9d6fcac
- serde-bbf3592440f6a6eb
- serde_json-41f1376c8352a600
- thiserror-7469ef68ca028888
- wasm-bindgen-58633cb8d174683f
- zerocopy-06d44486a4635124
- deps
- incremental/enhanced_secure_crypto-0p94oafq6q18b
- s-ha6f3waezj-1lik5l5-behwe46ucq4rrfrdv6g1i3f1c
- release
- .fingerprint
- base64-04858ad551aefb0e
- base64-ddb055d3b7d06e6b
- cfg-if-d3f9d5fbd09d2fd8
- console_error_panic_hook-3cf3d18e5b6f7b38
- enhanced-secure-crypto-1c22815ea562c47e
- getrandom-acc3413e31732009
- hex-5c037fe06b039b5f
- itoa-694094aaa8d07965
- js-sys-017519bad32b4abb
- memchr-6bcaa085086efdf2
- once_cell-7c79a6a4a7f38cf3
- ppv-lite86-59423e518c500b84
- rand-454bd0af0a2e1729
- rand_chacha-2d5a891bfd531608
- rand_core-b4a30fd5c7d905ee
- ring-5e5e9571ac335999
- ring-961161f998803aee
- ryu-0f54205256cd22ff
- serde-07762fb2b4cbbd2f
- serde-75db991a71ac6ae9
- serde-wasm-bindgen-6f691f130c39be33
- serde_json-667ff1da58cfb49d
- serde_json-e1797aebab9119ce
- thiserror-e35484f7060f43ab
- thiserror-e6bc9f01c8d409b0
- untrusted-778a6e662dd951fb
- wasm-bindgen-6f3308d0b28613e8
- wasm-bindgen-d045579952bd64b4
- wasm-bindgen-futures-a5bda182e473205c
- web-sys-a8e0f0838741077e
- zerocopy-27e996c96f522ede
- zerocopy-f0e8ab7cef0e213b
- build
- ring-5e5e9571ac335999
- serde-75db991a71ac6ae9
- serde_json-e1797aebab9119ce
- thiserror-e6bc9f01c8d409b0
- wasm-bindgen-6f3308d0b28613e8
- zerocopy-27e996c96f522ede
- deps
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
975 files changed
+3632
-0
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
0 commit comments