Roland's homepage

My random knot in the Web

onepad

This is a set of programs to encrypt files using one-time-pad encryption. This is an old but theoretically impossible to easily break way of encryption. I came across this method in Neal Stephenson’s Cryptonomicon.

It works by XOR-ing every byte in the cleartext message with a byte in the key. As long as every key is only used once, and the key is random, this is supposed to be unbreakable.

However, you need a secure way to exchange keys with the intended recipient. If a third party intercepts the key, it can read the messages.

N.B: These programs work, but the genpad program relies on the /dev/random device to generate random keys. So the quality of the key and therefore the safety of this encryption method depends on the randomness of the /dev/random device on your system. So I cannot guarantee that the generated keys are totally random. Therefore, if you need really good encryption, use something like ccrypt or GNU Privacy Guard. These have been written, tested and pounded on by a lot of people, probably smarter than I am. :)

source:onepad-1.1.0.tar.gz
GPG signature:
——-BEGIN PGP SIGNATURE——-
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAABAgAGBQJTEzijAAoJEED21dyjijPgWRsQALit6kFvk6AQtzbg3h+y+V98
GbGMTFCulOW6jzQMBSGHPHQHLC4gNKgcFKygItp2YnI0spbUheV1BKk8Fg+hEJXM
88aESuzVc+sC8Vd9E5L6ka+v8KzmawEeOV8+a2SywCBv0FmeV+Ag805nvZrE/T3q
GBGGysw57zhB/cj4Zt747igF+zGa8nPY4Xss3iNvuVlQpqy91WXlfPz9KteyC1X1
Jnn2Y61pflQ7VMpS3jJzLHVaEt6m2syFwwTXeBMbtif0ltR/a+EfEJUgDqPVkxrx
UL9TZls0GsdnpqC/CniyBOUT0xmaiEgXrbw1KMkMdwZaetQ2XOKQvrqxkfgP/Rs1
9juDRtkNNeSi9pXSqtQeEiftoQco7ZM6nBTRKMnx88MIEFHdGWld+o0oCSYF+ELy
UTuLikDvnPQZv13i5ogY003liSL2bY9Ofcc2hqB2G1UhKsaSrc3XyJ/OGOaWn2lF
VJRnXRJPwScQTqVG/+ESoKWWCpu6iIifRlRZzDYWkFUrWYkyTw4ST1qfEMpszQ1n
G5thU//ky4qtd+/z5aqDNRQ1puxdZANqRNlxRjVyJtMtwqoo+UTqtcogPWR7RJ5b
Nz2B6x06J51bPhz8K1p6lZka2HEz4ok9tJx5kYGbErBKQwNMVoVCHkEmbp592mgc
x8SycWc2eOfjiuFIh7kN
=cCYH
——-END PGP SIGNATURE——-
SHA256 hash:49fd6e67e66c60f927e656dc24a3a7307ba5bb01e762dd191ca7ee7160a09356
Requirements:C develompent environment, make

←  Symbols for labeling chemicals rrm  →