Thursday, January 31, 2008

a little progress

I've been working on getting my development environment going on a couple of different machines, so I can work on my code on my personal or my work laptop. I now know how to get Netbeans and JDK and javadoc all working. That's all well and good, but maybe the best part is, I got my demo application to run and display an image, and then I added some text. I even made a little logo graphic for my "splash screen" :) But that's where all great programs start right? With a fancy splash screen!

At least that's how I always wrote programs when I was a kid, I'd spend two days on the splash screen, and write the rest of the program in a few hours :)

I'm enjoying using Netbeans, I've never used an IDE before. I wouldn't care about it, but the javadoc mouse-overs while coding, wow. Beats staring at library sources. I do have the java mobility midp sources, or at least everything that's been released. So if the docs don't make sense, at least I have the code to stare at.

I'm a little concerned at how my program is going to handle the necessary midp states, like pauseApp(). I usually just write big ugly state machines. We'll see what happens. Next I think I'll work on making an SSL connection, and maybe stare at some audio encoding/decoding code.

Thursday, January 24, 2008

and so it begins...

Welcome to talklock. I have begun to explore the world of cellphone voice encryption. Anyone who is interested in this topic, or would like to point to some information in this area, is welcome to comment here.

I don't want to start things out with too much rhetoric; let me just say that voice encryption is something that is a useful technology to many people. My main interest is our right to privacy. Anyone should be able to communicate over their cellphone without worrying about being listened to or recorded, or surveilled.

My initial current research has so far shown a company in Germany that cells encrypted voice software for phones. However, I do not know if it is phone-to-phone encryption, or depends on the carrier's 3G "secure" channel. I will post a link to the company I found, the domain name is on my development machine at home. For all I know, software is already available with source code somewhere on the net, but I have not found it.

In the meantime, I have a Java development environment set up on my old Toshiba laptop, with NetBeans and the Java Mobility Pack. I am able to build and run "MIDlets", small java programs that use the "mobile" subset of the java language, and pack them up to run on cellphones and embedded devices. I hope to write a MIDlet that will allow two phones to use OpenSSL to transmit voice back and forth, encrypted. There is a lot to consider: the phones have to find each other, there has to be an initial key handshake, I have to get audio data from the microphone and packetize it, on and on. The plan is to get the basic functionality, perhaps including a server to allow phones to find each other in layer 3 IP land, and then work on making the handshake and encryption very secure. I'll post updates.

Currently I'm staring at library calls in MIDlet land and trying to make them work. I have only written one Java program, it's taken about 2 weeks to get my head back into thinking java. No working code yet.