CRYPTO NEWS

What are some things that could be considered for stronger auditability and safety post completion of libbitcoinkernel?

The ongoing libbitcoinkernel project (1,2) is clearly a move in the right direction for Bitcoin Core and its consensus code. Longer term (ie post completion of libbitcoinkernel) I wonder what additional steps are possible to ensure stronger guarantees, stronger auditability, stronger idiot proof protections (i.e. it is obvious to even inexperienced reviewers that a pull request is attempting to access or change state in libbitcoinkernel which it has no business doing so) or perhaps even making something like this impossible (e.g. libbitcoinkernel only granting certain permissions to a subsystem/process such as the wallet or GUI).

I guess there are two separate paths: one working on single process Bitcoin Core and one working on multiprocess Bitcoin Core with the latter perhaps providing more opportunity in this area than the former given the existence of a well defined interface between different processes.

(I asked about this during an August 3rd 2022 PR review club on libbitcoinkernel where sipa gave some thoughts.)

Crypto Hats, Crypto Shirts, Crypto Socks, Crypto Clothing

Need help understanding and decrypting this rsa code please

this is the code for rsa common modulus: from Crypto.Util.number import getPrime, GCD, bytes_to_long from flag import FLAG def gen_parameters(bits=1024): while True: p = getPrime(1024) q = getPrime(1024) e1 = getPrime(100) e2 = getPrime(100) phi = (p – 1) * (q – 1) if GCD(e1, phi) > 1 or GCD(e2, phi) > 1: continue e1::Listen

this is the code for rsa common modulus:

from Crypto.Util.number import getPrime, GCD, bytes_to_long

from flag import FLAG

def gen_parameters(bits=1024):
    while True:
        p = getPrime(1024)
        q = getPrime(1024)

        e1 = getPrime(100)
        e2 = getPrime(100)

        phi = (p - 1) * (q - 1)
        if GCD(e1, phi) > 1 or GCD(e2, phi) > 1:
            continue
        
        e1 = 2*e1
        e2 = 2*e2

        return (p, q, e1, e2)

p, q, e1, e2 = gen_parameters()
phi = (p - 1)*(q - 1)
N = p * q

message = bytes_to_long(FLAG)

c1 = pow(message, e1, N)
c2 = pow(message, e2, N)

with open("output.txt", "w") as f:
    f.write(f"N = {N}n")
    f.write(f"e1 = {e1}n")
    f.write(f"e2 = {e2}n")
    f.write(f"c1 = {c1}n")
    f.write(f"c2 = {c2}n")

Now i also have values of those outputs
they are :

N = 11982945131022410542351081395449872615892579857707579658716659690935488669385262821057859182557738914580246000223393286594124225383866984597532935421878496300855873841201081561776719850279196185513497651311088240409358040299378330842236508619359647972763016690363235765860969655129269784424956130539800284778318098141912923725687592311652722505056107470370398021165270753993680221146964650298810348339426550121843506831513763524799788245715184019272818769688806186156054217173423142297185080827697102885478690188900539745266957938792259348667098941846582939290347898221569129727818304319228531810884419349788595299183
e1 = 1432834983003528423789566679766
e2 = 2379308237310255832902020443526
c1 = 10689309714150831372003282520258034721869267911572516423408248565049962108650099748793151534577215410589895845939174468496094911105822340567352621464826482784496348432260039948367408369277304473142781582593382249759117725426180831722441987089651228047819100128903524486005240635239107861739718852670683772477033147265282652735461836031051746173537294339800736436758373421135499142186805931851613817214123606130652548146050084102387221849254771049043101744791081688090961965211538682034166530987653637019819142642682927570692406882796783114872064728299928706994667553634162223654351719854271521012272876869577548029865
c2 = 10108112864771204039110360647151162379625435403389064742046377050800935678884417470071380911451172735126940164631419702014060618271946963698795724980506620687308126757038560340598588393457958478150419444430669593694549750182242922247396011389187919036956934428645928391159497083109718312975799586599853937652754710111738660741391329300491640624992257712646153846113376883043637423386066176238663086142253925553012932883285101598565990266200395298234059134450705194609356310121298248102541581987639348408092513592224044341173092657291900970886956196149689937412107716004555806327078173298630211025335704973121968612105

What are some things that could be considered for stronger auditability and safety post completion of libbitcoinkernel?

Shopping cart
There are no products in the cart!
Continue shopping
0