mirror of
https://github.com/monero-project/monero.git
synced 2025-07-29 22:08:40 -04:00
commit
94ed562148
21 changed files with 79 additions and 79 deletions
|
@ -73,7 +73,7 @@ public:
|
|||
#if defined(_MSC_VER)
|
||||
, m_oss(std::move(rhs.m_oss))
|
||||
#else
|
||||
// GCC bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316
|
||||
// GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316
|
||||
, m_oss(rhs.m_oss.str(), std::ios_base::out | std::ios_base::ate)
|
||||
#endif
|
||||
, m_color(std::move(rhs.m_color))
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
#define ST_LOG(x) CINFO(el::base::Writer,el::base::DispatchAction::FileOnlyLog,MONERO_DEFAULT_LOG_CATEGORY) << x
|
||||
|
||||
// from http://stackoverflow.com/questions/11665829/how-can-i-print-stack-trace-for-caught-exceptions-in-c-code-injection-in-c
|
||||
// from https://stackoverflow.com/questions/11665829/how-can-i-print-stack-trace-for-caught-exceptions-in-c-code-injection-in-c
|
||||
|
||||
// The decl of __cxa_throw in /usr/include/.../cxxabi.h uses
|
||||
// 'std::type_info *', but GCC's built-in protype uses 'void *'.
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
* The blake256_* and blake224_* functions are largely copied from
|
||||
* blake256_light.c and blake224_light.c from the BLAKE website:
|
||||
*
|
||||
* http://131002.net/blake/
|
||||
* https://131002.net/blake/
|
||||
*
|
||||
* The hmac_* functions implement HMAC-BLAKE-256 and HMAC-BLAKE-224.
|
||||
* HMAC is specified by RFC 2104.
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
EdDSA signatures using Curve25519
|
||||
from http://hyperelliptic.org/ebats/supercop-20141124.tar.bz2
|
||||
from https://hyperelliptic.org/ebats/supercop-20141124.tar.bz2
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#assumes you have gnu sed, osx sed might need slight syntax changeo
|
||||
#c.f. http://unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files
|
||||
#c.f. https://unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files
|
||||
|
||||
#written by shen-noether monero research labs
|
||||
|
||||
|
@ -8,7 +8,7 @@ import glob #for copy files
|
|||
import textwrap #for comments etc
|
||||
|
||||
print("make sure you have cat and grep installed")
|
||||
print("also assumes gnu sed syntax, c.f. :http://unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files")
|
||||
print("also assumes gnu sed syntax, c.f. :https://unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files")
|
||||
print("I believe osx may have slightly different version of sed")
|
||||
print("maybe someone smart can replace the sed with perl..")
|
||||
|
||||
|
|
|
@ -2,6 +2,6 @@ shen_ed25519_ref10
|
|||
MakeCryptoOps.py makes crypto-ops.c in the Monero source from the ref10 implementation
|
||||
|
||||
EdDSA signatures using Curve25519
|
||||
from http://hyperelliptic.org/ebats/supercop-20141124.tar.bz2
|
||||
from https://hyperelliptic.org/ebats/supercop-20141124.tar.bz2
|
||||
|
||||
Commented / combined by Shen Noether, Monero Research Lab
|
||||
|
|
|
@ -43,8 +43,8 @@
|
|||
#elif defined(_MSC_VER)
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
// http://stackoverflow.com/questions/1113409/attribute-constructor-equivalent-in-vc
|
||||
// http://msdn.microsoft.com/en-us/library/bb918180.aspx
|
||||
// https://stackoverflow.com/questions/1113409/attribute-constructor-equivalent-in-vc
|
||||
// https://msdn.microsoft.com/en-us/library/bb918180.aspx
|
||||
#pragma section(".CRT$XCT", read)
|
||||
#define INITIALIZER(name) \
|
||||
static void __cdecl name(void); \
|
||||
|
|
|
@ -309,7 +309,7 @@ STATIC INLINE void aes_256_assist2(__m128i* t1, __m128i * t3)
|
|||
* CPU AES support.
|
||||
* For more information about these functions, see page 19 of Intel's AES instructions
|
||||
* white paper:
|
||||
* http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/aes-instructions-set-white-paper.pdf
|
||||
* https://www.intel.com/content/dam/doc/white-paper/advanced-encryption-standard-new-instructions-set-paper.pdf
|
||||
*
|
||||
* @param key the input 128 bit key
|
||||
* @param expandedKey An output buffer to hold the generated key schedule
|
||||
|
@ -558,7 +558,7 @@ void slow_hash_free_state(void)
|
|||
* AES support on x86 CPUs.
|
||||
*
|
||||
* A diagram of the inner loop of this function can be found at
|
||||
* http://www.cs.cmu.edu/~dga/crypto/xmr/cryptonight.png
|
||||
* https://www.cs.cmu.edu/~dga/crypto/xmr/cryptonight.png
|
||||
*
|
||||
* @param data the data to hash
|
||||
* @param length the length in bytes of the data
|
||||
|
|
|
@ -67,7 +67,7 @@ size_t tree_hash_cnt(size_t count) {
|
|||
}
|
||||
|
||||
void tree_hash(const char (*hashes)[HASH_SIZE], size_t count, char *root_hash) {
|
||||
// The blockchain block at height 202612 http://monerochain.info/block/bbd604d2ba11ba27935e006ed39c9bfdd99b76bf4a50654bc1e1e61217962698
|
||||
// The blockchain block at height 202612 https://moneroblocks.info/block/202612
|
||||
// contained 514 transactions, that triggered bad calculation of variable "cnt" in the original version of this function
|
||||
// as from CryptoNote code.
|
||||
//
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
* Sources:
|
||||
* Baza Radikaro Oficiala
|
||||
* Reta Vortaro (http://www.reta-vortaro.de/revo/)
|
||||
* Esperanto Panorama - Esperanto-English Dictionary (http://www.esperanto-panorama.net/vortaro/eoen.htm)
|
||||
* Esperanto Panorama - Esperanto-English Dictionary (https://www.esperanto-panorama.net/vortaro/eoen.htm)
|
||||
* ESPDIC - Paul Denisowski (http://www.denisowski.org/Esperanto/ESPDIC/espdic.txt)
|
||||
*/
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
/*
|
||||
* Word list authored by: sorpaas
|
||||
* Sources:
|
||||
* lo gimste jo'u lo ma'oste (http://guskant.github.io/lojbo/gismu-cmavo.html)
|
||||
* lo gimste jo'u lo ma'oste (https://guskant.github.io/lojbo/gismu-cmavo.html)
|
||||
* N-grams of Lojban corpus (https://mw.lojban.org/papri/N-grams_of_Lojban_corpus)
|
||||
*/
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ namespace rct {
|
|||
//This is a just slghtly more efficient version than the ones described below
|
||||
//(will be explained in more detail in Ring Multisig paper
|
||||
//These are aka MG signatutes in earlier drafts of the ring ct paper
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 2.
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 2.
|
||||
// Gen creates a signature which proves that for some column in the keymatrix "pk"
|
||||
// the signer knows a secret key for each row in that column
|
||||
// Ver verifies that the MG sig was created correctly
|
||||
|
@ -244,7 +244,7 @@ namespace rct {
|
|||
//This is a just slghtly more efficient version than the ones described below
|
||||
//(will be explained in more detail in Ring Multisig paper
|
||||
//These are aka MG signatutes in earlier drafts of the ring ct paper
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 2.
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 2.
|
||||
// Gen creates a signature which proves that for some column in the keymatrix "pk"
|
||||
// the signer knows a secret key for each row in that column
|
||||
// Ver verifies that the MG sig was created correctly
|
||||
|
@ -307,7 +307,7 @@ namespace rct {
|
|||
|
||||
//proveRange and verRange
|
||||
//proveRange gives C, and mask such that \sumCi = C
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 5.1
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 5.1
|
||||
// and Ci is a commitment to either 0 or 2^i, i=0,...,63
|
||||
// thus this proves that "amount" is in [0, 2^64]
|
||||
// mask is a such that C = aG + bH, and b = amount
|
||||
|
@ -339,7 +339,7 @@ namespace rct {
|
|||
|
||||
//proveRange and verRange
|
||||
//proveRange gives C, and mask such that \sumCi = C
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 5.1
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 5.1
|
||||
// and Ci is a commitment to either 0 or 2^i, i=0,...,63
|
||||
// thus this proves that "amount" is in [0, 2^64]
|
||||
// mask is a such that C = aG + bH, and b = amount
|
||||
|
@ -441,7 +441,7 @@ namespace rct {
|
|||
|
||||
//Ring-ct MG sigs
|
||||
//Prove:
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 4. definition 10.
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 4. definition 10.
|
||||
// This does the MG sig on the "dest" part of the given key matrix, and
|
||||
// the last row is the sum of input commitments from that column - sum output commitments
|
||||
// this shows that sum inputs = sum outputs
|
||||
|
@ -527,7 +527,7 @@ namespace rct {
|
|||
|
||||
//Ring-ct MG sigs
|
||||
//Prove:
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 4. definition 10.
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 4. definition 10.
|
||||
// This does the MG sig on the "dest" part of the given key matrix, and
|
||||
// the last row is the sum of input commitments from that column - sum output commitments
|
||||
// this shows that sum inputs = sum outputs
|
||||
|
@ -650,7 +650,7 @@ namespace rct {
|
|||
// Also contains masked "amount" and "mask" so the receiver can see how much they received
|
||||
//verRct:
|
||||
// verifies that all signatures (rangeProogs, MG sig, sum inputs = outputs) are correct
|
||||
//decodeRct: (c.f. http://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
//decodeRct: (c.f. https://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
// uses the attached ecdh info to find the amounts represented by each output commitment
|
||||
// must know the destination private key to find the correct amount, else will return a random number
|
||||
// Note: For txn fees, the last index in the amounts vector should contain that
|
||||
|
@ -828,7 +828,7 @@ namespace rct {
|
|||
// Also contains masked "amount" and "mask" so the receiver can see how much they received
|
||||
//verRct:
|
||||
// verifies that all signatures (rangeProogs, MG sig, sum inputs = outputs) are correct
|
||||
//decodeRct: (c.f. http://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
//decodeRct: (c.f. https://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
// uses the attached ecdh info to find the amounts represented by each output commitment
|
||||
// must know the destination private key to find the correct amount, else will return a random number
|
||||
bool verRct(const rctSig & rv, bool semantics) {
|
||||
|
@ -1023,7 +1023,7 @@ namespace rct {
|
|||
// Also contains masked "amount" and "mask" so the receiver can see how much they received
|
||||
//verRct:
|
||||
// verifies that all signatures (rangeProogs, MG sig, sum inputs = outputs) are correct
|
||||
//decodeRct: (c.f. http://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
//decodeRct: (c.f. https://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
// uses the attached ecdh info to find the amounts represented by each output commitment
|
||||
// must know the destination private key to find the correct amount, else will return a random number
|
||||
xmr_amount decodeRct(const rctSig & rv, const key & sk, unsigned int i, key & mask, hw::device &hwdev) {
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace rct {
|
|||
|
||||
//Multilayered Spontaneous Anonymous Group Signatures (MLSAG signatures)
|
||||
//These are aka MG signatutes in earlier drafts of the ring ct paper
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 2.
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 2.
|
||||
// Gen creates a signature which proves that for some column in the keymatrix "pk"
|
||||
// the signer knows a secret key for each row in that column
|
||||
// Ver verifies that the MG sig was created correctly
|
||||
|
@ -80,7 +80,7 @@ namespace rct {
|
|||
|
||||
//proveRange and verRange
|
||||
//proveRange gives C, and mask such that \sumCi = C
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 5.1
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 5.1
|
||||
// and Ci is a commitment to either 0 or 2^i, i=0,...,63
|
||||
// thus this proves that "amount" is in [0, 2^64]
|
||||
// mask is a such that C = aG + bH, and b = amount
|
||||
|
@ -90,7 +90,7 @@ namespace rct {
|
|||
|
||||
//Ring-ct MG sigs
|
||||
//Prove:
|
||||
// c.f. http://eprint.iacr.org/2015/1098 section 4. definition 10.
|
||||
// c.f. https://eprint.iacr.org/2015/1098 section 4. definition 10.
|
||||
// This does the MG sig on the "dest" part of the given key matrix, and
|
||||
// the last row is the sum of input commitments from that column - sum output commitments
|
||||
// this shows that sum inputs = sum outputs
|
||||
|
@ -116,7 +116,7 @@ namespace rct {
|
|||
// Also contains masked "amount" and "mask" so the receiver can see how much they received
|
||||
//verRct:
|
||||
// verifies that all signatures (rangeProogs, MG sig, sum inputs = outputs) are correct
|
||||
//decodeRct: (c.f. http://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
//decodeRct: (c.f. https://eprint.iacr.org/2015/1098 section 5.1.1)
|
||||
// uses the attached ecdh info to find the amounts represented by each output commitment
|
||||
// must know the destination private key to find the correct amount, else will return a random number
|
||||
rctSig genRct(const key &message, const ctkeyV & inSk, const keyV & destinations, const std::vector<xmr_amount> & amounts, const ctkeyM &mixRing, const keyV &amount_keys, const multisig_kLRki *kLRki, multisig_out *msout, unsigned int index, ctkeyV &outSk, bool bulletproof, hw::device &hwdev);
|
||||
|
|
|
@ -150,7 +150,7 @@ namespace rct {
|
|||
};
|
||||
|
||||
//just contains the necessary keys to represent MLSAG sigs
|
||||
//c.f. http://eprint.iacr.org/2015/1098
|
||||
//c.f. https://eprint.iacr.org/2015/1098
|
||||
struct mgSig {
|
||||
keyM ss;
|
||||
key cc;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue