[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