def reseed(self, seed): if self.pers: self.seed = skein512(self.seed + seed, pers=self.pers, digest_bits=SEED_SIZE * 8) else: self.seed = skein512(self.seed + seed, digest_bits=SEED_SIZE * 8)
def hash(data, digest_bits=512, mac=None, pers=None): if pers: if mac: return skein512(data, pers=pers, digest_bits=digest_bits) else: return skein512(data, pers=pers, digest_bits=digest_bits) else: if mac: return skein512(data, digest_bits=digest_bits) else: return skein512(data, digest_bits=digest_bits)
def getBytes(self, n): self.count=self.count+n while len(self.entropy)<n: if self.pers: result=skein512(self.iv, mac=self.key, pers=self.pers, digest_bits=(BLOCK_SIZE)*8) else: result=skein512(self.iv, mac=self.key, digest_bits=(BLOCK_SIZE)*8) self.entropy=self.entropy+result self.iv=result b, self.entropy=splitField(self.entropy, n) return b
def getBytes(self, n): if v3: result=bytes('', 'ascii') else: result='' while len(result)<n: if self.pers: b=skein512(self.seed, pers=self.pers, digest_bits=512) else: b=skein512(self.seed, digest_bits=512) self.seed, r=splitFields(b, [SEED_SIZE]) result=result+r return result[:n]
def getBytes(self, n): if v3: result = bytes('', 'ascii') else: result = '' while len(result) < n: if self.pers: b = skein512(self.seed, pers=self.pers, digest_bits=512) else: b = skein512(self.seed, digest_bits=512) self.seed, r = splitFields(b, [SEED_SIZE]) result = result + r return result[:n]
def getBytes(self, n): self.count = self.count + n while len(self.entropy) < n: if self.pers: result = skein512(self.iv, mac=self.key, pers=self.pers, digest_bits=(BLOCK_SIZE) * 8) else: result = skein512(self.iv, mac=self.key, digest_bits=(BLOCK_SIZE) * 8) self.entropy = self.entropy + result self.iv = result b, self.entropy = splitField(self.entropy, n) return b
import sys from dust.crypto.pyskein import skein512 from dust.core.util import encode v3 = (sys.version[0] == '3') ### Print hash of MSG if called directly ### if __name__ == "__main__": if v3: MSG = bytes("Nobody inspects the spammish repetition", 'ascii') else: MSG = "Nobody inspects the spammish repetition" hash = skein512(msg=MSG, digest_bits=256) print(encode(hash)) hash = skein512(msg=MSG, digest_bits=512) print(encode(hash))
def reseed(self, seed): if self.pers: self.seed=skein512(self.seed+seed, pers=self.pers, digest_bits=SEED_SIZE*8) else: self.seed=skein512(self.seed+seed, digest_bits=SEED_SIZE*8)
def pbkdf(pb, salt, i, pers=None, digest_bits=256): data=(pb.encode('ascii')+salt)*i if pers: return skein512(data, pers=pers, digest_bits=digest_bits) else: return skein512(data, digest_bits=digest_bits)
def pbkdf(pb, salt, i, pers=None, digest_bits=256): data = (pb.encode('ascii') + salt) * i if pers: return skein512(data, pers=pers, digest_bits=digest_bits) else: return skein512(data, digest_bits=digest_bits)
import sys from dust.crypto.pyskein import skein512 from dust.core.util import encode v3=(sys.version[0]=='3') ### Print hash of MSG if called directly ### if __name__ == "__main__": if v3: MSG = bytes("Nobody inspects the spammish repetition", 'ascii') else: MSG = "Nobody inspects the spammish repetition" hash = skein512(msg=MSG, digest_bits=256) print(encode(hash)) hash = skein512(msg=MSG, digest_bits=512) print(encode(hash))