Description
A couple of years ago I created StegoSecretS, a small cli used to encrypt and split a secret into multiple keys, using the Shamir's Secret Sharing algorithm.
The idea is to re-implement the project using physical devices. One device alone will be useless, but when close together they can be used to decrypt the secret.
On a practical side the user encrypts the secret with a mobile application. The same application is used to split the secret, and load the partial keys into different micro-controllers. Another user will be able to decrypt the secret only having at least N devices close together (using the application).
I'm planning to use a couple of ESP32-C3 I bought, and build a very simple Android mobile application.
Goals
- Learn about Rust and micro-controllers (ESP32-C3)
- Learn about mobile applications (Android and Kotlin)
Resources
This project is part of:
Hack Week 24
Activity
Comments
Be the first to comment!
Similar Projects
Play with esp32 and arduino to create domotics stuff by aginies
Description
got some esp32 board and multiple small periphericals since a while at home, its time to play with them and learn a bit more about this stuff. Connect them to Home assistant.
Goals
learn more about esp32 and creating domotics objets.
Resources
esp32 home
Capyboard, ESP32 Development Board for Education by emiler
Description
Capyboard is an ESP32 development board built to accept individual custom-made modules. The board is created primarily for use in education, where you want to focus on embedded programming instead of spending time with connecting cables and parts on a breadboard, as you would with Arduino and other such devices. The board is not limited only to education and it can be used to build, for instance, a very powerful internal meteo-station and so on.
I already have one initial prototype ready and tested. The next iteration addresses several issues the first prototype had. I am planning on finishing up the mainboard and one of the modules this week.
This project is also a part of my master's thesis.
Goals
- Finish testing of a new prototype
- Publish source files
- Documentation completion
- Finish writing thesis
Resources
- github.com/realcharmer/capyboard
- github.com/realcharmer/capyboard-starter
- github.com/realcharmer/capyboard-docs
- docs.capyboard.dev
Write an url shortener in Rust (And learn in the way) by szarate
So I have 469.icu :), it's currently doing nothing... (and for sale) but in the meantime, I'd like to write an url shortener from scratch and deploy it on my own server
https://github.com/foursixnine/url-manager-rs/tree/main
Hacking on sched_ext by flonnegren
Description
Sched_ext upstream has some interesting issues open for grabs:
Goals
Send patches to sched_ext upstream
Also set up perfetto to trace some of the example schedulers.
Resources
https://github.com/sched-ext/scx
Kanidm: A safe and modern IDM system by firstyear
Kanidm is an IDM system written in Rust for modern systems authentication. The github repo has a detailed "getting started" on the readme.
In addition Kanidm has spawn a number of adjacent projects in the Rust ecosystem such as LDAP, Kerberos, Webauthn, and cryptography libraries.
In this hack week, we'll be working on Quokca, a certificate authority that supports PKCS11/TPM storage of keys, issuance of PIV certificates, and ACME without the feature gatekeeping implemented by other CA's like smallstep.
For anyone who wants to participate in Kanidm, we have documentation and developer guides which can help.
I'm happy to help and share more, so please get in touch!
Hack on isotest-ng - a rust port of isotovideo (os-autoinst aka testrunner of openQA) by szarate
Description
Some time ago, I managed to convince ByteOtter to hack something that resembles isotovideo but in Rust, not because I believe that Perl is dead, but more because there are certain limitations in the perl code (how it was written), and its always hard to add new functionalities when they are about implementing a new backend, or fixing bugs (Along with people complaining that Perl is dead, and that they don't like it)
In reality, I wanted to see if this could be done, and ByteOtter proved that it could be, while doing an amazing job at hacking a vnc console, and helping me understand better what RuPerl needs to work.
I plan to keep working on this for the next few years, and while I don't aim for feature completion or replacing isotovideo tih isotest-ng (name in progress), I do plan to be able to use it on a daily basis, using specialized tooling with interfaces, instead of reimplementing everything in the backend
Todo
- Add
make
targets for testability, e.g "spawn qemu and type" - Add image search matching algorithm
- Add a Null test distribution provider
- Add a Perl Test Distribution Provider
- Fix unittests https://github.com/os-autoinst/isotest-ng/issues/5
- Research OpenTofu how to add new hypervisors/baremetal to OpenTofu
- Add an interface to openQA cli
Goals
- Implement at least one of the above, prepare proposals for GSoC
- Boot a system via it's BMC
Resources
See https://github.com/os-autoinst/isotest-ng
Implement a CLI tool for Trento - trentoctl by nkopliku
Description
Implement a trentoctl
CLI for interacting with a trento installation
Goals
- learn rust
- implement an initial
trentoctl
tool to enhance trento automation - have fun
Resources
trento rust. TUIs listed on this other hackweek project Hack on rich terminal user interfaces
Sipario, less mobile phone, more social interactions by baldarn
Mobile phone usage is addictive. There are adults addicted, but a huge problem is kids addiction We must do something to help avoid problems in this context.
The solution
Sipario, an app and community aggregator in order to help with smartphone addiction.
Description
The more you use Sipario, the more points you earn. If you use the smartphone, you will lose your points
Business model
How is this sustainable?
I personally don't care, but sutainability of the business is key to possible investments.
Sipario will allow commercial entities to join the network. The idea is to give commercial activities (eg: restourants, cinemas, theathers, ....) the ability to certify that users are not using the smartphones during the permanence in the place. this will allow then commercial activities to give coupons to users, in order to promote a good behavior and retain the customer
Tech challenge
if resources allows it, i would like to create an algorithm that leverage bluetooth for certify people proximity presence in order to avoid attacks from points rouge in the context of the app
Goals
Deliver:
- android app
- IOs app (some apple developers must join in order to do this)
- backoffice app
- BLE algorithm to certify nearby presence
Resources
https://en.wikipedia.org/wiki/Problematicsmartphoneuse
Similar app
https://play.google.com/store/apps/details?id=com.ascent&hl=en
Website
Create an Android app for Syncthing as part of the Syncthing Tray project by mkittler
Description
There's already an app but code/features already in Syncthing Tray could be reused to create a nicer app with additional features like managing ignore patterns more easily. The additional UI code for the app could then in turn be re-used by other parts of Syncthing Tray, e.g. to implement further steps in the wizard as requested by some users. This way one "UI wrapper codebase" could serve GNU/Linux, Windows and Android (and in theory MacOS) at the same time which is kind of neat.
Goals
- DONE: Learn more about development for Android and development of UIs with Qt Quick
- DONE: Create an experimental app reusing as much existing Syncthing Tray code as possible
- DONE: Build Syncthing as a library also for Android and use it in the app (already done but needs further testing and integration with the rest of the app configuration)
- DONE: Update the Syncthing Tray website, documentation
- Extend the app so it has at least a start page and an import that can cope with an export of the other app
- Update forum thread
- Upload an experimental build on GitHub
- Extend the Syncthing API to download single files on demand (instead of having to sync the whole directory or use ignore patterns)
Resources
- Android SDK/NDK and emulator
- Qt Quick