ruby_nacl 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Changelog +0 -0
- data/README.md +49 -0
- data/ext/ruby_nacl/NaCl/MACROS +56 -0
- data/ext/ruby_nacl/NaCl/OPERATIONS +11 -0
- data/ext/ruby_nacl/NaCl/PROTOTYPES.c +26 -0
- data/ext/ruby_nacl/NaCl/PROTOTYPES.cpp +17 -0
- data/ext/ruby_nacl/NaCl/README +1 -0
- data/ext/ruby_nacl/NaCl/commandline/nacl-sha256.c +64 -0
- data/ext/ruby_nacl/NaCl/commandline/nacl-sha512.c +64 -0
- data/ext/ruby_nacl/NaCl/cpucycles/alpha.c +80 -0
- data/ext/ruby_nacl/NaCl/cpucycles/alpha.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuinfo.c +16 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuspeed.c +25 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuspeed.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64tscfreq.c +18 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64tscfreq.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/celllinux.c +83 -0
- data/ext/ruby_nacl/NaCl/cpucycles/celllinux.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/cortex.c +73 -0
- data/ext/ruby_nacl/NaCl/cpucycles/cortex.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/dev4ns.c +62 -0
- data/ext/ruby_nacl/NaCl/cpucycles/dev4ns.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/do +105 -0
- data/ext/ruby_nacl/NaCl/cpucycles/gettimeofday.c +32 -0
- data/ext/ruby_nacl/NaCl/cpucycles/gettimeofday.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/hppapstat.c +26 -0
- data/ext/ruby_nacl/NaCl/cpucycles/hppapstat.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/ia64cpuinfo.c +15 -0
- data/ext/ruby_nacl/NaCl/cpucycles/ia64cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/mips.c +65 -0
- data/ext/ruby_nacl/NaCl/cpucycles/mips.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotonic.c +34 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotonic.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotoniccpuinfo.c +33 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotoniccpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/osfreq.c +65 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpccpuinfo.c +95 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpccpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.c +42 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sgi.c +38 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sgi.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparc32cpuinfo.c +16 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparc32cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparccpuinfo.c +15 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparccpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/test.c +77 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuinfo.c +15 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuspeed.c +24 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuspeed.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86estimate.c +59 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86estimate.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86tscfreq.c +17 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86tscfreq.h +27 -0
- data/ext/ruby_nacl/NaCl/cpuid/cbytes.c +16 -0
- data/ext/ruby_nacl/NaCl/cpuid/cpuid.c +41 -0
- data/ext/ruby_nacl/NaCl/cpuid/do +37 -0
- data/ext/ruby_nacl/NaCl/cpuid/unknown.c +7 -0
- data/ext/ruby_nacl/NaCl/cpuid/x86.c +41 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/hmac.c +83 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/hmac.c +86 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/measure.c +69 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/try.c +119 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/wrapper-auth.cpp +11 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/wrapper-verify.cpp +14 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/after.c +22 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/api.h +6 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/before.c +17 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/box.c +27 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/keypair.c +12 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_box/measure.c +137 -0
- data/ext/ruby_nacl/NaCl/crypto_box/try.c +195 -0
- data/ext/ruby_nacl/NaCl/crypto_box/wrapper-box.cpp +24 -0
- data/ext/ruby_nacl/NaCl/crypto_box/wrapper-keypair.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_box/wrapper-open.cpp +27 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/core.c +135 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/core.c +108 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/measure.c +18 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/core.c +134 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/core.c +134 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/core.c +134 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/try.c +116 -0
- data/ext/ruby_nacl/NaCl/crypto_core/wrapper-empty.cpp +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/measure.c +66 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/hash.c +69 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/hash.c +71 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/try.c +77 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/wrapper-hash.cpp +10 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/measure.c +18 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/blocks.c +228 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/blocks.c +212 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/blocks.c +256 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/blocks.c +239 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/try.c +79 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/wrapper-empty.cpp +0 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/measure.c +69 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/auth.c +1616 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/auth.s +2787 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/constants.s +85 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/auth.c +104 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/auth.s +2779 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/constants.s +85 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/try.c +119 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/wrapper-auth.cpp +11 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/wrapper-verify.cpp +14 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/base.c +8 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/const.s +114 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/fromdouble.s +195 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/init.s +13 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/mainloop.s +3990 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/mult.s +410 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/smult.c +91 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/square.s +298 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/todouble.s +144 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/base.c +8 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/smult.c +477 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/base.c +16 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/smult.c +265 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/measure.c +61 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/try.c +126 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/wrapper-base.cpp +11 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/wrapper-mult.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/measure.c +75 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/try.c +129 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/wrapper-box.cpp +19 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/wrapper-open.cpp +22 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/ref/box.c +35 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/api.h +3 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/fe25519.c +345 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/fe25519.h +54 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/ge25519.c +227 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/ge25519.h +34 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sc25519.c +146 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sc25519.h +51 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sign.c +103 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/measure.c +83 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/try.c +86 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-keypair.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-sign-open.cpp +24 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-sign.cpp +23 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/afternm.s +12308 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/api.h +3 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/beforenm.s +13694 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/stream.c +14 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/xor.c +15 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/xor_afternm.s +12407 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/afternm.c +158 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/api.h +3 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/beforenm.c +59 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/common.c +64 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/common.h +788 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/consts.c +14 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/consts.h +28 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/int128.c +128 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/int128.h +47 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/stream.c +28 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/types.h +10 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/xor_afternm.c +180 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/measure.c +73 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/stream.s +4823 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/stream.c +49 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/xor.c +52 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/stream.s +5078 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/stream.s +4823 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/stream.c +49 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/xor.c +52 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/stream.s +5078 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/stream.s +4823 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/stream.c +49 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/xor.c +52 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/stream.s +5078 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/try.c +124 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/wrapper-stream.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/wrapper-xor.cpp +17 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/stream.c +22 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/xor.c +23 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream.h +18 -0
- data/ext/ruby_nacl/NaCl/crypto_stream_aes128ctr.h +33 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/ref/verify.c +24 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/ref/verify.c +40 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/measure.c +18 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/try.c +75 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/wrapper-empty.cpp +0 -0
- data/ext/ruby_nacl/NaCl/curvecp/LIBS +31 -0
- data/ext/ruby_nacl/NaCl/curvecp/README +10 -0
- data/ext/ruby_nacl/NaCl/curvecp/SOURCES +36 -0
- data/ext/ruby_nacl/NaCl/curvecp/TARGETS +5 -0
- data/ext/ruby_nacl/NaCl/curvecp/blocking.c +12 -0
- data/ext/ruby_nacl/NaCl/curvecp/blocking.h +7 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte_copy.c +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte_isequal.c +10 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte_zero.c +7 -0
- data/ext/ruby_nacl/NaCl/curvecp/crypto_block.c +35 -0
- data/ext/ruby_nacl/NaCl/curvecp/crypto_block.h +4 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpclient.c +476 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpmakekey.c +57 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpmessage.c +654 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpprintkey.c +46 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpserver.c +497 -0
- data/ext/ruby_nacl/NaCl/curvecp/die.c +42 -0
- data/ext/ruby_nacl/NaCl/curvecp/die.h +16 -0
- data/ext/ruby_nacl/NaCl/curvecp/e.c +106 -0
- data/ext/ruby_nacl/NaCl/curvecp/e.h +438 -0
- data/ext/ruby_nacl/NaCl/curvecp/hexparse.c +25 -0
- data/ext/ruby_nacl/NaCl/curvecp/hexparse.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/load.c +33 -0
- data/ext/ruby_nacl/NaCl/curvecp/load.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/nameparse.c +19 -0
- data/ext/ruby_nacl/NaCl/curvecp/nameparse.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/nanoseconds.c +27 -0
- data/ext/ruby_nacl/NaCl/curvecp/nanoseconds.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/open.h +10 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_cwd.c +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_lock.c +19 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_pipe.c +15 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_read.c +17 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_write.c +17 -0
- data/ext/ruby_nacl/NaCl/curvecp/portparse.c +14 -0
- data/ext/ruby_nacl/NaCl/curvecp/portparse.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/randommod.c +14 -0
- data/ext/ruby_nacl/NaCl/curvecp/randommod.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/safenonce.c +74 -0
- data/ext/ruby_nacl/NaCl/curvecp/safenonce.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/savesync.c +24 -0
- data/ext/ruby_nacl/NaCl/curvecp/savesync.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket.h +9 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_bind.c +15 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_recv.c +23 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_send.c +19 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_udp.c +36 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_pack.c +7 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_pack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_unpack.c +9 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_unpack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_pack.c +9 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_pack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_unpack.c +11 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_unpack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_pack.c +13 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_pack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_unpack.c +15 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_unpack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/writeall.c +27 -0
- data/ext/ruby_nacl/NaCl/curvecp/writeall.h +6 -0
- data/ext/ruby_nacl/NaCl/do +468 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int16.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int32.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int64.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int8.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint16.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint32.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint64.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint8.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/do +47 -0
- data/ext/ruby_nacl/NaCl/inttypes/signed.h +17 -0
- data/ext/ruby_nacl/NaCl/inttypes/unsigned.h +17 -0
- data/ext/ruby_nacl/NaCl/measure-anything.c +225 -0
- data/ext/ruby_nacl/NaCl/okcompilers/abiname.c +45 -0
- data/ext/ruby_nacl/NaCl/okcompilers/archivers +2 -0
- data/ext/ruby_nacl/NaCl/okcompilers/c +8 -0
- data/ext/ruby_nacl/NaCl/okcompilers/cpp +8 -0
- data/ext/ruby_nacl/NaCl/okcompilers/do +196 -0
- data/ext/ruby_nacl/NaCl/okcompilers/lib.c +29 -0
- data/ext/ruby_nacl/NaCl/okcompilers/lib.cpp +19 -0
- data/ext/ruby_nacl/NaCl/okcompilers/main.c +25 -0
- data/ext/ruby_nacl/NaCl/okcompilers/main.cpp +22 -0
- data/ext/ruby_nacl/NaCl/randombytes/devurandom.c +34 -0
- data/ext/ruby_nacl/NaCl/randombytes/devurandom.h +24 -0
- data/ext/ruby_nacl/NaCl/randombytes/do +43 -0
- data/ext/ruby_nacl/NaCl/randombytes/test.c +15 -0
- data/ext/ruby_nacl/NaCl/tests/auth.c +19 -0
- data/ext/ruby_nacl/NaCl/tests/auth.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/auth2.c +34 -0
- data/ext/ruby_nacl/NaCl/tests/auth2.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/auth3.c +34 -0
- data/ext/ruby_nacl/NaCl/tests/auth3.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/auth4.cpp +44 -0
- data/ext/ruby_nacl/NaCl/tests/auth4.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/auth5.c +36 -0
- data/ext/ruby_nacl/NaCl/tests/auth5.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/auth6.cpp +46 -0
- data/ext/ruby_nacl/NaCl/tests/auth6.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box.c +63 -0
- data/ext/ruby_nacl/NaCl/tests/box.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/box2.c +64 -0
- data/ext/ruby_nacl/NaCl/tests/box2.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/box3.cpp +60 -0
- data/ext/ruby_nacl/NaCl/tests/box3.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/box4.cpp +66 -0
- data/ext/ruby_nacl/NaCl/tests/box4.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/box5.cpp +30 -0
- data/ext/ruby_nacl/NaCl/tests/box5.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box6.cpp +43 -0
- data/ext/ruby_nacl/NaCl/tests/box6.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box7.c +36 -0
- data/ext/ruby_nacl/NaCl/tests/box7.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box8.c +41 -0
- data/ext/ruby_nacl/NaCl/tests/box8.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/core1.c +30 -0
- data/ext/ruby_nacl/NaCl/tests/core1.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/core2.c +33 -0
- data/ext/ruby_nacl/NaCl/tests/core2.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/core3.c +41 -0
- data/ext/ruby_nacl/NaCl/tests/core3.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/core4.c +33 -0
- data/ext/ruby_nacl/NaCl/tests/core4.out +8 -0
- data/ext/ruby_nacl/NaCl/tests/core5.c +32 -0
- data/ext/ruby_nacl/NaCl/tests/core5.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/core6.c +47 -0
- data/ext/ruby_nacl/NaCl/tests/core6.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/hash.c +14 -0
- data/ext/ruby_nacl/NaCl/tests/hash.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/hash2.cpp +18 -0
- data/ext/ruby_nacl/NaCl/tests/hash2.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/hash3.c +14 -0
- data/ext/ruby_nacl/NaCl/tests/hash3.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/hash4.cpp +18 -0
- data/ext/ruby_nacl/NaCl/tests/hash4.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth.c +42 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth.out +2 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth2.c +40 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth2.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth5.cpp +46 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth5.out +2 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth6.cpp +50 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth6.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth7.c +36 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth7.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth8.cpp +46 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth8.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult.c +23 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult2.c +23 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult2.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult3.cpp +31 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult3.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult4.cpp +31 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult4.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult5.c +30 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult5.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult6.c +30 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult6.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult7.cpp +32 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult7.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox.c +56 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox2.c +57 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox2.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox3.cpp +52 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox3.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox4.cpp +54 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox4.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox5.cpp +29 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox5.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox6.cpp +42 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox6.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox7.c +32 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox7.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox8.c +37 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox8.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/stream.c +29 -0
- data/ext/ruby_nacl/NaCl/tests/stream.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream2.c +27 -0
- data/ext/ruby_nacl/NaCl/tests/stream2.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream3.c +28 -0
- data/ext/ruby_nacl/NaCl/tests/stream3.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/stream4.c +53 -0
- data/ext/ruby_nacl/NaCl/tests/stream4.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/stream5.cpp +29 -0
- data/ext/ruby_nacl/NaCl/tests/stream5.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream6.cpp +27 -0
- data/ext/ruby_nacl/NaCl/tests/stream6.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream7.cpp +30 -0
- data/ext/ruby_nacl/NaCl/tests/stream7.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/stream8.cpp +56 -0
- data/ext/ruby_nacl/NaCl/tests/stream8.out +17 -0
- data/ext/ruby_nacl/NaCl/try-anything.c +173 -0
- data/ext/ruby_nacl/NaCl/version +1 -0
- data/ext/ruby_nacl/extconf.rb +18 -0
- data/ext/ruby_nacl/ruby_nacl.cpp +147 -0
- data/ext/ruby_nacl/ruby_nacl.h +49 -0
- metadata +554 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# version 20080912
|
|
2
|
+
# D. J. Bernstein
|
|
3
|
+
# Public domain.
|
|
4
|
+
|
|
5
|
+
.data
|
|
6
|
+
.section .rodata
|
|
7
|
+
.p2align 5
|
|
8
|
+
|
|
9
|
+
.globl _crypto_onetimeauth_poly1305_x86_constants
|
|
10
|
+
.globl crypto_onetimeauth_poly1305_x86_constants
|
|
11
|
+
.globl crypto_onetimeauth_poly1305_x86_scale
|
|
12
|
+
.globl crypto_onetimeauth_poly1305_x86_two32
|
|
13
|
+
.globl crypto_onetimeauth_poly1305_x86_two64
|
|
14
|
+
.globl crypto_onetimeauth_poly1305_x86_two96
|
|
15
|
+
.globl crypto_onetimeauth_poly1305_x86_alpha32
|
|
16
|
+
.globl crypto_onetimeauth_poly1305_x86_alpha64
|
|
17
|
+
.globl crypto_onetimeauth_poly1305_x86_alpha96
|
|
18
|
+
.globl crypto_onetimeauth_poly1305_x86_alpha130
|
|
19
|
+
.globl crypto_onetimeauth_poly1305_x86_doffset0
|
|
20
|
+
.globl crypto_onetimeauth_poly1305_x86_doffset1
|
|
21
|
+
.globl crypto_onetimeauth_poly1305_x86_doffset2
|
|
22
|
+
.globl crypto_onetimeauth_poly1305_x86_doffset3
|
|
23
|
+
.globl crypto_onetimeauth_poly1305_x86_doffset3minustwo128
|
|
24
|
+
.globl crypto_onetimeauth_poly1305_x86_hoffset0
|
|
25
|
+
.globl crypto_onetimeauth_poly1305_x86_hoffset1
|
|
26
|
+
.globl crypto_onetimeauth_poly1305_x86_hoffset2
|
|
27
|
+
.globl crypto_onetimeauth_poly1305_x86_hoffset3
|
|
28
|
+
.globl crypto_onetimeauth_poly1305_x86_rounding
|
|
29
|
+
|
|
30
|
+
_crypto_onetimeauth_poly1305_x86_constants:
|
|
31
|
+
crypto_onetimeauth_poly1305_x86_constants:
|
|
32
|
+
crypto_onetimeauth_poly1305_x86_scale:
|
|
33
|
+
.long 0x0,0x37f40000
|
|
34
|
+
|
|
35
|
+
crypto_onetimeauth_poly1305_x86_two32:
|
|
36
|
+
.long 0x0,0x41f00000
|
|
37
|
+
|
|
38
|
+
crypto_onetimeauth_poly1305_x86_two64:
|
|
39
|
+
.long 0x0,0x43f00000
|
|
40
|
+
|
|
41
|
+
crypto_onetimeauth_poly1305_x86_two96:
|
|
42
|
+
.long 0x0,0x45f00000
|
|
43
|
+
|
|
44
|
+
crypto_onetimeauth_poly1305_x86_alpha32:
|
|
45
|
+
.long 0x0,0x45e80000
|
|
46
|
+
|
|
47
|
+
crypto_onetimeauth_poly1305_x86_alpha64:
|
|
48
|
+
.long 0x0,0x47e80000
|
|
49
|
+
|
|
50
|
+
crypto_onetimeauth_poly1305_x86_alpha96:
|
|
51
|
+
.long 0x0,0x49e80000
|
|
52
|
+
|
|
53
|
+
crypto_onetimeauth_poly1305_x86_alpha130:
|
|
54
|
+
.long 0x0,0x4c080000
|
|
55
|
+
|
|
56
|
+
crypto_onetimeauth_poly1305_x86_doffset0:
|
|
57
|
+
.long 0x0,0x43300000
|
|
58
|
+
|
|
59
|
+
crypto_onetimeauth_poly1305_x86_doffset1:
|
|
60
|
+
.long 0x0,0x45300000
|
|
61
|
+
|
|
62
|
+
crypto_onetimeauth_poly1305_x86_doffset2:
|
|
63
|
+
.long 0x0,0x47300000
|
|
64
|
+
|
|
65
|
+
crypto_onetimeauth_poly1305_x86_doffset3:
|
|
66
|
+
.long 0x0,0x49300000
|
|
67
|
+
|
|
68
|
+
crypto_onetimeauth_poly1305_x86_doffset3minustwo128:
|
|
69
|
+
.long 0x0,0x492ffffe
|
|
70
|
+
|
|
71
|
+
crypto_onetimeauth_poly1305_x86_hoffset0:
|
|
72
|
+
.long 0xfffffffb,0x43300001
|
|
73
|
+
|
|
74
|
+
crypto_onetimeauth_poly1305_x86_hoffset1:
|
|
75
|
+
.long 0xfffffffe,0x45300001
|
|
76
|
+
|
|
77
|
+
crypto_onetimeauth_poly1305_x86_hoffset2:
|
|
78
|
+
.long 0xfffffffe,0x47300001
|
|
79
|
+
|
|
80
|
+
crypto_onetimeauth_poly1305_x86_hoffset3:
|
|
81
|
+
.long 0xfffffffe,0x49300003
|
|
82
|
+
|
|
83
|
+
crypto_onetimeauth_poly1305_x86_rounding:
|
|
84
|
+
.byte 0x7f
|
|
85
|
+
.byte 0x13
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#include "crypto_verify_16.h"
|
|
2
|
+
#include "crypto_onetimeauth.h"
|
|
3
|
+
|
|
4
|
+
int crypto_onetimeauth_verify(const unsigned char *h,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
|
|
5
|
+
{
|
|
6
|
+
unsigned char correct[16];
|
|
7
|
+
crypto_onetimeauth(correct,in,inlen,k);
|
|
8
|
+
return crypto_verify_16(h,correct);
|
|
9
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* crypto_onetimeauth/try.c version 20090118
|
|
3
|
+
* D. J. Bernstein
|
|
4
|
+
* Public domain.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#include "crypto_hash_sha256.h"
|
|
8
|
+
#include "crypto_onetimeauth.h"
|
|
9
|
+
|
|
10
|
+
extern unsigned char *alignedcalloc(unsigned long long);
|
|
11
|
+
|
|
12
|
+
const char *primitiveimplementation = crypto_onetimeauth_IMPLEMENTATION;
|
|
13
|
+
|
|
14
|
+
#define MAXTEST_BYTES 10000
|
|
15
|
+
#define CHECKSUM_BYTES 4096
|
|
16
|
+
#define TUNE_BYTES 1536
|
|
17
|
+
|
|
18
|
+
static unsigned char *h;
|
|
19
|
+
static unsigned char *m;
|
|
20
|
+
static unsigned char *k;
|
|
21
|
+
static unsigned char *h2;
|
|
22
|
+
static unsigned char *m2;
|
|
23
|
+
static unsigned char *k2;
|
|
24
|
+
|
|
25
|
+
void preallocate(void)
|
|
26
|
+
{
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
void allocate(void)
|
|
30
|
+
{
|
|
31
|
+
h = alignedcalloc(crypto_onetimeauth_BYTES);
|
|
32
|
+
m = alignedcalloc(MAXTEST_BYTES);
|
|
33
|
+
k = alignedcalloc(crypto_onetimeauth_KEYBYTES);
|
|
34
|
+
h2 = alignedcalloc(crypto_onetimeauth_BYTES);
|
|
35
|
+
m2 = alignedcalloc(MAXTEST_BYTES + crypto_onetimeauth_BYTES);
|
|
36
|
+
k2 = alignedcalloc(crypto_onetimeauth_KEYBYTES + crypto_onetimeauth_BYTES);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
void predoit(void)
|
|
40
|
+
{
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
void doit(void)
|
|
44
|
+
{
|
|
45
|
+
crypto_onetimeauth(h,m,TUNE_BYTES,k);
|
|
46
|
+
crypto_onetimeauth_verify(h,m,TUNE_BYTES,k);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
char checksum[crypto_onetimeauth_BYTES * 2 + 1];
|
|
50
|
+
|
|
51
|
+
const char *checksum_compute(void)
|
|
52
|
+
{
|
|
53
|
+
long long i;
|
|
54
|
+
long long j;
|
|
55
|
+
|
|
56
|
+
for (i = 0;i < CHECKSUM_BYTES;++i) {
|
|
57
|
+
long long mlen = i;
|
|
58
|
+
long long klen = crypto_onetimeauth_KEYBYTES;
|
|
59
|
+
long long hlen = crypto_onetimeauth_BYTES;
|
|
60
|
+
|
|
61
|
+
for (j = -16;j < 0;++j) h[j] = random();
|
|
62
|
+
for (j = -16;j < 0;++j) k[j] = random();
|
|
63
|
+
for (j = -16;j < 0;++j) m[j] = random();
|
|
64
|
+
for (j = hlen;j < hlen + 16;++j) h[j] = random();
|
|
65
|
+
for (j = klen;j < klen + 16;++j) k[j] = random();
|
|
66
|
+
for (j = mlen;j < mlen + 16;++j) m[j] = random();
|
|
67
|
+
for (j = -16;j < hlen + 16;++j) h2[j] = h[j];
|
|
68
|
+
for (j = -16;j < klen + 16;++j) k2[j] = k[j];
|
|
69
|
+
for (j = -16;j < mlen + 16;++j) m2[j] = m[j];
|
|
70
|
+
|
|
71
|
+
if (crypto_onetimeauth(h,m,mlen,k) != 0) return "crypto_onetimeauth returns nonzero";
|
|
72
|
+
|
|
73
|
+
for (j = -16;j < klen + 16;++j) if (k[j] != k2[j]) return "crypto_onetimeauth overwrites k";
|
|
74
|
+
for (j = -16;j < mlen + 16;++j) if (m[j] != m2[j]) return "crypto_onetimeauth overwrites m";
|
|
75
|
+
for (j = -16;j < 0;++j) if (h[j] != h2[j]) return "crypto_onetimeauth writes before output";
|
|
76
|
+
for (j = hlen;j < hlen + 16;++j) if (h[j] != h2[j]) return "crypto_onetimeauth writes after output";
|
|
77
|
+
|
|
78
|
+
for (j = -16;j < 0;++j) h[j] = random();
|
|
79
|
+
for (j = -16;j < 0;++j) k[j] = random();
|
|
80
|
+
for (j = -16;j < 0;++j) m[j] = random();
|
|
81
|
+
for (j = hlen;j < hlen + 16;++j) h[j] = random();
|
|
82
|
+
for (j = klen;j < klen + 16;++j) k[j] = random();
|
|
83
|
+
for (j = mlen;j < mlen + 16;++j) m[j] = random();
|
|
84
|
+
for (j = -16;j < hlen + 16;++j) h2[j] = h[j];
|
|
85
|
+
for (j = -16;j < klen + 16;++j) k2[j] = k[j];
|
|
86
|
+
for (j = -16;j < mlen + 16;++j) m2[j] = m[j];
|
|
87
|
+
|
|
88
|
+
if (crypto_onetimeauth(m2,m2,mlen,k) != 0) return "crypto_onetimeauth returns nonzero";
|
|
89
|
+
for (j = 0;j < hlen;++j) if (m2[j] != h[j]) return "crypto_onetimeauth does not handle m overlap";
|
|
90
|
+
for (j = 0;j < hlen;++j) m2[j] = m[j];
|
|
91
|
+
if (crypto_onetimeauth(k2,m2,mlen,k2) != 0) return "crypto_onetimeauth returns nonzero";
|
|
92
|
+
for (j = 0;j < hlen;++j) if (k2[j] != h[j]) return "crypto_onetimeauth does not handle k overlap";
|
|
93
|
+
for (j = 0;j < hlen;++j) k2[j] = k[j];
|
|
94
|
+
|
|
95
|
+
if (crypto_onetimeauth_verify(h,m,mlen,k) != 0) return "crypto_onetimeauth_verify returns nonzero";
|
|
96
|
+
|
|
97
|
+
for (j = -16;j < hlen + 16;++j) if (h[j] != h2[j]) return "crypto_onetimeauth overwrites h";
|
|
98
|
+
for (j = -16;j < klen + 16;++j) if (k[j] != k2[j]) return "crypto_onetimeauth overwrites k";
|
|
99
|
+
for (j = -16;j < mlen + 16;++j) if (m[j] != m2[j]) return "crypto_onetimeauth overwrites m";
|
|
100
|
+
|
|
101
|
+
crypto_hash_sha256(h2,h,hlen);
|
|
102
|
+
for (j = 0;j < klen;++j) k[j] ^= h2[j % 32];
|
|
103
|
+
if (crypto_onetimeauth(h,m,mlen,k) != 0) return "crypto_onetimeauth returns nonzero";
|
|
104
|
+
if (crypto_onetimeauth_verify(h,m,mlen,k) != 0) return "crypto_onetimeauth_verify returns nonzero";
|
|
105
|
+
|
|
106
|
+
crypto_hash_sha256(h2,h,hlen);
|
|
107
|
+
for (j = 0;j < mlen;++j) m[j] ^= h2[j % 32];
|
|
108
|
+
m[mlen] = h2[0];
|
|
109
|
+
}
|
|
110
|
+
if (crypto_onetimeauth(h,m,CHECKSUM_BYTES,k) != 0) return "crypto_onetimeauth returns nonzero";
|
|
111
|
+
if (crypto_onetimeauth_verify(h,m,CHECKSUM_BYTES,k) != 0) return "crypto_onetimeauth_verify returns nonzero";
|
|
112
|
+
|
|
113
|
+
for (i = 0;i < crypto_onetimeauth_BYTES;++i) {
|
|
114
|
+
checksum[2 * i] = "0123456789abcdef"[15 & (h[i] >> 4)];
|
|
115
|
+
checksum[2 * i + 1] = "0123456789abcdef"[15 & h[i]];
|
|
116
|
+
}
|
|
117
|
+
checksum[2 * i] = 0;
|
|
118
|
+
return 0;
|
|
119
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#include <string>
|
|
2
|
+
using std::string;
|
|
3
|
+
#include "crypto_onetimeauth.h"
|
|
4
|
+
|
|
5
|
+
string crypto_onetimeauth(const string &m,const string &k)
|
|
6
|
+
{
|
|
7
|
+
if (k.size() != crypto_onetimeauth_KEYBYTES) throw "incorrect key length";
|
|
8
|
+
unsigned char a[crypto_onetimeauth_BYTES];
|
|
9
|
+
crypto_onetimeauth(a,(const unsigned char *) m.c_str(),m.size(),(const unsigned char *) k.c_str());
|
|
10
|
+
return string((char *) a,crypto_onetimeauth_BYTES);
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#include <string>
|
|
2
|
+
using std::string;
|
|
3
|
+
#include "crypto_onetimeauth.h"
|
|
4
|
+
|
|
5
|
+
void crypto_onetimeauth_verify(const string &a,const string &m,const string &k)
|
|
6
|
+
{
|
|
7
|
+
if (k.size() != crypto_onetimeauth_KEYBYTES) throw "incorrect key length";
|
|
8
|
+
if (a.size() != crypto_onetimeauth_BYTES) throw "incorrect authenticator length";
|
|
9
|
+
if (crypto_onetimeauth_verify(
|
|
10
|
+
(const unsigned char *) a.c_str(),
|
|
11
|
+
(const unsigned char *) m.c_str(),m.size(),
|
|
12
|
+
(const unsigned char *) k.c_str()) == 0) return;
|
|
13
|
+
throw "invalid authenticator";
|
|
14
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
.data
|
|
2
|
+
.section .rodata
|
|
3
|
+
.p2align 5
|
|
4
|
+
|
|
5
|
+
.globl crypto_scalarmult_curve25519_athlon_scale
|
|
6
|
+
.globl crypto_scalarmult_curve25519_athlon_121665
|
|
7
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha26
|
|
8
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha51
|
|
9
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha77
|
|
10
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha102
|
|
11
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha128
|
|
12
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha153
|
|
13
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha179
|
|
14
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha204
|
|
15
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha230
|
|
16
|
+
.globl crypto_scalarmult_curve25519_athlon_alpha255
|
|
17
|
+
.globl crypto_scalarmult_curve25519_athlon_in0offset
|
|
18
|
+
.globl crypto_scalarmult_curve25519_athlon_in1offset
|
|
19
|
+
.globl crypto_scalarmult_curve25519_athlon_in2offset
|
|
20
|
+
.globl crypto_scalarmult_curve25519_athlon_in3offset
|
|
21
|
+
.globl crypto_scalarmult_curve25519_athlon_in4offset
|
|
22
|
+
.globl crypto_scalarmult_curve25519_athlon_in5offset
|
|
23
|
+
.globl crypto_scalarmult_curve25519_athlon_in6offset
|
|
24
|
+
.globl crypto_scalarmult_curve25519_athlon_in7offset
|
|
25
|
+
.globl crypto_scalarmult_curve25519_athlon_in8offset
|
|
26
|
+
.globl crypto_scalarmult_curve25519_athlon_in9offset
|
|
27
|
+
.globl crypto_scalarmult_curve25519_athlon_out0offset
|
|
28
|
+
.globl crypto_scalarmult_curve25519_athlon_out1offset
|
|
29
|
+
.globl crypto_scalarmult_curve25519_athlon_out2offset
|
|
30
|
+
.globl crypto_scalarmult_curve25519_athlon_out3offset
|
|
31
|
+
.globl crypto_scalarmult_curve25519_athlon_out4offset
|
|
32
|
+
.globl crypto_scalarmult_curve25519_athlon_out5offset
|
|
33
|
+
.globl crypto_scalarmult_curve25519_athlon_out6offset
|
|
34
|
+
.globl crypto_scalarmult_curve25519_athlon_out7offset
|
|
35
|
+
.globl crypto_scalarmult_curve25519_athlon_out8offset
|
|
36
|
+
.globl crypto_scalarmult_curve25519_athlon_out9offset
|
|
37
|
+
.globl crypto_scalarmult_curve25519_athlon_two0
|
|
38
|
+
.globl crypto_scalarmult_curve25519_athlon_two1
|
|
39
|
+
.globl crypto_scalarmult_curve25519_athlon_zero
|
|
40
|
+
.globl crypto_scalarmult_curve25519_athlon_rounding
|
|
41
|
+
|
|
42
|
+
crypto_scalarmult_curve25519_athlon_scale:
|
|
43
|
+
.long 0x0,0x30430000
|
|
44
|
+
crypto_scalarmult_curve25519_athlon_121665:
|
|
45
|
+
.long 0x0,0x40fdb410
|
|
46
|
+
crypto_scalarmult_curve25519_athlon_in0offset:
|
|
47
|
+
.long 0x0,0x43300000
|
|
48
|
+
crypto_scalarmult_curve25519_athlon_in1offset:
|
|
49
|
+
.long 0x0,0x45300000
|
|
50
|
+
crypto_scalarmult_curve25519_athlon_in2offset:
|
|
51
|
+
.long 0x0,0x46b00000
|
|
52
|
+
crypto_scalarmult_curve25519_athlon_in3offset:
|
|
53
|
+
.long 0x0,0x48300000
|
|
54
|
+
crypto_scalarmult_curve25519_athlon_in4offset:
|
|
55
|
+
.long 0x0,0x49b00000
|
|
56
|
+
crypto_scalarmult_curve25519_athlon_in5offset:
|
|
57
|
+
.long 0x0,0x4b300000
|
|
58
|
+
crypto_scalarmult_curve25519_athlon_in6offset:
|
|
59
|
+
.long 0x0,0x4d300000
|
|
60
|
+
crypto_scalarmult_curve25519_athlon_in7offset:
|
|
61
|
+
.long 0x0,0x4eb00000
|
|
62
|
+
crypto_scalarmult_curve25519_athlon_in8offset:
|
|
63
|
+
.long 0x0,0x50300000
|
|
64
|
+
crypto_scalarmult_curve25519_athlon_in9offset:
|
|
65
|
+
.long 0x0,0x51b00000
|
|
66
|
+
crypto_scalarmult_curve25519_athlon_alpha26:
|
|
67
|
+
.long 0x0,0x45880000
|
|
68
|
+
crypto_scalarmult_curve25519_athlon_alpha51:
|
|
69
|
+
.long 0x0,0x47180000
|
|
70
|
+
crypto_scalarmult_curve25519_athlon_alpha77:
|
|
71
|
+
.long 0x0,0x48b80000
|
|
72
|
+
crypto_scalarmult_curve25519_athlon_alpha102:
|
|
73
|
+
.long 0x0,0x4a480000
|
|
74
|
+
crypto_scalarmult_curve25519_athlon_alpha128:
|
|
75
|
+
.long 0x0,0x4be80000
|
|
76
|
+
crypto_scalarmult_curve25519_athlon_alpha153:
|
|
77
|
+
.long 0x0,0x4d780000
|
|
78
|
+
crypto_scalarmult_curve25519_athlon_alpha179:
|
|
79
|
+
.long 0x0,0x4f180000
|
|
80
|
+
crypto_scalarmult_curve25519_athlon_alpha204:
|
|
81
|
+
.long 0x0,0x50a80000
|
|
82
|
+
crypto_scalarmult_curve25519_athlon_alpha230:
|
|
83
|
+
.long 0x0,0x52480000
|
|
84
|
+
crypto_scalarmult_curve25519_athlon_alpha255:
|
|
85
|
+
.long 0x0,0x53d80000
|
|
86
|
+
crypto_scalarmult_curve25519_athlon_two0:
|
|
87
|
+
.long 0x0,0x3ff00000
|
|
88
|
+
crypto_scalarmult_curve25519_athlon_two1:
|
|
89
|
+
.long 0x0,0x40000000
|
|
90
|
+
crypto_scalarmult_curve25519_athlon_zero:
|
|
91
|
+
.long 0x0,0x0
|
|
92
|
+
crypto_scalarmult_curve25519_athlon_out0offset:
|
|
93
|
+
.long 0x1fffffed,0x43380000
|
|
94
|
+
crypto_scalarmult_curve25519_athlon_out1offset:
|
|
95
|
+
.long 0xffffff8,0x44d80000
|
|
96
|
+
crypto_scalarmult_curve25519_athlon_out2offset:
|
|
97
|
+
.long 0x1ffffff8,0x46680000
|
|
98
|
+
crypto_scalarmult_curve25519_athlon_out3offset:
|
|
99
|
+
.long 0xffffff8,0x48080000
|
|
100
|
+
crypto_scalarmult_curve25519_athlon_out4offset:
|
|
101
|
+
.long 0x1ffffff8,0x49980000
|
|
102
|
+
crypto_scalarmult_curve25519_athlon_out5offset:
|
|
103
|
+
.long 0xffffff8,0x4b380000
|
|
104
|
+
crypto_scalarmult_curve25519_athlon_out6offset:
|
|
105
|
+
.long 0x1ffffff8,0x4cc80000
|
|
106
|
+
crypto_scalarmult_curve25519_athlon_out7offset:
|
|
107
|
+
.long 0xffffff8,0x4e680000
|
|
108
|
+
crypto_scalarmult_curve25519_athlon_out8offset:
|
|
109
|
+
.long 0x1ffffff8,0x4ff80000
|
|
110
|
+
crypto_scalarmult_curve25519_athlon_out9offset:
|
|
111
|
+
.long 0x1fffff8,0x51980000
|
|
112
|
+
crypto_scalarmult_curve25519_athlon_rounding:
|
|
113
|
+
.byte 0x7f
|
|
114
|
+
.byte 0x13
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
.text
|
|
2
|
+
.p2align 5
|
|
3
|
+
.globl _crypto_scalarmult_curve25519_athlon_fromdouble
|
|
4
|
+
.globl crypto_scalarmult_curve25519_athlon_fromdouble
|
|
5
|
+
_crypto_scalarmult_curve25519_athlon_fromdouble:
|
|
6
|
+
crypto_scalarmult_curve25519_athlon_fromdouble:
|
|
7
|
+
mov %esp,%eax
|
|
8
|
+
and $31,%eax
|
|
9
|
+
add $192,%eax
|
|
10
|
+
sub %eax,%esp
|
|
11
|
+
movl %ebp,0(%esp)
|
|
12
|
+
movl 8(%esp,%eax),%ecx
|
|
13
|
+
fldl 0(%ecx)
|
|
14
|
+
faddl crypto_scalarmult_curve25519_athlon_out0offset
|
|
15
|
+
fstpl 96(%esp)
|
|
16
|
+
fldl 8(%ecx)
|
|
17
|
+
faddl crypto_scalarmult_curve25519_athlon_out1offset
|
|
18
|
+
fstpl 104(%esp)
|
|
19
|
+
fldl 16(%ecx)
|
|
20
|
+
faddl crypto_scalarmult_curve25519_athlon_out2offset
|
|
21
|
+
fstpl 112(%esp)
|
|
22
|
+
fldl 24(%ecx)
|
|
23
|
+
faddl crypto_scalarmult_curve25519_athlon_out3offset
|
|
24
|
+
fstpl 120(%esp)
|
|
25
|
+
fldl 32(%ecx)
|
|
26
|
+
faddl crypto_scalarmult_curve25519_athlon_out4offset
|
|
27
|
+
fstpl 128(%esp)
|
|
28
|
+
fldl 40(%ecx)
|
|
29
|
+
faddl crypto_scalarmult_curve25519_athlon_out5offset
|
|
30
|
+
fstpl 136(%esp)
|
|
31
|
+
fldl 48(%ecx)
|
|
32
|
+
faddl crypto_scalarmult_curve25519_athlon_out6offset
|
|
33
|
+
fstpl 144(%esp)
|
|
34
|
+
fldl 56(%ecx)
|
|
35
|
+
faddl crypto_scalarmult_curve25519_athlon_out7offset
|
|
36
|
+
fstpl 152(%esp)
|
|
37
|
+
fldl 64(%ecx)
|
|
38
|
+
faddl crypto_scalarmult_curve25519_athlon_out8offset
|
|
39
|
+
fstpl 160(%esp)
|
|
40
|
+
fldl 72(%ecx)
|
|
41
|
+
faddl crypto_scalarmult_curve25519_athlon_out9offset
|
|
42
|
+
fstpl 168(%esp)
|
|
43
|
+
movl 96(%esp),%ecx
|
|
44
|
+
movl %ecx,4(%esp)
|
|
45
|
+
movl 104(%esp),%ecx
|
|
46
|
+
shl $26,%ecx
|
|
47
|
+
movl %ecx,40(%esp)
|
|
48
|
+
movl 104(%esp),%ecx
|
|
49
|
+
shr $6,%ecx
|
|
50
|
+
movl %ecx,8(%esp)
|
|
51
|
+
movl 112(%esp),%ecx
|
|
52
|
+
shl $19,%ecx
|
|
53
|
+
movl %ecx,44(%esp)
|
|
54
|
+
movl 112(%esp),%ecx
|
|
55
|
+
shr $13,%ecx
|
|
56
|
+
movl %ecx,12(%esp)
|
|
57
|
+
movl 120(%esp),%ecx
|
|
58
|
+
shl $13,%ecx
|
|
59
|
+
movl %ecx,48(%esp)
|
|
60
|
+
movl 120(%esp),%ecx
|
|
61
|
+
shr $19,%ecx
|
|
62
|
+
movl %ecx,16(%esp)
|
|
63
|
+
movl 128(%esp),%ecx
|
|
64
|
+
shl $6,%ecx
|
|
65
|
+
movl %ecx,52(%esp)
|
|
66
|
+
movl 128(%esp),%ecx
|
|
67
|
+
shr $26,%ecx
|
|
68
|
+
movl 136(%esp),%edx
|
|
69
|
+
add %edx,%ecx
|
|
70
|
+
movl %ecx,20(%esp)
|
|
71
|
+
movl 144(%esp),%ecx
|
|
72
|
+
shl $25,%ecx
|
|
73
|
+
movl %ecx,56(%esp)
|
|
74
|
+
movl 144(%esp),%ecx
|
|
75
|
+
shr $7,%ecx
|
|
76
|
+
movl %ecx,24(%esp)
|
|
77
|
+
movl 152(%esp),%ecx
|
|
78
|
+
shl $19,%ecx
|
|
79
|
+
movl %ecx,60(%esp)
|
|
80
|
+
movl 152(%esp),%ecx
|
|
81
|
+
shr $13,%ecx
|
|
82
|
+
movl %ecx,28(%esp)
|
|
83
|
+
movl 160(%esp),%ecx
|
|
84
|
+
shl $12,%ecx
|
|
85
|
+
movl %ecx,64(%esp)
|
|
86
|
+
movl 160(%esp),%ecx
|
|
87
|
+
shr $20,%ecx
|
|
88
|
+
movl %ecx,32(%esp)
|
|
89
|
+
movl 168(%esp),%ecx
|
|
90
|
+
shl $6,%ecx
|
|
91
|
+
movl %ecx,68(%esp)
|
|
92
|
+
movl 168(%esp),%ecx
|
|
93
|
+
shr $26,%ecx
|
|
94
|
+
movl %ecx,36(%esp)
|
|
95
|
+
mov $0,%ecx
|
|
96
|
+
movl %ecx,72(%esp)
|
|
97
|
+
movl 4(%esp),%ecx
|
|
98
|
+
addl 40(%esp),%ecx
|
|
99
|
+
movl %ecx,4(%esp)
|
|
100
|
+
movl 8(%esp),%ecx
|
|
101
|
+
adcl 44(%esp),%ecx
|
|
102
|
+
movl %ecx,8(%esp)
|
|
103
|
+
movl 12(%esp),%ecx
|
|
104
|
+
adcl 48(%esp),%ecx
|
|
105
|
+
movl %ecx,12(%esp)
|
|
106
|
+
movl 16(%esp),%ecx
|
|
107
|
+
adcl 52(%esp),%ecx
|
|
108
|
+
movl %ecx,16(%esp)
|
|
109
|
+
movl 20(%esp),%ecx
|
|
110
|
+
adcl 56(%esp),%ecx
|
|
111
|
+
movl %ecx,20(%esp)
|
|
112
|
+
movl 24(%esp),%ecx
|
|
113
|
+
adcl 60(%esp),%ecx
|
|
114
|
+
movl %ecx,24(%esp)
|
|
115
|
+
movl 28(%esp),%ecx
|
|
116
|
+
adcl 64(%esp),%ecx
|
|
117
|
+
movl %ecx,28(%esp)
|
|
118
|
+
movl 32(%esp),%ecx
|
|
119
|
+
adcl 68(%esp),%ecx
|
|
120
|
+
movl %ecx,32(%esp)
|
|
121
|
+
movl 36(%esp),%ecx
|
|
122
|
+
adcl 72(%esp),%ecx
|
|
123
|
+
movl %ecx,36(%esp)
|
|
124
|
+
movl 4(%esp),%ecx
|
|
125
|
+
adc $0x13,%ecx
|
|
126
|
+
movl %ecx,40(%esp)
|
|
127
|
+
movl 8(%esp),%ecx
|
|
128
|
+
adc $0,%ecx
|
|
129
|
+
movl %ecx,44(%esp)
|
|
130
|
+
movl 12(%esp),%ecx
|
|
131
|
+
adc $0,%ecx
|
|
132
|
+
movl %ecx,48(%esp)
|
|
133
|
+
movl 16(%esp),%ecx
|
|
134
|
+
adc $0,%ecx
|
|
135
|
+
movl %ecx,52(%esp)
|
|
136
|
+
movl 20(%esp),%ecx
|
|
137
|
+
adc $0,%ecx
|
|
138
|
+
movl %ecx,56(%esp)
|
|
139
|
+
movl 24(%esp),%ecx
|
|
140
|
+
adc $0,%ecx
|
|
141
|
+
movl %ecx,60(%esp)
|
|
142
|
+
movl 28(%esp),%ecx
|
|
143
|
+
adc $0,%ecx
|
|
144
|
+
movl %ecx,64(%esp)
|
|
145
|
+
movl 32(%esp),%ecx
|
|
146
|
+
adc $0x80000000,%ecx
|
|
147
|
+
movl %ecx,68(%esp)
|
|
148
|
+
movl 36(%esp),%ebp
|
|
149
|
+
adc $0xffffffff,%ebp
|
|
150
|
+
and $0x80000000,%ebp
|
|
151
|
+
sar $31,%ebp
|
|
152
|
+
movl 4(%esp,%eax),%ecx
|
|
153
|
+
movl 4(%esp),%edx
|
|
154
|
+
xorl 40(%esp),%edx
|
|
155
|
+
and %ebp,%edx
|
|
156
|
+
xorl 40(%esp),%edx
|
|
157
|
+
movl %edx,0(%ecx)
|
|
158
|
+
movl 8(%esp),%edx
|
|
159
|
+
xorl 44(%esp),%edx
|
|
160
|
+
and %ebp,%edx
|
|
161
|
+
xorl 44(%esp),%edx
|
|
162
|
+
movl %edx,4(%ecx)
|
|
163
|
+
movl 12(%esp),%edx
|
|
164
|
+
xorl 48(%esp),%edx
|
|
165
|
+
and %ebp,%edx
|
|
166
|
+
xorl 48(%esp),%edx
|
|
167
|
+
movl %edx,8(%ecx)
|
|
168
|
+
movl 16(%esp),%edx
|
|
169
|
+
xorl 52(%esp),%edx
|
|
170
|
+
and %ebp,%edx
|
|
171
|
+
xorl 52(%esp),%edx
|
|
172
|
+
movl %edx,12(%ecx)
|
|
173
|
+
movl 20(%esp),%edx
|
|
174
|
+
xorl 56(%esp),%edx
|
|
175
|
+
and %ebp,%edx
|
|
176
|
+
xorl 56(%esp),%edx
|
|
177
|
+
movl %edx,16(%ecx)
|
|
178
|
+
movl 24(%esp),%edx
|
|
179
|
+
xorl 60(%esp),%edx
|
|
180
|
+
and %ebp,%edx
|
|
181
|
+
xorl 60(%esp),%edx
|
|
182
|
+
movl %edx,20(%ecx)
|
|
183
|
+
movl 28(%esp),%edx
|
|
184
|
+
xorl 64(%esp),%edx
|
|
185
|
+
and %ebp,%edx
|
|
186
|
+
xorl 64(%esp),%edx
|
|
187
|
+
movl %edx,24(%ecx)
|
|
188
|
+
movl 32(%esp),%edx
|
|
189
|
+
xorl 68(%esp),%edx
|
|
190
|
+
and %ebp,%edx
|
|
191
|
+
xorl 68(%esp),%edx
|
|
192
|
+
movl %edx,28(%ecx)
|
|
193
|
+
movl 0(%esp),%ebp
|
|
194
|
+
add %eax,%esp
|
|
195
|
+
ret
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Daniel J. Bernstein
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.text
|
|
2
|
+
.p2align 5
|
|
3
|
+
.globl _crypto_scalarmult_curve25519_athlon_init
|
|
4
|
+
.globl crypto_scalarmult_curve25519_athlon_init
|
|
5
|
+
_crypto_scalarmult_curve25519_athlon_init:
|
|
6
|
+
crypto_scalarmult_curve25519_athlon_init:
|
|
7
|
+
mov %esp,%eax
|
|
8
|
+
and $31,%eax
|
|
9
|
+
add $0,%eax
|
|
10
|
+
sub %eax,%esp
|
|
11
|
+
fldcw crypto_scalarmult_curve25519_athlon_rounding
|
|
12
|
+
add %eax,%esp
|
|
13
|
+
ret
|