Jump to content

Talk:RadioGatún

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Tiny Radio Gatun implementation

[edit]

This doesn't belong on the article page, but here's a public domain tiny RadioGatun[32] implementation. It returns the 256-bit RadioGatún[32] sum of the argument given to the program (e.g. ./nanorg32 'Hello' will give you the 256-bit RadioGatún[32] sum for the string 'Hello'):

#include<stdio.h>//RadioGatun
#include<stdint.h>/*32-bit**/
#define b(z) for(c=0;c<z;c++)
uint32_t c,e[42],f[42],g=19,h
=13,n[45],i,j,k;void m(){j=0;
b(12)f[c+c%3*h]^=e[c+1];b(g){
i=c*7%g;k=e[i++];k^=e[i%g]|~e
[(i+1)%g];j=j+c;n[c]=n[c+g]=k
>>j%32|k<<-j%32;}for(i=39;i--
;f[i+1]=f[i])e[i]=n[i]^n[i+1]
^n[i+4];b(3)e[c+h]^=f[c*h]=f[
c*h+h];*e^=1;}int main(int c,
char**v){char*q=v[--c];for(;;
m()){b(3){for(j=0;j<4;){f[c*h
]^=k=(*q?255&*q:1)<<8*j++;e[c
+16]^=k;if(!*q++){b(18)m();b(
8){j=c;b(4)printf("%02x",(e[1
+j%2]>>8*c)&255);c=j;if(c%2)m
();}return 0&puts("");}}}}}//

Samboy (talk) 16:45, 31 August 2019 (UTC)[reply]

name?

[edit]

What does RadioGatún mean? Mention of a hash called Panama gives me the Gatun part, but Radio? 78.147.219.121 (talk) 16:56, 25 August 2023 (UTC)[reply]