[FFmpeg-devel] [PATCH] SHA-256 support

Kostya kostya.shishkov
Tue Jun 9 20:32:24 CEST 2009


On Tue, Jun 09, 2009 at 04:47:09PM +0200, Michael Niedermayer wrote:
> On Tue, Jun 09, 2009 at 08:13:40AM +0300, Kostya wrote:
[...]
> > /* Hash a single 512-bit block. This is the core of the algorithm. */
> > 
> > static void transform(uint32_t state[5], const uint8_t buffer[64])
> 
> doxy?
 
no
 
> > {
> >     unsigned int i, a, b, c, d, e, f, g, h;
> >     uint32_t block[80];
> >     uint32_t T1, T2;
> > 
> >     a = state[0];
> >     b = state[1];
> >     c = state[2];
> >     d = state[3];
> >     e = state[4];
> >     f = state[5];
> >     g = state[6];
> >     h = state[7];
> > 
> >     for (i = 0; i < 64; i++) {
> >         if (i < 16) {
> >             T1 = block[i] = be2me_32(((const uint32_t*)buffer)[i]);
> >         } else {
> >             block[i & 0xF] +=            block[(i +  9) & 0xF]
> >                             + sigma0_256(block[(i +  1) & 0xF])
> >                             + sigma1_256(block[(i + 14) & 0xF]);
> >             T1 = block[i & 0xF];
> >         }
> 
> you have lost some optimizations from our sha1 here, 
> 
> also sha224 should be supported because its almost identical

Here you are. Seems to work fine on x86, should be fine on BE systems as
well (will test tomorrow). 

> [...]
> 
> -- 
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sha2.patch
Type: text/x-diff
Size: 1371 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090609/0a97457a/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sha2.h
Type: text/x-chdr
Size: 1317 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090609/0a97457a/attachment.h>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sha2.c
Type: text/x-csrc
Size: 8851 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090609/0a97457a/attachment.c>



More information about the ffmpeg-devel mailing list