def x25519(): x25519_gen = '{ "version": 1 , "algorithm":"X25519", "operation":"gen"}' req = json.loads(x25519_gen) print "Send gen parameters (A): \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ = json.loads(data_js_n) print "Recived gen parameters donde (A): \n" + ( json.dumps(answ)) + "\n\n\n" data_js_n = sending(json.dumps(req)) print "Send gen parameters (B): \n " + json.dumps(req) + "\n" answ_1 = json.loads(data_js_n) print "Recived gen parameters donde (B): \n" + ( json.dumps(answ_1)) + "\n\n\n" agree = '{ "version":1 , "algorithm":"X25519", "privkey":"","sharedpub":"", "operation":"agree"}' req = json.loads(agree) req["privkey"] = answ["privkey"] req["sharedpub"] = answ_1["pubkey"] print "Send agreetment (A): \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_2 = json.loads(data_js_n) print "Recived agreetment donde (A): \n" + (json.dumps(answ_2)) + "\n\n\n" req["privkey"] = answ_1["privkey"] req["sharedpub"] = answ["pubkey"] print "Send agreetment (B): \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_3 = json.loads(data_js_n) print "Recived agreetment donde (B): \n" + (json.dumps(answ_3)) + "\n\n\n"
def oqs_sig (algorithm, params): for i in params: answ=json.loads(oqs_gen) answ["algorithm"]=algorithm answ["parameter"]=i print json.dumps(answ)+"Send key gen\n" data_js_n=sending(json.dumps(answ)) answ=json.loads(data_js_n) print "Recived: \n" + data_js_n +"\n" json1=json.loads(oqs_sign) json1["algorithm"]=algorithm json1["parameter"]=i json1["privkey"]=answ["privkey"] json1["plaintext"]=message print "Send message sign\n" data_js_n=sending(json.dumps(json1)) answ1=json.loads(data_js_n) print "Recived: \n" + data_js_n +"\n" json2=json.loads(oqs_v) json2["algorithm"]=algorithm json2["parameter"]=i json2["pubkey"]=answ["pubkey"] json2["plaintext"]=message json2["sign"]=answ1["sign"] print "Send message verify\n" data_js_n=sending(json.dumps(json2)) answ2=json.loads(data_js_n) print "Recived: \n" + data_js_n +"\n"
def oqs_kem(algorithm, params): for i in params: answ = json.loads(oqs_gen) answ["algorithm"] = algorithm answ["parameter"] = i print "Send key gen\n" data_js_n = sending(json.dumps(answ)) answ = json.loads(data_js_n) print "Recived: \n" + data_js_n + "\n" json1 = json.loads(oqs_encap) json1["algorithm"] = algorithm json1["parameter"] = i json1["pubkey"] = answ["pubkey"] print "Send message encap" data_js_n = sending(json.dumps(json1)) answ1 = json.loads(data_js_n) print "Recived: \n" + data_js_n + "\n" json2 = json.loads(oqs_decap) json2["algorithm"] = algorithm json2["parameter"] = i json2["privkey"] = answ["privkey"] json2["sharedtext"] = answ1["sharedtext"] print "Send message decap\n" data_js_n = sending(json.dumps(json2)) answ2 = json.loads(data_js_n) print "Recived: \n" + data_js_n + "\n" print answ1["sharedkey"] print answ2["sharedkey"] if answ1["sharedkey"] == answ2["sharedkey"]: print "OK (keys match)" else: print "ERROR"
def ecdh(data_js): req = json.loads(data_js) curve = req["curve"] print "Send gen parameters (A): \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ = json.loads(data_js_n) print "Recived gen parameters donde (A): \n" + ( json.dumps(answ)) + "\n\n\n" data_js_n = sending(json.dumps(req)) print "Send gen parameters (B): \n " + json.dumps(req) + "\n" answ_1 = json.loads(data_js_n) print "Recived gen parameters donde (B): \n" + ( json.dumps(answ_1)) + "\n\n\n" gen = '{ "version":1 , "algorithm":"ECDH","family": "", "privkey":"","sharedpub":"", "operation":"agree"}' req = json.loads(gen) req["privkey"] = answ["privkey"] req["sharedpub"] = answ_1["pubkey"] req["curve"] = curve print "Send agreetment (A): \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_2 = json.loads(data_js_n) print "Recived agreetment donde (A): \n" + (json.dumps(answ_2)) + "\n\n\n" req["privkey"] = answ_1["privkey"] req["sharedpub"] = answ["pubkey"] print "Send agreetment (B): \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_3 = json.loads(data_js_n) print "Recived agreetment donde (B): \n" + (json.dumps(answ_3)) + "\n\n\n"
def block(data_js): req = json.loads(data_js) print "Send enc \n " + json.dumps(req) data_js_n = sending(json.dumps(req)) answ = json.loads(data_js_n) print "Recived enc: \n" + (json.dumps(answ)) + "\n" req["operation"] = "dec" if req["type"] == "string": req["plaintext"] = answ["result"] # if req["type"]=="file": # req["file"]=answ["result"] print "Send dec \n " + json.dumps(req) data_js_n = sending(json.dumps(req)) answ2 = json.loads(data_js_n) print "Recived dec: \n" + (json.dumps(answ2)) + "\n"
def ed25519(data_js): req = json.loads(data_js) print "Send gen parameters : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ = json.loads(data_js_n) print "Recived ed25519 gen: \n" + (json.dumps(answ)) + "\n\n\n" json_s = json_v = '{ "version": 1 , "algorithm":"ED25519", "type":"string","plaintext": "Hello world!", "hex":0,"privkey": "" ,"operation":"sign"}' req = json.loads(json_s) req["privkey"] = answ["privkey"] print "Send sign : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_1 = json.loads(data_js_n) print "Recived sign done: \n" + (json.dumps(answ_1)) + "\n\n\n" json_v = '{ "version": 1 , "algorithm":"ED25519", "type":"string","plaintext": "Hello world!", "hex":0,"pubkey": "" ,"sign":"","operation":"verify"}' req = json.loads(json_v) req["pubkey"] = answ["pubkey"] req["sign"] = answ_1["sign"] print "Send verify : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_2 = json.loads(data_js_n) print "Recived verify done: \n" + (json.dumps(answ_2)) + "\n\n\n"
def rsa(data_js, bits, hash_sign): req = json.loads(data_js) req["length"] = bits print "Send gen parameters : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ = json.loads(data_js_n) print "Recived rsa gen: \n" + (json.dumps(answ)) + "\n\n\n" json_s = json_v = '{ "version": 1 , "algorithm":"RSA", "type":"string","plaintext": "Hello world!", "hex":0,"privkey": "" ,"operation":"sign"}' req = json.loads(json_s) req["privkey"] = answ["privkey"] req["hash_sign"] = hash_sign print "Send sign : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_1 = json.loads(data_js_n) print "Recived sign done: \n" + (json.dumps(answ_1)) + "\n\n\n" json_v = '{ "version": 1 , "algorithm":"RSA", "type":"string","plaintext": "Hello world!", "hex":0,"pubkey": "" ,"sign":"","operation":"verify"}' req = json.loads(json_v) req["pubkey"] = answ["pubkey"] req["sign"] = answ_1["sign"] req["hash_sign"] = hash_sign print "Send verify : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_2 = json.loads(data_js_n) print "Recived verify done: \n" + (json.dumps(answ_2)) + "\n\n\n" json_enc = '{ "version": 1 , "algorithm":"RSA", "type":"string","pubkey": "" ,"operation":"enc", "plaintext":"Hello world!","hex":0 }' req = json.loads(json_enc) req["pubkey"] = answ["pubkey"] print "Send enc : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_3 = json.loads(data_js_n) print "Recived enc done: \n" + (json.dumps(answ_3)) + "\n\n\n" json_dec = '{ "version": 1 , "algorithm":"RSA", "type":"string","privkey": "" ,"operation":"dec", "plaintext":"" }' req = json.loads(json_dec) req["privkey"] = answ["privkey"] req["plaintext"] = answ_3["result"] print "Send dec : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_3 = json.loads(data_js_n) print "Recived dec done: \n" + (json.dumps(answ_3)) + "\n\n\n"
import requests import json import os, binascii from sending import sending data_js = '{"version":1,"algorithm":"POLY1305","type":"string","plaintext":"Hello world!","hex":0,\ "key":"","nonce":""}' poly_js = json.loads(data_js) poly_js["key"] = binascii.b2a_hex(os.urandom(32)) poly_js["nonce"] = binascii.b2a_hex(os.urandom(16)) sending(json.dumps(poly_js)) poly_js["hex"] = 1 poly_js["plaintext"] = poly_js["plaintext"].encode("hex") sending(json.dumps(poly_js)) # del poly_js["hex"] # del poly_js["plaintext"] # poly_js["type"]="file" # poly_js["file"]="./../file_test/Mayhem.txt" # sending(json.dumps(poly_js))
import requests import json import os, binascii from sending import sending algorithms = [ "sha3_512", "sha3_384", "sha3_256", "sha3_224", "sha_512", "sha_384", "sha_256", "sha_224", "sha_1", "whirlpool" ] data_js = '{"version":1,"algorithm":"HMAC","type":"string","plaintext":"Hello world!","hex":0,"key":"","family":"sha3_512"}' hmac_js = json.loads(data_js) hmac_js["key"] = binascii.b2a_hex(os.urandom(16)) for i in algorithms: hmac_js["family"] = i data_js_n = sending(json.dumps(hmac_js)) answ = json.loads(data_js_n) print "Recived Argon2 hash: \n" + (json.dumps(answ)) + "\n" data_js_f = '{"version":1,"algorithm":"HMAC","type":"file","file":"./../file_test/Mayhem.txt","family":"sha3_512"}' # hmac_js=json.loads(data_js_f) # hmac_js["key"]=binascii.b2a_hex(os.urandom(16)) # for i in algorithms : # hmac_js["family"]=i # data_js_n=sending(json.dumps(hmac_js)) # answ=json.loads(data_js_n) # print "Recived Argon2 hash: \n" + (json.dumps(answ)) +"\n"
import requests import json import os, binascii from sending import sending algorithms = ["aes", "rc6", "mars", "serpent", "twofish", "cast256"] data_js = '{"version":1,"algorithm":"CMAC","type":"string","plaintext":"Hello world!","hex":0,"key":"","family":"aes"}' cmac_js = json.loads(data_js) cmac_js["key"] = binascii.b2a_hex(os.urandom(16)) for i in algorithms: cmac_js["family"] = i sending(json.dumps(cmac_js)) cmac_js["hex"] = 1 cmac_js["plaintext"] = cmac_js["plaintext"].encode("hex") for i in algorithms: cmac_js["family"] = i sending(json.dumps(cmac_js)) # data_js_f='{"version":1,"algorithm":"CMAC","type":"file","file":"./../file_test/Mayhem.txt","family":"aes"}' # cmac_js=json.loads(data_js_f) # cmac_js["key"]=binascii.b2a_hex(os.urandom(16)) # for i in algorithms: # cmac_js["family"]=i # sending(json.dumps(cmac_js))
def ecc_pb(data_js, hash_sign): req = json.loads(data_js) curve = req["curve"] data_js_n = sending(json.dumps(req)) print "Send gen : \n " + json.dumps(req) + "\n" answ = json.loads(data_js_n) print 'Recived gen: ' + json.dumps(answ) + "\n\n" json_enc = '{ "version": 1 , "algorithm":"ECIES", "type":"string","pubkey": "" ,"operation":"enc", "plaintext":"Hello world!" }' req = json.loads(json_enc) req["pubkey"] = answ["pubkey"] req["curve"] = curve print "Send enc: \n" + (json.dumps(req)) + "\n" data_js_n = sending(json.dumps(req)) answ_1 = json.loads(data_js_n) print "Recived enc done: \n" + (json.dumps(answ_1)) + "\n" req["privkey"] = answ["privkey"] req["plaintext"] = answ_1["result"] req["pubkey"] = "" req["operation"] = "dec" print "Send dec : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_2 = json.loads(data_js_n) print "Recived enc done: \n" + (json.dumps(answ_2)) + "\n\n" json_sign = '{ "version": 1 , "algorithm":"ECDSA", "type":"string","plaintext": "Hello world!", "hex":0,"privkey": "" ,"operation":"sign"}' req = json.loads(json_sign) req["privkey"] = answ["privkey"] req["curve"] = curve req["hash_sign"] = hash_sign print "Send sign : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_3 = json.loads(data_js_n) print "Recived sign done: \n" + (json.dumps(answ_3)) + "\n" json_verify = '{ "version": 1 , "algorithm":"ECDSA", "type":"string","plaintext": "Hello world!", "hex":0,"pubkey": "", "operation":"verify","sign":""}' req = json.loads(json_verify) req["pubkey"] = answ["pubkey"] req["sign"] = answ_3["sign"] req["curve"] = curve req["hash_sign"] = hash_sign print "Send verify : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_4 = json.loads(data_js_n) print "Recived verify done: \n" + (json.dumps(answ_4)) + "\n\n\n" if curve in [ "brainpoolP512r1", "secp521r1", "brainpoolP384r1", "secp384r1", "brainpoolP320r1", "brainpoolP256r1", "secp256k1" ]: json_sign = '{ "version": 1 , "algorithm":"ECNR", "type":"string","plaintext": "Hello world!", "hex":0,"privkey": "" ,"operation":"sign"}' req = json.loads(json_sign) req["privkey"] = answ["privkey"] req["curve"] = curve req["hash_sign"] = hash_sign print "Send sign : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_3 = json.loads(data_js_n) print "Recived sign done: \n" + (json.dumps(answ_3)) + "\n" json_verify = '{ "version": 1 , "algorithm":"ECNR", "type":"string","plaintext": "Hello world!", "hex":0,"pubkey": "", "operation":"verify","sign":""}' req = json.loads(json_verify) req["pubkey"] = answ["pubkey"] req["sign"] = answ_3["sign"] req["curve"] = curve req["hash_sign"] = hash_sign print "Send verify : \n " + json.dumps(req) + "\n" data_js_n = sending(json.dumps(req)) answ_4 = json.loads(data_js_n) print "Recived verify done: \n" + (json.dumps(answ_4)) + "\n\n\n"
import requests import json import os, binascii from sending import sending algorithms = [ "SHA3_512", "SHA3_384", "SHA3_256", "SHA3_224", "SHA_512", "SHA_384", "SHA_256", "SHA_224", "SHA_1", "WHIRLPOOL", "BLAKE2B", "SIPHASH" ] data_js = '{"version":1,"algorithm":"SHA3_512","type":"string","plaintext":"Hello world!", "hex":0}' hash_js = json.loads(data_js) for i in algorithms: hash_js["algorithm"] = i sending(json.dumps(hash_js)) hash_js["hex"] = 1 hash_js["plaintext"] = hash_js["plaintext"].encode("hex") for i in algorithms: hash_js["algorithm"] = i sending(json.dumps(hash_js)) # data_js_f='{"version":1,"algorithm":"SHA3_512","type":"file","file":"./../file_test/Mayhem.txt"}' # hash_js=json.loads(data_js_f) # algorithms.remove("SIPHASH") # for i in algorithms: # hash_js["algorithm"]=i # sending(json.dumps(hash_js))
import requests import json import os, binascii from sending import sending algorithms = ["RAND_RP", "RAND_AUTO", "RAND_RDRAND"] entropy = [0, 1, 2] data_js = '{"version":1,"algorithm":"RAND_RP","length":12, "entropy": 0}' rand_js = json.loads(data_js) for i in entropy: rand_js["entropy"] = i for j in algorithms: rand_js["algorithm"] = j sending(json.dumps(rand_js))
import requests import json import os,binascii from sending import sending data_js='{"version":1,"algorithm":"MONIT","operation":"status"}' sending(data_js)
import json import os, binascii from sending import sending ntru_gen = json.loads( '{ "version": 1 , "algorithm":"NTRU", "parameter": "EES1499EP1", "operation":"gen"}' ) ntru_pam = [ "EES449EP1", "EES613EP1", "EES761EP1", "EES677EP1", "EES887EP1", "EES1087EP1", "EES1087EP2", "EES1171EP1", "EES1499EP1" ] for i in ntru_pam: ntru_gen["parameter"] = i data_js_n = sending(json.dumps(ntru_gen)) answ = json.loads(data_js_n) print "Recived gen NTRU: \n" + (json.dumps(answ)) + "\n" json_enc = json.loads( '{ "version": 1 , "algorithm":"NTRU", "type":"string","pubkey": "" ,"operation":"enc", "plaintext":""}' ) json_enc["pubkey"] = answ["pubkey"] json_enc["parameter"] = answ["parameter"] json_enc["plaintext"] = "Hello world!" data_js_n = sending(json.dumps(json_enc)) answ_1 = json.loads(data_js_n) print "Recived enc NTRU: \n" + (json.dumps(answ_1)) + "\n\n\n" json_dec = json.loads( '{ "version": 1 , "algorithm":"NTRU", "type":"string","privkey": "" ,"operation":"dec", "plaintext":""}' ) json_dec["privkey"] = answ["privkey"]