FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
node-multi-hashing/x13.c at master · rascal71/node-multi-hashing · GitHub
rascal71
node-multi-hashing
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
node-multi-hashing
/
x13.c
Copy path
More file actions
More file actions
Latest commit
History
History
History
97 lines (76 loc) · 2.75 KB
Breadcrumbs
node-multi-hashing
/
x13.c
Copy path
File metadata and controls
97 lines (76 loc) · 2.75 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include
"x13.h"
#include
<stdlib.h>
#include
<stdint.h>
#include
<string.h>
#include
<stdio.h>
#include
"sha3/sph_blake.h"
#include
"sha3/sph_bmw.h"
#include
"sha3/sph_groestl.h"
#include
"sha3/sph_jh.h"
#include
"sha3/sph_keccak.h"
#include
"sha3/sph_skein.h"
#include
"sha3/sph_luffa.h"
#include
"sha3/sph_cubehash.h"
#include
"sha3/sph_shavite.h"
#include
"sha3/sph_simd.h"
#include
"sha3/sph_echo.h"
#include
"sha3/sph_hamsi.h"
#include
"sha3/sph_fugue.h"
void
x13_hash
(
const
char
*
input
,
char
*
output
,
uint32_t
len
)
{
sph_blake512_context
ctx_blake
;
sph_bmw512_context
ctx_bmw
;
sph_groestl512_context
ctx_groestl
;
sph_skein512_context
ctx_skein
;
sph_jh512_context
ctx_jh
;
sph_keccak512_context
ctx_keccak
;
sph_luffa512_context
ctx_luffa1
;
sph_cubehash512_context
ctx_cubehash1
;
sph_shavite512_context
ctx_shavite1
;
sph_simd512_context
ctx_simd1
;
sph_echo512_context
ctx_echo1
;
sph_hamsi512_context
ctx_hamsi1
;
sph_fugue512_context
ctx_fugue1
;
//these uint512 in the c++ source of the client are backed by an array of uint32
uint32_t
hashA
[
16
],
hashB
[
16
];
sph_blake512_init
(
&
ctx_blake
);
sph_blake512
(
&
ctx_blake
,
input
,
len
);
sph_blake512_close
(
&
ctx_blake
,
hashA
);
sph_bmw512_init
(
&
ctx_bmw
);
sph_bmw512
(
&
ctx_bmw
,
hashA
,
64
);
sph_bmw512_close
(
&
ctx_bmw
,
hashB
);
sph_groestl512_init
(
&
ctx_groestl
);
sph_groestl512
(
&
ctx_groestl
,
hashB
,
64
);
sph_groestl512_close
(
&
ctx_groestl
,
hashA
);
sph_skein512_init
(
&
ctx_skein
);
sph_skein512
(
&
ctx_skein
,
hashA
,
64
);
sph_skein512_close
(
&
ctx_skein
,
hashB
);
sph_jh512_init
(
&
ctx_jh
);
sph_jh512
(
&
ctx_jh
,
hashB
,
64
);
sph_jh512_close
(
&
ctx_jh
,
hashA
);
sph_keccak512_init
(
&
ctx_keccak
);
sph_keccak512
(
&
ctx_keccak
,
hashA
,
64
);
sph_keccak512_close
(
&
ctx_keccak
,
hashB
);
sph_luffa512_init
(
&
ctx_luffa1
);
sph_luffa512
(
&
ctx_luffa1
,
hashB
,
64
);
sph_luffa512_close
(
&
ctx_luffa1
,
hashA
);
sph_cubehash512_init
(
&
ctx_cubehash1
);
sph_cubehash512
(
&
ctx_cubehash1
,
hashA
,
64
);
sph_cubehash512_close
(
&
ctx_cubehash1
,
hashB
);
sph_shavite512_init
(
&
ctx_shavite1
);
sph_shavite512
(
&
ctx_shavite1
,
hashB
,
64
);
sph_shavite512_close
(
&
ctx_shavite1
,
hashA
);
sph_simd512_init
(
&
ctx_simd1
);
sph_simd512
(
&
ctx_simd1
,
hashA
,
64
);
sph_simd512_close
(
&
ctx_simd1
,
hashB
);
sph_echo512_init
(
&
ctx_echo1
);
sph_echo512
(
&
ctx_echo1
,
hashB
,
64
);
sph_echo512_close
(
&
ctx_echo1
,
hashA
);
sph_hamsi512_init
(
&
ctx_hamsi1
);
sph_hamsi512
(
&
ctx_hamsi1
,
hashA
,
64
);
sph_hamsi512_close
(
&
ctx_hamsi1
,
hashB
);
sph_fugue512_init
(
&
ctx_fugue1
);
sph_fugue512
(
&
ctx_fugue1
,
hashB
,
64
);
sph_fugue512_close
(
&
ctx_fugue1
,
hashA
);
memcpy
(
output
,
hashA
,
32
);
}
Back
|
FazBrowse Home
|
New Git URL