Skip to content

Instantly share code, notes, and snippets.

@FiloSottile
Created January 25, 2018 00:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FiloSottile/cc142b683666ee1ce5ee77759bd0a367 to your computer and use it in GitHub Desktop.
Save FiloSottile/cc142b683666ee1ce5ee77759bd0a367 to your computer and use it in GitHub Desktop.
Powers of Tau attestation #45
The BLAKE2b hash of `./response` is:
7b55c0f5 68a8b4df 2ca14085 2e816df2
b9a2dafe 50b2c5e2 5e6c9b6a df239de0
223a9866 aba481a8 436fbd42 04a2c48a
43725d94 2de47b23 c10c5e87 38fd6467
The main feature of this contribution is that it was computed with an
independent implementation of Powers of Tau.
My implementation, which I am open sourcing now at [1], was not public at the
time of computation. It is written in Go, shares no code with the main Rust
implementation, and uses the RELIC library for BLS12-381. The only detail that
was copied verbatim from the Rust codebase is the value of the curve
coefficient, but that's being resolved at [2]. The Zcash Company sponsored
this effort, but it was proposed and conducted by me independently.
The computation was simply performed on my main MacBook Pro, where the code
was developed. The laptop was rebooted after the computation and before
re-enabling Wi-Fi and reopening the browser. The git hash of the codebase was
26a0231c674ec6043ef77997d33d94787c55634a, the Go version 1.9.2, extra entropy
was fed to /dev/random before starting.
The full terminal transcript follows below.
This attestation is signed with a minisign/signify key published at [3].
[1] https://github.com/FiloSottile/powersoftau
[2] https://github.com/relic-toolkit/relic/issues/64
[3] https://twitter.com/FiloSottile/status/956325095013863425
---
➜ powersoftau alias download
download='aria2c --check-certificate=true --http-accept-gzip=true -s 16 -k 5M -x 4 -j 16'
➜ powersoftau download https://s3-us-west-2.amazonaws.com/powersoftau/UPK2HSUb3XsjWDcyXkiAALsCyCNmIpwl/challenge
01/24 16:04:29 [NOTICE] Downloading 1 item(s)
[#430007 0B/0B CN:1 DL:0B]
01/24 16:04:31 [NOTICE] Allocating disk space. Use --file-allocation=none to disable it. See --file-allocation option in man page for more details.
*** Download Progress Summary as of Wed Jan 24 16:05:30 2018 ***
=================================================================================================================
[#430007 69MiB/1.1GiB(6%) CN:4 DL:1.1MiB ETA:15m7s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:06:31 2018 ***
=================================================================================================================
[#430007 139MiB/1.1GiB(12%) CN:4 DL:1.2MiB ETA:13m46s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:07:31 2018 ***
=================================================================================================================
[#430007 212MiB/1.1GiB(18%) CN:4 DL:1.2MiB ETA:12m9s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:08:32 2018 ***
=================================================================================================================
[#430007 281MiB/1.1GiB(24%) CN:4 DL:1.1MiB ETA:12m8s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:09:32 2018 ***
=================================================================================================================
[#430007 357MiB/1.1GiB(31%) CN:4 DL:1.3MiB ETA:9m37s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:10:33 2018 ***
=================================================================================================================
[#430007 447MiB/1.1GiB(38%) CN:4 DL:1.4MiB ETA:7m54s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:11:33 2018 ***
=================================================================================================================
[#430007 536MiB/1.1GiB(46%) CN:4 DL:1.4MiB ETA:6m57s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:12:34 2018 ***
=================================================================================================================
[#430007 622MiB/1.1GiB(54%) CN:4 DL:1.4MiB ETA:5m56s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:13:35 2018 ***
=================================================================================================================
[#430007 710MiB/1.1GiB(61%) CN:4 DL:1.3MiB ETA:5m16s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:14:35 2018 ***
=================================================================================================================
[#430007 796MiB/1.1GiB(69%) CN:4 DL:1.4MiB ETA:4m7s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:15:36 2018 ***
=================================================================================================================
[#430007 860MiB/1.1GiB(74%) CN:4 DL:592KiB ETA:8m23s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:16:37 2018 ***
=================================================================================================================
[#430007 0.9GiB/1.1GiB(81%) CN:4 DL:1.3MiB ETA:2m43s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:17:37 2018 ***
=================================================================================================================
[#430007 0.9GiB/1.1GiB(87%) CN:4 DL:1.1MiB ETA:2m9s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
*** Download Progress Summary as of Wed Jan 24 16:18:38 2018 ***
=================================================================================================================
[#430007 1.0GiB/1.1GiB(94%) CN:4 DL:1.4MiB ETA:45s]
FILE: /Users/filippo/tmp/powersoftau/challenge
-----------------------------------------------------------------------------------------------------------------
[#430007 1.1GiB/1.1GiB(99%) CN:1 DL:588KiB]
01/24 16:19:38 [NOTICE] Download complete: /Users/filippo/tmp/powersoftau/challenge
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
430007|OK | 1.2MiB/s|/Users/filippo/tmp/powersoftau/challenge
Status Legend:
(OK):download completed.
➜ powersoftau b2sum challenge
16b675d33a1b26aaae65054bc9b6dbf977b41f3fc946f19ac0e669c0bb288a88a5baec4e808e78d7ce448d1225ba99ce9767c3885de50dd328417a11ccb6705b challenge
➜ powersoftau git clone /Users/filippo/src/github.com/FiloSottile/powersoftau ./src/github.com/FiloSottile/powersoftau
Cloning into './src/github.com/FiloSottile/powersoftau'...
done.
➜ powersoftau export GOPATH=$PWD
➜ powersoftau go build -work -x -v github.com/FiloSottile/powersoftau/cmd/taucompute
WORK=/var/folders/cm/zzcl1fjx27sc8sf3s6sd_0vw0000gn/T/go-build678128314
github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b
github.com/FiloSottile/powersoftau/internal/chacha20
github.com/FiloSottile/powersoftau/bls12
mkdir -p $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/internal/chacha20/_obj/
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/compile -o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b.a -trimpath $WORK -goversion go1.9.2 -p github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b -buildid c3de0d4d3d45d7ac7634a4173e618bf8552fce8e -D _/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b -I $WORK -pack -asmhdr $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/go_asm.h ./blake2b.go ./blake2bAVX2_amd64.go ./blake2b_generic.go ./blake2x.go ./register.go
mkdir -p $WORK/github.com/FiloSottile/powersoftau/internal/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/internal/chacha20
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/compile -o $WORK/github.com/FiloSottile/powersoftau/internal/chacha20.a -trimpath $WORK -goversion go1.9.2 -p github.com/FiloSottile/powersoftau/internal/chacha20 -complete -buildid 5b887c21c0c2f5f9331b22aaae0d980bc6b02dd2 -D _/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/internal/chacha20 -I $WORK -pack ./chacha_generic.go
mkdir -p $WORK/github.com/FiloSottile/powersoftau/
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12
CGO_LDFLAGS="-g" "-O2" "/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/lib/librelic_s.a" /usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/cgo -objdir $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/ -importpath github.com/FiloSottile/powersoftau/bls12 -- -I $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include g1.go g2.go relic.go
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/asm -trimpath $WORK -I $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/ -I /usr/local/Cellar/go/1.9.2/libexec/pkg/include -D GOOS_darwin -D GOARCH_amd64 -o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2bAVX2_amd64.o ./blake2bAVX2_amd64.s
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/asm -trimpath $WORK -I $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/ -I /usr/local/Cellar/go/1.9.2/libexec/pkg/include -D GOOS_darwin -D GOARCH_amd64 -o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2b_amd64.o ./blake2b_amd64.s
pack r $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b.a $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2bAVX2_amd64.o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2b_amd64.o # internal
# github.com/FiloSottile/powersoftau/bls12
src/github.com/FiloSottile/powersoftau/bls12/g1.go:3:11: fatal error: 'relic_core.h' file not found
#include "relic_core.h"
^~~~~~~~~~~~~~
1 error generated.
➜ powersoftau cd ./src/github.com/FiloSottile/powersoftau
➜ powersoftau git:(master) git submodule init
Submodule 'relic' (https://github.com/relic-toolkit/relic) registered for path 'bls12/relic'
➜ powersoftau git:(master) git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
➜ powersoftau git:(master) git show-ref HEAD
26a0231c674ec6043ef77997d33d94787c55634a refs/remotes/origin/HEAD
➜ powersoftau git:(master) make
rm -rf bls12/build && mkdir bls12/build
cd bls12/build && cmake -DALLOC=DYNAMIC -DFP_PRIME=381 \
-DSHLIB=off -DSTLIB=on -DRAND=UDEV -DTESTS=1 -DBENCH=0 \
-DCOMP="-O3 -funroll-loops -Wno-unused-function" ../relic
CMake Error: The source directory "/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** [relic] Error 1
➜ powersoftau git:(master) git submodule update
Cloning into '/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic'...
Submodule path 'bls12/relic': checked out '5784facac01fc27fd9960cb8a9065b0a60b140ff'
➜ powersoftau git:(master) make
rm -rf bls12/build && mkdir bls12/build
cd bls12/build && cmake -DALLOC=DYNAMIC -DFP_PRIME=381 \
-DSHLIB=off -DSTLIB=on -DRAND=UDEV -DTESTS=1 -DBENCH=0 \
-DCOMP="-O3 -funroll-loops -Wno-unused-function" ../relic
-- The C compiler identification is AppleClang 9.0.0.9000039
-- The CXX compiler identification is AppleClang 9.0.0.9000039
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring RELIC 0.4.1...
-- Available switches (default = CHECK, VERBS, DOCUM):
DEBUG=[off|on] Build with debugging support.
PROFL=[off|on] Build with profiling support.
CHECK=[off|on] Build with error-checking support.
VERBS=[off|on] Build with detailed error messages.
TRACE=[off|on] Build with tracing support.
OVERH=[off|on] Build with overhead estimation.
DOCUM=[off|on] Build documentation.
STRIP=[off|on] Build only selected algorithms.
QUIET=[off|on] Build with printing disabled.
COLOR=[off|on] Build with colored output.
BIGED=[off|on] Build with big-endian support.
SHLIB=[off|on] Build shared library.
STLIB=[off|on] Build static library.
STBIN=[off|on] Build static binaries.
AMALG=[off|on] Build amalgamation for better performance.
-- Number of times each test or benchmark is ran (default = 50, 1000):
TESTS=n If n > 0, build automated tests and run them n times.
BENCH=n If n > 0, build automated benchmarks and run them n * n times.
-- Number of available processor cores (default = 1):
CORES=n If n > 1, please enable multithreading support.
-- Available modules (default = ALL)
WITH=BN Multiple precision arithmetic.
WITH=DV Temporary double-precision digit vectors.
WITH=FP Prime field arithmetic.
WITH=FPX Prime extension field arithmetic.
WITH=FB Binary field arithmetic.
WITH=EP Elliptic curves over prime fields.
WITH=EPX Elliptic curves over quadratic extensions of prime fields.
WITH=EB Elliptic curves over binary fields.
WITH=ED Elliptic Edwards curves over prime fields.
WTTH=EC Elliptic curve cryptography.
WITH=PB Pairings over binary elliptic curves.
WITH=PP Pairings over prime elliptic curves.
WTTH=PC Pairing-based cryptography.
WITH=BC Block ciphers (symmetric encryption).
WITH=MD Message digests (hash functions).
WITH=CP Cryptographic protocols.
WITH=ALL All of the above.
Note: the programmer is responsible for not using unselected modules.
-- Available arithmetic backends (default = easy):
ARITH=easy Easy-to-understand implementation.
ARITH=gmp GNU Multiple Precision library.
-- Available memory-allocation policies (default = AUTO):
ALLOC=AUTO All memory is automatically allocated.
ALLOC=STATIC All memory is allocated statically once.
ALLOC=DYNAMIC All memory is allocated dynamically on demand.
ALLOC=STACK All memory is allocated from the stack.
-- Supported operating systems (default = LINUX):
OPSYS= Undefined/No specific operating system.
OPSYS=LINUX GNU/Linux operating system.
OPSYS=FREEBSD FreeBSD operating system.
OPSYS=MACOSX Mac OS X operating system.
OPSYS=WINDOWS Windows operating system.
OPSYS=DROID Android operating system.
OPSYS=DUINO Arduino platform.
-- Supported multithreading APIs (default = UNDEF):
MULTI= No multithreading support.
MULTI=OPENMP Open Multi-Processing.
MULTI=PTHREAD POSIX threads.
-- Supported timers (default = HPROC):
TIMER= No timer.
TIMER=HREAL GNU/Linux realtime high-resolution timer.
TIMER=HPROC GNU/Linux per-process high-resolution timer.
TIMER=HTHRD GNU/Linux per-thread high-resolution timer.
TIMER=ANSI ANSI-compatible timer.
TIMER=POSIX POSIX-compatible timer.
TIMER=CYCLE Cycle-counting timer. (architecture-dependant)
-- Prefix to identify this build of the library (default = ""):
LABEL=relic
-- Available architectures (default = X64):
ARCH= No specific architecture (disable some features).
ARCH=AVR Atmel AVR ATMega128 8-bit architecture.
ARCH=MSP TI MSP430 16-bit architecture.
ARCH=ARM ARM 32-bit architecture.
ARCH=X86 Intel x86-compatible 32-bit architecture.
ARCH=X64 AMD x86_64-compatible 64-bit architecture.
-- Available word sizes (default = 64):
WORD=8 Build a 8-bit library.
WORD=16 Build a 16-bit library.
WORD=32 Build a 32-bit library.
WORD=64 Build a 64-bit library.
-- Byte boundary to align digit vectors (default = 1):
ALIGN=1 Do not align digit vectors.
ALIGN=2 Align digit vectors into 16-bit boundaries.
ALIGN=8 Align digit vectors into 64-bit boundaries.
ALIGN=16 Align digit vectors into 128-bit boundaries.
-- Multiple precision arithmetic configuration (BN module):
** Options for the multiple precision module (default = 1024,DOUBLE,0):
BN_PRECI=n The base precision in bits. Let w be n in words.
BN_MAGNI=DOUBLE A multiple precision integer can store 2w words.
BN_MAGNI=CARRY A multiple precision integer can store w+1 words.
BN_MAGNI=SINGLE A multiple precision integer can store w words.
BN_KARAT=n The number of Karatsuba steps.
** Available multiple precision arithmetic methods (default = COMBA;COMBA;MONTY;SLIDE;STEIN;BASIC):
Integer multiplication:
BN_METHD=BASIC Schoolbook multiplication.
BN_METHD=COMBA Comba multiplication.
Integer squaring:
BN_METHD=BASIC Schoolbook squaring.
BN_METHD=COMBA Comba squaring.
BN_METHD=MULTP Reuse multiplication for squaring.
Modular reduction:
BN_METHD=BASIC Division-based modular reduction.
BN_METHD=BARRT Barrett modular reduction.
BN_METHD=MONTY Montgomery modular reduction.
BN_METHD=RADIX Diminished radix modular reduction.
Modular exponentiation:
BN_METHD=BASIC Binary modular exponentiation.
BN_METHD=MONTY Montgomery powering ladder.
BN_METHD=SLIDE Sliding window modular exponentiation.
Greatest Common Divisor:
BN_METHD=BASIC Euclid's standard GCD algorithm.
BN_METHD=LEHME Lehmer's fast GCD algorithm.
BN_METHD=STEIN Stein's binary GCD algorithm.
Prime generation:
BN_METHD=BASIC Basic prime generation.
BN_METHD=SAFEP Safe prime generation.
BN_METHD=STRON Strong prime generation.
-- Prime field arithmetic configuration (FP module):
** Arithmetic precision of the prime field module (default = 256,0,off,off):
FP_PRIME=n The prime modulus size in bits.
FP_KARAT=n The number of Karatsuba levels.
FP_PMERS=[off|on] Prefer Pseudo-Mersenne primes over random primes.
FP_QNRES=[off|on] Use -1 as quadratic non-residue (make sure that p = 3 mod 8).
FP_WIDTH=w Width w in [2,6] of window processing for exponentiation methods.
** Available prime field arithmetic methods (default = BASIC;COMBA;COMBA;MONTY;MONTY;SLIDE):
Field addition
FP_METHD=BASIC Schoolbook addition.
FP_METHD=INTEG Integrated modular addition.
Field multiplication
FP_METHD=BASIC Schoolbook multiplication.
FP_METHD=INTEG Integrated modular multiplication.
FP_METHD=COMBA Comba multiplication.
Field squaring
FP_METHD=BASIC Schoolbook squaring.
FP_METHD=INTEG Integrated modular squaring.
FP_METHD=COMBA Comba squaring.
FP_METHD=MULTP Reuse multiplication for squaring.
Modular reduction
FP_METHD=BASIC Division-based reduction.
FP_METHD=QUICK Fast reduction modulo special form prime (2^t - c, c > 0).
FP_METHD=MONTY Montgomery modular reduction.
Field inversion
FP_METHD=BASIC Inversion by Fermat's Little Theorem.
FP_METHD=BINAR Binary Inversion algorithm.
FP_METHD=MONTY Montgomery inversion.
FP_METHD=EXGCD Inversion by the Extended Euclidean algorithm.
FP_METHD=LOWER Pass inversion to the lower level.
Field exponentiation
FP_METHD=BASIC Binary exponentiation.
FP_METHD=SLIDE Sliding window exponentiation.
FP_METHD=MONTY Constant-time Montgomery powering ladder.
-- Prime extension field arithmetic configuration (FPX module):
** Available bilinear pairing methods (default = BASIC;BASIC;BASIC):
Quadratic extension arithmetic:
FPX_METHD=BASIC Basic quadratic extension field arithmetic.
FPX_METHD=INTEG Quadratic extension field arithmetic with embedded modular reduction.
Cubic extension arithmetic:
FPX_METHD=BASIC Basic cubic extension field arithmetic.
FPX_METHD=INTEG Cubic extension field arithmetic with embedded modular reduction.
Extension field arithmetic:
FPX_METHD=BASIC Basic extension field arithmetic.
FPX_METHD=LAZYR Lazy-reduced extension field arithmetic.
-- Binary field arithmetic configuration (FB module):
** Options for the binary elliptic curve module (default = 283,0,on,on,on):
FB_POLYN=n The irreducible polynomial size in bits.
FB_KARAT=n The number of Karatsuba levels.
FB_TRINO=[off|on] Prefer trinomials.
FB_SQRTF=[off|on] Prefer square-root friendly polynomials.
FB_PRECO=[off|on] Precompute multiplication table for sqrt(z).
FB_WIDTH=w Width w in [2,6] of window processing for exponentiation methods.
** Available binary field arithmetic methods (default = LODAH;LUTBL;QUICK;BASIC;QUICK;QUICK;EXGCD;SLIDE;QUICK):
Field multiplication:
FB_METHD=BASIC Right-to-left shift-and-add multiplication.
FB_METHD=INTEG Integrated modular multiplication.
FB_METHD=RCOMB Right-to-left comb multiplication.
FB_METHD=LCOMB Left-to-right comb multiplication.
FB_METHD=LODAH L�pez-Dahab comb multiplication with window of width 4.
Field squaring:
FB_METHD=BASIC Bit manipulation squaring.
FB_METHD=INTEG Integrated modular squaring.
FB_METHD=LUTBL Table-based squaring.
Modular reduction:
FB_METHD=BASIC Shift-and-add modular reduction.
FB_METHD=QUICK Fast reduction modulo a trinomial or pentanomial.
Field square root:
FB_METHD=BASIC Square root by repeated squaring.
FB_METHD=QUICK Fast square root extraction.
Trace computation:
FB_METHD=BASIC Trace computation by repeated squaring.
FB_METHD=QUICK Fast trace computation.
Quadratic equation solver:
FB_METHD=BASIC Solve a quadratic equation by half-trace computation.
FB_METHD=QUICK Fast solving with precomputed half-traces.
Field inversion:
FB_METHD=BASIC Inversion by Fermat's Little Theorem.
FB_METHD=BINAR Binary Inversion algorithm.
FB_METHD=ALMOS Inversion by the Amost inverse algorithm.
FB_METHD=EXGCD Inversion by the Extended Euclidean algorithm.
FB_METHD=ITOHT Inversion by Itoh-Tsuji.
FB_METHD=BRUCH Hardware-friendly inversion by Brunner et al.
FB_METHD=LOWER Pass inversion to the lower level.
Field exponentiation:
FB_METHD=BASIC Binary exponentiation.
FB_METHD=SLIDE Sliding window exponentiation.
FB_METHD=MONTY Constant-time Montgomery powering ladder.
Iterated squaring/square-root:
FB_METHD=BASIC Iterated squaring/square-root by consecutive squaring/square-root.
FB_METHD=QUICK Iterated squaring/square-root by table-based method.
-- Prime elliptic curve arithmetic configuration (EP module):
** Options for the prime elliptic curve module (default = all on):
EP_PLAIN=[off|on] Support for ordinary curves without endomorphisms.
EP_SUPER=[off|on] Support for supersingular curves.
EP_ENDOM=[off|on] Support for ordinary curves with endomorphisms.
EP_MIXED=[off|on] Use mixed coordinates.
EP_PRECO=[off|on] Build precomputation table for generator.
EP_DEPTH=w Width w in [2,8] of precomputation table for fixed point methods.
EP_WIDTH=w Width w in [2,6] of window processing for unknown point methods.
** Available prime elliptic curve methods (default = PROJC;LWNAF;COMBS;INTER):
Point representation:
EP_METHD=BASIC Affine coordinates.
EP_METHD=PROJC Jacobian projective coordinates.
Variable-base scalar multiplication:
EP_METHD=BASIC Binary method.
EP_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).
Fixed-base scalar multiplication:
EP_METHD=BASIC Binary method for fixed point multiplication.
EP_METHD=YAOWI Yao's windowing method for fixed point multiplication
EP_METHD=NAFWI NAF windowing method for fixed point multiplication.
EP_METHD=COMBS Single-table Comb method for fixed point multiplication.
EP_METHD=COMBD Double-table Comb method for fixed point multiplication.
EP_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).
Variable-base simultaneous scalar multiplication:
EP_METHD=BASIC Multiplication-and-addition simultaneous multiplication.
EP_METHD=TRICK Shamir's trick for simultaneous multiplication.
EP_METHD=INTER Interleaving of window NAFs (GLV for Koblitz curves).
EP_METHD=JOINT Joint sparse form.
-- Binary elliptic curve arithmetic configuration (EB module):
** Options for the binary elliptic curve module (default = on, w = 4):
EB_PLAIN=[off|on] Support for ordinary curves without endomorphisms.
EB_KBLTZ=[off|on] Support for Koblitz anomalous binary curves.
EB_MIXED=[off|on] Use mixed coordinates.
EB_PRECO=[off|on] Build precomputation table for generator.
EB_DEPTH=w Width w in [2,8] of precomputation table for fixed point methods.
EB_WIDTH=w Width w in [2,6] of window processing for unknown point methods.
** Available binary elliptic curve methods (default = PROJC;LWNAF;COMBS;INTER):
Point representation:
EB_METHD=BASIC Affine coordinates.
EB_METHD=PROJC Projective coordinates (L�pez-Dahab for ordinary curves).
Variable-base scalar multiplication:
EB_METHD=BASIC Binary double-and-add method.
EB_METHD=LODAH Lopez-Dahab constant-time point multiplication.
EB_METHD=LWNAF Left-to-right window (T)NAF method.
EB_METHD=RWNAF Right-to-left window (T)NAF method.
EB_METHD=HALVE Halving method.
Fixed-base scalar multiplication:
EB_METHD=BASIC Binary method for fixed point multiplication.
EB_METHD=YAOWI Yao's windowing method for fixed point multiplication
EB_METHD=NAFWI NAF windowing method for fixed point multiplication.
EB_METHD=COMBS Single-table Comb method for fixed point multiplication.
EB_METHD=COMBD Double-table Comb method for fixed point multiplication.
EB_METHD=LWNAF Left-to-right window (T)NAF method.
Variable-base simultaneous scalar multiplication:
EB_METHD=BASIC Multiplication-and-addition simultaneous multiplication.
EB_METHD=TRICK Shamir's trick for simultaneous multiplication.
EB_METHD=INTER Interleaving of window (T)NAFs.
EB_METHD=JOINT Joint sparse form.
-- Elliptic Edwards curve over prime fields arithmetic configuration (ED module):
** Options for the prime elliptic Edwards curve module (default = all on):
ED_PRECO=[off|on] Build precomputation table for generator.
ED_DEPTH=w Width w in [2,6] of precomputation table for fixed point methods.
ED_WIDTH=w Width w in [2,6] of window processing for unknown point methods.
** Available prime elliptic Edwards curve methods (default = PROJC;LWNAF;COMBS;INTER):
EP_METHD=PROJC Simple projective twisted Edwards coordinates.
EP_METHD=EXTND Extended projective twisted Edwards coordinates.
*** variable-base multiplication method ***
ED_METHD=BASIC Binary method.
ED_METHD=SLIDE Sliding window method.
ED_METHD=MONTY Montgomery ladder method.
ED_METHD=FIXED 2-bit fixed window method.
ED_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).
*** fixed-base multiplication method ***
ED_METHD=BASIC Binary method for fixed point multiplication.
ED_METHD=YAOWI Yao's windowing method for fixed point multiplication
ED_METHD=NAFWI NAF windowing method for fixed point multiplication.
ED_METHD=COMBS Single-table Comb method for fixed point multiplication.
ED_METHD=COMBD Double-table Comb method for fixed point multiplication.
ED_METHD=LWNAF Left-to-right window NAF method (GLV for Koblitz curves).
ED_METHD=LWNAF_MIXED Left-to-right window NAF mixed method (GLV for Koblitz curves).
*** variable-base simultaneous multiplication method ***
ED_METHD=BASIC Multiplication-and-addition simultaneous multiplication.
ED_METHD=TRICK Shamir's trick for simultaneous multiplication.
ED_METHD=INTER Interleaving of window NAFs (GLV for Koblitz curves).
ED_METHD=JOINT Joint sparse form.
Note: these methods must be given in order. Ex: ED_METHD="EXTND;LWNAF;COMBD;TRICK"
-- Elliptic curve cryptography configuration (EC module):
** Options for the binary elliptic curve module (default = on):
EC_ENDOM=[off|on] Prefer (prime or binary) curves with endomorphisms.
** Available elliptic curve methods (default = PRIME):
EC_METHD=PRIME Use prime curves.
EC_METHD=CHAR2 Use binary curves.
EC_METHD=EDWARD Use prime Edwards curves.
-- Bilinear pairings arithmetic configuration (PP module):
** Available bilinear pairing methods (default = BASIC;OATEP):
Extension field arithmetic:
PP_METHD=BASIC Basic extension field arithmetic.
PP_METHD=LAZYR Lazy reduced extension field arithmetic.
Pairing computation:
PP_METHD=TATEP Tate pairing.
PP_METHD=WEILP Weil pairing.
PP_METHD=OATEP Optimal ate pairing.
-- Message digest configuration (MD module):
** Available hash functions (default = SH256):
MD_METHD=SHONE SHA-1 hash function.
MD_METHD=SH224 SHA-224 hash function.
MD_METHD=SH256 SHA-256 hash function.
MD_METHD=SH384 SHA-384 hash function.
MD_METHD=SH512 SHA-512 hash function.
MD_METHD=B2S160 BLAKE2s-160 hash function.
MD_METHD=B2S256 BLAKE2s-256 hash function.
-- Cryptographic protocols configuration (CP module):
** Options for the cryptographic protocols module (default = PKCS1):
CP_RSAPD=BASIC RSA with basic padding.
CP_RSAPD=PKCS1 RSA with PKCS#1 v1.5 padding.
CP_RSAPD=PKCS2 RSA with PKCS#1 v2.1 padding.
** Available cryptographic protocols methods (default = QUICK;BASIC):
CP_METHD=BASIC Slow RSA decryption/signature.
CP_METHD=QUICK Fast RSA decryption/signature using CRT.
-- Available pseudo-random number generators (default = HASH):
RAND=HASH Use the HASH-DRBG generator. (recommended)
RAND=UDEV Use the operating system underlying generator.
RAND=FIPS Use the FIPS 186-2 (CN1) SHA1-based generator.
RAND=CALL Override the generator with a callback.
-- Available random number generator seeders (default = UDEV):
SEED=WCGR Use Windows' CryptGenRandom. (recommended)
SEED=DEV Use blocking /dev/random. (recommended)
SEED=UDEV Use non-blocking /dev/urandom. (recommended)
SEED=LIBC Use the libc rand()/random() functions. (insecure!)
SEED=ZERO Use a zero seed. (insecure!)
-- Configured operating system: MACOSX
-- Compiler flags: -pipe -std=c99 -m64 -Wall -O3 -funroll-loops -Wno-unused-function
-- Linker flags: -L/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/src/low/easy/
-- Configured /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include/relic_conf.h.in
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build
make -C bls12/build
Scanning dependencies of target arith_objs
[ 0%] Built target arith_objs
Scanning dependencies of target relic_s
[ 0%] Building C object src/CMakeFiles/relic_s.dir/relic_err.c.o
[ 0%] Building C object src/CMakeFiles/relic_s.dir/relic_core.c.o
[ 1%] Building C object src/CMakeFiles/relic_s.dir/relic_conf.c.o
[ 1%] Building C object src/CMakeFiles/relic_s.dir/relic_pool.c.o
[ 2%] Building C object src/CMakeFiles/relic_s.dir/relic_util.c.o
[ 2%] Building C object src/CMakeFiles/relic_s.dir/arch/relic_arch_x64.c.o
[ 3%] Building C object src/CMakeFiles/relic_s.dir/rand/relic_rand_core.c.o
[ 3%] Building C object src/CMakeFiles/relic_s.dir/rand/relic_rand_udev.c.o
[ 3%] Building C object src/CMakeFiles/relic_s.dir/relic_test.c.o
[ 4%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_add.c.o
[ 4%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_cmp.c.o
[ 5%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_div.c.o
[ 5%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_factor.c.o
[ 6%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_gcd.c.o
[ 6%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_lcm.c.o
[ 6%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_mem.c.o
[ 7%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_mod.c.o
[ 7%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_mul.c.o
[ 8%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_mxp.c.o
[ 8%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_prime.c.o
[ 9%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_rec.c.o
[ 9%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_shift.c.o
[ 10%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_smb.c.o
[ 10%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_sqr.c.o
[ 10%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_srt.c.o
[ 11%] Building C object src/CMakeFiles/relic_s.dir/bn/relic_bn_util.c.o
[ 11%] Building C object src/CMakeFiles/relic_s.dir/dv/relic_dv_mem.c.o
[ 12%] Building C object src/CMakeFiles/relic_s.dir/dv/relic_dv_util.c.o
[ 12%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_add.c.o
[ 13%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_cmp.c.o
[ 13%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_exp.c.o
[ 13%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_inv.c.o
[ 14%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_mul.c.o
[ 14%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_param.c.o
[ 15%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_prime.c.o
[ 15%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_rdc.c.o
[ 16%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_shift.c.o
[ 16%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_sqr.c.o
[ 16%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_srt.c.o
[ 17%] Building C object src/CMakeFiles/relic_s.dir/fp/relic_fp_util.c.o
[ 17%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp12_mul.c.o
[ 18%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp12_sqr.c.o
[ 18%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp18_mul.c.o
[ 19%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp18_sqr.c.o
[ 19%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp2_mul.c.o
[ 20%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp2_sqr.c.o
[ 20%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp3_mul.c.o
[ 20%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp3_sqr.c.o
[ 21%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp6_mul.c.o
[ 21%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fp6_sqr.c.o
[ 22%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_add.c.o
[ 22%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_cmp.c.o
[ 23%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_exp.c.o
[ 23%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_frb.c.o
[ 23%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_inv.c.o
[ 24%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_pck.c.o
[ 24%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_rdc.c.o
[ 25%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_srt.c.o
[ 25%] Building C object src/CMakeFiles/relic_s.dir/fpx/relic_fpx_util.c.o
[ 26%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_add.c.o
[ 26%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_cmp.c.o
[ 26%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_exp.c.o
[ 27%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_inv.c.o
[ 27%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_itr.c.o
[ 28%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_mul.c.o
[ 28%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_param.c.o
[ 29%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_poly.c.o
[ 29%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_rdc.c.o
[ 30%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_shift.c.o
[ 30%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_slv.c.o
[ 30%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_sqr.c.o
[ 31%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_srt.c.o
[ 31%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_trc.c.o
[ 32%] Building C object src/CMakeFiles/relic_s.dir/fb/relic_fb_util.c.o
[ 32%] Building C object src/CMakeFiles/relic_s.dir/fbx/relic_fb2_inv.c.o
[ 33%] Building C object src/CMakeFiles/relic_s.dir/fbx/relic_fb2_mul.c.o
[ 33%] Building C object src/CMakeFiles/relic_s.dir/fbx/relic_fb2_slv.c.o
[ 33%] Building C object src/CMakeFiles/relic_s.dir/fbx/relic_fb2_sqr.c.o
[ 34%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_add.c.o
[ 34%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_curve.c.o
[ 35%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_dbl.c.o
[ 35%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_map.c.o
[ 36%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_mul.c.o
[ 36%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_mul_fix.c.o
[ 36%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_mul_sim.c.o
[ 37%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_neg.c.o
[ 37%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_norm.c.o
[ 38%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_param.c.o
[ 38%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_pck.c.o
[ 39%] Building C object src/CMakeFiles/relic_s.dir/ep/relic_ep_util.c.o
[ 39%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_add.c.o
[ 40%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_curve.c.o
/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/src/epx/relic_ep2_curve.c:448:11: warning: incompatible pointer types passing 'fp2_st' (aka 'fp_st [2]')
to parameter of type 'fp_t *' (aka 'unsigned long long **') [-Wincompatible-pointer-types]
fp2_copy(ctx->ep2_a, a);
^~~~~~~~~~
/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include/relic_fpx.h:610:21: note: passing argument to parameter 'c' here
void fp2_copy(fp2_t c, fp2_t a);
^
/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/src/epx/relic_ep2_curve.c:449:11: warning: incompatible pointer types passing 'fp2_st' (aka 'fp_st [2]')
to parameter of type 'fp_t *' (aka 'unsigned long long **') [-Wincompatible-pointer-types]
fp2_copy(ctx->ep2_b, b);
^~~~~~~~~~
/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include/relic_fpx.h:610:21: note: passing argument to parameter 'c' here
void fp2_copy(fp2_t c, fp2_t a);
^
2 warnings generated.
[ 40%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_dbl.c.o
[ 40%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_frb.c.o
[ 41%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_map.c.o
[ 41%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_mul.c.o
[ 42%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_mul_fix.c.o
[ 42%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_mul_sim.c.o
[ 43%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_neg.c.o
[ 43%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_norm.c.o
[ 43%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_pck.c.o
[ 44%] Building C object src/CMakeFiles/relic_s.dir/epx/relic_ep2_util.c.o
[ 44%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_add.c.o
[ 45%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_curve.c.o
[ 45%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_dbl.c.o
[ 46%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_frb.c.o
[ 46%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_hlv.c.o
[ 46%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_map.c.o
[ 47%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_mul.c.o
[ 47%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_mul_fix.c.o
[ 48%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_mul_sim.c.o
[ 48%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_neg.c.o
[ 49%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_norm.c.o
[ 49%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_param.c.o
[ 50%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_pck.c.o
[ 50%] Building C object src/CMakeFiles/relic_s.dir/eb/relic_eb_util.c.o
[ 50%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_add.c.o
[ 51%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_curve.c.o
[ 51%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_dbl.c.o
[ 52%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_map.c.o
[ 52%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_mul.c.o
[ 53%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_mul_fix.c.o
[ 53%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_mul_sim.c.o
[ 53%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_param.c.o
[ 54%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_pck.c.o
[ 54%] Building C object src/CMakeFiles/relic_s.dir/ed/relic_ed_util.c.o
[ 55%] Building C object src/CMakeFiles/relic_s.dir/pp/relic_pp_add.c.o
[ 55%] Building C object src/CMakeFiles/relic_s.dir/pp/relic_pp_dbl.c.o
[ 56%] Building C object src/CMakeFiles/relic_s.dir/pp/relic_pp_exp.c.o
[ 56%] Building C object src/CMakeFiles/relic_s.dir/pp/relic_pp_map.c.o
[ 56%] Building C object src/CMakeFiles/relic_s.dir/pp/relic_pp_norm.c.o
[ 57%] Building C object src/CMakeFiles/relic_s.dir/pc/relic_pc_util.c.o
[ 57%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_rsa.c.o
[ 58%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_rabin.c.o
[ 58%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_bdpe.c.o
[ 59%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_phpe.c.o
[ 59%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_ecdh.c.o
[ 60%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_ecmqv.c.o
[ 60%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_ecies.c.o
[ 60%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_ecdsa.c.o
[ 61%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_ecss.c.o
[ 61%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_vbnn_ibs.c.o
[ 62%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_sokaka.c.o
[ 62%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_bgn.c.o
[ 63%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_ibe.c.o
[ 63%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_bls.c.o
[ 63%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_bbs.c.o
[ 64%] Building C object src/CMakeFiles/relic_s.dir/cp/relic_cp_zss.c.o
[ 64%] Building C object src/CMakeFiles/relic_s.dir/bc/relic_bc_aes.c.o
[ 65%] Building C object src/CMakeFiles/relic_s.dir/bc/rijndael-alg-fst.c.o
[ 65%] Building C object src/CMakeFiles/relic_s.dir/bc/rijndael-api-fst.c.o
[ 66%] Building C object src/CMakeFiles/relic_s.dir/md/blake2s-ref.c.o
[ 66%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_blake2s.c.o
[ 66%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_hmac.c.o
[ 67%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_kdf.c.o
[ 67%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_mgf.c.o
[ 68%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_sha1.c.o
[ 68%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_sha224.c.o
[ 69%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_sha256.c.o
[ 69%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_sha384.c.o
[ 70%] Building C object src/CMakeFiles/relic_s.dir/md/relic_md_sha512.c.o
[ 70%] Building C object src/CMakeFiles/relic_s.dir/md/sha1.c.o
[ 70%] Building C object src/CMakeFiles/relic_s.dir/md/sha224-256.c.o
[ 71%] Building C object src/CMakeFiles/relic_s.dir/md/sha384-512.c.o
[ 71%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_bn_add_low.c.o
[ 72%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_bn_cmp_low.c.o
[ 72%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_bn_div_low.c.o
[ 73%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_bn_mod_low.c.o
[ 73%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_bn_mul_low.c.o
[ 73%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_bn_shift_low.c.o
[ 74%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_bn_sqr_low.c.o
[ 74%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fp_add_low.c.o
[ 75%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fp_cmp_low.c.o
[ 75%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fp_inv_low.c.o
[ 76%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fp_mul_low.c.o
[ 76%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fp_rdc_low.c.o
[ 76%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fp_shift_low.c.o
[ 77%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fp_sqr_low.c.o
[ 77%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fpx_add_low.c.o
[ 78%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fpx_mul_low.c.o
[ 78%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fpx_rdc_low.c.o
[ 79%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fpx_sqr_low.c.o
[ 79%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_add_low.c.o
[ 80%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_cmp_low.c.o
[ 80%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_inv_low.c.o
[ 80%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_itr_low.c.o
[ 81%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_mul_low.c.o
[ 81%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_rdc_low.c.o
[ 82%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_shift_low.c.o
[ 82%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_slv_low.c.o
[ 83%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_sqr_low.c.o
[ 83%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_srt_low.c.o
[ 83%] Building C object src/CMakeFiles/relic_s.dir/low/easy/relic_fb_trc_low.c.o
[ 84%] Linking C static library ../lib/librelic_s.a
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: ../lib/librelic_s.a(relic_pool.c.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: ../lib/librelic_s.a(relic_pool.c.o) has no symbols
[ 84%] Built target relic_s
Scanning dependencies of target test_core
[ 84%] Building C object test/CMakeFiles/test_core.dir/test_core.c.o
[ 85%] Linking C executable ../bin/test_core
[ 85%] Built target test_core
Scanning dependencies of target test_cp
[ 85%] Building C object test/CMakeFiles/test_cp.dir/test_cp.c.o
[ 85%] Linking C executable ../bin/test_cp
[ 85%] Built target test_cp
Scanning dependencies of target test_fbx
[ 86%] Building C object test/CMakeFiles/test_fbx.dir/test_fbx.c.o
[ 86%] Linking C executable ../bin/test_fbx
[ 86%] Built target test_fbx
Scanning dependencies of target test_pc
[ 86%] Building C object test/CMakeFiles/test_pc.dir/test_pc.c.o
[ 87%] Linking C executable ../bin/test_pc
[ 87%] Built target test_pc
Scanning dependencies of target test_ec
[ 88%] Building C object test/CMakeFiles/test_ec.dir/test_ec.c.o
[ 88%] Linking C executable ../bin/test_ec
[ 88%] Built target test_ec
Scanning dependencies of target test_bn
[ 88%] Building C object test/CMakeFiles/test_bn.dir/test_bn.c.o
[ 89%] Linking C executable ../bin/test_bn
[ 89%] Built target test_bn
Scanning dependencies of target test_eb
[ 90%] Building C object test/CMakeFiles/test_eb.dir/test_eb.c.o
[ 90%] Linking C executable ../bin/test_eb
[ 90%] Built target test_eb
Scanning dependencies of target test_rand
[ 90%] Building C object test/CMakeFiles/test_rand.dir/test_rand.c.o
[ 91%] Linking C executable ../bin/test_rand
[ 91%] Built target test_rand
Scanning dependencies of target test_epx
[ 91%] Building C object test/CMakeFiles/test_epx.dir/test_epx.c.o
[ 92%] Linking C executable ../bin/test_epx
[ 92%] Built target test_epx
Scanning dependencies of target test_ed
[ 93%] Building C object test/CMakeFiles/test_ed.dir/test_ed.c.o
[ 93%] Linking C executable ../bin/test_ed
[ 93%] Built target test_ed
Scanning dependencies of target test_fpx
[ 94%] Building C object test/CMakeFiles/test_fpx.dir/test_fpx.c.o
[ 94%] Linking C executable ../bin/test_fpx
[ 94%] Built target test_fpx
Scanning dependencies of target test_fb
[ 94%] Building C object test/CMakeFiles/test_fb.dir/test_fb.c.o
[ 94%] Linking C executable ../bin/test_fb
[ 94%] Built target test_fb
Scanning dependencies of target test_fp
[ 95%] Building C object test/CMakeFiles/test_fp.dir/test_fp.c.o
[ 95%] Linking C executable ../bin/test_fp
[ 95%] Built target test_fp
Scanning dependencies of target test_ep
[ 95%] Building C object test/CMakeFiles/test_ep.dir/test_ep.c.o
[ 96%] Linking C executable ../bin/test_ep
[ 96%] Built target test_ep
Scanning dependencies of target test_pp
[ 96%] Building C object test/CMakeFiles/test_pp.dir/test_pp.c.o
[ 97%] Linking C executable ../bin/test_pp
[ 97%] Built target test_pp
Scanning dependencies of target test_dv
[ 98%] Building C object test/CMakeFiles/test_dv.dir/test_dv.c.o
[ 98%] Linking C executable ../bin/test_dv
[ 98%] Built target test_dv
Scanning dependencies of target test_md
[ 98%] Building C object test/CMakeFiles/test_md.dir/test_md.c.o
[ 99%] Linking C executable ../bin/test_md
[ 99%] Built target test_md
Scanning dependencies of target test_err
[ 99%] Building C object test/CMakeFiles/test_err.dir/test_err.c.o
[100%] Linking C executable ../bin/test_err
[100%] Built target test_err
make -C bls12/build test
Running tests...
Test project /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build
Start 1: test_err
1/18 Test #1: test_err ......................... Passed 0.00 sec
Start 2: test_bn
2/18 Test #2: test_bn .......................... Passed 86.08 sec
Start 3: test_dv
3/18 Test #3: test_dv .......................... Passed 0.00 sec
Start 4: test_fp
4/18 Test #4: test_fp .......................... Passed 0.06 sec
Start 5: test_fpx
5/18 Test #5: test_fpx ......................... Passed 0.32 sec
Start 6: test_fb
6/18 Test #6: test_fb .......................... Passed 1.97 sec
Start 7: test_fbx
7/18 Test #7: test_fbx ......................... Passed 1.88 sec
Start 8: test_ep
8/18 Test #8: test_ep .......................... Passed 1.21 sec
Start 9: test_epx
9/18 Test #9: test_epx ......................... Passed 1.67 sec
Start 10: test_eb
10/18 Test #10: test_eb .......................... Passed 5.70 sec
Start 11: test_ed
11/18 Test #11: test_ed .......................... Passed 0.00 sec
Start 12: test_ec
12/18 Test #12: test_ec .......................... Passed 0.26 sec
Start 13: test_pc
13/18 Test #13: test_pc .......................... Passed 8.22 sec
Start 14: test_pp
14/18 Test #14: test_pp .......................... Passed 3.03 sec
Start 15: test_md
15/18 Test #15: test_md .......................... Passed 0.91 sec
Start 16: test_cp
16/18 Test #16: test_cp .......................... Passed 4.46 sec
Start 17: test_rand
17/18 Test #17: test_rand ........................ Passed 0.00 sec
Start 18: test_core
18/18 Test #18: test_core ........................ Passed 0.00 sec
100% tests passed, 0 tests failed out of 18
Total Test time (real) = 115.80 sec
➜ powersoftau git:(master) popd
~/tmp/powersoftau ~/tmp ~
➜ powersoftau go build -work -x -v github.com/FiloSottile/powersoftau/cmd/taucompute
WORK=/var/folders/cm/zzcl1fjx27sc8sf3s6sd_0vw0000gn/T/go-build005436582
github.com/FiloSottile/powersoftau/bls12
github.com/FiloSottile/powersoftau/internal/chacha20
github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b
mkdir -p $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/internal/chacha20/_obj/
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12
CGO_LDFLAGS="-g" "-O2" "/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/lib/librelic_s.a" /usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/cgo -objdir $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/ -importpath github.com/FiloSottile/powersoftau/bls12 -- -I $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include g1.go g2.go relic.go
mkdir -p $WORK/github.com/FiloSottile/powersoftau/internal/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/internal/chacha20
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/compile -o $WORK/github.com/FiloSottile/powersoftau/internal/chacha20.a -trimpath $WORK -goversion go1.9.2 -p github.com/FiloSottile/powersoftau/internal/chacha20 -complete -buildid 5b887c21c0c2f5f9331b22aaae0d980bc6b02dd2 -D _/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/internal/chacha20 -I $WORK -pack ./chacha_generic.go
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/compile -o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b.a -trimpath $WORK -goversion go1.9.2 -p github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b -buildid c3de0d4d3d45d7ac7634a4173e618bf8552fce8e -D _/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b -I $WORK -pack -asmhdr $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/go_asm.h ./blake2b.go ./blake2bAVX2_amd64.go ./blake2b_generic.go ./blake2x.go ./register.go
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/asm -trimpath $WORK -I $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/ -I /usr/local/Cellar/go/1.9.2/libexec/pkg/include -D GOOS_darwin -D GOARCH_amd64 -o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2bAVX2_amd64.o ./blake2bAVX2_amd64.s
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/asm -trimpath $WORK -I $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/ -I /usr/local/Cellar/go/1.9.2/libexec/pkg/include -D GOOS_darwin -D GOARCH_amd64 -o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2b_amd64.o ./blake2b_amd64.s
pack r $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b.a $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2bAVX2_amd64.o $WORK/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b/_obj/blake2b_amd64.o # internal
cd $WORK
clang -fdebug-prefix-map=a=b -c trivial.c
clang -gno-record-gcc-switches -c trivial.c
cd $WORK/github.com/FiloSottile/powersoftau/bls12/_obj
clang -I /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -I ./ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include -o ./_cgo_export.o -c _cgo_export.c
clang -I /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -I ./ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include -o ./g1.cgo2.o -c g1.cgo2.c
clang -I /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -I ./ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include -o ./g2.cgo2.o -c g2.cgo2.c
clang -I /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -I ./ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include -o ./relic.cgo2.o -c relic.cgo2.c
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12
clang -I . -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -I $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include -o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g1.o -c g1.c
clang -I . -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -I $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include -o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g2.o -c g2.c
cd $WORK/github.com/FiloSottile/powersoftau/bls12/_obj
clang -I /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -I ./ -g -O2 -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/relic/include -I/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12/build/include -o ./_cgo_main.o -c _cgo_main.c
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12
clang -I . -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_main.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_export.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g1.cgo2.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g2.cgo2.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/relic.cgo2.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g1.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g2.o -g -O2 ./build/lib/librelic_s.a
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/cgo -dynpackage bls12 -dynimport $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_.o -dynout $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_import.go
cd $WORK
clang -no-pie -c trivial.c
clang -nopie -c trivial.c
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12
clang -I . -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK=/tmp/go-build -gno-record-gcc-switches -fno-common -o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_all.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_export.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g1.cgo2.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g2.cgo2.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/relic.cgo2.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g1.o $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g2.o -g -O2 -Wl,-r -nostdlib -nopie
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/compile -o $WORK/github.com/FiloSottile/powersoftau/bls12.a -trimpath $WORK -goversion go1.9.2 -p github.com/FiloSottile/powersoftau/bls12 -buildid 795bb89520b3d585c3c8cde87559539fc9d838f8 -D _/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/bls12 -I $WORK -pack $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_gotypes.go $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g1.cgo1.go $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/g2.cgo1.go $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/relic.cgo1.go $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_cgo_import.go
pack r $WORK/github.com/FiloSottile/powersoftau/bls12.a $WORK/github.com/FiloSottile/powersoftau/bls12/_obj/_all.o # internal
github.com/FiloSottile/powersoftau/powersoftau
mkdir -p $WORK/github.com/FiloSottile/powersoftau/powersoftau/_obj/
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/powersoftau
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/compile -o $WORK/github.com/FiloSottile/powersoftau/powersoftau.a -trimpath $WORK -goversion go1.9.2 -p github.com/FiloSottile/powersoftau/powersoftau -complete -buildid a9b395216ec6fe202d8c186afa0491ae73b23831 -importmap golang.org/x/crypto/blake2b=github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b -D _/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/powersoftau -I $WORK -I /Users/filippo/tmp/powersoftau/pkg/darwin_amd64 -pack ./compute.go ./encoding.go ./hash_to_g2.go ./publickey.go
github.com/FiloSottile/powersoftau/cmd/taucompute
mkdir -p $WORK/github.com/FiloSottile/powersoftau/cmd/taucompute/_obj/
mkdir -p $WORK/github.com/FiloSottile/powersoftau/cmd/taucompute/_obj/exe/
cd /Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/cmd/taucompute
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/compile -o $WORK/github.com/FiloSottile/powersoftau/cmd/taucompute.a -trimpath $WORK -goversion go1.9.2 -p main -complete -buildid 1b02555f803cf474e73eebff2edf0a026f2565a5 -D _/Users/filippo/tmp/powersoftau/src/github.com/FiloSottile/powersoftau/cmd/taucompute -I $WORK -I /Users/filippo/tmp/powersoftau/pkg/darwin_amd64 -pack ./main.go
cd .
/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64/link -o $WORK/github.com/FiloSottile/powersoftau/cmd/taucompute/_obj/exe/a.out -L $WORK -L /Users/filippo/tmp/powersoftau/pkg/darwin_amd64 -extld=clang -buildmode=exe -buildid=1b02555f803cf474e73eebff2edf0a026f2565a5 $WORK/github.com/FiloSottile/powersoftau/cmd/taucompute.a
mv $WORK/github.com/FiloSottile/powersoftau/cmd/taucompute/_obj/exe/a.out taucompute
➜ powersoftau mv /var/folders/cm/zzcl1fjx27sc8sf3s6sd_0vw0000gn/T/go-build005436582 .
➜ powersoftau ls -l
total 2379944
-rw-r--r-- 1 filippo staff 1207959712 24 Jan 16:19 challenge
drwx------ 5 filippo staff 160 24 Jan 16:27 go-build005436582
drwxr-xr-x 3 filippo staff 96 24 Jan 16:21 src
-rwxr-xr-x 1 filippo staff 10567000 24 Jan 16:27 taucompute
➜ powersoftau b2sum taucompute go-build005436582/**/*.a
8e018640f69e81f844985f6aa4df70df7f291faad3a7f03b3401410daf6389a274c52648d24ae94595727cddaaae10de893022edcf15c51473b9c7e4ab51236f taucompute
44d6fec75fc9739fdc28d8f3d9eb9f1429c5537ac109ca341e0f5d2c036546b30864d54bd6c749f73f7e0081f98fff02f9d55e3b010c9ddf8fc79db12aa1e210 go-build005436582/github.com/FiloSottile/powersoftau/bls12.a
c241649f8d76c24476d180f8087f8c2b1b2cea0bd70b0d41d1f78e886303b3213377107786345fc88bab8b574fc222162786f4b95a75ba204b9afa14c9c1e20a go-build005436582/github.com/FiloSottile/powersoftau/cmd/taucompute.a
e68261086dc3d7d22470d32351103da8cb52b67d84e54f11da9f58c8618f9e68208bff4a6c4df389e49edcc21fa528c5a8c094c7676fea14a1c6f19ffb436734 go-build005436582/github.com/FiloSottile/powersoftau/internal/chacha20.a
15101004a5624459a5188add5172e380b85e65dbe9f93e430186f4bd2656a2dc583b499bc206f9f62bd0160c6eb912dd71e17633ce7c8810cb4af10b3a4f5c39 go-build005436582/github.com/FiloSottile/powersoftau/powersoftau.a
cbe5f621c29fea6f3577abacabdc04f60d59c79eb2737f2ca258fa0dbfb018771af0c58548c3c9011fa476b967db61546ff77fd0198263b485bad099443e694f go-build005436582/github.com/FiloSottile/powersoftau/vendor/golang.org/x/crypto/blake2b.a
➜ powersoftau go version
go version go1.9.2 darwin/amd64
➜ powersoftau go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/filippo/tmp/powersoftau"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.9.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/cm/zzcl1fjx27sc8sf3s6sd_0vw0000gn/T/go-build806951846=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
➜ powersoftau sudo -s
Password:
bash-3.2# cat > /dev/random
[REDACTED]
bash-3.2# exit
➜ powersoftau ./taucompute
2018/01/24 16:37:01 Reading challenge...
2018/01/24 16:40:43 Starting computation...
2018/01/24 20:14:54 Writing response...
2018/01/24 20:18:49 Done!
Your contribution has been written to `./response`
The BLAKE2b hash of `./response` is:
7b55c0f5 68a8b4df 2ca14085 2e816df2
b9a2dafe 50b2c5e2 5e6c9b6a df239de0
223a9866 aba481a8 436fbd42 04a2c48a
43725d94 2de47b23 c10c5e87 38fd6467
➜ powersoftau cc --version
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
➜ powersoftau pbpaste > log.txt
untrusted comment: signature from minisign secret key
RWQ2Ckf/dP6HcQgvBGD33fPa9tvOq04PKY56L7vcWx+BpGSSzYucy+11xTy6j5T9svogOzvzfFJCv0Q87yPer+Aynx080ciHuQU=
trusted comment: timestamp:1516841172 file:attestation.txt
mX9WF896i8tl9gJsvqOBWrAqf4ScBLKpHrfsD/IUcHIbP/z0QEE6eyROVSqAE/fURzR9y0PS7Ax9J+1cUU1WDA==
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment