Website Signature Verification

Website Signature Verifier

jvoss@altsci.com
jvoss@myuw.net
Nov 13, 2005

Site Sign 0.3 Source [sig]

DESCRIPTION

Sends an e-mail when your site has a cryptographic error. This is good to detect changes, intrusions, and mistakes. There are three levels of testing:

Level 1: Check that remote page concurs with remote signature.
Level 1 ensures that someone has signed the file with a key that we have in our public keyring. Level 1 ensures that if your page is changed, it is because of an intended change and has been signed by the developer. Level 1 is not a perfect guarantee of security since an attacker who is in your public keyring could sign it with their key and Level 1 would pass.

Read more »

SSL Blowfish Wrapper

SSL Blowfish Wrapper

jvoss@altsci.com
jvoss@myuw.net
Jan 20, 2006

SSL Blowfish Wrapper 0.2 Source [sig]

DESCRIPTION

SSL Blowfish is a wrapper for the OpenSSL library that allows quick and easy integration of SSL Blowfish encryption into projects. It was specifically designed to add SSL Blowfish support for the UDP Session project. It worked quite well. It is just one C file, so it is quite small and easy to add. The two test programs are compatible with the commonly used utility: openssl enc -bf-cbc. The test programs can only work on 1024 bytes at the current time. It is a limitation of the library that you have to allocate as much memory as you plan to use in each packet. For example, if you wanted to encrypt a 600 MB file the same way that you do with openssl enc -bf-cbc, you would have to allocate 600 MB to do so with this library. Since that isn't reasonable, it is reasonable to say that the library is limited to transmitting small packets that are independent from each other. This is a good library for UDP.

One problem with the library is that it requires a new key to be generated for each packet and for Blowfish, this operation is unusually slow. This is a useful security measure, but might hinder very slow machines that require very high rate of transfer. It makes sense that the in this case, a different encryption method could be used. Since OpenSSL is very modular, this library could be switched to a different algorithm.

Read more »

Basic Image and Text Steganography and Steganalysis


Oct 5, 2006

Text steganography 1 version 0.1.1 [sig]
Rubber Spoon 1 version 0.1 [sig]
libsteg version 0.4.4 [sig]

INTRODUCTION

Steganography is the science of hiding information in plain sight. It does not require cryptography, but in modern computation, it is obvious that cryptography is quite likely to be involved. There are a handful of methods of steganography that are well-known but most of them involve taking the least significant bits (lsb) of a large set of data and flipping it to a pattern. Keying the flipping of bits makes for a larger attack surface, but can still be brute forced if the key lacks enough entropy.

It is important that the input picture used for steganography not be available to an attacker because this will allow the attacker to see ~90% of which bits are flipped giving away the secret and plausible deniability. Image generation that is impossible to reverse is a topic that can be discussed in the future. An easy way that would give away intent would be to flip all non-steg least significant bits randomly. A better way would be to design the algorithm around the randomness already present in images.

Read more »

UDP Session Development

UDP Session Development

jvoss@altsci.com
jvoss@myuw.net
Jan 20, 2006

UDP Session 0.4.0d Source [sig]
UDP Session 0.3.3c Source [sig]
UDP Session 0.3.2b Source [sig]

DESCRIPTION

This program connects two computers without having either be a server. It uses "Evasive UDP Session Establishment" originally conceived by Winston Williams and other concurrent developers. The initial idea of the system was to poke holes in a firewall by using UDP's design as a stateless protocol. That way, both computers could consider themselves clients to a remote server. Upon further development, I found that other developers had designed similar systems with different mechanics.

ENCRYPTION

Version 0.3 is encrypted with Blowfish-cbc. This 128-bit encryption is easily considered strong if used with strong passwords. Version 0.3 is statically or dynamically linked to libssl and libcrypt, so their licences apply. I will include the proper licensing agreements in future versions. Since the current version is such a fast release, it makes sense to release it sooner than later. To implement Blowfish-cbc, I created a library which wraps the OpenSSL calls in a way that is easily usable. That library is called SSL Blowfish Wrapper for the time being.

Read more »

« previous next »