def rngWrite(f, filename, filedata): ident = ' ' * 4 doubleident = ident * 2 first = True isMonte = 'MCT' in filename for count, value in filedata.items(): if not first: f.write(',\n') key = value['Key'] dt = value['DT'] v = value['V'] f.write(ident) f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(filename) f.write('",\n') f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(key)) f.write('",\n') f.write(doubleident) f.write('.klen = ') f.write(str(len(key)/2)) f.write(',\n') f.write(doubleident) f.write('.dt = "') f.write(hex2c(dt)) f.write('",\n') f.write(doubleident) f.write('.dtlen = ') f.write(str(len(dt)/2)) f.write(',\n') f.write(doubleident) f.write('.v = "') f.write(hex2c(v)) f.write('",\n') f.write(doubleident) f.write('.vlen = ') f.write(str(len(v)/2)) f.write(',\n') f.write(doubleident) f.write('.rlen = 16,\n') f.write(doubleident) f.write('.loops = ') if isMonte: f.write('10000') else: f.write('1') f.write('\n') f.write(ident) f.write('}') first = False
def rngWrite(f, filename, filedata): ident = ' ' * 4 doubleident = ident * 2 first = True isMonte = 'MCT' in filename for count, value in filedata.items(): if not first: f.write(',\n') key = value['Key'] dt = value['DT'] v = value['V'] f.write(ident) f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(filename) f.write('",\n') f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(key)) f.write('",\n') f.write(doubleident) f.write('.klen = ') f.write(str(len(key) / 2)) f.write(',\n') f.write(doubleident) f.write('.dt = "') f.write(hex2c(dt)) f.write('",\n') f.write(doubleident) f.write('.dtlen = ') f.write(str(len(dt) / 2)) f.write(',\n') f.write(doubleident) f.write('.v = "') f.write(hex2c(v)) f.write('",\n') f.write(doubleident) f.write('.vlen = ') f.write(str(len(v) / 2)) f.write(',\n') f.write(doubleident) f.write('.rlen = 16,\n') f.write(doubleident) f.write('.loops = ') if isMonte: f.write('10000') else: f.write('1') f.write('\n') f.write(ident) f.write('}') first = False
def aeswrite(f, tname, testvector, encrypt): ident = ' ' * 4 doubleident = ident * 2 first = True for count, value in testvector: if not first: f.write(',\n') if encrypt: inputstr = value['PLAINTEXT'] else: inputstr = value['CIPHERTEXT'] if (value.has_key('IV')): ivstr = value['IV'] else: ivstr = None keystr = value['KEY'] f.write(ident) f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(tname) f.write('",\n') f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(keystr)) f.write('",\n') f.write(doubleident) f.write('.klen = ') f.write(str(len(keystr)/2)) f.write(',\n') f.write(doubleident) if ivstr != None: f.write('.iv = "') f.write(hex2c(ivstr)) f.write('",\n') f.write(doubleident) f.write('.input = "') f.write(hex2c(inputstr)) f.write('",\n') f.write(doubleident) f.write('.ilen = ') f.write(str(len(inputstr)/2)) f.write(',\n') f.write(ident) f.write('}') first = False
def aeswrite(f, tname, testvector, encrypt): ident = ' ' * 4 doubleident = ident * 2 first = True for count, value in testvector: if not first: f.write(',\n') if encrypt: inputstr = value['PLAINTEXT'] else: inputstr = value['CIPHERTEXT'] if (value.has_key('IV')): ivstr = value['IV'] else: ivstr = None keystr = value['KEY'] f.write(ident) f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(tname) f.write('",\n') f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(keystr)) f.write('",\n') f.write(doubleident) f.write('.klen = ') f.write(str(len(keystr) / 2)) f.write(',\n') f.write(doubleident) if ivstr != None: f.write('.iv = "') f.write(hex2c(ivstr)) f.write('",\n') f.write(doubleident) f.write('.input = "') f.write(hex2c(inputstr)) f.write('",\n') f.write(doubleident) f.write('.ilen = ') f.write(str(len(inputstr) / 2)) f.write(',\n') f.write(ident) f.write('}') first = False
def tdesRawWrite(f, tname, value, encrypt, count, ident): doubleident = ident + ' ' * 4; if encrypt: inputstr = value['PLAINTEXT'] else: inputstr = value['CIPHERTEXT'] if (value.has_key('IV')): ivstr = value['IV'] else: ivstr = None if (value.has_key('KEYs')): keystr = value['KEYs'] * 3 else: keystr = value['KEY1'] keystr = keystr + value['KEY2'] keystr = keystr + value['KEY3'] f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(tname) f.write('",\n') if count != None: f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(keystr)) f.write('",\n') f.write(doubleident) f.write('.klen = ') f.write(str(len(keystr)/2)) f.write(',\n') f.write(doubleident) if ivstr != None: f.write('.iv = "') f.write(hex2c(ivstr)) f.write('",\n') f.write(doubleident) f.write('.input = "') f.write(hex2c(inputstr)) f.write('",\n') f.write(doubleident) f.write('.ilen = ') f.write(str(len(inputstr)/2)) f.write('\n') f.write(ident) f.write('}')
def tdesRawWrite(f, tname, value, encrypt, count, ident): doubleident = ident + ' ' * 4 if encrypt: inputstr = value['PLAINTEXT'] else: inputstr = value['CIPHERTEXT'] if (value.has_key('IV')): ivstr = value['IV'] else: ivstr = None if (value.has_key('KEYs')): keystr = value['KEYs'] * 3 else: keystr = value['KEY1'] keystr = keystr + value['KEY2'] keystr = keystr + value['KEY3'] f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(tname) f.write('",\n') if count != None: f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(keystr)) f.write('",\n') f.write(doubleident) f.write('.klen = ') f.write(str(len(keystr) / 2)) f.write(',\n') f.write(doubleident) if ivstr != None: f.write('.iv = "') f.write(hex2c(ivstr)) f.write('",\n') f.write(doubleident) f.write('.input = "') f.write(hex2c(inputstr)) f.write('",\n') f.write(doubleident) f.write('.ilen = ') f.write(str(len(inputstr) / 2)) f.write('\n') f.write(ident) f.write('}')
def hmacWrite(f, filename, filedata): ident = ' ' * 4 doubleident = ident * 2 first = True for count, value in filedata.items(): if not first: f.write(',\n') key = value['Key'] msg = value['Msg'] f.write(ident) f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(filename) f.write('",\n') f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(key)) f.write('",\n') f.write(doubleident) f.write('.ksize = ') f.write(str(len(key) / 2)) f.write(',\n') f.write(doubleident) f.write('.plaintext = "') f.write(hex2c(msg)) f.write('",\n') f.write(doubleident) f.write('.psize = ') f.write(str(len(msg) / 2)) f.write(',\n') f.write(ident) f.write('}') first = False
def hmacWrite(f, filename, filedata): ident = ' ' * 4 doubleident = ident * 2 first = True for count, value in filedata.items(): if not first: f.write(',\n') key = value['Key'] msg = value['Msg'] f.write(ident) f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(filename) f.write('",\n') f.write(doubleident) f.write('.count = ') f.write(str(count)) f.write(',\n') f.write(doubleident) f.write('.key = "') f.write(hex2c(key)) f.write('",\n') f.write(doubleident) f.write('.ksize = ') f.write(str(len(key)/2)) f.write(',\n') f.write(doubleident) f.write('.plaintext = "') f.write(hex2c(msg)) f.write('",\n') f.write(doubleident) f.write('.psize = ') f.write(str(len(msg)/2)) f.write(',\n') f.write(ident) f.write('}') first = False
def shawrite(f, testvector, tname): ident = ' ' * 4 doubleident = ident * 2 for size in sorted(testvector.iterkeys()): value = testvector[size] f.write(ident) f.write('{\n') f.write(doubleident) f.write('.test_file_name = "') f.write(tname) f.write('",\n') f.write(doubleident) f.write('.plaintext = "') f.write(hex2c(value)) f.write('",\n') f.write(doubleident) f.write('.psize = ') f.write(str(size)) f.write('\n') f.write(ident) f.write('},\n')
def writeShaMonteTests(alg, out, shaMonteData): out.write('static char moto_test_monte_') out.write(alg) out.write('[] = "') out.write(hex2c(shaMonteData)) out.write('";\n\n')