Re: comments on cipher please
- From: "Antony Clements" <antony.clements@xxxxxxxxxxxxxxx>
- Date: Fri, 3 Nov 2006 20:56:16 +1100
<snip>
First, take a simple Vigenère cipher and implement it (should take you
no more than 10 minutes ;) Then study the ways it can be broken and
implement a program that breaks your own cipher text.
<end snip>
i did that several years ago.
<snip>
After that, go to a bit more difficult ciphers. For example, learn how
a linear shift feedback register works, and create a stream cipher
based on a single lsfr. Read (or ask) why this isn't safe, and
implement a program that finds the period of your lsfr and breaks your
ciphertext, if it is long enough.
<end snip>
i did this several years ago as well.
<snip>
If you are able to implement these things all on your own, you probably
understand enough of basic stream ciphers to know what to study next.
Otherwise just ask, and you will get hints on what to do next.
<end snip>
the first implementation i ever created was a basic vignere stream cipher
with a repeating block passkey of 64 bits or more, where the first byte of
the key that was used was n, for passkeys of even length n was every third
character, for odd length keys n was every second character. but that idea
is long since dead.
<snip>
There is nothing wrong with problem based learning, but the problem you
have chosen is just too big to start with; trust us, we also started
with the very basics. If you really want to learn, know that the tempo
will be slow, especially at first. Be prepared to learn a lot of math
as you go, it is the most important thing in cryptography. But math
doesn't have to be hard if you do it in small steps, it is only hard
when you miss basic knowledge. When your eyes glaze over while reading
a paper, it means the paper is still too difficult; try taking a step
back. After a while even those difficult papers will make sense.
<end snip>
thanks for the tips and encouragement Peter, it's much appreciated.
currently i'm tinkering with a basic method of a streamed plaintext wwith a
blocked passkey of 64 bit length or greater but instead of using the same
key over and over again, where n is the length of the passkey, every n+1
character in the stream starts a new passkey., like a basic version of an
ECB but keys are not pre-defined they are defined at runtime. every byte in
the data stream and every byte in the key are xor'd together like in a basic
vignere cipher, the resulting bytes are then xor'd with the the same amount
of bytes in n key to create a different key and then they become the next
key to use, a basic CFB. quite basic i know, but as i've said this isn't
really a cipher as it is to understand a little about different
methodologies.
i would never presume to write a proper cipher, this is just in the hopes to
make me a better coder by people telling me where and how they break it and
then i attempt to bypass they break.
.
- Follow-Ups:
- Re: comments on cipher please
- From: Peter van Liesdonk
- Re: comments on cipher please
- References:
- Re: comments on cipher please
- From: Peter van Liesdonk
- Re: comments on cipher please
- Prev by Date: Re: Notice: My 2nd crypto book finished :-)
- Next by Date: Re: Notice: My 2nd crypto book finished :-)
- Previous by thread: Re: comments on cipher please
- Next by thread: Re: comments on cipher please
- Index(es):
Relevant Pages
|