Michael Scire
706b8492fd
libs: begin adding capacity for doing crypto on generic os (using externally-preset keys)
2022-03-21 17:21:44 -07:00
Michael Scire
64a97576d0
ams: support building unit test programs on windows/linux/macos
2022-03-21 17:21:44 -07:00
Michael Scire
01f7f567b9
fs: add Sha256HashGenerator, LZ4 decompressor
2022-02-21 15:17:17 -08:00
Michael Scire
a14dc6ed89
crypto: implement md5, which now used by sprof
2021-10-25 23:15:50 -07:00
Michael Scire
889d843718
ams: improve offsetof style consistency
2021-10-18 00:17:13 -07:00
Michael Scire
67a45c97ef
exo/vapours: refactor member variables to m_ over this->
2021-10-09 15:40:06 -07:00
Michael Scire
77fe5cf6f5
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-04 12:59:10 -07:00
Michael Scire
9b04ff0f54
ams-libs: AMS_ASSERT no longer invokes expression
2021-09-29 21:32:40 -07:00
Michael Scire
91e0bbd9d7
exo2: Implement (untested) SmcDecryptDeviceUniqueData
2020-06-14 22:07:45 -07:00
Michael Scire
f66b41c027
exo2: Initial work on the exosphere rewrite.
...
exo2: Implement uncompressor stub and boot code up to Main().
exo2: implement some more init (uart/gic)
exo2: implement more of init
exo2: improve reg api, add keyslot flag setters
exo2: implement se aes decryption/enc
exo2: fix bugs in loader stub/mmu mappings
exo2: start skeletoning bootconfig/global context types
arch: fix makefile flags
exo2: implement through master key derivation
exo2: implement device master keygen
exo2: more init through start of SetupSocSecurity
exo2: implement pmc secure scratch management
se: implement sticky bit validation
libexosphere: fix building for arm32
libexo: fix makefile flags
libexo: support building for arm64/arm
sc7fw: skeleton binary
sc7fw: skeleton a little more
sc7fw: implement all non-dram functionality
exo2: fix DivideUp error
sc7fw: implement more dram code, fix reg library errors
sc7fw: complete sc7fw impl.
exo2: skeleton the rest of SetupSocSecurity
exo2: implement fiq interrupt handler
exo2: implement all exception handlers
exo2: skeleton the entire smc api, implement the svc invoker
exo2: implement rest of SetupSocSecurity
exo2: correct slave security errors
exo2: fix register definition
exo2: minor fixes
2020-06-14 22:07:45 -07:00
SciresM
81f91803ec
Implement support for parsing/interacting with NCAs. ( #942 )
...
* fs: implement support for interacting with ncas.
* spl: extend to use virtual keyslots
2020-05-11 15:04:51 -07:00
SciresM
3a1ccdd919
Switch atmosphere's build target to C++20. ( #952 )
...
* ams: update to build with gcc10/c++20
* remove mno-outline-atomics
* ams: take care of most TODO C++20s
* fusee/sept: update for gcc10
* whoosh, your code now uses pre-compiled headers
* make: dependency fixes
2020-05-11 15:02:10 -07:00
Michael Scire
73552c86c3
loader: update for 10.0.0
2020-04-14 02:45:28 -07:00
SciresM
79b9e07ee9
erpt: reimplement the sysmodule ( #875 )
...
* erpt: reimplement the sysmodule
* fatal: update for latest bindings
* erpt: amend logic for culling orphan attachments
2020-04-13 17:07:37 -07:00
Michael Scire
e04679f05a
crypto: add aes (ecb, ctr, xts)
2020-04-05 23:25:28 -07:00
SciresM
87ec045a98
mem: implement most of StandardAllocator ( #860 )
...
This was tested using `https://github.com/node-dot-cpp/alloc-test ` plus a few other by-hand tests.
It seems to work for the case we care about (sysmodules without thread cache-ing).
External users are advised to build with assertions on and contact SciresM if you find issues.
This is a lot of code to have gotten right in one go, and it was written mostly after midnight while sick, so there are probably un-noticed issues.
2020-03-29 14:43:16 -07:00
Michael Scire
70367e3e7c
crypto: add Sha256Context
2020-03-11 03:26:55 -07:00
Michael Scire
a429c61f33
crypto/spl: implement rsa-oaep
2020-02-24 19:09:13 -08:00
Michael Scire
8ccac1d18a
pss: extra validity check
2020-02-24 04:32:37 -08:00
Michael Scire
c3656aae30
crypto: constant-time pss (if it survives optimization)
2020-02-24 02:27:01 -08:00
Michael Scire
f3629f863d
crypto: implement RSA-2048-PSS
2020-02-23 17:34:30 -08:00
Michael Scire
d675aa3414
crypto: Implement BigNum/ExpMod
2020-02-23 06:51:32 -08:00
Michael Scire
40400aee1f
ams: revamp assertion system
2020-02-22 23:05:14 -08:00
Michael Scire
eb75d54b2b
vapours: new include style, add crypto
2020-02-22 19:47:08 -08:00