BlockCipher mode tests, fixes, enhancements

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

BlockCipher mode tests, fixes, enhancements

Chris Muller
Hi, just a note to let you know of some improvements
I've just committed to our repository.

Cryptography-Core

- All four BlockCipher modes are fixed-up and working
(CFB should be verified).
- Added ability for BlockCiphers to encrypt and
decrypt arbitrary-length ByteArray's.
- When using the non-streaming cipher modes (CBC and
CFB), proper padding of the ByteArray's should be the
responsibility of the BlockCipher, not the user
(developer).  Therefore, #encrypt: applies the "option
2" padding scheme specified by Ferguson and Schneier
in 'Practical Cryptography', p. 68-69.
- Can also encrypt/decrypt from:to: positions in an
existing ByteArray.
- Streaming modes (CTR and OFB) are supported as
stream ciphers, ByteArray's can be any size and no
padding to the next-larger block is performed or
needed.

Cryptography-Tests

- Created tests for all BlockCipher modes, by
generalizing the CTR test.  They all now run the same
(semi-robust) test.
- Separate test conditions ensure streaming modes work
properly.
- Separate encrypt/decrypt ByteArray tests are
included for all BlockCipher modes.

More to come..

 - Chris
_______________________________________________
Cryptography mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/cryptography
Reply | Threaded
Open this post in threaded view
|

RE: BlockCipher mode tests, fixes, enhancements

Ron Teitelbaum
Nice work Chris.

Is anyone available to review and verify Chris's work?  (Chris said: CFB
should be verified)

Is anyone else able to help Chris with development?

Chris, I see your notes below; did you add those notes to the class
comments?

Maybe you could coordinate more Schneier changes?  Do you have a list of
what changes you think we should be working on?  

Maybe we could get some team work going?

Ron Teitelbaum

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of
> Chris Muller
> Sent: Tuesday, March 07, 2006 11:39 PM
> To: [hidden email]
> Subject: [Cryptography Team] BlockCipher mode tests, fixes, enhancements
>
> Hi, just a note to let you know of some improvements
> I've just committed to our repository.
>
> Cryptography-Core
>
> - All four BlockCipher modes are fixed-up and working
> (CFB should be verified).
> - Added ability for BlockCiphers to encrypt and
> decrypt arbitrary-length ByteArray's.
> - When using the non-streaming cipher modes (CBC and
> CFB), proper padding of the ByteArray's should be the
> responsibility of the BlockCipher, not the user
> (developer).  Therefore, #encrypt: applies the "option
> 2" padding scheme specified by Ferguson and Schneier
> in 'Practical Cryptography', p. 68-69.
> - Can also encrypt/decrypt from:to: positions in an
> existing ByteArray.
> - Streaming modes (CTR and OFB) are supported as
> stream ciphers, ByteArray's can be any size and no
> padding to the next-larger block is performed or
> needed.
>
> Cryptography-Tests
>
> - Created tests for all BlockCipher modes, by
> generalizing the CTR test.  They all now run the same
> (semi-robust) test.
> - Separate test conditions ensure streaming modes work
> properly.
> - Separate encrypt/decrypt ByteArray tests are
> included for all BlockCipher modes.
>
> More to come..
>
>  - Chris
> _______________________________________________
> Cryptography mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/cryptography

_______________________________________________
Cryptography mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/cryptography
Reply | Threaded
Open this post in threaded view
|

RE: BlockCipher mode tests, fixes, enhancements

Chris Muller
My plan is to bolster our existing Cryptography
primitives to a minimally-usable level and implement a
couple of new ones (CTR and Fortuna) using the PC book
as my "specification".  Having spent six months
studying and implementing KryptOn (before I discovered
the PC book), only to discover how little I still know
about cryptography has led me to give up on becoming
an expert and just doggedly and shrewdly follow the
implementation advice in the PC book to the letter.
Because of how well it is written, I *am* able to
follow and implement their suggestions to the finest
detail.

The primitive bolstering is now done.  Next I plan to
use these bolstered primitives to redo KryptOn one
more time.  The concept and interface of KryptOn will
remain mostly the same, it is still intended to be an
easy facade for common crypto problems.  But the plan
is base it *completely* on the recommendations in the
PC book, with none of my own ideas in there.

I have a feeling, though, that the recommendation with
respect to 2048-bit (asymmetric) keys may cause me to
want to *allow* the KryptOn user to lax down to
1024-bit keys due to performance.  Schneier and
Ferguson say they are willing to sacrifice 90%
performance for ideal security, but that may result in
a system that is totally unusable..  We'll see..

 - Chris


--- Ron Teitelbaum <[hidden email]> wrote:

> Nice work Chris.
>
> Is anyone available to review and verify Chris's
> work?  (Chris said: CFB
> should be verified)
>
> Is anyone else able to help Chris with development?
>
> Chris, I see your notes below; did you add those
> notes to the class
> comments?
>
> Maybe you could coordinate more Schneier changes?
> Do you have a list of
> what changes you think we should be working on?
>
> Maybe we could get some team work going?
>
> Ron Teitelbaum
>
> > -----Original Message-----
> > From:
> [hidden email]
> >
>
[mailto:[hidden email]]

> On Behalf Of
> > Chris Muller
> > Sent: Tuesday, March 07, 2006 11:39 PM
> > To: [hidden email]
> > Subject: [Cryptography Team] BlockCipher mode
> tests, fixes, enhancements
> >
> > Hi, just a note to let you know of some
> improvements
> > I've just committed to our repository.
> >
> > Cryptography-Core
> >
> > - All four BlockCipher modes are fixed-up and
> working
> > (CFB should be verified).
> > - Added ability for BlockCiphers to encrypt and
> > decrypt arbitrary-length ByteArray's.
> > - When using the non-streaming cipher modes (CBC
> and
> > CFB), proper padding of the ByteArray's should be
> the
> > responsibility of the BlockCipher, not the user
> > (developer).  Therefore, #encrypt: applies the
> "option
> > 2" padding scheme specified by Ferguson and
> Schneier
> > in 'Practical Cryptography', p. 68-69.
> > - Can also encrypt/decrypt from:to: positions in
> an
> > existing ByteArray.
> > - Streaming modes (CTR and OFB) are supported as
> > stream ciphers, ByteArray's can be any size and no
> > padding to the next-larger block is performed or
> > needed.
> >
> > Cryptography-Tests
> >
> > - Created tests for all BlockCipher modes, by
> > generalizing the CTR test.  They all now run the
> same
> > (semi-robust) test.
> > - Separate test conditions ensure streaming modes
> work
> > properly.
> > - Separate encrypt/decrypt ByteArray tests are
> > included for all BlockCipher modes.
> >
> > More to come..
> >
> >  - Chris
> > _______________________________________________
> > Cryptography mailing list
> > [hidden email]
> >
>
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/cryptography
>
>
>

_______________________________________________
Cryptography mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/cryptography