SecureChatAnywhere ESP32 project

I’m working on a hardware project to be able to use a smartphone to send and receive encrypted messages manually based on my old SecureChatAnywhere project for desktop computers (Java):
https://github.com/modrobert/SecureChatAnywhere

SecureChatAnywhere is a lightweight program written in Java with the purpose of making it easy to encrypt and decrypt any kind of text messages using AES-128/CBC symmetric encryption. The graphical user interface (GUI) is designed as a convenient “copy & paste tool” for computers to manage encryption and decryption stand-alone, in other words without relying on any kind of external communication.

Optimistically I trust desktop computers dealing with plaintext, but not smartphones since they are compromised by design (the cryptographic keys are in control by the vendors). The idea is that the smartphone only handles ciphertext since it is not trusted.

I’m using an ESP32S3 dev kit for the implementation of SecureChatAnywhere for use with a browser on smartphones (e.g. Android or IOS).

ESP32S3 devkit with display

Here’s the C programming progress so far:
[✓] AES-128/CBC with PKCS#7 padding
[✓] http server for ciphertext input and output viewed via browser on the smartphone
[✓] Bluetooth BLE 5.2 HID keyboard host with power save support (this took a lot of time)
[✓] USB 2.0 HID keyboard host
[✓] esp32 I2C display support
[   ] PCB design

All software parts have been tested working individually, I’m now at the stage of combining the software to work together as one. Eventually I will design a PCB and get a suitable case for the project.

New domain and forums

I have registered a domain modrobert.org for the weblog and opened new forums. You are welcome to join. The current forums as listed below:

ʻOumuamua’s light curve

After reading about Avi Loeb‘s proposal to check for radio emissions from the interstellar object ʻOumuamua I had an idea.

What if the tumbling motion of ʻOumuamua based on the observed light curve emitted actually is a way of communicating? I mean that the object was set in a deliberate oscillating motion to deliver a message in the light spectrum using light from a nearby star.

I’m thinking specifically of this part where the light curve is measured:

Source: https://en.wikipedia.org/wiki/%CA%BBOumuamua#Trajectory

Accounting for Vega’s proper motion, it would have taken ʻOumuamua 600,000 years to reach the Solar System from Vega.

Source

Please note that I still doubt there is alien life in the universe besides earth, but hypothetically, if you are going to send a message which takes roughly 600,000 years to reach its destination, how would you do that in practice?

Our modern technology capable of transmitting radio signals only last decades at best, usually even less, so ʻOumuamua producing radio signals seems unlikely. On the other hand, an object launched with deliberate trajectory, certain spin (tumbling in 3 dimensions), which is made from a material where the approximate deterioration in space can be calculated seems more likely even if it’s still a long shot.

ZeroBB – A minimalistic forum on the Tor network

If you have news to report, ideas to share, dislike moderation, and prefer to be anonymous, then read on.

ZeroBB is based on ZeroBin which is an open-source online paste tool where the server has zero knowledge of pasted data. The exception is when you make a new post to the public forum by having “Forum index” checked, the web server will know the key for that post since it is public. The data is encrypted/decrypted in the browser using 256 bits AES.

0bb

ZeroBB is running as a Tor hidden service v3 which means you have complete end-to-end encryption, no HTTPS required (regardless what your browser states). The Tor network also provides decent anonymity, it’s not perfect, but it has great potential.

http://gd6is466quuhsgzbztyv4sjswdhgfii63wf54qsb32v27xmm5dxbtmid.onion/0bb/

The Tor onion URL is long, but it serves a purpose as it also doubles as a key to access the site which in my opinion makes it more secure than DNS. Try to avoid using proxy services to access Tor as it compromises the security (MITM), also avoid services making the URL shorter if you want to keep the post secret. For more info about the Tor network, or to download the Tor browser, check the project site here: https://www.torproject.org/

ZeroBB Features:

  • No moderation.
  • No registration required.
  • No cookies.
  • No database.
  • Post anonymously (comments optionally have nicknames).
  • The user (OP) can delete their post¹ or set initial expiration time limit.
  • Data is compressed and encrypted in the browser before sending to server.
  • Uses 256 bits AES JS library².
  • Search engines can’t index³ the content.
  • Lean and mean minimalistic design.
  • Modified to work over the Tor network.

¹ In order to delete a post and all comments associated with it the “Delete link” URL (token) is required which is given after submitting a new post.
² Check https://sebsauvage.net/wiki/doku.php?id=php:zerobin for more details.
³ As long as search engines don’t execute JavaScript code when crawling (which they don’t AFAIK).

There is no specific direction what this forum is about, personally I like hacking related stuff, programming, reversing electronics and software, and being able share info without being tracked or censored. The forum/board functionality is bare minimum at the moment, pretty far from ideal, but it is work in progress. Let me know if you find any bugs, lots of code is in flux due to active development so expect some downtime.

A solution to global warming after the fact

During dinner today I got an idea how to combat global warming  as a solution after the fact, long after we passed the so called “point of no return”.  My idea is to detonate a bunch of nukes in large uninhabited forest areas on earth which hypothetically triggers a nuclear winter.

Sure, an ice age might not be great, but better than global warming. Besides, what do we have to lose after passing the point of no return and plant life (in effect all life) is dying? If the idea fails, at least humanity goes out with a bang! I wouldn’t have it any other way.

nukes_to_the_rescue

Fearless learning as a way of life

I’ve thought a bit about this and my humble advice is to adopt a shameless attitude towards learning in general, all the information is out there on internet these days if you dig deep enough.

Want to learn a new physics theory? Watch a lecture when the professor who won the recent Nobel price for it explains the theory in detail, made freely available as a video by some University or foundation. If there is something he/she is talking about you don’t understand, then search and learn about that as well. Just keep trying, give it time, eventually you will learn. After doing this you will start to get your own ideas and think about solutions to problems not yet solved.

Want to learn hardware design? Learn electronics. Read primers and books (PDF) about VHDL/Verilog on internet until your eyes bleed. After a couple of years, when you design your first state machine (simple CPU) and code a little program running on it, all the effort will be worthwhile.

Want to learn software engineering? Learn the basics of a computer language, anything will do, and then, for example, look at the fastest known sorting method. Tweak something in the code, experiment, watch what happens, even if it gets slower, why did it get slower? One morning you might wake up with a tweak idea which makes it slightly faster. The thrill of that might inspire you to write your own sorting method one day.

Want to learn philosophy? Good, it will help you to think out of the box, and come up with new ideas because suddenly abstraction takes you beyond previous borders of comprehension.

Why not learn all of the above? You can do it, don’t let anyone make you think otherwise.

Don’t worry about a career, don’t worry about academia and titles. Instead, use internet and learn for the sake of knowledge which is its own reward.

My quantum time loop theory

I’m not sure how this turned into a science blog, but it feels good. I’ll try not to spam too much by waiting patiently a few years between each post.

After reading this story over at arstechnica.com (also on slashdot.org) about a quantum experiment showing “effect before cause” it slowly dawned on me how this could happen, and perhaps explain a few other odd occurrences in quantum physics. I’ve made an illustration (below) of my theory how time might be curled up when you look close enough on the quantum level (think fast enough).

Time illustration.

If I’m right this could explain why it happens, perhaps also shed some light over the double-slit experiment. Feel free to leave a comment.

Quantum randomness and more

I have an ongoing discussion with my friend Weirdzo over at #dextrose (EFnet IRC) who pretty much disagree with me most of the time regarding science, this is also one of the reasons I respect him.  After thinking some things through I thought it was time to try and provoke people on a global scale for the sake of science and see how it pans out.  I’ll start out by humbly stating the following:

E = mc² E = mq (where q = quantum unidentified)

Yes, you read it right, I’m changing the mass-energy equivalence formula. This will be an attempt to back my theory by ramblings rather than concrete evidence, but don’t let that deflate your curiosity to read on. I don’t really believe in anything relying on time (perhaps related to my constant problem being “on time” in real life). However, I do believe in motion, everything around us is moving, especially on the scale of quantum mechanics. In my opinion time is a construct invented by us to cope with our limitations and means to experience the world around us. In that sense it is time (yes, I’m unfortunately as indoctrinated by the concept of time as the next person) to remove  (lightspeed squared) from the equation. If we necessarily need to stick with a constant (though lightspeed isn’t even constant since it is affected by gravity), why not use something that is faster than light to begin with instead of compromising it by a factor of two? I was reading about quantum entanglement and how it is at least 10,000 faster than the speed of light, that is better but still not good enough. What if we could rule out the speed factor entirely and just use a constant that makes sense in the quantum world? Keep that thought in mind, let me know when you figured out what to use.

This brings me to another matter which requires my immediate flame. Why do so many people in the quantum field of expertise seem so afraid of using the word random? Do we really need to invent parallel universes just to sleep at night knowing that nothing can be random? I tried to find the core of this unfunded fear and came up with two suggestions; first off it breaks the world of  determinism and then there is that old famous quote by Albert Einstein: “God does not play dice” which makes me think of the dark ages and how that affected science. While contemplating this I was reminded how the Roman empire lacked zero in their numeral system, and the effects it had on their math. I think it is high time we face reality and accept true randomness. We could always sleep comfortably at night knowing we invented a proper digit (or symbol) to represent it.

BTW: I’m a father of two wonderful kids and see randomness every day in their lives (while my own is getting way too predictable).

Console Déjà vu

I just got a request about scene releases of SNES (Super Famicom) games, unfortunately my file collection went into a dumpster in the form of quick-80 tapes a while back, though I did manage to find an old capture from one of my visits to the A K I R A board (multinode bbs  running AmiExpress /X) which was a Sneakers HQ back then.

Akira screen capture
Akira screen capture

Memories of US Robotics courier, blue boxing and failing calling cards comes to mind.

usr_courier_node1
US Robotics Courier – Best modem ever made

Ghetto Generator

Getting bored with the power outages lasting for several hours in Bangkok lately I thought of way to extend power beyond the UPS time limit.

it works!
it works!

This is the test setup shown above. I used an old UPS where the battery was bust and it happens to be 12V, same as the car. This is pretty far from a “green solution” since the engine is running (maybe I’ll try solar panels next). When the load increase so does the rpm of the car engine when the generator kicks in. I’m not sure how much I dare to hook up on this thing but should be enough to keep the essentials like the PC’s running, at least until the gas tank is empty.