def generiraj_moj_sha1(self): ulaz_items = fh.load(self.ulaz_path) data = str(fh.concatList(fh.get_items("Data", ulaz_items))) data = fh.toHex(data) sha1 = moj_sha1.mojSha1(data) sazetak = str(sha1.digest()).upper() fh.writeSha1(self.sazetak_path, "Data hash", "MOJ SHA-1", sazetak)
def generiraj_sha1(self): ulaz_items = fh.load(self.ulaz_path) data = str(fh.concatList(fh.get_items("Data", ulaz_items))) data = data.encode('utf-8') sha1 = hashlib.sha1(data) sazetak = str(sha1.hexdigest()).upper() fh.writeSha1(self.sazetak_path, "Data hash", "SHA-1", sazetak)
def generiraj_pecat(self): ulaz_items = fh.load(self.ulaz_path) data = fh.concatList(fh.get_items('Data', ulaz_items)) rsa_b_javni_items = fh.load(self.rsa_b_javni_path) rsa_b_javni_kljuc = bytes.fromhex( fh.concatList(fh.get_items('Secret key', rsa_b_javni_items))) if len(data) % 16 != 0: data += ' ' * (16 - len(data) % 16) desKey = os.urandom(8) self.iv = Random.new().read(DES.block_size) des_enkriptor = DES.new(desKey, DES.MODE_OFB, self.iv) kriptirano = str(des_enkriptor.encrypt(data).hex()).upper() RSAenkripter = RSA.importKey(rsa_b_javni_kljuc) enkripter = PKCS1_OAEP.new(RSAenkripter) desKeyKriptirano = enkripter.encrypt(desKey).hex().upper() keylen = len(fh.get_items("Secret key", rsa_b_javni_items)) if keylen == 10: keylen = '0800' elif keylen == 19: keylen = '1000' else: keylen = '0400' fh.writeOmotnica(self.omotnica_path, 'Envelope', 'DES\n\tRSA', '0010\n\t' + keylen, kriptirano, desKeyKriptirano) rsa_a_tajni_items = fh.load(self.rsa_a_tajni_path) kriptirano = kriptirano.encode() sha1 = hashlib.sha1(kriptirano) sazetak = str(sha1.hexdigest()).upper() fh.writeSha1(self.sazetak_path, "Data hash", "SHA-1", sazetak) sazetak = bytes.fromhex(sazetak) rsa_a_tajni_kljuc = bytes.fromhex( fh.concatList(fh.get_items("Secret key", rsa_a_tajni_items))) RSAenkripter = RSA.importKey(rsa_a_tajni_kljuc) potpis = str(RSAenkripter.sign(sazetak, '')[0]) fh.writePotpis(self.potpis_path, "Signature", "SHA-1\n\tRSA", "0080", potpis)
def generiraj_moj_potpis(self): ulaz_items = fh.load(self.ulaz_path) rsa_a_tajni_items = fh.load(self.rsa_a_tajni_path) data = fh.concatList(fh.get_items("Data", ulaz_items)) data = fh.toHex(data) sha1 = moj_sha1.mojSha1(data) sazetak = str(sha1.digest()).upper() fh.writeSha1(self.sazetak_path, "Data hash", "MOJ SHA-1", sazetak) sazetak = bytes.fromhex(sazetak) rsa_a_tajni_kljuc = bytes.fromhex(fh.concatList(fh.get_items("Secret key", rsa_a_tajni_items))) RSAenkripter = RSA.importKey(rsa_a_tajni_kljuc) potpis = str(RSAenkripter.sign(sazetak, '')[0]) fh.writePotpis(self.potpis_path, "Signature", "MOJ SHA-1\n\tRSA", "0080", potpis)