def test_RandomCover(self): for i in range(63 - len(hidekey)): miscount = 0 randomvalidmessage = np.array( [random.randint(0, JT65_MAX_SYMBOL) for r in range(64)]) msgcopy = np.copy(randomvalidmessage) covered = jts.randomcover(msgcopy, hidekey, i) for index, value in enumerate(covered): if covered[index] != randomvalidmessage[index]: miscount += 1 self.assertTrue(i == miscount)
jt65data = jts.jt65encodemessages(jt65msgs, args.verbose) if args.stegmsg != "" and STEG_ENABLED: # Create array of cipher data to hide cipherdata = jts.createciphermsgs( len(jt65data), args.stegmsg, args.cipher, args.key, args.recipient, args.aesmode, args.verbose ) # Embed steg data in JT65 messages finalmsgs = jts.steginject(jt65data, args.noise, cipherdata, hidekey, args.verbose) else: # No steg data to hide, just add cover noise if specified finalmsgs = [] for msg in jt65data: finalmsgs.append(jts.randomcover(msg, [], args.noise, args.verbose)) # Send to output processoutput(finalmsgs, args.stdout, args.wavout, args.wsjt, args.freq, args.mode, args.verbose) # Decode elif args.decode: stegpresent = False # Process input to JT numpy arrays jt65data = processinput(args.stdin, args.wavin, args.verbose) jt65datacopy = copy.deepcopy(jt65data) jt65stegmsgs = [] # Retrieve JT65 valid messages jt65msgs = jts.decodemessages(jt65data, args.verbose)
if args.stegmsg != "" and STEG_ENABLED: # Create array of cipher data to hide cipherdata = jts.createciphermsgs(len(jt65data), args.stegmsg, args.cipher, args.key, args.recipient, args.aesmode, args.verbose) # Embed steg data in JT65 messages finalmsgs = jts.steginject(jt65data, args.noise, cipherdata, hidekey, args.verbose) else: # No steg data to hide, just add cover noise if specified finalmsgs = [] for msg in jt65data: finalmsgs.append(jts.randomcover(msg, [], args.noise, args.verbose)) # Send to output processoutput(finalmsgs, args.stdout, args.wavout, args.wsjt, args.freq, args.mode, args.verbose) # Decode elif args.decode: stegpresent = False # Process input to JT numpy arrays jt65data = processinput(args.stdin, args.wavin, args.verbose) jt65datacopy = copy.deepcopy(jt65data) jt65stegmsgs = [] # Retrieve JT65 valid messages